ref: f899b2fe3c091ccab33673f9fea9d1d99c0c2940
parent: fdb1698791dc51dbf690fec4a1d1c7b6a4b52345
author: cinap_lenrek <[email protected]>
date: Thu Jul 30 15:51:11 EDT 2015
games/doom: fix switch textures swapping in ultimate doom (thansk qu7uux) gamemode is set according to the name of the main wad (cf. d_main.c), i.e.: - doom1.wad: (shareware doom1, ep1 only) gamemode == shareware - doom.wad: (registered doom1, ep1-3) gamemode == registered - doomu.wad: (ultimate doom, ep1-4) gamemode == retail - doom2.wad, plutonia.wad, tnt.wad: gamemode == commercial most doom.wad's distributed online are, in fact, ultimate doom. if your ultimate doom wad is correctly named doomu.wad, some switches in episodes 2-4 won't swap their texture when toggled, because p_switch.c:P_InitSwitchList() is only checking for registered doom1. easy way to test: demo2 in either registered or ultimate doom: the player flips a switch right at the beginning of the demo; if the main wad is called doomu.wad, the switch won't change its texture. % games/doom -playdemo demo2 if you rename the wad to doom.wad or alter d_main.c:IdentifyVersion, the switch will swap its texture like it should.
--- a/sys/src/games/doom/p_switch.c
+++ b/sys/src/games/doom/p_switch.c
@@ -112,7 +112,7 @@
episode = 1;
- if (gamemode == registered)
+ if (gamemode == registered || gamemode == retail)
episode = 2;
else
if ( gamemode == commercial )