1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Use a settings object for the main settings

This unifies the settings APIs.

This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
This commit is contained in:
ShadowNinja 2014-12-12 14:49:19 -05:00
parent a024042bf5
commit 43d1f375d1
46 changed files with 411 additions and 417 deletions

View file

@ -75,16 +75,16 @@ private:
// Asynchornous thread and job management
class AsyncEngine {
friend class AsyncWorkerThread;
typedef void (*StateInitializer)(lua_State *L, int top);
public:
AsyncEngine();
~AsyncEngine();
/**
* Register function to be used within engine
* @param name Function name to be used within Lua environment
* Register function to be called on new states
* @param func C function to be called
*/
bool registerFunction(const char* name, lua_CFunction func);
void registerStateInitializer(StateInitializer func);
/**
* Create async engine tasks and lock function registration
@ -140,8 +140,8 @@ private:
// Variable locking the engine against further modification
bool initDone;
// Internal store for registred functions
UNORDERED_MAP<std::string, lua_CFunction> functionList;
// Internal store for registred state initializers
std::vector<StateInitializer> stateInitializers;
// Internal counter to create job IDs
unsigned int jobIdCounter;