Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37045155
en ru br
Репозитории ALT

Группа :: Игры/Прочее
Пакет: mirrormagic

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: mirrormagic-2.0.2-fs-toggle.patch
Скачать


diff -ur mirrormagic-2.0.2.orig/src/events.c mirrormagic-2.0.2/src/events.c
--- mirrormagic-2.0.2.orig/src/events.c	2001-01-14 17:14:33.000000000 +0100
+++ mirrormagic-2.0.2/src/events.c	2006-09-29 14:44:13.000000000 +0200
@@ -134,6 +134,13 @@
     case EVENT_CLIENTMESSAGE:
       HandleClientMessageEvent((ClientMessageEvent *) event);
       break;
+    
+#ifdef TARGET_SDL // hack SDL returns this when toggling fullscreen
+    case EVENT_FULLSCREENTOGGLE:
+      if (game_status == SETUP) // redraw the setup screen to update fs status
+        DrawSetupScreen();
+      break;
+#endif
 
     default:
       break;
diff -ur mirrormagic-2.0.2.orig/src/libgame/sdl.c mirrormagic-2.0.2/src/libgame/sdl.c
--- mirrormagic-2.0.2.orig/src/libgame/sdl.c	2002-03-19 04:10:37.000000000 +0100
+++ mirrormagic-2.0.2/src/libgame/sdl.c	2006-09-29 13:48:10.000000000 +0200
@@ -14,7 +14,7 @@
 #include "system.h"
 #include "sound.h"
 #include "misc.h"
-
+#include "../main.h"
 
 #if defined(TARGET_SDL)
 
@@ -930,6 +930,20 @@
       ((ButtonEvent *)event)->y = 0;
   }
 #endif
+  if (event->type == EVENT_KEYPRESS)
+  {
+    /* make alt + enter toggle fullscreen */
+    if ( (((KeyEvent *)event)->keysym.sym == KSYM_Return) &&
+         (((KeyEvent *)event)->keysym.mod == KMOD_LALT) )
+    {
+      if(SDL_WM_ToggleFullScreen(SDL_GetVideoSurface()))
+      {
+        video.fullscreen_enabled = !video.fullscreen_enabled;  
+        setup.fullscreen = video.fullscreen_enabled;
+      }
+      event->type = EVENT_FULLSCREENTOGGLE;
+    }
+  }
 }
 
 #endif /* TARGET_SDL */
--- mirrormagic-2.0.2/src/libgame/sdl.h~	2006-10-24 20:12:34.000000000 +0200
+++ mirrormagic-2.0.2/src/libgame/sdl.h	2006-10-24 20:12:34.000000000 +0200
@@ -87,6 +87,7 @@
 #define EVENT_CLIENTMESSAGE	SDL_QUIT
 #define EVENT_MAPNOTIFY		SDL_USEREVENT + 4
 #define EVENT_UNMAPNOTIFY	SDL_USEREVENT + 5
+#define EVENT_FULLSCREENTOGGLE	SDL_USEREVENT + 6
 
 #define KSYM_UNDEFINED		SDLK_UNKNOWN
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin