This commit is contained in:
q3rally 2021-04-11 09:51:15 +00:00
parent d30e277a7d
commit 65ffc81230
7 changed files with 100 additions and 19 deletions

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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;
}

View file

@ -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

View file

@ -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

View file

@ -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