|
|
| version 1.15, 2004/03/28 10:50:16 | version 1.27, 2007/01/23 15:48:20 |
|---|---|
| Line 10 | Line 10 |
| * 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. |
| * 3. The name of the author may not be used to endorse or promote products | |
| * derived from this software without specific prior written permission. | |
| * | * |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| Line 48 | Line 46 |
| #include "toolwin.h" | #include "toolwin.h" |
| #include "viewer.h" | #include "viewer.h" |
| #include "debugwin.h" | #include "debugwin.h" |
| #include "skbdwin.h" | |
| #include "commng.h" | #include "commng.h" |
| #include "fontmng.h" | #include "fontmng.h" |
| Line 101 sighandler(int signo) | Line 100 sighandler(int signo) |
| static struct option longopts[] = { | static struct option longopts[] = { |
| { "config", required_argument, 0, 'c' }, | { "config", required_argument, 0, 'c' }, |
| { "timidity-config", required_argument, 0, 'C' }, | { "timidity-config", required_argument, 0, 'C' }, |
| { "shared-pixmap", no_argument, 0, 'p' }, | |
| #if defined(USE_SDL) || defined(USE_SYSMENU) | #if defined(USE_SDL) || defined(USE_SYSMENU) |
| { "ttfont", required_argument, 0, 't' }, | { "ttfont", required_argument, 0, 't' }, |
| #endif | #endif |
| Line 120 usage(void) | Line 118 usage(void) |
| printf("\t--help [-h] : print this message\n"); | printf("\t--help [-h] : print this message\n"); |
| printf("\t--config [-c] <file> : specify config file\n"); | printf("\t--config [-c] <file> : specify config file\n"); |
| printf("\t--timidity-config [-C] <file> : specify timidity config file\n"); | printf("\t--timidity-config [-C] <file> : specify timidity config file\n"); |
| printf("\t--shared-pixmap [-p] : use MIT-SHM pixmap extention\n"); | |
| #if defined(USE_SDL) || defined(USE_SYSMENU) | #if defined(USE_SDL) || defined(USE_SYSMENU) |
| printf("\t--ttfont [-t] <file> : specify TrueType font\n"); | printf("\t--ttfont [-t] <file> : specify TrueType font\n"); |
| #endif | #endif |
| Line 139 main(int argc, char *argv[]) | Line 136 main(int argc, char *argv[]) |
| int rv = 1; | int rv = 1; |
| int ch; | int ch; |
| int i, drvmax; | int i, drvmax; |
| BOOL shared_pixmap_flag = FALSE; | |
| progname = argv[0]; | progname = argv[0]; |
| toolkit_initialize(); | toolkit_initialize(); |
| toolkit_arginit(&argc, &argv); | toolkit_arginit(&argc, &argv); |
| while ((ch = getopt_long(argc, argv, "c:C:t:ph", longopts, NULL)) != -1) { | while ((ch = getopt_long(argc, argv, "c:C:t:vh", longopts, NULL)) != -1) { |
| switch (ch) { | switch (ch) { |
| case 'c': | case 'c': |
| if (stat(optarg, &sb) < 0 || !S_ISREG(sb.st_mode)) { | if (stat(optarg, &sb) < 0 || !S_ISREG(sb.st_mode)) { |
| Line 177 main(int argc, char *argv[]) | Line 173 main(int argc, char *argv[]) |
| milstr_ncpy(fontfilename, optarg, sizeof(fontfilename)); | milstr_ncpy(fontfilename, optarg, sizeof(fontfilename)); |
| break; | break; |
| case 'p': | case 'v': |
| shared_pixmap_flag = TRUE; | verbose = 1; |
| break; | break; |
| case 'h': | case 'h': |
| Line 248 main(int argc, char *argv[]) | Line 244 main(int argc, char *argv[]) |
| initload(); | initload(); |
| toolwin_readini(); | toolwin_readini(); |
| kdispwin_readini(); | kdispwin_readini(); |
| skbdwin_readini(); | |
| rand_setseed((SINT32)time(NULL)); | rand_setseed((SINT32)time(NULL)); |
| #if defined(__GNUC__) && (defined(i386) || defined(__i386__)) | #if defined(GCC_CPU_ARCH_IA32) |
| mmxflag = havemmx() ? 0 : MMXFLAG_NOTSUPPORT; | mmxflag = havemmx() ? 0 : MMXFLAG_NOTSUPPORT; |
| mmxflag += np2oscfg.disablemmx ? MMXFLAG_DISABLE : 0; | mmxflag += np2oscfg.disablemmx ? MMXFLAG_DISABLE : 0; |
| #endif | #endif |
| use_shared_pixmap = np2oscfg.shared_pixmap && shared_pixmap_flag; | |
| TRACEINIT(); | TRACEINIT(); |
| if (fontmng_init() != SUCCESS) | if (fontmng_init() != SUCCESS) |
| Line 265 main(int argc, char *argv[]) | Line 260 main(int argc, char *argv[]) |
| kdispwin_initialize(); | kdispwin_initialize(); |
| viewer_init(); | viewer_init(); |
| skbdwin_initialize(); | |
| toolkit_widget_create(); | toolkit_widget_create(); |
| scrnmng_initialize(); | scrnmng_initialize(); |
| Line 284 main(int argc, char *argv[]) | Line 280 main(int argc, char *argv[]) |
| if (soundmng_initialize() == SUCCESS) { | if (soundmng_initialize() == SUCCESS) { |
| result = soundmng_pcmload(SOUND_PCMSEEK, file_getcd("fddseek.wav")); | result = soundmng_pcmload(SOUND_PCMSEEK, file_getcd("fddseek.wav")); |
| if (!result) { | if (!result) { |
| result = soundmng_pcmload(SOUND_PCMSEEK, SYSRESPATH "/wav/fddseek.wav"); | result = soundmng_pcmload(SOUND_PCMSEEK, SYSRESPATH "/fddseek.wav"); |
| } | } |
| if (result) { | if (result) { |
| soundmng_pcmvolume(SOUND_PCMSEEK, np2cfg.MOTORVOL); | soundmng_pcmvolume(SOUND_PCMSEEK, np2cfg.MOTORVOL); |
| Line 292 main(int argc, char *argv[]) | Line 288 main(int argc, char *argv[]) |
| result = soundmng_pcmload(SOUND_PCMSEEK1, file_getcd("fddseek1.wav")); | result = soundmng_pcmload(SOUND_PCMSEEK1, file_getcd("fddseek1.wav")); |
| if (!result) { | if (!result) { |
| result = soundmng_pcmload(SOUND_PCMSEEK1, SYSRESPATH "/wav/fddseek1.wav"); | result = soundmng_pcmload(SOUND_PCMSEEK1, SYSRESPATH "/fddseek1.wav"); |
| } | } |
| if (result) { | if (result) { |
| soundmng_pcmvolume(SOUND_PCMSEEK1, np2cfg.MOTORVOL); | soundmng_pcmvolume(SOUND_PCMSEEK1, np2cfg.MOTORVOL); |
| } | } |
| } | } |
| joymng_initialize(); | |
| mousemng_initialize(); | mousemng_initialize(); |
| if (np2oscfg.MOUSE_SW) { | if (np2oscfg.MOUSE_SW) { |
| mouse_running(MOUSE_ON); | mouse_running(MOUSE_ON); |
| Line 308 main(int argc, char *argv[]) | Line 305 main(int argc, char *argv[]) |
| sysmng_initialize(); | sysmng_initialize(); |
| taskmng_initialize(); | taskmng_initialize(); |
| joy_init(); | |
| pccore_init(); | pccore_init(); |
| S98_init(); | S98_init(); |
| Line 324 main(int argc, char *argv[]) | Line 320 main(int argc, char *argv[]) |
| if (np2oscfg.keydisp) { | if (np2oscfg.keydisp) { |
| kdispwin_create(); | kdispwin_create(); |
| } | } |
| if (np2oscfg.softkbd) { | |
| skbdwin_create(); | |
| } | |
| } | } |
| #if !defined(CPUCORE_IA32) | |
| if (np2oscfg.resume) { | if (np2oscfg.resume) { |
| flagload(np2resumeext, "Resume", FALSE); | flagload(np2resumeext, "Resume", FALSE); |
| } | } |
| #endif | |
| sysmng_workclockreset(); | sysmng_workclockreset(); |
| drvmax = (argc < 4) ? argc : 4; | drvmax = (argc < 4) ? argc : 4; |
| for (i = 0; i < drvmax; i++) { | for (i = 0; i < drvmax; i++) { |
| milstr_ncpy(diskdrv_fname[i],argv[i],sizeof(diskdrv_fname[0])); | diskdrv_readyfdd(i, argv[i], 0); |
| diskdrv_delay[i] = 1; | |
| } | } |
| setup_signal(SIGINT, sighandler); | setup_signal(SIGINT, sighandler); |
| Line 345 main(int argc, char *argv[]) | Line 345 main(int argc, char *argv[]) |
| kdispwin_destroy(); | kdispwin_destroy(); |
| toolwin_destroy(); | toolwin_destroy(); |
| skbdwin_destroy(); | |
| pccore_cfgupdate(); | pccore_cfgupdate(); |
| mouse_running(MOUSE_OFF); | mouse_running(MOUSE_OFF); |
| joymng_deinitialize(); | |
| S98_trash(); | S98_trash(); |
| #if !defined(CPUCORE_IA32) | |
| if (np2oscfg.resume) { | if (np2oscfg.resume) { |
| flagsave(np2resumeext); | flagsave(np2resumeext); |
| } else { | } else { |
| flagdelete(np2resumeext); | flagdelete(np2resumeext); |
| } | } |
| #endif | |
| pccore_term(); | pccore_term(); |
| debugwin_destroy(); | debugwin_destroy(); |
| Line 374 fontmng_failure: | Line 378 fontmng_failure: |
| initsave(); | initsave(); |
| toolwin_writeini(); | toolwin_writeini(); |
| kdispwin_writeini(); | kdispwin_writeini(); |
| skbdwin_writeini(); | |
| } | } |
| skbdwin_deinitialize(); | |
| TRACETERM(); | TRACETERM(); |
| dosio_term(); | dosio_term(); |