Ivan Safrin 9 лет назад
Родитель
Сommit
9422cba1b6

+ 1 - 1
bindings/lua/Polycode.lua

@@ -75,8 +75,8 @@ require "Polycode/ResourcePool"
 require "Polycode/ResourceManager"
 require "Polycode/FontResourceLoader"
 require "Polycode/ProgramResourceLoader"
+require "Polycode/DebugBackTraceEntry"
 require "Polycode/MeshResourceLoader"
-require "Polycode/BackTraceEntry"
 require "Polycode/MaterialResourceLoader"
 require "Polycode/TextureResourceLoader"
 require "Polycode/Scene"

+ 28 - 0
bindings/lua/Polycode/DebugBackTraceEntry.lua

@@ -0,0 +1,28 @@
+class "DebugBackTraceEntry"
+
+
+
+function DebugBackTraceEntry:__getvar(name)
+	if name == "fileName" then
+		return Polycore.DebugBackTraceEntry_get_fileName(self.__ptr)
+	elseif name == "lineNumber" then
+		return Polycore.DebugBackTraceEntry_get_lineNumber(self.__ptr)
+	end
+end
+
+
+function DebugBackTraceEntry:__setvar(name,value)
+	if name == "fileName" then
+		Polycore.DebugBackTraceEntry_set_fileName(self.__ptr, value)
+		return true
+	elseif name == "lineNumber" then
+		Polycore.DebugBackTraceEntry_set_lineNumber(self.__ptr, value)
+		return true
+	end
+	return false
+end
+
+
+function DebugBackTraceEntry:__delete()
+	if self then Polycore.delete_DebugBackTraceEntry(self.__ptr) end
+end

BIN
bindings/lua/lua_Polycore.pak


+ 1 - 0
build/osx/TemplateApp/TemplateApp/rotate.lua

@@ -3,6 +3,7 @@ class "Rotator"
 
 function Rotator:Rotator(entity)
 	self.entity = entity
+    self.speed = math.random()
 end
 
 function Rotator:update(elapsed)

+ 12 - 12
docs/lua/Polycode.xml

@@ -7032,6 +7032,18 @@
 			</method>
 		</methods>
 	</class>
+	<class name="DebugBackTraceEntry">
+		<static_members>
+		</static_members>
+		<members>
+			<member name="fileName" type="String">
+			</member>
+			<member name="lineNumber" type="Integer">
+			</member>
+		</members>
+		<methods>
+		</methods>
+	</class>
 	<class name="MeshResourceLoader" extends="ResourceLoader">
 		<static_members>
 		</static_members>
@@ -7050,18 +7062,6 @@
 			</method>
 		</methods>
 	</class>
-	<class name="BackTraceEntry">
-		<static_members>
-		</static_members>
-		<members>
-			<member name="fileName" type="String">
-			</member>
-			<member name="lineNumber" type="Integer">
-			</member>
-		</members>
-		<methods>
-		</methods>
-	</class>
 	<class name="MaterialResourceLoader" extends="ResourceLoader">
 		<static_members>
 		</static_members>

+ 38 - 38
include/polycode/bindings/lua/PolycodeLuaWrappers.h

@@ -13908,6 +13908,44 @@ static int Polycore_delete_ProgramResourceLoader(lua_State *L) {
 	return 0;
 }
 
+static int Polycore_DebugBackTraceEntry_get_fileName(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TUSERDATA);
+	DebugBackTraceEntry *inst = (DebugBackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
+	lua_pushstring(L, inst->fileName.c_str());
+	return 1;
+}
+
+static int Polycore_DebugBackTraceEntry_get_lineNumber(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TUSERDATA);
+	DebugBackTraceEntry *inst = (DebugBackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
+	lua_pushinteger(L, inst->lineNumber);
+	return 1;
+}
+
+static int Polycore_DebugBackTraceEntry_set_fileName(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TUSERDATA);
+	DebugBackTraceEntry *inst = (DebugBackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
+	String param = lua_tostring(L, 2);
+	inst->fileName = param;
+	return 0;
+}
+
+static int Polycore_DebugBackTraceEntry_set_lineNumber(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TUSERDATA);
+	DebugBackTraceEntry *inst = (DebugBackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
+	int param = lua_tointeger(L, 2);
+	inst->lineNumber = param;
+	return 0;
+}
+
+static int Polycore_delete_DebugBackTraceEntry(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TUSERDATA);
+	PolyBase **inst = (PolyBase**)lua_touserdata(L, 1);
+	delete ((DebugBackTraceEntry*) *inst);
+	*inst = NULL;
+	return 0;
+}
+
 static int Polycore_MeshResourceLoader(lua_State *L) {
 	MeshResourceLoader *inst = new MeshResourceLoader();
 	PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
@@ -13942,44 +13980,6 @@ static int Polycore_delete_MeshResourceLoader(lua_State *L) {
 	return 0;
 }
 
-static int Polycore_BackTraceEntry_get_fileName(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TUSERDATA);
-	BackTraceEntry *inst = (BackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
-	lua_pushstring(L, inst->fileName.c_str());
-	return 1;
-}
-
-static int Polycore_BackTraceEntry_get_lineNumber(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TUSERDATA);
-	BackTraceEntry *inst = (BackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
-	lua_pushinteger(L, inst->lineNumber);
-	return 1;
-}
-
-static int Polycore_BackTraceEntry_set_fileName(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TUSERDATA);
-	BackTraceEntry *inst = (BackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
-	String param = lua_tostring(L, 2);
-	inst->fileName = param;
-	return 0;
-}
-
-static int Polycore_BackTraceEntry_set_lineNumber(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TUSERDATA);
-	BackTraceEntry *inst = (BackTraceEntry*) *((PolyBase**)lua_touserdata(L, 1));
-	int param = lua_tointeger(L, 2);
-	inst->lineNumber = param;
-	return 0;
-}
-
-static int Polycore_delete_BackTraceEntry(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TUSERDATA);
-	PolyBase **inst = (PolyBase**)lua_touserdata(L, 1);
-	delete ((BackTraceEntry*) *inst);
-	*inst = NULL;
-	return 0;
-}
-
 static int Polycore_MaterialResourceLoader(lua_State *L) {
 	MaterialResourceLoader *inst = new MaterialResourceLoader();
 	PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));

+ 1 - 1
include/polycode/core/PolyResourceManager.h

@@ -129,7 +129,7 @@ namespace Polycode {
         FT_Library FTLibrary;
     };
     
-    class BackTraceEntry {
+    class DebugBackTraceEntry {
     public:
         String fileName;
         unsigned int lineNumber;

+ 9 - 9
src/bindings/lua/PolycodeLua.cpp

@@ -1413,14 +1413,14 @@ int luaopen_Polycode(lua_State *L) {
 		{"ProgramResourceLoader", Polycore_ProgramResourceLoader},
 		{"ProgramResourceLoader_loadResource", Polycore_ProgramResourceLoader_loadResource},
 		{"delete_ProgramResourceLoader", Polycore_delete_ProgramResourceLoader},
+		{"DebugBackTraceEntry_get_fileName", Polycore_DebugBackTraceEntry_get_fileName},
+		{"DebugBackTraceEntry_get_lineNumber", Polycore_DebugBackTraceEntry_get_lineNumber},
+		{"DebugBackTraceEntry_set_fileName", Polycore_DebugBackTraceEntry_set_fileName},
+		{"DebugBackTraceEntry_set_lineNumber", Polycore_DebugBackTraceEntry_set_lineNumber},
+		{"delete_DebugBackTraceEntry", Polycore_delete_DebugBackTraceEntry},
 		{"MeshResourceLoader", Polycore_MeshResourceLoader},
 		{"MeshResourceLoader_loadResource", Polycore_MeshResourceLoader_loadResource},
 		{"delete_MeshResourceLoader", Polycore_delete_MeshResourceLoader},
-		{"BackTraceEntry_get_fileName", Polycore_BackTraceEntry_get_fileName},
-		{"BackTraceEntry_get_lineNumber", Polycore_BackTraceEntry_get_lineNumber},
-		{"BackTraceEntry_set_fileName", Polycore_BackTraceEntry_set_fileName},
-		{"BackTraceEntry_set_lineNumber", Polycore_BackTraceEntry_set_lineNumber},
-		{"delete_BackTraceEntry", Polycore_delete_BackTraceEntry},
 		{"MaterialResourceLoader", Polycore_MaterialResourceLoader},
 		{"MaterialResourceLoader_loadResource", Polycore_MaterialResourceLoader_loadResource},
 		{"delete_MaterialResourceLoader", Polycore_delete_MaterialResourceLoader},
@@ -2583,15 +2583,15 @@ int luaopen_Polycode(lua_State *L) {
 	lua_settable(L, -3);
 	lua_pop(L, 1);
 
-	luaL_newmetatable(L, "Polycore.MeshResourceLoader");
+	luaL_newmetatable(L, "Polycore.DebugBackTraceEntry");
 	lua_pushstring(L, "__gc");
-	lua_pushcfunction(L, Polycore_delete_MeshResourceLoader);
+	lua_pushcfunction(L, Polycore_delete_DebugBackTraceEntry);
 	lua_settable(L, -3);
 	lua_pop(L, 1);
 
-	luaL_newmetatable(L, "Polycore.BackTraceEntry");
+	luaL_newmetatable(L, "Polycore.MeshResourceLoader");
 	lua_pushstring(L, "__gc");
-	lua_pushcfunction(L, Polycore_delete_BackTraceEntry);
+	lua_pushcfunction(L, Polycore_delete_MeshResourceLoader);
 	lua_settable(L, -3);
 	lua_pop(L, 1);
 

+ 3 - 3
src/core/PolyResourceManager.cpp

@@ -378,7 +378,7 @@ duk_ret_t entity_Roll(duk_context *context) {
 }
 
 static int customError(lua_State *L) {
-    std::vector<BackTraceEntry> backTrace;
+    std::vector<DebugBackTraceEntry> backTrace;
     lua_Debug entry;
     int depth = 0;
     while (lua_getstack(L, depth, &entry)) {
@@ -389,7 +389,7 @@ static int customError(lua_State *L) {
             String fileName = bits[1];
             if(fileName != "class.lua") {
                 
-                BackTraceEntry trace;
+                DebugBackTraceEntry trace;
                 trace.lineNumber = entry.currentline;
                 trace.fileName = fileName;
                 backTrace.push_back(trace);
@@ -403,7 +403,7 @@ static int customError(lua_State *L) {
     String stringThatIsTheMainFile;
     
     if(backTrace.size() == 0) {
-        BackTraceEntry trace;
+        DebugBackTraceEntry trace;
         trace.lineNumber = 0;
         trace.fileName = "TODO: Figure out full pathHere";
         backTrace.push_back(trace);