diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2023-07-28 14:32:58 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2023-07-28 18:26:17 +0000 |
| commit | 4cb29fbc2d20f20e9d605796b137b4b70363113a (patch) | |
| tree | 9b5929ff4d16a7a2472bafac48196e5ddfabc7dd /src/engine.c | |
| parent | 5ee7f4b4b033de403f1861eedc942c7a5a0f31b6 (diff) | |
Implement hotloading
* This commit implements dltools.{c,h}: _A simple wrapper around libdl / dlfcn.h_
* Reload states when done initializing engine, if hotloading is enabled.
* Adds general function types for state functions.
Diffstat (limited to 'src/engine.c')
| -rw-r--r-- | src/engine.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/engine.c b/src/engine.c index fa528c0..36eb349 100644 --- a/src/engine.c +++ b/src/engine.c @@ -379,6 +379,19 @@ Platform *engine_init( GLOBAL_PLATFORM = p; + +#ifdef DAW_BUILD_HOTRELOAD + +#define State(name) \ +if (!State_reload(STATE_##name)) { \ + ERROR("Failed to reload shared object file for state %s", #name ); \ +}; + +#include <states/list_of_states.h> +#undef State + +#endif + return p; } |
