X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Fall.qh;h=d9f5ce867ea22b699369789c8bf39e6b261ee00b;hb=939744d4779ea02689725129337e74ea12993f0c;hp=e63a931a67361df15b0d7b15f71fbc16e484c862;hpb=b945d959784e5b249c66aea4f3326d8ae048f1cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/all.qh b/qcsrc/common/turrets/all.qh index e63a931a6..d9f5ce867 100644 --- a/qcsrc/common/turrets/all.qh +++ b/qcsrc/common/turrets/all.qh @@ -6,13 +6,57 @@ #include "turret.qh" REGISTRY(Turrets, BITS(5)) -#define Turrets_from(i) _Turrets_from(i, TUR_Null) -#define get_turretinfo(i) Turrets_from(i) +#define get_turretinfo(i) REGISTRY_GET(Turrets, i) REGISTER_REGISTRY(Turrets) REGISTRY_CHECK(Turrets) +#define TR_PROPS_COMMON(P, class, prefix) \ + P(class, prefix, aim_firetolerance_dist, float) \ + P(class, prefix, aim_maxpitch, float) \ + P(class, prefix, aim_maxrot, float) \ + P(class, prefix, aim_speed, float) \ + P(class, prefix, ammo_max, float) \ + P(class, prefix, ammo_recharge, float) \ + P(class, prefix, health, float) \ + P(class, prefix, respawntime, float) \ + P(class, prefix, shot_dmg, float) \ + P(class, prefix, shot_force, float) \ + P(class, prefix, shot_radius, float) \ + P(class, prefix, shot_refire, float) \ + P(class, prefix, shot_speed, float) \ + P(class, prefix, shot_spread, float) \ + P(class, prefix, shot_volly, float) \ + P(class, prefix, shot_volly_refire, float) \ + P(class, prefix, target_range, float) \ + P(class, prefix, target_range_min, float) \ + P(class, prefix, target_range_optimal, float) \ + P(class, prefix, target_select_anglebias, float) \ + P(class, prefix, target_select_missilebias, float) \ + P(class, prefix, target_select_playerbias, float) \ + P(class, prefix, target_select_rangebias, float) \ + P(class, prefix, target_select_samebias, float) \ + P(class, prefix, track_accel_pitch, float) \ + P(class, prefix, track_accel_rot, float) \ + P(class, prefix, track_blendrate, float) \ + P(class, prefix, track_type, float) \ + /**/ -GENERIC_COMMAND(dumpturrets, "Dump all turrets into turrets_dump.txt") +#define TR_PROPS(L, class, prefix) \ + L(TR_CONFIG_BEGIN, TR_CONFIG, TR_CONFIG_END, class, prefix) \ + /**/ + +#define TR_CONFIG(class, turname, fld, T) _TR_CONFIG(class, fld, T, turname) +#ifdef SVQC + #define TR_CONFIG_BEGIN(class) METHOD(class, tr_config, void(class this)) { + #define _TR_CONFIG(class, fld, T, turname) if (#turname == this.netname) TUR_CONFIG_WRITE_CVARS(turname, fld, T); + #define TR_CONFIG_END() } +#else + #define TR_CONFIG_BEGIN(class) + #define _TR_CONFIG(class, fld, T, turname) + #define TR_CONFIG_END() +#endif + +GENERIC_COMMAND(dumpturrets, "Dump all turrets into turrets_dump.txt", false) { switch(request) { @@ -56,10 +100,10 @@ GENERIC_COMMAND(dumpturrets, "Dump all turrets into turrets_dump.txt") default: case CMD_REQUEST_USAGE: { - LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets [filename]"); - LOG_INFO(" Where 'filename' is the file to write (default is turrets_dump.cfg),"); - LOG_INFO(" if supplied with '-' output to console as well as default,"); - LOG_INFO(" if left blank, it will only write to default."); + LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets []"); + LOG_HELP(" Where 'filename' is the file to write (default is turrets_dump.cfg),"); + LOG_HELP(" if supplied with '-' output to console as well as default,"); + LOG_HELP(" if left blank, it will only write to default."); return; } } @@ -67,10 +111,11 @@ GENERIC_COMMAND(dumpturrets, "Dump all turrets into turrets_dump.txt") const int TUR_FIRST = 1; -#define TUR_LAST (Turrets_COUNT - 1) +#define TUR_LAST (REGISTRY_COUNT(Turrets) - 1) #define REGISTER_TURRET(id, inst) REGISTER(Turrets, TUR, id, m_id, inst) REGISTER_TURRET(Null, NEW(Turret)); +REGISTRY_DEFINE_GET(Turrets, TUR_Null) #include "turret/_mod.qh"