systemshock
systemshock copied to clipboard
Delta grove jettison switch has gone missing
The same happens with all rendering options.
I'll quote dertseha here: "there have been a few messages on the Steam forums of players noting that switches were missing in their game. I remember at least three cases of plot-related switches missing. Two of which I helped out by patching their savegame. My suspicion is there's a delete object action/effect going rampant. Switches, screens, plot items - nothing is safe from such an event..."
Is this reproducible? I wonder if adding some WARN() calls around code that deletes things would help catch it?
It could be a rogue action.
The code to read the general level information (fullmap structure) from archive (saveload.c:835ff) is wrong. It does not properly support the DOS (version 11) archive format and attempts to read a single-byte packed structure directly into a 2-byte packed one. However, there is code to repair the structure after the fact. It appears that somebody was in a hurry:
// CC: HAX HAX HAX - Why don't these get set properly?
The code looks as if it should do the trick, but it is suspicious given the circumstances. I haven't yet managed to reproduce the problem in either 32 or 64-bit code. The 64-bit code converts the structure from the archive of necessity, but it only currently supports the original version 11 archive format and not the version 12 saved-game format. Basically the level archive handling code is still a big old mess :)