Semi-working fog hull, semi-working sky portals (cgame code commented out)

Basically, semi-working stuff :P
This commit is contained in:
Andrei Drexler 2002-07-13 22:43:59 +00:00
parent f01b4a5ba8
commit a05aebf695
9 changed files with 133 additions and 100 deletions

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.106 2002/07/13 22:42:18 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.105 2002/07/08 04:25:29 niceass
// removed deaths
//
@ -1126,6 +1130,8 @@ typedef struct {
qhandle_t slashMarkShader;
qhandle_t glassMarkShader;
qhandle_t metalMarkShader;
// Makro - new mark
//qhandle_t tileMarkShader;
// powerup shaders
qhandle_t quadShader;

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.95 2002/07/13 22:42:18 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.94 2002/07/08 00:52:14 jbravo
// Renamed the foglaser shader at Sze's request.
//
@ -1591,6 +1595,8 @@ static void CG_RegisterGraphics(void)
cgs.media.slashMarkShader = trap_R_RegisterShader("gfx/damage/slash_mrk");
cgs.media.glassMarkShader = trap_R_RegisterShader("gfx/damage/glass_mrk");
cgs.media.metalMarkShader = trap_R_RegisterShader("gfx/damage/metal_mrk");
// Makro - added
//cgs.media.tileMarkShader = trap_R_RegisterShader("gfx/damage/tile_mrk");
// NiceAss: for foglaser
cgs.media.railCoreShader = trap_R_RegisterShader("fogLaser");

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.24 2002/07/13 22:42:18 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.23 2002/06/16 20:06:13 jbravo
// Reindented all the source files with "indent -kr -ut -i8 -l120 -lc120 -sob -bad -bap"
//
@ -1110,6 +1114,8 @@ Generates and draws a game scene and status information at the given time.
void CG_DrawActiveFrame(int serverTime, stereoFrame_t stereoView, qboolean demoPlayback)
{
int inwater;
//Makro - added for sky portals !
const char *info;
//Blaze: for cheat detection
int i;
@ -1164,6 +1170,28 @@ void CG_DrawActiveFrame(int serverTime, stereoFrame_t stereoView, qboolean demoP
if (!cg.renderingThirdPerson) {
CG_DamageBlendBlob();
}
/*
//Makro - draw sky portal first
//Note - doing it here means that sky portal entities won't get drawn. but at least the rest of the map looks ok :/
info = CG_ConfigString(CS_SKYPORTAL);
if (info[0] && Q_stricmp(info, "none")) {
//vec3_t oldOrigin;
refdef_t skyRef;
memset(&skyRef, 0, sizeof(skyRef));
memcpy(&skyRef, &cg.refdef, sizeof(skyRef));
//VectorCopy(cg.refdef.vieworg, oldOrigin);
skyRef.vieworg[0] = atof(Info_ValueForKey(info, "x"));
skyRef.vieworg[1] = atof(Info_ValueForKey(info, "y"));
skyRef.vieworg[2] = atof(Info_ValueForKey(info, "z"));
memset(skyRef.areamask, 0, sizeof(skyRef.areamask));
//Com_Printf("View axis is: %f %f %f\n", cg.refdef.viewaxis[0], cg.refdef.viewaxis[1], cg.refdef.viewaxis[2]);
trap_R_RenderScene(&skyRef);
//trap_R_ClearScene();
//VectorCopy(oldOrigin, cg.refdef.vieworg);
}
*/
// build the render lists
if (!cg.hyperspace) {
CG_AddPacketEntities(); // adter calcViewValues, so predicted player state is correct
@ -1218,6 +1246,20 @@ void CG_DrawActiveFrame(int serverTime, stereoFrame_t stereoView, qboolean demoP
trap_Cvar_Set("timescale", va("%f", cg_timescale.value));
}
}
//Makro - fog hull
info = CG_ConfigString(CS_FOGHULL);
if (info) {
if (info[0]) {
vec4_t fogcolor;
fogcolor[0] = atof(Info_ValueForKey(info, "r"));
fogcolor[1] = atof(Info_ValueForKey(info, "g"));
fogcolor[2] = atof(Info_ValueForKey(info, "b"));
fogcolor[3] = 1;
CG_FillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, fogcolor);
//Com_Printf("Fog color: %f %f %f\n", fogcolor[0], fogcolor[1], fogcolor[2]);
}
}
// actually issue the rendering calls
CG_DrawActive(stereoView);

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.90 2002/07/13 22:42:18 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.89 2002/07/08 04:41:12 niceass
// no more shell ejection on LCA, I hope
//
@ -2878,6 +2882,7 @@ void CG_MissileHitWall(int weapon, int clientNum, vec3_t origin,
}
//Makro - added
else if (soundType == IMPACTSOUND_BRICK) {
//mark = cgs.media.tileMarkShader;
mark = cgs.media.bulletMarkShader;
if (r < 2)
sfx = cgs.media.sfx_brickric1;
@ -3140,6 +3145,9 @@ void CG_MissileHitWall(int weapon, int clientNum, vec3_t origin,
mark = cgs.media.glassMarkShader;
else if (soundType == IMPACTSOUND_METAL)
mark = cgs.media.metalMarkShader;
//Makro - added
//else if (soundType == IMPACTSOUND_BRICK)
// mark = cgs.media.tileMarkShader;
else
mark = cgs.media.bulletMarkShader;
sfx = 0;
@ -3297,7 +3305,7 @@ void CG_MissileHitWall(int weapon, int clientNum, vec3_t origin,
//
// impact mark
//
alphaFade = (mark == cgs.media.energyMarkShader); // plasma fades alpha, all others fade color
alphaFade = (mark == cgs.media.energyMarkShader/* || mark == cgs.media.tileMarkShader*/); // plasma fades alpha, all others fade color
//Blaze: No more railgun
/*

View file

@ -3,98 +3,9 @@
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cgame - Win32 Debug--------------------
--------------------Configuration: cgame - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP7.tmp" with contents
[
/nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"Debug/" /Fp"Debug/cgame.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /c
"C:\Development\reaction\game\bg_misc.c"
"C:\Development\reaction\game\bg_pmove.c"
"C:\Development\reaction\game\bg_slidemove.c"
"C:\Development\reaction\cgame\cg_consolecmds.c"
"C:\Development\reaction\cgame\cg_draw.c"
"C:\Development\reaction\cgame\cg_drawtools.c"
"C:\Development\reaction\cgame\cg_effects.c"
"C:\Development\reaction\cgame\cg_ents.c"
"C:\Development\reaction\cgame\cg_event.c"
"C:\Development\reaction\cgame\cg_info.c"
"C:\Development\reaction\cgame\cg_localents.c"
"C:\Development\reaction\cgame\cg_main.c"
"C:\Development\reaction\cgame\cg_marks.c"
"C:\Development\reaction\cgame\cg_players.c"
"C:\Development\reaction\cgame\cg_playerstate.c"
"C:\Development\reaction\cgame\cg_predict.c"
"C:\Development\reaction\cgame\cg_scoreboard.c"
"C:\Development\reaction\cgame\cg_servercmds.c"
"C:\Development\reaction\cgame\cg_snapshot.c"
"C:\Development\reaction\cgame\cg_syscalls.c"
"C:\Development\reaction\cgame\cg_view.c"
"C:\Development\reaction\cgame\cg_weapons.c"
"C:\Development\reaction\game\q_math.c"
"C:\Development\reaction\game\q_shared.c"
"C:\Development\reaction\ui\ui_shared.c"
]
Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP7.tmp"
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8.tmp" with contents
[
/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:yes /pdb:"Debug/cgamex86.pdb" /map:"Debug/cgamex86.map" /debug /machine:I386 /def:".\cgame.def" /out:"../Debug/cgamex86.dll" /implib:"Debug/cgamex86.lib"
.\Debug\bg_misc.obj
.\Debug\bg_pmove.obj
.\Debug\bg_slidemove.obj
.\Debug\cg_consolecmds.obj
.\Debug\cg_draw.obj
.\Debug\cg_drawtools.obj
.\Debug\cg_effects.obj
.\Debug\cg_ents.obj
.\Debug\cg_event.obj
.\Debug\cg_info.obj
.\Debug\cg_localents.obj
.\Debug\cg_main.obj
.\Debug\cg_marks.obj
.\Debug\cg_players.obj
.\Debug\cg_playerstate.obj
.\Debug\cg_predict.obj
.\Debug\cg_scoreboard.obj
.\Debug\cg_servercmds.obj
.\Debug\cg_snapshot.obj
.\Debug\cg_syscalls.obj
.\Debug\cg_view.obj
.\Debug\cg_weapons.obj
.\Debug\q_math.obj
.\Debug\q_shared.obj
.\Debug\ui_shared.obj
]
Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP8.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
cg_servercmds.c
cg_snapshot.c
cg_syscalls.c
cg_view.c
cg_weapons.c
q_math.c
q_shared.c
ui_shared.c
Linking...
Creating library Debug/cgamex86.lib and object Debug/cgamex86.exp

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.85 2002/07/13 22:43:59 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.84 2002/07/07 18:36:13 jbravo
// Added an AntiIdle system. Can play insane sounds for idle players, drop them
// from teams or kick them. Upped version to Beta 2.1
@ -514,6 +518,10 @@ extern radio_msg_t female_radio_msgs[];
//Makro - color for the loading screen text
//#define CS_LOADINGSCREEN 29
//Makro - sky portals !
//#define CS_SKYPORTAL 30
//Makro - fog hull
#define CS_FOGHULL 31
#define CS_MODELS 32
#define CS_SOUNDS (CS_MODELS+MAX_MODELS)

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.59 2002/07/13 22:43:59 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.58 2002/06/18 09:21:11 niceass
// file exist function
//
@ -469,6 +473,37 @@ void SP_misc_portal_camera(gentity_t * ent)
ent->s.clientNum = roll / 360.0 * 256;
}
//Makro - sky portals
void SP_misc_sky_portal(gentity_t * ent) {
gentity_t *skyportal = G_Find(NULL, FOFS(targetname), ent->target);
G_Printf("^1 SKY PORTAL !!!\n");
VectorClear(ent->r.mins);
VectorClear(ent->r.maxs);
trap_LinkEntity(ent);
//ent->r.svFlags = SVF_PORTAL;
if (skyportal) {
char info[MAX_INFO_STRING];
memset(info, 0, sizeof(info));
Info_SetValueForKey(info, "x", va("%f", skyportal->s.origin[0]));
Info_SetValueForKey(info, "y", va("%f", skyportal->s.origin[1]));
Info_SetValueForKey(info, "z", va("%f", skyportal->s.origin[2]));
G_Printf("Sky portal origin: %s\n", vtos(skyportal->s.origin));
trap_SetConfigstring(CS_SKYPORTAL, info);
VectorCopy(skyportal->s.origin, ent->s.origin2);
//ent->r.ownerNum = skyportal->s.number;
//ent->s.eType = ET_PORTAL;
} else {
G_Printf("misc_sky_portal entity with bad target at %s\n", vtos(ent->s.origin));
trap_SetConfigstring(CS_SKYPORTAL, "none");
G_FreeEntity(ent);
}
}
/*
======================================================================

View file

@ -5,6 +5,10 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.36 2002/07/13 22:43:59 makro
// Semi-working fog hull, semi-working sky portals (cgame code commented out)
// Basically, semi-working stuff :P
//
// Revision 1.35 2002/06/29 04:15:15 jbravo
// CTF is now CTB. no weapons while the case is in hand other than pistol or knife
//
@ -262,6 +266,8 @@ void SP_misc_teleporter_dest(gentity_t * self);
void SP_misc_model(gentity_t * ent);
void SP_misc_portal_camera(gentity_t * ent);
void SP_misc_portal_surface(gentity_t * ent);
//Makro - sky portals
void SP_misc_sky_portal(gentity_t * ent);
//Blaze: These functions are nolonger here
//void SP_shooter_rocket( gentity_t *ent );
@ -343,6 +349,8 @@ spawn_t spawns[] = {
{"misc_model", SP_misc_model},
{"misc_portal_surface", SP_misc_portal_surface},
{"misc_portal_camera", SP_misc_portal_camera},
//Makro - sky portal !
{"misc_sky_portal", SP_misc_sky_portal},
//Blaze: This removes rocket traps I think
// {"shooter_rocket", SP_shooter_rocket},
// {"shooter_grenade", SP_shooter_grenade},
@ -764,9 +772,9 @@ void SP_worldspawn(void)
{
char *s;
//vec3_t color;
//char info[MAX_INFO_STRING];
//int nodetail = 0;
vec3_t color;
//int nodetail = 0;
char info[MAX_INFO_STRING];
G_SpawnString("classname", "", &s);
if (Q_stricmp(s, "worldspawn")) {
@ -799,6 +807,15 @@ void SP_worldspawn(void)
//save settings
trap_SetConfigstring( CS_LOADINGSCREEN, info );
*/
//Makro - fog hull
G_SpawnVector("_rq3_fog_color", "0 0 0", color);
memset(info, 0, sizeof(info));
Info_SetValueForKey(info, "r", va("%f", color[0]));
Info_SetValueForKey(info, "g", va("%f", color[1]));
Info_SetValueForKey(info, "b", va("%f", color[2]));
//G_Printf("^4 FOG HULL: %s\n", vtos(color));
trap_SetConfigstring( CS_FOGHULL, info );
trap_SetConfigstring(CS_MOTD, g_motd.string); // message of the day

View file

@ -6,13 +6,13 @@
--------------------Configuration: game - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP65C.tmp" with contents
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2A.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\g_teamplay.c"
"C:\Games\Quake3\rq3source\reaction\game\g_spawn.c"
]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP65C.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP65D.tmp" with contents
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2A.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2B.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
@ -55,10 +55,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\RSP65D.tmp"
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2B.tmp"
<h3>Output Window</h3>
Compiling...
g_teamplay.c
g_spawn.c
Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp