Browse Source

Further move of platform-specific code

LouYihua 7 years ago
parent
commit
e981e3d77a
7 changed files with 31 additions and 42 deletions
  1. 1 0
      3ds/pal_config.h
  2. 19 13
      common.h
  3. 2 0
      incomplete_ports/pal_config.h
  4. 1 0
      unix/pal_config.h
  5. 1 10
      util.c
  6. 6 19
      video.c
  7. 1 0
      win32/pal_config.h

+ 1 - 0
3ds/pal_config.h

@@ -25,6 +25,7 @@
 # define PAL_PORTYEAR         "2017"
 
 # define PAL_LARGE           static
+# define PAL_FORCE_UPDATE_ON_PALETTE_SET
 
 # define PAL_FILESYSTEM_IGNORE_CASE 1
 

+ 19 - 13
common.h

@@ -49,27 +49,33 @@ extern "C"
 
 #if SDL_VERSION_ATLEAST(2,0,0)
 
-#define SDLK_KP1     SDLK_KP_1
-#define SDLK_KP2     SDLK_KP_2
-#define SDLK_KP3     SDLK_KP_3
-#define SDLK_KP4     SDLK_KP_4
-#define SDLK_KP5     SDLK_KP_5
-#define SDLK_KP6     SDLK_KP_6
-#define SDLK_KP7     SDLK_KP_7
-#define SDLK_KP8     SDLK_KP_8
-#define SDLK_KP9     SDLK_KP_9
-#define SDLK_KP0     SDLK_KP_0
+# define SDLK_KP1     SDLK_KP_1
+# define SDLK_KP2     SDLK_KP_2
+# define SDLK_KP3     SDLK_KP_3
+# define SDLK_KP4     SDLK_KP_4
+# define SDLK_KP5     SDLK_KP_5
+# define SDLK_KP6     SDLK_KP_6
+# define SDLK_KP7     SDLK_KP_7
+# define SDLK_KP8     SDLK_KP_8
+# define SDLK_KP9     SDLK_KP_9
+# define SDLK_KP0     SDLK_KP_0
+
+# define SDL_HWSURFACE     0
 
-#define SDL_HWSURFACE     0
+#else
+
+# ifndef PAL_FATAL_OUTPUT
+#  define PAL_FATAL_OUTPUT(s)
+# endif
 
 #endif
 
 #ifndef max
-#define max fmax
+# define max fmax
 #endif
 
 #ifndef min
-#define min fmin
+# define min fmin
 #endif
 
 /* This is need when compiled with SDL 1.2 */

+ 2 - 0
incomplete_ports/pal_config.h

@@ -20,6 +20,7 @@
 #  define PAL_VIDEO_INIT_FLAGS  (SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE)
 # else
 #  define PAL_VIDEO_INIT_FLAGS  (SDL_SWSURFACE | (gConfig.fFullScreen ? SDL_FULLSCREEN : 0))
+#  define PAL_FATAL_OUTPUT(s)   UTIL_WriteLog(LOG_DEBUG,"[0x%08x][%s][%s] - %s",(long)TerminateOnError,"TerminateOnError",__FILE__, (s)); SDL_Delay(3000)
 # endif
 
 # define PAL_SDL_INIT_FLAGS	(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_CDROM | SDL_INIT_NOPARACHUTE | SDL_INIT_JOYSTICK)
@@ -29,6 +30,7 @@
 # define PAL_PORTYEAR         "2009"
 
 # define PAL_LARGE           static
+# define PAL_FORCE_UPDATE_ON_PALETTE_SET
 
 # if !defined (__S60_5X__)
 #  define PAL_SCALE_SCREEN   FALSE

+ 1 - 0
unix/pal_config.h

@@ -21,6 +21,7 @@
 #  define PAL_VIDEO_INIT_FLAGS  (SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | (gConfig.fFullScreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0))
 # else
 #  define PAL_VIDEO_INIT_FLAGS  (SDL_HWSURFACE | SDL_RESIZABLE | (gConfig.fFullScreen ? SDL_FULLSCREEN : 0))
+#  define PAL_FATAL_OUTPUT(s)   system(va("beep; xmessage -center \"FATAL ERROR: %s\"", (s)))
 # endif
 
 # define PAL_SDL_INIT_FLAGS	(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_CDROM | SDL_INIT_NOPARACHUTE | SDL_INIT_JOYSTICK)

+ 1 - 10
util.c

@@ -330,16 +330,7 @@ TerminateOnError(
 	  PAL_Shutdown(255);
    }
 #else
-
-# if defined(_WIN32)
-   MessageBoxA(0, string, "FATAL ERROR", MB_ICONERROR);
-# elif defined(__linux__)
-   system(va("beep; xmessage -center \"FATAL ERROR: %s\"", string));
-# elif defined(__SYMBIAN32__)
-   UTIL_WriteLog(LOG_DEBUG,"[0x%08x][%s][%s] - %s",(long)TerminateOnError,"TerminateOnError",__FILE__, string);
-   SDL_Delay(3000);
-# endif
-
+   PAL_FATAL_OUTPUT(string);
 #endif
 
 #ifdef _DEBUG

+ 6 - 19
video.c

@@ -20,9 +20,6 @@
 //
 
 #include "main.h"
-#if !defined(__WIN32__) && !defined(__WINRT__)
-#include <sys/time.h>
-#endif
 
 // Screen buffer
 SDL_Surface              *gpScreen           = NULL;
@@ -567,7 +564,7 @@ VIDEO_SetPalette(
    SDL_SetPalette(gpScreen, SDL_LOGPAL | SDL_PHYSPAL, rgPalette, 0, 256);
    SDL_SetPalette(gpScreenBak, SDL_LOGPAL | SDL_PHYSPAL, rgPalette, 0, 256);
    SDL_SetPalette(gpScreenReal, SDL_LOGPAL | SDL_PHYSPAL, rgPalette, 0, 256);
-#if (defined (__SYMBIAN32__)) || (defined (__N3DS__))
+# if defined(PAL_FORCE_UPDATE_ON_PALETTE_SET)
    {
       static UINT32 time = 0;
       if (SDL_GetTicks() - time > 50)
@@ -576,7 +573,7 @@ VIDEO_SetPalette(
 	      time = SDL_GetTicks();
       }
    }
-#endif
+# endif
 #endif
 }
 
@@ -630,18 +627,10 @@ VIDEO_Resize(
 
    if (gpScreenReal == NULL)
    {
-#ifdef __SYMBIAN32__
-#ifdef __S60_5X__
-      gpScreenReal = SDL_SetVideoMode(640, 360, 8, SDL_SWSURFACE);
-#else
-      gpScreenReal = SDL_SetVideoMode(320, 240, 8, SDL_SWSURFACE);
-#endif
-#else
       //
-      // Fall back to 640x480 software windowed mode.
+      // Fall back to software windowed mode in default size.
       //
-      gpScreenReal = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);
-#endif
+      gpScreenReal = SDL_SetVideoMode(PAL_DEFAULT_WINDOW_WIDTH, PAL_DEFAULT_WINDOW_HEIGHT, 8, SDL_SWSURFACE);
    }
 
    SDL_SetPalette(gpScreenReal, SDL_PHYSPAL | SDL_LOGPAL, palette, 0, i);
@@ -682,7 +671,7 @@ VIDEO_ToggleScaleScreen(
 /*++
   Purpose:
 
-    Toggle scalescreen mode.
+    Toggle scalescreen mode, only used in some platforms.
 
   Parameters:
 
@@ -694,11 +683,9 @@ VIDEO_ToggleScaleScreen(
 
 --*/
 {
-#ifdef __SYMBIAN32__
    bScaleScreen = !bScaleScreen;
-   VIDEO_Resize(320, 240);
+   VIDEO_Resize(PAL_DEFAULT_WINDOW_WIDTH, PAL_DEFAULT_WINDOW_HEIGHT);
    VIDEO_UpdateScreen(NULL);
-#endif
 }
 
 VOID

+ 1 - 0
win32/pal_config.h

@@ -20,6 +20,7 @@
 # define PAL_VIDEO_INIT_FLAGS  (SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | (gConfig.fFullScreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0))
 #else
 # define PAL_VIDEO_INIT_FLAGS  (SDL_HWSURFACE | SDL_RESIZABLE | (gConfig.fFullScreen ? SDL_FULLSCREEN : 0))
+# define PAL_FATAL_OUTPUT(s)   MessageBoxA(0, (s), "FATAL ERROR", MB_ICONERROR)
 #endif
 
 #define PAL_SDL_INIT_FLAGS	(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_CDROM | SDL_INIT_NOPARACHUTE | SDL_INIT_JOYSTICK)