summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}