X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qc;h=d04fdecd68dc791f05a8fe93878ed0e6185822b4;hb=0d4395ecbae201842dcaba523da9017a78e922f8;hp=427bdb84b4662b7d2347b1c190f84102589cb4b5;hpb=7bcb3a89b3271e018da4d92437dc5ba125ea8698;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 427bdb84b..d04fdecd6 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -5,7 +5,7 @@ #include "constants.qh" #include "../client/mutators/events.qh" #include "mapinfo.qh" - #include "notifications.qh" + #include "notifications/all.qh" #include #elif defined(MENUQC) #elif defined(SVQC) @@ -13,7 +13,7 @@ #include "../server/autocvars.qh" #include "../server/defs.qh" #include "../server/mutators/events.qh" - #include "notifications.qh" + #include "notifications/all.qh" #include #include "mapinfo.qh" #endif @@ -57,22 +57,25 @@ string wordwrap(string s, float l) #ifndef MENUQC #ifndef CSQC +entity _wordwrap_buffer_sprint_ent; void wordwrap_buffer_sprint(string s) -{SELFPARAM(); +{ wordwrap_buffer = strcat(wordwrap_buffer, s); if(s == "\n") { - sprint(self, wordwrap_buffer); + sprint(_wordwrap_buffer_sprint_ent, wordwrap_buffer); wordwrap_buffer = ""; } } -void wordwrap_sprint(string s, float l) -{SELFPARAM(); +void wordwrap_sprint(entity to, string s, float l) +{ wordwrap_buffer = ""; + _wordwrap_buffer_sprint_ent = to; wordwrap_cb(s, l, wordwrap_buffer_sprint); + _wordwrap_buffer_sprint_ent = NULL; if(wordwrap_buffer != "") - sprint(self, strcat(wordwrap_buffer, "\n")); + sprint(to, strcat(wordwrap_buffer, "\n")); wordwrap_buffer = ""; return; } @@ -294,7 +297,7 @@ float compressShortVector(vector vec) { vector ang; float p, y, len; - if(vlen(vec) == 0) + if(vec == '0 0 0') return 0; //print("compress: ", vtos(vec), "\n"); ang = vectoangles(vec); @@ -486,7 +489,7 @@ void get_mi_min_max(float mode) '0 1 0' * ma.y + '0 0 1' * ma.z, '1 0 0' * ma.x, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_min.x = trace_endpos.x; @@ -495,7 +498,7 @@ void get_mi_min_max(float mode) '1 0 0' * ma.x + '0 0 1' * ma.z, '0 1 0' * ma.y, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_min.y = trace_endpos.y; @@ -504,7 +507,7 @@ void get_mi_min_max(float mode) '1 0 0' * ma.x + '0 1 0' * ma.y, '0 0 1' * ma.z, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_min.z = trace_endpos.z; @@ -513,7 +516,7 @@ void get_mi_min_max(float mode) '0 1 0' * ma.y + '0 0 1' * ma.z, '1 0 0' * mi.x, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_max.x = trace_endpos.x; @@ -522,7 +525,7 @@ void get_mi_min_max(float mode) '1 0 0' * ma.x + '0 0 1' * ma.z, '0 1 0' * mi.y, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_max.y = trace_endpos.y; @@ -531,7 +534,7 @@ void get_mi_min_max(float mode) '1 0 0' * ma.x + '0 1 0' * ma.y, '0 0 1' * mi.z, MOVE_WORLDONLY, - world); + NULL); if(!trace_startsolid) mi_max.z = trace_endpos.z; } @@ -608,8 +611,7 @@ float cvar_settemp(string tmp_cvar, string tmp_value) if(created_saved_value != -1) { // creating a new entity to keep track of this cvar - entity e = new(saved_cvar_value); - make_pure(e); + entity e = new_pure(saved_cvar_value); e.netname = strzone(tmp_cvar); e.message = strzone(cvar_string(tmp_cvar)); created_saved_value = 1; @@ -624,6 +626,8 @@ float cvar_settemp(string tmp_cvar, string tmp_value) int cvar_settemp_restore() { int j = 0; + // FIXME this new-style loop fails! +#if 0 FOREACH_ENTITY_CLASS("saved_cvar_value", true, { if(cvar_type(it.netname)) @@ -638,6 +642,21 @@ int cvar_settemp_restore() LOG_INFOF("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", it.netname); }); +#else + entity e = NULL; + while((e = find(e, classname, "saved_cvar_value"))) + { + if(cvar_type(e.netname)) + { + cvar_set(e.netname, e.message); + remove(e); + ++j; + } + else + print(sprintf("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", e.netname)); + } +#endif + return j; } @@ -1417,7 +1436,7 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t // start with a 1-element queue queue_start = queue_end = e; - queue_end.(fld) = world; + queue_end.(fld) = NULL; queue_end.FindConnectedComponent_processing = 1; // for each queued item: @@ -1425,7 +1444,7 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t { // find all neighbors of queue_start entity t; - for(t = world; (t = nxt(t, queue_start, pass)); ) + for(t = NULL; (t = nxt(t, queue_start, pass)); ) { if(t.FindConnectedComponent_processing) continue; @@ -1434,7 +1453,7 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t // it is connected? ADD IT. It will look for neighbors soon too. queue_end.(fld) = t; queue_end = t; - queue_end.(fld) = world; + queue_end.(fld) = NULL; queue_end.FindConnectedComponent_processing = 1; } } @@ -1464,17 +1483,11 @@ vector animfixfps(entity e, vector a, vector b) } #endif -#ifdef SVQC -void dedicated_print(string input) // print(), but only print if the server is not local -{ - if(server_is_dedicated) { LOG_INFO(input); } -} -#endif - #ifndef MENUQC -float Announcer_PickNumber(float type, float num) +Notification Announcer_PickNumber(int type, int num) { - switch(type) + return = NULL; + switch (type) { case CNT_GAMESTART: { @@ -1579,7 +1592,6 @@ float Announcer_PickNumber(float type, float num) break; } } - return NOTIF_ABORT; // abort sending if none of these numbers were right } #endif