rnd-20001125-4-src
authorHolger Schemel <info@artsoft.org>
Sat, 25 Nov 2000 20:10:50 +0000 (21:10 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:35:09 +0000 (10:35 +0200)
src/events.c
src/main.h
src/msdos.h
src/sdl.h
src/system.c
src/system.h
src/x11.h

index 8d6cd62195f26bbc44bf79dec0287d087dc584e4..da828b587bbf9ded39bb9385fcc966932d3b5ea2 100644 (file)
@@ -326,15 +326,8 @@ void HandleFocusEvent(FocusChangeEvent *event)
 
 void HandleClientMessageEvent(ClientMessageEvent *event)
 {
-#ifdef TARGET_SDL
-  CloseAllAndExit(0);  /* the only possible message here is SDL_QUIT */
-#else
-#ifndef MSDOS
-  if ((event->window == window) &&
-      (event->data.l[0] == XInternAtom(display, "WM_DELETE_WINDOW", FALSE)))
+  if (CheckCloseWindowEvent(event))
     CloseAllAndExit(0);
-#endif
-#endif
 }
 
 void HandleButton(int mx, int my, int button)
@@ -702,10 +695,7 @@ void HandleKey(Key key, int key_status)
          printf("ScrollStepSize == %d (1/1)\n", ScrollStepSize);
          break;
 
-#ifndef MSDOS
        case KEY_Q:
-#endif
-       case KEY_q:
          local_player->dynamite = 1000;
          break;
 
index 24066a739090629778fe83309ff73852a807b84f..d38f529c1f764b28ba987bdd4687308aa82f9c1b 100644 (file)
@@ -1656,7 +1656,7 @@ extern int                num_element_info;
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
 #define PROGRAM_RIGHTS_STRING  "Copyright ^1995-2000 by"
 #define PROGRAM_DOS_PORT_STRING        "DOS port done by Guido Schulz"
-#define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " PLATFORM_STRING
+#define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " TARGET_STRING
 #define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
 #define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
 
index 111fabe667805c70a356b551043f65a645d63d03..9e93109dc6a1ccf3a7de0ef2c209e3ee0d62369c 100644 (file)
@@ -21,7 +21,7 @@
 
 /* system dependent definitions */
 
-#define PLATFORM_STRING                "DOS"
+#define TARGET_STRING          "DOS"
 
 /* allegro defines TRUE as -1 */
 #ifdef TRUE
index 4d48f3d2671f74ad139d7aa10198709b9d1ace45..68007d76dc2670fc8d1f9029e7a906ca0c625551 100644 (file)
--- a/src/sdl.h
+++ b/src/sdl.h
@@ -34,7 +34,7 @@
 
 /* system dependent definitions */
 
-#define PLATFORM_STRING                "SDL"
+#define TARGET_STRING          "SDL"
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
 
 
index 08c2eb5d7d8b206d41a1530d81d71d9874b069a8..54870c81a92398147445837564f9620b73482f89 100644 (file)
 #include "main.h"
 #include "misc.h"
 
-inline void InitEventFilter(EventFilter filter_function)
-{
-#ifdef TARGET_SDL
-  /* set event filter to filter out certain events */
-  SDL_SetEventFilter(filter_function);
-#endif
-}
+
+/* ========================================================================= */
+/* video functions                                                           */
+/* ========================================================================= */
 
 inline void InitBufferedDisplay(DrawBuffer *backbuffer, DrawWindow *window)
 {
@@ -201,6 +198,63 @@ inline boolean PointerInWindow(DrawWindow window)
 #endif
 }
 
+inline boolean SetVideoMode(void)
+{
+#ifdef TARGET_SDL
+  return SDLSetVideoMode(&backbuffer);
+#else
+  boolean success = TRUE;
+
+  if (setup.fullscreen && fullscreen_available)
+  {
+    Error(ERR_WARN, "fullscreen not available in X11 version");
+
+    /* display error message only once */
+    fullscreen_available = FALSE;
+
+    success = FALSE;
+  }
+
+  return success;
+#endif
+}
+
+inline void ChangeVideoModeIfNeeded(void)
+{
+#ifdef TARGET_SDL
+  if ((setup.fullscreen && !fullscreen_enabled && fullscreen_available) ||
+      (!setup.fullscreen && fullscreen_enabled))
+    SetVideoMode();
+#endif
+}
+
+
+/* ========================================================================= */
+/* audio functions                                                           */
+/* ========================================================================= */
+
+inline boolean InitAudio(void)
+{
+#ifdef TARGET_SDL
+  return SDLInitAudio();
+#else
+  return TRUE;
+#endif
+}
+
+
+/* ========================================================================= */
+/* event functions                                                           */
+/* ========================================================================= */
+
+inline void InitEventFilter(EventFilter filter_function)
+{
+#ifdef TARGET_SDL
+  /* set event filter to filter out certain events */
+  SDL_SetEventFilter(filter_function);
+#endif
+}
+
 inline boolean PendingEvent(void)
 {
 #ifdef TARGET_SDL
@@ -247,44 +301,22 @@ inline Key GetEventKey(KeyEvent *event, boolean with_modifiers)
 #endif
 }
 
-inline boolean SetVideoMode(void)
+inline boolean CheckCloseWindowEvent(ClientMessageEvent *event)
 {
-#ifdef TARGET_SDL
-  return SDLSetVideoMode(&backbuffer);
-#else
-  boolean success = TRUE;
-
-  if (setup.fullscreen && fullscreen_available)
-  {
-    Error(ERR_WARN, "fullscreen not available in X11 version");
-
-    /* display error message only once */
-    fullscreen_available = FALSE;
-
-    success = FALSE;
-  }
-
-  return success;
+  if (event->type != EVENT_CLIENTMESSAGE)
+    return FALSE;
+
+#if defined(TARGET_SDL)
+  return TRUE;         /* the only possible message here is SDL_QUIT */
+#elif defined(PLATFORM_UNIX)
+  if ((event->window == window) &&
+      (event->data.l[0] == XInternAtom(display, "WM_DELETE_WINDOW", FALSE)))
+    return TRUE;
 #endif
-}
 
-inline void ChangeVideoModeIfNeeded(void)
-{
-#ifdef TARGET_SDL
-  if ((setup.fullscreen && !fullscreen_enabled && fullscreen_available) ||
-      (!setup.fullscreen && fullscreen_enabled))
-    SetVideoMode();
-#endif
+  return FALSE;
 }
 
-inline boolean InitAudio(void)
-{
-#ifdef TARGET_SDL
-  return SDLInitAudio();
-#else
-  return TRUE;
-#endif
-}
 
 inline void dummy(void)
 {
index 1c3b8e20065b72c9f2147c37a3bf1afe0545ca65..f7cb3984c02194f2306faf003be643ee2780c6de 100644 (file)
@@ -49,35 +49,29 @@ typedef int (*EventFilter)(const Event *);
 
 /* system-wide function definitions */
 
-inline void InitEventFilter(EventFilter);
 inline void InitBufferedDisplay(DrawBuffer *, DrawWindow *);
-
 inline int GetDisplayDepth(void);
-
 inline Bitmap CreateBitmap(int, int, int);
 inline void FreeBitmap(Bitmap);
-
 inline void ClearRectangle(Bitmap, int, int, int, int);
 inline void BlitBitmap(Bitmap, Bitmap, int, int, int, int, int, int);
 inline void SetClipMask(GC, Pixmap);
 inline void SetClipOrigin(GC, int, int);
 inline void BlitBitmapMasked(Bitmap, Bitmap, int, int, int, int, int, int);
 inline void DrawSimpleWhiteLine(Bitmap, int, int, int, int);
-
 inline void FlushDisplay(void);
 inline void SyncDisplay(void);
 inline void KeyboardAutoRepeatOn(void);
 inline void KeyboardAutoRepeatOff(void);
 inline boolean PointerInWindow(DrawWindow);
-
-inline boolean PendingEvent(void);
-inline void NextEvent(Event *event);
-
-inline Key GetEventKey(KeyEvent *, boolean);
-
 inline boolean SetVideoMode(void);
 inline void ChangeVideoModeIfNeeded(void);
 
 inline boolean InitAudio(void);
 
+inline void InitEventFilter(EventFilter);
+inline boolean PendingEvent(void);
+inline void NextEvent(Event *event);
+inline Key GetEventKey(KeyEvent *, boolean);
+
 #endif /* SYSTEM_H */
index 767ae272975b14dd509d09a8e65beebd87d8d2f8..47c8b4f14a3b38ae1bc9669c4003f1378b5e26fe 100644 (file)
--- a/src/x11.h
+++ b/src/x11.h
@@ -30,9 +30,9 @@
 
 /* system dependent definitions */
 
-/* DOS version has already defined "PLATFORM_STRING" */
-#ifndef PLATFORM_STRING
-#define PLATFORM_STRING                "X11"
+/* DOS version also defines "TARGET_STRING" */
+#ifndef TARGET_STRING
+#define TARGET_STRING          "X11"
 #endif
 
 #define FULLSCREEN_STATUS      FULLSCREEN_NOT_AVAILABLE