Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37851503
en ru br
ALT Linux repositórios
S:3.0.0-alt1_14

Group :: Jogos/Outros
RPM: mirrormagic

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: mirrormagic-2.0.2-fs-toggle.patch
Download


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
 
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009