Diff for /np2/x11/np2.c between versions 1.2 and 1.9

version 1.2, 2003/11/17 16:12:27 version 1.9, 2004/01/05 07:22:02
Line 28 Line 28
 #include "compiler.h"  #include "compiler.h"
   
 #include "np2.h"  #include "np2.h"
   #include "pccore.h"
 #include "dosio.h"  #include "dosio.h"
 #include "scrndraw.h"  #include "scrndraw.h"
 #include "statsave.h"  #include "statsave.h"
 #include "timing.h"  #include "timing.h"
 #include "toolkit.h"  #include "toolkit.h"
   
 #include "keydisp.h"  #include "kdispwin.h"
 #include "toolwin.h"  #include "toolwin.h"
   #include "viewer.h"
   
 #include "commng.h"  #include "commng.h"
   #include "joymng.h"
 #include "kbdmng.h"  #include "kbdmng.h"
 #include "mousemng.h"  #include "mousemng.h"
 #include "scrnmng.h"  #include "scrnmng.h"
 #include "soundmng.h"  #include "soundmng.h"
 #include "sysmng.h"  #include "sysmng.h"
   #include "taskmng.h"
   
   
 NP2OSCFG np2oscfg = {  NP2OSCFG np2oscfg = {
 #if !defined(CPU386)            /* titles */  #if !defined(CPUCORE_IA32)              /* titles */
         "Neko Project II",          "Neko Project II",
 #else  #else
         "Neko Project II + IA32",          "Neko Project II + IA32",
 #endif  #endif
   
         2,                      /* paddingx */          0,                      /* paddingx */
         2,                      /* paddingy */          0,                      /* paddingy */
   
         0,                      /* NOWAIT */          0,                      /* NOWAIT */
         2,                      /* DRAW_SKIP */          0,                      /* DRAW_SKIP */
   
         0,                      /* DISPCLK */          0,                      /* DISPCLK */
   
         KEY_KEY106,             /* KEYBOARD */          KEY_KEY106,             /* KEYBOARD */
         0,                      /* F12COPY */          0,                      /* F12KEY */
   
         0,                      /* MOUSE_SW */          0,                      /* MOUSE_SW */
         0,                      /* JOYPAD1 */          0,                      /* JOYPAD1 */
Line 89  NP2OSCFG np2oscfg = { Line 93  NP2OSCFG np2oscfg = {
   
 #if defined(USE_GTK)            /* toolkit */  #if defined(USE_GTK)            /* toolkit */
         "gtk",          "gtk",
 #else  #elif defined(USE_QT)
         "qt",          "qt",
   #elif defined(USE_SDL)
           "sdl",
   #else
           "unknown",
 #endif  #endif
   
         MMXFLAG_DISABLE,        /* disablemmx */          MMXFLAG_DISABLE,        /* disablemmx */
           FALSE,                  /* shared_pixmap */
 };  };
   
 BOOL np2running = FALSE;  BOOL np2running = FALSE;
Line 112  char bmpfilefolder[MAX_PATH]; Line 121  char bmpfilefolder[MAX_PATH];
 char modulefile[MAX_PATH];  char modulefile[MAX_PATH];
 char statpath[MAX_PATH];  char statpath[MAX_PATH];
   
   #ifndef FONTFACE
   #define FONTFACE "-misc-fixed-%s-r-normal--%d-*-*-*-*-*-*-*"
   #endif
   char fontname[1024] = FONTFACE;
   
 char timidity_cfgfile_path[MAX_PATH];  char timidity_cfgfile_path[MAX_PATH];
   
   BOOL use_shared_pixmap;
   
   
 UINT32  UINT32
 gettick(void)  gettick(void)
Line 214  changescreen(BYTE newmode) Line 230  changescreen(BYTE newmode)
         if (renewal) {          if (renewal) {
                 if (renewal & SCRNMODE_FULLSCREEN) {                  if (renewal & SCRNMODE_FULLSCREEN) {
                         toolwin_destroy();                          toolwin_destroy();
                         keydisp_destroy();                          kdispwin_destroy();
                 }                  }
                 soundmng_stop();                  soundmng_stop();
                 mouse_running(MOUSE_STOP);                  mouse_running(MOUSE_STOP);
Line 234  changescreen(BYTE newmode) Line 250  changescreen(BYTE newmode)
                                         toolwin_create();                                          toolwin_create();
                                 }                                  }
                                 if (np2oscfg.keydisp) {                                  if (np2oscfg.keydisp) {
                                         keydisp_create();                                          kdispwin_create();
                                 }                                  }
                         }                          }
                 }                  }
Line 251  framereset(UINT cnt) Line 267  framereset(UINT cnt)
   
         framecnt = 0;          framecnt = 0;
         scrnmng_dispclock();          scrnmng_dispclock();
         keydisp_draw((BYTE)cnt);          kdispwin_draw((BYTE)cnt);
         toolwin_draw((BYTE)cnt);          toolwin_draw((BYTE)cnt);
           viewer_allreload(FALSE);
         if (np2oscfg.DISPCLK & 3) {          if (np2oscfg.DISPCLK & 3) {
                 if (sysmng_workclockrenewal()) {                  if (sysmng_workclockrenewal()) {
                         sysmng_updatecaption(3);                          sysmng_updatecaption(3);
Line 268  processwait(UINT cnt) Line 285  processwait(UINT cnt)
                 timing_setcount(0);                  timing_setcount(0);
                 framereset(cnt);                  framereset(cnt);
         } else {          } else {
                 usleep(1);                  taskmng_sleep(1);
           }
   }
   
   int
   mainloop(void *p)
   {
   
           UNUSED(p);
   
           if (np2oscfg.NOWAIT) {
                   joy_flash();
                   mousemng_callback();
                   pccore_exec(framecnt == 0);
                   if (np2oscfg.DRAW_SKIP) {
                           /* nowait frame skip */
                           framecnt++;
                           if (framecnt >= np2oscfg.DRAW_SKIP) {
                                   processwait(0);
                           }
                   } else {
                           /* nowait auto skip */
                           framecnt = 1;
                           if (timing_getcount()) {
                                   processwait(0);
                           }
                   }
           } else if (np2oscfg.DRAW_SKIP) {
                   /* frame skip */
                   if (framecnt < np2oscfg.DRAW_SKIP) {
                           joy_flash();
                           mousemng_callback();
                           pccore_exec(framecnt == 0);
                           framecnt++;
                   } else {
                           processwait(np2oscfg.DRAW_SKIP);
                   }
           } else {
                   /* auto skip */
                   if (waitcnt == 0) {
                           UINT cnt;
                           joy_flash();
                           mousemng_callback();
                           pccore_exec(framecnt == 0);
                           framecnt++;
                           cnt = timing_getcount();
                           if (framecnt > cnt) {
                                   waitcnt = framecnt;
                                   if (framemax > 1) {
                                           framemax--;
                                   }
                           } else if (framecnt >= framemax) {
                                   if (framemax < 12) {
                                           framemax++;
                                   }
                                   if (cnt >= 12) {
                                           timing_reset();
                                   } else {
                                           timing_setcount(cnt - framecnt);
                                   }
                                   framereset(0);
                           }
                   } else {
                           processwait(waitcnt);
                           waitcnt = framecnt;
                   }
         }          }
   
           return TRUE;
 }  }
   
 #if defined(__GNUC__) && (defined(i386) || defined(__i386__))  #if defined(__GNUC__) && (defined(i386) || defined(__i386__))

Removed from v.1.2  
changed lines
  Added in v.1.9


RetroPC.NET-CVS <cvs@retropc.net>