[nexuiz-commits] r6575 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Apr 23 09:45:03 EDT 2009


Author: tzork
Date: 2009-04-23 09:45:02 -0400 (Thu, 23 Apr 2009)
New Revision: 6575

Modified:
   trunk/data/qcsrc/server/verbstack.qc
Log:
add verbstack_popfifo & verbstack_pullfifo

Modified: trunk/data/qcsrc/server/verbstack.qc
===================================================================
--- trunk/data/qcsrc/server/verbstack.qc	2009-04-23 12:56:15 UTC (rev 6574)
+++ trunk/data/qcsrc/server/verbstack.qc	2009-04-23 13:45:02 UTC (rev 6575)
@@ -8,7 +8,7 @@
 
 /// Execure this verb
 #define VCM_DO     0
-/// Return teh value of this verb. Return VS_CALL_REMOVE to delete it.
+/// Return the value of this verb. Return VS_CALL_REMOVE to delete it.
 #define VCM_EVAL   1
 /// This verb is beeing removed NOW (not sent when verb_call returns VS_CALL_REMOVE)
 #define VCM_REMOVE 2
@@ -108,6 +108,28 @@
     return value;
 }
 
+float verbstack_popfifo(entity stack)
+{
+    entity oldself;
+    float ret;
+
+    oldself = self;
+    verb = findentity(stack,verbstack,stack);
+    if not (verb)
+        ret = 0;
+    else
+    {
+        self = verb.owner;
+        ret = verb.verb_call(VCM_DO);
+
+        if(ret == VS_CALL_REMOVE)
+            remove(verb);
+    }
+
+    self = oldself;
+    return ret;
+}
+
 /**
     Find the best verb in this stack and return it.
     ALso remove any verbs returning VS_CALL_REMOVE on VCM_EVAL.
@@ -149,6 +171,11 @@
     return bestverb;
 }
 
+entity verbstack_pullfifo(entity stack)
+{
+    return findentity(stack,verbstack,stack);
+}
+
 /**
     Delete every verb on this stack, signaling them with VCM_REMOVE first.
 **/



More information about the nexuiz-commits mailing list