[Scummvm-git-logs] scummvm master -> 4c36374d34d7f26fb8bfcfd7b25f91cffa75f27d

a-yyg 76591232+a-yyg at users.noreply.github.com
Fri Jul 16 21:13:10 UTC 2021


This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d3c4d62ec4 SAGA2: Fix global constructors in intrface.h
16c1879e58 SAGA2: Remove a few original mouse routines
7561607213 SAGA2: Make pointer behavior replicate original
34fa087b3f SAGA2: Initialize gPixelMap properly
7888757dad SAGA2: Move pointer to Saga2Engine
4c36374d34 SAGA2: Fix global constructor warnigns in mouseimg.cpp


Commit: d3c4d62ec463268e49fea0016106569a6fa772ad
    https://github.com/scummvm/scummvm/commit/d3c4d62ec463268e49fea0016106569a6fa772ad
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Fix global constructors in intrface.h

Changed paths:
    engines/saga2/button.h
    engines/saga2/intrface.cpp
    engines/saga2/intrface.h
    engines/saga2/playmode.cpp
    engines/saga2/saga2.h


diff --git a/engines/saga2/button.h b/engines/saga2/button.h
index 25e886b714..aaeb75de27 100644
--- a/engines/saga2/button.h
+++ b/engines/saga2/button.h
@@ -42,6 +42,14 @@ class hResContext;
     Misc. Structs and classes
  * ======================================================================= */
 
+struct StaticTextPallete {
+	uint8 dlPen;
+	uint8 urPen;
+	uint8 inPen;
+	uint8 dlHilitePen;
+	uint8 urHilitePen;
+	uint8 inHilitePen;
+};
 
 struct textPallete {
 	uint8   dlPen;
@@ -60,6 +68,15 @@ struct textPallete {
 		set(dlP, urP, inP, dlHP, urHP, inHP);
 	}
 
+	textPallete(StaticTextPallete pal) {
+		dlPen = pal.dlPen;
+		urPen = pal.urPen;
+		inPen = pal.inPen;
+		dlHilitePen = pal.dlHilitePen;
+		urHilitePen = pal.urHilitePen;
+		inHilitePen = pal.inHilitePen;
+	}
+
 	void set(uint8 dlP, uint8 urP, uint8 inP, uint8 dlHP, uint8 urHP, uint8 inHP) {
 		dlPen = dlP;
 		urPen = urP;
diff --git a/engines/saga2/intrface.cpp b/engines/saga2/intrface.cpp
index 27fda6ead0..88f06da98f 100644
--- a/engines/saga2/intrface.cpp
+++ b/engines/saga2/intrface.cpp
@@ -380,7 +380,7 @@ static const StaticRect phiBtnRect = {531, 451, 44, 9};
 static const StaticRect kevBtnRect = {580, 451, 44, 9};
 
 
-textPallete genericTextPal(9 + 15, 20, 14, 11, 23, 17);
+StaticTextPallete genericTextPal = {9 + 15, 20, 14, 11, 23, 17};
 /*  uint8   dlPen;
     uint8   urPen;
     uint8   inPen;
@@ -629,7 +629,7 @@ CStatusLine::CStatusLine(gPanelList         &list,
                          const char            *msg,
                          gFont           *font,
                          int16           textPos,
-                         textPallete     &pal,
+                         textPallete     pal,
                          int32           /*frameTime*/,
                          int16           ident,
                          AppFunc         *cmd) :
@@ -713,11 +713,6 @@ void CStatusLine::clear(void) {
 	queueHead = queueTail = 0;
 }
 
-/* ===================================================================== *
-    CMassWeightInterface: Static list of indicators
- * ===================================================================== */
-Common::List<CMassWeightIndicator *> CMassWeightIndicator::indList;
-
 /* ===================================================================== *
     CMassWeightInterface: mass and weight allowence indicators
  * ===================================================================== */
@@ -794,11 +789,11 @@ CMassWeightIndicator::CMassWeightIndicator(gPanelList *panel, const Point16 &pos
 		containerObject = nullptr;
 	}
 
-	indList.push_back(this);
+	g_vm->_indList.push_back(this);
 }
 
 CMassWeightIndicator::~CMassWeightIndicator(void) {
-	indList.remove(this);
+	g_vm->_indList.remove(this);
 
 	unloadImageRes(pieIndImag, numPieIndImages);
 	g_vm->_imageCache->releaseImage(massBulkImag);
@@ -834,7 +829,7 @@ void CMassWeightIndicator::recalculate(void) {
 **/
 void CMassWeightIndicator::update(void) {
 	if (bRedraw == true) {
-		for (Common::List<CMassWeightIndicator *>::iterator it = indList.begin(); it != indList.end(); ++it) {
+		for (Common::List<CMassWeightIndicator *>::iterator it = g_vm->_indList.begin(); it != g_vm->_indList.end(); ++it) {
 			(*it)->recalculate();
 			(*it)->invalidate();
 		}
diff --git a/engines/saga2/intrface.h b/engines/saga2/intrface.h
index d64e96e18c..cb35821e7b 100644
--- a/engines/saga2/intrface.h
+++ b/engines/saga2/intrface.h
@@ -239,7 +239,7 @@ private:
 
 public:
 	CStatusLine(gPanelList &, const Rect16 &, const char *, gFont *,
-	            int16, textPallete &, int32, int16, AppFunc *cmd = NULL);
+	            int16, textPallete, int32, int16, AppFunc *cmd = NULL);
 	~CStatusLine(void);
 
 	void setLine(char *, uint32 frameTime);
@@ -293,7 +293,6 @@ public:
 
 class CMassWeightIndicator {
 private:
-	static Common::List<CMassWeightIndicator *> indList;
 	GameObject *containerObject;
 
 public:
diff --git a/engines/saga2/playmode.cpp b/engines/saga2/playmode.cpp
index d4f78fdb0d..c0b7608c14 100644
--- a/engines/saga2/playmode.cpp
+++ b/engines/saga2/playmode.cpp
@@ -53,7 +53,7 @@ extern gToolBase    G_BASE;
 
 extern APPFUNC(cmdClickSpeech);
 extern PlayerActor  playerList[];           // a list of the players (brothers)
-extern textPallete  genericTextPal;
+extern StaticTextPallete genericTextPal;
 
 APPFUNC(cmdHealthStar);
 
diff --git a/engines/saga2/saga2.h b/engines/saga2/saga2.h
index 4b4290c067..1ad49f6c08 100644
--- a/engines/saga2/saga2.h
+++ b/engines/saga2/saga2.h
@@ -52,6 +52,7 @@ class ActorAppearance;
 class PathRequest;
 class MotionTask;
 class MotionTaskList;
+class CMassWeightIndicator;
 class GrabInfo;
 class CImageCache;
 class SensorList;
@@ -124,6 +125,7 @@ public:
 	Common::List<SensorList *> _sensorListList;
 	Common::List<Sensor *> _sensorList;
 	Common::List<MotionTask *>::iterator _nextMT;
+	Common::List<CMassWeightIndicator *> _indList;
 	Common::List<int> _platformLRU;
 	BandList *_bandList;
 	MotionTaskList *_mTaskList;


Commit: 16c1879e58e0cb34c038a4f2d86f5175b73ead67
    https://github.com/scummvm/scummvm/commit/16c1879e58e0cb34c038a4f2d86f5175b73ead67
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Remove a few original mouse routines

Changed paths:
    engines/saga2/panel.h
    engines/saga2/tile.cpp
    engines/saga2/tromode.cpp


diff --git a/engines/saga2/panel.h b/engines/saga2/panel.h
index 125213be69..f48334d7a6 100644
--- a/engines/saga2/panel.h
+++ b/engines/saga2/panel.h
@@ -67,8 +67,6 @@ class gWindow;
                       Input dispatching functions
  * ===================================================================== */
 
-void HandleMouse(gMouseState &mouse);
-void HandleKeyStroke(int key, int qual);
 void HandleTimerTick(long newTick);
 void EventLoop(bool &running, bool modal = false);
 
diff --git a/engines/saga2/tile.cpp b/engines/saga2/tile.cpp
index 1ae0df3049..817b4ef054 100644
--- a/engines/saga2/tile.cpp
+++ b/engines/saga2/tile.cpp
@@ -158,7 +158,6 @@ void drawFloatingWindows(gPort &, const Point16 &, const Rect16 &clip);
  * ===================================================================== */
 
 extern gMousePointer pointer;                   // the actual pointer
-extern gMouseState  mouseState;
 extern gPort        backPort;
 
 extern int16        worldCount;     //  Used as map count as well
@@ -2835,64 +2834,6 @@ inline void drawMetaTiles(void) {
 	}
 }
 
-/* ===================================================================== *
-   Mouse Pointer Fixup Routine
- * ===================================================================== */
-
-//  This routine draws an image of the mouse pointer onto the
-//  back buffer, and also updates the mouse pointer's backsave
-//  buffer with the new data underneath it.
-//
-//  Since the blitting of the backsave buffer takes so long,
-//  it would cause annoying flicker to have to hide the mouse
-//  pointer during the blit. Instead, we go ahead and over-write
-//  the image of the mouse pointer with the image of the new
-//  mouse pointer.
-
-inline void drawTileMousePointer(void) {
-	gPixelMap       *currentPtr,
-	                *saveMap;
-	Point16         offset;
-	Rect16          saveExtent,
-	                blitExtent;
-
-	//  Get the image of the pointer and the hotspot offset
-	currentPtr = pointer.getImage(offset);
-
-	//  If pointer exists, and is in a visible state
-	if (currentPtr && pointer.isShown()) {
-		//  Get address of pointer's backsave rect
-		saveMap = pointer.getSaveMap(saveExtent);
-
-		//  If the pointer overlaps the tile scrolling area
-		if (saveExtent.overlap(Rect16(kTileRectX, kTileRectY, kTileRectWidth, kTileRectHeight))) {
-			//  get the intersecting area
-			blitExtent = intersect(saveExtent, Rect16(kTileRectX, kTileRectY, kTileRectWidth, kTileRectHeight));
-
-			mouseSavePort.setMap(saveMap);
-
-			//  Blit the tile data into the backsave buffer
-			mouseSavePort.bltPixels(
-			    tileDrawMap,
-			    blitExtent.x - kTileRectX + fineScroll.x,
-			    blitExtent.y - kTileRectY + fineScroll.y,
-			    blitExtent.x - saveExtent.x,
-			    blitExtent.y - saveExtent.y,
-			    blitExtent.width,
-			    blitExtent.height);
-
-			//  Blit the mouse pointer onto the tile map
-			int x, y;
-
-			x = mouseState.pos.x + offset.x + fineScroll.x - kTileRectX;
-			y = mouseState.pos.y + offset.y + fineScroll.y - kTileRectY;
-
-//			if ( x >=0 && y >=0 )
-			TBlit(&tileDrawMap, currentPtr, x, y);
-		}
-	}
-}
-
 /* ===================================================================== *
    Tile masking
  * ===================================================================== */
@@ -4497,10 +4438,6 @@ void drawMainDisplay(void) {
 	drawFloatingWindows(backPort,
 	                    Point16(kTileRectX - fineScroll.x, kTileRectY),
 	                    rect);
-
-	//  Render the image of the mouse pointer on everything else
-	drawTileMousePointer();
-
 	//  Blit it all onto the screen
 	drawPage->writePixels(
 	    rect,
diff --git a/engines/saga2/tromode.cpp b/engines/saga2/tromode.cpp
index fb76e88fe0..36a28dff09 100644
--- a/engines/saga2/tromode.cpp
+++ b/engines/saga2/tromode.cpp
@@ -52,7 +52,6 @@ namespace Saga2 {
 #define VIDEO_Y 0
 
 extern bool gameRunning;
-extern gMouseState  prevState;
 extern gMousePointer    pointer;
 extern MouseExtState mouseQueue[];
 extern bool allPlayerActorsDead;


Commit: 7561607213f257ff5a7aca2945db961d6458c2d1
    https://github.com/scummvm/scummvm/commit/7561607213f257ff5a7aca2945db961d6458c2d1
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Make pointer behavior replicate original

Changed paths:
    engines/saga2/gpointer.cpp


diff --git a/engines/saga2/gpointer.cpp b/engines/saga2/gpointer.cpp
index 5f21818ff5..5e9de978fa 100644
--- a/engines/saga2/gpointer.cpp
+++ b/engines/saga2/gpointer.cpp
@@ -64,7 +64,11 @@ bool gMousePointer::init(Point16 pointerLimits) {
 
 //  Private routine to draw the mouse pointer image
 void gMousePointer::draw(void) {
-	CursorMan.showMouse(true);
+	if (hideCount < 1) {
+		CursorMan.showMouse(true);
+		shown = 1;
+	} else
+		shown = 0;
 }
 
 //  Private routine to restore the mouse pointer image
@@ -72,9 +76,7 @@ void gMousePointer::restore(void) {
 	if (shown) {
 		//  blit from the saved map to the current position.
 
-		videoPort->displayPage->writePixels(saveExtent,
-		                                    saveMap.data,
-		                                    saveMap.size.x);
+		CursorMan.showMouse(false);
 
 		//  A height of zero means backsave is invalid
 
@@ -108,7 +110,6 @@ void gMousePointer::show(gPort &port, Rect16 r) {
 	if (saveExtent.overlap(r)) {
 		if (--hideCount == 0) {
 			draw();
-			CursorMan.showMouse(true);
 		}
 
 	}


Commit: 34fa087b3fcfedf333cf5c7d7694157e3f75f95b
    https://github.com/scummvm/scummvm/commit/34fa087b3fcfedf333cf5c7d7694157e3f75f95b
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Initialize gPixelMap properly

Changed paths:
    engines/saga2/gdraw.h


diff --git a/engines/saga2/gdraw.h b/engines/saga2/gdraw.h
index c2a3102cf1..a5e0fccf74 100644
--- a/engines/saga2/gdraw.h
+++ b/engines/saga2/gdraw.h
@@ -50,6 +50,8 @@ public:
 	Extent16        size;                   // image size
 	uint8           *data;
 
+	gPixelMap() : data(nullptr) {}
+
 	//  Compute the number of bytes in the pixel map
 	int32 bytes(void) {
 		return size.x * size.y;


Commit: 7888757dad55589e93bd6b4733be988841817af2
    https://github.com/scummvm/scummvm/commit/7888757dad55589e93bd6b4733be988841817af2
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Move pointer to Saga2Engine

Changed paths:
    engines/saga2/automap.cpp
    engines/saga2/button.cpp
    engines/saga2/display.cpp
    engines/saga2/document.cpp
    engines/saga2/floating.cpp
    engines/saga2/fta.h
    engines/saga2/grabinfo.cpp
    engines/saga2/grequest.cpp
    engines/saga2/gtextbox.cpp
    engines/saga2/intrface.cpp
    engines/saga2/main.cpp
    engines/saga2/mouseimg.cpp
    engines/saga2/msgbox.cpp
    engines/saga2/panel.cpp
    engines/saga2/saga2.cpp
    engines/saga2/saga2.h
    engines/saga2/tile.cpp
    engines/saga2/towerfta.cpp
    engines/saga2/tromode.cpp
    engines/saga2/videobox.cpp


diff --git a/engines/saga2/automap.cpp b/engines/saga2/automap.cpp
index 838b10d489..3b279a4c52 100644
--- a/engines/saga2/automap.cpp
+++ b/engines/saga2/automap.cpp
@@ -388,7 +388,7 @@ void CAutoMap::drawClipped(
 	WindowDecoration *dec;
 	int16           i;
 
-	pointer.hide();
+	g_vm->_pointer->hide();
 
 
 	//  For each "decorative panel" within the frame of the window
@@ -418,7 +418,7 @@ void CAutoMap::drawClipped(
 	               sumMapArea.width, sumMapArea.height);
 
 	// show the cursor again
-	pointer.show();
+	g_vm->_pointer->show();
 }
 
 // ------------------------------------------------------------------------
diff --git a/engines/saga2/button.cpp b/engines/saga2/button.cpp
index 2536cabb23..ca74efa473 100644
--- a/engines/saga2/button.cpp
+++ b/engines/saga2/button.cpp
@@ -208,11 +208,11 @@ void gCompImage::draw(void) {
 	Rect16  rect = window.getExtent();
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port,
 	            Point16(0, 0),
 	            Rect16(0, 0, rect.width, rect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 void *gCompImage::getCurrentCompImage(void) {
@@ -575,9 +575,9 @@ void gCompButton::draw(void) {
 	Rect16  rect = window.getExtent();
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port, Point16(0, 0), Rect16(0, 0, rect.width, rect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 void *gCompButton::getCurrentCompImage(void) {
@@ -849,9 +849,9 @@ void gSlider::draw(void) {
 	Point16 offset  = Point16(0, 0);
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port, offset, Rect16(0, 0, imageRect.width, imageRect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 
diff --git a/engines/saga2/display.cpp b/engines/saga2/display.cpp
index fd85fd9c1b..b2681ab336 100644
--- a/engines/saga2/display.cpp
+++ b/engines/saga2/display.cpp
@@ -91,15 +91,15 @@ void niceScreenStartup(void) {
 	disablePaletteChanges();
 	mainEnable();
 	closeLoadMode();
-	pointer.move(Point16(320, 240));
-	//pointer.hide();
+	g_vm->_pointer->move(Point16(320, 240));
+	//g_vm->_pointer->hide();
 	enablePaletteChanges();
 	displayUpdate();
 	dayNightUpdate();
 	fadeUp();
-	pointer.manditoryShow();                        //  hide mouse pointer
+	g_vm->_pointer->manditoryShow();                        //  hide mouse pointer
 	reDrawScreen();
-	//pointer.show();
+	//g_vm->_pointer->show();
 	updateAllUserControls();
 	reDrawScreen();
 	g_vm->_mouseInfo->replaceObject();
diff --git a/engines/saga2/document.cpp b/engines/saga2/document.cpp
index 863720ba99..68df8d7870 100644
--- a/engines/saga2/document.cpp
+++ b/engines/saga2/document.cpp
@@ -629,13 +629,13 @@ void CDocument::renderText(void) {
 
 		port.setMode(drawModeMatte);
 
-		pointer.hide();
+		g_vm->_pointer->hide();
 
 		port.bltPixels(*tPort.map, 0, 0,
 		               bltRect.x, bltRect.y,
 		               bltRect.width, bltRect.height);
 
-		pointer.show();
+		g_vm->_pointer->show();
 
 		DisposeTempPort(tPort);              // dispose of temporary pixelmap
 	}
@@ -645,9 +645,9 @@ void CDocument::drawClipped(
     gPort         &port,
     const Point16 &offset,
     const Rect16  &clipRect) {
-	pointer.hide();
+	g_vm->_pointer->hide();
 	ModalWindow::drawClipped(port, offset, clipRect);
-	pointer.show();
+	g_vm->_pointer->show();
 }
 
 void CDocument::draw(void) {         // redraw the window
diff --git a/engines/saga2/floating.cpp b/engines/saga2/floating.cpp
index b6669c915c..62af863240 100644
--- a/engines/saga2/floating.cpp
+++ b/engines/saga2/floating.cpp
@@ -249,10 +249,10 @@ void DecoratedWindow::removeDecorations(void) {
 //  Redraw all of the decorations, on the main port only...
 
 void DecoratedWindow::draw(void) {               // redraw the window
-	pointer.hide();
+	g_vm->_pointer->hide();
 	if (displayEnabled())
 		drawClipped(g_vm->_mainPort, Point16(0, 0), extent);
-	pointer.show();
+	g_vm->_pointer->show();
 }
 
 //  Return true if window floats above animated are
@@ -416,10 +416,10 @@ void gButton::draw(void) {
 	gPort           &port = window.windowPort;
 	Rect16          rect = window.getExtent();
 
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	if (displayEnabled())
 		drawClipped(port, Point16(0, 0), Rect16(0, 0, rect.width, rect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 
@@ -686,11 +686,11 @@ void updateWindowSection(const Rect16 &r) {
 	//  Now, blit the temporary bitmap to the main screen.
 
 	g_vm->_mainPort.setMode(drawModeReplace);
-	pointer.hide(g_vm->_mainPort, clip);
+	g_vm->_pointer->hide(g_vm->_mainPort, clip);
 	g_vm->_mainPort.bltPixels(tempMap,
 	                   0, 0,
 	                   clip.x, clip.y, clip.width, clip.height);
-	pointer.show(g_vm->_mainPort, clip);
+	g_vm->_pointer->show(g_vm->_mainPort, clip);
 	g_vm->_mainPort.setMode(drawModeMatte);
 	delete[] tempMap.data;
 }
diff --git a/engines/saga2/fta.h b/engines/saga2/fta.h
index b2090ddecb..52e13cca29 100644
--- a/engines/saga2/fta.h
+++ b/engines/saga2/fta.h
@@ -226,8 +226,6 @@ extern int16            extendedThreadLevel;
 
 extern bool         gameRunning;            // true while game running
 
-extern gMousePointer pointer;               // the mouse pointer
-
 extern volatile int32 gameTime;             // current timer
 
 //  Resource files
diff --git a/engines/saga2/grabinfo.cpp b/engines/saga2/grabinfo.cpp
index 51270da366..8fc75cf6be 100644
--- a/engines/saga2/grabinfo.cpp
+++ b/engines/saga2/grabinfo.cpp
@@ -158,9 +158,9 @@ uint8 GrabInfo::setIntent(uint8 in) {
 	//  If intention isn't being changed, return immediately
 	if (intention != (Intent)in) {
 		//  Intention has changed to None
-		if (in == (uint8)None && intention != None) pointer.hide();
+		if (in == (uint8)None && intention != None) g_vm->_pointer->hide();
 		//  Intention has changed from None
-		else if (in != (uint8)None && intention == None) pointer.show();
+		else if (in != (uint8)None && intention == None) g_vm->_pointer->show();
 
 		intention = (Intent)in;
 		//  Set new cursor
diff --git a/engines/saga2/grequest.cpp b/engines/saga2/grequest.cpp
index 3f58da74c2..b38d39eeea 100644
--- a/engines/saga2/grequest.cpp
+++ b/engines/saga2/grequest.cpp
@@ -34,7 +34,6 @@ namespace Saga2 {
 extern gFont        *mainFont;
 extern vDisplayPage *drawPage;
 extern gToolBase    G_BASE;
-extern gMousePointer pointer;                   // the actual pointer
 
 const int           maxLines = 16,
                     maxButtons = 16,
diff --git a/engines/saga2/gtextbox.cpp b/engines/saga2/gtextbox.cpp
index 57d25fa6ba..3c6d2908e1 100644
--- a/engines/saga2/gtextbox.cpp
+++ b/engines/saga2/gtextbox.cpp
@@ -42,7 +42,6 @@ StaticRect editBaseRect = {7, 45, 314, 111};
 //  These are all things that need to be moved to their proper places.
 
 extern gFont        *mainFont;
-extern gMousePointer pointer;           // the actual pointer
 
 //-----------------------------------------------------------------------
 // init
@@ -809,11 +808,11 @@ bool gTextBox::keyStroke(gPanelMessage &msg) {
 		//  Now, redraw the contents.
 
 		SAVE_GPORT_STATE(port);                  // save pen color, etc.
-		pointer.hide(port, extent);              // hide mouse pointer
+		g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 
 		drawContents();                         // draw the string
 
-		pointer.show(port, extent);              // show mouse pointer
+		g_vm->_pointer->show(port, extent);              // show mouse pointer
 
 		return true;
 	}
@@ -863,14 +862,14 @@ void gTextBox::handleTimerTick(int32 tick) {
 		if (tick - blinkStart > blinkTime) {
 			gPort   &port = window.windowPort;
 			SAVE_GPORT_STATE(port);                  // save pen color, etc.
-			pointer.hide(port, extent);              // hide mouse pointer
+			g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 
 			port.setPenMap(port.penMap);
 			port.setStyle(0);
 			port.setColor(blinkState ? blinkColor0 : blinkColor1);
 			port.fillRect(editRect.x + blinkX - ((blinkWide + 1) / 2), editRect.y + 1, blinkWide, editRect.height - 1);
 
-			pointer.show(port, extent);              // show mouse pointer
+			g_vm->_pointer->show(port, extent);              // show mouse pointer
 
 			blinkState = !blinkState;
 			blinkStart = tick;
@@ -1011,7 +1010,7 @@ void gTextBox::drawClipped(void) {
 	WriteStatusF(11, "Entry %d[%d] (%d:%d)", index, currentLen[index], cursorPos, anchorPos);
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 
 	if (fullRedraw) {
 		drawAll(port, Point16(0, 0), Rect16(0, 0, rect.width, rect.height));
@@ -1027,7 +1026,7 @@ void gTextBox::drawClipped(void) {
 		drawAll(port, Point16(0, 0), Rect16(0, 0, rect.width, rect.height));
 	}
 
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 
 }
 
diff --git a/engines/saga2/intrface.cpp b/engines/saga2/intrface.cpp
index 88f06da98f..3bdc324d15 100644
--- a/engines/saga2/intrface.cpp
+++ b/engines/saga2/intrface.cpp
@@ -469,9 +469,9 @@ void CPlaqText::draw(void) {
 	port.setMode(drawModeMatte);
 	port.setFont(buttonFont);
 
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port, Point16(0, 0), Rect16(0, 0, rect.width, rect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 
 	// reset the old font
 	port.setFont(oldFont);
@@ -969,9 +969,9 @@ void CManaIndicator::draw(void) {
 	// setup the port
 	port.setMode(drawModeMatte);
 
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port, Point16(0, 0), Rect16(0, 0, xSize, ySize));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 
 
 }
@@ -1003,7 +1003,7 @@ void CManaIndicator::drawClipped(gPort &port,
 	}
 
 	// otherwise continue with the update
-	pointer.hide();
+	g_vm->_pointer->hide();
 
 	// create a temporary gPort to blit stuff to
 	gPort       tempPort;
@@ -1123,7 +1123,7 @@ void CManaIndicator::drawClipped(gPort &port,
 	if (tempMap.data)
 		delete[] tempMap.data;
 
-	pointer.show();
+	g_vm->_pointer->show();
 }
 
 bool CManaIndicator::needUpdate(PlayerActor *player) {
diff --git a/engines/saga2/main.cpp b/engines/saga2/main.cpp
index c10cdfeeb5..ea1a40e784 100644
--- a/engines/saga2/main.cpp
+++ b/engines/saga2/main.cpp
@@ -73,11 +73,7 @@ bool cliSpeechText      = false;
 bool cliDrawInv         = false;
 uint32 cliMemory        = 0;
 
-//  User-interface variables
-gMouseState             mouseState;
-
 //  Display variables
-gMousePointer           pointer(g_vm->_mainPort);   // the actual pointer
 BackWindow              *mainWindow;            // main window...
 
 //  Memory allocation heap
@@ -419,19 +415,6 @@ bool readCommandLine(int argc, char *argv[]) {
 /*                                                                  */
 /********************************************************************/
 
-// ------------------------------------------------------------------------
-// Mouse handling
-
-gMouseState     prevState;
-MouseExtState   mouseQueue[64];
-
-int16           queueIn = 0,
-                queueOut = 0;
-
-inline int BUMP(int x) {
-	return (x + 1) & 63;
-}
-
 // ------------------------------------------------------------------------
 // clears any queued input (mouse AND keyboard)
 void resetInputDevices(void) {
diff --git a/engines/saga2/mouseimg.cpp b/engines/saga2/mouseimg.cpp
index 7a6fddfd7b..4c7cb8fd92 100644
--- a/engines/saga2/mouseimg.cpp
+++ b/engines/saga2/mouseimg.cpp
@@ -228,9 +228,9 @@ void setupMousePointer(void) {
 	imageOffset.y = 0;
 
 	//  Set the combined image as the new mouse cursor
-	pointer.hide();
-	pointer.setImage(combinedImage, mouseImageOffset.x - imageOffset.x, mouseImageOffset.y - imageOffset.y);
-	pointer.show();
+	g_vm->_pointer->hide();
+	g_vm->_pointer->setImage(combinedImage, mouseImageOffset.x - imageOffset.x, mouseImageOffset.y - imageOffset.y);
+	g_vm->_pointer->show();
 }
 
 //-----------------------------------------------------------------------
@@ -302,7 +302,7 @@ void setNewText(char *text) {
 
 	//  Compute relative position of text
 	Point16 mousePos;
-	pointer.getImageCurPos(mousePos);
+	g_vm->_pointer->getImageCurPos(mousePos);
 
 	int mouseImageCenter = mousePos.x + mouseImageOffset.x + mouseImage->size.x / 2;
 	textImageCenteredCol = textImage.size.x / 2;
diff --git a/engines/saga2/msgbox.cpp b/engines/saga2/msgbox.cpp
index 4a4a176a03..69bc018c10 100644
--- a/engines/saga2/msgbox.cpp
+++ b/engines/saga2/msgbox.cpp
@@ -236,9 +236,9 @@ void SimpleWindow::update(const Rect16 &) {
 }
 
 void SimpleWindow::draw(void) {
-	pointer.hide(g_vm->_mainPort, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(g_vm->_mainPort, extent);              // hide mouse pointer
 	drawClipped(g_vm->_mainPort, Point16(0, 0), extent);
-	pointer.show(g_vm->_mainPort, extent);              // show mouse pointer
+	g_vm->_pointer->show(g_vm->_mainPort, extent);              // show mouse pointer
 }
 
 void SimpleWindow::drawClipped(
@@ -257,14 +257,14 @@ void SimpleWindow::drawClipped(
 	box.height -= 100;
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 
 	DrawOutlineFrame(port,  extent, windowColor);
 	writeWrappedPlaqText(port, box, mbButtonFont, textPos, pal, false, title);
 
 	gWindow::drawClipped(port, p, r);
 
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 /* ===================================================================== *
@@ -398,11 +398,11 @@ void SimpleButton::draw(void) {
 	Rect16  rect = window->getExtent();
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 	drawClipped(port,
 	            Point16(0, 0),
 	            Rect16(0, 0, rect.width, rect.height));
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 void SimpleButton::drawClipped(
@@ -419,14 +419,14 @@ void SimpleButton::drawClipped(
 	box.y += base.y;
 
 	SAVE_GPORT_STATE(port);                  // save pen color, etc.
-	pointer.hide(port, extent);              // hide mouse pointer
+	g_vm->_pointer->hide(port, extent);              // hide mouse pointer
 
 	SimpleWindow::DrawOutlineFrame(port,                     // draw outer frame
 	                               box,
 	                               buttonColor);
 
 	drawTitle((enum text_positions)0);
-	pointer.show(port, extent);              // show mouse pointer
+	g_vm->_pointer->show(port, extent);              // show mouse pointer
 }
 
 } // end of namespace Saga2
diff --git a/engines/saga2/panel.cpp b/engines/saga2/panel.cpp
index 408bc3c974..412b05cebe 100644
--- a/engines/saga2/panel.cpp
+++ b/engines/saga2/panel.cpp
@@ -36,7 +36,6 @@
 namespace Saga2 {
 
 //extern vDisplayPage   *drawPage;
-extern gMousePointer pointer;           // the actual pointer
 extern char iniFile[];
 extern vDisplayPage protoPage;
 
@@ -244,9 +243,9 @@ void gPanel::drawTitle(enum text_positions placement) {
 		port.setStyle(textStyleUnderBar);    // set style to do underbars
 		port.moveTo(r.x, r.y);           // move to new text pos
 
-		pointer.hide(*globalPort, r);        // hide the pointer
+		g_vm->_pointer->hide(*globalPort, r);        // hide the pointer
 		port.drawText(title, -1);            // draw the text
-		pointer.show(*globalPort, r);        // hide the pointer
+		g_vm->_pointer->show(*globalPort, r);        // hide the pointer
 	}
 }
 
@@ -441,10 +440,10 @@ bool gWindow::open(void) {
 	G_BASE.activeWindow = this;
 	G_BASE.setActive(NULL);
 
-//	pointer.hide();
+//	g_vm->_pointer->hide();
 //	if (backSave) backSave->save( *globalPort );
-//	pointer.setImage( *pointerImage, pointerOffset.x, pointerOffset.y );
-//	pointer.show();
+//	g_vm->_pointer->setImage( *pointerImage, pointerOffset.x, pointerOffset.y );
+//	g_vm->_pointer->show();
 
 	openFlag = true;
 
@@ -600,9 +599,9 @@ void gWindow::setPointer( gPixelMap &map, int x, int y )
 
     if (this == G_BASE.activeWindow)
     {
-        pointer.hide();
-        pointer.setImage( *pointerImage, pointerOffset.x, pointerOffset.y );
-        pointer.show();
+        g_vm->_pointer->hide();
+        g_vm->_pointer->setImage( *pointerImage, pointerOffset.x, pointerOffset.y );
+        g_vm->_pointer->show();
     }
 }
 */
@@ -675,12 +674,12 @@ gPanel *gControl::keyTest(int16 key) {
 //  drawClipped with the main port.
 
 void gControl::draw(void) {
-	pointer.hide(window.windowPort, extent);
+	g_vm->_pointer->hide(window.windowPort, extent);
 	if (displayEnabled())
 		drawClipped(*globalPort,
 		            Point16(-window.extent.x, -window.extent.y),
 		            window.extent);
-	pointer.show(window.windowPort, extent);
+	g_vm->_pointer->show(window.windowPort, extent);
 }
 
 /* ===================================================================== *
@@ -1120,7 +1119,7 @@ int16 rightButtonState(void) {
 void LockUI(bool state) {
 	if (state == true) {
 		if (lockUINest <= 0) {
-			pointer.hide();
+			g_vm->_pointer->hide();
 			enableUIKeys(false);
 			G_BASE.setActive(NULL);
 		}
@@ -1130,7 +1129,7 @@ void LockUI(bool state) {
 		assert(lockUINest >= 0);
 		if (lockUINest <= 0) {
 			enableUIKeys(true);
-			pointer.show();
+			g_vm->_pointer->show();
 		}
 	}
 }
diff --git a/engines/saga2/saga2.cpp b/engines/saga2/saga2.cpp
index 72cd7b5f07..445ded4f03 100644
--- a/engines/saga2/saga2.cpp
+++ b/engines/saga2/saga2.cpp
@@ -81,6 +81,7 @@ Saga2Engine::Saga2Engine(OSystem *syst)
 	_bandList = new BandList();
 	_mainDisplayList = new DisplayNodeList;
 	_activeSpells = new SpellDisplayList(kMaxActiveSpells);
+	_pointer = new gMousePointer(_mainPort);
 
 	_edpList = nullptr;
 	_sdpList = nullptr;
@@ -99,6 +100,7 @@ Saga2Engine::~Saga2Engine() {
 	delete _bandList;
 	delete _mainDisplayList;
 	delete _activeSpells;
+	delete _pointer;
 }
 
 Common::Error Saga2Engine::run() {
diff --git a/engines/saga2/saga2.h b/engines/saga2/saga2.h
index 1ad49f6c08..6da38a367a 100644
--- a/engines/saga2/saga2.h
+++ b/engines/saga2/saga2.h
@@ -61,6 +61,7 @@ class EffectDisplayPrototypeList;
 class SpellDisplayPrototypeList;
 class DisplayNodeList;
 class SpellDisplayList;
+class gMousePointer;
 
 enum {
 	kDebugResources = 1 << 0,
@@ -136,6 +137,7 @@ public:
 	ContainerList *_containerList;
 	DisplayNodeList *_mainDisplayList;
 	SpellDisplayList *_activeSpells;
+	gMousePointer *_pointer;
 
 	gDisplayPort _mainPort;
 
diff --git a/engines/saga2/tile.cpp b/engines/saga2/tile.cpp
index 817b4ef054..f2dc6475ee 100644
--- a/engines/saga2/tile.cpp
+++ b/engines/saga2/tile.cpp
@@ -157,7 +157,6 @@ void drawFloatingWindows(gPort &, const Point16 &, const Rect16 &clip);
    Imports
  * ===================================================================== */
 
-extern gMousePointer pointer;                   // the actual pointer
 extern gPort        backPort;
 
 extern int16        worldCount;     //  Used as map count as well
diff --git a/engines/saga2/towerfta.cpp b/engines/saga2/towerfta.cpp
index 530ae333de..7a3de51136 100644
--- a/engines/saga2/towerfta.cpp
+++ b/engines/saga2/towerfta.cpp
@@ -313,7 +313,7 @@ TERMINATOR(termGUIMessagers) {
 INITIALIZER(initMousePointer) {
 	//pointer.hide();
 	setMouseImage(kMouseArrowImage, 0, 0);
-	return pointer.init(640, 480);
+	return g_vm->_pointer->init(640, 480);
 }
 
 TERMINATOR(termMousePointer) {
diff --git a/engines/saga2/tromode.cpp b/engines/saga2/tromode.cpp
index 36a28dff09..98dc063651 100644
--- a/engines/saga2/tromode.cpp
+++ b/engines/saga2/tromode.cpp
@@ -52,13 +52,8 @@ namespace Saga2 {
 #define VIDEO_Y 0
 
 extern bool gameRunning;
-extern gMousePointer    pointer;
-extern MouseExtState mouseQueue[];
 extern bool allPlayerActorsDead;
 
-extern int16        queueIn,
-       queueOut;
-
 int16 OptionsDialog(bool disableSaveResume = false);
 void SystemEventLoop(void);
 void freeAllTileBanks(void);
@@ -163,7 +158,7 @@ void TroModeExternEvent(void) {
 
 static void TroModeSetup(void) {
 	suspendAudio();
-	pointer.hide();
+	g_vm->_pointer->hide();
 	quickSavePalette();
 	blackOut();
 	displayDisable(PlayingVideo);
@@ -182,8 +177,8 @@ static void TroModeCleanup(void) {
 	blackOut();
 	quickRestorePalette();
 	resumeAudio();
-	pointer.show();
-//	pointer.manditoryShow();                     //  hide mouse pointer
+	g_vm->_pointer->show();
+//	g_vm->_pointer->manditoryShow();                     //  hide mouse pointer
 	resetInputDevices();
 }
 
diff --git a/engines/saga2/videobox.cpp b/engines/saga2/videobox.cpp
index 3ae337ba2e..ecc7d3856d 100644
--- a/engines/saga2/videobox.cpp
+++ b/engines/saga2/videobox.cpp
@@ -115,9 +115,9 @@ void CVideoBox::drawClipped(
     gPort         &port,
     const Point16 &offset,
     const Rect16  &clipRect) {
-	pointer.hide();
+	g_vm->_pointer->hide();
 	ModalWindow::drawClipped(port, offset, clipRect);
-	pointer.show();
+	g_vm->_pointer->show();
 }
 
 void CVideoBox::draw(void) {         // redraw the window


Commit: 4c36374d34d7f26fb8bfcfd7b25f91cffa75f27d
    https://github.com/scummvm/scummvm/commit/4c36374d34d7f26fb8bfcfd7b25f91cffa75f27d
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-17T06:12:11+09:00

Commit Message:
SAGA2: Fix global constructor warnigns in mouseimg.cpp

Changed paths:
    engines/saga2/mouseimg.cpp


diff --git a/engines/saga2/mouseimg.cpp b/engines/saga2/mouseimg.cpp
index 4c7cb8fd92..adf0205604 100644
--- a/engines/saga2/mouseimg.cpp
+++ b/engines/saga2/mouseimg.cpp
@@ -66,12 +66,12 @@ const int maxMouseTextLen = 80;
 
 static char mouseText[maxMouseTextLen] = { "" };  //  Current mouse text string
 
-static Point16 mouseImageOffset;           //  Hotspot on mouse image
+static StaticPoint16 mouseImageOffset;           //  Hotspot on mouse image
 
-static gPixelMap  *mouseImage = mouseCursors[kMouseArrowImage];  //  Current mouse cursor image
+static gPixelMap  *mouseImage = nullptr;  //  Current mouse cursor image
 
-static gStaticImage textImage(0, 0, nullptr),   //  Current mouse text image
-       combinedImage(0, 0, nullptr);  //   Combine mouse text
+static gPixelMap *textImage = nullptr;   //  Current mouse text image
+static gPixelMap *combinedImage = nullptr;  //   Combine mouse text
 //  and image
 
 static int textImageCenteredCol;       //  The pixel column in the text
@@ -114,7 +114,7 @@ static struct MouseCurosrs {
 gStaticImage *mouseCursors[kMouseMax];
 
 static uint8 gaugeImageBuffer[gaugeImageWidth * gaugeImageHeight];
-static gStaticImage gaugeImage(gaugeImageWidth, gaugeImageHeight, gaugeImageBuffer);
+static gPixelMap *gaugeImage;
 
 static bool showGauge = false;
 
@@ -128,11 +128,24 @@ static bool showGauge = false;
 void initCursors() {
 	for (int i = 0; i < kMouseMax; i++)
 		mouseCursors[i] = new gStaticImage(mouseCursorData[i].w, mouseCursorData[i].h, *mouseCursorData[i].data);
+
+	mouseImage = mouseCursors[kMouseArrowImage];
+	gaugeImage = new gPixelMap;
+	gaugeImage->size.x = gaugeImageWidth;
+	gaugeImage->size.y = gaugeImageHeight;
+	gaugeImage->data = gaugeImageBuffer;
+
+	textImage = new gPixelMap;
+	combinedImage = new gPixelMap;
 }
 
 void freeCursors() {
 	for (int i = 0; i < kMouseMax; i++)
 		delete mouseCursors[i];
+
+	delete gaugeImage;
+	delete textImage;
+	delete combinedImage;
 }
 
 void createStackedImage(gPixelMap *newImage, int *newImageCenter, gPixelMap **imageArray, int *imageCenterArray, int images) {
@@ -193,8 +206,8 @@ inline void disposeStackedImage(gPixelMap *image) {
 //	image.
 
 void cleanupMousePointer(void) {
-	if (combinedImage.data != nullptr)
-		disposeStackedImage(&combinedImage);
+	if (combinedImage->data != nullptr)
+		disposeStackedImage(combinedImage);
 }
 
 void setupMousePointer(void) {
@@ -208,28 +221,28 @@ void setupMousePointer(void) {
 	imageCenterArray[0] = mouseImage->size.x / 2;
 
 	if (mouseText[0] != '\0') {
-		imageArray[imageIndex] = &textImage;
+		imageArray[imageIndex] = textImage;
 		imageCenterArray[imageIndex] = textImageCenteredCol;
 		imageIndex++;
 	}
 
 	if (showGauge) {
-		imageArray[imageIndex] = &gaugeImage;
-		imageCenterArray[imageIndex] = gaugeImage.size.x / 2;
+		imageArray[imageIndex] = gaugeImage;
+		imageCenterArray[imageIndex] = gaugeImage->size.x / 2;
 		imageIndex++;
 	}
 
-	if (combinedImage.data != nullptr)
-		disposeStackedImage(&combinedImage);
+	if (combinedImage->data != nullptr)
+		disposeStackedImage(combinedImage);
 
-	createStackedImage(&combinedImage, &combinedImageCenter, imageArray, imageCenterArray, imageIndex);
+	createStackedImage(combinedImage, &combinedImageCenter, imageArray, imageCenterArray, imageIndex);
 
 	imageOffset.x = combinedImageCenter - mouseImage->size.x / 2;
 	imageOffset.y = 0;
 
 	//  Set the combined image as the new mouse cursor
 	g_vm->_pointer->hide();
-	g_vm->_pointer->setImage(combinedImage, mouseImageOffset.x - imageOffset.x, mouseImageOffset.y - imageOffset.y);
+	g_vm->_pointer->setImage(*combinedImage, mouseImageOffset.x - imageOffset.x, mouseImageOffset.y - imageOffset.y);
 	g_vm->_pointer->show();
 }
 
@@ -260,11 +273,13 @@ inline void disposeText(void) {
 
 	//  Free the memory previously allocated to hold the text image
 	//  bitmap
-	if (textImage.data != nullptr) {
-		free(textImage.data);
-		textImage.data = nullptr;
+	if (textImage == nullptr)
+		return;
+
+	if (textImage->data != nullptr) {
+		free(textImage->data);
+		textImage->data = nullptr;
 	}
-	textImage.size.x = textImage.size.y = 0;
 }
 
 //-----------------------------------------------------------------------
@@ -277,19 +292,19 @@ void setNewText(char *text) {
 	Common::strlcpy(mouseText, text, maxMouseTextLen);
 
 	//  Compute the size of the text bitmap
-	textImage.size.y = mainFont->height + 2;
-	textImage.size.x = TextWidth(mainFont, text, -1, 0) + 2;
+	textImage->size.y = mainFont->height + 2;
+	textImage->size.x = TextWidth(mainFont, text, -1, 0) + 2;
 
 	//  Allocate a new buffer for the text image bitmap
-	int16 textImageBytes = textImage.bytes();
+	int16 textImageBytes = textImage->bytes();
 
-	textImage.data = (uint8 *)malloc(textImageBytes);
-	memset(textImage.data, 0, textImageBytes);
+	textImage->data = (uint8 *)malloc(textImageBytes);
+	memset(textImage->data, 0, textImageBytes);
 
 	gPort textImagePort;  //  gPort used to draw text onto bitmap
 
 	//  Intialize the text image port
-	textImagePort.setMap(&textImage);
+	textImagePort.setMap(textImage);
 	textImagePort.setMode(drawModeReplace);
 	textImagePort.setColor(11);
 	textImagePort.setOutlineColor(24);
@@ -305,11 +320,11 @@ void setNewText(char *text) {
 	g_vm->_pointer->getImageCurPos(mousePos);
 
 	int mouseImageCenter = mousePos.x + mouseImageOffset.x + mouseImage->size.x / 2;
-	textImageCenteredCol = textImage.size.x / 2;
+	textImageCenteredCol = textImage->size.x / 2;
 	if (mouseImageCenter - textImageCenteredCol < 5) {
 		textImageCenteredCol = mouseImageCenter - 5;
-	} else if (mouseImageCenter + (textImage.size.x - textImageCenteredCol) >= screenWidth - 5) {
-		textImageCenteredCol = textImage.size.x - ((screenWidth - 5) - mouseImageCenter);
+	} else if (mouseImageCenter + (textImage->size.x - textImageCenteredCol) >= screenWidth - 5) {
+		textImageCenteredCol = textImage->size.x - ((screenWidth - 5) - mouseImageCenter);
 	}
 }
 




More information about the Scummvm-git-logs mailing list