X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fnotifications.qc;h=a406df52419dc71d1bdf985e7aa963e83b988fa1;hb=1471179ee293a17194be4e25c1e387bd451370a6;hp=9391c6bc7727ce040e65c79d2fcfdb63781b8c12;hpb=83e2b5d506f912b9c79f7f6dc8e295f9b3f96e49;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/notifications.qc b/qcsrc/common/notifications.qc index 9391c6bc7..a406df524 100644 --- a/qcsrc/common/notifications.qc +++ b/qcsrc/common/notifications.qc @@ -1,3 +1,18 @@ +#if defined(CSQC) +#elif defined(MENUQC) +#elif defined(SVQC) + #include "../dpdefs/progsdefs.qh" + #include "../dpdefs/dpextensions.qh" + #include "constants.qh" + #include "teams.qh" + #include "counting.qh" + #include "../server/autocvars.qh" + #include "../server/constants.qh" + #include "../server/defs.qh" + #include "notifications.qh" + #include "../server/mutators/mutators_include.qh" +#endif + // ================================================ // Unified notification system, written by Samual // Last updated: August, 2013 @@ -307,7 +322,7 @@ string Process_Notif_Args( string selected, remaining = args; float sel_num = 0; - for(0;(remaining != "");) + for (;(remaining != "");) { selected = car(remaining); remaining = cdr(remaining); @@ -481,8 +496,8 @@ void Create_Notification_Entity( int typeId, int nameid, string namestring, - float strnum, - float flnum, + int strnum, + int flnum, /* MSG_ANNCE */ float channel, string snd, @@ -931,8 +946,7 @@ void Create_Notification_Entity( #ifdef SVQC void Notification_GetCvars(void) { - float i; - for(i = 0; i <= NOTIF_CHOICE_COUNT; ++i) + for(int i = 0; i <= NOTIF_CHOICE_COUNT; ++i) { GetCvars_handleFloat( get_cvars_s, @@ -1361,15 +1375,13 @@ void Local_Notification_HUD_Notify_Push( void Local_Notification_centerprint_generic( string input, string durcnt, - float cpid, float f1, float f2) + int cpid, float f1, float f2) { - string selected; - float sel_num; arg_slot[0] = ""; arg_slot[1] = ""; - for(sel_num = 0;(durcnt != "");) + for(int sel_num = 0;(durcnt != "");) { - selected = car(durcnt); durcnt = cdr(durcnt); + string selected = car(durcnt); durcnt = cdr(durcnt); NOTIF_HIT_MAX(NOTIF_MAX_DURCNT, "Local_Notification_centerprint_generic"); switch(strtolower(selected)) { @@ -1410,7 +1422,7 @@ void Local_Notification_centerprint_generic( } #endif -void Local_Notification(float net_type, float net_name, ...count) +void Local_Notification(int net_type, int net_name, ...count) { // check if this should be aborted if(net_name == NOTIF_ABORT) @@ -1620,7 +1632,7 @@ void Local_Notification(float net_type, float net_name, ...count) if(notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { - switch(cvar_string(sprintf("notification_%s", notif.nent_name))) + switch(cvar(sprintf("notification_%s", notif.nent_name))) { case 1: found_choice = notif.nent_optiona; break; case 2: found_choice = notif.nent_optionb; break; @@ -1642,7 +1654,7 @@ void Local_Notification(float net_type, float net_name, ...count) // WOVA = Without Variable Arguments void Local_Notification_WOVA( - float net_type, float net_name, + int net_type, float net_name, float stringcount, float floatcount, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4) @@ -1663,8 +1675,8 @@ void Local_Notification_WOVA( #ifdef CSQC void Read_Notification(float is_new) { - float net_type = ReadByte(); - float net_name = ReadShort(); + int net_type = ReadByte(); + int net_name = ReadShort(); entity notif; @@ -1750,21 +1762,19 @@ void Net_Notification_Remove() )); #endif - float i; - for(i = 0; i < 4; ++i) { if(self.nent_strings[i]) { strunzone(self.nent_strings[i]); } } + for(int i = 0; i < 4; ++i) { if(self.nent_strings[i]) { strunzone(self.nent_strings[i]); } } remove(self); } -float Net_Write_Notification(entity client, float sf) +float Net_Write_Notification(entity client, int sf) { if(Notification_ShouldSend(self.nent_broadcast, client, self.nent_client)) { - float i; WriteByte(MSG_ENTITY, ENT_CLIENT_NOTIFICATION); WriteByte(MSG_ENTITY, self.nent_net_type); WriteShort(MSG_ENTITY, self.nent_net_name); - for(i = 0; i < self.nent_stringcount; ++i) { WriteString(MSG_ENTITY, self.nent_strings[i]); } - for(i = 0; i < self.nent_floatcount; ++i) { WriteLong(MSG_ENTITY, self.nent_floats[i]); } + for(int i = 0; i < self.nent_stringcount; ++i) { WriteString(MSG_ENTITY, self.nent_strings[i]); } + for(int i = 0; i < self.nent_floatcount; ++i) { WriteLong(MSG_ENTITY, self.nent_floats[i]); } return true; } else { return false; } @@ -2027,7 +2037,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) \ + #define RECURSE_FROM_CHOICE(ent,action) do { \ if(notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) \ { \ switch(ent.msg_choice_choices[net_name - 1]) \ @@ -2046,22 +2056,29 @@ void Send_Notification( found_choice.nent_stringcount, \ found_choice.nent_floatcount, \ s1, s2, s3, s4, \ - f1, f2, f3, f4); + f1, f2, f3, f4); \ + } while(0) switch(broadcast) { case NOTIF_ONE_ONLY: // we can potentially save processing power with this broadcast method { if(IS_REAL_CLIENT(client)) - { RECURSE_FROM_CHOICE(client, return) } + { + RECURSE_FROM_CHOICE(client, return); + } break; } default: { entity to; FOR_EACH_REALCLIENT(to) - { if(Notification_ShouldSend(broadcast, to, client)) - { RECURSE_FROM_CHOICE(to, continue) } } + { + if(Notification_ShouldSend(broadcast, to, client)) + { + RECURSE_FROM_CHOICE(to, continue); + } + } break; } } @@ -2078,10 +2095,9 @@ void Send_Notification( net_notif.nent_stringcount = notif.nent_stringcount; net_notif.nent_floatcount = notif.nent_floatcount; - float i; - for(i = 0; i < net_notif.nent_stringcount; ++i) + for(int i = 0; i < net_notif.nent_stringcount; ++i) { net_notif.nent_strings[i] = strzone(...(i, string)); } - for(i = 0; i < net_notif.nent_floatcount; ++i) + for(int i = 0; i < net_notif.nent_floatcount; ++i) { net_notif.nent_floats[i] = ...((net_notif.nent_stringcount + i), float); } net_notif.think = Net_Notification_Remove;