The moveType property of a Thing is not synced correctly in the sithDSSThing_ThingFullDescfunction. This leads to a bug where the moveType set via thing parameters or changed through the COG function ParseArg is not preserved when the game is restored from a saved state.
Steps to Reproduce:
1.) Define a static Thing with a specific moveType using thing parameters.
Alternatively, change the moveType of a Thing dynamically using the COG function ParseArg.
2.) Save the game.
3.) Restore the game from the saved state.
4.) Observe that the moveType of the Thing is not correctly restored.
Expected Behavior:
The moveType property should be correctly synced and restored when the game state is saved and restored, ensuring consistent behavior for Things.
Actual Behavior:
The moveType property is not synced in sithDSSThing_ThingFullDesc, resulting in the moveType value reverting back to the template value for Things upon game restore.
Logical flow:
- Thing
moveType is changed from template value either when defining static level thing or via ParseArg COG function
- Game saved, thing synced via
sithDSSThing_ThingFullDesc
- Game restored via
SithGamesave_RestoreFile :
a.) Loads level via sithOpenNormal
b.) Remove all static defined things of loaded level via sithThing_RemoveAllThings
c.) Restore thing via sithDSSThing_ProcessThingFullDesc which resets move type to template value
The
moveTypeproperty of a Thing is not synced correctly in thesithDSSThing_ThingFullDescfunction. This leads to a bug where themoveTypeset via thing parameters or changed through the COG functionParseArgis not preserved when the game is restored from a saved state.Steps to Reproduce:
1.) Define a static Thing with a specific
moveTypeusing thing parameters.Alternatively, change the
moveTypeof a Thing dynamically using the COG functionParseArg.2.) Save the game.
3.) Restore the game from the saved state.
4.) Observe that the
moveTypeof the Thing is not correctly restored.Expected Behavior:
The
moveTypeproperty should be correctly synced and restored when the game state is saved and restored, ensuring consistent behavior for Things.Actual Behavior:
The
moveTypeproperty is not synced insithDSSThing_ThingFullDesc, resulting in themoveTypevalue reverting back to the template value for Things upon game restore.Logical flow:
moveTypeis changed from template value either when defining static level thing or viaParseArgCOG functionsithDSSThing_ThingFullDescSithGamesave_RestoreFile:a.) Loads level via
sithOpenNormalb.) Remove all static defined things of loaded level via
sithThing_RemoveAllThingsc.) Restore thing via
sithDSSThing_ProcessThingFullDescwhich resets move type to template value