branchwiseguys/main/Server save & loadcancel
70 Commits over 30 Days - 0.10cph!
Some small initial work as I learn about the save system.
Separate save system, make it a static class. Add console command for setting autosave value.
Merging in the latest from Main.
Merge vehicle fixes from trunk.
- Control whether server loads saves or not in editor mode, via WiseGuysTools.
- Allow NPCManager and VehicleManager to base their init actions on whether the level is new or loaded from a save.
- Let vehicles save.
Moving client-only deserialize methods into client+server space, to handle level load deserialization on server. Lots of compilation errors right now.
All compiler errors fixed, actually running it still broken.
Fixed errors that were preventing correct startup. Probably still super buggy but everything spawns now.
Added a game stats printout to aid in comparing save/load.
Allowing deserialize before init on ActiveItemController
Definitely shouldn't be needed. All the code in NetworkEntity.Initialize() has been called earlier when loading.
Adding safeguards, notes etc
Cleaner initialize path. Tackling Load next.
Switched load order to call init methods before deserialize. Some other work on Load.
Added entity sorting to put parents always before children on load.
Multiple sorting masses, gets it working every time.
Big mess currently, but working on getting everything to init in a sane, working order, or at least warn me if it isn't.
Switched deserialize to come first. Making it work. Actually going OK.
Save/Load work. ActiveItemController using my more standard deserialize delay system.
HeldItems should NOT be saved, since they're created with new IDs every time they're held
Don't get duplicate group IDs when near the edge of the world.
NetworkPlayers get saved, and parented correctly from load.
Got save backups working correctly
Server load commandline flag, and save/load console commands.
Prevent loading saves while players are connected
Various loading work. Save/load of players in vehicles now handled OK, with One Weird Bug left to fix.
Fixed inventory sync from save.
Went through all Deserialize calls, making sure things look OK for Load. Also a few warnings cleared.
Getting init+load order working correctly in all situations: Server load, client join, client join while another client is in a vehicle, server save/load while clients are in vehicles. Hopefully all are good now. Plus some minor fixes.
Fixing init order in CLIENT+SERVER mode
Fixing double EntityBehaviour serialize on server. Whole process might need a bit of a cleanup
Merging in the latest from Main.
Changed initial spawn skip to work with loaded saves
Stop setting stuff twice, NPCs stop complaining. Deleted orphaned meta files.
Removed ability to load saves anytime since it was broken. Easier to just allow loading saves on startup.
Existing entities in scenes now show up on clients again
Fixed door animations + simplified code
Allow selling more drugs during JustBoughtItem state, so you can do rapid-fire sales. Less getting shot during shady double sales if you're quick.
Fixed double init on NetworkSimulator. Removed unnecessary warning.
Now generating the city before spawning in entities. Makes sure NPCs can start on a NavMesh in particular.
Removed load option in console since loading is only allowed on startup now