[Zone] Implement Zone State Saving on Shutdown (#4715)

* Save spawns

* Update base_zone_state_spawns_repository.h

* Zone state save work

* Code cleanup

* More cleanup

* Database migration

* Update database_update_manifest.cpp

* Revert decay at storage model

* Code cleanup

* More cleanup

* More cleanup

* More cleanup

* Entity variables

* Add entity variables to the schema

* Post rebase

* Checkpoint

* Serialize / deserialize buffs

* Current hp / mana / end save / load

* Save / load current_waypoint

* Add zone spawn protection

* Finishing touches

* Cleanup

* Update zone_save_state.cpp

* Cleanup

* Update zone_save_state.cpp

* Update npc.cpp

* Update npc.cpp

* More

* Update perl_npc.cpp

* Update zone_loot.cpp
This commit is contained in:
Chris Miles
2025-02-28 15:31:06 -06:00
committed by GitHub
parent 425d24c1f4
commit 2f7ca2cdc8
26 changed files with 1637 additions and 59 deletions
+3 -3
View File
@@ -631,7 +631,7 @@ int main(int argc, char **argv)
if (zone) {
if (!zone->Process()) {
Zone::Shutdown();
zone->Shutdown();
}
}
@@ -668,7 +668,7 @@ int main(int argc, char **argv)
safe_delete(Config);
if (zone != 0) {
Zone::Shutdown(true);
zone->Shutdown(true);
}
//Fix for Linux world server problem.
safe_delete(task_manager);
@@ -687,7 +687,7 @@ int main(int argc, char **argv)
void Shutdown()
{
Zone::Shutdown(true);
zone->Shutdown(true);
LogInfo("Shutting down...");
LogSys.CloseFileLogs();
EQ::EventLoop::Get().Shutdown();