From: Javier Sancho Date: Sun, 28 Apr 2019 17:33:39 +0000 (+0200) Subject: Mods library X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=commitdiff_plain;h=d428e32f4062cfb4df9b03e769c792ac2a3cbf1b Mods library --- diff --git a/src/Makefile.am b/src/Makefile.am index 20ec91a..a15f108 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ bin_PROGRAMS = $(top_builddir)/DungeonMaster -__top_builddir__DungeonMaster_SOURCES = main.cpp +__top_builddir__DungeonMaster_SOURCES = main.cpp mods.cpp __top_builddir__DungeonMaster_CPPFLAGS = @GUILE_CFLAGS@ __top_builddir__DungeonMaster_LDFLAGS = @GUILE_LIBS@ diff --git a/src/main.cpp b/src/main.cpp index 9f3ad6d..c79468b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,34 +1,14 @@ #include -#include +#include "mods.h" using namespace irr; using namespace core; using namespace video; using namespace gui; -SCM register_generator(SCM name, SCM proc) -{ - printf ("Register: %s\n", scm_to_locale_string(name)); - scm_call_1(proc, scm_from_int(-1)); - return SCM_UNSPECIFIED; -} - -void init_dungeon_master_module(void *unused) -{ - scm_c_define_gsubr("register-generator", 2, 0, 0, (scm_t_subr)register_generator); - scm_c_export("register-generator", NULL); -} - -void scm_init_dungeon_master_module() -{ - scm_c_define_module("dungeon-master", init_dungeon_master_module, NULL); -} - int main() { - scm_init_guile(); - scm_init_dungeon_master_module(); - scm_primitive_load(scm_from_locale_string("mods/default/main.scm")); + load_mods(); IrrlichtDevice* device = createDevice(EDT_OPENGL,