mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-10 07:11:34 +00:00
Renamed and moved some functions
This commit is contained in:
parent
b6feda9b2b
commit
4c1a8d0910
13 changed files with 415 additions and 320 deletions
|
@ -363,7 +363,7 @@ void G_TouchTriggers( gentity_t *ent ) {
|
|||
{
|
||||
// this is ugly but adding a new ET_? type will
|
||||
// most likely cause network incompatibilities
|
||||
if ( hit->s.eType != ET_TELEPORT_TRIGGER && hit->touch != Touch_DoorTrigger)
|
||||
if ( hit->s.eType != ET_TELEPORT_TRIGGER && hit->touch != G_Mover_TouchDoorTrigger)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -618,27 +618,6 @@ static void ClientIntermissionThink( gclient_t *client ) {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
====================
|
||||
Cmd_Ready_f
|
||||
====================
|
||||
*/
|
||||
/**
|
||||
* This function is called from the ui_sp_postgame.c as a result of clicking on the
|
||||
* "next" button in non GT_TOURNAMENT games. This replaces the old system of waiting
|
||||
* for the user to click an ATTACK or USE button to signal ready
|
||||
* (see ClientIntermissionThink())
|
||||
*
|
||||
* when all clients have signaled ready, the game continues to the next match.
|
||||
*/
|
||||
void Cmd_Ready_f (gentity_t *ent)
|
||||
{
|
||||
gclient_t *client;
|
||||
client = ent->client;
|
||||
|
||||
client->readyToExit = qtrue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
typedef struct detHit_s
|
||||
|
@ -954,7 +933,7 @@ static qhandle_t shieldDeactivateSound=0;
|
|||
/**
|
||||
* Remove a forcefield
|
||||
*/
|
||||
void ShieldRemove(gentity_t *self)
|
||||
void G_Active_ShieldRemove(gentity_t *self)
|
||||
{
|
||||
self->think = G_FreeEntity;
|
||||
self->nextthink = level.time + 300;
|
||||
|
@ -989,7 +968,7 @@ void ShieldDie(gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int d
|
|||
// Play damaging sound...
|
||||
G_AddEvent(self, EV_GENERAL_SOUND, shieldDamageSound);
|
||||
|
||||
ShieldRemove(self);
|
||||
G_Active_ShieldRemove(self);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1019,7 +998,7 @@ void ShieldGoSolid(gentity_t *self)
|
|||
|
||||
if (self->health <= 0)
|
||||
{
|
||||
ShieldRemove(self);
|
||||
G_Active_ShieldRemove(self);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1135,12 +1114,12 @@ void ShieldTouch(gentity_t *self, gentity_t *other, trace_t *trace)
|
|||
other->client->ps.stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
other->client->ps.stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
other->client->ps.stats[STAT_HEALTH] = other->health = 1;
|
||||
player_die (other, other, other, 1, MOD_FORCEFIELD);
|
||||
G_Client_Die (other, other, other, 1, MOD_FORCEFIELD);
|
||||
}
|
||||
}else{
|
||||
if(other->health <= 1){
|
||||
other->client->ps.stats[STAT_HEALTH] = other->health = 0;
|
||||
player_die (other, other, other, 100000, MOD_FORCEFIELD);
|
||||
G_Client_Die (other, other, other, 100000, MOD_FORCEFIELD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1925,7 +1904,7 @@ static void SendPendingPredictableEvents( playerState_t *ps ) {
|
|||
static void ClientCamThink(gentity_t *client) {
|
||||
if(!client->client->cam) return;
|
||||
G_SetOrigin(client, client->client->cam->s.origin);
|
||||
SetClientViewAngle(client, client->client->cam->s.angles);
|
||||
G_Client_SetViewAngle(client, client->client->cam->s.angles);
|
||||
trap_LinkEntity(client);
|
||||
}
|
||||
|
||||
|
@ -2214,7 +2193,7 @@ static void ClientThink_real( gentity_t *ent ) {
|
|||
if ( level.time > client->respawnTime ) {
|
||||
// pressing attack or use is the normal respawn method
|
||||
if ( ucmd->buttons & ( BUTTON_ATTACK | BUTTON_USE_HOLDABLE ) ) {
|
||||
respawn( ent );
|
||||
G_Client_Respawn( ent );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2309,7 +2288,7 @@ static void SpectatorClientEndFrame( gentity_t *ent ) {
|
|||
// drop them to free spectators unless they are dedicated camera followers
|
||||
if ( sess->spectatorClient >= 0 ) {
|
||||
sess->spectatorState = SPECTATOR_FREE;
|
||||
ClientBegin( ent->client - level.clients, qfalse, qfalse, qfalse );
|
||||
G_Client_Begin( ent->client - level.clients, qfalse, qfalse, qfalse );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ void UpdateTournamentInfo( void ) {
|
|||
}
|
||||
playerClientNum = i;
|
||||
|
||||
CalculateRanks( qfalse );
|
||||
G_Client_CalculateRanks( qfalse );
|
||||
// put info for the top three players into the msg
|
||||
Com_sprintf(msg, AWARDS_MSG_LENGTH, "awards %d", level.numNonSpectatorClients);
|
||||
for( j = 0; j < level.numNonSpectatorClients; j++ )
|
||||
|
|
|
@ -470,7 +470,7 @@ void G_CheckBotSpawn( void ) {
|
|||
if ( botSpawnQueue[n].spawnTime > level.time ) {
|
||||
continue;
|
||||
}
|
||||
ClientBegin( botSpawnQueue[n].clientNum, qfalse, qtrue, qfalse );
|
||||
G_Client_Begin( botSpawnQueue[n].clientNum, qfalse, qtrue, qfalse );
|
||||
botSpawnQueue[n].spawnTime = 0;
|
||||
|
||||
if( g_gametype.integer == GT_SINGLE_PLAYER ) {
|
||||
|
@ -498,7 +498,7 @@ static void AddBotToSpawnQueue( int clientNum, int delay ) {
|
|||
}
|
||||
|
||||
G_Printf( S_COLOR_YELLOW "Unable to delay spawn\n" );
|
||||
ClientBegin( clientNum, qfalse, qtrue, qfalse );
|
||||
G_Client_Begin( clientNum, qfalse, qtrue, qfalse );
|
||||
}
|
||||
|
||||
|
||||
|
@ -632,7 +632,7 @@ static void G_AddBot( const char *name, float skill, const char *team, const cha
|
|||
// initialize the bot settings
|
||||
if( !team || !*team ) {
|
||||
if( g_gametype.integer >= GT_TEAM ) {
|
||||
if( PickTeam(clientNum) == TEAM_RED) {
|
||||
if( G_Client_PickTeam(clientNum) == TEAM_RED) {
|
||||
team = "red";
|
||||
}
|
||||
else {
|
||||
|
@ -666,14 +666,14 @@ static void G_AddBot( const char *name, float skill, const char *team, const cha
|
|||
}
|
||||
else
|
||||
{
|
||||
bot->client->sess.sessionTeam = PickTeam( -1 );
|
||||
bot->client->sess.sessionTeam = G_Client_PickTeam( -1 );
|
||||
}
|
||||
}
|
||||
|
||||
preTeam = bot->client->sess.sessionTeam;
|
||||
|
||||
// have it connect to the game as a normal client
|
||||
if ( ClientConnect( clientNum, qtrue, qtrue ) ) {
|
||||
if ( G_Client_Connect( clientNum, qtrue, qtrue ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -702,11 +702,11 @@ static void G_AddBot( const char *name, float skill, const char *team, const cha
|
|||
bot->client->ps.persistant[ PERS_TEAM ] = bot->client->sess.sessionTeam;
|
||||
|
||||
G_ReadSessionData( bot->client );
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
}
|
||||
|
||||
if( delay == 0 ) {
|
||||
ClientBegin( clientNum, qfalse, qfalse, qfalse );
|
||||
G_Client_Begin( clientNum, qfalse, qfalse, qfalse );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ void Cinematic_ActivateCameraMode(gentity_t *ent, gentity_t *target) {
|
|||
client->cam = target;
|
||||
VectorCopy(client->ps.viewangles, client->origViewAngles);
|
||||
VectorCopy(ent->r.currentOrigin, client->origOrigin);
|
||||
SetClientViewAngle(ent, target->s.angles);
|
||||
G_Client_SetViewAngle(ent, target->s.angles);
|
||||
G_SetOrigin(ent, target->r.currentOrigin);
|
||||
VectorCopy(target->r.currentOrigin, ent->client->ps.origin);
|
||||
trap_LinkEntity(ent);
|
||||
|
@ -46,7 +46,7 @@ void Cinematic_DeactivateCameraMode(gentity_t *ent) {
|
|||
|
||||
ent->flags ^= FL_CCAM;
|
||||
G_SetOrigin(ent, client->origOrigin);
|
||||
SetClientViewAngle(ent, client->origViewAngles);
|
||||
G_Client_SetViewAngle(ent, client->origViewAngles);
|
||||
trap_LinkEntity(ent);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ extern pclass_t ValueNameForClass ( /*gentity_t *ent,*/ char* s );
|
|||
extern qboolean levelExiting;
|
||||
// g_client.c -- client functions that don't happen every frame
|
||||
|
||||
void G_StoreClientInitialStatus( gentity_t *ent );
|
||||
void G_Client_StoreClientInitialStatus( gentity_t *ent );
|
||||
|
||||
//! players mins
|
||||
static vec3_t playerMins = {-12, -12, -24}; //RPG-X : TiM - {-15, -15, -24}
|
||||
|
@ -127,21 +127,21 @@ void SP_info_player_intermission( gentity_t *ent ) {
|
|||
/*
|
||||
=======================================================================
|
||||
|
||||
SelectSpawnPoint
|
||||
G_Client_SelectSpawnPoint
|
||||
|
||||
=======================================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
================
|
||||
SpotWouldTelefrag
|
||||
G_Client_SpotWouldTelefrag
|
||||
|
||||
================
|
||||
*/
|
||||
/**
|
||||
* Check if beaming to a point will result in a teleporter frag.
|
||||
*/
|
||||
qboolean SpotWouldTelefrag( gentity_t *spot ) {
|
||||
qboolean G_Client_SpotWouldTelefrag( gentity_t *spot ) {
|
||||
int i, num;
|
||||
int touch[MAX_GENTITIES];
|
||||
gentity_t *hit;
|
||||
|
@ -222,7 +222,7 @@ static gentity_t *SelectRandomDeathmatchSpawnPoint( void ) {
|
|||
spot = NULL;
|
||||
|
||||
while ((spot = G_Find (spot, FOFS(classname), "info_player_deathmatch")) != NULL) {
|
||||
if ( SpotWouldTelefrag( spot ) ) {
|
||||
if ( G_Client_SpotWouldTelefrag( spot ) ) {
|
||||
continue;
|
||||
}
|
||||
spots[ count ] = spot;
|
||||
|
@ -240,7 +240,7 @@ static gentity_t *SelectRandomDeathmatchSpawnPoint( void ) {
|
|||
|
||||
/*
|
||||
===========
|
||||
SelectSpawnPoint
|
||||
G_Client_SelectSpawnPoint
|
||||
|
||||
Chooses a player start, deathmatch start, etc
|
||||
============
|
||||
|
@ -248,7 +248,7 @@ Chooses a player start, deathmatch start, etc
|
|||
/**
|
||||
* Chooses a player start, deathmatch start, etc
|
||||
*/
|
||||
gentity_t *SelectSpawnPoint ( vec3_t avoidPoint, vec3_t origin, vec3_t angles ) {
|
||||
gentity_t *G_Client_SelectSpawnPoint ( vec3_t avoidPoint, vec3_t origin, vec3_t angles ) {
|
||||
gentity_t *spot;
|
||||
gentity_t *nearestSpot;
|
||||
|
||||
|
@ -299,8 +299,8 @@ static gentity_t *SelectInitialSpawnPoint( vec3_t origin, vec3_t angles ) {
|
|||
}
|
||||
}
|
||||
|
||||
if ( !spot || SpotWouldTelefrag( spot ) ) {
|
||||
return SelectSpawnPoint( vec3_origin, origin, angles );
|
||||
if ( !spot || G_Client_SpotWouldTelefrag( spot ) ) {
|
||||
return G_Client_SelectSpawnPoint( vec3_origin, origin, angles );
|
||||
}
|
||||
|
||||
VectorCopy (spot->s.origin, origin);
|
||||
|
@ -338,10 +338,10 @@ static int bodyFadeSound=0;
|
|||
|
||||
/*
|
||||
===============
|
||||
InitBodyQue
|
||||
G_Client_InitBodyQue
|
||||
===============
|
||||
*/
|
||||
void InitBodyQue (void) {
|
||||
void G_Client_InitBodyQue (void) {
|
||||
int i;
|
||||
gentity_t *ent;
|
||||
|
||||
|
@ -493,11 +493,11 @@ static void CopyToBodyQue( gentity_t *ent ) {
|
|||
|
||||
/*
|
||||
==================
|
||||
SetClientViewAngle
|
||||
G_Client_SetViewAngle
|
||||
|
||||
==================
|
||||
*/
|
||||
void SetClientViewAngle( gentity_t *ent, vec3_t angle ) {
|
||||
void G_Client_SetViewAngle( gentity_t *ent, vec3_t angle ) {
|
||||
int i;
|
||||
|
||||
// set the delta angle
|
||||
|
@ -513,18 +513,18 @@ void SetClientViewAngle( gentity_t *ent, vec3_t angle ) {
|
|||
|
||||
/*
|
||||
================
|
||||
respawn
|
||||
G_Client_Respawn
|
||||
================
|
||||
*/
|
||||
extern char *ClassNameForValue( pclass_t pClass );
|
||||
void respawn( gentity_t *ent ) {
|
||||
void G_Client_Respawn( gentity_t *ent ) {
|
||||
qboolean borg = qfalse;
|
||||
gentity_t *tent;
|
||||
playerState_t *ps;
|
||||
|
||||
CopyToBodyQue (ent);
|
||||
|
||||
ClientSpawn(ent, 0, qfalse);//RPG-X: RedTechie - Modifyed
|
||||
G_Client_Spawn(ent, 0, qfalse);//RPG-X: RedTechie - Modifyed
|
||||
|
||||
ps = &ent->client->ps;
|
||||
|
||||
|
@ -542,7 +542,7 @@ void respawn( gentity_t *ent ) {
|
|||
|
||||
/*
|
||||
================
|
||||
TeamCount
|
||||
G_Client_TeamCount
|
||||
|
||||
Returns number of players on a team
|
||||
================
|
||||
|
@ -550,7 +550,7 @@ Returns number of players on a team
|
|||
/**
|
||||
* Returns number of players on a team
|
||||
*/
|
||||
team_t TeamCount( int ignoreClientNum, int team ) {
|
||||
team_t G_Client_TeamCount( int ignoreClientNum, int team ) {
|
||||
int i;
|
||||
int count = 0;
|
||||
|
||||
|
@ -572,15 +572,15 @@ team_t TeamCount( int ignoreClientNum, int team ) {
|
|||
|
||||
/*
|
||||
================
|
||||
PickTeam
|
||||
G_Client_PickTeam
|
||||
|
||||
================
|
||||
*/
|
||||
team_t PickTeam( int ignoreClientNum ) {
|
||||
team_t G_Client_PickTeam( int ignoreClientNum ) {
|
||||
int counts[TEAM_NUM_TEAMS];
|
||||
|
||||
counts[TEAM_BLUE] = TeamCount( ignoreClientNum, TEAM_BLUE );
|
||||
counts[TEAM_RED] = TeamCount( ignoreClientNum, TEAM_RED );
|
||||
counts[TEAM_BLUE] = G_Client_TeamCount( ignoreClientNum, TEAM_BLUE );
|
||||
counts[TEAM_RED] = G_Client_TeamCount( ignoreClientNum, TEAM_RED );
|
||||
|
||||
if ( counts[TEAM_BLUE] > counts[TEAM_RED] ) {
|
||||
return TEAM_RED;
|
||||
|
@ -965,17 +965,17 @@ void SetCSTeam( team_t team, char *teamname )
|
|||
}
|
||||
/*
|
||||
===========
|
||||
ClientUserInfoChanged
|
||||
G_Client_UserinfoChanged
|
||||
============
|
||||
*/
|
||||
/**
|
||||
* Called from ClientConnect when the player first connects and
|
||||
* Called from G_Client_Connect when the player first connects and
|
||||
* directly by the server system when the player updates a userinfo variable.
|
||||
*
|
||||
* The game can override any of the settings and call trap_SetUserinfo
|
||||
* if desired.
|
||||
*/
|
||||
void ClientUserinfoChanged( int clientNum ) {
|
||||
void G_Client_UserinfoChanged( int clientNum ) {
|
||||
gentity_t *ent;
|
||||
int i;
|
||||
char *s;
|
||||
|
@ -1280,7 +1280,7 @@ void ClientUserinfoChanged( int clientNum ) {
|
|||
|
||||
/*
|
||||
===========
|
||||
ClientConnect
|
||||
G_Client_Connect
|
||||
============
|
||||
*/
|
||||
/**
|
||||
|
@ -1293,13 +1293,13 @@ ClientConnect
|
|||
* a string with the reason for denial.
|
||||
*
|
||||
* Otherwise, the client will be sent the current gamestate
|
||||
* and will eventually get to ClientBegin.
|
||||
* and will eventually get to G_Client_Begin.
|
||||
*
|
||||
* firstTime will be qtrue the very first time a client connects
|
||||
* to the server machine, but qfalse on map changes and tournement
|
||||
* restarts.
|
||||
*/
|
||||
char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
||||
char *G_Client_Connect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
||||
char *value;
|
||||
gclient_t *client;
|
||||
char userinfo[MAX_INFO_STRING];
|
||||
|
@ -1444,7 +1444,7 @@ char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
|||
|
||||
//========================================================
|
||||
}
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
|
||||
//RPG-X: Save the ip for later - has to be down here, since it gets flushed in the above function
|
||||
Q_strncpyz( ent->client->pers.ip, ip, sizeof( ent->client->pers.ip ) );
|
||||
|
@ -1491,7 +1491,7 @@ char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
|||
}
|
||||
|
||||
// count current clients and rank for scoreboard
|
||||
//CalculateRanks( qfalse );
|
||||
//G_Client_CalculateRanks( qfalse );
|
||||
|
||||
//RPG-X: J2J - Reset Variables
|
||||
DragDat[clientNum].AdminId = -1;
|
||||
|
@ -1602,7 +1602,7 @@ static void G_SendTransData(int clientNum) {
|
|||
|
||||
/*
|
||||
===========
|
||||
ClientBegin
|
||||
G_Client_Begin
|
||||
============
|
||||
*/
|
||||
/**
|
||||
|
@ -1610,7 +1610,7 @@ ClientBegin
|
|||
* to be placed into the level. This will happen every level load,
|
||||
* and on transition between teams, but doesn't happen on respawns
|
||||
*/
|
||||
void ClientBegin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qboolean first ) {
|
||||
void G_Client_Begin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qboolean first ) {
|
||||
gentity_t *ent;
|
||||
gclient_t *client;
|
||||
gentity_t *tent;
|
||||
|
@ -1661,7 +1661,7 @@ void ClientBegin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qbool
|
|||
SetScore( ent, score );
|
||||
|
||||
// locate ent at a spawn point
|
||||
ClientSpawn( ent, 0, qfalse );//RPG-X: RedTechie - Modifyed
|
||||
G_Client_Spawn( ent, 0, qfalse );//RPG-X: RedTechie - Modifyed
|
||||
|
||||
if ( client->sess.sessionTeam != TEAM_SPECTATOR /*&& g_holoIntro.integer==0 */ )
|
||||
{ // Don't use transporter FX for spectators or those watching the holodoors.
|
||||
|
@ -1674,7 +1674,7 @@ void ClientBegin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qbool
|
|||
G_LogPrintf( "ClientBegin: %i (%s)\n", clientNum, g_entities[clientNum].client->pers.ip );
|
||||
|
||||
// count current clients and rank for scoreboard
|
||||
CalculateRanks( qfalse );
|
||||
G_Client_CalculateRanks( qfalse );
|
||||
|
||||
//TiM - This appears to be a flaw in Raven's design
|
||||
//When a client connects, or if they enter admin or medics class
|
||||
|
@ -1822,7 +1822,7 @@ void ClientBegin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qbool
|
|||
}
|
||||
|
||||
// WEAPONS - PHENIX1
|
||||
void ClientWeaponsForClass ( gclient_t *client, pclass_t pclass )
|
||||
void G_Client_WeaponsForClass ( gclient_t *client, pclass_t pclass )
|
||||
{
|
||||
int i;
|
||||
int Bits;
|
||||
|
@ -1845,7 +1845,7 @@ void ClientWeaponsForClass ( gclient_t *client, pclass_t pclass )
|
|||
}
|
||||
}
|
||||
|
||||
void ClientHoldablesForClass ( gclient_t *client, pclass_t pclass )
|
||||
void G_Client_HoldablesForClass ( gclient_t *client, pclass_t pclass )
|
||||
{
|
||||
if ( g_classData[pclass].isMarine )
|
||||
client->ps.stats[STAT_HOLDABLE_ITEM] = BG_FindItemForHoldable( HI_TRANSPORTER ) - bg_itemlist;
|
||||
|
@ -1854,7 +1854,7 @@ void ClientHoldablesForClass ( gclient_t *client, pclass_t pclass )
|
|||
client->ps.stats[STAT_HOLDABLE_ITEM] = BG_FindItemForHoldable( HI_SHIELD ) - bg_itemlist;
|
||||
}
|
||||
|
||||
void G_StoreClientInitialStatus( gentity_t *ent )
|
||||
void G_Client_StoreClientInitialStatus( gentity_t *ent )
|
||||
{
|
||||
char userinfo[MAX_INFO_STRING];
|
||||
|
||||
|
@ -1915,17 +1915,17 @@ void G_RestoreClientInitialStatus( gentity_t *ent )
|
|||
|
||||
/*
|
||||
===========
|
||||
ClientSpawn
|
||||
G_Client_Spawn
|
||||
|
||||
Called every time a client is placed fresh in the world:
|
||||
after the first ClientBegin, and after each respawn
|
||||
after the first G_Client_Begin, and after each respawn
|
||||
Initializes all non-persistant parts of playerState
|
||||
------------------------------------
|
||||
Modifyed By: RedTechie
|
||||
And also by Marcin - 30/12/2008
|
||||
============
|
||||
*/
|
||||
void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
||||
void G_Client_Spawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
||||
int index=0;
|
||||
vec3_t spawn_origin, spawn_angles;
|
||||
gclient_t *client=NULL;
|
||||
|
@ -1959,7 +1959,7 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
spawnPoint = SelectInitialSpawnPoint( spawn_origin, spawn_angles );
|
||||
} else {
|
||||
// don't spawn near existing origin if possible
|
||||
spawnPoint = SelectSpawnPoint (
|
||||
spawnPoint = G_Client_SelectSpawnPoint (
|
||||
client->ps.origin,
|
||||
spawn_origin, spawn_angles);
|
||||
}
|
||||
|
@ -2039,7 +2039,7 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
ent->r.contents = CONTENTS_BODY;
|
||||
|
||||
ent->clipmask = MASK_PLAYERSOLID;
|
||||
ent->die = player_die;
|
||||
ent->die = G_Client_Die;
|
||||
ent->waterlevel = 0;
|
||||
ent->watertype = 0;
|
||||
ent->flags = 0;
|
||||
|
@ -2058,7 +2058,7 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
|
||||
if ( oClass != client->sess.sessionClass )
|
||||
{//need to send the class change
|
||||
ClientUserinfoChanged( client->ps.clientNum );
|
||||
G_Client_UserinfoChanged( client->ps.clientNum );
|
||||
}
|
||||
|
||||
client->ps.persistant[PERS_CLASS] = client->sess.sessionClass;
|
||||
|
@ -2070,11 +2070,11 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
}
|
||||
|
||||
if ( !fromDeath || !rpg_dropOnDeath.integer || !rpg_allowWeaponDrop.integer ) {
|
||||
ClientWeaponsForClass( client, pClass );
|
||||
G_Client_WeaponsForClass( client, pClass );
|
||||
} else { // Marcin: just a hand
|
||||
ClientWeaponsForClass( client, 0 );
|
||||
G_Client_WeaponsForClass( client, 0 );
|
||||
}
|
||||
ClientHoldablesForClass( client, pClass );
|
||||
G_Client_HoldablesForClass( client, pClass );
|
||||
|
||||
if(rpgx_spawn != 1){
|
||||
G_SetOrigin( ent, spawn_origin );
|
||||
|
@ -2088,7 +2088,7 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
|
||||
trap_GetUsercmd( client - level.clients, &ent->client->pers.cmd );
|
||||
if(rpgx_spawn != 1){
|
||||
SetClientViewAngle( ent, spawn_angles );
|
||||
G_Client_SetViewAngle( ent, spawn_angles );
|
||||
}
|
||||
|
||||
if(rpgx_spawn != 1){
|
||||
|
@ -2251,7 +2251,7 @@ void ClientSpawn(gentity_t *ent, int rpgx_spawn, qboolean fromDeath ) {
|
|||
//store intial client values
|
||||
//FIXME: when purposely change teams, this gets confused?
|
||||
|
||||
G_StoreClientInitialStatus( ent );
|
||||
G_Client_StoreClientInitialStatus( ent );
|
||||
|
||||
//RPG-X: Marcin: stuff was here previously - 22/12/2008
|
||||
}
|
||||
|
@ -2291,7 +2291,7 @@ gentity_t *SpawnBeamOutPlayer( gentity_t *ent ) {
|
|||
|
||||
/*
|
||||
===========
|
||||
ClientDisconnect
|
||||
G_Client_Disconnect
|
||||
|
||||
Called when a player drops from the server.
|
||||
Will not be called between levels.
|
||||
|
@ -2301,7 +2301,7 @@ call trap_DropClient(), which will call this and do
|
|||
server system housekeeping.
|
||||
============
|
||||
*/
|
||||
void ClientDisconnect( int clientNum ) {
|
||||
void G_Client_Disconnect( int clientNum ) {
|
||||
gentity_t *ent;
|
||||
gentity_t *tent;
|
||||
int i;
|
||||
|
@ -2389,7 +2389,7 @@ void ClientDisconnect( int clientNum ) {
|
|||
if ( g_gametype.integer == GT_TOURNAMENT && !level.intermissiontime
|
||||
&& !level.warmupTime && level.sortedClients[1] == clientNum ) {
|
||||
level.clients[ level.sortedClients[0] ].sess.wins++;
|
||||
ClientUserinfoChanged( level.sortedClients[0] );
|
||||
G_Client_UserinfoChanged( level.sortedClients[0] );
|
||||
}
|
||||
|
||||
if ( g_gametype.integer == GT_TOURNAMENT && ent->client->sess.sessionTeam == TEAM_FREE && level.intermissiontime )
|
||||
|
@ -2413,7 +2413,7 @@ void ClientDisconnect( int clientNum ) {
|
|||
|
||||
trap_SetConfigstring( CS_PLAYERS + clientNum, "");
|
||||
|
||||
CalculateRanks( qfalse );
|
||||
G_Client_CalculateRanks( qfalse );
|
||||
|
||||
if ( ent->r.svFlags & SVF_BOT ) {
|
||||
BotAIShutdownClient( clientNum );
|
||||
|
@ -2706,3 +2706,4 @@ void G_Client_LocationsMessage( gentity_t *ent ) {
|
|||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -539,7 +539,7 @@ static void Cmd_LevelShot_f( gentity_t *ent ) {
|
|||
level.intermissiontime = -1;
|
||||
// Special 'level shot' setting -- Terrible ABUSE!!! HORRIBLE NASTY HOBBITTESSSES
|
||||
|
||||
BeginIntermission();
|
||||
G_Client_BeginIntermission();
|
||||
trap_SendServerCommand( ent-g_entities, "clientLevelShot" );
|
||||
}
|
||||
|
||||
|
@ -608,10 +608,10 @@ static void Cmd_Kill_f( gentity_t *ent )
|
|||
ps->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
ps->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
ps->stats[STAT_HEALTH] = ent->health = 1;
|
||||
player_die (ent, ent, ent, 1, meansOfDeath ); //MOD_SUICIDE
|
||||
G_Client_Die (ent, ent, ent, 1, meansOfDeath ); //MOD_SUICIDE
|
||||
}else{
|
||||
ps->stats[STAT_HEALTH] = ent->health = 0;
|
||||
player_die (ent, ent, ent, 100000, meansOfDeath ); //MOD_SUICIDE
|
||||
G_Client_Die (ent, ent, ent, 100000, meansOfDeath ); //MOD_SUICIDE
|
||||
}
|
||||
|
||||
if ( rpg_kicksuiciders.integer > 0 )
|
||||
|
@ -733,7 +733,7 @@ qboolean SetTeam( gentity_t *ent, char *s ) {
|
|||
// pick the team with the least number of players
|
||||
if ( isBot )
|
||||
{
|
||||
team = PickTeam( clientNum );
|
||||
team = G_Client_PickTeam( clientNum );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -746,8 +746,8 @@ qboolean SetTeam( gentity_t *ent, char *s ) {
|
|||
{
|
||||
int counts[TEAM_NUM_TEAMS];
|
||||
|
||||
counts[TEAM_BLUE] = TeamCount( clNum, TEAM_BLUE );
|
||||
counts[TEAM_RED] = TeamCount( clNum, TEAM_RED );
|
||||
counts[TEAM_BLUE] = G_Client_TeamCount( clNum, TEAM_BLUE );
|
||||
counts[TEAM_RED] = G_Client_TeamCount( clNum, TEAM_RED );
|
||||
|
||||
// We allow a spread of two
|
||||
if ( team == TEAM_RED && counts[TEAM_RED] - counts[TEAM_BLUE] > 1 )
|
||||
|
@ -800,7 +800,7 @@ qboolean SetTeam( gentity_t *ent, char *s ) {
|
|||
// Kill him (makes sure he loses flags, etc)
|
||||
ent->flags &= ~FL_GODMODE;
|
||||
ent->client->ps.stats[STAT_HEALTH] = ent->health = 0;
|
||||
player_die (ent, NULL, NULL, 100000, MOD_RESPAWN);
|
||||
G_Client_Die (ent, NULL, NULL, 100000, MOD_RESPAWN);
|
||||
|
||||
}
|
||||
// they go to the end of the line for tournements
|
||||
|
@ -815,9 +815,9 @@ qboolean SetTeam( gentity_t *ent, char *s ) {
|
|||
BroadcastTeamChange( client, oldTeam );
|
||||
|
||||
// get and distribute relevent paramters
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
|
||||
ClientBegin( clientNum, qfalse, qfalse, qfalse );
|
||||
G_Client_Begin( clientNum, qfalse, qfalse, qfalse );
|
||||
|
||||
return qtrue;
|
||||
}
|
||||
|
@ -953,7 +953,7 @@ qboolean SetClass( gentity_t *ent, char *s, char *teamName, qboolean SaveToCvar
|
|||
else
|
||||
{//not changing teams or couldn't change teams
|
||||
// get and distribute relevent paramters
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
|
||||
//if in the game already, kill and respawn him, else just wait to join
|
||||
if ( sess->sessionTeam == TEAM_SPECTATOR )
|
||||
|
@ -965,7 +965,7 @@ qboolean SetClass( gentity_t *ent, char *s, char *teamName, qboolean SaveToCvar
|
|||
//RPG-X: RedTechie - No respawn for n00bs set all info and frap that a n00b needs HERE this eliminates respawns for n00bs
|
||||
if(g_classData[pclass].isn00b/*pclass == PC_N00B*/){
|
||||
|
||||
ClientSpawn(ent, 1, qfalse);
|
||||
G_Client_Spawn(ent, 1, qfalse);
|
||||
ps->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
ps->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
|
||||
|
@ -990,8 +990,8 @@ qboolean SetClass( gentity_t *ent, char *s, char *teamName, qboolean SaveToCvar
|
|||
ent->flags &= ~FL_GODMODE;
|
||||
ps->stats[STAT_HEALTH] = ent->health = 0;
|
||||
|
||||
player_die (ent, NULL, NULL, 100000, MOD_RESPAWN);
|
||||
ClientBegin( clientNum, qfalse, qfalse, qfalse );
|
||||
G_Client_Die (ent, NULL, NULL, 100000, MOD_RESPAWN);
|
||||
G_Client_Begin( clientNum, qfalse, qfalse, qfalse );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1086,6 +1086,26 @@ static void Cmd_Team_f( gentity_t *ent ) {
|
|||
ent->client->switchTeamTime = level.time + 2000;
|
||||
}
|
||||
|
||||
/*
|
||||
====================
|
||||
Cmd_Ready_f
|
||||
====================
|
||||
*/
|
||||
/**
|
||||
* This function is called from the ui_sp_postgame.c as a result of clicking on the
|
||||
* "next" button in non GT_TOURNAMENT games. This replaces the old system of waiting
|
||||
* for the user to click an ATTACK or USE button to signal ready
|
||||
* (see ClientIntermissionThink())
|
||||
*
|
||||
* when all clients have signaled ready, the game continues to the next match.
|
||||
*/
|
||||
void Cmd_Ready_f (gentity_t *ent)
|
||||
{
|
||||
gclient_t *client;
|
||||
client = ent->client;
|
||||
|
||||
client->readyToExit = qtrue;
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
|
@ -2262,10 +2282,10 @@ static void Cmd_ForceKill_f( gentity_t *ent ) {
|
|||
ps->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
ps->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
ps->stats[STAT_HEALTH] = target->health = 1;
|
||||
player_die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
}else{
|
||||
ps->stats[STAT_HEALTH] = target->health = 0;
|
||||
player_die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
}
|
||||
} // end iterations
|
||||
|
||||
|
@ -2299,10 +2319,10 @@ static void Cmd_ForceKill_f( gentity_t *ent ) {
|
|||
ps->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
ps->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
ps->stats[STAT_HEALTH] = target->health = 1;
|
||||
player_die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
}else{
|
||||
ps->stats[STAT_HEALTH] = target->health = 0;
|
||||
player_die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die (target, target, target, 100000, MOD_FORCEDSUICIDE);
|
||||
}
|
||||
|
||||
Com_sprintf (send, sizeof(send), "%s ^7forced %s^7's death", ent->client->pers.netname, target->client->pers.netname);
|
||||
|
@ -2433,10 +2453,10 @@ static void Cmd_ForceKillRadius_f( gentity_t *ent)
|
|||
oPs->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
oPs->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
oPs->stats[STAT_HEALTH] = OtherPlayer->health = 1;
|
||||
player_die(OtherPlayer,OtherPlayer,OtherPlayer,100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die(OtherPlayer,OtherPlayer,OtherPlayer,100000, MOD_FORCEDSUICIDE);
|
||||
}else{
|
||||
oPs->stats[STAT_HEALTH] = OtherPlayer->health = 0;
|
||||
player_die(OtherPlayer,OtherPlayer,OtherPlayer,100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die(OtherPlayer,OtherPlayer,OtherPlayer,100000, MOD_FORCEDSUICIDE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2453,10 +2473,10 @@ static void Cmd_ForceKillRadius_f( gentity_t *ent)
|
|||
ePs->stats[STAT_WEAPONS] = ( 1 << WP_0 );
|
||||
ePs->stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
ePs->stats[STAT_HEALTH] = ent->health = 1;
|
||||
player_die(ent,ent,ent,100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die(ent,ent,ent,100000, MOD_FORCEDSUICIDE);
|
||||
}else{
|
||||
ePs->stats[STAT_HEALTH] = ent->health = 0;
|
||||
player_die(ent,ent,ent,100000, MOD_FORCEDSUICIDE);
|
||||
G_Client_Die(ent,ent,ent,100000, MOD_FORCEDSUICIDE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3122,7 +3142,7 @@ static void Cmd_AdminLogin_f( gentity_t *ent)
|
|||
if(!arg[0] && ent->client->LoggedAsAdmin) {
|
||||
ent->client->LoggedAsAdmin = qfalse;
|
||||
trap_SendServerCommand( ent-g_entities, va("print \"You are now logged out.\n\"") );
|
||||
ClientUserinfoChanged( ent-g_entities );
|
||||
G_Client_UserinfoChanged( ent-g_entities );
|
||||
return;
|
||||
}
|
||||
else if ( !arg[0] ) { //if user added no args (ie wanted the parameters)
|
||||
|
@ -3140,7 +3160,7 @@ static void Cmd_AdminLogin_f( gentity_t *ent)
|
|||
if ( IsAdmin( ent ) == qfalse ) {
|
||||
ent->client->LoggedAsAdmin = qtrue;
|
||||
trap_SendServerCommand( ent-g_entities, va("print \"You are logged in as an admin.\n\"") );
|
||||
ClientUserinfoChanged( ent-g_entities );
|
||||
G_Client_UserinfoChanged( ent-g_entities );
|
||||
return;
|
||||
} else {
|
||||
trap_SendServerCommand( ent-g_entities, va("print \"You are already logged in as an admin or in the admin class.\n\"") );
|
||||
|
@ -3233,7 +3253,7 @@ static void Cmd_Revive_f( gentity_t *ent)
|
|||
{
|
||||
if( (g_entities[i].client) && (g_entities[i].health == 1) && (g_entities[i].client->ps.pm_type == PM_DEAD))
|
||||
{
|
||||
ClientSpawn(&g_entities[i], 1, qtrue);
|
||||
G_Client_Spawn(&g_entities[i], 1, qtrue);
|
||||
|
||||
ps = &g_entities[i].client->ps;
|
||||
|
||||
|
@ -3269,7 +3289,7 @@ static void Cmd_Revive_f( gentity_t *ent)
|
|||
//Just me
|
||||
if( (ent && ent->client) && (ent->health <= 1) && (ent->client->ps.pm_type == PM_DEAD))
|
||||
{
|
||||
ClientSpawn(ent, 1, qtrue);
|
||||
G_Client_Spawn(ent, 1, qtrue);
|
||||
|
||||
ps = &ent->client->ps;
|
||||
|
||||
|
@ -3304,7 +3324,7 @@ static void Cmd_Revive_f( gentity_t *ent)
|
|||
|
||||
if( (other && other->client) && (other->health == 1) && (other->client->ps.pm_type == PM_DEAD))
|
||||
{
|
||||
ClientSpawn(other, 1, qtrue);
|
||||
G_Client_Spawn(other, 1, qtrue);
|
||||
|
||||
ps = &other->client->ps;
|
||||
|
||||
|
@ -5549,7 +5569,7 @@ static void Cmd_Respawn_f(gentity_t *ent) {
|
|||
if(!ent->client)
|
||||
return;
|
||||
|
||||
ClientSpawn(ent, 0, qfalse);
|
||||
G_Client_Spawn(ent, 0, qfalse);
|
||||
if(ent->client->sess.sessionTeam != TEAM_SPECTATOR) {
|
||||
ent->client->ps.powerups[PW_QUAD] = level.time + 4000;
|
||||
tent = G_TempEntity( ent->client->ps.origin, EV_PLAYER_TRANSPORT_IN );
|
||||
|
@ -7425,10 +7445,10 @@ void Cmd_CamtestEnd_f(gentity_t *ent) {
|
|||
|
||||
/*
|
||||
=================
|
||||
ClientCommand
|
||||
G_Client_Command
|
||||
=================
|
||||
*/
|
||||
void ClientCommand( int clientNum )
|
||||
void G_Client_Command( int clientNum )
|
||||
{
|
||||
gentity_t *ent;
|
||||
char cmd[MAX_TOKEN_CHARS];
|
||||
|
|
|
@ -11,12 +11,12 @@ extern void SetClass( gentity_t *ent, char *s, char *teamName, qboolean SaveToCv
|
|||
|
||||
/*
|
||||
============
|
||||
AddScore
|
||||
G_Client_AddScore
|
||||
|
||||
Adds score to both the client and his team
|
||||
============
|
||||
*/
|
||||
void AddScore( gentity_t *ent, int score ) {
|
||||
void G_Client_AddScore( gentity_t *ent, int score ) {
|
||||
if ( !ent )
|
||||
{
|
||||
return;
|
||||
|
@ -36,7 +36,7 @@ void AddScore( gentity_t *ent, int score ) {
|
|||
{//this isn't capture score
|
||||
level.teamScores[ ent->client->ps.persistant[PERS_TEAM] ] += score;
|
||||
}
|
||||
CalculateRanks( qfalse );
|
||||
G_Client_CalculateRanks( qfalse );
|
||||
|
||||
//RPG-X: RedTechie - Lets enable score updating without this scores will not be updated
|
||||
ent->client->UpdateScore = qfalse;
|
||||
|
@ -64,7 +64,7 @@ void SetScore( gentity_t *ent, int score ) {
|
|||
}
|
||||
|
||||
ent->client->ps.persistant[PERS_SCORE] = score;
|
||||
CalculateRanks( qfalse );
|
||||
G_Client_CalculateRanks( qfalse );
|
||||
|
||||
// TiM: send the current scoring to all clients
|
||||
SendScoreboardMessageToAllClients();
|
||||
|
@ -251,14 +251,14 @@ extern void DetonateDetpack(gentity_t *ent);
|
|||
|
||||
/*
|
||||
==================
|
||||
player_die
|
||||
G_Client_Die
|
||||
Heavly Modifyed By: RedTechie
|
||||
RPG-X: Marcin: a little bit modified - 30/12/2008
|
||||
==================
|
||||
*/
|
||||
extern char *ClassNameForValue( pclass_t pClass );
|
||||
extern qboolean IsAdmin( gentity_t *ent);
|
||||
void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int meansOfDeath ) {
|
||||
void G_Client_Die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int meansOfDeath ) {
|
||||
//---------------------
|
||||
//RPG-X: RedTechie - Check to see if medics revive people and not respawn if true use my fake death insead :)
|
||||
//---------------------
|
||||
|
@ -479,11 +479,11 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
|
|||
|
||||
BG_PlayerStateToEntityState( &self->client->ps, &self->s, qtrue );
|
||||
|
||||
ClientUserinfoChanged( self->s.clientNum );
|
||||
G_Client_UserinfoChanged( self->s.clientNum );
|
||||
|
||||
ClientEndFrame( self );
|
||||
|
||||
G_StoreClientInitialStatus( self );
|
||||
G_Client_StoreClientInitialStatus( self );
|
||||
//---------------------
|
||||
//RPG-X: RedTechie - If it dose equal 0 use regular die
|
||||
//---------------------
|
||||
|
@ -605,13 +605,13 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
|
|||
{
|
||||
if ( meansOfDeath != MOD_RESPAWN )
|
||||
{//just changing class
|
||||
AddScore( attacker, -1 );
|
||||
G_Client_AddScore( attacker, -1 );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
attacker->client->pers.teamState.frags++;
|
||||
AddScore( attacker, 1 );
|
||||
G_Client_AddScore( attacker, 1 );
|
||||
|
||||
// Check to see if the player is on a streak.
|
||||
attacker->client->streakCount++;
|
||||
|
@ -623,7 +623,7 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
|
|||
{
|
||||
if ( meansOfDeath != MOD_RESPAWN )
|
||||
{//not just changing class
|
||||
AddScore( self, -1 );
|
||||
G_Client_AddScore( self, -1 );
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
@ -1349,7 +1349,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
|
|||
client->ps.stats[STAT_WEAPONS] = ( 1 << WP_0 ); //?!!!!!
|
||||
client->ps.stats[STAT_HOLDABLE_ITEM] = HI_NONE;
|
||||
targ->health = 1;
|
||||
player_die( targ, inflictor, attacker, take, mod );
|
||||
G_Client_Die( targ, inflictor, attacker, take, mod );
|
||||
}
|
||||
}else{
|
||||
if ( targ->health <= 0 ) {
|
||||
|
@ -1512,7 +1512,7 @@ qboolean G_RadiusDamage ( vec3_t origin, gentity_t *attacker, float damage, floa
|
|||
}
|
||||
}
|
||||
|
||||
if( LogAccuracyHit( ent, attacker ) ) {
|
||||
if( G_Weapon_LogAccuracyHit( ent, attacker ) ) {
|
||||
hitClient = qtrue;
|
||||
}
|
||||
VectorSubtract (ent->r.currentOrigin, origin, dir);
|
||||
|
|
|
@ -480,7 +480,7 @@ void SetScore( gentity_t *ent, int score );
|
|||
/**
|
||||
* \brief client data that stays across multiple respawns,
|
||||
*
|
||||
* but is cleared on each level change or team change at ClientBegin()
|
||||
* but is cleared on each level change or team change at G_Client_Begin()
|
||||
*/
|
||||
typedef struct {
|
||||
clientConnected_t connected;
|
||||
|
@ -502,7 +502,7 @@ typedef struct {
|
|||
|
||||
/** \struct gclient_s
|
||||
*
|
||||
* this structure is cleared on each ClientSpawn(),
|
||||
* this structure is cleared on each G_Client_Spawn(),
|
||||
* except for 'client->pers' and 'client->sess'
|
||||
*/
|
||||
struct gclient_s {
|
||||
|
@ -727,6 +727,7 @@ void StopFollowing( gentity_t *ent );
|
|||
void BroadcastTeamChange( gclient_t *client, int oldTeam );
|
||||
qboolean SetTeam( gentity_t *ent, char *s );
|
||||
void Cmd_FollowCycle_f( gentity_t *ent, int dir );
|
||||
void Cmd_Ready_f (gentity_t *ent);
|
||||
|
||||
//
|
||||
// g_roff.c
|
||||
|
@ -853,8 +854,7 @@ void G_Repair(gentity_t *ent, gentity_t *tr_ent, float rate); //RPG-X | GSIO01 |
|
|||
//
|
||||
// g_missile.c
|
||||
//
|
||||
void G_RunMissile( gentity_t *ent );
|
||||
|
||||
void G_Missile_Run( gentity_t *ent );
|
||||
gentity_t *fire_blaster (gentity_t *self, vec3_t start, vec3_t aimdir);
|
||||
gentity_t *fire_plasma (gentity_t *self, vec3_t start, vec3_t aimdir);
|
||||
gentity_t *fire_quantum (gentity_t *self, vec3_t start, vec3_t aimdir);
|
||||
|
@ -862,16 +862,15 @@ gentity_t *fire_grenade (gentity_t *self, vec3_t start, vec3_t aimdir);
|
|||
gentity_t *fire_rocket (gentity_t *self, vec3_t start, vec3_t dir);
|
||||
gentity_t *fire_grapple (gentity_t *self, vec3_t start, vec3_t dir);
|
||||
gentity_t *fire_comprifle (gentity_t *self, vec3_t start, vec3_t dir);
|
||||
//RPG-X: - RedTechie Added this for curiosity
|
||||
void ShieldRemove(gentity_t *self);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// g_mover.c
|
||||
//
|
||||
void G_RunMover( gentity_t *ent );
|
||||
void Touch_DoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace );
|
||||
void Use_BinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator );
|
||||
void G_Mover_Run( gentity_t *ent );
|
||||
void G_Mover_TouchDoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace );
|
||||
void G_Mover_UseBinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator );
|
||||
|
||||
//
|
||||
// g_trigger.c
|
||||
|
@ -891,38 +890,105 @@ void target_turbolift_start( gentity_t *ent );
|
|||
//
|
||||
// g_weapon.c
|
||||
//
|
||||
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, float projsize);
|
||||
void SnapVectorTowards( vec3_t v, vec3_t to );
|
||||
//qboolean SeekerAcquiresTarget ( gentity_t *ent, vec3_t pos );
|
||||
//void FireSeeker( gentity_t *owner, gentity_t *target, vec3_t origin);
|
||||
qboolean G_Weapon_LogAccuracyHit( gentity_t *target, gentity_t *attacker );
|
||||
void G_Weapon_CalcMuzzlePoint ( gentity_t *ent, vec3_t forward, vec3_t right, vec3_t up, vec3_t muzzlePoint, float projsize);
|
||||
void G_Weapon_SnapVectorTowards( vec3_t v, vec3_t to );
|
||||
|
||||
//
|
||||
// g_client.c
|
||||
//
|
||||
team_t TeamCount( int ignoreClientNum, int team );
|
||||
team_t PickTeam( int ignoreClientNum );
|
||||
void SetClientViewAngle( gentity_t *ent, vec3_t angle );
|
||||
gentity_t *SelectSpawnPoint ( vec3_t avoidPoint, vec3_t origin, vec3_t angles );
|
||||
void respawn (gentity_t *ent);
|
||||
void BeginIntermission (void);
|
||||
void InitClientPersistant (gclient_t *client);
|
||||
void InitClientResp (gclient_t *client);
|
||||
void InitBodyQue (void);
|
||||
void ClientSpawn( gentity_t *ent, int rpgx_spawn, qboolean fromDeath );
|
||||
void player_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod);
|
||||
void AddScore( gentity_t *ent, int score );
|
||||
void CalculateRanks( qboolean fromExit );
|
||||
qboolean SpotWouldTelefrag( gentity_t *spot );
|
||||
//RPG-X: RedTechie - Class info
|
||||
//void ClientMaxHealthForClass ( gclient_t *client, pclass_t pclass );
|
||||
//void ClientPowerupsForClass ( gentity_t *ent, pclass_t pclass );
|
||||
void ClientWeaponsForClass ( gclient_t *client, pclass_t pclass );
|
||||
void ClientHoldablesForClass ( gclient_t *client, pclass_t pclass );
|
||||
void G_StoreClientInitialStatus( gentity_t *ent );
|
||||
/**
|
||||
* Get number of clients in team.
|
||||
*/
|
||||
team_t G_Client_TeamCount( int ignoreClientNum, int team );
|
||||
/**
|
||||
* Pick a random team.
|
||||
*/
|
||||
team_t G_Client_PickTeam( int ignoreClientNum );
|
||||
/**
|
||||
* Set the clients view angle.
|
||||
*/
|
||||
void G_Client_SetViewAngle( gentity_t *ent, vec3_t angle );
|
||||
/**
|
||||
* Select a spawnpoint.
|
||||
*/
|
||||
gentity_t* G_Client_SelectSpawnPoint ( vec3_t avoidPoint, vec3_t origin, vec3_t angles );
|
||||
/**
|
||||
* Respawn client.
|
||||
*/
|
||||
void G_Client_Respawn(gentity_t *ent);
|
||||
/**
|
||||
* Begin intermission.
|
||||
*/
|
||||
void G_Client_BeginIntermission(void);
|
||||
/**
|
||||
* Init the body que.
|
||||
*/
|
||||
void G_Client_InitBodyQue(void);
|
||||
/**
|
||||
* Spawn client.
|
||||
*/
|
||||
void G_Client_Spawn( gentity_t *ent, int rpgx_spawn, qboolean fromDeath );
|
||||
/**
|
||||
* Let the client die.
|
||||
*/
|
||||
void G_Client_Die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod);
|
||||
/**
|
||||
* Add score for the client.
|
||||
*/
|
||||
void G_Client_AddScore( gentity_t *ent, int score );
|
||||
/**
|
||||
* Calculate clients ranks.
|
||||
*/
|
||||
void G_Client_CalculateRanks( qboolean fromExit );
|
||||
/**
|
||||
* Determine whether spot would telefrag.
|
||||
*/
|
||||
qboolean G_Client_SpotWouldTelefrag( gentity_t *spot );
|
||||
/**
|
||||
* Get weapons for a class.
|
||||
*/
|
||||
void G_Client_WeaponsForClass( gclient_t *client, pclass_t pclass );
|
||||
/**
|
||||
* Get holdable items for a class.
|
||||
*/
|
||||
void G_Client_HoldablesForClass( gclient_t *client, pclass_t pclass );
|
||||
/**
|
||||
* Store the clients initial status.
|
||||
*/
|
||||
void G_Client_StoreClientInitialStatus( gentity_t *ent );
|
||||
/**
|
||||
* Get location message for a client.
|
||||
*/
|
||||
qboolean G_Client_GetLocationMsg(gentity_t *ent, char *loc, int loclen);
|
||||
/**
|
||||
* Check client statuses.
|
||||
*/
|
||||
void G_Client_CheckClientStatus(void);
|
||||
/**
|
||||
* Send client location information.
|
||||
*/
|
||||
void G_Client_LocationsMessage( gentity_t *ent );
|
||||
/**
|
||||
* Client connect.
|
||||
*/
|
||||
char* G_Client_Connect( int clientNum, qboolean firstTime, qboolean isBot );
|
||||
/**
|
||||
* Clients user info changed.
|
||||
*/
|
||||
void G_Client_UserinfoChanged( int clientNum );
|
||||
/**
|
||||
* Disconnect client.
|
||||
*/
|
||||
void G_Client_Disconnect( int clientNum );
|
||||
/**
|
||||
* Initialize client.
|
||||
*/
|
||||
void G_Client_Begin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qboolean first );
|
||||
/**
|
||||
* Client command.
|
||||
*/
|
||||
void G_Client_Command( int clientNum );
|
||||
|
||||
//
|
||||
// g_svcmds.c
|
||||
|
@ -1131,18 +1197,57 @@ typedef enum
|
|||
|
||||
#define AWARDS_MSG_LENGTH 256
|
||||
|
||||
/**
|
||||
* Print message to log.
|
||||
*/
|
||||
void QDECL G_LogPrintf( const char *fmt, ... ) __attribute__ ((format (printf, 1, 2)));
|
||||
/**
|
||||
* Log weapon pickup.
|
||||
*/
|
||||
void QDECL G_LogWeaponPickup(int client, int weaponid);
|
||||
/**
|
||||
* Log weapon fire.
|
||||
*/
|
||||
void QDECL G_LogWeaponFire(int client, int weaponid);
|
||||
/**
|
||||
* Log weapon damage.
|
||||
*/
|
||||
void QDECL G_LogWeaponDamage(int client, int mod, int amount);
|
||||
/**
|
||||
* Log weapon kill.
|
||||
*/
|
||||
void QDECL G_LogWeaponKill(int client, int mod);
|
||||
/**
|
||||
* Log weapon death.
|
||||
*/
|
||||
void QDECL G_LogWeaponDeath(int client, int weaponid);
|
||||
/**
|
||||
* Log weapon frag.
|
||||
*/
|
||||
void QDECL G_LogWeaponFrag(int attacker, int deadguy);
|
||||
/**
|
||||
* Log weapon powerup.
|
||||
*/
|
||||
void QDECL G_LogWeaponPowerup(int client, int powerupid);
|
||||
/**
|
||||
* Log weapon item.
|
||||
*/
|
||||
void QDECL G_LogWeaponItem(int client, int itemid);
|
||||
/**
|
||||
* Log weapon init.
|
||||
*/
|
||||
void QDECL G_LogWeaponInit(void);
|
||||
/**
|
||||
* Log weapon output.
|
||||
*/
|
||||
void QDECL G_LogWeaponOutput(void);
|
||||
/**
|
||||
* Log exit.
|
||||
*/
|
||||
void QDECL G_LogExit( const char *string );
|
||||
/**
|
||||
* Clear client log.
|
||||
*/
|
||||
void QDECL G_ClearClientLog(int client);
|
||||
|
||||
void CalculateAwards(gentity_t *ent, char *msg);
|
||||
|
@ -1153,17 +1258,7 @@ int GetFavoriteTargetForClient(int nClient);
|
|||
int GetWorstEnemyForClient(int nClient);
|
||||
int GetFavoriteWeaponForClient(int nClient);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// g_client.c
|
||||
//
|
||||
char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot );
|
||||
//TiM - changed to allow override of 'clampinfo'
|
||||
void ClientUserinfoChanged( int clientNum );
|
||||
void ClientDisconnect( int clientNum );
|
||||
void ClientBegin( int clientNum, qboolean careAboutWarmup, qboolean isBot, qboolean first );
|
||||
void ClientCommand( int clientNum );
|
||||
/*----------------------------------------------------------------------------------------*/
|
||||
|
||||
//TiM - Delayed Transport Beam
|
||||
void G_InitTransport( int clientNum, vec3_t origin, vec3_t angles );
|
||||
|
@ -1183,10 +1278,10 @@ typedef struct
|
|||
// g_active.c
|
||||
//
|
||||
|
||||
void ClientThink( int clientNum );
|
||||
void ClientEndFrame( gentity_t *ent );
|
||||
void G_RunClient( gentity_t *ent );
|
||||
void Cmd_Ready_f (gentity_t *ent);
|
||||
void ClientThink( int clientNum ); // TODO move me to g_client.c
|
||||
void ClientEndFrame( gentity_t *ent ); // TODO move me to g_client.c
|
||||
void G_RunClient( gentity_t *ent ); // TODO move me to g_client.c
|
||||
void G_Active_ShieldRemove(gentity_t *self);
|
||||
|
||||
//RPG-X | Marcin | 03/12/2008
|
||||
void ThrowWeapon( gentity_t *ent, char *txt );
|
||||
|
|
|
@ -514,21 +514,21 @@ intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4,
|
|||
G_ShutdownGame( arg0 );
|
||||
return 0;
|
||||
case GAME_CLIENT_CONNECT:
|
||||
return (size_t)ClientConnect( arg0, (qboolean)arg1, (qboolean)arg2 );
|
||||
return (size_t)G_Client_Connect( arg0, (qboolean)arg1, (qboolean)arg2 );
|
||||
case GAME_CLIENT_THINK:
|
||||
ClientThink( arg0 );
|
||||
return 0;
|
||||
case GAME_CLIENT_USERINFO_CHANGED:
|
||||
ClientUserinfoChanged( arg0 ); //TiM - this means a user just tried to change it
|
||||
G_Client_UserinfoChanged( arg0 ); //TiM - this means a user just tried to change it
|
||||
return 0;
|
||||
case GAME_CLIENT_DISCONNECT:
|
||||
ClientDisconnect( arg0 );
|
||||
G_Client_Disconnect( arg0 );
|
||||
return 0;
|
||||
case GAME_CLIENT_BEGIN:
|
||||
ClientBegin( arg0, qtrue, qfalse, qtrue );
|
||||
G_Client_Begin( arg0, qtrue, qfalse, qtrue );
|
||||
return 0;
|
||||
case GAME_CLIENT_COMMAND:
|
||||
ClientCommand( arg0 );
|
||||
G_Client_Command( arg0 );
|
||||
return 0;
|
||||
case GAME_RUN_FRAME:
|
||||
G_RunFrame( arg0 );
|
||||
|
@ -1825,7 +1825,7 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {
|
|||
&level.clients[0].ps, sizeof( level.clients[0] ) );
|
||||
|
||||
// reserve some spots for dead player bodies
|
||||
InitBodyQue();
|
||||
G_Client_InitBodyQue();
|
||||
|
||||
ClearRegisteredItems();
|
||||
|
||||
|
@ -2079,13 +2079,13 @@ static void AdjustTournamentScores( void ) {
|
|||
clientNum = level.sortedClients[0];
|
||||
if ( level.clients[ clientNum ].pers.connected == CON_CONNECTED ) {
|
||||
level.clients[ clientNum ].sess.wins++;
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
}
|
||||
|
||||
clientNum = level.sortedClients[1];
|
||||
if ( level.clients[ clientNum ].pers.connected == CON_CONNECTED ) {
|
||||
level.clients[ clientNum ].sess.losses++;
|
||||
ClientUserinfoChanged( clientNum );
|
||||
G_Client_UserinfoChanged( clientNum );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2160,7 +2160,7 @@ int QDECL SortRanks( const void *a, const void *b ) {
|
|||
|
||||
/*
|
||||
============
|
||||
CalculateRanks
|
||||
G_Client_CalculateRanks
|
||||
|
||||
Recalculates the score ranks of all players
|
||||
This will be called on every client connect, begin, disconnect, death,
|
||||
|
@ -2169,7 +2169,7 @@ and team change.
|
|||
FIXME: for elimination, the last man standing must be ranked first
|
||||
============
|
||||
*/
|
||||
void CalculateRanks( qboolean fromExit ) {
|
||||
void G_Client_CalculateRanks( qboolean fromExit ) {
|
||||
int i;
|
||||
int rank;
|
||||
int score;
|
||||
|
@ -2286,7 +2286,7 @@ MAP CHANGING
|
|||
========================
|
||||
SendScoreboardMessageToAllClients
|
||||
|
||||
Do this at BeginIntermission time and whenever ranks are recalculated
|
||||
Do this at G_Client_BeginIntermission time and whenever ranks are recalculated
|
||||
due to enters/exits/forced team changes
|
||||
========================
|
||||
*/
|
||||
|
@ -2351,7 +2351,7 @@ void FindIntermissionPoint( void ) {
|
|||
// find the intermission spot
|
||||
ent = G_Find (NULL, FOFS(classname), "info_player_intermission");
|
||||
if ( !ent ) { // the map creator forgot to put in an intermission point...
|
||||
SelectSpawnPoint ( vec3_origin, level.intermission_origin, level.intermission_angle );
|
||||
G_Client_SelectSpawnPoint ( vec3_origin, level.intermission_origin, level.intermission_angle );
|
||||
} else {
|
||||
VectorCopy (ent->s.origin, level.intermission_origin);
|
||||
VectorCopy (ent->s.angles, level.intermission_angle);
|
||||
|
@ -2392,10 +2392,10 @@ static void ClearFiringFlags(void)
|
|||
|
||||
/*
|
||||
==================
|
||||
BeginIntermission
|
||||
G_Client_BeginIntermission
|
||||
==================
|
||||
*/
|
||||
void BeginIntermission( void ) {
|
||||
void G_Client_BeginIntermission( void ) {
|
||||
int i;
|
||||
gentity_t *client;
|
||||
qboolean doingLevelshot;
|
||||
|
@ -2434,7 +2434,7 @@ void BeginIntermission( void ) {
|
|||
if (!client->inuse)
|
||||
continue;
|
||||
if (client->health <= 0) {
|
||||
respawn(client);
|
||||
G_Client_Respawn(client);
|
||||
}
|
||||
MoveClientToIntermission( client );
|
||||
|
||||
|
@ -2717,7 +2717,7 @@ void G_RunFrame( int levelTime ) {
|
|||
}
|
||||
|
||||
if ( (es->eType == ET_MISSILE) || (es->eType == ET_ALT_MISSILE) ) {
|
||||
G_RunMissile( ent );
|
||||
G_Missile_Run( ent );
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2727,7 +2727,7 @@ void G_RunFrame( int levelTime ) {
|
|||
}
|
||||
|
||||
if ( es->eType == ET_MOVER || es->eType == ET_MOVER_STR ) { //RPG-X | GSIO01 | 13/05/2009
|
||||
G_RunMover( ent );
|
||||
G_Mover_Run( ent );
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ void TransportPlayer( gentity_t *player, vec3_t origin, vec3_t angles, int speed
|
|||
ps->eFlags ^= EF_TELEPORT_BIT;
|
||||
|
||||
// set angles
|
||||
SetClientViewAngle( player, angles );
|
||||
G_Client_SetViewAngle( player, angles );
|
||||
|
||||
// kill anything at the destination
|
||||
if ( sess->sessionTeam != TEAM_SPECTATOR /*&& !(ps->eFlags&EF_ELIMINATED)*/) {
|
||||
|
@ -204,7 +204,7 @@ void TeleportPlayer( gentity_t *player, vec3_t origin, vec3_t angles, tpType_t t
|
|||
ps->eFlags ^= EF_TELEPORT_BIT;
|
||||
|
||||
// set angles
|
||||
SetClientViewAngle( player, angles );
|
||||
G_Client_SetViewAngle( player, angles );
|
||||
|
||||
// kill anything at the destination
|
||||
if ( sess->sessionTeam != TEAM_SPECTATOR ) {
|
||||
|
|
|
@ -237,10 +237,10 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
|
|||
if(other && ((other->classname && !Q_stricmp(other->classname, "holdable_shield")))){
|
||||
if(IsAdmin(ent->parent)){
|
||||
G_FreeEntity(ent);
|
||||
ShieldRemove(other);
|
||||
G_Active_ShieldRemove(other);
|
||||
return;
|
||||
}else{
|
||||
// can't call grenadeSpewShrapnel right here or G_RunMissile will puke
|
||||
// can't call grenadeSpewShrapnel right here or G_Missile_Run will puke
|
||||
ent->think = grenadeSpewShrapnel;
|
||||
// set our next think to right now. our think fn will get called this frame.
|
||||
ent->nextthink = level.time;
|
||||
|
@ -248,7 +248,7 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
|
|||
return;
|
||||
}
|
||||
}else{
|
||||
// can't call grenadeSpewShrapnel right here or G_RunMissile will puke
|
||||
// can't call grenadeSpewShrapnel right here or G_Missile_Run will puke
|
||||
ent->think = grenadeSpewShrapnel;
|
||||
// set our next think to right now. our think fn will get called this frame.
|
||||
ent->nextthink = level.time;
|
||||
|
@ -301,7 +301,7 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
|
|||
// change over to a normal entity right at the point of impact
|
||||
ent->s.eType = ET_GENERAL;
|
||||
|
||||
SnapVectorTowards( trace->endpos, ent->s.pos.trBase ); // save net bandwidth
|
||||
G_Weapon_SnapVectorTowards( trace->endpos, ent->s.pos.trBase ); // save net bandwidth
|
||||
|
||||
G_SetOrigin( ent, trace->endpos );
|
||||
|
||||
|
@ -367,11 +367,11 @@ static void G_RunStuckMissile( gentity_t *ent )
|
|||
|
||||
/*
|
||||
================
|
||||
G_RunMissile
|
||||
G_Missile_Run
|
||||
|
||||
================
|
||||
*/
|
||||
void G_RunMissile( gentity_t *ent ) {
|
||||
void G_Missile_Run( gentity_t *ent ) {
|
||||
vec3_t origin;
|
||||
trace_t tr;
|
||||
|
||||
|
|
|
@ -359,11 +359,11 @@ static void G_MoverTeam( gentity_t *ent ) {
|
|||
|
||||
/*
|
||||
================
|
||||
G_RunMover
|
||||
G_Mover_Run
|
||||
|
||||
================
|
||||
*/
|
||||
void G_RunMover( gentity_t *ent ) {
|
||||
void G_Mover_Run( gentity_t *ent ) {
|
||||
// if not a team captain, don't do anything, because
|
||||
// the captain will handle everything
|
||||
if ( ent->flags & FL_TEAMSLAVE ) {
|
||||
|
@ -703,7 +703,7 @@ void Reached_BinaryMover( gentity_t *ent ) {
|
|||
}
|
||||
|
||||
if ( ent->wait < 0 )
|
||||
ent->use = Use_BinaryMover;
|
||||
ent->use = G_Mover_UseBinaryMover;
|
||||
|
||||
// close areaportals
|
||||
if ( ent->teammaster == ent || !ent->teammaster ) {
|
||||
|
@ -745,7 +745,7 @@ void Reached_BinaryMover( gentity_t *ent ) {
|
|||
}
|
||||
|
||||
if(ent->wait < 0)
|
||||
ent->use = Use_BinaryMover;
|
||||
ent->use = G_Mover_UseBinaryMover;
|
||||
|
||||
// close areaportals
|
||||
if ( ent->teammaster == ent || !ent->teammaster ) {
|
||||
|
@ -777,10 +777,10 @@ void Reached_BinaryMover( gentity_t *ent ) {
|
|||
|
||||
/*
|
||||
================
|
||||
Use_BinaryMover
|
||||
G_Mover_UseBinaryMover
|
||||
================
|
||||
*/
|
||||
void Use_BinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator ) {
|
||||
void G_Mover_UseBinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator ) {
|
||||
int total;
|
||||
int partial;
|
||||
|
||||
|
@ -825,7 +825,7 @@ void Use_BinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator ) {
|
|||
|
||||
// only the master should be used
|
||||
if ( ent->flags & FL_TEAMSLAVE ) {
|
||||
Use_BinaryMover( ent->teammaster, other, activator );
|
||||
G_Mover_UseBinaryMover( ent->teammaster, other, activator );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1017,7 +1017,7 @@ void InitMover( gentity_t *ent ) {
|
|||
}
|
||||
|
||||
|
||||
ent->use = Use_BinaryMover;
|
||||
ent->use = G_Mover_UseBinaryMover;
|
||||
if(Q_stricmp(ent->classname, "func_mover"))
|
||||
ent->reached = Reached_BinaryMover;
|
||||
else
|
||||
|
@ -1126,7 +1126,7 @@ void InitRotator( gentity_t *ent ) {
|
|||
}
|
||||
|
||||
|
||||
ent->use = Use_BinaryMover;
|
||||
ent->use = G_Mover_UseBinaryMover;
|
||||
ent->reached = Reached_BinaryMover;
|
||||
|
||||
ent->moverState = ROTATOR_POS1;
|
||||
|
@ -1184,7 +1184,7 @@ void Blocked_Door( gentity_t *ent, gentity_t *other ) {
|
|||
}
|
||||
|
||||
// reverse direction
|
||||
Use_BinaryMover( ent, ent, other );
|
||||
G_Mover_UseBinaryMover( ent, ent, other );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1219,10 +1219,10 @@ void DoorTriggerReactivate(gentity_t *ent);
|
|||
|
||||
/*
|
||||
================
|
||||
Touch_DoorTrigger
|
||||
G_Mover_TouchDoorTrigger
|
||||
================
|
||||
*/
|
||||
void Touch_DoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace ) {
|
||||
void G_Mover_TouchDoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace ) {
|
||||
#if 0
|
||||
vec3_t vec, doorcenter, movedir;
|
||||
float dot, dist ;
|
||||
|
@ -1270,7 +1270,7 @@ void Touch_DoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace ) {
|
|||
else if ( ent->parent->moverState != MOVER_1TO2 &&
|
||||
ent->parent->moverState != ROTATOR_1TO2 )
|
||||
{
|
||||
Use_BinaryMover( ent->parent, ent, other );
|
||||
G_Mover_UseBinaryMover( ent->parent, ent, other );
|
||||
}
|
||||
if(ent->parent->flags & FL_LOCKED) {
|
||||
ent->touch = 0;
|
||||
|
@ -1279,7 +1279,7 @@ void Touch_DoorTrigger( gentity_t *ent, gentity_t *other, trace_t *trace ) {
|
|||
}
|
||||
|
||||
void DoorTriggerReactivate(gentity_t *ent) {
|
||||
ent->touch = Touch_DoorTrigger;
|
||||
ent->touch = G_Mover_TouchDoorTrigger;
|
||||
ent->nextthink = -1;
|
||||
}
|
||||
|
||||
|
@ -1348,7 +1348,7 @@ void Think_SpawnNewDoorTrigger( gentity_t *ent ) {
|
|||
VectorCopy (maxs, other->r.maxs);
|
||||
other->parent = ent;
|
||||
other->r.contents = CONTENTS_TRIGGER;
|
||||
other->touch = Touch_DoorTrigger;
|
||||
other->touch = G_Mover_TouchDoorTrigger;
|
||||
// remember the thinnest axis
|
||||
other->count = best;
|
||||
//RPG-X | GSIO01 | 08/05/2009 | SOE = START OF EDIT ... lol
|
||||
|
@ -1620,13 +1620,13 @@ void Touch_PlatCenterTrigger(gentity_t *ent, gentity_t *other, trace_t *trace )
|
|||
#endif
|
||||
|
||||
if ( ent->parent->moverState == MOVER_POS1 ) {
|
||||
Use_BinaryMover( ent->parent, ent, other );
|
||||
G_Mover_UseBinaryMover( ent->parent, ent, other );
|
||||
}
|
||||
}
|
||||
|
||||
void func_plat_use(gentity_t *ent, gentity_t *other, gentity_t *activator) {
|
||||
if (ent->parent->moverState == MOVER_POS1 ) {
|
||||
Use_BinaryMover(ent->parent, other, activator);
|
||||
G_Mover_UseBinaryMover(ent->parent, other, activator);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1770,7 +1770,7 @@ void Touch_Button(gentity_t *ent, gentity_t *other, trace_t *trace ) {
|
|||
#endif
|
||||
|
||||
if ( ent->moverState == MOVER_POS1 ) {
|
||||
Use_BinaryMover( ent, other, other );
|
||||
G_Mover_UseBinaryMover( ent, other, other );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2446,7 +2446,7 @@ void SP_func_rotating (gentity_t *ent) {
|
|||
ent->distance = 0;
|
||||
}
|
||||
|
||||
//ent->use = func_rotating_use; //RPG-X | GSIO01 --- weren't you aware that InitMover sets the use func to Use_BinaryMover Phenix??
|
||||
//ent->use = func_rotating_use; //RPG-X | GSIO01 --- weren't you aware that InitMover sets the use func to G_Mover_UseBinaryMover Phenix??
|
||||
|
||||
if (!ent->booleanstate)
|
||||
{
|
||||
|
@ -2963,7 +2963,7 @@ ADVANCED MOVER
|
|||
*/
|
||||
|
||||
void Move_AdvancedMover(gentity_t *ent) {
|
||||
Use_BinaryMover(ent, NULL, ent->activator);
|
||||
G_Mover_UseBinaryMover(ent, NULL, ent->activator);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3000,7 +3000,7 @@ void Reached_AdvancedMover(gentity_t *ent) {
|
|||
|
||||
if( touched->wait < 0) {
|
||||
ent->nextthink = -1; // wait here until used again
|
||||
ent->use = Use_BinaryMover;
|
||||
ent->use = G_Mover_UseBinaryMover;
|
||||
if(ent->damage) {
|
||||
temp = G_Find(NULL, FOFS(targetname), touched->target);
|
||||
if(!temp) {
|
||||
|
|
|
@ -70,7 +70,7 @@ into a wall.
|
|||
@param v vector to round
|
||||
@param to rounded vector
|
||||
*/
|
||||
void SnapVectorTowards( vec3_t v, vec3_t to ) {
|
||||
void G_Weapon_SnapVectorTowards( vec3_t v, vec3_t to ) {
|
||||
int i;
|
||||
|
||||
for ( i = 0 ; i < 3 ; i++ ) {
|
||||
|
@ -1318,7 +1318,7 @@ static void WP_FireQuantumBurst( gentity_t *ent, qboolean alt_fire )
|
|||
* @param target the target entity
|
||||
* @param attacker the attacker entity
|
||||
*/
|
||||
qboolean LogAccuracyHit( gentity_t *target, gentity_t *attacker ) {
|
||||
qboolean G_Weapon_LogAccuracyHit( gentity_t *target, gentity_t *attacker ) {
|
||||
if( !target->takedamage ) {
|
||||
return qfalse;
|
||||
}
|
||||
|
@ -1394,7 +1394,7 @@ static void CorrectForwardVector(gentity_t *ent, vec3_t fwd, vec3_t muzzlePoint,
|
|||
|
||||
/*
|
||||
===============
|
||||
CalcMuzzlePoint
|
||||
G_Weapon_CalcMuzzlePoint
|
||||
|
||||
set muzzle location relative to pivoting eye
|
||||
===============
|
||||
|
@ -1493,7 +1493,7 @@ static float WP_ShotAltSize[WP_NUM_WEAPONS] =
|
|||
* @param muzzlePoint the muzzle point
|
||||
* @param projsize projsize
|
||||
*/
|
||||
void CalcMuzzlePoint ( gentity_t *ent, vec3_t fwd, vec3_t rt, vec3_t vup, vec3_t muzzlePoint, float projsize)
|
||||
void G_Weapon_CalcMuzzlePoint ( gentity_t *ent, vec3_t fwd, vec3_t rt, vec3_t vup, vec3_t muzzlePoint, float projsize)
|
||||
{
|
||||
int weapontype;
|
||||
|
||||
|
@ -1669,7 +1669,7 @@ static void WP_SprayVoyagerHypo( gentity_t *ent, qboolean alt_fire )
|
|||
if( (tr_ent && tr_ent->client) && (tr_ent->health == 1) && (tr_ent->client->ps.pm_type == PM_DEAD)){
|
||||
tr_entPs = &tr_ent->client->ps;
|
||||
if(rpg_medicsrevive.integer == 1){
|
||||
ClientSpawn(tr_ent, 1, qtrue);
|
||||
G_Client_Spawn(tr_ent, 1, qtrue);
|
||||
|
||||
/* TiM : Hard coded emote. Makes the player play a 'get up' animation :) */
|
||||
/* G_MoveBox( tr_ent ); */
|
||||
|
@ -1692,7 +1692,7 @@ static void WP_SprayVoyagerHypo( gentity_t *ent, qboolean alt_fire )
|
|||
tr_entPs = &tr_ent->client->ps;
|
||||
if(alt_fire && rpg_hypoMelee.integer) { /* alt fire and hypo melee enabled */
|
||||
tr_ent->health = 0;
|
||||
player_die( tr_ent, ent, ent, 100, MOD_KNOCKOUT );
|
||||
G_Client_Die( tr_ent, ent, ent, 100, MOD_KNOCKOUT );
|
||||
G_LogWeaponFire( ent->s.number, WP_12 );
|
||||
} else { /* else just heal */
|
||||
if ( tr_ent->health < tr_entPs->stats[STAT_MAX_HEALTH] )
|
||||
|
@ -1742,7 +1742,7 @@ void FireWeapon( gentity_t *ent, qboolean alt_fire )
|
|||
{
|
||||
projsize = WP_ShotSize[ent->s.weapon];
|
||||
}
|
||||
CalcMuzzlePoint ( ent, forward, right, up, muzzle, projsize);
|
||||
G_Weapon_CalcMuzzlePoint ( ent, forward, right, up, muzzle, projsize);
|
||||
|
||||
/* fire the specific weapon */
|
||||
switch( ent->s.weapon )
|
||||
|
|
Loading…
Reference in a new issue