diff --git a/reaction/game/g_local.h b/reaction/game/g_local.h
index 528996a9..398b374b 100644
--- a/reaction/game/g_local.h
+++ b/reaction/game/g_local.h
@@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
+// Revision 1.133 2003/01/05 22:36:50 makro
+// Added "inactive" field for entities
+// New "target_activate" entity
+//
// Revision 1.132 2002/12/09 00:58:49 makro
// Items are now disabled from the weapon/item menus in teamplay
// games if they are banned from the server
@@ -511,6 +515,8 @@ struct gentity_s {
float distance; // VALKYRIE: for rotating door
//Blaze: Holds the target set by a button
char *pathtarget;
+ //Makro - added
+ int inactive;
};
typedef enum {
diff --git a/reaction/game/g_mover.c b/reaction/game/g_mover.c
index de7d5d3f..89464249 100644
--- a/reaction/game/g_mover.c
+++ b/reaction/game/g_mover.c
@@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
+// Revision 1.54 2003/01/05 22:36:50 makro
+// Added "inactive" field for entities
+// New "target_activate" entity
+//
// Revision 1.53 2002/12/09 00:58:49 makro
// Items are now disabled from the weapon/item menus in teamplay
// games if they are banned from the server
@@ -873,6 +877,11 @@ void Use_BinaryMover(gentity_t * ent, gentity_t * other, gentity_t * activator)
return;
}
+ //Makro - do nothing if the mover is not active
+ if (ent->inactive) {
+ return;
+ }
+
ent->activator = activator;
if (ent->moverState == MOVER_POS1) {
diff --git a/reaction/game/g_spawn.c b/reaction/game/g_spawn.c
index 197eb2fa..95aecfc3 100644
--- a/reaction/game/g_spawn.c
+++ b/reaction/game/g_spawn.c
@@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
+// Revision 1.41 2003/01/05 22:36:50 makro
+// Added "inactive" field for entities
+// New "target_activate" entity
+//
// Revision 1.40 2002/09/01 21:15:08 makro
// Sky portal tweaks
//
@@ -218,6 +222,7 @@ field_t fields[] = {
{"targetShaderNewName", FOFS(targetShaderNewName), F_LSTRING},
{"distance", FOFS(distance), F_FLOAT}, // VALKYRIE: for rotating doors
{"pathtarget", FOFS(pathtarget), F_LSTRING}, // Makro - for func_trains
+ {"inactive", FOFS(inactive), F_INT}, // Makro - for func_trains
{NULL}
};
@@ -263,6 +268,8 @@ void SP_target_score(gentity_t * ent);
void SP_target_teleporter(gentity_t * ent);
void SP_target_relay(gentity_t * ent);
void SP_target_kill(gentity_t * ent);
+//Makro - added
+void SP_target_activate(gentity_t * ent);
void SP_target_position(gentity_t * ent);
void SP_target_location(gentity_t * ent);
void SP_target_push(gentity_t * ent);
@@ -349,6 +356,8 @@ spawn_t spawns[] = {
{"target_teleporter", SP_target_teleporter},
{"target_relay", SP_target_relay},
{"target_kill", SP_target_kill},
+ //Makro - added
+ {"target_activate", SP_target_activate},
{"target_position", SP_target_position},
{"target_location", SP_target_location},
{"target_push", SP_target_push},
diff --git a/reaction/game/g_target.c b/reaction/game/g_target.c
index 1821db42..cf74ea77 100644
--- a/reaction/game/g_target.c
+++ b/reaction/game/g_target.c
@@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
+// Revision 1.9 2003/01/05 22:36:50 makro
+// Added "inactive" field for entities
+// New "target_activate" entity
+//
// Revision 1.8 2002/06/16 20:06:14 jbravo
// Reindented all the source files with "indent -kr -ut -i8 -l120 -lc120 -sob -bad -bap"
//
@@ -432,6 +436,43 @@ void SP_target_kill(gentity_t * self)
self->use = target_kill_use;
}
+//==========================================================
+
+/*QUAKED target_activate (.5 .5 .5) (-8 -8 -8) (8 8 8)
+Activates/de-activates entities
+Added by Makro
+*/
+void target_activate_use(gentity_t * self, gentity_t * other, gentity_t * activator)
+{
+ gentity_t *loop = NULL;
+ int action = 0;
+
+ if (!Q_stricmp(self->pathtarget, "on")) {
+ action = 1;
+ } else if (!Q_stricmp(self->pathtarget, "off")) {
+ action = 2;
+ }
+
+ for (loop = G_Find(NULL, FOFS(targetname), self->target); loop; G_Find(loop, FOFS(targetname), self->target)) {
+ switch (action) {
+ case 1:
+ loop->inactive = 0;
+ break;
+ case 2:
+ loop->inactive = 1;
+ break;
+ default:
+ loop->inactive = !loop->inactive;
+ break;
+ }
+ }
+}
+
+void SP_target_activate(gentity_t * self)
+{
+ self->use = target_activate_use;
+}
+
/*QUAKED target_position (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for in-game calculation, like jumppad targets.
*/
diff --git a/reaction/game/game.plg b/reaction/game/game.plg
index e76af13d..2a8e8680 100644
--- a/reaction/game/game.plg
+++ b/reaction/game/game.plg
@@ -6,50 +6,6 @@
--------------------Configuration: cgame - Win32 Release--------------------
Command Lines
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3.tmp" with contents
-[
-/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"Release/cgame.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
-"C:\Games\Quake3\rq3source\reaction\game\bg_pmove.c"
-"C:\Games\Quake3\rq3source\reaction\cgame\cg_weapons.c"
-]
-Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3.tmp"
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4.tmp" with contents
-[
-/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:no /pdb:"Release/cgamex86.pdb" /map:"Release/cgamex86.map" /machine:I386 /def:".\cgame.def" /out:"../Release/cgamex86.dll" /implib:"Release/cgamex86.lib"
-.\Release\bg_misc.obj
-.\Release\bg_pmove.obj
-.\Release\bg_slidemove.obj
-.\Release\cg_atmospheric.obj
-.\Release\cg_consolecmds.obj
-.\Release\cg_draw.obj
-.\Release\cg_drawtools.obj
-.\Release\cg_effects.obj
-.\Release\cg_ents.obj
-.\Release\cg_event.obj
-.\Release\cg_info.obj
-.\Release\cg_localents.obj
-.\Release\cg_main.obj
-.\Release\cg_marks.obj
-.\Release\cg_players.obj
-.\Release\cg_playerstate.obj
-.\Release\cg_predict.obj
-.\Release\cg_scoreboard.obj
-.\Release\cg_servercmds.obj
-.\Release\cg_snapshot.obj
-.\Release\cg_syscalls.obj
-.\Release\cg_view.obj
-.\Release\cg_weapons.obj
-.\Release\q_math.obj
-.\Release\q_shared.obj
-.\Release\ui_shared.obj
-]
-Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4.tmp"
-Output Window
-Compiling...
-bg_pmove.c
-cg_weapons.c
-Linking...
- Creating library Release/cgamex86.lib and object Release/cgamex86.exp
@@ -59,17 +15,13 @@ cgamex86.dll - 0 error(s), 0 warning(s)
--------------------Configuration: game - Win32 Release--------------------
Command Lines
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP8.tmp" with contents
+Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2D.tmp" with contents
[
/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c
-"C:\Games\Quake3\rq3source\reaction\game\bg_pmove.c"
-"C:\Games\Quake3\rq3source\reaction\game\g_items.c"
-"C:\Games\Quake3\rq3source\reaction\game\g_main.c"
-"C:\Games\Quake3\rq3source\reaction\game\g_mover.c"
-"C:\Games\Quake3\rq3source\reaction\game\g_teamplay.c"
+"C:\Games\Quake3\rq3source\reaction\game\g_spawn.c"
]
-Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP8.tmp"
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP9.tmp" with contents
+Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2D.tmp"
+Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2E.tmp" with contents
[
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /machine:I386 /def:".\game.def" /out:"..\Release/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib"
\reactionoutput\ai_chat.obj
@@ -112,14 +64,10 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
\reactionoutput\zcam.obj
\reactionoutput\zcam_target.obj
]
-Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP9.tmp"
+Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2E.tmp"
Output Window
Compiling...
-bg_pmove.c
-g_items.c
-g_main.c
-g_mover.c
-g_teamplay.c
+g_spawn.c
Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
@@ -131,38 +79,11 @@ qagamex86.dll - 0 error(s), 0 warning(s)
--------------------Configuration: ui - Win32 Release TA--------------------
Command Lines
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSPD.tmp" with contents
-[
-/nologo /G6 /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "UI_EXPORTS" /Fp"Release_TA/ta_ui.pch" /YX /Fo"Release_TA/" /Fd"Release_TA/" /FD /c
-"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_main.c"
-]
-Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSPD.tmp"
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSPE.tmp" with contents
-[
-/nologo /base:"0x40000000" /dll /incremental:no /pdb:"Release_TA/uix86.pdb" /map:"Release_TA/uix86.map" /machine:I386 /def:".\ui.def" /out:"../Release/uix86.dll" /implib:"Release_TA/uix86.lib"
-.\Release_TA\bg_misc.obj
-.\Release_TA\q_math.obj
-.\Release_TA\q_shared.obj
-.\Release_TA\ui_atoms.obj
-.\Release_TA\ui_gameinfo.obj
-.\Release_TA\ui_main.obj
-.\Release_TA\ui_players.obj
-.\Release_TA\ui_shared.obj
-.\Release_TA\ui_syscalls.obj
-.\Release_TA\ui_util.obj
-]
-Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSPE.tmp"
-Output Window
-Compiling...
-ui_main.c
-C:\Games\Quake3\rq3source\reaction\ta_ui\ui_main.c(4824) : warning C4101: 'game' : unreferenced local variable
-Linking...
- Creating library Release_TA/uix86.lib and object Release_TA/uix86.exp
Results
-uix86.dll - 0 error(s), 1 warning(s)
+uix86.dll - 0 error(s), 0 warning(s)