Maelstrom: The game can now run centered in a larger resolution.

https://github.com/libsdl-org/Maelstrom/commit/8c256a1361c346bae13fb33d8d5c237021b59f5c

From 8c256a1361c346bae13fb33d8d5c237021b59f5c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 21 Sep 2012 20:34:00 -0700
Subject: [PATCH] The game can now run centered in a larger resolution.

---
 Data/UI/zap.xml          |   2 +-
 Maelstrom_Data.zip       | Bin 1111691 -> 1111704 bytes
 game/Maelstrom_Globals.h |   1 -
 game/init.cpp            |  19 ++++++++-----------
 game/object.cpp          |  11 ++++++-----
 game/player.cpp          |   9 +++++----
 game/shinobi.h           |   2 +-
 7 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/Data/UI/zap.xml b/Data/UI/zap.xml
index c0c87844..4fcb3cd0 100644
--- a/Data/UI/zap.xml
+++ b/Data/UI/zap.xml
@@ -1,6 +1,6 @@
 <Dialog>
 	<Size w="273" h="103"/>
-	<Anchor anchorFrom="TOPLEFT" anchorTo="TOPLEFT" x="183" y="93"/>
+	<Anchor anchorFrom="TOPLEFT" anchorTo="CENTER" x="-137" y="-147"/>
 	<Elements>
 		<Title id="102">
 			<Anchor anchorFrom="TOPLEFT" anchorTo="TOPLEFT" x="4" y="4"/>
diff --git a/Maelstrom_Data.zip b/Maelstrom_Data.zip
index 053c56f6848fc72687dbd1ebcb219ee6fec967b3..64e0b00aac59df3841ca52c6111f20275e590117 100644
GIT binary patch
delta 13430
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

delta 13549
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

diff --git a/game/Maelstrom_Globals.h b/game/Maelstrom_Globals.h
index 4969c47e..73da05ed 100644
--- a/game/Maelstrom_Globals.h
+++ b/game/Maelstrom_Globals.h
@@ -103,7 +103,6 @@ extern Sint32	gLastHigh;
 extern Rect	gScrnRect;
 extern SDL_Rect	gClipRect;
 extern int	gStatusLine;
-extern int	gTop, gLeft, gBottom, gRight;
 extern MPoint	gShotOrigins[SHIP_FRAMES];
 extern MPoint	gThrustOrigins[SHIP_FRAMES];
 extern MPoint	gVelocityTable[SHIP_FRAMES];
diff --git a/game/init.cpp b/game/init.cpp
index fdaf0874..4814e79a 100644
--- a/game/init.cpp
+++ b/game/init.cpp
@@ -54,7 +54,6 @@ int     gNumSprites;
 Rect	gScrnRect;
 SDL_Rect gClipRect;
 int	gStatusLine;
-int	gTop, gLeft, gBottom, gRight;
 MPoint	gShotOrigins[SHIP_FRAMES];
 MPoint	gThrustOrigins[SHIP_FRAMES];
 MPoint	gVelocityTable[SHIP_FRAMES];
@@ -767,18 +766,16 @@ int DoInitializations(Uint32 window_flags, Uint32 render_flags)
 	ui = new MaelstromUI(screen, prefs);
 
 	/* -- We want to access the FULL screen! */
-	SetRect(&gScrnRect, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+	int startX = (screen->Width() - SCREEN_WIDTH) / 2;
+	int startY = (screen->Height() - SCREEN_HEIGHT) / 2;
+	SetRect(&gScrnRect, startX, startY, startX+SCREEN_WIDTH, startY+SCREEN_HEIGHT);
 	gStatusLine = (gScrnRect.bottom - gScrnRect.top - STATUS_HEIGHT);
 	gScrnRect.bottom -= STATUS_HEIGHT;
-	gTop = 0;
-	gLeft = 0;
-	gBottom = gScrnRect.bottom - gScrnRect.top;
-	gRight = gScrnRect.right - gScrnRect.left;
-
-	gClipRect.x = gLeft+SPRITES_WIDTH;
-	gClipRect.y = gTop+SPRITES_WIDTH;
-	gClipRect.w = gRight-gLeft-2*SPRITES_WIDTH;
-	gClipRect.h = gBottom-gTop-2*SPRITES_WIDTH+STATUS_HEIGHT;
+
+	gClipRect.x = gScrnRect.left+SPRITES_WIDTH;
+	gClipRect.y = gScrnRect.top+SPRITES_WIDTH;
+	gClipRect.w = gScrnRect.right-gScrnRect.left-2*SPRITES_WIDTH;
+	gClipRect.h = gScrnRect.bottom-gScrnRect.top-2*SPRITES_WIDTH+STATUS_HEIGHT;
 	screen->ClipBlit(&gClipRect);
 
 	/* -- Throw up our intro screen */
diff --git a/game/object.cpp b/game/object.cpp
index 855e5bb4..023c3476 100644
--- a/game/object.cpp
+++ b/game/object.cpp
@@ -37,10 +37,10 @@ Object::Object(int X, int Y, int Xvec, int Yvec, Blit *blit, int PhaseTime)
 		phase = 0;
 	nextphase = 0;
 
-	playground.left = (gScrnRect.left<<SPRITE_PRECISION);
-	playground.right = (gScrnRect.right<<SPRITE_PRECISION);
-	playground.top = (gScrnRect.top<<SPRITE_PRECISION);
-	playground.bottom = (gScrnRect.bottom<<SPRITE_PRECISION);
+	playground.left = (0<<SPRITE_PRECISION);
+	playground.right = ((gScrnRect.right-gScrnRect.left)<<SPRITE_PRECISION);
+	playground.top = (0<<SPRITE_PRECISION);
+	playground.bottom = ((gScrnRect.bottom-gScrnRect.top)<<SPRITE_PRECISION);
 
 	SetPos(X, Y);
 	xvec = Xvec;
@@ -100,7 +100,8 @@ Object::Move(int Frozen)		// This is called every timestep.
 void
 Object::BlitSprite(void)
 {
-	screen->QueueBlit(x>>SPRITE_PRECISION, y>>SPRITE_PRECISION,
+	screen->QueueBlit(gScrnRect.left + (x>>SPRITE_PRECISION),
+	                  gScrnRect.top + (y>>SPRITE_PRECISION),
 							myblit->sprite[phase]);
 }
 
diff --git a/game/player.cpp b/game/player.cpp
index 4670c0ae..82f94ff7 100644
--- a/game/player.cpp
+++ b/game/player.cpp
@@ -629,11 +629,12 @@ Player::BlitSprite(void)
 	OBJ_LOOP(i, numshots) {
 		int X = (shots[i]->x>>SPRITE_PRECISION);
 		int Y = (shots[i]->y>>SPRITE_PRECISION);
-		screen->QueueBlit(X, Y, gPlayerShot);
+		screen->QueueBlit(gScrnRect.left + X, gScrnRect.top + Y, gPlayerShot);
 	}
 	/* Draw the shield, if necessary */
 	if ( ! gPaused && (AutoShield || (ShieldOn && (ShieldLevel > 0))) ) {
-		screen->QueueBlit(x>>SPRITE_PRECISION, y>>SPRITE_PRECISION,
+		screen->QueueBlit(gScrnRect.left + (x>>SPRITE_PRECISION),
+		                  gScrnRect.top + (y>>SPRITE_PRECISION),
 						gShieldBlit->sprite[Sphase]);
 		Sphase = !Sphase;
 	}
@@ -642,8 +643,8 @@ Player::BlitSprite(void)
 		int thrust_x, thrust_y;
 		thrust_x = x + gThrustOrigins[phase].h;
 		thrust_y = y + gThrustOrigins[phase].v;
-		screen->QueueBlit(thrust_x>>SPRITE_PRECISION,
-					thrust_y>>SPRITE_PRECISION,
+		screen->QueueBlit(gScrnRect.left + (thrust_x>>SPRITE_PRECISION),
+		                  gScrnRect.top + (thrust_y>>SPRITE_PRECISION),
 						ThrustBlit->sprite[phase]);
 		if ( ThrustBlit == gThrust1 )
 			ThrustBlit = gThrust2;
diff --git a/game/shinobi.h b/game/shinobi.h
index 6157fe2a..2b8c16ee 100644
--- a/game/shinobi.h
+++ b/game/shinobi.h
@@ -204,7 +204,7 @@ class Shinobi : public Object {
 		OBJ_LOOP(i, numshots) {
 			int X = (shots[i]->x>>SPRITE_PRECISION);
 			int Y = (shots[i]->y>>SPRITE_PRECISION);
-			screen->QueueBlit(X, Y, gEnemyShot);
+			screen->QueueBlit(gScrnRect.left + X, gScrnRect.top + Y, gEnemyShot);
 		}
 		Object::BlitSprite();
 	}