]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/notifications/all.qc
Introduce the shared function write_String_To_File that can be used by all the dump...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / notifications / all.qc
index 9fac59d5b788835901ee76126f2eb1eca2388a57..04fc75e8f3872054c67da569944506f1740fe66b 100644 (file)
@@ -200,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,
@@ -235,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,
@@ -247,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
@@ -267,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,
@@ -286,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,
@@ -298,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)
@@ -318,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,
@@ -337,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,
@@ -350,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
@@ -372,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,
@@ -421,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
@@ -471,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
@@ -529,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,
@@ -563,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
@@ -608,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, \
@@ -619,7 +619,7 @@ void Create_Notification_Entity_InfoCenter(entity notif,
                                                        stringname \
                                                )) \
                                        ); \
-                               MACRO_END
+                               MACRO_END
 
                                if(GENTLE)
                                {
@@ -635,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
@@ -661,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
@@ -713,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
@@ -777,20 +777,17 @@ 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 \
+       #define NOTIF_WRITE_ENTITY(e, description) MACRO_BEGIN \
                string notif_msg = sprintf( \
                        "seta notification_%s \"%d\" \"%s\"\n", \
                        Get_Notif_CvarName(e), e.nent_default, description \
                ); \
                NOTIF_WRITE(notif_msg); \
-       MACRO_END
+       MACRO_END
 
-       #define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) MACRO_BEGIN \
+       #define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) MACRO_BEGIN \
                string notif_msg = sprintf( \
                        "seta notification_%s \"%d\" \"%s\"\n" \
                        "seta notification_%s_ALLOWED \"%d\" \"%s\"\n", \
@@ -798,15 +795,15 @@ void Dump_Notifications(int fh, bool alsoprint)
                        Get_Notif_CvarName(e), e.nent_challow_def, descriptionb \
                ); \
                NOTIF_WRITE(notif_msg); \
-       MACRO_END
+       MACRO_END
 
-       #define NOTIF_WRITE_HARDCODED(cvar, default, description) MACRO_BEGIN \
+       #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
+       MACRO_END
 
        // 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
@@ -1011,15 +1008,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)
@@ -1063,8 +1060,7 @@ void Local_Notification_sound(int soundchannel, string soundfile, float soundvol
 
                _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
@@ -1100,7 +1096,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)
@@ -1144,11 +1140,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
@@ -1467,7 +1463,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);
 }
 
@@ -1604,7 +1600,7 @@ 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 (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) \
                                { \
@@ -1624,7 +1620,7 @@ void Send_Notification(
                                found_choice.nent_floatcount, \
                                s1, s2, s3, s4, \
                                f1, f2, f3, f4); \
-               MACRO_END
+               MACRO_END
 
                switch (broadcast)
                {