diff options
author | Fabian Greffrath | 2015-03-23 12:12:08 +0100 |
---|---|---|
committer | Fabian Greffrath | 2015-03-23 12:12:08 +0100 |
commit | 19659f3eab0614465577ac71731b4bdce67ce30c (patch) | |
tree | 582e7a2f4722d01fca4b7fe76a7a67c640e29cc5 /src/hexen | |
parent | 909a779a0d54ff91b01fad2cc17a0263ba5419ad (diff) | |
download | chocolate-doom-19659f3eab0614465577ac71731b4bdce67ce30c.tar.gz chocolate-doom-19659f3eab0614465577ac71731b4bdce67ce30c.tar.bz2 chocolate-doom-19659f3eab0614465577ac71731b4bdce67ce30c.zip |
maintain an explicit switch list for the demo version
instead of interating through the list for the full version
and letting missing texture lumps slip through.
Diffstat (limited to 'src/hexen')
-rw-r--r-- | src/hexen/p_switch.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/src/hexen/p_switch.c b/src/hexen/p_switch.c index 92bd0be4..a90269a7 100644 --- a/src/hexen/p_switch.c +++ b/src/hexen/p_switch.c @@ -25,7 +25,14 @@ // CHANGE THE TEXTURE OF A WALL SWITCH TO ITS OPPOSITE // //================================================================== -switchlist_t alphSwitchList[] = { +switchlist_t alphSwitchListDemo[] = { + {"SW_1_UP", "SW_1_DN", SFX_SWITCH1}, + {"SW_2_UP", "SW_2_DN", SFX_SWITCH1}, + {"SW52_OFF", "SW52_ON", SFX_SWITCH2}, + {"\0", "\0", 0} +}; + +switchlist_t alphSwitchListFull[] = { {"SW_1_UP", "SW_1_DN", SFX_SWITCH1}, {"SW_2_UP", "SW_2_DN", SFX_SWITCH1}, {"VALVE1", "VALVE2", SFX_VALVE_TURN}, @@ -39,6 +46,8 @@ switchlist_t alphSwitchList[] = { {"\0", "\0", 0} }; +switchlist_t *alphSwitchList = NULL; + int switchlist[MAXSWITCHES * 2]; int numswitches; button_t buttonlist[MAXBUTTONS]; @@ -58,6 +67,18 @@ void P_InitSwitchList(void) int i; int index; + if (!alphSwitchList) + { + if (gamemode == shareware) + { + alphSwitchList = alphSwitchListDemo; + } + else + { + alphSwitchList = alphSwitchListFull; + } + } + for (index = 0, i = 0; i < MAXSWITCHES; i++) { if (!alphSwitchList[i].soundID) @@ -66,13 +87,6 @@ void P_InitSwitchList(void) switchlist[index] = -1; break; } - - if (R_CheckTextureNumForName(alphSwitchList[i].name1) == -1 && - gamemode == shareware) - { - continue; - } - switchlist[index++] = R_TextureNumForName(alphSwitchList[i].name1); switchlist[index++] = R_TextureNumForName(alphSwitchList[i].name2); } |