commit for 0.0.3.0 release (code freeze)

tweaked telefrag gun
updated roadmap
updated discord logo in main menu
version upcount
This commit is contained in:
q3rally 2021-05-13 16:02:43 +00:00
parent 521d68adc2
commit ae3c64ee50
13 changed files with 79 additions and 106 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View file

@ -718,9 +718,11 @@ static void CG_DrawRallyStatusBar( void ) {
return;
}
// draw the dtf sigils
if ( cgs.gametype == GT_DOMINATION )
CG_DrawSigilHUD();
cent = &cg_entities[cg.snap->ps.clientNum];

View file

@ -917,6 +917,7 @@ float CG_DrawUpperRightHUD( float y ) {
}
else if (cgs.gametype == GT_DERBY)
y = CG_DrawTimes( y );
// 0.0.4.0
// CG_DrawHUD_DerbyList(44, 130);
}

View file

@ -2032,7 +2032,7 @@ static void PM_Alt_Weapon( void ) {
switch( pm->ps->weapon ) {
case WP_RAILGUN:
ammo_use = 3; //megarailgun
ammo_use = 10; //megarailgun
break;
case WP_LIGHTNING:
ammo_use = 1;

View file

@ -168,7 +168,7 @@ static void G_LoadArenas( void ) {
else {
// STONELANCE
// G_LoadArenasFromFile("scripts/arenas.txt");
G_LoadArenasFromFile("scripts/q3r_arenas.txt");
// G_LoadArenasFromFile("scripts/q3r_arenas.txt");
// END
}

View file

@ -678,6 +678,8 @@ void trigger_teleporter_touch (gentity_t *self, gentity_t *other, trace_t *trace
//
// g_misc.c
//
//void TelefragPlayer( gentity_t *player, vec3_t origin );
void TelefragPlayer( gentity_t *player, vec3_t origin, vec3_t angles );
void TeleportPlayer( gentity_t *player, vec3_t origin, vec3_t angles );
#ifdef MISSIONPACK
void DropPortalSource( gentity_t *ent );
@ -692,8 +694,6 @@ qboolean LogAccuracyHit( gentity_t *target, gentity_t *attacker );
void CalcMuzzlePoint ( gentity_t *ent, vec3_t forward, vec3_t right, vec3_t up, vec3_t muzzlePoint );
void SnapVectorTowards( vec3_t v, vec3_t to );
qboolean CheckGauntletAttack( gentity_t *ent );
void TelefragPlayer( gentity_t *player, vec3_t origin );
void TelefragPlayer_P( gentity_t *player, vec3_t origin );
void weapon_telefrag_fire (gentity_t *ent, vec3_t muzzle, vec3_t forward, vec3_t right, vec3_t up);

View file

@ -138,48 +138,44 @@ void TeleportPlayer( gentity_t *player, vec3_t origin, vec3_t angles ) {
// TelefragPlayer
//==================================================
void TelefragPlayer_P( gentity_t *player, vec3_t origin ) { // removed angles
gentity_t *tent;
void TelefragPlayer( gentity_t *player, vec3_t origin, vec3_t angles ) {
gentity_t *tent;
qboolean noAngles;
noAngles = (angles[0] > 999999.0);
// use temp events at source and destination to prevent the effect
// from getting dropped by a second player event
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
tent = G_TempEntity( player->client->ps.origin, EV_PLAYER_TELEPORT_OUT );
tent->s.clientNum = player->s.clientNum;
// use temp events at source and destination to prevent the effect
// from getting dropped by a second player event
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
tent = G_TempEntity( player->client->ps.origin, EV_PLAYER_TELEPORT_OUT );
tent->s.clientNum = player->s.clientNum;
tent = G_TempEntity( origin, EV_PLAYER_TELEPORT_IN );
tent->s.clientNum = player->s.clientNum;
}
tent = G_TempEntity( origin, EV_PLAYER_TELEPORT_IN );
tent->s.clientNum = player->s.clientNum;
}
// unlink to make sure it can't possibly interfere with G_KillBox
trap_UnlinkEntity (player);
VectorCopy ( origin, player->client->ps.origin );
player->client->ps.origin[2] += 1;
// Zygote
// Remove angles and "spit-out"
/*
// spit the player out
AngleVectors( angles, player->client->ps.velocity, NULL, NULL );
VectorScale( player->client->ps.velocity, 400, player->client->ps.velocity );
player->client->ps.pm_time = 160; // hold time
player->client->ps.pm_flags |= PMF_TIME_KNOCKBACK;
*/
// toggle the teleport bit so the client knows to not lerp
player->client->ps.eFlags ^= EF_TELEPORT_BIT;
// Zygote
// Remove angles
/*
// set angles
SetClientViewAngle( player, angles );
*/
// unlink to make sure it can't possibly interfere with G_KillBox
trap_UnlinkEntity (player);
VectorCopy ( origin, player->client->ps.origin );
player->client->ps.origin[2] += 1;
if (!noAngles) {
// spit the player out
AngleVectors( angles, player->client->ps.velocity, NULL, NULL );
VectorScale( player->client->ps.velocity, 400, player->client->ps.velocity );
player->client->ps.pm_time = 160; // hold time
player->client->ps.pm_flags |= PMF_TIME_KNOCKBACK;
// set angles
SetClientViewAngle(player, angles);
}
// toggle the teleport bit so the client knows to not lerp
player->client->ps.eFlags ^= EF_TELEPORT_BIT;
// STONELANCE - reset car
// PM_InitializeVehicle( &player->client->car, origin, angles, player->client->ps.velocity, car_frontweight_dist.value );
VectorCopy( origin, player->client->ps.origin );
player->client->car.initializeOnNextMove = qtrue;
if (!noAngles) {
VectorCopy( angles, player->client->ps.viewangles );
}
player->client->car.initializeOnNextMove = qtrue;
// END
// kill anything at the destination
@ -196,7 +192,9 @@ void TelefragPlayer_P( gentity_t *player, vec3_t origin ) { // removed angles
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
trap_LinkEntity (player);
}
}
}
//=============================================================
/*QUAKED misc_teleporter_dest (1 0 0) (-32 -32 -24) (32 32 -16)
Point teleporters at these.

View file

@ -733,49 +733,9 @@ TELEFRAG GUN - Altfire to Railgun
======================================================================
*/
void TelefragPlayer( gentity_t *player, vec3_t origin ) {
gentity_t *tent;
// use temp events at source and destination to prevent the effect
// from getting dropped by a second player event
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
tent = G_TempEntity( player->client->ps.origin, EV_PLAYER_TELEPORT_OUT );
tent->s.clientNum = player->s.clientNum;
tent = G_TempEntity( origin, EV_PLAYER_TELEPORT_IN );
tent->s.clientNum = player->s.clientNum;
}
// unlink to make sure it can't possibly interfere with G_KillBox
trap_UnlinkEntity (player);
VectorCopy ( origin, player->client->ps.origin );
player->client->ps.origin[2] += 1;
// toggle the teleport bit so the client knows to not lerp
player->client->ps.eFlags ^= EF_TELEPORT_BIT;
// kill anything at the destination
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
G_KillBox (player);
}
// save results of pmove
BG_PlayerStateToEntityState( &player->client->ps, &player->s, qtrue );
// use the precise origin for linking
VectorCopy( player->client->ps.origin, player->r.currentOrigin );
if ( player->client->sess.sessionTeam != TEAM_SPECTATOR ) {
trap_LinkEntity (player);
}
}
void weapon_telefrag_fire (gentity_t *ent,vec3_t muzzle,vec3_t forward,vec3_t right,vec3_t up) {
vec3_t end;
vec3_t end;
trace_t trace;
gentity_t *tent;
gentity_t *traceEnt;
@ -792,7 +752,9 @@ void weapon_telefrag_fire (gentity_t *ent,vec3_t muzzle,vec3_t forward,vec3_t ri
if ( trace.entityNum < ENTITYNUM_MAX_NORMAL ) {
// Who exactly is this entity (a reference to the entity structure)
traceEnt = &g_entities[ trace.entityNum ];
if (g_entities[ trace.entityNum ].flags & FL_EXTRA_BBOX)
traceEnt = &g_entities[ g_entities[ trace.entityNum ].r.ownerNum ];
// Can this entity be damaged?
if ( traceEnt->takedamage )
@ -818,7 +780,7 @@ void weapon_telefrag_fire (gentity_t *ent,vec3_t muzzle,vec3_t forward,vec3_t ri
// Damage, then telefrag
}else{
G_Damage (traceEnt, ent, ent, forward, trace.endpos, damage, 0, MOD_RAILGUN);
TelefragPlayer(ent, traceEnt->r.currentOrigin);
TelefragPlayer(ent, traceEnt->r.currentOrigin, traceEnt->r.currentAngles);
}
}else{
// Damage

View file

@ -193,7 +193,7 @@ static void UI_LoadArenas( void ) {
else {
// STONELANCE
// UI_LoadArenasFromFile("scripts/arenas.txt");
UI_LoadArenasFromFile("scripts/q3r_arenas.txt");
// UI_LoadArenasFromFile("scripts/q3r_arenas.txt");
// END
}

View file

@ -437,7 +437,7 @@ static void Main_MenuDraw( void ) {
} else {
// STONELANCE
//UI_DrawString( 320, 460, Q3_VERSION " (c) 2002 - 2009 New Team Q3Rally | www.q3rally.com", UI_CENTER|UI_SMALLFONT, text_color_normal );
UI_DrawString( 320, 460, Q3_VERSION " (c) 2002 - 2021 | 19 Years of Q3R | www.q3rally.com | It's damn fast baby!", UI_CENTER|UI_SMALLFONT, text_color_normal );
UI_DrawString( 365, 460, Q3_VERSION " (c) 2002 - 2021 | 19 Years of Q3R | www.q3rally.com | It's damn fast baby!", UI_CENTER|UI_SMALLFONT, text_color_normal );
// UI_DrawString( 320, 450, "Quake III Arena(c) 1999-2000, Id Software, Inc. All Rights Reserved", UI_CENTER|UI_SMALLFONT, color );
// END
}
@ -587,9 +587,9 @@ void UI_MainMenu( void ) {
s_main.discordlogo.generic.flags = QMF_INACTIVE;
s_main.discordlogo.generic.name = ART_DISCORDLOGO;
s_main.discordlogo.generic.x = - 95;
s_main.discordlogo.generic.y = 430;
s_main.discordlogo.width = 40;
s_main.discordlogo.height = 40;
s_main.discordlogo.generic.y = 462;
s_main.discordlogo.width = 442 / 3;
s_main.discordlogo.height = 40 / 3;
y += MAIN_MENU_VERTICAL_SPACING;

View file

@ -67,7 +67,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define BASETA "missionpack"
#ifndef PRODUCT_VERSION
#define PRODUCT_VERSION "v0.0.3.0_r399"
#define PRODUCT_VERSION "v0.0.3.0_r400"
#endif

View file

@ -96,7 +96,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
@ -166,7 +166,7 @@ q3rallycode
engine\code\client\snd_openal.c
engine\code\client\snd_public.h
engine\code\client\snd_wavelet.c
+game
-game
engine\code\game\ai_chat.c
engine\code\game\ai_chat.h
engine\code\game\ai_cmd.c
@ -860,21 +860,29 @@ q3rallycode
engine\cross-make-mingw64.sh
[Open project files]
0=engine\code\qcommon\q_shared.h
1=engine\code\game\g_misc.c
2=engine\code\game\g_weapon.c
3=engine\code\game\g_local.h
1=engine\code\cgame\cg_rally_hud2.c
2=engine\code\cgame\cg_rally_hud.c
3=engine\code\cgame\cg_draw.c
4=engine\code\q3_ui\ui_menu.c
5=engine\code\game\bg_pmove.c
[Selected Project Files]
Main=
Selected=engine\code\game\g_misc.c
Selected=engine\code\game\bg_pmove.c
[engine\code\qcommon\q_shared.h]
TopLine=57
Caret=39,70
[engine\code\game\g_misc.c]
TopLine=128
Caret=22,141
[engine\code\game\g_weapon.c]
TopLine=736
Caret=1,737
[engine\code\game\g_local.h]
TopLine=674
Caret=22,696
[engine\code\cgame\cg_rally_hud2.c]
TopLine=393
Caret=1,357
[engine\code\cgame\cg_rally_hud.c]
TopLine=900
Caret=11,920
[engine\code\cgame\cg_draw.c]
TopLine=715
Caret=1,757
[engine\code\q3_ui\ui_menu.c]
TopLine=568
Caret=66,590
[engine\code\game\bg_pmove.c]
TopLine=2026
Caret=16,2035

View file

@ -3,7 +3,7 @@ New features planned for 0.0.4.0
- switch between analog and digital gauge
- optical effects for sand and snow (and others?)
- online best time list for racing maps (like a ladder)
- discord button in main menu (maybe in 0.0.3.0)
- discord button in main menu linking to discord
- New gamemode Last Man Standing (with all weapons)
- New gamemode Drag Race
- Change Gamemode Demolition Derby to use only chainsaw
@ -12,3 +12,5 @@ New features planned for 0.0.4.0
- finish the 4 Teams Modes (CTF and DOM)
- Make unique logos for 4 teams (Like UT99)
- Porting the Flamethrower from Return to Castle Wolfenstein
- finishing the flag status hud for domination
- rotating weapons (maybe, for now only a thought)