Helion-Engine / Helion

A modern fast paced Doom FPS engine
GNU General Public License v3.0
98 stars 9 forks source link

loading a save game causes serialized compatibility values to persist to saved config #703

Closed 72hr closed 6 days ago

72hr commented 1 week ago

This is probably what caused the broken exit in #698 for me. I played through Pirate Doom 2 whose complevel disables MBF21, dying and loading along the way. That saved compatibility.mbf21 as false in my config, and Duality depends on it, so the exit broke.

With no compatibility keys in the config, starting a new game on Pirate Doom 2, creating a save and loading it, the following will be saved to the config:

compatibility.preferdehacked = True
compatibility.allowitemdropoff = True
compatibility.vanillasectorphysics = False
compatibility.vanillamovementphysics = False
compatibility.vanillasectorsound = False
compatibility.infinitelytallthings = False
compatibility.missileclip = False
compatibility.painelementallostsoullimit = False
compatibility.notossdrops = False
compatibility.stairs = False
compatibility.doom2projectilewalktriggers = False
compatibility.originalexplosion = False
compatibility.vileghosts = False
compatibility.finaldoomteleport = False
compatibility.mbf21 = False