#ifndef NOTIFICATIONS_H
#define NOTIFICATIONS_H
-#include "command/all.qh"
+#include <common/command/all.qh>
#include "constants.qh"
#include "teams.qh"
f2primsec: f2 float primary or secondary selection for weapons
f3primsec: f3 float primary or secondary selection for weapons
f1secs: count_seconds of f1
+ f1points: point or points depending on f1
f1ord: count_ordinal of f1
f1time: process_time of f1
f1race_time: mmssss of f1
ARG_CASE(ARG_CS, "f2primsec", (f2 ? _("secondary") : _("primary"))) \
ARG_CASE(ARG_CS, "f3primsec", (f3 ? _("secondary") : _("primary"))) \
ARG_CASE(ARG_CS, "f1secs", count_seconds(f1)) \
+ ARG_CASE(ARG_CS, "f1points", (f1 == 1 ? _("point") : _("points"))) \
ARG_CASE(ARG_CS_SV, "f1ord", count_ordinal(f1)) \
ARG_CASE(ARG_CS, "f1time", process_time(2, f1)) \
ARG_CASE(ARG_CS_SV_HA, "f1race_time", mmssss(f1)) \
ARG_CASE(ARG_CS_SV, "spree_inf", (autocvar_notification_show_sprees ? notif_arg_spree_inf(1, input, s2, f2) : "")) \
ARG_CASE(ARG_CS_SV, "spree_end", (autocvar_notification_show_sprees ? notif_arg_spree_inf(-1, "", "", f1) : "")) \
ARG_CASE(ARG_CS_SV, "spree_lost", (autocvar_notification_show_sprees ? notif_arg_spree_inf(-2, "", "", f1) : "")) \
- ARG_CASE(ARG_CS_SV, "item_wepname", WEP_NAME(f1)) \
+ ARG_CASE(ARG_CS_SV, "item_wepname", Weapons_from(f1).m_name) \
ARG_CASE(ARG_CS_SV, "item_buffname", BUFF_NAME(f1)) \
ARG_CASE(ARG_CS_SV, "f3buffname", BUFF_NAME(f3)) \
ARG_CASE(ARG_CS_SV, "item_wepammo", (s1 != "" ? sprintf(_(" with %s"), s1) : "")) \
ARG_CASE(ARG_CS_SV_HA, "minigame1_name",find(world,netname,s1).descriptor.message) \
ARG_CASE(ARG_CS_SV_HA, "minigame1_d", find(world,netname,s1).descriptor.netname)
-#define NOTIF_HIT_MAX(count,funcname) do { \
+#define NOTIF_HIT_MAX(count,funcname) MACRO_BEGIN { \
if(sel_num == count) { backtrace(sprintf("%s: Hit maximum arguments!\n", funcname)); break; } \
-} while(0)
+} MACRO_END
#define NOTIF_HIT_UNKNOWN(token,funcname) { backtrace(sprintf("%s: Hit unknown token in selected string! '%s'\n", funcname, selected)); break; }
#define KILL_SPREE_LIST \
void RegisterNotifications_First()
{
notif_global_error = false;
-
- #ifdef SVQC
- #define dedi (server_is_dedicated ? "a dedicated " : "")
- #else
- #define dedi ""
- #endif
-
- LOG_INFOF("Beginning notification initialization on %s%s program...\n", dedi, PROGNAME);
- #undef dedi
-
- // maybe do another implementation of this with checksums? for now, we don't need versioning
- /*if(autocvar_notification_version != NOTIF_VERSION)
- {
- #ifdef CSQC
- if(autocvar_notification_version_mismatch_client_error)
- #else
- if(autocvar_notification_version_mismatch_server_error)
- #endif
- notif_global_error = true;
-
- printf("^1NOTIFICATION VERSION MISMATCH: ^7program = %s, config = %d, code = %d.\n",
- PROGNAME, autocvar_notification_version, NOTIF_VERSION);
- }*/
}
void RegisterNotifications_Done()
{
// shit happened... stop the loading of the program now if this is unacceptable
if(autocvar_notification_errors_are_fatal)
- error("Notification initialization failed! Read above and fix the errors!\n");
+ LOG_FATAL("Notification initialization failed! Read above and fix the errors!\n");
else
- LOG_INFO("Notification initialization failed! Read above and fix the errors!\n");
+ LOG_SEVERE("Notification initialization failed! Read above and fix the errors!\n");
}
- else { LOG_INFO("Notification initialization successful!\n"); }
}
// NOW we actually activate the declarations