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