X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fdefs.qh;h=54d1ed041f3afda186a7689a674ea572e3a0612b;hb=c51698509e174e343dff48128a1dcfff1527c535;hp=757ee65e2799449c1afd71e68aaf2339596faada;hpb=467f9a68020fe4b2ed455f4ff66ae9638063d27b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 757ee65e2..4a7edc2b9 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -1,6 +1,9 @@ -#define INDEPENDENT_ATTACK_FINISHED +#ifndef SERVER_DEFS_H +#define SERVER_DEFS_H + +#include "../common/weapons/all.qh" -noref float require_spawnfunc_prefix; // if this float exists, only functions with spawnfunc_ name prefix qualify as spawn functions +#define INDEPENDENT_ATTACK_FINISHED #define BUTTON_ATCK button0 #define BUTTON_JUMP button2 @@ -41,8 +44,6 @@ float g_jetpack; float sv_clones; float sv_foginterval; -entity activator; - float player_count; float currentbots; float bots_would_leave; @@ -59,27 +60,17 @@ float server_is_dedicated; // Fields -.void(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) event_damage; +.void(entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force) event_damage; //.string wad; //.string map; //.float worldtype; -.float delay; -.float wait; -.float lip; -//.float light_lev; -.float speed; -//.float style; -//.float skill; -.float sounds; -.string platmovetype; -.float platmovetype_start, platmovetype_end; - -.string killtarget; - -.vector pos1, pos2; -.vector mangle; +// Needed for dynamic clientwalls +.float inactive; // Clientwall disappears when inactive +.float alpha_max, alpha_min; +.float fade_start, fade_end, fade_vertical_offset; +.float default_solid; // Variable to store default self.solid for clientwalls .float pain_finished; //Added by Supajoe .float pain_frame; //" @@ -89,34 +80,18 @@ float server_is_dedicated; .float invincible_finished; .float superweapons_finished; -.vector finaldest, finalangle; //plat.qc stuff -.void() think1; -.float state; -.float t_length, t_width; - -.vector destvec; // for rain -.vector destvec2; // for train -.float cnt; // for rain +.float cnt; // used in too many places .float count; //.float cnt2; .float play_time; -.float respawn_flags; +.int respawn_flags; .float respawn_time; .float respawn_time_max; .float death_time; .float fade_time; .float fade_rate; -// player animation state -.float animstate_startframe; -.float animstate_numframes; -.float animstate_framerate; -.float animstate_starttime; -.float animstate_endtime; -.float animstate_override; -.float animstate_looping; - // weapon animation vectors: .vector anim_fire1; .vector anim_fire2; @@ -133,13 +108,14 @@ void setanim(entity e, vector anim, float looping, float override, float restart .float species; +.float scheduledrespawntime; .float respawntime; .float respawntimejitter; //.float chasecam; .float damageforcescale; -#define MIN_DAMAGEEXTRARADIUS 2 -#define MAX_DAMAGEEXTRARADIUS 16 +const float MIN_DAMAGEEXTRARADIUS = 2; +const float MAX_DAMAGEEXTRARADIUS = 16; .float damageextraradius; //.float gravity; @@ -169,7 +145,9 @@ void setanim(entity e, vector anim, float looping, float override, float restart .float pauserothealth_finished; .float pauserotarmor_finished; .float pauserotfuel_finished; +// string overrides entity .string item_pickupsound; +.entity item_pickupsound_ent; // definitions for weaponsystem // more WEAPONTODO: move these to their proper files @@ -177,54 +155,40 @@ void setanim(entity e, vector anim, float looping, float override, float restart .entity exteriorweaponentity; .vector weaponentity_glowmod; -//.float weapon; // current weapon -.float switchweapon; // weapon requested to switch to -.float switchingweapon; // weapon currently being switched to (is copied from switchweapon once switch is possible) +//.int weapon; // current weapon +.int switchweapon; // weapon requested to switch to +.int switchingweapon; // weapon currently being switched to (is copied from switchweapon once switch is possible) .string weaponname; // name of .weapon // WEAPONTODO .float autoswitch; -//float WEP_ACTION(float wpn, float wrequest); float client_hasweapon(entity cl, float wpn, float andammo, float complain); -void w_clear(); -void w_ready(); +void w_clear(Weapon thiswep, entity actor, bool fire1, bool fire2); +void w_ready(Weapon thiswep, entity actor, bool fire1, bool fire2); // VorteX: standalone think for weapons, so normal think on weaponentity can be reserved by weaponflashes (which needs update even player dies) .float weapon_nextthink; -.void() weapon_think; +.void(Weapon thiswep, entity actor, bool fire1, bool fire2) weapon_think; // weapon states (self.weaponentity.state) -const float WS_CLEAR = 0; // no weapon selected -const float WS_RAISE = 1; // raise frame -const float WS_DROP = 2; // deselecting frame -const float WS_INUSE = 3; // fire state -const float WS_READY = 4; // idle frame +const int WS_CLEAR = 0; // no weapon selected +const int WS_RAISE = 1; // raise frame +const int WS_DROP = 2; // deselecting frame +const int WS_INUSE = 3; // fire state +const int WS_READY = 4; // idle frame // there is 2 weapon tics that can run in one server frame -#define W_TICSPERFRAME 2 +const int W_TICSPERFRAME = 2; void weapon_defaultspawnfunc(float wpn); -.vector dest1, dest2; - float gameover; float intermission_running; float intermission_exittime; float alreadychangedlevel; -// Keys player is holding -.float itemkeys; -// message delay for func_door locked by keys and key locks -// this field is used on player entities -.float key_door_messagetime; - - .float version; -//swamp -.float in_swamp; // bool -.entity swampslug; // Uses this to release from swamp ("untouch" fix) - // footstep interval .float nextstep; @@ -245,7 +209,7 @@ float nJoinAllowed(entity ignore); .entity flagcarried; -.float playerid; +.int playerid; float playerid_last; .float noalign; // if set to 1, the item or spawnpoint won't be dropped to the floor @@ -279,10 +243,6 @@ float default_weapon_alpha; .float version_nagtime; -#define NUM_JUMPPADSUSED 3 -.float jumppadcount; -.entity jumppadsused[NUM_JUMPPADSUSED]; - string gamemode_name; float startitem_failed; @@ -295,11 +255,13 @@ void FixClientCvars(entity e); // WEAPONTODO: remove this WepSet weaponsInMap; +.WepSet weaponsinmap; + .float respawn_countdown; // next number to count float bot_waypoints_for_items; -.float attack_finished_for[WEP_MAXCOUNT]; +.float attack_finished_for[Weapons_MAX]; .float attack_finished_single; #ifdef INDEPENDENT_ATTACK_FINISHED #define ATTACK_FINISHED_FOR(ent,w) ((ent).(attack_finished_for[(w) - WEP_FIRST])) @@ -328,7 +290,7 @@ float have_team_spawns_forteam[17]; // 0 = this team has no spawns, 1 = this tea .entity killindicator; .float killindicator_teamchange; -void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force); +void Damage (entity targ, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force); float lockteams; @@ -340,10 +302,6 @@ float tracebox_hits_trigger_hurt(vector start, vector mi, vector ma, vector end) float next_pingtime; -.float Version; -.float SendFlags; -.float(entity to, float sendflags) SendEntity; - // player sounds, voice messages // TODO implemented fall and falling #define ALLPLAYERSOUNDS \ @@ -388,18 +346,19 @@ ALLVOICEMSGS // _VOICEMSG(droppedflag) \ // _VOICEMSG(negative) \ // _VOICEMSG(seenenemy) \ +// /**/ string globalsound_fall; string globalsound_metalfall; string globalsound_step; string globalsound_metalstep; -#define VOICETYPE_PLAYERSOUND 10 -#define VOICETYPE_TEAMRADIO 11 -#define VOICETYPE_LASTATTACKER 12 -#define VOICETYPE_LASTATTACKER_ONLY 13 -#define VOICETYPE_AUTOTAUNT 14 -#define VOICETYPE_TAUNT 15 +const float VOICETYPE_PLAYERSOUND = 10; +const float VOICETYPE_TEAMRADIO = 11; +const float VOICETYPE_LASTATTACKER = 12; +const float VOICETYPE_LASTATTACKER_ONLY = 13; +const float VOICETYPE_AUTOTAUNT = 14; +const float VOICETYPE_TAUNT = 15; void PrecachePlayerSounds(string f); void PrecacheGlobalSound(string samplestring); @@ -427,7 +386,7 @@ float independent_players; string clientstuff; .float phase; -.float pressedkeys; +.int pressedkeys; .float porto_forbidden; @@ -442,14 +401,9 @@ float round_starttime; //point in time when the countdown to round start is over .float stat_game_starttime; .float stat_round_starttime; -.float stat_sv_airaccel_qw; -.float stat_sv_airstrafeaccel_qw; -.float stat_sv_airspeedlimit_nonqw; -.float stat_sv_maxspeed; - void W_Porto_Remove (entity p); -.float projectiledeathtype; +.int projectiledeathtype; .string message2; @@ -459,16 +413,6 @@ void W_Porto_Remove (entity p); // may be useful to all weapons .float bulletcounter; -void target_voicescript_next(entity pl); -void target_voicescript_clear(entity pl); - -.string target2; -.string target3; -.string target4; -.string curvetarget; -.float target_random; -.float trigger_reverse; - // Nexball .entity ballcarried; // Also used for keepaway .float metertime; @@ -510,19 +454,19 @@ string matchid; .float hit_time; .float typehit_time; -.float damage_dealt_total; +.float damage_dealt_total; .float stat_leadlimit; -float radar_showennemies; +bool radar_showennemies; #ifdef PROFILING float client_cefc_accumulator; float client_cefc_accumulatortime; #endif -.float weapon_load[WEP_MAXCOUNT]; -.float ammo_none; // used by the reloading system, must always be 0 +.float weapon_load[Weapons_MAX]; +.int ammo_none; // used by the reloading system, must always be 0 .float clip_load; .float old_clip_load; .float clip_size; @@ -534,7 +478,7 @@ float client_cefc_accumulatortime; .float vortex_chargepool_ammo; .float hagar_load; -.float grab; // 0 = can't grab, 1 = owner can grab, 2 = owner and team mates can grab, 3 = anyone can grab +.int grab; // 0 = can't grab, 1 = owner can grab, 2 = owner and team mates can grab, 3 = anyone can grab #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE // when doing this, hagar can go through clones @@ -556,16 +500,16 @@ string deathmessage; .float ballistics_density; // wall piercing factor, larger = bullet can pass through more -#define ACTIVE_NOT 0 -#define ACTIVE_ACTIVE 1 -#define ACTIVE_IDLE 2 -#define ACTIVE_BUSY 2 -#define ACTIVE_TOGGLE 3 +const float ACTIVE_NOT = 0; +const float ACTIVE_ACTIVE = 1; +const float ACTIVE_IDLE = 2; +const float ACTIVE_BUSY = 2; +const float ACTIVE_TOGGLE = 3; .float active; .void (float act_state) setactive; .entity realowner; -float serverflags; +//float serverflags; .float team_forced; // can be a team number to force a team, or 0 for default action, or -1 for forced spectator @@ -589,26 +533,24 @@ void PlayerUseKey(); typedef vector(entity player, entity spot, vector current) spawn_evalfunc_t; .spawn_evalfunc_t spawn_evalfunc; -.entity conveyor; - string modname; .float missile_flags; -#define MIF_SPLASH 2 -#define MIF_ARC 4 -#define MIF_PROXY 8 -#define MIF_GUIDED_MANUAL 16 -#define MIF_GUIDED_HEAT 32 -#define MIF_GUIDED_LASER 64 -#define MIF_GUIDED_AI 128 -#define MIF_GUIDED_TAG 128 +const int MIF_SPLASH = 2; +const int MIF_ARC = 4; +const int MIF_PROXY = 8; +const int MIF_GUIDED_MANUAL = 16; +const int MIF_GUIDED_HEAT = 32; +const int MIF_GUIDED_LASER = 64; +const int MIF_GUIDED_AI = 128; +const int MIF_GUIDED_TAG = 128; #define MIF_GUIDED_ALL (MIF_GUIDED_MANUAL | MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG) #define MIF_GUIDED_TRACKING (MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG) #define MIF_GUIDED_CONFUSABLE (MIF_GUIDED_HEAT | MIF_GUIDED_AI) -#define MISSILE_IS_CONFUSABLE(m) ((m.missile_flags & MIF_GUIDED_CONFUSABLE) ? TRUE : FALSE) -#define MISSILE_IS_GUIDED(m) ((m.missile_flags & MIF_GUIDED_ALL) ? TRUE : FALSE) -#define MISSILE_IS_TRACKING(m) ((m.missile_flags & MIF_GUIDED_TRACKING) ? TRUE : FALSE) +#define MISSILE_IS_CONFUSABLE(m) ((m.missile_flags & MIF_GUIDED_CONFUSABLE) ? true : false) +#define MISSILE_IS_GUIDED(m) ((m.missile_flags & MIF_GUIDED_ALL) ? true : false) +#define MISSILE_IS_TRACKING(m) ((m.missile_flags & MIF_GUIDED_TRACKING) ? true : false) //// @@ -618,3 +560,10 @@ string modname; .string playernick; .float elos; .float ranks; + +.string cvar_cl_physics; + +.float init_for_player_needed; +.void(entity) init_for_player; + +#endif