loader_aw

Load OBJ/MTL file formats
git clone git://git.meso-star.fr/loader_aw.git
Log | Files | Refs | README | LICENSE

commit d9b2593aa010e2752fe4918dbccc72befb263f3c
parent c6196297f75179fffe9568c550b8c40334daa38f
Author: vaplv <vaplv@free.fr>
Date:   Fri,  3 Oct 2014 15:46:12 +0200

Take into account the the res macros renaming

Diffstat:
Msrc/aw.c | 8++++----
Msrc/aw.h | 2+-
Msrc/aw_c.h | 18+++++++++---------
Msrc/aw_mtl.c | 136++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/aw_obj.c | 114++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/test_aw_mtl.c | 90++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/test_aw_obj.c | 240++++++++++++++++++++++++++++++++++++++++----------------------------------------
7 files changed, 304 insertions(+), 304 deletions(-)

diff --git a/src/aw.c b/src/aw.c @@ -42,17 +42,17 @@ parse_floatX if(NULL == (real = strtok_r(NULL, " ", tk_ctxt))) break; res = string_to_float(real, f + i); - if(res != R_OK) + if(res != RES_OK) return res; if(f[i] < range_min || f[i] > range_max) - return R_BAD_ARG; + return RES_BAD_ARG; } if(i < count_min) - return R_BAD_ARG; + return RES_BAD_ARG; FOR_EACH(i, i, count_max) f[i] = default_value; - return R_OK; + return RES_OK; } diff --git a/src/aw.h b/src/aw.h @@ -27,7 +27,7 @@ #endif #ifndef NDEBUG - #define AW(Func) ASSERT(aw_##Func == R_OK) + #define AW(Func) ASSERT(aw_##Func == RES_OK) #else #define AW(Func) aw_##Func #endif diff --git a/src/aw_c.h b/src/aw_c.h @@ -24,11 +24,11 @@ string_to_float(const char* str, float* f) char* ptr = NULL; ASSERT(f); if(!str) - return R_BAD_ARG; + return RES_BAD_ARG; *f = (float)strtod(str, &ptr); if(ptr == str || *ptr != '\0') - return R_BAD_ARG; - return R_OK; + return RES_BAD_ARG; + return RES_OK; } static FINLINE res_T @@ -37,11 +37,11 @@ string_to_long(const char* str, long* i) char* ptr = NULL; ASSERT(i); if(!str) - return R_BAD_ARG; + return RES_BAD_ARG; *i = strtol(str, &ptr, 10); if(ptr == str || *ptr != '\0') - return R_BAD_ARG; - return R_OK; + return RES_BAD_ARG; + return RES_OK; } static FINLINE res_T @@ -52,12 +52,12 @@ string_to_size_t(const char* str, size_t* i) ASSERT(i); res = string_to_long(str, &l); - if(res != R_OK) + if(res != RES_OK) return res; if(l < 0) - return R_BAD_ARG; + return RES_BAD_ARG; *i = (size_t)l; - return R_OK; + return RES_OK; } extern LOCAL_SYM res_T diff --git a/src/aw_mtl.c b/src/aw_mtl.c @@ -91,7 +91,7 @@ static FINLINE res_T map_copy(struct map* dst, const struct map* src) { ASSERT(dst && src); - if(dst == src) return R_OK; + if(dst == src) return RES_OK; map_copy_pod__(dst, src); return str_copy(&dst->filename, &src->filename); } @@ -100,7 +100,7 @@ static FINLINE res_T map_copy_and_release(struct map* dst, struct map* src) { ASSERT(dst && src); - if(dst == src) return R_OK; + if(dst == src) return RES_OK; map_copy_pod__(dst, src); return str_copy_and_release(&dst->filename, &src->filename); } @@ -113,7 +113,7 @@ map_to_aw_map(struct aw_map* dst, const struct map* src) dst->filename = NULL; } else { dst->filename = mem_alloc(str_len(&src->filename) + 1); - if(!dst->filename) return R_MEM_ERR; + if(!dst->filename) return RES_MEM_ERR; strcpy(dst->filename, str_cget(&src->filename)); } dst->options_mask = src->options_mask; @@ -125,7 +125,7 @@ map_to_aw_map(struct aw_map* dst, const struct map* src) dst->resolution = src->resolution; dst->scalar = src->scalar; dst->bump_multiplier = src->bump_multiplier; - return R_OK; + return RES_OK; } /******************************************************************************* @@ -189,9 +189,9 @@ static FINLINE res_T material_copy(struct material* dst, const struct material* src) { res_T res; - if(dst == src) return R_OK; + if(dst == src) return RES_OK; material_copy_pod__(dst, src); - #define CALL(Func) if(R_OK != (res = Func)) return res + #define CALL(Func) if(RES_OK != (res = Func)) return res CALL(str_copy(&dst->name, &src->name)); CALL(map_copy(&dst->ambient_map, &src->ambient_map)); CALL(map_copy(&dst->diffuse_map, &src->diffuse_map)); @@ -199,16 +199,16 @@ material_copy(struct material* dst, const struct material* src) CALL(map_copy(&dst->specular_exponent_map, &src->specular_exponent_map)); CALL(map_copy(&dst->bump_map, &src->bump_map)); #undef CALL - return R_OK; + return RES_OK; } static FINLINE res_T material_copy_and_release(struct material* dst, struct material* src) { res_T res; - if(dst == src) return R_OK; + if(dst == src) return RES_OK; material_copy_pod__(dst, src); - #define CALL(Func) if(R_OK != (res = Func)) return res + #define CALL(Func) if(RES_OK != (res = Func)) return res CALL(str_copy_and_release(&dst->name, &src->name)); CALL(map_copy_and_release(&dst->ambient_map, &src->ambient_map)); CALL(map_copy_and_release(&dst->diffuse_map, &src->diffuse_map)); @@ -217,7 +217,7 @@ material_copy_and_release(struct material* dst, struct material* src) (&dst->specular_exponent_map, &src->specular_exponent_map)); CALL(map_copy_and_release(&dst->bump_map, &src->bump_map)); #undef CALL - return R_OK; + return RES_OK; } /******************************************************************************* @@ -249,17 +249,17 @@ struct aw_mtl { static INLINE res_T parse_name(struct str* name, char* tk, char** tk_ctxt) { - res_T res = R_OK; + res_T res = RES_OK; ASSERT(tk_ctxt && name); if(!tk) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } str_clear(name); do { res = str_append(name, tk); - if(res != R_OK) goto error; + if(res != RES_OK) goto error; } while((tk = strtok_r(NULL, " \t", tk_ctxt))); exit: @@ -279,45 +279,45 @@ parse_newmtl(struct aw_mtl* mtl, char** word_tk) word = strtok_r(NULL, "\n", word_tk); if(!word) - return R_BAD_ARG; + return RES_BAD_ARG; nmtls = darray_material_size_get(&mtl->materials); res = darray_material_resize(&mtl->materials, nmtls + 1); - if(res != R_OK) + if(res != RES_OK) return res; mtl->newmtl = darray_material_data_get(&mtl->materials) + nmtls; res = parse_name(&mtl->newmtl->name, word, word_tk); - if(res != R_OK) { + if(res != RES_OK) { darray_material_pop_back(&mtl->materials); mtl->newmtl = NULL; return res; } - return R_OK; + return RES_OK; } static res_T parse_color(struct logger* logger, struct aw_color* col, char** word_tk) { char* word; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(logger && col && word_tk); word = strtok_r(NULL, " \t", word_tk); if(!word) - return R_BAD_ARG; + return RES_BAD_ARG; if(!strcmp(word, "spectral")) { logger_print(logger, LOG_ERROR, "spectral colors are not supported\n"); - return R_BAD_ARG; + return RES_BAD_ARG; } col->color_space = strcmp(word, "xyz") == 0 ? AW_COLOR_XYZ : AW_COLOR_RGB; if(col->color_space == AW_COLOR_XYZ && !(word = strtok_r(NULL, " \t", word_tk))) - return R_BAD_ARG; + return RES_BAD_ARG; - if(R_OK != (res = string_to_float(word, &col->value[0]))) + if(RES_OK != (res = string_to_float(word, &col->value[0]))) return res; /* If only the first component is defined the second and third components are @@ -326,13 +326,13 @@ parse_color(struct logger* logger, struct aw_color* col, char** word_tk) if(!word) { col->value[1] = col->value[2] = col->value[0]; } else { - if(R_OK != (res = string_to_float(word, &col->value[1]))) + if(RES_OK != (res = string_to_float(word, &col->value[1]))) return res; word = strtok_r(NULL, " \t", word_tk); - if(R_OK != (res = string_to_float(word, &col->value[2]))) + if(RES_OK != (res = string_to_float(word, &col->value[2]))) return res; } - return R_OK; + return RES_OK; } static INLINE res_T @@ -340,15 +340,15 @@ parse_size_t (size_t* s, const size_t range_min, const size_t range_max, char** word_tk) { char* word; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(s && word_tk && range_min < range_max); word = strtok_r(NULL, "\n", word_tk); - if(R_OK != (res = string_to_size_t(word, s))) + if(RES_OK != (res = string_to_size_t(word, s))) return res; if(range_min > *s || range_max < *s) - return R_BAD_ARG; - return R_OK; + return RES_BAD_ARG; + return RES_OK; } static res_T @@ -361,13 +361,13 @@ parse_bool_option ASSERT(options_mask && tk_ctxt); word = strtok_r(NULL, " \t", tk_ctxt); if(!word) - return R_BAD_ARG; + return RES_BAD_ARG; if(strcmp(word, "on") == 0) { *options_mask |= (int)option; } else if(strcmp(word, "off") != 0) { - return R_BAD_ARG; + return RES_BAD_ARG; } - return R_OK; + return RES_OK; } static FINLINE res_T @@ -377,7 +377,7 @@ parse_imfchan_option(enum aw_map_channel* channel, char** tk_ctxt) ASSERT(channel && tk_ctxt); word = strtok_r(NULL, " \t", tk_ctxt); if(!word) - return R_BAD_ARG; + return RES_BAD_ARG; if(!strcmp(word, "r")) { *channel = AW_MAP_CHANNEL_RED; } else if(!strcmp(word, "g")) { @@ -391,9 +391,9 @@ parse_imfchan_option(enum aw_map_channel* channel, char** tk_ctxt) } else if(!strcmp(word, "z")) { *channel = AW_MAP_CHANNEL_DEPTH; } else { - return R_BAD_ARG; + return RES_BAD_ARG; } - return R_OK; + return RES_OK; } static res_T @@ -423,7 +423,7 @@ parse_map } else if(!strcmp(word, "-mm")) { /* Image bias and scale */ res = parse_floatX (&map->image_bias, 1, 1, -FLT_MAX, FLT_MAX, 0.f, tk_ctxt); - if(res == R_OK) { + if(res == RES_OK) { res = parse_floatX (&map->image_scale, 1, 1, -FLT_MAX, FLT_MAX, 0.f, tk_ctxt); } @@ -444,17 +444,17 @@ parse_map } else { res = parse_name(&map->filename, word, tk_ctxt); } - if(res != R_OK) + if(res != RES_OK) return res; word = strtok_r(NULL, " \t", tk_ctxt); } - return R_OK; + return RES_OK; } static res_T parse_mtl_line(struct aw_mtl* mtl, char* line) { - res_T res = R_OK; + res_T res = RES_OK; char* word, *word_tk; ASSERT(mtl && line); @@ -465,7 +465,7 @@ parse_mtl_line(struct aw_mtl* mtl, char* line) } else if(!strcmp(word, "newmtl")) { /* Material name declaration */ res = parse_newmtl(mtl, &word_tk); } else if(mtl->newmtl == NULL) { - res = R_BAD_ARG; + res = RES_BAD_ARG; } else if(!strcmp(word, "Ka")) { /* Ambient reflectivity */ res = parse_color(mtl->logger, &mtl->newmtl->ambient, &word_tk); } else if(!strcmp(word, "Kd")) { /* Diffuse reflectivity */ @@ -494,18 +494,18 @@ parse_mtl_line(struct aw_mtl* mtl, char* line) } else if(!strcmp(word, "bump")) { /* Bump map */ res = parse_map(&mtl->newmtl->bump_map, MAP_BUMP, &word_tk); } else { - res = R_OK; + res = RES_OK; logger_print(mtl->logger, LOG_ERROR, "%s:%lu: warning: ignored or malformed directive %s\n", mtl->filename, (unsigned long)mtl->iline, word); while((word = strtok_r(NULL, " \t", &word_tk))); /* Skip spaces */ } - if(res != R_OK) + if(res != RES_OK) goto error; if((word = strtok_r(NULL, " ", &word_tk))) { logger_print(mtl->logger, LOG_ERROR, "%s:%lu: unexpected directive %s\n", mtl->filename, (unsigned long)mtl->iline, word); - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } } @@ -545,16 +545,16 @@ aw_mtl_create { struct mem_allocator* allocator; struct aw_mtl* mtl = NULL; - res_T res = R_OK; + res_T res = RES_OK; if(!mtl_out) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } allocator = mem_allocator ? mem_allocator : &mem_default_allocator; mtl = MEM_CALLOC(allocator, 1, sizeof(struct aw_mtl)); if(!mtl) { - res = R_MEM_ERR; + res = RES_MEM_ERR; goto error; } ref_init(&mtl->ref); @@ -578,34 +578,34 @@ res_T aw_mtl_ref_get(struct aw_mtl* mtl) { if(!mtl) - return R_BAD_ARG; + return RES_BAD_ARG; ref_get(&mtl->ref); - return R_OK; + return RES_OK; } res_T aw_mtl_ref_put(struct aw_mtl* mtl) { if(!mtl) - return R_BAD_ARG; + return RES_BAD_ARG; ref_put(&mtl->ref, mtl_release); - return R_OK; + return RES_OK; } res_T aw_mtl_load(struct aw_mtl* mtl, const char* filename) { FILE* file; - res_T res = R_OK; + res_T res = RES_OK; if(!mtl || !filename) - return R_BAD_ARG; + return RES_BAD_ARG; mtl->filename = filename; file = fopen(filename, "r"); if(!file) { logger_print(mtl->logger, LOG_ERROR, "Error opening `%s'\n", filename); - return R_IO_ERR; + return RES_IO_ERR; } res = aw_mtl_load_stream(mtl, file); @@ -620,16 +620,16 @@ aw_mtl_load_stream(struct aw_mtl* mtl, FILE* stream) char* line; struct darray_char buf; const unsigned buf_chunk = 256; - res_T res = R_OK; + res_T res = RES_OK; if(!mtl || !stream) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } darray_char_init(mtl->allocator, &buf); res = darray_char_resize(&buf, buf_chunk); - if(res != R_OK) + if(res != RES_OK) goto error; if(!mtl->filename) @@ -642,7 +642,7 @@ aw_mtl_load_stream(struct aw_mtl* mtl, FILE* stream) while(!strrchr(line,'\n')) { /* Ensure that the whole line was read */ res = darray_char_resize(&buf, darray_char_size_get(&buf) + buf_chunk); - if(res != R_OK) + if(res != RES_OK) goto error; line = darray_char_data_get(&buf); if(!fgets(line + strlen(line), (int)buf_chunk, stream)) /* EOF */ @@ -653,7 +653,7 @@ aw_mtl_load_stream(struct aw_mtl* mtl, FILE* stream) while(last_char-- && (line[last_char]=='\n' || line[last_char]=='\r')); line[last_char + 1] = '\0'; - if(R_OK != (res = parse_mtl_line(mtl, line))) + if(RES_OK != (res = parse_mtl_line(mtl, line))) goto error; ++mtl->iline; } @@ -672,9 +672,9 @@ res_T aw_mtl_materials_count_get(struct aw_mtl* mtl, size_t* nmtls) { if(!mtl || !nmtls) - return R_BAD_ARG; + return RES_BAD_ARG; *nmtls = darray_material_size_get(&mtl->materials); - return R_OK; + return RES_OK; } res_T @@ -684,15 +684,15 @@ aw_mtl_material_get struct aw_material* material) { const struct material* mtr; - res_T res = R_OK; + res_T res = RES_OK; if(!mtl || !material || imaterial>=darray_material_size_get(&mtl->materials)) - return R_BAD_ARG; + return RES_BAD_ARG; mtr = darray_material_cdata_get(&mtl->materials) + imaterial; material->name = mem_alloc(str_len(&mtr->name) + 1); if(!material->name) { - res = R_MEM_ERR; + res = RES_MEM_ERR; goto error; } strcpy(material->name, str_cget(&mtr->name)); @@ -704,7 +704,7 @@ aw_mtl_material_get material->refraction_index = mtr->refraction_index; material->illumination_model = mtr->illumination_model; - #define CALL(Func) if(R_OK != (res = Func)) goto error + #define CALL(Func) if(RES_OK != (res = Func)) goto error CALL(map_to_aw_map(&material->ambient_map, &mtr->ambient_map)); CALL(map_to_aw_map(&material->diffuse_map, &mtr->diffuse_map)); CALL(map_to_aw_map(&material->specular_map, &mtr->specular_map)); @@ -724,15 +724,15 @@ error: res_T aw_material_init(struct aw_material* m) { - if(!m) return R_BAD_ARG; + if(!m) return RES_BAD_ARG; memset(m, 0, sizeof(struct aw_material)); - return R_OK; + return RES_OK; } res_T aw_material_release(struct aw_material* m) { - if(!m) return R_BAD_ARG; + if(!m) return RES_BAD_ARG; if(m->name) mem_free(m->name); if(m->ambient_map.filename) mem_free(m->ambient_map.filename); if(m->diffuse_map.filename) mem_free(m->diffuse_map.filename); @@ -740,6 +740,6 @@ aw_material_release(struct aw_material* m) if(m->specular_exponent_map.filename) mem_free(m->specular_exponent_map.filename); if(m->bump_map.filename) mem_free(m->bump_map.filename); - return R_OK; + return RES_OK; } diff --git a/src/aw_obj.c b/src/aw_obj.c @@ -195,13 +195,13 @@ parse_floatX_in_darray i = darray_float_size_get(darray); res = darray_float_resize(darray, i + count_max); - if(res != R_OK) + if(res != RES_OK) return res; res = parse_floatX (darray_float_data_get(darray) + i, count_min, count_max, -FLT_MAX, FLT_MAX, default_value, tk_ctxt); - if(res != R_OK) + if(res != RES_OK) darray_float_resize(darray, i); return res; } @@ -216,7 +216,7 @@ string_to_vertex_id res_T res; res = string_to_long(str, &id_long); - if(res != R_OK) return res; + if(res != RES_OK) return res; if(id_long > 0) { /* The obj indexation starts at 1 rather than 0 => subtract 1 to the vertex @@ -229,8 +229,8 @@ string_to_vertex_id *id = vertices_count - (size_t)labs(id_long); } if(*id >= vertices_count) - return R_BAD_ARG; - return R_OK; + return RES_BAD_ARG; + return RES_OK; } static res_T @@ -238,9 +238,9 @@ parse_face(struct aw_obj* obj, char** word_tk) { struct aw_obj_face face; char* word; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(obj && word_tk); - #define CALL(Func) if(R_OK != (res = Func)) goto error + #define CALL(Func) if(RES_OK != (res = Func)) goto error face.vertex_id = darray_vertex_size_get(&obj->vertices); face.vertices_count = 0; @@ -293,14 +293,14 @@ parse_group(struct aw_obj* obj, char** word_tk) { char* word; size_t ngrps = 0, igrp = 0; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(obj && word_tk); flush_groups(obj); word = strtok_r(NULL, " \t", word_tk); if(!word) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } ngrps = igrp = darray_named_group_size_get(&obj->groups); @@ -308,12 +308,12 @@ parse_group(struct aw_obj* obj, char** word_tk) do { struct named_group* grp = NULL; res = darray_named_group_resize(&obj->groups, igrp + 1); - if(res != R_OK) + if(res != RES_OK) goto error; grp = darray_named_group_data_get(&obj->groups) + ngrps; ++igrp; res = str_set(&grp->name, word); - if(res != R_OK) + if(res != RES_OK) goto error; grp->iface = darray_face_size_get(&obj->faces); grp->nfaces = 0; @@ -323,7 +323,7 @@ exit: return res; error: if(igrp != ngrps) - CHECK(darray_named_group_resize(&obj->groups, ngrps), R_OK); + CHECK(darray_named_group_resize(&obj->groups, ngrps), RES_OK); goto exit; } @@ -345,7 +345,7 @@ parse_smooth_group(struct aw_obj* obj, char** word_tk) grp.is_smoothed = 1; } else { res = string_to_size_t(word, &i); - if(res != R_OK) + if(res != RES_OK) return res; grp.is_smoothed = i != 0; } @@ -353,10 +353,10 @@ parse_smooth_group(struct aw_obj* obj, char** word_tk) grp.faces_count = 0; res = darray_smooth_group_push_back(&obj->smooth_groups, &grp); - if(res != R_OK) + if(res != RES_OK) return res; - return R_OK; + return RES_OK; } static res_T @@ -365,24 +365,24 @@ parse_mtllib(struct aw_obj* obj, char** word_tk) char* word; size_t imtllib = 0; size_t nmtllibs = 0; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(obj && word_tk); word = strtok_r(NULL, " \t", word_tk); if(!word) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } nmtllibs = imtllib = darray_mtllib_size_get(&obj->mtllibs); do { struct str* str; res = darray_mtllib_resize(&obj->mtllibs, imtllib + 1); - if(res != R_OK) + if(res != RES_OK) goto error; str = darray_mtllib_data_get(&obj->mtllibs) + imtllib; ++imtllib; res = str_set(str, word); - if(res != R_OK) + if(res != RES_OK) goto error; } while((word = strtok_r(NULL, " \t", word_tk))); @@ -390,7 +390,7 @@ exit: return res; error: if(imtllib != nmtllibs) - CHECK(darray_mtllib_resize(&obj->mtllibs, nmtllibs), R_OK); + CHECK(darray_mtllib_resize(&obj->mtllibs, nmtllibs), RES_OK); goto exit; } @@ -400,24 +400,24 @@ parse_usemtl(struct aw_obj* obj, char** word_tk) char* word; struct named_group* mtl = NULL; size_t nmtls; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(obj && word_tk); flush_usemtl(obj); word= strtok_r(NULL, " \t", word_tk); if(!word_tk) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } nmtls = darray_named_group_size_get(&obj->usemtls); res = darray_named_group_resize(&obj->usemtls, nmtls + 1); - if(res != R_OK) + if(res != RES_OK) goto error; mtl = darray_named_group_data_get(&obj->usemtls) + nmtls; res = str_set(&mtl->name, word); - if(res != R_OK) + if(res != RES_OK) goto error; mtl->iface = darray_face_size_get(&obj->faces); mtl->nfaces = 0; @@ -434,7 +434,7 @@ static res_T parse_obj_line(struct aw_obj* obj, char* line) { char* word, *word_tk; - res_T res = R_OK; + res_T res = RES_OK; ASSERT(obj && line); word = strtok_r(line, " \t", &word_tk); @@ -458,18 +458,18 @@ parse_obj_line(struct aw_obj* obj, char* line) } else if(!strcmp(word, "usemtl")) { /* Use the mtl library */ res = parse_usemtl(obj, &word_tk); } else { - res = R_OK; + res = RES_OK; logger_print(obj->logger, LOG_ERROR, "%s:%lu: warning: ignored or malformed directive %s\n", obj->filename, (unsigned long)obj->iline, word); while((word = strtok_r(NULL, " \t", &word_tk))); /* Skip the line */ } - if(res != R_OK) + if(res != RES_OK) goto error; if((word = strtok_r(NULL, " ", &word_tk))) { logger_print(obj->logger, LOG_ERROR, "%s:%lu: unexpected directive %s\n", obj->filename, (unsigned long)obj->iline, word); - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } } @@ -525,16 +525,16 @@ aw_obj_create { struct mem_allocator* allocator; struct aw_obj* obj = NULL; - res_T res = R_OK; + res_T res = RES_OK; if(!obj_out) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } allocator = mem_allocator ? mem_allocator : &mem_default_allocator; obj = MEM_CALLOC(allocator, 1, sizeof(struct aw_obj)); if(!obj) { - res = R_MEM_ERR; + res = RES_MEM_ERR; goto error; } ref_init(&obj->ref); @@ -566,34 +566,34 @@ res_T aw_obj_ref_get(struct aw_obj* obj) { if(!obj) - return R_BAD_ARG; + return RES_BAD_ARG; ref_get(&obj->ref); - return R_OK; + return RES_OK; } res_T aw_obj_ref_put(struct aw_obj* obj) { if(!obj) - return R_BAD_ARG; + return RES_BAD_ARG; ref_put(&obj->ref, obj_release); - return R_OK; + return RES_OK; } res_T aw_obj_load(struct aw_obj* obj, const char* filename) { FILE* file; - res_T res = R_OK; + res_T res = RES_OK; if(!obj || !filename) - return R_BAD_ARG; + return RES_BAD_ARG; obj->filename = filename; file = fopen(filename, "r"); if(!file) { logger_print(obj->logger, LOG_ERROR, "Error opening `%s'\n", filename); - return R_IO_ERR; + return RES_IO_ERR; } res = aw_obj_load_stream(obj, file); @@ -608,16 +608,16 @@ aw_obj_load_stream(struct aw_obj* obj, FILE* stream) char* line; struct darray_char buf; const unsigned buf_chunk = 256; - res_T res = R_OK; + res_T res = RES_OK; if(!obj || !stream) { - res = R_BAD_ARG; + res = RES_BAD_ARG; goto error; } darray_char_init(obj->allocator, &buf); res = darray_char_resize(&buf, buf_chunk); - if(res != R_OK) + if(res != RES_OK) goto error; if(!obj->filename) @@ -630,7 +630,7 @@ aw_obj_load_stream(struct aw_obj* obj, FILE* stream) while(!strrchr(line,'\n')) { /* Ensure that the whole line was read */ res = darray_char_resize(&buf, darray_char_size_get(&buf) + buf_chunk); - if(res != R_OK) + if(res != RES_OK) goto error; line = darray_char_data_get(&buf); @@ -643,7 +643,7 @@ aw_obj_load_stream(struct aw_obj* obj, FILE* stream) while(last_char-- && (line[last_char]=='\n' || line[last_char]=='\r')); line[last_char + 1] = '\0'; - if(R_OK != (res = parse_obj_line(obj, line))) + if(RES_OK != (res = parse_obj_line(obj, line))) goto error; ++obj->iline; } @@ -666,13 +666,13 @@ res_T aw_obj_desc_get(struct aw_obj* obj, struct aw_obj_desc* desc) { if(!obj || !desc) - return R_BAD_ARG; + return RES_BAD_ARG; desc->faces_count = darray_face_size_get(&obj->faces); desc->groups_count = darray_named_group_size_get(&obj->groups); desc->smooth_groups_count = darray_smooth_group_size_get(&obj->smooth_groups); desc->usemtls_count = darray_named_group_size_get(&obj->usemtls); desc->mtllibs_count = darray_mtllib_size_get(&obj->mtllibs); - return R_OK; + return RES_OK; } res_T @@ -680,9 +680,9 @@ aw_obj_face_get (const struct aw_obj* obj, const size_t iface, struct aw_obj_face* face) { if(!obj || !face || iface >= darray_face_size_get(&obj->faces)) - return R_BAD_ARG; + return RES_BAD_ARG; *face = darray_face_cdata_get(&obj->faces)[iface]; - return R_OK; + return RES_OK; } res_T @@ -691,12 +691,12 @@ aw_obj_group_get { const struct named_group* group; if(!obj || !grp || igroup >= darray_named_group_size_get(&obj->groups)) - return R_BAD_ARG; + return RES_BAD_ARG; group = darray_named_group_cdata_get(&obj->groups) + igroup; grp->name = str_cget(&group->name); grp->face_id = group->iface; grp->faces_count = group->nfaces; - return R_OK; + return RES_OK; } res_T @@ -707,9 +707,9 @@ aw_obj_smooth_group_get { if(!obj || !group || ismooth_group >= darray_smooth_group_size_get(&obj->smooth_groups)) - return R_BAD_ARG; + return RES_BAD_ARG; *group = darray_smooth_group_cdata_get(&obj->smooth_groups)[ismooth_group]; - return R_OK; + return RES_OK; } res_T @@ -718,12 +718,12 @@ aw_obj_mtl_get { const struct named_group* group; if(!obj || !mtl || imtl >= darray_named_group_size_get(&obj->usemtls)) - return R_BAD_ARG; + return RES_BAD_ARG; group = darray_named_group_cdata_get(&obj->usemtls) + imtl; mtl->name = str_cget(&group->name); mtl->face_id = group->iface; mtl->faces_count = group->nfaces; - return R_OK; + return RES_OK; } res_T @@ -732,10 +732,10 @@ aw_obj_mtllib_get { const struct str* str; if(!obj || !mtllib || imtllib >= darray_mtllib_size_get(&obj->mtllibs)) - return R_BAD_ARG; + return RES_BAD_ARG; str = darray_mtllib_cdata_get(&obj->mtllibs) + imtllib; *mtllib = str_cget(str); - return R_OK; + return RES_OK; } res_T @@ -745,7 +745,7 @@ aw_obj_vertex_get const struct vertex* vert; const float* data; if(!obj || !vertex || ivertex >= darray_vertex_size_get(&obj->vertices)) - return R_BAD_ARG; + return RES_BAD_ARG; vert = darray_vertex_cdata_get(&obj->vertices) + ivertex; /* Fetch vertex position */ @@ -766,6 +766,6 @@ aw_obj_vertex_get data = darray_float_cdata_get(&obj->normals) + vert->inormal * 3; f3_set(vertex->normal, data); } - return R_OK; + return RES_OK; } diff --git a/src/test_aw_mtl.c b/src/test_aw_mtl.c @@ -60,29 +60,29 @@ test_common(struct aw_mtl* mtl) fwrite(mtl_common, sizeof(char), strlen(mtl_common), file); fclose(file); - CHECK(aw_mtl_load(NULL, NULL), R_BAD_ARG); - CHECK(aw_mtl_load(mtl, NULL), R_BAD_ARG); - CHECK(aw_mtl_load(NULL, "test_mtl_common.mtl"), R_BAD_ARG); - CHECK(aw_mtl_load(mtl, "none.mtl"), R_IO_ERR); - CHECK(aw_mtl_load(mtl, "test_mtl_common.mtl"), R_OK); + CHECK(aw_mtl_load(NULL, NULL), RES_BAD_ARG); + CHECK(aw_mtl_load(mtl, NULL), RES_BAD_ARG); + CHECK(aw_mtl_load(NULL, "test_mtl_common.mtl"), RES_BAD_ARG); + CHECK(aw_mtl_load(mtl, "none.mtl"), RES_IO_ERR); + CHECK(aw_mtl_load(mtl, "test_mtl_common.mtl"), RES_OK); - CHECK(aw_mtl_materials_count_get(NULL, NULL), R_BAD_ARG); - CHECK(aw_mtl_materials_count_get(mtl, NULL), R_BAD_ARG); - CHECK(aw_mtl_materials_count_get(NULL, &nmtls), R_BAD_ARG); - CHECK(aw_mtl_materials_count_get(mtl, &nmtls), R_OK); + CHECK(aw_mtl_materials_count_get(NULL, NULL), RES_BAD_ARG); + CHECK(aw_mtl_materials_count_get(mtl, NULL), RES_BAD_ARG); + CHECK(aw_mtl_materials_count_get(NULL, &nmtls), RES_BAD_ARG); + CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK); CHECK(nmtls, 1); - CHECK(aw_material_init(NULL), R_BAD_ARG); - CHECK(aw_material_init(&mtr), R_OK); - CHECK(aw_mtl_material_get(NULL, SIZE_MAX, NULL), R_BAD_ARG); - CHECK(aw_mtl_material_get(mtl, SIZE_MAX, NULL), R_BAD_ARG); - CHECK(aw_mtl_material_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_mtl_material_get(mtl, 0, NULL), R_BAD_ARG); - CHECK(aw_mtl_material_get(NULL, SIZE_MAX, &mtr), R_BAD_ARG); - CHECK(aw_mtl_material_get(mtl, SIZE_MAX, &mtr), R_BAD_ARG); - CHECK(aw_mtl_material_get(NULL, 0, &mtr), R_BAD_ARG); - CHECK(aw_mtl_material_get(mtl, 0, &mtr), R_OK); + CHECK(aw_material_init(NULL), RES_BAD_ARG); + CHECK(aw_material_init(&mtr), RES_OK); + CHECK(aw_mtl_material_get(NULL, SIZE_MAX, NULL), RES_BAD_ARG); + CHECK(aw_mtl_material_get(mtl, SIZE_MAX, NULL), RES_BAD_ARG); + CHECK(aw_mtl_material_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_mtl_material_get(mtl, 0, NULL), RES_BAD_ARG); + CHECK(aw_mtl_material_get(NULL, SIZE_MAX, &mtr), RES_BAD_ARG); + CHECK(aw_mtl_material_get(mtl, SIZE_MAX, &mtr), RES_BAD_ARG); + CHECK(aw_mtl_material_get(NULL, 0, &mtr), RES_BAD_ARG); + CHECK(aw_mtl_material_get(mtl, 0, &mtr), RES_OK); CHECK(strcmp(mtr.name, "my_mtl"), 0); CHECK(mtr.ambient.color_space, AW_COLOR_RGB); @@ -148,8 +148,8 @@ test_common(struct aw_mtl* mtl) CHECK(mtr.bump_map.scalar, AW_MAP_CHANNEL_LUMINANCE); CHECK(mtr.bump_map.bump_multiplier, 1.f); - CHECK(aw_material_release(NULL), R_BAD_ARG); - CHECK(aw_material_release(&mtr), R_OK); + CHECK(aw_material_release(NULL), RES_BAD_ARG); + CHECK(aw_material_release(&mtr), RES_OK); } static void @@ -203,15 +203,15 @@ test_multiple_materials(struct aw_mtl* mtl) fwrite(mtl_multi, sizeof(char), strlen(mtl_multi), file); CHECK(fseek(file, 0, SEEK_SET), 0); - CHECK(aw_mtl_load_stream(NULL, NULL), R_BAD_ARG); - CHECK(aw_mtl_load_stream(mtl, NULL), R_BAD_ARG); - CHECK(aw_mtl_load_stream(NULL, file), R_BAD_ARG); - CHECK(aw_mtl_load_stream(mtl, file), R_OK); - CHECK(aw_mtl_materials_count_get(mtl, &nmtls), R_OK); + CHECK(aw_mtl_load_stream(NULL, NULL), RES_BAD_ARG); + CHECK(aw_mtl_load_stream(mtl, NULL), RES_BAD_ARG); + CHECK(aw_mtl_load_stream(NULL, file), RES_BAD_ARG); + CHECK(aw_mtl_load_stream(mtl, file), RES_OK); + CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK); CHECK(nmtls, 3); - CHECK(aw_material_init(&mtr), R_OK); - CHECK(aw_mtl_material_get(mtl, 0, &mtr), R_OK); + CHECK(aw_material_init(&mtr), RES_OK); + CHECK(aw_mtl_material_get(mtl, 0, &mtr), RES_OK); CHECK(strcmp(mtr.name, "material_0"), 0); CHECK(mtr.specular_exponent, 8.f); CHECK(mtr.refraction_index, 1.5f); @@ -238,9 +238,9 @@ test_multiple_materials(struct aw_mtl* mtl) CHECK(mtr.specular_map.filename, NULL); CHECK(mtr.specular_exponent_map.filename, NULL); CHECK(mtr.bump_map.filename, NULL); - CHECK(aw_material_release(&mtr), R_OK); + CHECK(aw_material_release(&mtr), RES_OK); - CHECK(aw_mtl_material_get(mtl, 1, &mtr), R_OK); + CHECK(aw_mtl_material_get(mtl, 1, &mtr), RES_OK); CHECK(strcmp(mtr.name, "textured_material"), 0); CHECK(mtr.specular_exponent, 6.f); CHECK(mtr.refraction_index, (float)1.7f); @@ -259,9 +259,9 @@ test_multiple_materials(struct aw_mtl* mtl) CHECK(mtr.bump_map.scalar, AW_MAP_CHANNEL_RED); CHECK(mtr.bump_map.bump_multiplier, (float)0.2f); CHECK(mtr.specular_exponent_map.filename, NULL); - CHECK(aw_material_release(&mtr), R_OK); + CHECK(aw_material_release(&mtr), RES_OK); - CHECK(aw_mtl_material_get(mtl, 2, &mtr), R_OK); + CHECK(aw_mtl_material_get(mtl, 2, &mtr), RES_OK); CHECK(strcmp(mtr.name, "hello_world"), 0); CHECK(mtr.specular_exponent, 8.f); CHECK(mtr.refraction_index, 1.5f); @@ -278,7 +278,7 @@ test_multiple_materials(struct aw_mtl* mtl) CHECK(mtr.diffuse_map.filename, NULL); CHECK(mtr.bump_map.filename, NULL); CHECK(mtr.specular_exponent_map.filename, NULL); - CHECK(aw_material_release(&mtr), R_OK); + CHECK(aw_material_release(&mtr), RES_OK); fclose(file); } @@ -307,8 +307,8 @@ test_unloadable(struct aw_mtl* mtl) fwrite(mtl0, sizeof(char), strlen(mtl0), file); fclose(file); - CHECK(aw_mtl_load(mtl, "mtl0.mtl"), R_BAD_ARG); - CHECK(aw_mtl_materials_count_get(mtl, &nmtls), R_OK); + CHECK(aw_mtl_load(mtl, "mtl0.mtl"), RES_BAD_ARG); + CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK); CHECK(nmtls, 0); } int @@ -320,23 +320,23 @@ main(int argc, char** argv) mem_init_proxy_allocator(&allocator, &mem_default_allocator); - CHECK(aw_mtl_create(NULL, NULL, NULL), R_BAD_ARG); - CHECK(aw_mtl_create(NULL, &allocator, NULL), R_BAD_ARG); - CHECK(aw_mtl_create(NULL, NULL, &mtl), R_OK); + CHECK(aw_mtl_create(NULL, NULL, NULL), RES_BAD_ARG); + CHECK(aw_mtl_create(NULL, &allocator, NULL), RES_BAD_ARG); + CHECK(aw_mtl_create(NULL, NULL, &mtl), RES_OK); - CHECK(aw_mtl_ref_get(NULL), R_BAD_ARG); - CHECK(aw_mtl_ref_get(mtl), R_OK); - CHECK(aw_mtl_ref_put(NULL), R_BAD_ARG); - CHECK(aw_mtl_ref_put(mtl), R_OK); - CHECK(aw_mtl_ref_put(mtl), R_OK); + CHECK(aw_mtl_ref_get(NULL), RES_BAD_ARG); + CHECK(aw_mtl_ref_get(mtl), RES_OK); + CHECK(aw_mtl_ref_put(NULL), RES_BAD_ARG); + CHECK(aw_mtl_ref_put(mtl), RES_OK); + CHECK(aw_mtl_ref_put(mtl), RES_OK); - CHECK(aw_mtl_create(LOGGER_DEFAULT, &allocator, &mtl), R_OK); + CHECK(aw_mtl_create(LOGGER_DEFAULT, &allocator, &mtl), RES_OK); test_common(mtl); test_multiple_materials(mtl); test_unloadable(mtl); - CHECK(aw_mtl_ref_put(mtl), R_OK); + CHECK(aw_mtl_ref_put(mtl), RES_OK); if(MEM_ALLOCATED_SIZE(&allocator)) { char dump[512]; diff --git a/src/test_aw_obj.c b/src/test_aw_obj.c @@ -56,76 +56,76 @@ test_plane(struct aw_obj* obj) fwrite(plane_obj, sizeof(char), strlen(plane_obj), file); fclose(file); - CHECK(aw_obj_load(NULL, NULL), R_BAD_ARG); - CHECK(aw_obj_load(obj, NULL), R_BAD_ARG); - CHECK(aw_obj_load(NULL, "test_obj_plane.obj"), R_BAD_ARG); - CHECK(aw_obj_load(obj, "none.obj"), R_IO_ERR); - CHECK(aw_obj_load(obj, "test_obj_plane.obj"), R_OK); - - CHECK(aw_obj_desc_get(NULL, NULL), R_BAD_ARG); - CHECK(aw_obj_desc_get(obj, NULL), R_BAD_ARG); - CHECK(aw_obj_desc_get(NULL, &desc), R_BAD_ARG); - CHECK(aw_obj_desc_get(obj, &desc), R_OK); + CHECK(aw_obj_load(NULL, NULL), RES_BAD_ARG); + CHECK(aw_obj_load(obj, NULL), RES_BAD_ARG); + CHECK(aw_obj_load(NULL, "test_obj_plane.obj"), RES_BAD_ARG); + CHECK(aw_obj_load(obj, "none.obj"), RES_IO_ERR); + CHECK(aw_obj_load(obj, "test_obj_plane.obj"), RES_OK); + + CHECK(aw_obj_desc_get(NULL, NULL), RES_BAD_ARG); + CHECK(aw_obj_desc_get(obj, NULL), RES_BAD_ARG); + CHECK(aw_obj_desc_get(NULL, &desc), RES_BAD_ARG); + CHECK(aw_obj_desc_get(obj, &desc), RES_OK); CHECK(desc.faces_count, 1); CHECK(desc.groups_count, 0); CHECK(desc.smooth_groups_count, 0); CHECK(desc.usemtls_count, 1); CHECK(desc.mtllibs_count, 1); - CHECK(aw_obj_face_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_face_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_face_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_face_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_face_get(NULL, AW_ID_NONE, &face), R_BAD_ARG); - CHECK(aw_obj_face_get(obj, AW_ID_NONE, &face), R_BAD_ARG); - CHECK(aw_obj_face_get(NULL, 0, &face), R_BAD_ARG); - CHECK(aw_obj_face_get(obj, 0, &face), R_OK); + CHECK(aw_obj_face_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_face_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_face_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_face_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_face_get(NULL, AW_ID_NONE, &face), RES_BAD_ARG); + CHECK(aw_obj_face_get(obj, AW_ID_NONE, &face), RES_BAD_ARG); + CHECK(aw_obj_face_get(NULL, 0, &face), RES_BAD_ARG); + CHECK(aw_obj_face_get(obj, 0, &face), RES_OK); CHECK(face.vertex_id, 0); CHECK(face.vertices_count, 4); CHECK(face.group_id, AW_ID_NONE); CHECK(face.smooth_group_id, AW_ID_NONE); CHECK(face.mtl_id, 0); - CHECK(aw_obj_mtl_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_mtl_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_mtl_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_mtl_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_mtl_get(NULL, AW_ID_NONE, &mtl), R_BAD_ARG); - CHECK(aw_obj_mtl_get(obj, AW_ID_NONE, &mtl), R_BAD_ARG); - CHECK(aw_obj_mtl_get(NULL, 0, &mtl), R_BAD_ARG); - CHECK(aw_obj_mtl_get(obj, 0, &mtl), R_OK); + CHECK(aw_obj_mtl_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(NULL, AW_ID_NONE, &mtl), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(obj, AW_ID_NONE, &mtl), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(NULL, 0, &mtl), RES_BAD_ARG); + CHECK(aw_obj_mtl_get(obj, 0, &mtl), RES_OK); CHECK(strcmp(mtl.name, "wood"), 0); CHECK(mtl.face_id, 0); CHECK(mtl.faces_count, 1); - CHECK(aw_obj_mtllib_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(NULL, AW_ID_NONE, &mtllib), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(obj, AW_ID_NONE, &mtllib), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(NULL, 0, &mtllib), R_BAD_ARG); - CHECK(aw_obj_mtllib_get(obj, 0, &mtllib), R_OK); + CHECK(aw_obj_mtllib_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(NULL, AW_ID_NONE, &mtllib), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(obj, AW_ID_NONE, &mtllib), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(NULL, 0, &mtllib), RES_BAD_ARG); + CHECK(aw_obj_mtllib_get(obj, 0, &mtllib), RES_OK); CHECK(strcmp(mtllib, "master.mtl"), 0); - CHECK(aw_obj_vertex_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_vertex_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_vertex_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_vertex_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_vertex_get(NULL, AW_ID_NONE, &vertex), R_BAD_ARG); - CHECK(aw_obj_vertex_get(obj, AW_ID_NONE, &vertex), R_BAD_ARG); - CHECK(aw_obj_vertex_get(NULL, 0, &vertex), R_BAD_ARG); + CHECK(aw_obj_vertex_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(NULL, AW_ID_NONE, &vertex), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(obj, AW_ID_NONE, &vertex), RES_BAD_ARG); + CHECK(aw_obj_vertex_get(NULL, 0, &vertex), RES_BAD_ARG); - CHECK(aw_obj_vertex_get(obj, 0, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 0, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 0.f, 2.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.texcoord, f3(v4, 0.f, 1.f, 0.f)), 1); - CHECK(aw_obj_vertex_get(obj, 1, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 1, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 0.f, 0.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.texcoord, f3(v4, 0.f, 0.f, 0.f)), 1); - CHECK(aw_obj_vertex_get(obj, 2, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 2, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.texcoord, f3(v4, 1.f, 0.f, 0.f)), 1); - CHECK(aw_obj_vertex_get(obj, 3, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 3, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.texcoord, f3(v4, 1.f, 1.f, 0.f)), 1); } @@ -170,80 +170,80 @@ test_squares(struct aw_obj* obj) NCHECK(file, NULL); fwrite(squares_obj, sizeof(char), strlen(squares_obj), file); fclose(file); - CHECK(aw_obj_load(obj, "test_obj_squares.obj"), R_OK); + CHECK(aw_obj_load(obj, "test_obj_squares.obj"), RES_OK); - CHECK(aw_obj_desc_get(obj, &desc), R_OK); + CHECK(aw_obj_desc_get(obj, &desc), RES_OK); CHECK(desc.faces_count, 2); CHECK(desc.groups_count, 1); CHECK(desc.smooth_groups_count, 1); CHECK(desc.usemtls_count, 0); CHECK(desc.mtllibs_count, 0); - CHECK(aw_obj_face_get(obj, 0, &face), R_OK); + CHECK(aw_obj_face_get(obj, 0, &face), RES_OK); CHECK(face.vertex_id, 0); CHECK(face.vertices_count, 4); CHECK(face.group_id, 0); CHECK(face.smooth_group_id, 0); CHECK(face.mtl_id, AW_ID_NONE); - CHECK(aw_obj_vertex_get(obj, 0, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 0, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 0.f, 2.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.f, 0.f, 1.f)), 1); - CHECK(aw_obj_vertex_get(obj, 1, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 1, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 0.f, 0.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.f, 0.f, 1.f)), 1); - CHECK(aw_obj_vertex_get(obj, 2, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 2, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)), 1); - CHECK(aw_obj_vertex_get(obj, 3, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 3, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)), 1); - CHECK(aw_obj_face_get(obj, 1, &face), R_OK); + CHECK(aw_obj_face_get(obj, 1, &face), RES_OK); CHECK(face.vertex_id, 4); CHECK(face.vertices_count, 4); CHECK(face.group_id, 0); CHECK(face.smooth_group_id, 0); CHECK(face.mtl_id, AW_ID_NONE); - CHECK(aw_obj_vertex_get(obj, 4, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 4, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)), 1); - CHECK(aw_obj_vertex_get(obj, 5, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 5, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)), 1); - CHECK(aw_obj_vertex_get(obj, 6, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 6, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 4.f, 0.f, -1.255298f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.531611f, 0.f, 0.846988f)), 1); - CHECK(aw_obj_vertex_get(obj, 7, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 7, &vertex), RES_OK); CHECK(f4_eq(vertex.position, f4(v4, 4.f, 2.f, -1.255298f, 1.f)), 1); CHECK(f3_eq(vertex.normal, f3(v4, 0.531611f, 0.f, 0.846988f)), 1); - CHECK(aw_obj_group_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_group_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_group_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_group_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_group_get(NULL, AW_ID_NONE, &group), R_BAD_ARG); - CHECK(aw_obj_group_get(obj, AW_ID_NONE, &group), R_BAD_ARG); - CHECK(aw_obj_group_get(NULL, 0, &group), R_BAD_ARG); - CHECK(aw_obj_group_get(obj, 0, &group), R_OK); + CHECK(aw_obj_group_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_group_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_group_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_group_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_group_get(NULL, AW_ID_NONE, &group), RES_BAD_ARG); + CHECK(aw_obj_group_get(obj, AW_ID_NONE, &group), RES_BAD_ARG); + CHECK(aw_obj_group_get(NULL, 0, &group), RES_BAD_ARG); + CHECK(aw_obj_group_get(obj, 0, &group), RES_OK); CHECK(strcmp(group.name, "all"), 0); CHECK(group.face_id, 0); CHECK(group.faces_count, 2); - CHECK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(obj, AW_ID_NONE, NULL), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(NULL, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(obj, 0, NULL), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, &sgroup), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(obj, AW_ID_NONE, &sgroup), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(NULL, 0, &sgroup), R_BAD_ARG); - CHECK(aw_obj_smooth_group_get(obj, 0, &sgroup), R_OK); + CHECK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(obj, AW_ID_NONE, NULL), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(NULL, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(obj, 0, NULL), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, &sgroup), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(obj, AW_ID_NONE, &sgroup), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(NULL, 0, &sgroup), RES_BAD_ARG); + CHECK(aw_obj_smooth_group_get(obj, 0, &sgroup), RES_OK); CHECK(sgroup.is_smoothed, 1); CHECK(sgroup.face_id, 0); CHECK(sgroup.faces_count, 2); - CHECK(aw_obj_mtl_get(obj, 0, &mtl), R_BAD_ARG); + CHECK(aw_obj_mtl_get(obj, 0, &mtl), RES_BAD_ARG); } static void @@ -297,12 +297,12 @@ test_cube(struct aw_obj* obj) fwrite(cube_obj, sizeof(char), strlen(cube_obj), file); CHECK(fseek(file, 0, SEEK_SET), 0); - CHECK(aw_obj_load_stream(NULL, NULL), R_BAD_ARG); - CHECK(aw_obj_load_stream(obj, NULL), R_BAD_ARG); - CHECK(aw_obj_load_stream(NULL, file), R_BAD_ARG); - CHECK(aw_obj_load_stream(obj, file), R_OK); + CHECK(aw_obj_load_stream(NULL, NULL), RES_BAD_ARG); + CHECK(aw_obj_load_stream(obj, NULL), RES_BAD_ARG); + CHECK(aw_obj_load_stream(NULL, file), RES_BAD_ARG); + CHECK(aw_obj_load_stream(obj, file), RES_OK); - CHECK(aw_obj_desc_get(obj, &desc), R_OK); + CHECK(aw_obj_desc_get(obj, &desc), RES_OK); CHECK(desc.faces_count, 6); CHECK(desc.groups_count, 6); CHECK(desc.smooth_groups_count, 0); @@ -311,7 +311,7 @@ test_cube(struct aw_obj* obj) FOR_EACH(i, 0, 6) { struct aw_obj_face face; - CHECK(aw_obj_face_get(obj, i, &face), R_OK); + CHECK(aw_obj_face_get(obj, i, &face), RES_OK); CHECK(face.vertex_id, i*4); CHECK(face.vertices_count, 4); CHECK(face.group_id, i); @@ -321,7 +321,7 @@ test_cube(struct aw_obj* obj) FOR_EACH(i, 0, 6) { struct aw_obj_group group; - CHECK(aw_obj_group_get(obj, i, &group), R_OK); + CHECK(aw_obj_group_get(obj, i, &group), RES_OK); CHECK(strcmp(group.name, group_names[i]), 0); CHECK(group.face_id, i); CHECK(group.faces_count, 1); @@ -329,19 +329,19 @@ test_cube(struct aw_obj* obj) FOR_EACH(i, 0, 6) { struct aw_obj_mtl mtl; - CHECK(aw_obj_mtl_get(obj, i, &mtl), R_OK); + CHECK(aw_obj_mtl_get(obj, i, &mtl), RES_OK); CHECK(strcmp(mtl.name, mtl_names[i]), 0); CHECK(mtl.face_id, i); CHECK(mtl.faces_count, 1); } - CHECK(aw_obj_mtllib_get(obj, 0, &mtllib), R_OK); + CHECK(aw_obj_mtllib_get(obj, 0, &mtllib), RES_OK); CHECK(strcmp(mtllib, "master.mtl"), 0); - CHECK(aw_obj_mtllib_get(obj, 1, &mtllib), R_OK); + CHECK(aw_obj_mtllib_get(obj, 1, &mtllib), RES_OK); CHECK(strcmp(mtllib, "hop.mtl"), 0); - CHECK(aw_obj_mtllib_get(obj, 2, &mtllib), R_OK); + CHECK(aw_obj_mtllib_get(obj, 2, &mtllib), RES_OK); CHECK(strcmp(mtllib, "my.mtl"), 0); - CHECK(aw_obj_mtllib_get(obj, 3, &mtllib), R_BAD_ARG); + CHECK(aw_obj_mtllib_get(obj, 3, &mtllib), RES_BAD_ARG); fclose(file); } @@ -404,89 +404,89 @@ test_cbox(struct aw_obj* obj) NCHECK(file, NULL); fwrite(cbox_obj, sizeof(char), strlen(cbox_obj), file); CHECK(fseek(file, 0, SEEK_SET), 0); - CHECK(aw_obj_load_stream(obj, file), R_OK); + CHECK(aw_obj_load_stream(obj, file), RES_OK); fclose(file); - CHECK(aw_obj_desc_get(obj, &desc), R_OK); + CHECK(aw_obj_desc_get(obj, &desc), RES_OK); CHECK(desc.faces_count, 5); CHECK(desc.groups_count, 5); CHECK(desc.smooth_groups_count, 0); CHECK(desc.usemtls_count, 5); CHECK(desc.mtllibs_count, 1); - CHECK(aw_obj_face_get(obj, 0, &face), R_OK); + CHECK(aw_obj_face_get(obj, 0, &face), RES_OK); CHECK(face.vertex_id, 0); CHECK(face.vertices_count, 4); CHECK(face.group_id, 0); CHECK(face.mtl_id, 0); - CHECK(aw_obj_group_get(obj, 0, &group), R_OK); + CHECK(aw_obj_group_get(obj, 0, &group), RES_OK); CHECK(strcmp(group.name, "floor"), 0); CHECK(group.face_id, 0); CHECK(group.faces_count, 1); - CHECK(aw_obj_mtl_get(obj, 0, &mtl), R_OK); + CHECK(aw_obj_mtl_get(obj, 0, &mtl), RES_OK); CHECK(strcmp(mtl.name, "floor"), 0); CHECK(mtl.face_id, 0); CHECK(mtl.faces_count, 1); - CHECK(aw_obj_vertex_get(obj, 0, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 0, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.01f, 0.f, 0.99f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 1, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 1, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 0.f, 0.99f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 2, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 2, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 0.f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 3, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 3, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -0.99f, 0.f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_face_get(obj, 1, &face), R_OK); + CHECK(aw_obj_face_get(obj, 1, &face), RES_OK); CHECK(face.vertex_id, 4); CHECK(face.vertices_count, 4); CHECK(face.group_id, 1); CHECK(face.mtl_id, 1); - CHECK(aw_obj_group_get(obj, 1, &group), R_OK); + CHECK(aw_obj_group_get(obj, 1, &group), RES_OK); CHECK(strcmp(group.name, "ceiling"), 0); CHECK(group.face_id, 1); CHECK(group.faces_count, 1); - CHECK(aw_obj_mtl_get(obj, 1, &mtl), R_OK); + CHECK(aw_obj_mtl_get(obj, 1, &mtl), RES_OK); CHECK(strcmp(mtl.name, "ceiling"), 0); CHECK(mtl.face_id, 1); CHECK(mtl.faces_count, 1); - CHECK(aw_obj_vertex_get(obj, 4, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 4, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, 0.99f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 5, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 5, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 6, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 6, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 1.99f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 7, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 7, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 1.99f, 0.99f), 1.e-6f), 1); - CHECK(aw_obj_face_get(obj, 4, &face), R_OK); + CHECK(aw_obj_face_get(obj, 4, &face), RES_OK); CHECK(face.vertex_id, 16); CHECK(face.vertices_count, 4); CHECK(face.group_id, 4); CHECK(face.mtl_id, 4); - CHECK(aw_obj_group_get(obj, 4, &group), R_OK); + CHECK(aw_obj_group_get(obj, 4, &group), RES_OK); CHECK(strcmp(group.name, "left"), 0); CHECK(group.face_id, 4); CHECK(group.faces_count, 1); - CHECK(aw_obj_mtl_get(obj, 4, &mtl), R_OK); + CHECK(aw_obj_mtl_get(obj, 4, &mtl), RES_OK); CHECK(strcmp(mtl.name, "left"), 0); CHECK(mtl.face_id, 4); CHECK(mtl.faces_count, 1); - CHECK(aw_obj_vertex_get(obj, 16, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 16, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.01f, 0.f, 0.99f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 17, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 17, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -0.99f, 0.f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 18, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 18, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, -1.04f), 1.e-6f), 1); - CHECK(aw_obj_vertex_get(obj, 19, &vertex), R_OK); + CHECK(aw_obj_vertex_get(obj, 19, &vertex), RES_OK); CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, 0.99f), 1.e-6f), 1); } @@ -499,26 +499,26 @@ main(int argc, char** argv) mem_init_proxy_allocator(&allocator, &mem_default_allocator); - CHECK(aw_obj_create(NULL, NULL, NULL), R_BAD_ARG); - CHECK(aw_obj_create(NULL, &allocator, NULL), R_BAD_ARG); - CHECK(aw_obj_create(NULL, NULL, &obj), R_OK); + CHECK(aw_obj_create(NULL, NULL, NULL), RES_BAD_ARG); + CHECK(aw_obj_create(NULL, &allocator, NULL), RES_BAD_ARG); + CHECK(aw_obj_create(NULL, NULL, &obj), RES_OK); - CHECK(aw_obj_ref_get(NULL), R_BAD_ARG); - CHECK(aw_obj_ref_get(obj), R_OK); - CHECK(aw_obj_ref_put(NULL), R_BAD_ARG); - CHECK(aw_obj_ref_put(obj), R_OK); - CHECK(aw_obj_ref_put(obj), R_OK); + CHECK(aw_obj_ref_get(NULL), RES_BAD_ARG); + CHECK(aw_obj_ref_get(obj), RES_OK); + CHECK(aw_obj_ref_put(NULL), RES_BAD_ARG); + CHECK(aw_obj_ref_put(obj), RES_OK); + CHECK(aw_obj_ref_put(obj), RES_OK); - CHECK(aw_obj_create(LOGGER_DEFAULT, &allocator, &obj), R_OK); + CHECK(aw_obj_create(LOGGER_DEFAULT, &allocator, &obj), RES_OK); test_plane(obj); test_squares(obj); test_cube(obj); test_cbox(obj); FOR_EACH(i, 1, argc) - CHECK(aw_obj_load(obj, argv[i]), R_OK); + CHECK(aw_obj_load(obj, argv[i]), RES_OK); - CHECK(aw_obj_ref_put(obj), R_OK); + CHECK(aw_obj_ref_put(obj), RES_OK); if(MEM_ALLOCATED_SIZE(&allocator)) { char dump[512];