diff --git a/CMakeLists.txt b/CMakeLists.txt index 76922aa..002737e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,10 +99,11 @@ elseif(DUSK_TARGET_SYSTEM STREQUAL "psp") ${SDL2_INCLUDE_DIRS} ) - # Force turn tests off for now - set(ENABLE_TESTS OFF CACHE BOOL "Enable tests" FORCE) endif() +# Force turn tests off for now +set(ENABLE_TESTS OFF CACHE BOOL "Enable tests" FORCE) + # Add code add_subdirectory(src) diff --git a/README.md b/README.md index 62abea1..2da2f6e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ following packages, depending on your system; Fedora; ``` -sudo dnf install git make gcc cmake python python-polib python3-pillow python3-dotenv python3-numpy python-qt5 python3-pyopengl +sudo dnf install git make gcc cmake python python-polib python3-pillow python3-dotenv python3-numpy python-qt5 python3-pyopengl SDL2-devel zlib-devel libzip-devel bzip2-devel openssl-devel lzma-sdk-devel xz xz-devel lua-devel ``` Ubuntu; diff --git a/assets/scene/initial.lua b/assets/scene/initial.lua index b17f4b4..da94659 100644 --- a/assets/scene/initial.lua +++ b/assets/scene/initial.lua @@ -5,11 +5,6 @@ module('glm') camera = cameraCreate(CAMERA_PROJECTION_TYPE_PERSPECTIVE) -print('Camera position') -print(camera.position.x) -print(camera.position.y) -print(camera.position.z) - function sceneDispose() -- print('Disposing initial scene') end diff --git a/src/script/module/display/moduleglm.c b/src/script/module/display/moduleglm.c index 74a544c..1eaac81 100644 --- a/src/script/module/display/moduleglm.c +++ b/src/script/module/display/moduleglm.c @@ -9,6 +9,7 @@ #include "assert/assert.h" #include "script/struct/scriptstruct.h" #include "util/string.h" +#include "util/memory.h" void moduleGLM(scriptcontext_t *context) { assertNotNull(context, "Context cannot be NULL."); @@ -32,6 +33,8 @@ void moduleGLMVec3Getter( assertNotNull(structPtr, "Structure pointer cannot be NULL."); assertNotNull(outValue, "Output value cannot be NULL."); + printf("Getting vec3 field %s\n", key); + vec3 *v = (vec3 *)structPtr; if(stringCompare(key, "x") == 0) { outValue->type = SCRIPT_VALUE_TYPE_FLOAT; diff --git a/src/script/scriptvalue.h b/src/script/scriptvalue.h index 05e38d4..fec219e 100644 --- a/src/script/scriptvalue.h +++ b/src/script/scriptvalue.h @@ -21,7 +21,7 @@ typedef struct scriptvalue_s { union { int32_t intValue; float_t floatValue; - const char_t *strValue; + char_t *strValue; bool_t boolValue; } value; } scriptvalue_t; \ No newline at end of file diff --git a/src/script/struct/scriptstruct.c b/src/script/struct/scriptstruct.c index bca3883..2900de9 100644 --- a/src/script/struct/scriptstruct.c +++ b/src/script/struct/scriptstruct.c @@ -7,6 +7,7 @@ #include "scriptstruct.h" #include "assert/assert.h" +#include "util/memory.h" void scriptStructRegister( scriptcontext_t *context, @@ -66,7 +67,9 @@ int scriptStructIndex(lua_State *l) { break; case SCRIPT_VALUE_TYPE_STRING: + assertNotNull(outValue.value.strValue, "String value cannot be NULL"); lua_pushstring(l, outValue.value.strValue); + memoryFree((void *)outValue.value.strValue); break; case SCRIPT_VALUE_TYPE_BOOL: @@ -122,6 +125,7 @@ int scriptStructNewIndex(lua_State *l) { inValue.type = SCRIPT_VALUE_TYPE_BOOL; inValue.value.boolValue = lua_toboolean(l, 3); break; + case LUA_TNIL: inValue.type = SCRIPT_VALUE_TYPE_NIL; break;