X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fstats.qh;h=cf51ea66b3ebf7b24d86c16c89756347fa5bca0c;hp=daa1d3c8b7bd205640288198c94a0eb7f010dede;hb=cbfa6acc081f8aca940a8d7b256d5e966e31a8d4;hpb=f84d4c215d826d9b035e1ba79a22af077f123f55 diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh index daa1d3c8b..cda98d54d 100644 --- a/qcsrc/common/stats.qh +++ b/qcsrc/common/stats.qh @@ -3,6 +3,7 @@ #ifdef SVQC #include #include +#include #endif // Full list of all stat constants, included in a single location for easy reference @@ -16,18 +17,16 @@ const int MAX_CL_STATS = 256; // const int STAT_NAILS = 7; // const int STAT_ROCKETS = 8; // const int STAT_CELLS = 9; -// const int STAT_ACTIVEWEAPON = 10; // const int STAT_ITEMS = 15; // .items | .items2 << 23 | serverflags << 28 // const int STAT_VIEWHEIGHT = 16; #if defined(CSQC) #define g_stat_HEALTH getstati(STAT_HEALTH) - #define g_stat_ARMOR getstat_int(STAT_ARMOR) - #define g_stat_SHELLS getstat_int(STAT_SHELLS) - #define g_stat_NAILS getstat_int(STAT_NAILS) - #define g_stat_ROCKETS getstat_int(STAT_ROCKETS) - #define g_stat_CELLS getstat_int(STAT_CELLS) - #define g_stat_ACTIVEWEAPON getstat_int(STAT_ACTIVEWEAPON) + #define g_stat_ARMOR getstati(STAT_ARMOR) + #define g_stat_SHELLS getstati(STAT_SHELLS) + #define g_stat_NAILS getstati(STAT_NAILS) + #define g_stat_ROCKETS getstati(STAT_ROCKETS) + #define g_stat_CELLS getstati(STAT_CELLS) #define g_stat_ITEMS getstat_int(STAT_ITEMS) #define g_stat_VIEWHEIGHT getstati(STAT_VIEWHEIGHT) #elif defined(SVQC) @@ -37,14 +36,17 @@ const int MAX_CL_STATS = 256; #define stat_NAILS ammo_nails #define stat_ROCKETS ammo_rockets #define stat_CELLS ammo_cells - #define stat_ACTIVEWEAPON weapon #define stat_ITEMS items #define stat_VIEWHEIGHT view_ofs_z #endif #ifdef SVQC +/// all the weapons actually spawned in the map, does not include filtered items vector weaponsInMap; +/// all the weapons placed by the mapper (weaponreplace applied), ignores most filters +vector weaponsInMapAll; #endif + REGISTER_STAT(WEAPONS, vectori) REGISTER_STAT(WEAPONSINMAP, vectori, weaponsInMap) @@ -62,8 +64,8 @@ REGISTER_STAT(KH_KEYS, int) #ifdef SVQC float W_WeaponRateFactor(entity this); float game_stopped; -float game_starttime; -float round_starttime; +float game_starttime; //point in time when the countdown to game start is over +float round_starttime; //point in time when the countdown to round start is over bool autocvar_g_allow_oldvortexbeam; int autocvar_leadlimit; #endif @@ -73,7 +75,6 @@ REGISTER_STAT(GAMESTARTTIME, float, game_starttime) REGISTER_STAT(STRENGTH_FINISHED, float) REGISTER_STAT(INVINCIBLE_FINISHED, float) /** arc heat in [0,1] */ -REGISTER_STAT(ARC_HEAT, float) REGISTER_STAT(PRESSED_KEYS, int) /** this stat could later contain some other bits of info, like, more server-side particle config */ REGISTER_STAT(ALLOW_OLDVORTEXBEAM, bool, autocvar_g_allow_oldvortexbeam) @@ -82,19 +83,15 @@ REGISTER_STAT(NB_METERSTART, float) /** compressShotOrigin */ REGISTER_STAT(SHOTORG, int) REGISTER_STAT(LEADLIMIT, float, autocvar_leadlimit) -REGISTER_STAT(WEAPON_CLIPLOAD, int) -REGISTER_STAT(WEAPON_CLIPSIZE, int) +REGISTER_STAT(LEADLIMIT_AND_FRAGLIMIT, float, autocvar_leadlimit_and_fraglimit) -REGISTER_STAT(VORTEX_CHARGE, float) REGISTER_STAT(LAST_PICKUP, float) REGISTER_STAT(HUD, int) -REGISTER_STAT(VORTEX_CHARGEPOOL, float) REGISTER_STAT(HIT_TIME, float) REGISTER_STAT(DAMAGE_DEALT_TOTAL, int) REGISTER_STAT(TYPEHIT_TIME, float) -REGISTER_STAT(LAYED_MINES, int) -REGISTER_STAT(HAGAR_LOAD, int) REGISTER_STAT(SUPERWEAPONS_FINISHED, float) +REGISTER_STAT(AIR_FINISHED, float) REGISTER_STAT(VEHICLESTAT_HEALTH, int) REGISTER_STAT(VEHICLESTAT_SHIELD, int) REGISTER_STAT(VEHICLESTAT_ENERGY, int) @@ -104,8 +101,8 @@ REGISTER_STAT(VEHICLESTAT_AMMO2, int) REGISTER_STAT(VEHICLESTAT_RELOAD2, int) REGISTER_STAT(VEHICLESTAT_W2MODE, int) REGISTER_STAT(NADE_TIMER, float) -REGISTER_STAT(SECRETS_TOTAL, float) -REGISTER_STAT(SECRETS_FOUND, float) +REGISTER_STAT(SECRETS_TOTAL, int, secrets_total) +REGISTER_STAT(SECRETS_FOUND, int, secrets_found) REGISTER_STAT(RESPAWN_TIME, float) REGISTER_STAT(ROUNDSTARTTIME, float, round_starttime) REGISTER_STAT(MONSTERS_TOTAL, int) @@ -127,6 +124,13 @@ REGISTER_STAT(ENTRAP_ORB, float) REGISTER_STAT(ENTRAP_ORB_ALPHA, float) REGISTER_STAT(ITEMSTIME, int, autocvar_sv_itemstime) REGISTER_STAT(KILL_TIME, float) +REGISTER_STAT(VEIL_ORB, float) +REGISTER_STAT(VEIL_ORB_ALPHA, float) + +#ifdef SVQC +float autocvar_sv_showfps = 5; +#endif +REGISTER_STAT(SHOWFPS, float, autocvar_sv_showfps) #ifdef SVQC bool autocvar_g_ctf_leaderboard; @@ -139,11 +143,13 @@ float autocvar_g_multijump_add; float autocvar_g_multijump_speed; float autocvar_g_multijump_maxspeed; float autocvar_g_multijump_dodging = 1; +bool autocvar_g_multijump_client = true; #endif REGISTER_STAT(MULTIJUMP_DODGING, int, autocvar_g_multijump_dodging) REGISTER_STAT(MULTIJUMP_MAXSPEED, float, autocvar_g_multijump_maxspeed) REGISTER_STAT(MULTIJUMP_ADD, int, autocvar_g_multijump_add) REGISTER_STAT(MULTIJUMP_SPEED, float, autocvar_g_multijump_speed) +REGISTER_STAT(MULTIJUMP_CLIENT, bool, autocvar_g_multijump_client) .int multijump_count; REGISTER_STAT(MULTIJUMP_COUNT, int, this.multijump_count) REGISTER_STAT(MULTIJUMP, int, autocvar_g_multijump) @@ -183,20 +189,32 @@ REGISTER_STAT(BUGRIGS_SPEED_REF, float, g_bugrigs_speed_ref) REGISTER_STAT(BUGRIGS_STEER, float, g_bugrigs_steer) #ifdef SVQC -int autocvar_sv_gameplayfix_downtracesupportsongroundflag; -int autocvar_sv_gameplayfix_easierwaterjump; -int autocvar_sv_gameplayfix_stepdown; -int autocvar_sv_gameplayfix_stepmultipletimes; -int autocvar_sv_gameplayfix_unstickplayers; -int autocvar_sv_gameplayfix_fixedcheckwatertransition; +int autocvar_sv_gameplayfix_downtracesupportsongroundflag = 1; +int autocvar_sv_gameplayfix_easierwaterjump = 1; +int autocvar_sv_gameplayfix_stepdown = 2; +float autocvar_sv_gameplayfix_stepdown_maxspeed = 0; +int autocvar_sv_gameplayfix_stepmultipletimes = 1; +int autocvar_sv_gameplayfix_unstickplayers = 2; +int autocvar_sv_gameplayfix_fixedcheckwatertransition = 1; +int autocvar_sv_gameplayfix_slidemoveprojectiles = 1; +int autocvar_sv_gameplayfix_grenadebouncedownslopes = 1; +int autocvar_sv_gameplayfix_noairborncorpse = 1; +int autocvar_sv_gameplayfix_noairborncorpse_allowsuspendeditems = 1; +int autocvar_sv_gameplayfix_delayprojectiles = 0; #endif REGISTER_STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, int, autocvar_sv_gameplayfix_downtracesupportsongroundflag) REGISTER_STAT(GAMEPLAYFIX_EASIERWATERJUMP, int, autocvar_sv_gameplayfix_easierwaterjump) REGISTER_STAT(GAMEPLAYFIX_STEPDOWN, int, autocvar_sv_gameplayfix_stepdown) +REGISTER_STAT(GAMEPLAYFIX_STEPDOWN_MAXSPEED, float, autocvar_sv_gameplayfix_stepdown_maxspeed) REGISTER_STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, int, autocvar_sv_gameplayfix_stepmultipletimes) REGISTER_STAT(GAMEPLAYFIX_UNSTICKPLAYERS, int, autocvar_sv_gameplayfix_unstickplayers) REGISTER_STAT(GAMEPLAYFIX_UPVELOCITYCLEARSONGROUND, int, autocvar_sv_gameplayfix_upwardvelocityclearsongroundflag) REGISTER_STAT(GAMEPLAYFIX_WATERTRANSITION, int, autocvar_sv_gameplayfix_fixedcheckwatertransition) +REGISTER_STAT(GAMEPLAYFIX_SLIDEMOVEPROJECTILES, int, autocvar_sv_gameplayfix_slidemoveprojectiles) +REGISTER_STAT(GAMEPLAYFIX_GRENADEBOUNCESLOPES, int, autocvar_sv_gameplayfix_grenadebouncedownslopes) +REGISTER_STAT(GAMEPLAYFIX_NOAIRBORNCORPSE, int, autocvar_sv_gameplayfix_noairborncorpse) +REGISTER_STAT(NOAIRBORNCORPSE_ALLOWSUSPENDED, int, autocvar_sv_gameplayfix_noairborncorpse_allowsuspendeditems) +REGISTER_STAT(GAMEPLAYFIX_DELAYPROJECTILES, int, autocvar_sv_gameplayfix_delayprojectiles) REGISTER_STAT(MOVEVARS_JUMPSTEP, int, cvar("sv_jumpstep")) REGISTER_STAT(NOSTEP, int, cvar("sv_nostep")) @@ -228,6 +246,7 @@ bool autocvar_sv_dodging_wall_dodging; bool autocvar_sv_dodging_air_dodging; float autocvar_sv_dodging_maxspeed; float autocvar_sv_dodging_air_maxspeed; +bool autocvar_sv_dodging_clientselect; #endif #if 0 @@ -247,6 +266,7 @@ REGISTER_STAT(DODGING_WALL, bool, autocvar_sv_dodging_wall_dodging) REGISTER_STAT(DODGING_AIR, bool, autocvar_sv_dodging_air_dodging) REGISTER_STAT(DODGING_MAXSPEED, float, autocvar_sv_dodging_maxspeed) REGISTER_STAT(DODGING_AIR_MAXSPEED, float, autocvar_sv_dodging_air_maxspeed) +REGISTER_STAT(DODGING_CLIENTSELECT, bool, autocvar_sv_dodging_clientselect) #endif /** cvar loopback */ REGISTER_STAT(DODGING_FROZEN, int, autocvar_sv_dodging_frozen) @@ -276,6 +296,11 @@ REGISTER_STAT(WALLJUMP_DELAY, float, autocvar_g_walljump_delay) REGISTER_STAT(WALLJUMP_FORCE, float, autocvar_g_walljump_force) REGISTER_STAT(LASTWJ, float) +#ifdef SVQC +float autocvar_g_bloodloss; +#endif +REGISTER_STAT(BLOODLOSS, float, autocvar_g_bloodloss) + // freeze tag, clan arena REGISTER_STAT(REDALIVE, int) REGISTER_STAT(BLUEALIVE, int) @@ -301,11 +326,23 @@ bool autocvar_sv_slick_applygravity; #endif REGISTER_STAT(SLICK_APPLYGRAVITY, bool, autocvar_sv_slick_applygravity) +#ifdef SVQC +bool autocvar_sv_q3defragcompat; +#endif +REGISTER_STAT(Q3DEFRAGCOMPAT, bool, autocvar_sv_q3defragcompat) + #ifdef SVQC #include "physics/movetypes/movetypes.qh" float warmup_limit; #endif +#ifdef SVQC +bool autocvar_g_shootfromcenter; +bool autocvar_g_shootfromeye; +#endif +REGISTER_STAT(SHOOTFROMEYE, bool, autocvar_g_shootfromeye) +REGISTER_STAT(SHOOTFROMCENTER, bool, autocvar_g_shootfromcenter) + REGISTER_STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, float) REGISTER_STAT(MOVEVARS_AIRCONTROL_PENALTY, float) REGISTER_STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, float) @@ -313,7 +350,7 @@ REGISTER_STAT(MOVEVARS_AIRSTRAFEACCEL_QW, float) REGISTER_STAT(MOVEVARS_AIRCONTROL_POWER, float) REGISTER_STAT(MOVEVARS_AIRCONTROL_BACKWARDS, bool) REGISTER_STAT(MOVEVARS_AIRCONTROL_SIDEWARDS, bool) -noref bool autocvar_sv_gameplayfix_nogravityonground; +noref bool autocvar_sv_gameplayfix_nogravityonground = true; REGISTER_STAT(MOVEFLAGS, int, MOVEFLAG_VALID | (autocvar_sv_gameplayfix_q2airaccelerate ? MOVEFLAG_Q2AIRACCELERATE : 0) | (autocvar_sv_gameplayfix_nogravityonground ? MOVEFLAG_NOGRAVITYONGROUND : 0) @@ -353,15 +390,11 @@ REGISTER_STAT(MOVEVARS_STEPHEIGHT, float, autocvar_sv_stepheight) REGISTER_STAT(MOVEVARS_AIRACCEL_QW, float) REGISTER_STAT(MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION, float) REGISTER_STAT(MOVEVARS_SPECIALCOMMAND, bool) - - -#ifdef CSQC -noref int autocvar_cl_gunalign; -#endif #ifdef SVQC -.int cvar_cl_gunalign; -REPLICATE(cvar_cl_gunalign, int, "cl_gunalign"); +int autocvar_sv_wallclip; #endif +REGISTER_STAT(MOVEVARS_WALLCLIP, int, autocvar_sv_wallclip) + REGISTER_STAT(GUNALIGN, int) #ifdef SVQC SPECTATE_COPYFIELD(_STAT(GUNALIGN))