]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/util.qc
s/world/NULL/
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / util.qc
index 427bdb84b4662b7d2347b1c190f84102589cb4b5..d04fdecd68dc791f05a8fe93878ed0e6185822b4 100644 (file)
@@ -5,7 +5,7 @@
     #include "constants.qh"
        #include "../client/mutators/events.qh"
     #include "mapinfo.qh"
-    #include "notifications.qh"
+    #include "notifications/all.qh"
     #include <common/deathtypes/all.qh>
 #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 <common/deathtypes/all.qh>
     #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