]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/notifications/all.qc
Merge branch 'master' into martin-t/globals
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / notifications / all.qc
index 53f037c1dd1abf2ebf4e039bce3f1b011c58d1c5..b8e0d5c6998c8a37cc8ec5ea9d809116d2c3e235 100644 (file)
@@ -85,11 +85,7 @@ bool Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_cli
                        return (
                                (to_client == other_client)
                                ||
-                               (
-                                       IS_SPEC(to_client)
-                                       &&
-                                       (to_client.enemy == other_client)
-                               )
+                               (IS_SPEC(to_client) && (to_client.enemy == other_client))
                        );
                case NOTIF_ONE_ONLY:
                        return (to_client == other_client);
@@ -204,7 +200,7 @@ string Process_Notif_Line(
                LOG_INFOF(
                        (
                                "^1TRAILING NEW LINE AT END OF NOTIFICATION: "
-                               "^7net_type = %s, net_name = %s, string = %s.\n"
+                               "^7net_type = %s, net_name = %s, string = %s."
                        ),
                        notiftype,
                        notifname,
@@ -239,7 +235,7 @@ string Process_Notif_Args(
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
-                                                       "^7net_type = %s, net_name = %s, max args = %d.\n"
+                                                       "^7net_type = %s, net_name = %s, max args = %d."
                                                ),
                                                notiftype,
                                                notifname,
@@ -251,11 +247,11 @@ string Process_Notif_Args(
 
                                switch(strtolower(selected))
                                {
-                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV(selected,result)    case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS(selected,result)       case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_SV(selected,result)       case selected: { ++sel_num; break; }
+                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: ++sel_num; break;
+                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: ++sel_num; break;
+                                       #define ARG_CASE_ARG_CS_SV(selected,result)    case selected: ++sel_num; break;
+                                       #define ARG_CASE_ARG_CS(selected,result)       case selected: ++sel_num; break;
+                                       #define ARG_CASE_ARG_SV(selected,result)       case selected: ++sel_num; break;
                                        #define ARG_CASE_ARG_DC(selected,result)
                                        #define ARG_CASE(prog,selected,result)         ARG_CASE_##prog(selected,result)
                                        NOTIF_ARGUMENT_LIST
@@ -271,7 +267,7 @@ string Process_Notif_Args(
                                                LOG_INFOF(
                                                        (
                                                                "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: "
-                                                               "^7net_type = %s, net_name = %s, args arg = '%s'.\n"
+                                                               "^7net_type = %s, net_name = %s, args arg = '%s'."
                                                        ),
                                                        notiftype,
                                                        notifname,
@@ -290,7 +286,7 @@ string Process_Notif_Args(
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
-                                                       "^7net_type = %s, net_name = %s, max hudargs = %d.\n"
+                                                       "^7net_type = %s, net_name = %s, max hudargs = %d."
                                                ),
                                                notiftype,
                                                notifname,
@@ -302,7 +298,7 @@ string Process_Notif_Args(
 
                                switch(strtolower(selected))
                                {
-                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
+                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: ++sel_num; break;
                                        #define ARG_CASE_ARG_CS_SV_DC(selected,result)
                                        #define ARG_CASE_ARG_CS_SV(selected,result)
                                        #define ARG_CASE_ARG_CS(selected,result)
@@ -322,7 +318,7 @@ string Process_Notif_Args(
                                                LOG_INFOF(
                                                        (
                                                                "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: "
-                                                               "^7net_type = %s, net_name = %s, hudargs arg = '%s'.\n"
+                                                               "^7net_type = %s, net_name = %s, hudargs arg = '%s'."
                                                        ),
                                                        notiftype,
                                                        notifname,
@@ -341,7 +337,7 @@ string Process_Notif_Args(
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
-                                                       "^7net_type = %s, net_name = %s, max durcnt = %d.\n"
+                                                       "^7net_type = %s, net_name = %s, max durcnt = %d."
                                                ),
                                                notiftype,
                                                notifname,
@@ -354,11 +350,11 @@ string Process_Notif_Args(
                                switch(strtolower(selected))
                                {
                                        #define ARG_CASE_ARG_CS_SV_HA(selected,result)
-                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
+                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: ++sel_num; break;
                                        #define ARG_CASE_ARG_CS_SV(selected,result)
                                        #define ARG_CASE_ARG_CS(selected,result)
                                        #define ARG_CASE_ARG_SV(selected,result)
-                                       #define ARG_CASE_ARG_DC(selected,result)       case selected: { ++sel_num; break; }
+                                       #define ARG_CASE_ARG_DC(selected,result)       case selected: ++sel_num; break;
                                        #define ARG_CASE(prog,selected,result)         ARG_CASE_##prog(selected,result)
                                        NOTIF_ARGUMENT_LIST
                                        #undef ARG_CASE
@@ -376,7 +372,7 @@ string Process_Notif_Args(
                                                        LOG_INFOF(
                                                                (
                                                                        "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: "
-                                                                       "^7net_type = %s, net_name = %s, durcnt arg = '%s'.\n"
+                                                                       "^7net_type = %s, net_name = %s, durcnt arg = '%s'."
                                                                ),
                                                                notiftype,
                                                                notifname,
@@ -425,7 +421,7 @@ void Create_Notification_Entity(entity notif,
                        LOG_INFOF(
                                (
                                        "^1NOTIFICATION WITH IMPROPER TYPE: "
-                                       "^7net_type = %d, net_name = %s.\n"
+                                       "^7net_type = %d, net_name = %s."
                                ),
                                typeId,
                                namestring
@@ -442,6 +438,8 @@ void Create_Notification_Entity(entity notif,
        }
 }
 
+#define AnnouncerFilename(snd) sprintf("announcer/%s/%s.wav", AnnouncerOption(), snd)
+
 void Create_Notification_Entity_Annce(entity notif,
                                                                                float var_cvar,
                                                                                string namestring,
@@ -460,7 +458,7 @@ void Create_Notification_Entity_Annce(entity notif,
                                {
                                        if(notif.nent_enabled)
                                        {
-                                               precache_sound(sprintf("announcer/%s/%s.wav", AnnouncerOption(), snd));
+                                               precache_sound(AnnouncerFilename(snd));
                                                notif.nent_channel = channel;
                                                notif.nent_snd = strzone(snd);
                                                notif.nent_vol = vol;
@@ -473,7 +471,7 @@ void Create_Notification_Entity_Annce(entity notif,
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION WITH NO SOUND: "
-                                                       "^7net_type = %s, net_name = %s.\n"
+                                                       "^7net_type = %s, net_name = %s."
                                                ),
                                                typestring,
                                                namestring
@@ -531,7 +529,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                                LOG_INFOF(
                                                        (
                                                                "^1NOTIFICATION HAS ARG COUNTS BUT NO ARGS OR HUDARGS OR DURCNT: "
-                                                               "^7net_type = %s, net_name = %s, strnum = %d, flnum = %d\n"
+                                                               "^7net_type = %s, net_name = %s, strnum = %d, flnum = %d"
                                                        ),
                                                        typestring,
                                                        namestring,
@@ -565,7 +563,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                                LOG_INFOF(
                                                        (
                                                                "^1NOTIFICATION HAS HUDARGS BUT NO ICON: "
-                                                               "^7net_type = %s, net_name = %s.\n"
+                                                               "^7net_type = %s, net_name = %s."
                                                        ),
                                                        typestring,
                                                        namestring
@@ -610,7 +608,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                // ======================
                                //  Process Notif String
                                // ======================
-                               #define SET_NOTIF_STRING(string,stringname) MACRO_BEGIN \
+                               #define SET_NOTIF_STRING(string,stringname) MACRO_BEGIN \
                                        notif.nent_string = strzone(CCR( \
                                                Process_Notif_Line( \
                                                        typeId, \
@@ -621,7 +619,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                                        stringname \
                                                )) \
                                        ); \
-                               MACRO_END
+                               MACRO_END
 
                                if(GENTLE)
                                {
@@ -637,7 +635,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                        LOG_INFOF(
                                                (
                                                        "^1EMPTY NOTIFICATION: "
-                                                       "^7net_type = %s, net_name = %s.\n"
+                                                       "^7net_type = %s, net_name = %s."
                                                ),
                                                typestring,
                                                namestring
@@ -663,7 +661,7 @@ void Create_Notification_Entity_Multi(entity notif,
                                LOG_INFOF(
                                        (
                                                "^1NOTIFICATION WITH NO SUBCALLS: "
-                                               "^7net_type = %s, net_name = %s.\n"
+                                               "^7net_type = %s, net_name = %s."
                                        ),
                                        typestring,
                                        namestring
@@ -715,7 +713,7 @@ void Create_Notification_Entity_Choice(entity notif,
                                LOG_INFOF(
                                        (
                                                "^1NOTIFICATION IS MISSING CHOICE PARAMS: "
-                                               "^7net_type = %s, net_name = %s.\n"
+                                               "^7net_type = %s, net_name = %s."
                                        ),
                                        typestring,
                                        namestring
@@ -763,9 +761,10 @@ void Create_Notification_Entity_Choice(entity notif,
 #ifdef SVQC
 void Notification_GetCvars(entity this)
 {
-       FOREACH(Notifications, it.nent_type == MSG_CHOICE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
+       FOREACH(Notifications, it.nent_type == MSG_CHOICE, {
                GetCvars_handleFloat(
                        this,
+                       CS(this),
                        get_cvars_s,
                        get_cvars_f,
                        msg_choice_choices[it.nent_choice_idx],
@@ -778,60 +777,64 @@ void Notification_GetCvars(entity this)
 /** used to output notifications.cfg file */
 void Dump_Notifications(int fh, bool alsoprint)
 {
-       #define NOTIF_WRITE(a) MACRO_BEGIN { \
-               fputs(fh, a); \
-               if (alsoprint) LOG_INFO(a); \
-       } MACRO_END
+       #define NOTIF_WRITE(str) write_String_To_File(fh, str, alsoprint)
 
-       #define NOTIF_WRITE_ENTITY(e, description) MACRO_BEGIN { \
-               string notif_msg = sprintf( \
+       #define NOTIF_WRITE_ENTITY(e, description) \
+               NOTIF_WRITE(sprintf( \
                        "seta notification_%s \"%d\" \"%s\"\n", \
                        Get_Notif_CvarName(e), e.nent_default, description \
-               ); \
-               NOTIF_WRITE(notif_msg); \
-       } MACRO_END
+               ))
 
-       #define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) MACRO_BEGIN { \
-               string notif_msg = sprintf( \
+       #define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) \
+               NOTIF_WRITE(sprintf( \
                        "seta notification_%s \"%d\" \"%s\"\n" \
                        "seta notification_%s_ALLOWED \"%d\" \"%s\"\n", \
                        Get_Notif_CvarName(e), e.nent_default, descriptiona, \
                        Get_Notif_CvarName(e), e.nent_challow_def, descriptionb \
-               ); \
-               NOTIF_WRITE(notif_msg); \
-       } MACRO_END
-
-       #define NOTIF_WRITE_HARDCODED(cvar, default, description) MACRO_BEGIN { \
-               string notif_msg = sprintf( \
-                       "seta notification_%s \"%s\" \"%s\"\n", \
-                       cvar, default, description \
-               ); \
-               NOTIF_WRITE(notif_msg); \
-       } MACRO_END
+               ))
+
+       #define NOTIF_WRITE_HARDCODED(cvar, default, description) \
+               NOTIF_WRITE("seta notification_" cvar " \"" default "\" \"" description "\"\n")
 
        // Note: This warning only applies to the notifications.cfg file that is output...
        // You ARE supposed to manually edit this function to add i.e. hard coded
        // notification variables for mutators or game modes or such and then
        // regenerate the notifications.cfg file from the new code.
 
-       NOTIF_WRITE("// ********************************************** //\n");
-       NOTIF_WRITE("// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //\n");
-       NOTIF_WRITE("// **                                          ** //\n");
-       NOTIF_WRITE("// **  This file is automatically generated    ** //\n");
-       NOTIF_WRITE("// **  by code with the command 'dumpnotifs'.  ** //\n");
-       NOTIF_WRITE("// **                                          ** //\n");
-       NOTIF_WRITE("// **  If you add a new notification, please   ** //\n");
-       NOTIF_WRITE("// **  regenerate this file with that command  ** //\n");
-       NOTIF_WRITE("// **  making sure that the output matches     ** //\n");
-       NOTIF_WRITE("// **  with the lists and defaults in code.    ** //\n");
-       NOTIF_WRITE("// **                                          ** //\n");
-       NOTIF_WRITE("// ********************************************** //\n");
+       NOTIF_WRITE(
+               "// ********************************************** //\n"
+               "// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //\n"
+               "// **                                          ** //\n"
+               "// **  This file is automatically generated    ** //\n"
+               "// **  by code with the command 'dumpnotifs'.  ** //\n"
+               "// **                                          ** //\n"
+               "// **  If you add a new notification, please   ** //\n"
+               "// **  regenerate this file with that command  ** //\n"
+               "// **  making sure that the output matches     ** //\n"
+               "// **  with the lists and defaults in code.    ** //\n"
+               "// **                                          ** //\n"
+               "// ********************************************** //\n");
 
        // These notifications will also append their string as a comment...
        // This is not necessary, and does not matter if they vary between config versions,
        // it is just a semi-helpful tool for those who want to manually change their user settings.
 
-       int NOTIF_ANNCE_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_ANNCE, { ++NOTIF_ANNCE_COUNT; });
+       int NOTIF_ANNCE_COUNT = 0;
+       int NOTIF_INFO_COUNT = 0;
+       int NOTIF_CENTER_COUNT = 0;
+       int NOTIF_MULTI_COUNT = 0;
+       int NOTIF_CHOICE_COUNT = 0;
+       FOREACH(Notifications, true, {
+               switch (it.nent_type)
+               {
+                       case MSG_ANNCE: ++NOTIF_ANNCE_COUNT; break;
+                       case MSG_INFO: ++NOTIF_INFO_COUNT; break;
+                       case MSG_CENTER: ++NOTIF_CENTER_COUNT; break;
+                       case MSG_MULTI: ++NOTIF_MULTI_COUNT; break;
+                       case MSG_CHOICE: ++NOTIF_CHOICE_COUNT; break;
+               }
+       });
+
        NOTIF_WRITE(sprintf("\n// MSG_ANNCE notifications (count = %d):\n", NOTIF_ANNCE_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_ANNCE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
@@ -839,7 +842,6 @@ void Dump_Notifications(int fh, bool alsoprint)
                );
        });
 
-       int NOTIF_INFO_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_INFO, { ++NOTIF_INFO_COUNT; });
        NOTIF_WRITE(sprintf("\n// MSG_INFO notifications (count = %d):\n", NOTIF_INFO_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_INFO && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
@@ -848,7 +850,6 @@ void Dump_Notifications(int fh, bool alsoprint)
                );
        });
 
-       int NOTIF_CENTER_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_CENTER, { ++NOTIF_CENTER_COUNT; });
        NOTIF_WRITE(sprintf("\n// MSG_CENTER notifications (count = %d):\n", NOTIF_CENTER_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_CENTER && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
@@ -856,7 +857,6 @@ void Dump_Notifications(int fh, bool alsoprint)
                );
        });
 
-       int NOTIF_MULTI_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_MULTI, { ++NOTIF_MULTI_COUNT; });
        NOTIF_WRITE(sprintf("\n// MSG_MULTI notifications (count = %d):\n", NOTIF_MULTI_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_MULTI && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
@@ -864,7 +864,6 @@ void Dump_Notifications(int fh, bool alsoprint)
                );
        });
 
-       int NOTIF_CHOICE_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_CHOICE, { ++NOTIF_CHOICE_COUNT; });
        NOTIF_WRITE(sprintf("\n// MSG_CHOICE notifications (count = %d):\n", NOTIF_CHOICE_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_CHOICE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY_CHOICE(it,
@@ -1012,15 +1011,15 @@ string Local_Notification_sprintf(
                string tmp_s; // used by NOTIF_ARGUMENT_LIST
                switch (strtolower(selected))
                {
-                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV(selected, result)    case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: arg_slot[sel_num++] = result; break;
+                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: arg_slot[sel_num++] = result; break;
+                       #define ARG_CASE_ARG_CS_SV(selected, result)    case selected: arg_slot[sel_num++] = result; break;
 #ifdef CSQC
-                       #define ARG_CASE_ARG_CS(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_CS(selected, result)       case selected: arg_slot[sel_num++] = result; break;
                        #define ARG_CASE_ARG_SV(selected, result)
 #else
                        #define ARG_CASE_ARG_CS(selected, result)
-                       #define ARG_CASE_ARG_SV(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_SV(selected, result)       case selected: arg_slot[sel_num++] = result; break;
 #endif
                        #define ARG_CASE_ARG_DC(selected, result)
                        #define ARG_CASE(prog, selected, result)        ARG_CASE_##prog(selected, result)
@@ -1048,9 +1047,7 @@ string Local_Notification_sprintf(
 }
 
 #ifdef CSQC
-void Local_Notification_sound(
-       int soundchannel, string soundfile,
-       float soundvolume, float soundposition)
+void Local_Notification_sound(int soundchannel, string soundfile, float soundvolume, float soundposition)
 {
        if ((soundfile != prev_soundfile) || (time >= (prev_soundtime + autocvar_cl_announcer_antispam)))
        {
@@ -1058,30 +1055,15 @@ void Local_Notification_sound(
                Debug_Notification(sprintf(
                        "Local_Notification_sound(%f, '%s', %f, %f);\n",
                        soundchannel,
-                       sprintf(
-                               "announcer/%s/%s.wav",
-                               AnnouncerOption(),
-                               soundfile
-                       ),
+                       AnnouncerFilename(soundfile),
                        soundvolume,
                        soundposition
                ));
                #endif
 
-               _sound(
-                       NULL,
-                       soundchannel,
-                       sprintf(
-                               "announcer/%s/%s.wav",
-                               AnnouncerOption(),
-                               soundfile
-                       ),
-                       soundvolume,
-                       soundposition
-               );
+               _sound(NULL, soundchannel, AnnouncerFilename(soundfile), soundvolume, soundposition);
 
-               if (prev_soundfile) strunzone(prev_soundfile);
-               prev_soundfile = strzone(soundfile);
+               strcpy(prev_soundfile, soundfile);
                prev_soundtime = time;
        }
        else
@@ -1089,15 +1071,11 @@ void Local_Notification_sound(
                #ifdef NOTIFICATIONS_DEBUG
                Debug_Notification(sprintf(
                        (
-                               "Local_Notification_sound(NULL, %f, '%s', %f, %f) "
+                               "Local_Notification_sound(%f, '%s', %f, %f) "
                                "^1BLOCKED BY ANTISPAM:^7 prevsnd: '%s', timediff: %f, limit: %f\n"
-                        ),
-                       soundchannel,
-                       sprintf(
-                               "announcer/%s/%s.wav",
-                               AnnouncerOption(),
-                               soundfile
                        ),
+                       soundchannel,
+                       AnnouncerFilename(soundfile),
                        soundvolume,
                        soundposition,
                        prev_soundfile,
@@ -1121,7 +1099,7 @@ void Local_Notification_HUD_Notify_Push(
                NOTIF_HIT_MAX(NOTIF_MAX_HUDARGS, "Local_Notification_HUD_Notify_Push");
                switch (strtolower(selected))
                {
-                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: arg_slot[sel_num++] = result; break;
                        #define ARG_CASE_ARG_CS_SV_DC(selected, result)
                        #define ARG_CASE_ARG_CS_SV(selected, result)
                        #define ARG_CASE_ARG_CS(selected, result)
@@ -1165,11 +1143,11 @@ void Local_Notification_centerprint_generic(
                switch (strtolower(selected))
                {
                        #define ARG_CASE_ARG_CS_SV_HA(selected, result)
-                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: arg_slot[sel_num++] = result; break;
                        #define ARG_CASE_ARG_CS_SV(selected, result)
                        #define ARG_CASE_ARG_CS(selected, result)
                        #define ARG_CASE_ARG_SV(selected, result)
-                       #define ARG_CASE_ARG_DC(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
+                       #define ARG_CASE_ARG_DC(selected, result)       case selected: arg_slot[sel_num++] = result; break;
                        #define ARG_CASE(prog, selected, result)        ARG_CASE_##prog(selected,result)
                        NOTIF_ARGUMENT_LIST
                        #undef ARG_CASE
@@ -1230,10 +1208,10 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                return;
        }
 
-       string s1 = ((notif.nent_stringcount > 0) ? ...(0, string) : "");
-       string s2 = ((notif.nent_stringcount > 1) ? ...(1, string) : "");
-       string s3 = ((notif.nent_stringcount > 2) ? ...(2, string) : "");
-       string s4 = ((notif.nent_stringcount > 3) ? ...(3, string) : "");
+       string s1 = CCR((notif.nent_stringcount > 0) ? ...(0, string) : "");
+       string s2 = CCR((notif.nent_stringcount > 1) ? ...(1, string) : "");
+       string s3 = CCR((notif.nent_stringcount > 2) ? ...(2, string) : "");
+       string s4 = CCR((notif.nent_stringcount > 3) ? ...(3, string) : "");
        float f1 =  ((notif.nent_floatcount  > 0) ? ...((notif.nent_stringcount + 0), float) : 0);
        float f2 =  ((notif.nent_floatcount  > 1) ? ...((notif.nent_stringcount + 1), float) : 0);
        float f3 =  ((notif.nent_floatcount  > 2) ? ...((notif.nent_stringcount + 2), float) : 0);
@@ -1271,12 +1249,7 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                case MSG_ANNCE:
                {
                        #ifdef CSQC
-                       Local_Notification_sound(
-                               notif.nent_channel,
-                               notif.nent_snd,
-                               notif.nent_vol,
-                               notif.nent_position
-                       );
+                       Local_Notification_sound(notif.nent_channel, notif.nent_snd, notif.nent_vol, notif.nent_position);
                        #else
                        backtrace("MSG_ANNCE on server?... Please notify Samual immediately!\n");
                        #endif
@@ -1493,7 +1466,7 @@ void Net_Notification_Remove(entity this)
                this.owner.nent_name
        ));
        #endif
-       for (int i = 0; i < this.nent_stringcount; ++i) { if (this.nent_strings[i]) strunzone(this.nent_strings[i]); }
+       for (int i = 0; i < this.nent_stringcount; ++i) { strfree(this.nent_strings[i]); }
        delete(this);
 }
 
@@ -1535,8 +1508,7 @@ void Kill_Notification(
        net_notif.nent_net_name = ORDINAL(net_cpid);
        Net_LinkEntity(net_notif, false, autocvar_notification_lifetime_runtime, Net_Write_Notification);
 
-       IL_EACH(
-               g_notifications,
+       IL_EACH(g_notifications,
                (it.owner.nent_type == net_type || net_type == MSG_Null) && (it.owner.nent_cpid == net_cpid || net_cpid == CPID_Null),
                {
                        it.nent_net_name = -1;
@@ -1609,20 +1581,9 @@ void Send_Notification(
                return;
        }
 
-       if (
-               server_is_dedicated
-               &&
-               (
-                       broadcast == NOTIF_ALL
-                       ||
-                       broadcast == NOTIF_ALL_EXCEPT
-               )
-               &&
-               !(
-                       net_type == MSG_ANNCE
-                       ||
-                       net_type == MSG_CENTER
-               )
+       if (server_is_dedicated
+               && (broadcast == NOTIF_ALL || broadcast == NOTIF_ALL_EXCEPT)
+               && !(net_type == MSG_ANNCE || net_type == MSG_CENTER)
        )
        {
                Local_Notification_WOVA(
@@ -1642,9 +1603,9 @@ void Send_Notification(
                //   2. Manually handling each separate call on per-usage basis (See old CTF usage of verbose)
                entity found_choice;
 
-               #define RECURSE_FROM_CHOICE(ent,action) MACRO_BEGIN \
+               #define RECURSE_FROM_CHOICE(ent,action) MACRO_BEGIN \
                        if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { \
-                               switch (ent.msg_choice_choices[net_name.nent_choice_idx]) \
+                               switch (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) \
                                { \
                                        case 1: found_choice = notif.nent_optiona; break; \
                                        case 2: found_choice = notif.nent_optionb; break; \
@@ -1662,7 +1623,7 @@ void Send_Notification(
                                found_choice.nent_floatcount, \
                                s1, s2, s3, s4, \
                                f1, f2, f3, f4); \
-               MACRO_END
+               MACRO_END
 
                switch (broadcast)
                {