commit 0d7c8cc85651adff1028497f31a69a6448071c3f
parent db0412792f432a9ec29630815effbc818ec446d7
Author: vaplv <vaplv@free.fr>
Date: Thu, 23 Nov 2017 15:21:25 +0100
Fix deprecations introduced by RSys 0.6
Diffstat:
4 files changed, 534 insertions(+), 535 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -26,8 +26,7 @@ set(AW_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../src)
# Dependencies
################################################################################
find_package(RCMake REQUIRED)
-find_package(RSys 0.2 REQUIRED)
-include_directories(${RCMake_INCLUDE_DIR} ${RSys_INCLUDE_DIR})
+find_package(RSys 0.6 REQUIRED)
set(CMAKE_MODULE_PATH ${RCMAKE_SOURCE_DIR})
include(rcmake)
@@ -71,7 +70,7 @@ if(NOT NO_TEST)
add_executable(test_aw_obj ${AW_SOURCE_DIR}/test_aw_obj.c)
target_link_libraries(test_aw_obj aw)
add_test(test_aw_obj test_aw_obj)
- rcmake_set_test_runtime_dirs(test_aw_obj _runtime_dirs)
+ # rcmake_set_test_runtime_dirs(test_aw_obj _runtime_dirs)
add_executable(test_aw_mtl ${AW_SOURCE_DIR}/test_aw_mtl.c)
target_link_libraries(test_aw_mtl aw)
diff --git a/src/aw_obj.c b/src/aw_obj.c
@@ -286,7 +286,7 @@ exit:
return res;
error:
if(igrp != ngrps)
- CHECK(darray_named_group_resize(&obj->groups, ngrps), RES_OK);
+ CHK(darray_named_group_resize(&obj->groups, ngrps) == RES_OK);
goto exit;
}
@@ -353,7 +353,7 @@ exit:
return res;
error:
if(imtllib != nmtllibs)
- CHECK(darray_mtllib_resize(&obj->mtllibs, nmtllibs), RES_OK);
+ CHK(darray_mtllib_resize(&obj->mtllibs, nmtllibs) == RES_OK);
goto exit;
}
diff --git a/src/test_aw_mtl.c b/src/test_aw_mtl.c
@@ -53,115 +53,115 @@ test_common(struct aw_mtl* mtl)
float tmp[3];
struct aw_material mtr;
- NCHECK(mtl, NULL);
+ CHK(mtl != NULL);
file = fopen("test_mtl_common.mtl", "w");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(mtl_common, sizeof(char), strlen(mtl_common), file);
fclose(file);
- 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), 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_mtl_clear(NULL), RES_BAD_ARG);
- CHECK(aw_mtl_clear(mtl), RES_OK);
- CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK);
- CHECK(nmtls, 0);
-
- CHECK(aw_mtl_load(mtl, "test_mtl_common.mtl"), RES_OK);
-
- CHECK(aw_material_init(NULL, NULL), RES_BAD_ARG);
- CHECK(aw_material_init(NULL, &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(str_cget(&mtr.name), "my_mtl"), 0);
- CHECK(mtr.ambient.color_space, AW_COLOR_RGB);
+ CHK(aw_mtl_load(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_load(mtl, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_load(NULL, "test_mtl_common.mtl") == RES_BAD_ARG);
+ CHK(aw_mtl_load(mtl, "none.mtl") == RES_IO_ERR);
+ CHK(aw_mtl_load(mtl, "test_mtl_common.mtl") == RES_OK);
+
+ CHK(aw_mtl_materials_count_get(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_materials_count_get(mtl, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_materials_count_get(NULL, &nmtls) == RES_BAD_ARG);
+ CHK(aw_mtl_materials_count_get(mtl, &nmtls) == RES_OK);
+
+ CHK(nmtls == 1);
+
+ CHK(aw_mtl_clear(NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_clear(mtl) == RES_OK);
+ CHK(aw_mtl_materials_count_get(mtl, &nmtls) == RES_OK);
+ CHK(nmtls == 0);
+
+ CHK(aw_mtl_load(mtl, "test_mtl_common.mtl") == RES_OK);
+
+ CHK(aw_material_init(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_material_init(NULL, &mtr) == RES_OK);
+ CHK(aw_mtl_material_get(NULL, SIZE_MAX, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(mtl, SIZE_MAX, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(mtl, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(NULL, SIZE_MAX, &mtr) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(mtl, SIZE_MAX, &mtr) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(NULL, 0, &mtr) == RES_BAD_ARG);
+ CHK(aw_mtl_material_get(mtl, 0, &mtr) == RES_OK);
+
+ CHK(strcmp(str_cget(&mtr.name), "my_mtl") == 0);
+ CHK(mtr.ambient.color_space == AW_COLOR_RGB);
f3(tmp, 0.0435f, 0.0436f, 0.0437f);
- CHECK(f3_eq(mtr.ambient.value, tmp), 1);
+ CHK(f3_eq(mtr.ambient.value, tmp) == 1);
- CHECK(mtr.diffuse.color_space, AW_COLOR_RGB);
+ CHK(mtr.diffuse.color_space == AW_COLOR_RGB);
f3(tmp, 0.1086f, 0.1087f, 0.1088f);
- CHECK(f3_eq(mtr.diffuse.value, tmp), 1);
+ CHK(f3_eq(mtr.diffuse.value, tmp) == 1);
- CHECK(mtr.specular.color_space, AW_COLOR_RGB);
+ CHK(mtr.specular.color_space == AW_COLOR_RGB);
f3_splat(tmp, 0.f);
- CHECK(f3_eq(mtr.specular.value, tmp), 1);
+ CHK(f3_eq(mtr.specular.value, tmp) == 1);
- CHECK(mtr.transmission.color_space, AW_COLOR_XYZ);
+ CHK(mtr.transmission.color_space == AW_COLOR_XYZ);
f3(tmp, 0.987f, 0.988f, 0.989f);
- CHECK(f3_eq(mtr.transmission.value, tmp), 1);
-
- CHECK(mtr.specular_exponent, 10.f);
- CHECK(mtr.refraction_index, (float)1.19713f);
- CHECK(mtr.illumination_model, 6);
-
- CHECK(strcmp(str_cget(&mtr.ambient_map.filename), "chrome.mpc"), 0);
- CHECK(mtr.ambient_map.options_mask, 0);
- CHECK(mtr.ambient_map.image_bias, 0.f);
- CHECK(mtr.ambient_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.ambient_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.ambient_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.ambient_map.texcoord_turbulence, f3_splat(tmp, 0.f)), 1);
-
- CHECK(strcmp(str_cget(&mtr.diffuse_map.filename), "chrome.mpc"), 0);
- CHECK(mtr.diffuse_map.options_mask, 0);
- CHECK(mtr.diffuse_map.image_bias, 0.f);
- CHECK(mtr.diffuse_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.diffuse_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.diffuse_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.diffuse_map.texcoord_turbulence, f3_splat(tmp, 0.f)), 1);
-
- CHECK(strcmp(str_cget(&mtr.specular_map.filename), "chrome.mpc"), 0);
- CHECK(mtr.specular_map.options_mask, 0);
- CHECK(mtr.specular_map.image_bias, 0.f);
- CHECK(mtr.specular_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.specular_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.specular_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.specular_map.texcoord_turbulence, f3_splat(tmp, 0.f)), 1);
-
- CHECK(strcmp(str_cget(&mtr.specular_exponent_map.filename), "wisp.mps"), 0);
- CHECK(mtr.specular_exponent_map.options_mask, 0);
- CHECK(mtr.specular_exponent_map.image_bias, 0.f);
- CHECK(mtr.specular_exponent_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.specular_exponent_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.specular_exponent_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.specular_exponent_map.texcoord_turbulence, tmp), 1);
- CHECK(mtr.specular_exponent_map.scalar, AW_MAP_CHANNEL_LUMINANCE);
-
- CHECK(strcmp(str_cget(&mtr.bump_map.filename), "sand.mpb"), 0);
- CHECK(mtr.bump_map.options_mask, 0);
- CHECK(mtr.bump_map.image_bias, 0.f);
- CHECK(mtr.bump_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.bump_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.bump_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.bump_map.texcoord_turbulence, tmp), 1);
- CHECK(mtr.bump_map.scalar, AW_MAP_CHANNEL_LUMINANCE);
- CHECK(mtr.bump_map.bump_multiplier, 1.f);
-
- CHECK(aw_material_release(NULL), RES_BAD_ARG);
- CHECK(aw_material_release(&mtr), RES_OK);
-
- CHECK(aw_mtl_purge(NULL), RES_BAD_ARG);
- CHECK(aw_mtl_purge(mtl), RES_OK);
- CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK);
- CHECK(nmtls, 0);
+ CHK(f3_eq(mtr.transmission.value, tmp) == 1);
+
+ CHK(mtr.specular_exponent == 10.f);
+ CHK(mtr.refraction_index == (float)1.19713f);
+ CHK(mtr.illumination_model == 6);
+
+ CHK(strcmp(str_cget(&mtr.ambient_map.filename), "chrome.mpc") == 0);
+ CHK(mtr.ambient_map.options_mask == 0);
+ CHK(mtr.ambient_map.image_bias == 0.f);
+ CHK(mtr.ambient_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.ambient_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.ambient_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.ambient_map.texcoord_turbulence, f3_splat(tmp, 0.f)) == 1);
+
+ CHK(strcmp(str_cget(&mtr.diffuse_map.filename), "chrome.mpc") == 0);
+ CHK(mtr.diffuse_map.options_mask == 0);
+ CHK(mtr.diffuse_map.image_bias == 0.f);
+ CHK(mtr.diffuse_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.diffuse_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.diffuse_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.diffuse_map.texcoord_turbulence, f3_splat(tmp, 0.f)) == 1);
+
+ CHK(strcmp(str_cget(&mtr.specular_map.filename), "chrome.mpc") == 0);
+ CHK(mtr.specular_map.options_mask == 0);
+ CHK(mtr.specular_map.image_bias == 0.f);
+ CHK(mtr.specular_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.specular_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.specular_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.specular_map.texcoord_turbulence, f3_splat(tmp, 0.f)) == 1);
+
+ CHK(strcmp(str_cget(&mtr.specular_exponent_map.filename), "wisp.mps") == 0);
+ CHK(mtr.specular_exponent_map.options_mask == 0);
+ CHK(mtr.specular_exponent_map.image_bias == 0.f);
+ CHK(mtr.specular_exponent_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.specular_exponent_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.specular_exponent_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.specular_exponent_map.texcoord_turbulence, tmp) == 1);
+ CHK(mtr.specular_exponent_map.scalar == AW_MAP_CHANNEL_LUMINANCE);
+
+ CHK(strcmp(str_cget(&mtr.bump_map.filename), "sand.mpb") == 0);
+ CHK(mtr.bump_map.options_mask == 0);
+ CHK(mtr.bump_map.image_bias == 0.f);
+ CHK(mtr.bump_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.bump_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.bump_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.bump_map.texcoord_turbulence, tmp) == 1);
+ CHK(mtr.bump_map.scalar == AW_MAP_CHANNEL_LUMINANCE);
+ CHK(mtr.bump_map.bump_multiplier == 1.f);
+
+ CHK(aw_material_release(NULL) == RES_BAD_ARG);
+ CHK(aw_material_release(&mtr) == RES_OK);
+
+ CHK(aw_mtl_purge(NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_purge(mtl) == RES_OK);
+ CHK(aw_mtl_materials_count_get(mtl, &nmtls) == RES_OK);
+ CHK(nmtls == 0);
}
static void
@@ -208,88 +208,88 @@ test_multiple_materials(struct aw_mtl* mtl)
float tmp[3];
struct aw_material mtr;
- NCHECK(mtl, NULL);
+ CHK(mtl != NULL);
file = fopen("test_mtl_multi.mtl", "w+");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(mtl_multi, sizeof(char), strlen(mtl_multi), file);
- CHECK(fseek(file, 0, SEEK_SET), 0);
-
- 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(NULL, &mtr), RES_OK);
- CHECK(aw_mtl_material_get(mtl, 0, &mtr), RES_OK);
- CHECK(strcmp(str_cget(&mtr.name), "material_0"), 0);
- CHECK(mtr.specular_exponent, 8.f);
- CHECK(mtr.refraction_index, 1.5f);
- CHECK(mtr.transmission.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.transmission.value, f3_splat(tmp, 1.f)), 1);
- CHECK(mtr.illumination_model, 2);
- CHECK(mtr.ambient.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)), 1);
- CHECK(mtr.diffuse.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.diffuse.value, f3(tmp, 0.734118f, 0.730588f, 0.674118f)), 1);
- CHECK(mtr.specular.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.specular.value, f3_splat(tmp, 0.f)), 1);
- CHECK(strcmp
+ CHK(fseek(file, 0, SEEK_SET) == 0);
+
+ CHK(aw_mtl_load_stream(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_load_stream(mtl, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_load_stream(NULL, file) == RES_BAD_ARG);
+ CHK(aw_mtl_load_stream(mtl, file) == RES_OK);
+ CHK(aw_mtl_materials_count_get(mtl, &nmtls) == RES_OK);
+ CHK(nmtls == 3);
+
+ CHK(aw_material_init(NULL, &mtr) == RES_OK);
+ CHK(aw_mtl_material_get(mtl, 0, &mtr) == RES_OK);
+ CHK(strcmp(str_cget(&mtr.name), "material_0") == 0);
+ CHK(mtr.specular_exponent == 8.f);
+ CHK(mtr.refraction_index == 1.5f);
+ CHK(mtr.transmission.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.transmission.value, f3_splat(tmp, 1.f)) == 1);
+ CHK(mtr.illumination_model == 2);
+ CHK(mtr.ambient.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)) == 1);
+ CHK(mtr.diffuse.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.diffuse.value, f3(tmp, 0.734118f, 0.730588f, 0.674118f)) == 1);
+ CHK(mtr.specular.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.specular.value, f3_splat(tmp, 0.f)) == 1);
+ CHK(strcmp
(str_cget(&mtr.ambient_map.filename),
- "my_long_and_verbose_filename_of_a_RED_GREEN_BLUE_1024x64_image.png"), 0);
- CHECK(mtr.ambient_map.options_mask, 0);
- CHECK(mtr.ambient_map.image_bias, 0.f);
- CHECK(mtr.ambient_map.image_scale, 1.f);
- CHECK(f3_eq(mtr.ambient_map.texcoord_bias, f3_splat(tmp, 0.f)), 1);
- CHECK(f3_eq(mtr.ambient_map.texcoord_scale, f3_splat(tmp, 1.f)), 1);
- CHECK(f3_eq(mtr.ambient_map.texcoord_turbulence, f3_splat(tmp, 0.f)), 1);
- CHECK(mtr.ambient_map.resolution, 0);
- CHECK(strcmp(str_cget(&mtr.diffuse_map.filename), "tp.png"), 0);
- CHECK(str_len(&mtr.specular_map.filename), 0);
- CHECK(str_len(&mtr.specular_exponent_map.filename), 0);
- CHECK(str_len(&mtr.bump_map.filename), 0);
-
- CHECK(aw_mtl_material_get(mtl, 1, &mtr), RES_OK);
- CHECK(strcmp(str_cget(&mtr.name), "textured_material"), 0);
- CHECK(mtr.specular_exponent, 6.f);
- CHECK(mtr.refraction_index, (float)1.7f);
- CHECK(mtr.transmission.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.transmission.value, f3(tmp, 1.f, 1.2f, 1.3f)), 1);
- CHECK(mtr.illumination_model, 0);
- CHECK(mtr.ambient.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)), 1);
- CHECK(mtr.diffuse.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.diffuse.value, f3(tmp, 0.734118f, 0.709412f, 0.674118f)), 1);
- CHECK(mtr.specular.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.specular.value, f3_splat(tmp, 0.f)), 1);
- CHECK(strcmp(str_cget(&mtr.ambient_map.filename), "tex6x6.png"), 0);
- CHECK(strcmp(str_cget(&mtr.diffuse_map.filename), "tex6x6.png"), 0);
- CHECK(strcmp(str_cget(&mtr.bump_map.filename), "tex6x6-bump.png"), 0);
- CHECK(mtr.bump_map.scalar, AW_MAP_CHANNEL_RED);
- CHECK(mtr.bump_map.bump_multiplier, (float)0.2f);
- CHECK(str_len(&mtr.specular_exponent_map.filename), 0);
-
- CHECK(aw_mtl_material_get(mtl, 2, &mtr), RES_OK);
- CHECK(strcmp(str_cget(&mtr.name), "hello_world"), 0);
- CHECK(mtr.specular_exponent, 8.f);
- CHECK(mtr.refraction_index, 1.5f);
- CHECK(mtr.transmission.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.transmission.value, f3_splat(tmp, 1.f)), 1);
- CHECK(mtr.illumination_model, 2);
- CHECK(mtr.ambient.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)), 1);
- CHECK(mtr.diffuse.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.diffuse.value, f3(tmp, 0.546274f, 0.219608f, 0.183922f)), 1);
- CHECK(mtr.specular.color_space, AW_COLOR_RGB);
- CHECK(f3_eq(mtr.specular.value, f3_splat(tmp, 2.f)), 1);
- CHECK(str_len(&mtr.ambient_map.filename), 0);
- CHECK(str_len(&mtr.diffuse_map.filename), 0);
- CHECK(str_len(&mtr.bump_map.filename), 0);
- CHECK(str_len(&mtr.specular_exponent_map.filename), 0);
-
- CHECK(aw_material_release(&mtr), RES_OK);
+ "my_long_and_verbose_filename_of_a_RED_GREEN_BLUE_1024x64_image.png") == 0);
+ CHK(mtr.ambient_map.options_mask == 0);
+ CHK(mtr.ambient_map.image_bias == 0.f);
+ CHK(mtr.ambient_map.image_scale == 1.f);
+ CHK(f3_eq(mtr.ambient_map.texcoord_bias, f3_splat(tmp, 0.f)) == 1);
+ CHK(f3_eq(mtr.ambient_map.texcoord_scale, f3_splat(tmp, 1.f)) == 1);
+ CHK(f3_eq(mtr.ambient_map.texcoord_turbulence, f3_splat(tmp, 0.f)) == 1);
+ CHK(mtr.ambient_map.resolution == 0);
+ CHK(strcmp(str_cget(&mtr.diffuse_map.filename), "tp.png") == 0);
+ CHK(str_len(&mtr.specular_map.filename) == 0);
+ CHK(str_len(&mtr.specular_exponent_map.filename) == 0);
+ CHK(str_len(&mtr.bump_map.filename) == 0);
+
+ CHK(aw_mtl_material_get(mtl, 1, &mtr) == RES_OK);
+ CHK(strcmp(str_cget(&mtr.name), "textured_material") == 0);
+ CHK(mtr.specular_exponent == 6.f);
+ CHK(mtr.refraction_index == (float)1.7f);
+ CHK(mtr.transmission.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.transmission.value, f3(tmp, 1.f, 1.2f, 1.3f)) == 1);
+ CHK(mtr.illumination_model == 0);
+ CHK(mtr.ambient.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)) == 1);
+ CHK(mtr.diffuse.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.diffuse.value, f3(tmp, 0.734118f, 0.709412f, 0.674118f)) == 1);
+ CHK(mtr.specular.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.specular.value, f3_splat(tmp, 0.f)) == 1);
+ CHK(strcmp(str_cget(&mtr.ambient_map.filename), "tex6x6.png") == 0);
+ CHK(strcmp(str_cget(&mtr.diffuse_map.filename), "tex6x6.png") == 0);
+ CHK(strcmp(str_cget(&mtr.bump_map.filename), "tex6x6-bump.png") == 0);
+ CHK(mtr.bump_map.scalar == AW_MAP_CHANNEL_RED);
+ CHK(mtr.bump_map.bump_multiplier == (float)0.2f);
+ CHK(str_len(&mtr.specular_exponent_map.filename) == 0);
+
+ CHK(aw_mtl_material_get(mtl, 2, &mtr) == RES_OK);
+ CHK(strcmp(str_cget(&mtr.name), "hello_world") == 0);
+ CHK(mtr.specular_exponent == 8.f);
+ CHK(mtr.refraction_index == 1.5f);
+ CHK(mtr.transmission.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.transmission.value, f3_splat(tmp, 1.f)) == 1);
+ CHK(mtr.illumination_model == 2);
+ CHK(mtr.ambient.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.ambient.value, f3_splat(tmp, 0.f)) == 1);
+ CHK(mtr.diffuse.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.diffuse.value, f3(tmp, 0.546274f, 0.219608f, 0.183922f)) == 1);
+ CHK(mtr.specular.color_space == AW_COLOR_RGB);
+ CHK(f3_eq(mtr.specular.value, f3_splat(tmp, 2.f)) == 1);
+ CHK(str_len(&mtr.ambient_map.filename) == 0);
+ CHK(str_len(&mtr.diffuse_map.filename) == 0);
+ CHK(str_len(&mtr.bump_map.filename) == 0);
+ CHK(str_len(&mtr.specular_exponent_map.filename) == 0);
+
+ CHK(aw_material_release(&mtr) == RES_OK);
fclose(file);
}
@@ -310,16 +310,16 @@ test_unloadable(struct aw_mtl* mtl)
FILE* file;
size_t nmtls;
- NCHECK(mtl, NULL);
+ CHK(mtl != NULL);
file = fopen("mtl0.mtl", "w");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(mtl0, sizeof(char), strlen(mtl0), file);
fclose(file);
- CHECK(aw_mtl_load(mtl, "mtl0.mtl"), RES_BAD_ARG);
- CHECK(aw_mtl_materials_count_get(mtl, &nmtls), RES_OK);
- CHECK(nmtls, 0);
+ CHK(aw_mtl_load(mtl, "mtl0.mtl") == RES_BAD_ARG);
+ CHK(aw_mtl_materials_count_get(mtl, &nmtls) == RES_OK);
+ CHK(nmtls == 0);
}
int
main(int argc, char** argv)
@@ -330,23 +330,23 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(aw_mtl_create(NULL, NULL, 1, NULL), RES_BAD_ARG);
- CHECK(aw_mtl_create(NULL, &allocator, 1, NULL), RES_BAD_ARG);
- CHECK(aw_mtl_create(NULL, NULL, 1, &mtl), RES_OK);
+ CHK(aw_mtl_create(NULL, NULL, 1, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_create(NULL, &allocator, 1, NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_create(NULL, NULL, 1, &mtl) == RES_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);
+ CHK(aw_mtl_ref_get(NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_ref_get(mtl) == RES_OK);
+ CHK(aw_mtl_ref_put(NULL) == RES_BAD_ARG);
+ CHK(aw_mtl_ref_put(mtl) == RES_OK);
+ CHK(aw_mtl_ref_put(mtl) == RES_OK);
- CHECK(aw_mtl_create(LOGGER_DEFAULT, &allocator, 1, &mtl), RES_OK);
+ CHK(aw_mtl_create(LOGGER_DEFAULT, &allocator, 1, &mtl) == RES_OK);
test_common(mtl);
test_multiple_materials(mtl);
test_unloadable(mtl);
- CHECK(aw_mtl_ref_put(mtl), RES_OK);
+ CHK(aw_mtl_ref_put(mtl) == RES_OK);
if(MEM_ALLOCATED_SIZE(&allocator)) {
char dump[512];
@@ -355,7 +355,7 @@ main(int argc, char** argv)
FATAL("Memory leaks\n");
}
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_aw_obj.c b/src/test_aw_obj.c
@@ -51,105 +51,105 @@ test_plane(struct aw_obj* obj)
FILE* file;
const char* mtllib;
- NCHECK(obj, NULL);
+ CHK(obj != NULL);
file = fopen("test_obj_plane.obj", "w");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(plane_obj, sizeof(char), strlen(plane_obj), file);
fclose(file);
- CHECK(aw_obj_named_group_init(NULL, NULL), RES_BAD_ARG);
- CHECK(aw_obj_named_group_init(NULL, &group), RES_OK);
- CHECK(aw_obj_named_group_init(NULL, &mtl), RES_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, 1);
- 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), 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, 0);
- CHECK(face.smooth_group_id, AW_ID_NONE);
- CHECK(face.mtl_id, 0);
-
- 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(str_cget(&mtl.name), "wood"), 0);
- CHECK(mtl.face_id, 0);
- CHECK(mtl.faces_count, 1);
-
- 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), 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), 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), 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), 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), 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);
-
- 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(str_cget(&group.name), "default"), 0);
- CHECK(group.face_id, 0);
- CHECK(group.faces_count, 1);
-
- CHECK(aw_obj_named_group_release(NULL), RES_BAD_ARG);
- CHECK(aw_obj_named_group_release(&group), RES_OK);
- CHECK(aw_obj_named_group_release(&mtl), RES_OK);
+ CHK(aw_obj_named_group_init(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_named_group_init(NULL, &group) == RES_OK);
+ CHK(aw_obj_named_group_init(NULL, &mtl) == RES_OK);
+
+ CHK(aw_obj_load(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_load(obj, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_load(NULL, "test_obj_plane.obj") == RES_BAD_ARG);
+ CHK(aw_obj_load(obj, "none.obj") == RES_IO_ERR);
+ CHK(aw_obj_load(obj, "test_obj_plane.obj") == RES_OK);
+
+ CHK(aw_obj_desc_get(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_desc_get(obj, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_desc_get(NULL, &desc) == RES_BAD_ARG);
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 1);
+ CHK(desc.groups_count == 1);
+ CHK(desc.smooth_groups_count == 0);
+ CHK(desc.usemtls_count == 1);
+ CHK(desc.mtllibs_count == 1);
+
+ CHK(aw_obj_face_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(NULL, AW_ID_NONE, &face) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(obj, AW_ID_NONE, &face) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(NULL, 0, &face) == RES_BAD_ARG);
+ CHK(aw_obj_face_get(obj, 0, &face) == RES_OK);
+ CHK(face.vertex_id == 0);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 0);
+ CHK(face.smooth_group_id == AW_ID_NONE);
+ CHK(face.mtl_id == 0);
+
+ CHK(aw_obj_mtl_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(NULL, AW_ID_NONE, &mtl) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(obj, AW_ID_NONE, &mtl) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(NULL, 0, &mtl) == RES_BAD_ARG);
+ CHK(aw_obj_mtl_get(obj, 0, &mtl) == RES_OK);
+ CHK(strcmp(str_cget(&mtl.name), "wood") == 0);
+ CHK(mtl.face_id == 0);
+ CHK(mtl.faces_count == 1);
+
+ CHK(aw_obj_mtllib_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(NULL, AW_ID_NONE, &mtllib) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(obj, AW_ID_NONE, &mtllib) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(NULL, 0, &mtllib) == RES_BAD_ARG);
+ CHK(aw_obj_mtllib_get(obj, 0, &mtllib) == RES_OK);
+ CHK(strcmp(mtllib, "master.mtl") == 0);
+
+ CHK(aw_obj_vertex_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(NULL, AW_ID_NONE, &vertex) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(obj, AW_ID_NONE, &vertex) == RES_BAD_ARG);
+ CHK(aw_obj_vertex_get(NULL, 0, &vertex) == RES_BAD_ARG);
+
+ CHK(aw_obj_vertex_get(obj, 0, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 0.f, 2.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.texcoord, f3(v4, 0.f, 1.f, 0.f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 1, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 0.f, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.texcoord, f3(v4, 0.f, 0.f, 0.f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 2, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.texcoord, f3(v4, 1.f, 0.f, 0.f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 3, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.texcoord, f3(v4, 1.f, 1.f, 0.f)) == 1);
+
+ CHK(aw_obj_group_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, AW_ID_NONE, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, AW_ID_NONE, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, 0, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, 0, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), "default") == 0);
+ CHK(group.face_id == 0);
+ CHK(group.faces_count == 1);
+
+ CHK(aw_obj_named_group_release(NULL) == RES_BAD_ARG);
+ CHK(aw_obj_named_group_release(&group) == RES_OK);
+ CHK(aw_obj_named_group_release(&mtl) == RES_OK);
}
static void
@@ -186,91 +186,91 @@ test_squares(struct aw_obj* obj)
struct aw_obj_vertex vertex;
FILE* file;
- NCHECK(obj, NULL);
- CHECK(aw_obj_named_group_init(NULL, &group), RES_OK);
- CHECK(aw_obj_named_group_init(NULL, &mtl), RES_OK);
+ CHK(obj != NULL);
+ CHK(aw_obj_named_group_init(NULL, &group) == RES_OK);
+ CHK(aw_obj_named_group_init(NULL, &mtl) == RES_OK);
file = fopen("test_obj_squares.obj", "w");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(squares_obj, sizeof(char), strlen(squares_obj), file);
fclose(file);
- CHECK(aw_obj_load(obj, "test_obj_squares.obj"), RES_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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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(str_cget(&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), 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), RES_BAD_ARG);
-
- CHECK(aw_obj_named_group_release(&group), RES_OK);
- CHECK(aw_obj_named_group_release(&mtl), RES_OK);
+ CHK(aw_obj_load(obj, "test_obj_squares.obj") == RES_OK);
+
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 2);
+ CHK(desc.groups_count == 1);
+ CHK(desc.smooth_groups_count == 1);
+ CHK(desc.usemtls_count == 0);
+ CHK(desc.mtllibs_count == 0);
+
+ CHK(aw_obj_face_get(obj, 0, &face) == RES_OK);
+ CHK(face.vertex_id == 0);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 0);
+ CHK(face.smooth_group_id == 0);
+ CHK(face.mtl_id == AW_ID_NONE);
+
+ CHK(aw_obj_vertex_get(obj, 0, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 0.f, 2.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.f, 0.f, 1.f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 1, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 0.f, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.f, 0.f, 1.f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 2, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 3, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)) == 1);
+
+ CHK(aw_obj_face_get(obj, 1, &face) == RES_OK);
+ CHK(face.vertex_id == 4);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 0);
+ CHK(face.smooth_group_id == 0);
+ CHK(face.mtl_id == AW_ID_NONE);
+
+ CHK(aw_obj_vertex_get(obj, 4, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 2.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 5, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 2.f, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.276597f, 0.f, 0.960986f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 6, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 4.f, 0.f, -1.255298f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.531611f, 0.f, 0.846988f)) == 1);
+ CHK(aw_obj_vertex_get(obj, 7, &vertex) == RES_OK);
+ CHK(f4_eq(vertex.position, f4(v4, 4.f, 2.f, -1.255298f, 1.f)) == 1);
+ CHK(f3_eq(vertex.normal, f3(v4, 0.531611f, 0.f, 0.846988f)) == 1);
+
+ CHK(aw_obj_group_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, AW_ID_NONE, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, AW_ID_NONE, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(NULL, 0, &group) == RES_BAD_ARG);
+ CHK(aw_obj_group_get(obj, 0, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), "all") == 0);
+ CHK(group.face_id == 0);
+ CHK(group.faces_count == 2);
+
+ CHK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(obj, AW_ID_NONE, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(obj, 0, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(NULL, AW_ID_NONE, &sgroup) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(obj, AW_ID_NONE, &sgroup) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(NULL, 0, &sgroup) == RES_BAD_ARG);
+ CHK(aw_obj_smooth_group_get(obj, 0, &sgroup) == RES_OK);
+ CHK(sgroup.is_smoothed == 1);
+ CHK(sgroup.face_id == 0);
+ CHK(sgroup.faces_count == 2);
+
+ CHK(aw_obj_mtl_get(obj, 0, &mtl) == RES_BAD_ARG);
+
+ CHK(aw_obj_named_group_release(&group) == RES_OK);
+ CHK(aw_obj_named_group_release(&mtl) == RES_OK);
}
static void
@@ -317,84 +317,84 @@ test_cube(struct aw_obj* obj)
const char* mtllib;
size_t i;
- NCHECK(obj, NULL);
+ CHK(obj != NULL);
file = fopen("test_obj_cube.obj", "w+");
- NCHECK(file, NULL);
+ CHK(file != NULL);
fwrite(cube_obj, sizeof(char), strlen(cube_obj), file);
- CHECK(fseek(file, 0, SEEK_SET), 0);
-
- 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), RES_OK);
- CHECK(desc.faces_count, 6);
- CHECK(desc.groups_count, 6);
- CHECK(desc.smooth_groups_count, 0);
- CHECK(desc.usemtls_count, 6);
- CHECK(desc.mtllibs_count, 3);
-
- CHECK(aw_obj_clear(NULL), RES_BAD_ARG);
- CHECK(aw_obj_clear(obj), RES_OK);
- CHECK(aw_obj_desc_get(obj, &desc), RES_OK);
- CHECK(desc.faces_count, 0);
- CHECK(desc.groups_count, 0);
- CHECK(desc.smooth_groups_count, 0);
- CHECK(desc.usemtls_count, 0);
- CHECK(desc.mtllibs_count, 0);
-
- CHECK(fseek(file, 0, SEEK_SET), 0);
- CHECK(aw_obj_load_stream(obj, file), RES_OK);
- CHECK(aw_obj_desc_get(obj, &desc), RES_OK);
+ CHK(fseek(file, 0, SEEK_SET) == 0);
+
+ CHK(aw_obj_load_stream(NULL, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_load_stream(obj, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_load_stream(NULL, file) == RES_BAD_ARG);
+ CHK(aw_obj_load_stream(obj, file) == RES_OK);
+
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 6);
+ CHK(desc.groups_count == 6);
+ CHK(desc.smooth_groups_count == 0);
+ CHK(desc.usemtls_count == 6);
+ CHK(desc.mtllibs_count == 3);
+
+ CHK(aw_obj_clear(NULL) == RES_BAD_ARG);
+ CHK(aw_obj_clear(obj) == RES_OK);
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 0);
+ CHK(desc.groups_count == 0);
+ CHK(desc.smooth_groups_count == 0);
+ CHK(desc.usemtls_count == 0);
+ CHK(desc.mtllibs_count == 0);
+
+ CHK(fseek(file, 0, SEEK_SET) == 0);
+ CHK(aw_obj_load_stream(obj, file) == RES_OK);
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
FOR_EACH(i, 0, 6) {
struct aw_obj_face face;
- 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);
- CHECK(face.smooth_group_id, AW_ID_NONE);
- CHECK(face.mtl_id, i);
+ CHK(aw_obj_face_get(obj, i, &face) == RES_OK);
+ CHK(face.vertex_id == i*4);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == i);
+ CHK(face.smooth_group_id == AW_ID_NONE);
+ CHK(face.mtl_id == i);
}
FOR_EACH(i, 0, 6) {
struct aw_obj_named_group group;
- CHECK(aw_obj_named_group_init(NULL, &group), RES_OK);
- CHECK(aw_obj_group_get(obj, i, &group), RES_OK);
- CHECK(strcmp(str_cget(&group.name), group_names[i]), 0);
- CHECK(group.face_id, i);
- CHECK(group.faces_count, 1);
- CHECK(aw_obj_named_group_release(&group), RES_OK);
+ CHK(aw_obj_named_group_init(NULL, &group) == RES_OK);
+ CHK(aw_obj_group_get(obj, i, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), group_names[i]) == 0);
+ CHK(group.face_id == i);
+ CHK(group.faces_count == 1);
+ CHK(aw_obj_named_group_release(&group) == RES_OK);
}
FOR_EACH(i, 0, 6) {
struct aw_obj_named_group mtl;
- CHECK(aw_obj_named_group_init(NULL, &mtl), RES_OK);
- CHECK(aw_obj_mtl_get(obj, i, &mtl), RES_OK);
- CHECK(strcmp(str_cget(&mtl.name), mtl_names[i]), 0);
- CHECK(mtl.face_id, i);
- CHECK(mtl.faces_count, 1);
- CHECK(aw_obj_named_group_release(&mtl), RES_OK);
+ CHK(aw_obj_named_group_init(NULL, &mtl) == RES_OK);
+ CHK(aw_obj_mtl_get(obj, i, &mtl) == RES_OK);
+ CHK(strcmp(str_cget(&mtl.name), mtl_names[i]) == 0);
+ CHK(mtl.face_id == i);
+ CHK(mtl.faces_count == 1);
+ CHK(aw_obj_named_group_release(&mtl) == RES_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), RES_OK);
- CHECK(strcmp(mtllib, "hop.mtl"), 0);
- CHECK(aw_obj_mtllib_get(obj, 2, &mtllib), RES_OK);
- CHECK(strcmp(mtllib, "my.mtl"), 0);
- CHECK(aw_obj_mtllib_get(obj, 3, &mtllib), RES_BAD_ARG);
-
- CHECK(aw_obj_purge(NULL), RES_BAD_ARG);
- CHECK(aw_obj_purge(obj), RES_OK);
- CHECK(aw_obj_desc_get(obj, &desc), RES_OK);
- CHECK(desc.faces_count, 0);
- CHECK(desc.groups_count, 0);
- CHECK(desc.smooth_groups_count, 0);
- CHECK(desc.usemtls_count, 0);
- CHECK(desc.mtllibs_count, 0);
+ CHK(aw_obj_mtllib_get(obj, 0, &mtllib) == RES_OK);
+ CHK(strcmp(mtllib, "master.mtl") == 0);
+ CHK(aw_obj_mtllib_get(obj, 1, &mtllib) == RES_OK);
+ CHK(strcmp(mtllib, "hop.mtl") == 0);
+ CHK(aw_obj_mtllib_get(obj, 2, &mtllib) == RES_OK);
+ CHK(strcmp(mtllib, "my.mtl") == 0);
+ CHK(aw_obj_mtllib_get(obj, 3, &mtllib) == RES_BAD_ARG);
+
+ CHK(aw_obj_purge(NULL) == RES_BAD_ARG);
+ CHK(aw_obj_purge(obj) == RES_OK);
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 0);
+ CHK(desc.groups_count == 0);
+ CHK(desc.smooth_groups_count == 0);
+ CHK(desc.usemtls_count == 0);
+ CHK(desc.mtllibs_count == 0);
fclose(file);
}
@@ -451,101 +451,101 @@ test_cbox(struct aw_obj* obj)
float tmp[3];
FILE* file;
- NCHECK(obj, NULL);
- CHECK(aw_obj_named_group_init(NULL, &group), RES_OK);
- CHECK(aw_obj_named_group_init(NULL, &mtl), RES_OK);
+ CHK(obj != NULL);
+ CHK(aw_obj_named_group_init(NULL, &group) == RES_OK);
+ CHK(aw_obj_named_group_init(NULL, &mtl) == RES_OK);
file = fopen("test_cbox.obj", "w+");
- NCHECK(file, NULL);
+ CHK(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), RES_OK);
+ CHK(fseek(file, 0, SEEK_SET) == 0);
+ CHK(aw_obj_load_stream(obj, file) == RES_OK);
fclose(file);
- 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), 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), RES_OK);
- CHECK(strcmp(str_cget(&group.name), "floor"), 0);
- CHECK(group.face_id, 0);
- CHECK(group.faces_count, 1);
-
- CHECK(aw_obj_mtl_get(obj, 0, &mtl), RES_OK);
- CHECK(strcmp(str_cget(&mtl.name), "floor"), 0);
- CHECK(mtl.face_id, 0);
- CHECK(mtl.faces_count, 1);
-
- 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), 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), 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), 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), 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), RES_OK);
- CHECK(strcmp(str_cget(&group.name), "ceiling"), 0);
- CHECK(group.face_id, 1);
- CHECK(group.faces_count, 1);
-
- CHECK(aw_obj_mtl_get(obj, 1, &mtl), RES_OK);
- CHECK(strcmp(str_cget(&mtl.name), "ceiling"), 0);
- CHECK(mtl.face_id, 1);
- CHECK(mtl.faces_count, 1);
-
- 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), 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), 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), 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), 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), RES_OK);
- CHECK(strcmp(str_cget(&group.name), "left"), 0);
- CHECK(group.face_id, 4);
- CHECK(group.faces_count, 1);
-
- CHECK(aw_obj_mtl_get(obj, 4, &mtl), RES_OK);
- CHECK(strcmp(str_cget(&mtl.name), "left"), 0);
- CHECK(mtl.face_id, 4);
- CHECK(mtl.faces_count, 1);
-
- 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), 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), 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), RES_OK);
- CHECK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, 0.99f), 1.e-6f), 1);
-
- CHECK(aw_obj_named_group_release(&group), RES_OK);
- CHECK(aw_obj_named_group_release(&mtl), RES_OK);
+ CHK(aw_obj_desc_get(obj, &desc) == RES_OK);
+ CHK(desc.faces_count == 5);
+ CHK(desc.groups_count == 5);
+ CHK(desc.smooth_groups_count == 0);
+ CHK(desc.usemtls_count == 5);
+ CHK(desc.mtllibs_count == 1);
+
+ CHK(aw_obj_face_get(obj, 0, &face) == RES_OK);
+ CHK(face.vertex_id == 0);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 0);
+ CHK(face.mtl_id == 0);
+
+ CHK(aw_obj_group_get(obj, 0, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), "floor") == 0);
+ CHK(group.face_id == 0);
+ CHK(group.faces_count == 1);
+
+ CHK(aw_obj_mtl_get(obj, 0, &mtl) == RES_OK);
+ CHK(strcmp(str_cget(&mtl.name), "floor") == 0);
+ CHK(mtl.face_id == 0);
+ CHK(mtl.faces_count == 1);
+
+ CHK(aw_obj_vertex_get(obj, 0, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.01f, 0.f, 0.99f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 1, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 0.f, 0.99f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 2, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 0.f, -1.04f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 3, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -0.99f, 0.f, -1.04f), 1.e-6f) == 1);
+
+ CHK(aw_obj_face_get(obj, 1, &face) == RES_OK);
+ CHK(face.vertex_id == 4);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 1);
+ CHK(face.mtl_id == 1);
+
+ CHK(aw_obj_group_get(obj, 1, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), "ceiling") == 0);
+ CHK(group.face_id == 1);
+ CHK(group.faces_count == 1);
+
+ CHK(aw_obj_mtl_get(obj, 1, &mtl) == RES_OK);
+ CHK(strcmp(str_cget(&mtl.name), "ceiling") == 0);
+ CHK(mtl.face_id == 1);
+ CHK(mtl.faces_count == 1);
+
+ CHK(aw_obj_vertex_get(obj, 4, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, 0.99f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 5, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, -1.04f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 6, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 1.99f, -1.04f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 7, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, 1.f, 1.99f, 0.99f), 1.e-6f) == 1);
+
+ CHK(aw_obj_face_get(obj, 4, &face) == RES_OK);
+ CHK(face.vertex_id == 16);
+ CHK(face.vertices_count == 4);
+ CHK(face.group_id == 4);
+ CHK(face.mtl_id == 4);
+
+ CHK(aw_obj_group_get(obj, 4, &group) == RES_OK);
+ CHK(strcmp(str_cget(&group.name), "left") == 0);
+ CHK(group.face_id == 4);
+ CHK(group.faces_count == 1);
+
+ CHK(aw_obj_mtl_get(obj, 4, &mtl) == RES_OK);
+ CHK(strcmp(str_cget(&mtl.name), "left") == 0);
+ CHK(mtl.face_id == 4);
+ CHK(mtl.faces_count == 1);
+
+ CHK(aw_obj_vertex_get(obj, 16, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.01f, 0.f, 0.99f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 17, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -0.99f, 0.f, -1.04f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 18, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, -1.04f), 1.e-6f) == 1);
+ CHK(aw_obj_vertex_get(obj, 19, &vertex) == RES_OK);
+ CHK(f3_eq_eps(vertex.position, f3(tmp, -1.02f, 1.99f, 0.99f), 1.e-6f) == 1);
+
+ CHK(aw_obj_named_group_release(&group) == RES_OK);
+ CHK(aw_obj_named_group_release(&mtl) == RES_OK);
}
int
@@ -557,26 +557,26 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(aw_obj_create(NULL, NULL, 1, NULL), RES_BAD_ARG);
- CHECK(aw_obj_create(NULL, &allocator, 1, NULL), RES_BAD_ARG);
- CHECK(aw_obj_create(NULL, NULL, 1, &obj), RES_OK);
+ CHK(aw_obj_create(NULL, NULL, 1, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_create(NULL, &allocator, 1, NULL) == RES_BAD_ARG);
+ CHK(aw_obj_create(NULL, NULL, 1, &obj) == RES_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);
+ CHK(aw_obj_ref_get(NULL) == RES_BAD_ARG);
+ CHK(aw_obj_ref_get(obj) == RES_OK);
+ CHK(aw_obj_ref_put(NULL) == RES_BAD_ARG);
+ CHK(aw_obj_ref_put(obj) == RES_OK);
+ CHK(aw_obj_ref_put(obj) == RES_OK);
- CHECK(aw_obj_create(LOGGER_DEFAULT, &allocator, 1, &obj), RES_OK);
+ CHK(aw_obj_create(LOGGER_DEFAULT, &allocator, 1, &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]), RES_OK);
+ CHK(aw_obj_load(obj, argv[i]) == RES_OK);
- CHECK(aw_obj_ref_put(obj), RES_OK);
+ CHK(aw_obj_ref_put(obj) == RES_OK);
if(MEM_ALLOCATED_SIZE(&allocator)) {
char dump[512];
@@ -585,7 +585,7 @@ main(int argc, char** argv)
FATAL("Memory leaks\n");
}
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}