--- np2/x11/main.c 2003/11/27 17:24:20 1.7 +++ np2/x11/main.c 2003/12/22 12:25:11 1.11 @@ -27,6 +27,7 @@ #include "compiler.h" +#include #include #include @@ -42,16 +43,21 @@ #include "timing.h" #include "toolkit.h" -#include "keydisp.h" +#include "kdispwin.h" +#include "sysmenu.h" #include "toolwin.h" +#include "viewer.h" #include "commng.h" +#include "fontmng.h" +#include "inputmng.h" #include "joymng.h" #include "kbdmng.h" #include "mousemng.h" #include "scrnmng.h" #include "soundmng.h" #include "sysmng.h" +#include "taskmng.h" /* @@ -221,7 +227,7 @@ main(int argc, char *argv[]) file_setcd(modulefile); initload(); toolwin_readini(); - keydisp_readini(); + kdispwin_readini(); rand_setseed((SINT32)time(NULL)); @@ -234,18 +240,26 @@ main(int argc, char *argv[]) TRACEINIT(); - keystat_reset(); + if (fontmng_init() != SUCCESS) + goto fontmng_failure; + + kdispwin_initialize(); + viewer_init(); toolkit_widget_create(); scrnmng_initialize(); kbdmng_init(); + inputmng_init(); + keystat_reset(); scrnmode = 0; if (np2cfg.RASTER) { scrnmode |= SCRNMODE_HIGHCOLOR; } + if (sysmenu_create() != SUCCESS) + goto sysmenu_failure; if (scrnmng_create(scrnmode) != SUCCESS) - goto resource_cleanup; + goto scrnmng_failure; if (soundmng_initialize() == SUCCESS) { result = soundmng_pcmload(SOUND_PCMSEEK, file_getcd("fddseek.wav")); @@ -272,6 +286,7 @@ main(int argc, char *argv[]) commng_initialize(); sysmng_initialize(); + taskmng_initialize(); joy_init(); pccore_init(); @@ -287,7 +302,7 @@ main(int argc, char *argv[]) toolwin_create(); } if (np2oscfg.keydisp) { - keydisp_create(); + kdispwin_create(); } } @@ -305,12 +320,10 @@ main(int argc, char *argv[]) setup_signal(SIGINT, sighandler); setup_signal(SIGTERM, sighandler); - np2running = TRUE; toolkit_widget_mainloop(); - np2running = FALSE; rv = 0; - keydisp_destroy(); + kdispwin_destroy(); toolwin_destroy(); pccore_cfgupdate(); @@ -329,16 +342,23 @@ main(int argc, char *argv[]) soundmng_deinitialize(); scrnmng_destroy(); -resource_cleanup: +scrnmng_failure: + sysmenu_destroy(); + +sysmenu_failure: + fontmng_terminate(); + +fontmng_failure: if (sys_updates & (SYS_UPDATECFG|SYS_UPDATEOSCFG)) { initsave(); toolwin_writeini(); - keydisp_writeini(); + kdispwin_writeini(); } TRACETERM(); dosio_term(); + viewer_term(); toolkit_terminate(); return rv;