Maelstrom: Allow you to specify the desired resolution in preferences

https://github.com/libsdl-org/Maelstrom/commit/375347af03428ce1560cdb074c0ed46cc0492439

From 375347af03428ce1560cdb074c0ed46cc0492439 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 19 Sep 2012 23:12:16 -0700
Subject: [PATCH] Allow you to specify the desired resolution in preferences

---
 game/Maelstrom_Globals.h |  1 +
 game/init.cpp            | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/game/Maelstrom_Globals.h b/game/Maelstrom_Globals.h
index 25bb03f4..4969c47e 100644
--- a/game/Maelstrom_Globals.h
+++ b/game/Maelstrom_Globals.h
@@ -44,6 +44,7 @@
 #include "gameinfo.h"
 
 // Preferences keys
+#define PREFERENCES_RESOLUTION "Resolution"
 #define PREFERENCES_HANDLE "Handle"
 #define PREFERENCES_DEATHMATCH "Network.Deathmatch"
 #define PREFERENCES_KIDMODE "Cheat.KidMode"
diff --git a/game/init.cpp b/game/init.cpp
index b97be450..fdaf0874 100644
--- a/game/init.cpp
+++ b/game/init.cpp
@@ -714,8 +714,14 @@ int DoInitializations(Uint32 window_flags, Uint32 render_flags)
 
 	/* Initialize the screen */
 	screen = new FrameBuf;
-	if (screen->Init(SCREEN_WIDTH, SCREEN_HEIGHT, window_flags, render_flags,
-					colors[gGammaCorrect], icon) < 0){
+	int w = SCREEN_WIDTH;
+	int h = SCREEN_HEIGHT;
+	const char *resolution = prefs->GetString(PREFERENCES_RESOLUTION);
+	if (resolution) {
+		SDL_sscanf(resolution, "%dx%d", &w, &h);
+	}
+	if (screen->Init(w, h, window_flags, render_flags,
+	                       colors[gGammaCorrect], icon) < 0){
 		error("Fatal: %s\n", screen->Error());
 		return(-1);
 	}