[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