mirror of
https://github.com/Q3Rally-Team/q3rally.git
synced 2025-02-16 09:11:11 +00:00
This commit is contained in:
parent
d30e277a7d
commit
65ffc81230
7 changed files with 100 additions and 19 deletions
|
@ -198,6 +198,7 @@ typedef struct centity_s {
|
|||
int trailTime; // so missile trails can handle dropped initial packets
|
||||
int dustTrailTime;
|
||||
int snowTrailTime;
|
||||
int sandTrailTime;
|
||||
int miscTime;
|
||||
|
||||
int snapShotTime; // last time this entity was found in a snapshot
|
||||
|
@ -1503,14 +1504,15 @@ extern vmCvar_t cg_oldRocket;
|
|||
extern vmCvar_t cg_oldPlasma;
|
||||
extern vmCvar_t cg_trueLightning;
|
||||
extern vmCvar_t cg_sigilLocator;
|
||||
extern vmCvar_t cg_enableDust;
|
||||
extern vmCvar_t cg_enableSnow;
|
||||
extern vmCvar_t cg_enableSand;
|
||||
#ifdef MISSIONPACK
|
||||
extern vmCvar_t cg_redTeamName;
|
||||
extern vmCvar_t cg_blueTeamName;
|
||||
extern vmCvar_t cg_currentSelectedPlayer;
|
||||
extern vmCvar_t cg_currentSelectedPlayerName;
|
||||
extern vmCvar_t cg_singlePlayer;
|
||||
extern vmCvar_t cg_enableDust;
|
||||
extern vmCvar_t cg_enableBreath;
|
||||
extern vmCvar_t cg_singlePlayerActive;
|
||||
extern vmCvar_t cg_recordSPDemo;
|
||||
|
|
|
@ -223,14 +223,15 @@ vmCvar_t cg_oldRocket;
|
|||
vmCvar_t cg_oldPlasma;
|
||||
vmCvar_t cg_trueLightning;
|
||||
vmCvar_t cg_sigilLocator;
|
||||
vmCvar_t cg_enableDust;
|
||||
vmCvar_t cg_enableSnow;
|
||||
vmCvar_t cg_enableSand;
|
||||
#ifdef MISSIONPACK
|
||||
vmCvar_t cg_redTeamName;
|
||||
vmCvar_t cg_blueTeamName;
|
||||
vmCvar_t cg_currentSelectedPlayer;
|
||||
vmCvar_t cg_currentSelectedPlayerName;
|
||||
vmCvar_t cg_singlePlayer;
|
||||
vmCvar_t cg_enableDust;
|
||||
vmCvar_t cg_enableBreath;
|
||||
vmCvar_t cg_singlePlayerActive;
|
||||
vmCvar_t cg_recordSPDemo;
|
||||
|
@ -405,6 +406,7 @@ static cvarTable_t cvarTable[] = {
|
|||
{ &cg_singlePlayer, "ui_singlePlayerActive", "0", CVAR_USERINFO},
|
||||
{ &cg_enableDust, "g_enableDust", "0", CVAR_SERVERINFO},
|
||||
{ &cg_enableSnow, "g_enableSnow", "0", CVAR_SERVERINFO},
|
||||
{ &cg_enableSand, "g_enableSand", "0", CVAR_SERVERINFO},
|
||||
{ &cg_enableBreath, "g_enableBreath", "0", CVAR_SERVERINFO},
|
||||
{ &cg_singlePlayerActive, "ui_singlePlayerActive", "0", CVAR_USERINFO},
|
||||
{ &cg_recordSPDemo, "ui_recordSPDemo", "0", CVAR_ARCHIVE},
|
||||
|
@ -1025,8 +1027,7 @@ static void CG_RegisterGraphics( void ) {
|
|||
cgs.media.scoreboardName = trap_R_RegisterShaderNoMip( "menu/tab/name.tga" );
|
||||
cgs.media.scoreboardPing = trap_R_RegisterShaderNoMip( "menu/tab/ping.tga" );
|
||||
cgs.media.scoreboardScore = trap_R_RegisterShaderNoMip( "menu/tab/score.tga" );
|
||||
cgs.media.scoreboardTime = trap_R_RegisterShaderNoMip( "menu/tab/time.tga" );
|
||||
cgs.media.snowPuffShader = trap_R_RegisterShader("snowPuff" );
|
||||
cgs.media.scoreboardTime = trap_R_RegisterShaderNoMip( "menu/tab/time.tga" );
|
||||
cgs.media.hastePuffShader = trap_R_RegisterShader("hasteSmokePuff" );
|
||||
cgs.media.smokePuffShader = trap_R_RegisterShader( "smokePuff" );
|
||||
cgs.media.smokePuffRageProShader = trap_R_RegisterShader( "smokePuffRagePro" );
|
||||
|
@ -1144,7 +1145,8 @@ static void CG_RegisterGraphics( void ) {
|
|||
// Q3Rally Code Start
|
||||
#endif
|
||||
cgs.media.dustPuffShader = trap_R_RegisterShader("hasteSmokePuff" );
|
||||
cgs.media.snowPuffShader = trap_R_RegisterShader("snowPuff" );
|
||||
cgs.media.snowPuffShader = trap_R_RegisterShader("snowPuff" );
|
||||
cgs.media.sandPuffShader = trap_R_RegisterShader("sandPuff" );
|
||||
//#endif
|
||||
// Q3Rally Code END
|
||||
|
||||
|
|
|
@ -2044,7 +2044,7 @@ static void CG_DustTrail( centity_t *cent ) {
|
|||
cgs.media.dustPuffShader );
|
||||
}
|
||||
|
||||
#endif
|
||||
// #endif
|
||||
|
||||
/*
|
||||
===============
|
||||
|
@ -2091,6 +2091,51 @@ static void CG_SnowTrail( centity_t *cent ) {
|
|||
|
||||
// #endif
|
||||
|
||||
/*
|
||||
===============
|
||||
CG_SandTrail
|
||||
===============
|
||||
*/
|
||||
static void CG_SandTrail( centity_t *cent ) {
|
||||
// int anim;
|
||||
vec3_t end, vel;
|
||||
trace_t tr;
|
||||
|
||||
if (!cg_enableSand.integer)
|
||||
return;
|
||||
|
||||
if ( cent->sandTrailTime > cg.time ) {
|
||||
return;
|
||||
}
|
||||
|
||||
cent->sandTrailTime += 40;
|
||||
if ( cent->sandTrailTime < cg.time ) {
|
||||
cent->sandTrailTime = cg.time;
|
||||
}
|
||||
|
||||
VectorCopy(cent->currentState.pos.trBase, end);
|
||||
end[2] -= 64;
|
||||
CG_Trace( &tr, cent->currentState.pos.trBase, NULL, NULL, end, cent->currentState.number, MASK_PLAYERSOLID );
|
||||
|
||||
if ( !(tr.surfaceFlags & SURF_SAND) )
|
||||
return;
|
||||
|
||||
VectorCopy( cent->currentState.pos.trBase, end );
|
||||
end[2] -= 16;
|
||||
|
||||
VectorSet(vel, 0, 0, -30);
|
||||
CG_SmokePuff( end, vel,
|
||||
24,
|
||||
.8f, .8f, 0.7f, 0.33f,
|
||||
500,
|
||||
cg.time,
|
||||
0,
|
||||
0,
|
||||
cgs.media.sandPuffShader );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
===============
|
||||
CG_TrailItem
|
||||
|
|
|
@ -640,8 +640,8 @@ static void PM_CheckSurfaceFlags( trace_t *trace, carPoint_t *point ){
|
|||
point->scof = CP_ICE_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_ICE) {
|
||||
point->kcof = CP_ICE_KCOF;
|
||||
point->scof = CP_ICE_SCOF;
|
||||
point->kcof = CP_ICE_KCOF;
|
||||
point->scof = CP_ICE_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_GRASS){
|
||||
point->kcof = CP_GRASS_KCOF;
|
||||
|
@ -651,18 +651,22 @@ static void PM_CheckSurfaceFlags( trace_t *trace, carPoint_t *point ){
|
|||
point->kcof = CP_DIRT_KCOF;
|
||||
point->scof = CP_DIRT_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_SAND){
|
||||
point->kcof = CP_SAND_KCOF;
|
||||
point->scof = CP_SAND_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_SNOW){
|
||||
point->kcof = CP_SNOW_KCOF;
|
||||
point->scof = CP_SNOW_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_GRAVEL) {
|
||||
point->kcof = CP_GRAVEL_KCOF;
|
||||
point->scof = CP_GRAVEL_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_DIRT) {
|
||||
point->kcof = CP_DIRT_KCOF;
|
||||
point->scof = CP_DIRT_SCOF;
|
||||
}
|
||||
point->kcof = CP_GRAVEL_KCOF;
|
||||
point->scof = CP_GRAVEL_SCOF;
|
||||
}
|
||||
else if (trace->surfaceFlags & SURF_DIRT) {
|
||||
point->kcof = CP_DIRT_KCOF;
|
||||
point->scof = CP_DIRT_SCOF;
|
||||
}
|
||||
else {
|
||||
point->kcof = CP_KCOF;
|
||||
point->scof = CP_SCOF;
|
||||
|
@ -673,8 +677,8 @@ static void PM_CheckSurfaceFlags( trace_t *trace, carPoint_t *point ){
|
|||
point->scof *= CP_WET_SCALE;
|
||||
}
|
||||
|
||||
point->kcof *= pm->car_friction_scale;
|
||||
point->scof *= pm->car_friction_scale;
|
||||
point->kcof *= pm->car_friction_scale;
|
||||
point->scof *= pm->car_friction_scale;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -104,6 +104,8 @@ extern float CP_GEAR_RATIOS[];
|
|||
#define CP_SNOW_KCOF 0.27f
|
||||
//#define CP_SNOW_SCOF 0.7f // packed snow
|
||||
//#define CP_SNOW_KCOF 0.5f
|
||||
#define CP_SAND_SCOF 0.75f
|
||||
#define CP_SAND_KCOF 0.6f
|
||||
#define CP_OIL_SCOF 0.3f // oil
|
||||
#define CP_OIL_KCOF 0.2f
|
||||
|
||||
|
|
|
@ -82,4 +82,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#define SURF_ICE 0x1000000
|
||||
#define SURF_DIRT 0x2000000
|
||||
#define SURF_METAL 0x4000000
|
||||
#define SURF_SAND 0x8000000
|
||||
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ q3rallycode
|
|||
engine\code\botlib\l_utils.h
|
||||
engine\code\botlib\lcc.mak
|
||||
engine\code\botlib\linux-i386.mak
|
||||
+cgame
|
||||
-cgame
|
||||
engine\code\cgame\cg_atmospheric.c
|
||||
engine\code\cgame\cg_consolecmds.c
|
||||
engine\code\cgame\cg_draw.c
|
||||
|
@ -860,12 +860,36 @@ q3rallycode
|
|||
[Open project files]
|
||||
0=engine\code\qcommon\q_shared.h
|
||||
1=engine\code\cgame\cg_rally_hud.c
|
||||
2=engine\code\qcommon\surfaceflags.h
|
||||
3=engine\code\cgame\cg_players.c
|
||||
4=engine\code\cgame\cg_main.c
|
||||
5=engine\code\game\bg_physics.c
|
||||
6=engine\code\game\bg_physics.h
|
||||
7=engine\code\cgame\cg_local.h
|
||||
[Selected Project Files]
|
||||
Main=
|
||||
Selected=engine\code\qcommon\q_shared.h
|
||||
Selected=engine\code\cgame\cg_main.c
|
||||
[engine\code\qcommon\q_shared.h]
|
||||
TopLine=53
|
||||
Caret=39,70
|
||||
[engine\code\cgame\cg_rally_hud.c]
|
||||
TopLine=440
|
||||
Caret=22,430
|
||||
[engine\code\qcommon\surfaceflags.h]
|
||||
TopLine=63
|
||||
Caret=1,86
|
||||
[engine\code\cgame\cg_players.c]
|
||||
TopLine=2023
|
||||
Caret=31,2044
|
||||
[engine\code\cgame\cg_main.c]
|
||||
TopLine=965
|
||||
Caret=73,707
|
||||
[engine\code\game\bg_physics.c]
|
||||
TopLine=995
|
||||
Caret=1,998
|
||||
[engine\code\game\bg_physics.h]
|
||||
TopLine=81
|
||||
Caret=32,108
|
||||
[engine\code\cgame\cg_local.h]
|
||||
TopLine=185
|
||||
Caret=35,201
|
||||
|
|
Loading…
Reference in a new issue