Triggerable cameras

This commit is contained in:
Andrei Drexler 2002-05-20 16:25:48 +00:00
parent c76ec161e3
commit 297d341342
4 changed files with 241 additions and 10 deletions

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.40 2002/05/20 16:25:48 makro
// Triggerable cameras
//
// Revision 1.39 2002/05/19 21:27:29 blaze // Revision 1.39 2002/05/19 21:27:29 blaze
// added force and buoyancy to breakables // added force and buoyancy to breakables
// //
@ -283,9 +286,15 @@ void locateCamera( gentity_t *ent ) {
gentity_t *target; gentity_t *target;
gentity_t *owner; gentity_t *owner;
if (ent->spawnflags & 1) {
owner = G_Find(NULL, FOFS(targetname), va("%s%i", ent->target, ent->size+1));
ent->size = (ent->size + 1) % ent->count;
} else {
owner = G_PickTarget( ent->target ); owner = G_PickTarget( ent->target );
}
if ( !owner ) { if ( !owner ) {
G_Printf( "Couldn't find target for misc_partal_surface\n" ); //Makro - fixed typo (misc_partal_surface)
G_Printf( "Couldn't find target for misc_portal_surface\n" );
G_FreeEntity( ent ); G_FreeEntity( ent );
return; return;
} }
@ -324,7 +333,11 @@ void locateCamera( gentity_t *ent ) {
ent->s.eventParm = DirToByte( dir ); ent->s.eventParm = DirToByte( dir );
} }
/*QUAKED misc_portal_surface (0 0 1) (-8 -8 -8) (8 8 8) void use_misc_portal_surface( gentity_t *ent, gentity_t *other, gentity_t *activator ) {
locateCamera(ent);
}
/*QUAKED misc_portal_surface (0 0 1) (-8 -8 -8) (8 8 8) CYCLE
The portal surface nearest this entity will show a view from the targeted misc_portal_camera, or a mirror view if untargeted. The portal surface nearest this entity will show a view from the targeted misc_portal_camera, or a mirror view if untargeted.
This must be within 64 world units of the surface! This must be within 64 world units of the surface!
*/ */
@ -336,6 +349,22 @@ void SP_misc_portal_surface(gentity_t *ent) {
ent->r.svFlags = SVF_PORTAL; ent->r.svFlags = SVF_PORTAL;
ent->s.eType = ET_PORTAL; ent->s.eType = ET_PORTAL;
//Makro - option to cycle through targets
//size - current pos
//count - max pos
if (ent->spawnflags & 1) {
if (!G_SpawnInt("count", "0", &ent->count)) {
ent->spawnflags--;
} else {
if (ent->count < 2) {
ent->spawnflags--;
} else {
ent->size = 0;
ent->use = use_misc_portal_surface;
}
}
}
if ( !ent->target ) { if ( !ent->target ) {
VectorCopy( ent->s.origin, ent->s.origin2 ); VectorCopy( ent->s.origin, ent->s.origin2 );
} else { } else {

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.9 2002/05/20 16:25:48 makro
// Triggerable cameras
//
// Revision 1.8 2002/01/11 20:20:58 jbravo // Revision 1.8 2002/01/11 20:20:58 jbravo
// Adding TP to main branch // Adding TP to main branch
// //
@ -218,7 +221,6 @@ gentity_t *G_PickTarget (char *targetname)
return choice[rand() % num_choices]; return choice[rand() % num_choices];
} }
/* /*
============================== ==============================
G_UseTargets G_UseTargets

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.59 2002/05/20 16:25:48 makro
// Triggerable cameras
//
// Revision 1.58 2002/05/20 16:23:44 jbravo // Revision 1.58 2002/05/20 16:23:44 jbravo
// Fixed spec problem when noone is alive. Fixed kicking teammates bug // Fixed spec problem when noone is alive. Fixed kicking teammates bug
// //
@ -2578,7 +2581,7 @@ void Laser_Think( gentity_t *self )
int l=0, passent; int l=0, passent;
gentity_t *traceEnt; gentity_t *traceEnt;
//Makro - added //Makro - added
int contents; //int contents;
//If the player dies, is spectator, or wrong weapon, kill the dot //If the player dies, is spectator, or wrong weapon, kill the dot
if (self->parent->client->ps.pm_type == PM_DEAD || if (self->parent->client->ps.pm_type == PM_DEAD ||

View file

@ -3,16 +3,144 @@
<pre> <pre>
<h1>Build Log</h1> <h1>Build Log</h1>
<h3> <h3>
--------------------Configuration: cgame - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4C6.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_misc.c"
"C:\Games\Quake3\rq3source\reaction\game\bg_pmove.c"
"C:\Games\Quake3\rq3source\reaction\game\bg_slidemove.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_consolecmds.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_draw.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_drawtools.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_effects.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_ents.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_event.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_info.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_localents.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_main.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_marks.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_players.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_playerstate.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_predict.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_servercmds.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_snapshot.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_syscalls.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_view.c"
"C:\Games\Quake3\rq3source\reaction\cgame\cg_weapons.c"
]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4C6.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4C7.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_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\RSP4C7.tmp"
<h3>Output Window</h3>
Compiling...
bg_misc.c
bg_pmove.c
bg_slidemove.c
cg_consolecmds.c
cg_draw.c
cg_drawtools.c
cg_effects.c
cg_ents.c
cg_event.c
cg_info.c
cg_localents.c
cg_main.c
cg_marks.c
cg_players.c
cg_playerstate.c
cg_predict.c
cg_scoreboard.c
C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(220) : warning C4101: 'RedSubs' : unreferenced local variable
C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(217) : warning C4101: 'subs' : unreferenced local variable
C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(220) : warning C4101: 'BlueSubs' : unreferenced local variable
cg_servercmds.c
cg_snapshot.c
cg_syscalls.c
cg_view.c
cg_weapons.c
Linking...
Creating library Release/cgamex86.lib and object Release/cgamex86.exp
<h3>Results</h3>
cgamex86.dll - 0 error(s), 3 warning(s)
<h3>
--------------------Configuration: game - Win32 Release-------------------- --------------------Configuration: game - Win32 Release--------------------
</h3> </h3>
<h3>Command Lines</h3> <h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP262.tmp" with contents Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4CB.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 /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\ai_chat.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_cmd.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_dmnet.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_dmq3.c" "C:\Games\Quake3\rq3source\reaction\game\ai_dmq3.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_main.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_team.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_vcmd.c"
"C:\Games\Quake3\rq3source\reaction\game\g_active.c"
"C:\Games\Quake3\rq3source\reaction\game\g_arenas.c"
"C:\Games\Quake3\rq3source\reaction\game\g_bot.c"
"C:\Games\Quake3\rq3source\reaction\game\g_client.c"
"C:\Games\Quake3\rq3source\reaction\game\g_cmds.c"
"C:\Games\Quake3\rq3source\reaction\game\g_combat.c"
"C:\Games\Quake3\rq3source\reaction\game\g_fileio.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_matchmode.c"
"C:\Games\Quake3\rq3source\reaction\game\g_mem.c"
"C:\Games\Quake3\rq3source\reaction\game\g_misc.c"
"C:\Games\Quake3\rq3source\reaction\game\g_missile.c"
"C:\Games\Quake3\rq3source\reaction\game\g_mover.c"
"C:\Games\Quake3\rq3source\reaction\game\g_session.c"
"C:\Games\Quake3\rq3source\reaction\game\g_spawn.c"
"C:\Games\Quake3\rq3source\reaction\game\g_svcmds.c"
"C:\Games\Quake3\rq3source\reaction\game\g_syscalls.c"
"C:\Games\Quake3\rq3source\reaction\game\g_target.c"
"C:\Games\Quake3\rq3source\reaction\game\g_team.c"
"C:\Games\Quake3\rq3source\reaction\game\g_teamplay.c"
"C:\Games\Quake3\rq3source\reaction\game\g_trigger.c"
"C:\Games\Quake3\rq3source\reaction\game\g_utils.c"
"C:\Games\Quake3\rq3source\reaction\game\g_weapon.c"
"C:\Games\Quake3\rq3source\reaction\game\rxn_game.c"
"C:\Games\Quake3\rq3source\reaction\game\zcam.c"
"C:\Games\Quake3\rq3source\reaction\game\zcam_target.c"
] ]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP262.tmp" Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4CB.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP263.tmp" with contents Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4CC.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" 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 \reactionoutput\ai_chat.obj
@ -55,17 +183,86 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
\reactionoutput\zcam.obj \reactionoutput\zcam.obj
\reactionoutput\zcam_target.obj \reactionoutput\zcam_target.obj
] ]
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP263.tmp" Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4CC.tmp"
<h3>Output Window</h3> <h3>Output Window</h3>
Compiling... Compiling...
ai_chat.c
ai_cmd.c
ai_dmnet.c
ai_dmq3.c ai_dmq3.c
ai_main.c
ai_team.c
ai_vcmd.c
g_active.c
g_arenas.c
g_bot.c
g_client.c
g_cmds.c
g_combat.c
g_fileio.c
g_items.c
g_main.c
g_matchmode.c
g_mem.c
g_misc.c
g_missile.c
g_mover.c
g_session.c
g_spawn.c
g_svcmds.c
g_syscalls.c
g_target.c
g_team.c
g_teamplay.c
g_trigger.c
g_utils.c
g_weapon.c
rxn_game.c
C:\Games\Quake3\rq3source\reaction\game\g_weapon.c(2705) : warning C4701: local variable 'tr' may be used without having been initialized
zcam.c
zcam_target.c
Linking... Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
<h3>Results</h3> <h3>Results</h3>
qagamex86.dll - 0 error(s), 0 warning(s) qagamex86.dll - 0 error(s), 1 warning(s)
<h3>
--------------------Configuration: ui - Win32 Release TA--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4D0.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\RSP4D0.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP4D1.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:"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\RSP4D1.tmp"
<h3>Output Window</h3>
Compiling...
ui_main.c
Linking...
Creating library Release_TA/uix86.lib and object Release_TA/uix86.exp
<h3>Results</h3>
uix86.dll - 0 error(s), 0 warning(s)
</pre> </pre>
</body> </body>
</html> </html>