From f28daad05fd10d440a81738875b05c0277664b70 Mon Sep 17 00:00:00 2001 From: driAn Date: Wed, 27 Aug 2008 18:40:50 +0000 Subject: [PATCH] made resetsleeps async git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@2415 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/clientgame.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index ff1451f1..24f38186 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -272,6 +272,7 @@ void moveotherplayers() struct scriptsleep { int wait; char *cmd; }; vector sleeps; +bool resetsleeps = false; void addsleep(char *msec, char *cmd) { @@ -280,21 +281,24 @@ void addsleep(char *msec, char *cmd) s.cmd = newstring(cmd); } -void resetsleep() { sleeps.setsize(0); } +void resetsleep() { resetsleeps = true; } COMMANDN(sleep, addsleep, ARG_2STR); void updateworld(int curtime, int lastmillis) // main game update loop { + // process command sleeps + if(resetsleeps) { sleeps.setsize(0); resetsleeps = false; } loopv(sleeps) { - if(sleeps[i].wait && lastmillis > sleeps[i].wait) + if(sleeps[i].wait && lastmillis > sleeps[i].wait && !resetsleeps) { execute(sleeps[i].cmd); delete[] sleeps[i].cmd; sleeps.remove(i--); } } + physicsframe(); checkweaponswitch(); checkakimbo();