View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0026813 | AI War 2 | Crash/Exception | Mar 31, 2022 11:45 pm | Apr 3, 2022 9:51 pm | |
Reporter | Lord Of Nothing | Assigned To | CRCGamer | ||
Status | resolved | Resolution | fixed | ||
Product Version | 4.009 Architrave Taming | ||||
Fixed in Version | 4.010 Iconucopia | ||||
Summary | 0026813: Large proportion of my saves won't load in the new version. | ||||
Description | As the summary. Saves attached in the zip won't load. Curiously, while collecting saves for this, I did notice some of the .savemet files were actually in the wrong folders. That Pause here until... is a name I've only used in a different campaign. I attach that save as well, as it's one of the one's that does load. | ||||
Tags | No tags attached. | ||||
|
Pause here until 4point009release.savemet (120 bytes)
UK 175036506 15887 Architraves <color=#ffe066>Moderate </color> Gladiator Difficulty 9 6 <color=#318ce7>Istarial</color> |
|
If you want more saves that won't load, let me know, I have more... ;) |
|
Oops, forgot the debug log: |
|
4/1/2022 4:45:37 AM 4.009 SINGLEP GameEntity_Squad deserialization error at stage 10000 from serialized version 4.008 loading into new version 4.009, error: System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.Core.GameEntity_Squad.DeserializeSquadIntoSelf (Arcen.Universal.SerMetaData MetaData, System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet NewPlanet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, Arcen.Universal.SerializationCommandType SerializationCmdType, Arcen.AIW2.Core.PlanetFaction NewPlanetFaction) [0x00e78] in <db9a877386f74edca9edc5a934befb85>:0 4/1/2022 4:45:37 AM 4.009 SINGLEP The savegame you are trying to load had the following inner fatal error: GameEntity_Squad deserialization error at stage 10000 from serialized version 4.008 loading into new version 4.009, error: System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.Core.GameEntity_Squad.DeserializeSquadIntoSelf (Arcen.Universal.SerMetaData MetaData, System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet NewPlanet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, Arcen.Universal.SerializationCommandType SerializationCmdType, Arcen.AIW2.Core.PlanetFaction NewPlanetFaction) [0x00e78] in <db9a877386f74edca9edc5a934befb85>:0 |
|
Actually I have a suspicion as to the cause. Me and CRC were talking on discord, and the last part has just occurred to me. https://discord.com/channels/240637654717300736/242012213580136448/959316154952867840 |
|
Reasonable chance that saves involving Spire, Spire Hammer, and potentially Jabberwock get impacted is my guess. Unfortunately leaving the AI versions attached to the modular player versions wasn't the greatest of ideas from what I remember Chris saying about the module system. And given how the Spire entity file is just shy of 2500 lines I can understand how when Chris first implemented modules and tried separating out the NPC versions he missed the entire section at the end of the file with all the AI versions that gets used in both AI anti-Spire exos and the Spire Hammer or Jabberwock AIs. |
|
Can confirm that this error is due to this commit (I reverted the commit and the problem went away): Author: crcgamer <crcgamer@60f51169-4b03-4a8b-8f1d-a48e9a47c1e4> Date: Sat Mar 26 17:44:52 2022 +0000 * Corrected a number of issues with AI Spire ship assets. ** Practically every AI version still referenced the original ship instead of the xBase versions put in place when modules were deployed to player versions of the ships. ** Several missing beam weapon color attributes were found and corrected. Previously slid under the radar because they were inheriting from the player versions. ** AI Spire Dreadnought now correctly just has a couple big bad coilbeams that only fire once per cycle instead of one of them being a Rube Goldberg monstrosity firing twenty coilbeams once a second. Now, very unfortunately, I can't just revert this and check it in because it would break any new save games with AI-Spire units created since then. Unsure what to do about this case. Going to throw it to Chris for his opinion |
|
I could put together a brute force method that would make saves retrievable... issue is that it is one of those things where you slot it in. Load the save and immediately save & exit before reverting to the actual game files again. It would work fairly well for retrieving a Spire game or potentially Jabberwock games. It would effectively headshot a Spire Hammer game though. The secret ingredient being the is_deprecated="true" property being applied to all the AI ships in the old broken version of the file. You basically slot it in, load the game in question. Then proceed to save your now cleaned save and put files back the way they should be. |
|
Units should never ever be removed, just deprecated. There are two options here, both easy and both with differing effects on old saves: 1. Simply bring back all the old units, but deprecated, and have those in a separate file. We’ve done that on various units over the years. The net effect is that any usage of these units is stripped out of saves on load, and no new saves will see or use them again. This must be a permanent solution; because someone could load up an affected save 10 years from now, for all we know. 2. There is a LookupSwaps table. You set one internal name that is old, one that is new. It translates across for any table. Apple is now Orange. So you can translate old units to one of the new variants, and you don’t even have to bring back the old xml entries to do it. If the old entries had more systems than the new ones do, it will not work. Other than that it should be fine. |
|
CRC, assigning this back to you. If you need additional help resolving this please let chris or I know |
|
After a minor hiccup that got its own bugfix the fix is in. Should be resolved in the release of 4.010 |
Date Modified | Username | Field | Change |
---|---|---|---|
Mar 31, 2022 11:45 pm | Lord Of Nothing | New Issue | |
Mar 31, 2022 11:45 pm | Lord Of Nothing | File Added: FallOfRomeDerailed2.zip | |
Mar 31, 2022 11:45 pm | Lord Of Nothing | File Added: Pause here until 4point009release.save | |
Mar 31, 2022 11:45 pm | Lord Of Nothing | File Added: Pause here until 4point009release.savemet | |
Mar 31, 2022 11:46 pm | Lord Of Nothing | Note Added: 0065653 | |
Mar 31, 2022 11:47 pm | Lord Of Nothing | Description Updated | |
Apr 1, 2022 12:14 am | Lord Of Nothing | Note Added: 0065656 | |
Apr 1, 2022 12:14 am | Lord Of Nothing | File Added: ArcenDebugLog.txt | |
Apr 1, 2022 12:44 am | BadgerBadger | Note Added: 0065657 | |
Apr 1, 2022 1:01 am | Lord Of Nothing | Note Added: 0065658 | |
Apr 1, 2022 1:35 am | CRCGamer | Note Added: 0065659 | |
Apr 2, 2022 12:43 pm | BadgerBadger | Note Added: 0065667 | |
Apr 2, 2022 12:43 pm | BadgerBadger | Assigned To | => Chris_McElligottPark |
Apr 2, 2022 12:43 pm | BadgerBadger | Status | new => assigned |
Apr 2, 2022 5:07 pm | CRCGamer | Note Added: 0065680 | |
Apr 2, 2022 5:52 pm | Chris_McElligottPark | Note Added: 0065681 | |
Apr 2, 2022 6:48 pm | BadgerBadger | Assigned To | Chris_McElligottPark => CRCGamer |
Apr 2, 2022 6:49 pm | BadgerBadger | Note Added: 0065682 | |
Apr 3, 2022 11:28 am | BadgerBadger | Relationship added | related to 0026824 |
Apr 3, 2022 9:51 pm | CRCGamer | Status | assigned => resolved |
Apr 3, 2022 9:51 pm | CRCGamer | Resolution | open => fixed |
Apr 3, 2022 9:51 pm | CRCGamer | Fixed in Version | => 4.010 Iconucopia |
Apr 3, 2022 9:51 pm | CRCGamer | Note Added: 0065720 |