X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmapinfo.qh;h=b7115ef552522fd2786a3749166430e9a7ae8ea8;hb=35ded46b934755480248ac4ffe5d9ca4cc5dcc4e;hp=055777bf8493b51e0e15eb79e966c69abcf220a0;hpb=317ec3eb27ada1c4668876e9499136125acb7984;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mapinfo.qh b/qcsrc/common/mapinfo.qh index 055777bf8..b7115ef55 100644 --- a/qcsrc/common/mapinfo.qh +++ b/qcsrc/common/mapinfo.qh @@ -1,6 +1,11 @@ #ifndef MAPINFO_H #define MAPINFO_H +bool autocvar_developer_mapper; + +#define LOG_MAPWARN(...) MACRO_BEGIN { if (autocvar_developer_mapper) LOG_WARNING(__VA_ARGS__); } MACRO_END +#define LOG_MAPWARNF(...) MACRO_BEGIN { if (autocvar_developer_mapper) LOG_WARNINGF(__VA_ARGS__); } MACRO_END + #include "util.qh" CLASS(Gametype, Object) @@ -23,9 +28,15 @@ CLASS(Gametype, Object) ATTRIB(Gametype, m_mutators, string, string_null) ATTRIB(Gametype, m_parse_mapinfo, bool(string k, string v), func_null) - METHOD(Gametype, describe, string(entity this)) { return this.gametype_description; } + METHOD(Gametype, describe, string(Gametype this)) + { + TC(Gametype, this); + return this.gametype_description; + } - METHOD(Gametype, display, void(entity this, void(string name, string icon) returns)) { + METHOD(Gametype, display, void(Gametype this, void(string name, string icon) returns)) + { + TC(Gametype, this); returns(this.message, strcat("gametype_", this.mdl)); } @@ -44,13 +55,13 @@ ENDCLASS(Gametype) REGISTRY(Gametypes, BITS(4)) #define Gametypes_from(i) _Gametypes_from(i, NULL) -REGISTER_REGISTRY(RegisterGametypes) +REGISTER_REGISTRY(Gametypes) REGISTRY_CHECK(Gametypes) int MAPINFO_TYPE_ALL; #define REGISTER_GAMETYPE(hname, sname, g_name, NAME, gteamplay, mutators, defaults, gdescription) \ int MAPINFO_TYPE_##NAME; \ bool NAME##_mapinfo(string k, string v) { return = false; } \ - REGISTER(RegisterGametypes, MAPINFO_TYPE, Gametypes, g_name, m_id, \ + REGISTER(Gametypes, MAPINFO_TYPE, g_name, m_id, \ NEW(Gametype, hname, #sname, #g_name, gteamplay, #sname " " mutators, defaults, gdescription) \ ) { \ /* same as `1 << m_id` */ \