shithub: choc

Download patch

ref: 8bc7af8cbbf6ef3c68880c05f37604a4a49db071
parent: 050936093f9dfe6b835e2b815fb3974aa0699cc8
author: James Haley <[email protected]>
date: Thu Sep 16 09:06:09 EDT 2010

Had to majorly deconflict p_doors.c; kept my version of lock switch in
EV_VerticalDoor because it had all the types present and no errors such
as missing parentheses. Please tell me next time if you're going to
start working on the same thing I am doing, as I don't like wasting my
entire evening.

Subversion-branch: /branches/strife-branch
Subversion-revision: 2093

--- a/src/strife/doomdef.h
+++ b/src/strife/doomdef.h
@@ -240,7 +240,7 @@
 // haleyjd 09/12/10: [STRIFE]
 // flag values for each quest.
 enum
-{ //  Name      Flag from bitnum    Purpose, if known
+{ //  Name       Flag from bitnum      Purpose, if known
     QF_QUEST1  = (1 << tk_quest1),
     QF_QUEST2  = (1 << tk_quest2),
     QF_QUEST3  = (1 << tk_quest3), 
@@ -258,7 +258,7 @@
     QF_QUEST15 = (1 << tk_quest15),
     QF_QUEST16 = (1 << tk_quest16),
     QF_QUEST17 = (1 << tk_quest17),
-    QF_QUEST18 = (1 << tk_quest18),
+    QF_QUEST18 = (1 << tk_quest18), // Obtained Oracle Pass
     QF_QUEST19 = (1 << tk_quest19),
     QF_QUEST20 = (1 << tk_quest20),
     QF_QUEST21 = (1 << tk_quest21),
--- a/src/strife/p_dialog.h
+++ b/src/strife/p_dialog.h
@@ -78,6 +78,7 @@
 boolean         P_GiveItemToPlayer(player_t *player, int sprnum, mobjtype_t type);
 void            P_DialogStartP1(void);
 mapdialog_t*    P_DialogFind(mobjtype_t type, int jumptoconv);
+int             P_PlayerHasItem(player_t *player, mobjtype_t type);
 
 #endif
 
--- a/src/strife/p_doors.c
+++ b/src/strife/p_doors.c
@@ -41,7 +41,10 @@
 #include "dstrings.h"
 #include "sounds.h"
 
+// [STRIFE]
+#include "p_dialog.h"
 
+
 //
 // VERTICAL DOORS
 //
@@ -549,40 +552,41 @@
     //	Check for locks
     player = thing->player;
 
-    // villsa [STRIFE] new key types
+    // haleyjd 09/15/10: [STRIFE] myriad checks here...
     switch(line->special)
     {
-    case 26:
-    case 32:
-        if(!player->cards[key_IDBadge])
+    case 26:  // DR ID Card door
+    case 32:  // D1 ID Card door
+        if(!player->cards[key_IDCard])
         {
-            player->message = DEH_String("You need an id badge to open this door");
+            player->message = DEH_String("You need an id card to open this door");
             S_StartSound(NULL, sfx_oof);
             return;
         }
         break;
 
-    case 28:
-    case 33:
-        if(!player->cards[key_IDCard])
+    case 27:  // DR Pass Card door
+    case 34:  // D1 Pass Card door
+        if(!player->cards[key_Passcard])
         {
-            player->message = DEH_String("You need an id card to open this door");
+            player->message = DEH_String("You need a pass card key to open this door");
             S_StartSound(NULL, sfx_oof);
             return;
         }
         break;
 
-    case 27:
-    case 34:
-        if(!player->cards[key_Passcard])
+    case 28:  // DR ID Badge door
+    case 33:  // D1 ID Badge door
+        if(!player->cards[key_IDBadge])
         {
-            player->message = DEH_String("You need a pass card key to open this door");
+            player->message = DEH_String("You need an id badge to open this door");
             S_StartSound(NULL, sfx_oof);
             return;
         }
         break;
 
-    case 156:
+    case 156: // D1 brass key door
+    case 161: // DR brass key door
         if(!player->cards[key_BrassKey])
         {
             player->message = DEH_String("You need a brass key");
@@ -591,32 +595,27 @@
         }
         break;
 
-    case 158:
-    case 159:
-        if(!player->cards[key_GoldKey])
+    case 157: // D1 silver key door
+    case 160: // DR silver key door
+        if(!player->cards[key_SilverKey])
         {
-            player->message = DEH_String("You need a gold key");
+            player->message = DEH_String("You need a silver key");
             S_StartSound(NULL, sfx_oof);
             return;
         }
         break;
 
-    case 157:
-    case 160:
-        if(!player->cards[key_SilverKey])
+    case 158: // D1 gold key door
+    case 159: // DR gold key door
+        if(!player->cards[key_GoldKey])
         {
-            player->message = DEH_String("You need a silver key");
+            player->message = DEH_String("You need a gold key");
             S_StartSound(NULL, sfx_oof);
             return;
         }
         break;
 
-    case 165:
-        player->message = DEH_String("That doesn't seem to work");
-        S_StartSound(NULL, sfx_oof);
-        return;
-
-    case 166:
+    case 166: // DR Hand Print door
         if(!player->cards[key_SeveredHand])
         {
             player->message = DEH_String("Hand print not on file");
@@ -625,7 +624,7 @@
         }
         break;
 
-    case 169:
+    case 169: // DR Base key door
         if(!player->cards[key_BaseKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -634,7 +633,7 @@
         }
         break;
 
-    case 170:
+    case 170: // DR Gov's Key door
         if(!player->cards[key_GovsKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -643,7 +642,7 @@
         }
         break;
 
-    case 190:
+    case 190: // DR Order Key door
         if(!player->cards[key_OrderKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -652,12 +651,13 @@
         }
         break;
 
-    case 205:
-        player->message = DEH_String("THIS AREA IS ONLY AVAILABLE IN THE RETAIL VERSION OF STRIFE");
+    case 205: // DR "Only in retail"
+        player->message = DEH_String("THIS AREA IS ONLY AVAILABLE IN THE "
+                                     "RETAIL VERSION OF STRIFE");
         S_StartSound(NULL, sfx_oof);
         return;
 
-    case 213:
+    case 213: // DR Chalice door
         if(!P_PlayerHasItem(player, MT_INV_CHALICE))
         {
             player->message = DEH_String("You need the chalice!");
@@ -666,7 +666,7 @@
         }
         break;
 
-    case 217:
+    case 217: // DR Core Key door
         if(!player->cards[key_CoreKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -675,7 +675,7 @@
         }
         break;
 
-    case 221:
+    case 221: // DR Mauler Key door
         if(!player->cards[key_MaulerKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -684,7 +684,7 @@
         }
         break;
 
-    case 224:
+    case 224: // DR Chapel Key door
         if(!player->cards[key_ChapelKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -693,7 +693,7 @@
         }
         break;
 
-    case 225:
+    case 225: // DR Catacomb Key door
         if(!player->cards[key_CatacombKey])
         {
             player->message = DEH_String("You don't have the key");
@@ -702,8 +702,8 @@
         }
         break;
 
-    case 232:
-        if(!player->questflags & QF_QUEST2)
+    case 232: // DR Oracle Pass door
+        if(!(player->questflags & QF_QUEST18))
         {
             player->message = DEH_String("You need the Oracle Pass!");
             S_StartSound(NULL, sfx_oof);
@@ -710,6 +710,9 @@
             return;
         }
         break;
+
+    default:
+        break;
     }
 
     // if the sector has an active thinker, use it
@@ -716,6 +719,11 @@
     sec = sides[ line->sidenum[side^1]] .sector;
     secnum = sec-sectors;
 
+
+    // STRIFE-TODO: retriggering logic was modified, and has a serious bug in that
+    // some linetypes are allowed to fall through and start multiple thinkers on a
+    // single sector - this must be carefully replicated
+
     if (sec->specialdata)
     {
         door = sec->specialdata;
@@ -726,7 +734,7 @@
         case 27:
         case 28:
         case 117:
-        case 159:       // villsa [STRIFE]
+        case 159:       // villsa [STRIFE] -- haleyjd 09/16/10: STRIFE-TODO: verify all this
         case 161:       // villsa [STRIFE]
         case 166:       // villsa [STRIFE]
         case 169:       // villsa [STRIFE]
@@ -780,6 +788,8 @@
         }
     }
 
+    // haleyjd 09/15/10: [STRIFE] Removed DOOM door sounds
+
     // new door thinker
     door = Z_Malloc (sizeof(*door), PU_LEVSPEC, 0);
     P_AddThinker (&door->thinker);
@@ -789,8 +799,10 @@
     door->direction = 1;
     door->speed = VDOORSPEED;
     door->topwait = VDOORWAIT;
-    R_SoundNumForDoor(door);    // villsa [STRIFE] set door sounds
+    R_SoundNumForDoor(door);   // haleyjd 09/15/10: [STRIFE] Get door sounds
 
+    // STRIFE-TODO: handle all door types, old and new.
+
     // for proper sound
     switch(line->special)
     {
@@ -804,6 +816,7 @@
         break;
     }
 
+    // haleyjd: STRIFE-TODO: verify all of this.
     switch(line->special)
     {
     case 1:
--- a/src/strife/p_switch.c
+++ b/src/strife/p_switch.c
@@ -447,26 +447,23 @@
 //
 boolean
 P_UseSpecialLine
-( mobj_t*	thing,
-  line_t*	line,
-  int		side )
-{               
-
+( mobj_t*       thing,
+  line_t*       line,
+  int           side )
+{
     // Err...
     // Use the back sides of VERY SPECIAL lines...
     if (side)
     {
-	switch(line->special)
-	{
-	  case 124:
-	    // Sliding door open&close
-	    // UNUSED?
-	    break;
+        switch(line->special)
+        {
+        case 148: // haleyjd [STRIFE]
+            break;
 
-	  default:
-	    return false;
-	    break;
-	}
+        default:
+            return false;
+            break;
+        }
     }
 
     
@@ -473,378 +470,386 @@
     // Switches that other things can activate.
     if (!thing->player)
     {
-	// never open secret doors
-	if (line->flags & ML_SECRET)
-	    return false;
-	
-	switch(line->special)
-	{
-	  case 1: 	// MANUAL DOOR RAISE
-	  case 32:	// MANUAL BLUE
-	  case 33:	// MANUAL RED
-	  case 34:	// MANUAL YELLOW
-	    break;
-	    
-	  default:
-	    return false;
-	    break;
-	}
+        // never open secret doors
+        if (line->flags & ML_SECRET)
+            return false;
+
+        switch(line->special)
+        {
+        case 1:         // MANUAL DOOR RAISE
+        case 144:       // haleyjd [STRIFE] Manual sliding door
+            break;
+
+        default:
+            return false;
+            break;
+        }
     }
 
+    // [STRIFE] TODO: here on down mostly untouched so far,
+    // except for a few new types at the bottom.
     
     // do something  
     switch (line->special)
     {
-	// MANUALS
-      case 1:		// Vertical Door
-      case 26:		// Blue Door/Locked
-      case 27:		// Yellow Door /Locked
-      case 28:		// Red Door /Locked
+        // MANUALS
+    case 1:           // Vertical Door
+    case 26:          // Blue Door/Locked
+    case 27:          // Yellow Door /Locked
+    case 28:          // Red Door /Locked
 
-      case 31:		// Manual door open
-      case 32:		// Blue locked door open
-      case 33:		// Red locked door open
-      case 34:		// Yellow locked door open
+    case 31:          // Manual door open
+    case 32:          // Blue locked door open
+    case 33:          // Red locked door open
+    case 34:          // Yellow locked door open
 
-      case 117:		// Blazing door raise
-      case 118:		// Blazing door open
-	EV_VerticalDoor (line, thing);
-	break;
+    case 117:         // Blazing door raise
+    case 118:         // Blazing door open
+        EV_VerticalDoor (line, thing);
+        break;
 
-	// SWITCHES
-      case 7:
-	// Build Stairs
-	if (EV_BuildStairs(line,build8))
-	    P_ChangeSwitchTexture(line,0);
-	break;
+        // SWITCHES
+    case 7:
+        // Build Stairs
+        if (EV_BuildStairs(line,build8))
+            P_ChangeSwitchTexture(line,0);
+        break;
 
-      case 9:
-	// Change Donut
-	if (EV_DoDonut(line))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 11:
-	// Exit level
-	P_ChangeSwitchTexture(line,0);
-	G_ExitLevel (0);
-	break;
-	
-      case 14:
-	// Raise Floor 32 and change texture
-	if (EV_DoPlat(line,raiseAndChange,32))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 15:
-	// Raise Floor 24 and change texture
-	if (EV_DoPlat(line,raiseAndChange,24))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 18:
-	// Raise Floor to next highest floor
-	if (EV_DoFloor(line, raiseFloorToNearest))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 20:
-	// Raise Plat next highest floor and change texture
-	if (EV_DoPlat(line,raiseToNearestAndChange,0))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 21:
-	// PlatDownWaitUpStay
-	if (EV_DoPlat(line,downWaitUpStay,0))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 23:
-	// Lower Floor to Lowest
-	if (EV_DoFloor(line,lowerFloorToLowest))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 29:
-	// Raise Door
-	if (EV_DoDoor(line,normal))
-	    P_ChangeSwitchTexture(line,0);
-	break;
+    case 9:
+        // Change Donut
+        if (EV_DoDonut(line))
+            P_ChangeSwitchTexture(line,0);
+        break;
 
-      case 40:
-      // villsa [STRIFE] Split Open Door
+    case 11:
+        // Exit level
+        P_ChangeSwitchTexture(line,0);
+        G_ExitLevel (0);
+        break;
+
+    case 14:
+        // Raise Floor 32 and change texture
+        if (EV_DoPlat(line,raiseAndChange,32))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 15:
+        // Raise Floor 24 and change texture
+        if (EV_DoPlat(line,raiseAndChange,24))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 18:
+        // Raise Floor to next highest floor
+        if (EV_DoFloor(line, raiseFloorToNearest))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 20:
+        // Raise Plat next highest floor and change texture
+        if (EV_DoPlat(line,raiseToNearestAndChange,0))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 21:
+        // PlatDownWaitUpStay
+        if (EV_DoPlat(line,downWaitUpStay,0))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 23:
+        // Lower Floor to Lowest
+        if (EV_DoFloor(line,lowerFloorToLowest))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 29:
+        // Raise Door
+        if (EV_DoDoor(line,normal))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 40:
+        // villsa [STRIFE] Split Open Door
         if(EV_DoDoor(line, splitOpen))
             P_ChangeSwitchTexture(line, 0);
-	
-      case 41:
-	// Lower Ceiling to Floor
-	if (EV_DoCeiling(line,lowerToFloor))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 71:
-	// Turbo Lower Floor
-	if (EV_DoFloor(line,turboLower))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 49:
-	// Ceiling Crush And Raise
-	if (EV_DoCeiling(line,crushAndRaise))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 50:
-	// Close Door
-	if (EV_DoDoor(line,close))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 51:
-	// Secret EXIT
-	P_ChangeSwitchTexture(line,0);
-	//G_SecretExitLevel ();
-	break;
-	
-      case 55:
-	// Raise Floor Crush
-	if (EV_DoFloor(line,raiseFloorCrush))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 101:
-	// Raise Floor
-	if (EV_DoFloor(line,raiseFloor))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 102:
-	// Lower Floor to Surrounding floor height
-	if (EV_DoFloor(line,lowerFloor))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 103:
-	// Open Door
-	if (EV_DoDoor(line,open))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 111:
-	// Blazing Door Raise (faster than TURBO!)
-	if (EV_DoDoor (line,blazeRaise))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 112:
-	// Blazing Door Open (faster than TURBO!)
-	if (EV_DoDoor (line,blazeOpen))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 113:
-	// Blazing Door Close (faster than TURBO!)
-	if (EV_DoDoor (line,blazeClose))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 122:
-	// Blazing PlatDownWaitUpStay
-	if (EV_DoPlat(line,blazeDWUS,0))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 127:
-	// Build Stairs Turbo 16
-	if (EV_BuildStairs(line,turbo16))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 131:
-	// Raise Floor Turbo
-	if (EV_DoFloor(line,raiseFloorTurbo))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 133:
-	// BlzOpenDoor BLUE
-      case 135:
-	// BlzOpenDoor RED
-      case 137:
-	// BlzOpenDoor YELLOW
-	if (EV_DoLockedDoor (line,blazeOpen,thing))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-      case 140:
-	// Raise Floor 512
-	if (EV_DoFloor(line,raiseFloor512))
-	    P_ChangeSwitchTexture(line,0);
-	break;
-	
-	// BUTTONS
-      case 42:
-	// Close Door
-	if (EV_DoDoor(line,close))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 43:
-	// Lower Ceiling to Floor
-	if (EV_DoCeiling(line,lowerToFloor))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 45:
-	// Lower Floor to Surrounding floor height
-	if (EV_DoFloor(line,lowerFloor))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 60:
-	// Lower Floor to Lowest
-	if (EV_DoFloor(line,lowerFloorToLowest))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 61:
-	// Open Door
-	if (EV_DoDoor(line,open))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 62:
-	// PlatDownWaitUpStay
-	if (EV_DoPlat(line,downWaitUpStay,1))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 63:
-	// Raise Door
-	if (EV_DoDoor(line,normal))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 64:
-	// Raise Floor to ceiling
-	if (EV_DoFloor(line,raiseFloor))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 66:
-	// Raise Floor 24 and change texture
-	if (EV_DoPlat(line,raiseAndChange,24))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 67:
-	// Raise Floor 32 and change texture
-	if (EV_DoPlat(line,raiseAndChange,32))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 65:
-	// Raise Floor Crush
-	if (EV_DoFloor(line,raiseFloorCrush))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 68:
-	// Raise Plat to next highest floor and change texture
-	if (EV_DoPlat(line,raiseToNearestAndChange,0))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 69:
-	// Raise Floor to next highest floor
-	if (EV_DoFloor(line, raiseFloorToNearest))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 70:
-	// Turbo Lower Floor
-	if (EV_DoFloor(line,turboLower))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 114:
-	// Blazing Door Raise (faster than TURBO!)
-	if (EV_DoDoor (line,blazeRaise))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 115:
-	// Blazing Door Open (faster than TURBO!)
-	if (EV_DoDoor (line,blazeOpen))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 116:
-	// Blazing Door Close (faster than TURBO!)
-	if (EV_DoDoor (line,blazeClose))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 123:
-	// Blazing PlatDownWaitUpStay
-	if (EV_DoPlat(line,blazeDWUS,0))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 132:
-	// Raise Floor Turbo
-	if (EV_DoFloor(line,raiseFloorTurbo))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 99:
-	// BlzOpenDoor BLUE
-      case 134:
-	// BlzOpenDoor RED
-      case 136:
-	// BlzOpenDoor YELLOW
-	if (EV_DoLockedDoor (line,blazeOpen,thing))
-	    P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 138:
-	// Light Turn On
-	EV_LightTurnOn(line,255);
-	P_ChangeSwitchTexture(line,1);
-	break;
-	
-      case 139:
-	// Light Turn Off
-	EV_LightTurnOn(line,35);
-	P_ChangeSwitchTexture(line,1);
-	break;
+
+    case 41:
+        // Lower Ceiling to Floor
+        if (EV_DoCeiling(line,lowerToFloor))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 71:
+        // Turbo Lower Floor
+        if (EV_DoFloor(line,turboLower))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 49:
+        // Ceiling Crush And Raise
+        if (EV_DoCeiling(line,crushAndRaise))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 50:
+        // Close Door
+        if (EV_DoDoor(line,close))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 51:
+        // Secret EXIT
+        P_ChangeSwitchTexture(line,0);
+        //G_SecretExitLevel ();
+        break;
+
+    case 55:
+        // Raise Floor Crush
+        if (EV_DoFloor(line,raiseFloorCrush))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 101:
+        // Raise Floor
+        if (EV_DoFloor(line,raiseFloor))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 102:
+        // Lower Floor to Surrounding floor height
+        if (EV_DoFloor(line,lowerFloor))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 103:
+        // Open Door
+        if (EV_DoDoor(line,open))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 111:
+        // Blazing Door Raise (faster than TURBO!)
+        if (EV_DoDoor (line,blazeRaise))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 112:
+        // Blazing Door Open (faster than TURBO!)
+        if (EV_DoDoor (line,blazeOpen))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 113:
+        // Blazing Door Close (faster than TURBO!)
+        if (EV_DoDoor (line,blazeClose))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 122:
+        // Blazing PlatDownWaitUpStay
+        if (EV_DoPlat(line,blazeDWUS,0))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 127:
+        // Build Stairs Turbo 16
+        if (EV_BuildStairs(line,turbo16))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 131:
+        // Raise Floor Turbo
+        if (EV_DoFloor(line,raiseFloorTurbo))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 133:
+        // BlzOpenDoor BLUE
+    case 135:
+        // BlzOpenDoor RED
+    case 137:
+        // BlzOpenDoor YELLOW
+        if (EV_DoLockedDoor (line,blazeOpen,thing))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+    case 140:
+        // Raise Floor 512
+        if (EV_DoFloor(line,raiseFloor512))
+            P_ChangeSwitchTexture(line,0);
+        break;
+
+        // BUTTONS
+    case 42:
+        // Close Door
+        if (EV_DoDoor(line,close))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 43:
+        // Lower Ceiling to Floor
+        if (EV_DoCeiling(line,lowerToFloor))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 45:
+        // Lower Floor to Surrounding floor height
+        if (EV_DoFloor(line,lowerFloor))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 60:
+        // Lower Floor to Lowest
+        if (EV_DoFloor(line,lowerFloorToLowest))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 61:
+        // Open Door
+        if (EV_DoDoor(line,open))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 62:
+        // PlatDownWaitUpStay
+        if (EV_DoPlat(line,downWaitUpStay,1))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 63:
+        // Raise Door
+        if (EV_DoDoor(line,normal))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 64:
+        // Raise Floor to ceiling
+        if (EV_DoFloor(line,raiseFloor))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 66:
+        // Raise Floor 24 and change texture
+        if (EV_DoPlat(line,raiseAndChange,24))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 67:
+        // Raise Floor 32 and change texture
+        if (EV_DoPlat(line,raiseAndChange,32))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 65:
+        // Raise Floor Crush
+        if (EV_DoFloor(line,raiseFloorCrush))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 68:
+        // Raise Plat to next highest floor and change texture
+        if (EV_DoPlat(line,raiseToNearestAndChange,0))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 69:
+        // Raise Floor to next highest floor
+        if (EV_DoFloor(line, raiseFloorToNearest))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 70:
+        // Turbo Lower Floor
+        if (EV_DoFloor(line,turboLower))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 114:
+        // Blazing Door Raise (faster than TURBO!)
+        if (EV_DoDoor (line,blazeRaise))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 115:
+        // Blazing Door Open (faster than TURBO!)
+        if (EV_DoDoor (line,blazeOpen))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 116:
+        // Blazing Door Close (faster than TURBO!)
+        if (EV_DoDoor (line,blazeClose))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 123:
+        // Blazing PlatDownWaitUpStay
+        if (EV_DoPlat(line,blazeDWUS,0))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 132:
+        // Raise Floor Turbo
+        if (EV_DoFloor(line,raiseFloorTurbo))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 99:
+        // BlzOpenDoor BLUE
+    case 134:
+        // BlzOpenDoor RED
+    case 136:
+        // BlzOpenDoor YELLOW
+        if (EV_DoLockedDoor (line,blazeOpen,thing))
+            P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 138:
+        // Light Turn On
+        EV_LightTurnOn(line,255);
+        P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 139:
+        // Light Turn Off
+        EV_LightTurnOn(line,35);
+        P_ChangeSwitchTexture(line,1);
+        break;
+
+    case 144:
+        // villsa [STRIFE] manual sliding door
+        EV_SlidingDoor(line, thing);
+        break;
+
+    case 148:
+        // haleyjd 09/16/10: [STRIFE] using forcefields hurts
+        P_DamageMobj(thing, NULL, NULL, 16);
+        P_Thrust(thing->player, thing->angle + ANG180, 125*FRACUNIT/16);
+        break;
 
-      case 144:
-          // villsa [STRIFE] manual sliding door
-          EV_SlidingDoor(line, thing);
-          break;
+    case 207:
+        // villsa [STRIFE] remote sliding door
+        if(EV_RemoteSlidingDoor(line, thing))
+            P_ChangeSwitchTexture(line, 1);
+        break; // haleyjd
 
-      case 207:
-          // villsa [STRIFE] remote sliding door
-          if(EV_RemoteSlidingDoor(line, thing))
-              P_ChangeSwitchTexture(line, 1);
+    case 229:
+        // villsa [STRIFE] sigil sliding door
+        if(thing->player && thing->player->sigiltype == 4)
+        {
+            if(EV_RemoteSlidingDoor(line, thing))
+                P_ChangeSwitchTexture(line, 1);
+        }
+        break; // haleyjd
 
-      case 229:
-          // villsa [STRIFE] sigil sliding door
-          if(thing->player && thing->player->sigiltype == 4)
-          {
-              if(EV_RemoteSlidingDoor(line, thing))
-                  P_ChangeSwitchTexture(line, 1);
-          }
+    case 666:
+        // villsa [STRIFE] Move wall
+        P_MoveWall(line, thing);
+        break;
 
-      case 666:
-          // villsa [STRIFE] Move wall
-          P_MoveWall(line, thing);
-          break;
-			
     }
-	
+
     return true;
 }