1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef GRIM_LTASK_H
#define GRIM_LTASK_H
#include "engines/grim/lua/lua.h"
#include "engines/grim/lua/lstate.h"
#include "engines/grim/lua/lbuiltin.h"
namespace Grim {
struct lua_Task {
lua_Task *next;
struct Stack *S;
Closure *cl;
TProtoFunc *tf;
StkId base;
byte *pc;
TObject *consts;
int32 aux;
bool executed;
StkId initBase;
int32 initResults;
};
void lua_taskinit(lua_Task *task, lua_Task *next, StkId tbase, int results);
void lua_taskresume(lua_Task *task, Closure *closure, TProtoFunc *protofunc, StkId tbase);
StkId luaV_execute(lua_Task *task);
void pause_script();
void unpause_script();
void runtasks(LState *const rootState);
} // end of namespace Grim
#endif
|