ref: 76d654bb85659ba65cfa843ee24973fba60269cc
parent: 3e2b2b4889f9f8d7de1ee056be6240ca05ec6dfe
author: Samuel Villareal <svkaiser@gmail.com>
date: Sun Sep 19 15:31:37 EDT 2010
+ Line types 194 and 211 added Subversion-branch: /branches/strife-branch Subversion-revision: 2121
--- a/src/strife/p_switch.c
+++ b/src/strife/p_switch.c
@@ -48,6 +48,7 @@
#include "r_state.h"
#include "m_bbox.h" // villsa [STRIFE]
+void P_FreePrisoners(void); // villsa [STRIFE]
//
// CHANGE THE TEXTURE OF A WALL SWITCH TO ITS OPPOSITE
@@ -441,6 +442,9 @@
line->bbox[BOXTOP] = y;
}
+// villsa [STRIFE]
+static char speciallinemsg[92];
+
//
// P_UseSpecialLine
// Called when a thing uses a special line.
@@ -829,11 +833,32 @@
P_Thrust(thing->player, thing->angle + ANG180, 125*FRACUNIT/16);
break;
+ case 194:
+ // villsa [STRIFE] free prisoners
+ if(EV_DoDoor(line, open))
+ {
+ P_ChangeSwitchTexture(line, 0);
+ P_FreePrisoners();
+ return true;
+ }
+ break;
+
case 207:
// villsa [STRIFE] remote sliding door
if(EV_RemoteSlidingDoor(line, thing))
P_ChangeSwitchTexture(line, 1);
break; // haleyjd
+
+ case 211:
+ // villsa [STRIFE] play VOC## sound
+ if(&players[consoleplayer] == thing->player &&
+ thing->player->powers[pw_communicator])
+ {
+ DEH_snprintf(speciallinemsg, sizeof(speciallinemsg), "voc%i", line->tag);
+ I_StartVoice(speciallinemsg);
+ line->special = 0;
+ }
+ break;
case 226:
// villsa [STRIFE] complete training area