X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fstats.qh;h=7c29df469bdfce1e4a7596bbff0b642df4e9a782;hb=4ce007470c1496a3ff4574075281e6912019e533;hp=a57555edfa5b7b4f37bdc6a0fd962633e60f587f;hpb=1cbef966e133966c5b5f0f5b58fbd1a5851ed35b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh index a57555edf..7c29df469 100644 --- a/qcsrc/common/stats.qh +++ b/qcsrc/common/stats.qh @@ -1,20 +1,45 @@ #ifndef STATS_H #define STATS_H +#ifdef SVQC +#include "../server/cl_client.qh" +#endif + // Full list of all stat constants, included in a single location for easy reference // 255 is the current limit (MAX_CL_STATS - 1), engine will need to be modified if you wish to add more stats const int MAX_CL_STATS = 256; -#ifndef CSQC -const int STAT_HEALTH = 0; // .health -const int STAT_ARMOR = 4; // .armorvalue -const int STAT_SHELLS = 6; // .ammo_shells -const int STAT_NAILS = 7; // .ammo_nails -const int STAT_ROCKETS = 8; // .ammo_rockets -const int STAT_CELLS = 9; // .ammo_cells -const int STAT_ACTIVEWEAPON = 10; // .weapon -const int STAT_ITEMS = 15; // .items | .items2 << 23 | serverflags << 28 -const int STAT_VIEWHEIGHT = 16; // .view_ofs_z + +// const int STAT_HEALTH = 0; +// const int STAT_ARMOR = 4; +// const int STAT_SHELLS = 6; +// 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_ITEMS getstat_int(STAT_ITEMS) + #define g_stat_VIEWHEIGHT getstati(STAT_VIEWHEIGHT) +#elif defined(SVQC) + #define stat_HEALTH health + #define stat_ARMOR armorvalue + #define stat_SHELLS ammo_shells + #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 REGISTER_STAT(WEAPONS, vectori) @@ -30,8 +55,18 @@ REGISTER_STAT(PL_MAX, vector, autocvar_sv_player_maxs) REGISTER_STAT(PL_CROUCH_MAX, vector, autocvar_sv_player_crouch_maxs) REGISTER_STAT(KH_KEYS, int) + /** weapon requested to switch to; next WANTED weapon (for HUD) */ REGISTER_STAT(SWITCHWEAPON, int) +/** weapon currently being switched to (is copied from switchweapon once switch is possible) */ +REGISTER_STAT(SWITCHINGWEAPON, int) +REGISTER_STAT(WEAPON_NEXTTHINK, float) +#ifdef SVQC +SPECTATE_COPYFIELD(_STAT(WEAPON_NEXTTHINK)) +float W_WeaponRateFactor(); +#endif +REGISTER_STAT(WEAPONRATEFACTOR, float, W_WeaponRateFactor()) + REGISTER_STAT(GAMESTARTTIME, float) REGISTER_STAT(STRENGTH_FINISHED, float) REGISTER_STAT(INVINCIBLE_FINISHED, float) @@ -57,7 +92,6 @@ REGISTER_STAT(DAMAGE_DEALT_TOTAL, int) REGISTER_STAT(TYPEHIT_TIME, float) REGISTER_STAT(LAYED_MINES, int) REGISTER_STAT(HAGAR_LOAD, int) -REGISTER_STAT(SWITCHINGWEAPON, int) REGISTER_STAT(SUPERWEAPONS_FINISHED, float) REGISTER_STAT(VEHICLESTAT_HEALTH, int) REGISTER_STAT(VEHICLESTAT_SHIELD, int) @@ -100,13 +134,15 @@ 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) +.int multijump_count; +REGISTER_STAT(MULTIJUMP_COUNT, int, this.multijump_count) REGISTER_STAT(MULTIJUMP, int, autocvar_g_multijump) REGISTER_STAT(DOUBLEJUMP, int, autocvar_sv_doublejump) #ifdef SVQC -float g_bugrigs; -float g_bugrigs_planar_movement; -float g_bugrigs_planar_movement_car_jumping; +bool g_bugrigs; +bool g_bugrigs_planar_movement; +bool g_bugrigs_planar_movement_car_jumping; float g_bugrigs_reverse_spinning; float g_bugrigs_reverse_speeding; float g_bugrigs_reverse_stopping; @@ -205,8 +241,13 @@ REGISTER_STAT(DOM_PPS_BLUE, float) REGISTER_STAT(DOM_PPS_YELLOW, float) REGISTER_STAT(DOM_PPS_PINK, float) +REGISTER_STAT(TELEPORT_MAXSPEED, float, autocvar_g_teleport_maxspeed) +REGISTER_STAT(TELEPORT_TELEFRAG_AVOID, int, autocvar_g_telefrags_avoid) + +REGISTER_STAT(SPECTATORSPEED, float) + #ifdef SVQC -#include "movetypes/movetypes.qh" +#include "physics/movetypes/movetypes.qh" #endif REGISTER_STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, float) @@ -251,4 +292,19 @@ REGISTER_STAT(MOVEVARS_MAXAIRSPEED, float) REGISTER_STAT(MOVEVARS_STEPHEIGHT, float, autocvar_sv_stepheight) REGISTER_STAT(MOVEVARS_AIRACCEL_QW, float) REGISTER_STAT(MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION, float) + + +#ifdef CSQC +noref int autocvar_cl_gunalign; +#endif +#ifdef SVQC +.int cvar_cl_gunalign; +REPLICATE(cvar_cl_gunalign, int, "cl_gunalign"); +#endif +REGISTER_STAT(GUNALIGN, int, this.cvar_cl_gunalign) +#ifdef SVQC +SPECTATE_COPYFIELD(_STAT(GUNALIGN)) +#endif + + #endif