Deleting or obsoleting custom designed ships can make saved games CTD at reload.

Too much is being deleted when a custom designed ship is obsoleted or deleted. The results is that GC2 will CTD when a saved game needing these files is restarted. The debug file will also have a line that reads similar to
"Debug Message: Can't find ship type FighterG+PMk1 in definitions"
as the last line in the file.

Note: Since upgrading a design doesn't work at this build level (0.77(b).009) I can't tell what the results of an upgrade would be.
4,471 views 10 replies
Reply #1 Top
There's more to it than that, though I certainly can't disagree. I played a game last night that crashed and I had to reload. Well, I had gone through three consecutive ship designs called 'Def-Sm' ranging from 4 atk, 2 def to 8 atk, 12 def, and after I reloaded, they were all upgraded to the 8 atk, 12 def, and I've been playing it for quite some time without it CTDing.

However, that could explain why I often see CDTs on load, since I tend to overwrite the ship design with a new design of the same name (until we get something like CG1's military govenor).
Reply #2 Top
I have indicated here https://www.galciv2.com/Forums.aspx?ForumID=274&AID=92223 that it would be nice to have a way to simply know what design you have already made to avoid overwriting design.

BTW, it seems that having the ship name as an id can lead to:
- bug
- unable to load savegame from another computer. That can be annoying for SD bug hunting from beta tester save game
- have a way to cheat between games if you go back to a previous savegame while the design is overridden.

Maybe the used custom ships definition (ie defintion associated with built or being build ship) should be saved in the savegame, to avoid CTD on savegame load.
Reply #3 Top
The ship designs should remain in the game at least until no ship exists of that design.

I like to give my old ships over to my smaller friends. This practice seems that it might cause CTDs, as if I've obsoleted the design, loading a game where an AI still has one of those old designs seems to cause a CTD. I need to confirm this theory (at which point I'll report it properly as a bug).

I wonder if the AI is obsoleting designs?
Reply #4 Top

Are you deleting or obsoleting ships that still have ships using that design? If so, I can see where that would cause problems.

The ship designs are saved in the save game, otherwise we wouldn't be able to load your save games at all.

Reply #5 Top
Are you deleting or obsoleting ships that still have ships using that design?


Yes. Otherwise the list of ship designs could become confusing, and, with time, incoherent. Obsoleting a ship design only means that we have no further intent to build them (at least, not in the current game), not that we wish to be rid of those we have already built.
Reply #6 Top
*nods agreement with Lucky Jack*

Exactly.
Reply #7 Top
CariElf, is it saving the ship designs by the given name, or some unique Id in the saved game? As I mentioned, the one time I managed to play for a while after reloading a saved game, it had upgraded all of my old 'Def-Sm' ships to the latest and greatest 'Def-Sm' design. 4Atk/2Def to 8Atk/12Def. my first few 8/12 versions had just cleared the factory, and at least half of what I had was the 4/2 design, so this isn't a case of mistaken identity on my part.

My standard means of upgrading a ship design (until upgrade works) is to create a better ship along the same lines, save it as the same name, and overwrite the old ship design. That way, all my colonies start producing the new ship without me needing to go to all of them and change them.
Reply #8 Top
This has killed one of my games. It will never reload now without CTD. I have ships of a design that was obsoleted still on the map.
Reply #9 Top
Is there any chance of getting a quick and dirty saved game repairer that will rectify this issue?
Reply #10 Top
So- problem is related to deleting design in save game file- I get why y'all need this , so you can load games sent
to gc2bugs- maybe obsolete in shipyard screen should just remove a ship from the list if all exisitng copies are not decommisioned- since the process already asks us if we want to do so.