| version 1.22, 2004/07/26 15:53:26 | version 1.33, 2011/01/15 16:14:23 | 
| Line 1 | Line 1 | 
 |  | /*      $Id$    */ | 
 |  |  | 
 | /* | /* | 
 | * Copyright (c) 2003 NONAKA Kimihiro | * Copyright (c) 2003 NONAKA Kimihiro | 
 | * All rights reserved. | * All rights reserved. | 
| Line 10 | Line 12 | 
 | * 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 102  NP2OSCFG np2oscfg = { | Line 102  NP2OSCFG np2oscfg = { | 
 | 0,                      /* jastsnd */ | 0,                      /* jastsnd */ | 
 | 0,                      /* I286SAVE */ | 0,                      /* I286SAVE */ | 
 |  |  | 
| SNDDRV_NODRV,           /* snddrv */ | SNDDRV_SDL,             /* snddrv */ | 
| "",                     /* audiodev */ |  | 
 | { "", "" },             /* MIDIDEV */ | { "", "" },             /* MIDIDEV */ | 
 | 0,                      /* MIDIWAIT */ | 0,                      /* MIDIWAIT */ | 
 |  |  | 
 | MOUSE_RATIO_100,        /* mouse_move_ratio */ | MOUSE_RATIO_100,        /* mouse_move_ratio */ | 
 |  |  | 
 | #if defined(USE_GTK)            /* toolkit */ |  | 
 | "gtk", |  | 
 | #elif defined(USE_QT) |  | 
 | "qt", |  | 
 | #elif defined(USE_SDL) |  | 
 | "sdl", |  | 
 | #else |  | 
 | "unknown", |  | 
 | #endif |  | 
 |  |  | 
 | MMXFLAG_DISABLE,        /* disablemmx */ | MMXFLAG_DISABLE,        /* disablemmx */ | 
| FALSE,                  /* shared_pixmap */ | INTERP_NEAREST,         /* drawinterp */ | 
|  | 0,                      /* F11KEY */ | 
|  |  | 
|  | FALSE,                  /* cfgreadonly */ | 
 | }; | }; | 
 |  |  | 
| volatile BOOL np2running = FALSE; | volatile sig_atomic_t np2running = 0; | 
 | BYTE scrnmode = 0; | BYTE scrnmode = 0; | 
 |  | int ignore_fullscreen_mode = 0; | 
 |  |  | 
 | UINT framecnt = 0; | UINT framecnt = 0; | 
 | UINT waitcnt = 0; | UINT waitcnt = 0; | 
| Line 139  char bmpfilefolder[MAX_PATH]; | Line 132  char bmpfilefolder[MAX_PATH]; | 
 | char modulefile[MAX_PATH]; | char modulefile[MAX_PATH]; | 
 | char statpath[MAX_PATH]; | char statpath[MAX_PATH]; | 
 |  |  | 
 |  | char np2appname[MAX_PATH] = "np2"; | 
 |  | const char np2flagext[] = "s%02d"; | 
 |  | const char np2resumeext[] = "sav"; | 
 |  |  | 
 | #ifndef FONTFACE | #ifndef FONTFACE | 
 | #define FONTFACE "-misc-fixed-%s-r-normal--%d-*-*-*-*-*-*-*" | #define FONTFACE "-misc-fixed-%s-r-normal--%d-*-*-*-*-*-*-*" | 
 | #endif | #endif | 
 | char fontname[1024] = FONTFACE; | char fontname[1024] = FONTFACE; | 
 |  |  | 
 | #ifndef FONTNAME_DEFAULT |  | 
 | #define FONTNAME_DEFAULT        "./default.ttf" |  | 
 | #endif |  | 
 | char fontfilename[MAX_PATH] = FONTNAME_DEFAULT; |  | 
 |  |  | 
 | char timidity_cfgfile_path[MAX_PATH]; | char timidity_cfgfile_path[MAX_PATH]; | 
 |  |  | 
| BOOL use_shared_pixmap = FALSE; | int verbose = 0; | 
 |  |  | 
 |  |  | 
 | UINT32 | UINT32 | 
| Line 169  getstatfilename(char* path, const char* | Line 161  getstatfilename(char* path, const char* | 
 |  |  | 
 | /* | /* | 
 | * default: | * default: | 
| * e.g. resume:   "/home/user_name/.np2/sav/sav" | * e.g. resume:   "/home/user_name/.np2/sav/np2.sav" | 
| *      statpath: "/home/user_name/.np2/sav/s00" | *      statpath: "/home/user_name/.np2/sav/np2.s00" | 
|  | *      config:   "/home/user_name/.np2/np2rc" | 
 | * | * | 
 | * --config option: | * --config option: | 
| * e.g. resume:   "/config_file_path/sav" | * e.g. resume:   "/config_file_path/sav/np2.sav" | 
| *      statpath: "/config_file_path/s00" | *      statpath: "/config_file_path/sav/np2.s00" | 
 | *      config:   "/config_file_path/config_file_name" | *      config:   "/config_file_path/config_file_name" | 
 | */ | */ | 
 | file_cpyname(path, statpath, size); | file_cpyname(path, statpath, size); | 
 |  | file_catname(path, ".", size); | 
 | file_catname(path, ext, size); | file_catname(path, ext, size); | 
 | } | } | 
 |  |  | 
| Line 215  flagload(const char* ext, const char* ti | Line 209  flagload(const char* ext, const char* ti | 
 | int ret; | int ret; | 
 | int rv = 0; | int rv = 0; | 
 |  |  | 
 | UNUSED(title); |  | 
 |  |  | 
 | getstatfilename(path, ext, sizeof(path)); | getstatfilename(path, ext, sizeof(path)); | 
 | ret = statsave_check(path, buf, sizeof(buf)); | ret = statsave_check(path, buf, sizeof(buf)); | 
 | if (ret & (~STATFLAG_DISKCHG)) { | if (ret & (~STATFLAG_DISKCHG)) { | 
| fprintf(stderr, "Couldn't restart\n"); | toolkit_msgbox(title, "Couldn't restart", | 
|  | TK_MB_OK|TK_MB_ICON_ERROR); | 
 | rv = 1; | rv = 1; | 
 | } else if ((!force) && (ret & STATFLAG_DISKCHG)) { | } else if ((!force) && (ret & STATFLAG_DISKCHG)) { | 
| fprintf(stderr, "Conflict\n"); | ret = toolkit_msgbox(title, "Conflict!\nContinue?", | 
| rv = 1; | TK_MB_YESNO|TK_MB_ICON_QUESTION); | 
|  | if (ret != TK_MB_YES) { | 
|  | rv = 1; | 
|  | } | 
 | } | } | 
 | if (rv == 0) { | if (rv == 0) { | 
 | statsave_load(path); | statsave_load(path); | 
| Line 318  int | Line 314  int | 
 | mainloop(void *p) | mainloop(void *p) | 
 | { | { | 
 |  |  | 
 | UNUSED(p); |  | 
 |  |  | 
 | if (np2oscfg.NOWAIT) { | if (np2oscfg.NOWAIT) { | 
 | joymng_sync(); | joymng_sync(); | 
 | mousemng_callback(); | mousemng_callback(); | 
| Line 381  mainloop(void *p) | Line 375  mainloop(void *p) | 
 | return TRUE; | return TRUE; | 
 | } | } | 
 |  |  | 
 | #if defined(GCC_CPU_ARCH_IA32) |  | 
 | int mmxflag; | int mmxflag; | 
 |  |  | 
 | int | int | 
 | havemmx(void) | havemmx(void) | 
 | { | { | 
 |  | #if !defined(GCC_CPU_ARCH_IA32) | 
 |  | return 0; | 
 |  | #else   /* GCC_CPU_ARCH_IA32 */ | 
 | int rv; | int rv; | 
 |  |  | 
 | #if defined(GCC_CPU_ARCH_AMD64) | #if defined(GCC_CPU_ARCH_AMD64) | 
| Line 414  havemmx(void) | Line 410  havemmx(void) | 
 | : "=a" (rv)); | : "=a" (rv)); | 
 | #endif /* GCC_CPU_ARCH_AMD64 */ | #endif /* GCC_CPU_ARCH_AMD64 */ | 
 | return rv; | return rv; | 
 | } |  | 
 |  |  | 
 | #endif /* GCC_CPU_ARCH_IA32 */ | #endif /* GCC_CPU_ARCH_IA32 */ | 
 |  | } |