summaryrefslogtreecommitdiff
path: root/src/hexen
diff options
context:
space:
mode:
authorFabian Greffrath2015-03-23 12:12:08 +0100
committerFabian Greffrath2015-03-23 12:12:08 +0100
commit19659f3eab0614465577ac71731b4bdce67ce30c (patch)
tree582e7a2f4722d01fca4b7fe76a7a67c640e29cc5 /src/hexen
parent909a779a0d54ff91b01fad2cc17a0263ba5419ad (diff)
downloadchocolate-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.c30
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);
}