mirror of
https://github.com/Q3Rally-Team/q3rally.git
synced 2024-11-21 11:31:21 +00:00
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:
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 |
|
@ -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];
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue