diff --git a/src/main.c b/src/main.c index 3bc0d1f..7e8f8b2 100644 --- a/src/main.c +++ b/src/main.c @@ -1,18 +1,40 @@ #include +#include #define NAMESPACE_MODULE evmod_glfw #include -int main(int argc, char **argv) { +#define TYPE_MODULE evmod_glfw +#include + +#define NAMESPACE_MODULE evmod_world +#include + +#define IMPORT_NAMESPACES do { \ + IMPORT_NAMESPACE(World, world_module); \ + IMPORT_NAMESPACE(Window, window_module); \ + } while (0) + +int main(int argc, char **argv) +{ evolengine_t *engine = evol_create(); evol_parse_args(engine, argc, argv); evol_init(engine); - evolmodule_t window_module = evol_loadmodule("window"); - IMPORT_NAMESPACE(Window, window_module); + evolmodule_t window_module = evol_loadmodule("window"); assert(window_module); + evolmodule_t world_module = evol_loadmodule("world"); assert(world_module); - while(!Window->update(0.0)); + IMPORT_NAMESPACES; + bool result = 0; + while(true) { + result |= Window->update(0.0); + result |= World->update(0.0); + + if(result) break; + } + + evol_unloadmodule(world_module); evol_unloadmodule(window_module); evol_deinit(engine); evol_destroy(engine);