Hallo zusammen,
ich hab ein kleines, mir nicht verständliches Problem. Ich habe eine Tabelle die ich vom Engine State ins Savegame / GUI State kopieren möchte. Bisher hat das immer geklappt, am Wochenende hab ich jetzt meine Mod von einer anderen getrennt und ein paar Dinge von Grund auf neu gestaltet. Ich habe 2 separate Tabellen:
An sich kein Problem wenn ich die Tabellen speichere klappt das.
save = function ()
-- save data to shareState
return {engineState = engineState, guiState = guiState}
end,
Füge ich jetzt allerdings meine Tabelle hinzu kommt die nachfolgende Meldung.
save = function ()
-- save data to shareState
if not engineState["lineInfo"] then engineState.lineInfo = { } end
if lineInfo then
engineState["lineInfo"] = lineInfo
end
return {engineState = engineState, guiState = guiState}
end,
Dabei ist unerheblich ob ich die Tabelle jetzt erst im Save der übergeordneten Tabelle hinzufüge oder das beim erstellen direkt in den engineState reinschreib. Es kommt jedes mal die folgende Fehlermeldung.
Assertion `m_data->gameStates[1]->ScriptSave() == m_data->gameStates[0]->ScriptSave()' failed.
Interessant ist, wenn ich mir die Tabelle via debugPrint ausgeben lasse und aus der stdout in die savegame.lua kopiere ( oder einfach den Eintrag .lineInfo ={ } manuell erstelle) läd & speichert er die neuen Daten einwandfrei.
Hat da jemand ne Idee woran das liegen kann?
...
Während ich das hier schreibe, hat sich das Problem gelöst (vorerst). Savegame einmal ohne mod geladen und gespeichert (um zu schauen was im anderen mod gespeichert wird) und wieder zum aktuellen Projekt gewechselt. Jetzt klappts einwandfrei. Auch ein neues Spiel angefangen => klappt jetzt. Ging am WE nicht.