- Added tracking of time spent specifically in running action functions. I feel kind of stupid
about this now. I spent three days trying to figure out why the VC++ debug version was so slow. It turns out I had a conditional breakpoint set in a high-traffic area. D'oh! The rest of this stuff should get merged into trunk: - Fixed: Writing to debugfile uses the standard fprintf, which does not understand %td on VC++. - Fixed: Instead of crashing when a sprite has been scaled to 0, just don't draw it. SVN r3896 (scripting)
This commit is contained in:
parent
2c92941f6b
commit
47eec0b275
4 changed files with 16 additions and 4 deletions
|
|
@ -50,6 +50,7 @@
|
|||
#include "templates.h"
|
||||
#include "cmdlib.h"
|
||||
#include "g_level.h"
|
||||
#include "stats.h"
|
||||
|
||||
extern void LoadActors ();
|
||||
extern void InitBotStuff();
|
||||
|
|
@ -58,13 +59,17 @@ extern void ClearStrifeTypes();
|
|||
TArray<PClassActor *> PClassActor::AllActorClasses;
|
||||
FRandom FState::pr_statetics;
|
||||
|
||||
cycle_t ActionCycles;
|
||||
|
||||
bool FState::CallAction(AActor *self, AActor *stateowner)
|
||||
{
|
||||
if (ActionFunc != NULL)
|
||||
{
|
||||
VMFrameStack stack;
|
||||
ActionCycles.Clock();
|
||||
static VMFrameStack stack;
|
||||
VMValue params[3] = { self, stateowner, VMValue(this, ATAG_STATE) };
|
||||
stack.Call(ActionFunc, params, countof(params), NULL, 0, NULL);
|
||||
ActionCycles.Unclock();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue