+#ifndef NOTIFICATIONS_H
+#define NOTIFICATIONS_H
+
+#if defined(CSQC)
+ #include "util-pre.qh"
+ #include "../client/sys-pre.qh"
+ #include "../dpdefs/csprogsdefs.qc"
+ #include "../client/sys-post.qh"
+ #include "../client/Defs.qc"
+ #include "../dpdefs/keycodes.qc"
+ #include "constants.qh"
+ #include "stats.qh"
+ #include "../warpzonelib/anglestransform.qh"
+ #include "../warpzonelib/mathlib.qh"
+ #include "../warpzonelib/common.qh"
+ #include "../warpzonelib/client.qh"
+ #include "playerstats.qh"
+ #include "teams.qh"
+ #include "util.qh"
+ #include "nades.qh"
+ #include "buffs.qh"
+ #include "test.qh"
+ #include "counting.qh"
+ #include "weapons/weapons.qh"
+ #include "mapinfo.qh"
+ #include "command/markup.qh"
+ #include "command/rpn.qh"
+ #include "command/generic.qh"
+ #include "command/shared_defs.qh"
+ #include "urllib.qh"
+ #include "animdecide.qh"
+ #include "../client/command/cl_cmd.qh"
+ #include "monsters/monsters.qh"
+ #include "../client/autocvars.qh"
+#elif defined(MENUQC)
+#elif defined(SVQC)
+ #include "util-pre.qh"
+ #include "../server/sys-pre.qh"
+ #include "../dpdefs/progsdefs.qc"
+ #include "../dpdefs/dpextensions.qc"
+ #include "../server/sys-post.qh"
+ #include "../warpzonelib/anglestransform.qh"
+ #include "../warpzonelib/mathlib.qh"
+ #include "../warpzonelib/common.qh"
+ #include "../warpzonelib/util_server.qh"
+ #include "../warpzonelib/server.qh"
+ #include "constants.qh"
+ #include "stats.qh"
+ #include "teams.qh"
+ #include "util.qh"
+ #include "nades.qh"
+ #include "buffs.qh"
+ #include "test.qh"
+ #include "counting.qh"
+ #include "urllib.qh"
+ #include "command/markup.qh"
+ #include "command/rpn.qh"
+ #include "command/generic.qh"
+ #include "command/shared_defs.qh"
+ #include "net_notice.qh"
+ #include "animdecide.qh"
+ #include "monsters/monsters.qh"
+ #include "monsters/sv_monsters.qh"
+ #include "monsters/spawn.qh"
+ #include "weapons/config.qh"
+ #include "weapons/weapons.qh"
+ #include "../server/weapons/accuracy.qh"
+ #include "../server/weapons/common.qh"
+ #include "../server/weapons/csqcprojectile.qh"
+ #include "../server/weapons/hitplot.qh"
+ #include "../server/weapons/selection.qh"
+ #include "../server/weapons/spawning.qh"
+ #include "../server/weapons/throwing.qh"
+ #include "../server/weapons/tracing.qh"
+ #include "../server/weapons/weaponstats.qh"
+ #include "../server/weapons/weaponsystem.qh"
+ #include "../server/t_items.qh"
+ #include "../server/autocvars.qh"
+ #include "../server/constants.qh"
+ #include "../server/defs.qh"
+#endif
+
// ================================================
// Unified notification system, written by Samual
// Last updated: March, 2013
ARG_CASE(ARG_SV, "death_team", Team_ColoredFullName(f1)) \
ARG_CASE(ARG_CS, "death_team", Team_ColoredFullName(f1 - 1))
-#define NOTIF_HIT_MAX(count,funcname) if(sel_num == count) { backtrace(sprintf("%s: Hit maximum arguments!\n", funcname)); break; }
+#define NOTIF_HIT_MAX(count,funcname) do { \
+ if(sel_num == count) { backtrace(sprintf("%s: Hit maximum arguments!\n", funcname)); break; } \
+} while(0)
#define NOTIF_HIT_UNKNOWN(token,funcname) { backtrace(sprintf("%s: Hit unknown token in selected string! '%s'\n", funcname, selected)); break; }
#define KILL_SPREE_LIST \
// Initialization/Create Declarations
// ====================================
+enum {
+ NO_CPID
+, CPID_ASSAULT_ROLE
+, CPID_ROUND
+, CPID_CAMPCHECK
+, CPID_CTF_CAPSHIELD
+, CPID_CTF_LOWPRIO
+, CPID_CTF_PASS
+, CPID_STALEMATE
+, CPID_NADES
+, CPID_IDLING
+, CPID_ITEM
+, CPID_PREVENT_JOIN
+, CPID_KEEPAWAY
+, CPID_KEEPAWAY_WARN
+, CPID_KEYHUNT
+, CPID_KEYHUNT_OTHER
+, CPID_LMS
+, CPID_MISSING_TEAMS
+, CPID_MISSING_PLAYERS
+, CPID_INSTAGIB_FINDAMMO
+, CPID_MOTD
+, CPID_NIX
+, CPID_ONSLAUGHT
+, CPID_OVERTIME
+, CPID_POWERUP
+, CPID_RACE_FINISHLAP
+, CPID_TEAMCHANGE
+, CPID_TIMEOUT
+// always last
+, NOTIF_CPID_COUNT
+};
// notification counts
const float NOTIF_FIRST = 1;
float NOTIF_ANNCE_COUNT;
float NOTIF_CENTER_COUNT;
float NOTIF_MULTI_COUNT;
float NOTIF_CHOICE_COUNT;
-float NOTIF_CPID_COUNT;
// notification limits -- INCREASE AS NECESSARY
const float NOTIF_ANNCE_MAX = 100;
#define MSG_CENTER_NOTIF(default,name,strnum,flnum,args,cpid,durcnt,normal,gentle) \
NOTIF_ADD_AUTOCVAR(name, default) \
float name; \
- float cpid; \
void RegisterNotification_##name() \
{ \
SET_FIELD_COUNT(name, NOTIF_FIRST, NOTIF_CENTER_COUNT) \
- SET_FIELD_COUNT(cpid, NOTIF_FIRST, NOTIF_CPID_COUNT) \
CHECK_MAX_COUNT(name, NOTIF_CENTER_MAX, NOTIF_CENTER_COUNT, "MSG_CENTER") \
Create_Notification_Entity( \
/* COMMON ======================== */ \
#undef MSG_CHOICE_NOTIF
#undef NOTIF_ADD_AUTOCVAR
+#endif
\ No newline at end of file