From d444d1c98fdefea6cf0aff50eb9b58d4dbcea6ed Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 16 Sep 2022 00:55:53 -0500 Subject: begin assimp bindings --- src/import/CMakeLists.txt | 10 ++++++++++ src/import/import.c | 14 ++++++++++++++ src/import/import.h | 0 src/import/import.test.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 src/import/CMakeLists.txt create mode 100644 src/import/import.c create mode 100644 src/import/import.h create mode 100644 src/import/import.test.c (limited to 'src') diff --git a/src/import/CMakeLists.txt b/src/import/CMakeLists.txt new file mode 100644 index 0000000..fc35779 --- /dev/null +++ b/src/import/CMakeLists.txt @@ -0,0 +1,10 @@ +project(honey_engine) + +target_sources(honey PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/import.c +) + + +target_sources(test PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/import.test.c +) diff --git a/src/import/import.c b/src/import/import.c new file mode 100644 index 0000000..cc22616 --- /dev/null +++ b/src/import/import.c @@ -0,0 +1,14 @@ +#include +#include +#include +#include "import.h" + + +void push_vector(lua_State *L, struct aiVector3D vec) +{ + hs_create_table(L, + hs_str_num("x", vec.x), + hs_str_num("y", vec.y), + hs_str_num("z", vec.z), + ); +} diff --git a/src/import/import.h b/src/import/import.h new file mode 100644 index 0000000..e69de29 diff --git a/src/import/import.test.c b/src/import/import.test.c new file mode 100644 index 0000000..efa6b84 --- /dev/null +++ b/src/import/import.test.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include "test/honey-test.h" + + +#include "import.c" + + +void test_push_vector() +{ + lua_State *L = luaL_newstate(); + struct aiVector3D v; + v.x = 1.5; + v.y = 2.0; + v.z = 3.6; + + push_vector(L, v); + + lily_assert_int_equal(lua_type(L, -1), LUA_TTABLE); + + lua_getfield(L, -1, "x"); + lily_assert_int_equal(lua_type(L, -1), LUA_TNUMBER); + lily_assert_float_equal(lua_tonumber(L, -1), 1.5, 0.1); + lua_pop(L, 1); + + lua_getfield(L, -1, "y"); + lily_assert_int_equal(lua_type(L, -1), LUA_TNUMBER); + lily_assert_float_equal(lua_tonumber(L, -1), 2.0, 0.1); + lua_pop(L, 1); + + lua_getfield(L, -1, "z"); + lily_assert_int_equal(lua_type(L, -1), LUA_TNUMBER); + lily_assert_float_equal(lua_tonumber(L, -1), 3.6, 0.1); + lua_pop(L, 1); + + lua_close(L); +} + + +void suite_import() +{ + lily_run_test(test_push_vector); +} -- cgit v1.2.1