- do not save empty lua tables

This commit is contained in:
SoftCoder
2013-12-30 17:12:49 -08:00
parent 5613b0739e
commit 8742d36a06

View File

@@ -294,8 +294,12 @@ void LuaScript::saveGame(XmlNode *rootNode) {
break; break;
case LUA_TTABLE: case LUA_TTABLE:
{ {
int tableItemCount = 0;
if(LuaScript::debugModeEnabled == true) printf("================ LUA TABLE DETECTED - START =================\n"); if(LuaScript::debugModeEnabled == true) printf("================ LUA TABLE DETECTED - START =================\n");
for (lua_pushnil(L); lua_next(L, -2) ;) { for (lua_pushnil(L); lua_next(L, -2) ;) {
tableItemCount++;
if(LuaScript::debugModeEnabled == true) printf("LUA TABLE loop A\n"); if(LuaScript::debugModeEnabled == true) printf("LUA TABLE loop A\n");
int tableKeyType = lua_type(L, -2); int tableKeyType = lua_type(L, -2);
@@ -363,6 +367,11 @@ void LuaScript::saveGame(XmlNode *rootNode) {
lua_pop(L, 1); lua_pop(L, 1);
} }
} }
if(tableItemCount < 1) {
if(LuaScript::debugModeEnabled == true) printf("Skipping lua table tableItemCount = %d\n",tableItemCount);
skipTable = true;
}
if(LuaScript::debugModeEnabled == true) printf("---------------------------- LUA TABLE DETECTED - END ----------------------------\n"); if(LuaScript::debugModeEnabled == true) printf("---------------------------- LUA TABLE DETECTED - END ----------------------------\n");
} }
break; break;