From bb14e036890e5545f356304914373311bbefc7ea Mon Sep 17 00:00:00 2001 From: otta8634 Date: Thu, 9 Jan 2025 15:18:51 +0800 Subject: [PATCH] Fix bug introduced by fe3d08fb79 One example bug introduced is team-based gamemodes being no longer team-based, and some scoreboard funkiness found by @terencehill. Gametypes also use mutators, seems that this commit (specifically changing .m_name -> .mutatorname) didn't properly account for that somehow. I couldn't find the .m_name access that needed to be changed, so instead I reverted that change and added .message to Mutator. In future for consistency's sake .m_name should be renamed to .mutatorname in Mutator, and .message to .m_name in Gametype and Mutator. --- qcsrc/common/mapinfo.qh | 4 +--- qcsrc/common/mutators/base.qh | 12 ++++++------ qcsrc/common/mutators/mutator/bloodloss/bloodloss.qh | 2 +- qcsrc/common/mutators/mutator/cloaked/cloaked.qh | 2 +- qcsrc/common/mutators/mutator/dodging/dodging.qh | 2 +- qcsrc/common/mutators/mutator/hook/hook.qh | 2 +- qcsrc/common/mutators/mutator/instagib/instagib.qh | 2 +- qcsrc/common/mutators/mutator/nades/nades.qh | 2 +- qcsrc/common/mutators/mutator/new_toys/new_toys.qh | 2 +- qcsrc/common/mutators/mutator/nix/nix.qh | 2 +- .../mutator/offhand_blaster/offhand_blaster.qh | 2 +- qcsrc/common/mutators/mutator/overkill/overkill.qh | 2 +- qcsrc/common/mutators/mutator/pinata/pinata.qh | 2 +- .../mutators/mutator/rocketflying/rocketflying.qh | 2 +- .../mutators/mutator/touchexplode/touchexplode.qh | 2 +- qcsrc/common/mutators/mutator/vampire/vampire.qh | 2 +- qcsrc/common/mutators/mutator/walljump/walljump.qh | 2 +- qcsrc/lib/color.qh | 6 ++++-- 18 files changed, 26 insertions(+), 26 deletions(-) diff --git a/qcsrc/common/mapinfo.qh b/qcsrc/common/mapinfo.qh index 2f14a1f794..b3c1ceca38 100644 --- a/qcsrc/common/mapinfo.qh +++ b/qcsrc/common/mapinfo.qh @@ -40,7 +40,6 @@ CLASS(Gametype, Object) ATTRIB(Gametype, mdl, string); /** human readable name */ ATTRIB(Gametype, message, string); - ATTRIB(Gametype, m_name, string); /** color */ ATTRIB(Gametype, m_color, vector, '1 1 1'); /** does this gametype support teamplay? */ @@ -108,7 +107,7 @@ CLASS(Gametype, Object) METHOD(Gametype, display, void(Gametype this, void(string name, string icon) returns)) { TC(Gametype, this); - returns(this.m_name, this.mdl ? strcat("gametype_", this.mdl) : string_null); + returns(this.message, this.mdl ? strcat("gametype_", this.mdl) : string_null); } METHOD(Gametype, gametype_init, void(Gametype this, string hname, string sname, string g_name, int gflags, string mutators, string defaults, string gdescription)) @@ -116,7 +115,6 @@ CLASS(Gametype, Object) this.netname = g_name; this.mdl = sname; this.message = hname; - this.m_name = hname; this.team = (gflags & GAMETYPE_FLAG_TEAMPLAY); this.m_mutators = cons(sname, mutators); this.model2 = defaults; diff --git a/qcsrc/common/mutators/base.qh b/qcsrc/common/mutators/base.qh index eb8b30ca73..e37963deb8 100644 --- a/qcsrc/common/mutators/base.qh +++ b/qcsrc/common/mutators/base.qh @@ -154,10 +154,10 @@ USING(mutatorfunc_t, bool(int)); CLASS(Mutator, Object) ATTRIB(Mutator, m_id, int, 0); - ATTRIB(Mutator, m_name, string); + ATTRIB(Mutator, message, string); ATTRIB(Mutator, m_color, vector, '1 1 1'); ATTRIB(Mutator, m_icon, string); - ATTRIB(Mutator, mutatorname, string); + ATTRIB(Mutator, m_name, string); ATTRIB(Mutator, mutatorfunc, mutatorfunc_t); ATTRIB(Mutator, mutatorcheck, bool()); METHOD(Mutator, describe, string(Mutator this)) { @@ -166,7 +166,7 @@ CLASS(Mutator, Object) } METHOD(Mutator, display, void(Mutator this, void(string name, string icon) returns)) { TC(Mutator, this); - returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null); + returns(this.message, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null); } ENDCLASS(Mutator) @@ -232,7 +232,7 @@ bool Mutator_Add(Mutator mut) mutatorfunc_t func = mut.mutatorfunc; if (!func(MUTATOR_ADDING)) { // good - if (mutator_log) LOG_TRACEF("Mutator: added %s", mut.mutatorname); + if (mutator_log) LOG_TRACEF("Mutator: added %s", mut.m_name); #ifdef SVQC Net_LinkEntity(mut, false, 0, Mutator_SendEntity); #endif @@ -260,7 +260,7 @@ void Mutator_Remove(Mutator mut) // baaaaad error("Mutator_Remove: removing mutator failed"); } - if (mutator_log) LOG_TRACEF("Mutator: removed %s", mut.mutatorname); + if (mutator_log) LOG_TRACEF("Mutator: removed %s", mut.m_name); #ifdef SVQC Net_UnlinkEntity(mut); #endif @@ -275,7 +275,7 @@ void Mutator_Remove(Mutator mut) bool MUTATOR_##id##_check() { return dependence; } \ REGISTER(Mutators, MUTATOR, id, m_id, NEW(cname)) \ { \ - this.mutatorname = #id; \ + this.m_name = #id; \ this.mutatorfunc = MUTATORFUNC_##id; \ this.mutatorcheck = MUTATOR_##id##_check; \ } \ diff --git a/qcsrc/common/mutators/mutator/bloodloss/bloodloss.qh b/qcsrc/common/mutators/mutator/bloodloss/bloodloss.qh index 67a1eb7adf..cddb808c20 100644 --- a/qcsrc/common/mutators/mutator/bloodloss/bloodloss.qh +++ b/qcsrc/common/mutators/mutator/bloodloss/bloodloss.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorBloodLoss, Mutator) - ATTRIB(MutatorBloodLoss, m_name, string, _("Blood loss")); + ATTRIB(MutatorBloodLoss, message, string, _("Blood loss")); ENDCLASS(MutatorBloodLoss) REGISTER_MUTATOR(bloodloss, true, MutatorBloodLoss); diff --git a/qcsrc/common/mutators/mutator/cloaked/cloaked.qh b/qcsrc/common/mutators/mutator/cloaked/cloaked.qh index fddd5bf554..9cae885ef2 100644 --- a/qcsrc/common/mutators/mutator/cloaked/cloaked.qh +++ b/qcsrc/common/mutators/mutator/cloaked/cloaked.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorCloaked, Mutator) - ATTRIB(MutatorCloaked, m_name, string, _("Cloaked")); + ATTRIB(MutatorCloaked, message, string, _("Cloaked")); ENDCLASS(MutatorCloaked) REGISTER_MUTATOR(cloaked, true, MutatorCloaked); diff --git a/qcsrc/common/mutators/mutator/dodging/dodging.qh b/qcsrc/common/mutators/mutator/dodging/dodging.qh index 6566973df9..422244b1ce 100644 --- a/qcsrc/common/mutators/mutator/dodging/dodging.qh +++ b/qcsrc/common/mutators/mutator/dodging/dodging.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorDodging, Mutator) - ATTRIB(MutatorDodging, m_name, string, _("Dodging")); + ATTRIB(MutatorDodging, message, string, _("Dodging")); ENDCLASS(MutatorDodging) REGISTER_MUTATOR(dodging, true, MutatorDodging); diff --git a/qcsrc/common/mutators/mutator/hook/hook.qh b/qcsrc/common/mutators/mutator/hook/hook.qh index 07375629b8..abaeb3ae2a 100644 --- a/qcsrc/common/mutators/mutator/hook/hook.qh +++ b/qcsrc/common/mutators/mutator/hook/hook.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorGrapplingHook, Mutator) - ATTRIB(MutatorGrapplingHook, m_name, string, _("Hook")); + ATTRIB(MutatorGrapplingHook, message, string, _("Hook")); ENDCLASS(MutatorGrapplingHook) REGISTER_MUTATOR(hook, true, MutatorGrapplingHook); diff --git a/qcsrc/common/mutators/mutator/instagib/instagib.qh b/qcsrc/common/mutators/mutator/instagib/instagib.qh index 04e05ffc7c..9b901c71ae 100644 --- a/qcsrc/common/mutators/mutator/instagib/instagib.qh +++ b/qcsrc/common/mutators/mutator/instagib/instagib.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorInstagib, Mutator) - ATTRIB(MutatorInstagib, m_name, string, _("InstaGib")); + ATTRIB(MutatorInstagib, message, string, _("InstaGib")); ENDCLASS(MutatorInstagib) REGISTER_MUTATOR(mutator_instagib, true, MutatorInstagib); diff --git a/qcsrc/common/mutators/mutator/nades/nades.qh b/qcsrc/common/mutators/mutator/nades/nades.qh index cedf5d35c3..7b6fe39c9d 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qh +++ b/qcsrc/common/mutators/mutator/nades/nades.qh @@ -216,7 +216,7 @@ void DrawAmmoNades(vector myPos, vector mySize, bool draw_expanding, float expan #include CLASS(MutatorNades, Mutator) - ATTRIB(MutatorNades, m_name, string, _("Nades")); + ATTRIB(MutatorNades, message, string, _("Nades")); ENDCLASS(MutatorNades) REGISTER_MUTATOR(nades, true, MutatorNades); diff --git a/qcsrc/common/mutators/mutator/new_toys/new_toys.qh b/qcsrc/common/mutators/mutator/new_toys/new_toys.qh index 0b773eeaea..ca2c4370b5 100644 --- a/qcsrc/common/mutators/mutator/new_toys/new_toys.qh +++ b/qcsrc/common/mutators/mutator/new_toys/new_toys.qh @@ -4,7 +4,7 @@ bool nt_IsNewToy(int w); #ifdef MENUQC CLASS(MutatorNewToys, Mutator) - ATTRIB(MutatorNewToys, m_name, string, _("New Toys")); + ATTRIB(MutatorNewToys, message, string, _("New Toys")); ENDCLASS(MutatorNewToys) REGISTER_MUTATOR(nt, true, MutatorNewToys); diff --git a/qcsrc/common/mutators/mutator/nix/nix.qh b/qcsrc/common/mutators/mutator/nix/nix.qh index 2ef6d696b9..354f852a40 100644 --- a/qcsrc/common/mutators/mutator/nix/nix.qh +++ b/qcsrc/common/mutators/mutator/nix/nix.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorNIX, Mutator) - ATTRIB(MutatorNIX, m_name, string, _("NIX")); + ATTRIB(MutatorNIX, message, string, _("NIX")); ENDCLASS(MutatorNIX) REGISTER_MUTATOR(nix, true, MutatorNIX); diff --git a/qcsrc/common/mutators/mutator/offhand_blaster/offhand_blaster.qh b/qcsrc/common/mutators/mutator/offhand_blaster/offhand_blaster.qh index d5fc81740f..c49ed69d6b 100644 --- a/qcsrc/common/mutators/mutator/offhand_blaster/offhand_blaster.qh +++ b/qcsrc/common/mutators/mutator/offhand_blaster/offhand_blaster.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorOffhandBlaster, Mutator) - ATTRIB(MutatorOffhandBlaster, m_name, string, _("Offhand blaster")); + ATTRIB(MutatorOffhandBlaster, message, string, _("Offhand blaster")); ENDCLASS(MutatorOffhandBlaster) REGISTER_MUTATOR(offhand_blaster, true, MutatorOffhandBlaster); diff --git a/qcsrc/common/mutators/mutator/overkill/overkill.qh b/qcsrc/common/mutators/mutator/overkill/overkill.qh index 82931a2b0c..c4f8efa5de 100644 --- a/qcsrc/common/mutators/mutator/overkill/overkill.qh +++ b/qcsrc/common/mutators/mutator/overkill/overkill.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorOverkill, Mutator) - ATTRIB(MutatorOverkill, m_name, string, _("Overkill")); + ATTRIB(MutatorOverkill, message, string, _("Overkill")); ENDCLASS(MutatorOverkill) REGISTER_MUTATOR(ok, true, MutatorOverkill); diff --git a/qcsrc/common/mutators/mutator/pinata/pinata.qh b/qcsrc/common/mutators/mutator/pinata/pinata.qh index 9ecdc92dc0..d49adfa405 100644 --- a/qcsrc/common/mutators/mutator/pinata/pinata.qh +++ b/qcsrc/common/mutators/mutator/pinata/pinata.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorPinata, Mutator) - ATTRIB(MutatorPinata, m_name, string, _("Piñata")); + ATTRIB(MutatorPinata, message, string, _("Piñata")); ENDCLASS(MutatorPinata) REGISTER_MUTATOR(pinata, true, MutatorPinata); diff --git a/qcsrc/common/mutators/mutator/rocketflying/rocketflying.qh b/qcsrc/common/mutators/mutator/rocketflying/rocketflying.qh index d397987db2..62000d189c 100644 --- a/qcsrc/common/mutators/mutator/rocketflying/rocketflying.qh +++ b/qcsrc/common/mutators/mutator/rocketflying/rocketflying.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorRocketFlying, Mutator) - ATTRIB(MutatorRocketFlying, m_name, string, _("Rocket Flying")); + ATTRIB(MutatorRocketFlying, message, string, _("Rocket Flying")); ENDCLASS(MutatorRocketFlying) REGISTER_MUTATOR(rocketflying, true, MutatorRocketFlying); diff --git a/qcsrc/common/mutators/mutator/touchexplode/touchexplode.qh b/qcsrc/common/mutators/mutator/touchexplode/touchexplode.qh index e0e6ae8dc2..aba1750ce9 100644 --- a/qcsrc/common/mutators/mutator/touchexplode/touchexplode.qh +++ b/qcsrc/common/mutators/mutator/touchexplode/touchexplode.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorTouchExplode, Mutator) - ATTRIB(MutatorTouchExplode, m_name, string, _("Touch explode")); + ATTRIB(MutatorTouchExplode, message, string, _("Touch explode")); ENDCLASS(MutatorTouchExplode) REGISTER_MUTATOR(touchexplode, true, MutatorTouchExplode); diff --git a/qcsrc/common/mutators/mutator/vampire/vampire.qh b/qcsrc/common/mutators/mutator/vampire/vampire.qh index 63a2479e87..e69bdeaa08 100644 --- a/qcsrc/common/mutators/mutator/vampire/vampire.qh +++ b/qcsrc/common/mutators/mutator/vampire/vampire.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorVampire, Mutator) - ATTRIB(MutatorVampire, m_name, string, _("Vampire")); + ATTRIB(MutatorVampire, message, string, _("Vampire")); ENDCLASS(MutatorVampire) REGISTER_MUTATOR(vampire, true, MutatorVampire); diff --git a/qcsrc/common/mutators/mutator/walljump/walljump.qh b/qcsrc/common/mutators/mutator/walljump/walljump.qh index 7862fa19f9..aff83c12d6 100644 --- a/qcsrc/common/mutators/mutator/walljump/walljump.qh +++ b/qcsrc/common/mutators/mutator/walljump/walljump.qh @@ -2,7 +2,7 @@ #ifdef MENUQC CLASS(MutatorWallJump, Mutator) - ATTRIB(MutatorWallJump, m_name, string, _("Wall jumping")); + ATTRIB(MutatorWallJump, message, string, _("Wall jumping")); ENDCLASS(MutatorWallJump) REGISTER_MUTATOR(walljump, true, MutatorWallJump); diff --git a/qcsrc/lib/color.qh b/qcsrc/lib/color.qh index f39e7b93eb..0076e46edf 100644 --- a/qcsrc/lib/color.qh +++ b/qcsrc/lib/color.qh @@ -191,5 +191,7 @@ string rgb_to_hexcolor(vector rgb) } // useful macros for the guide -#define COLORED_NAME(this) strcat(rgb_to_hexcolor(this.m_color), this.m_name, "^7") -#define COLORED_NAME_WITH_CONCAT(this, concat) strcat(rgb_to_hexcolor(this.m_color), this.m_name, " ", concat, "^7") +// prefer .message if available +// TODO: use either .message or .m_name for everything. currently only Gametypes and Mutators use .message +#define COLORED_NAME(this) strcat(rgb_to_hexcolor(this.m_color), (this.message ? this.message : this.m_name), "^7") +#define COLORED_NAME_WITH_CONCAT(this, concat) strcat(rgb_to_hexcolor(this.m_color), (this.message ? this.message : this.m_name), " ", concat, "^7") -- 2.39.5