[Scummvm-cvs-logs] scummvm master -> d6b9d7de8f4bc8be34ef7456a89ee144172ca5b0

somaen einarjohants at gmail.com
Tue Oct 29 03:01:23 CET 2013


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

Summary:
ee5adb84c5 WINTERMUTE: Transfer bytes explicitly when saving/loading.
047a7171ee WINTERMUTE: Transfer Vector2s explicitly when saving/loading.
dc4e3150f3 WINTERMUTE: Correct some doxygen-comments in TransparentSurface.
95d2ed1a9b WINTERMUTE: Transfer Rect32s explicitly when saving/loading.
538c5935f9 WINTERMUTE: Transfer Point32s explicitly when saving/loading.
4c3c707671 WINTERMUTE: Transfer Doubles explicitly when saving/loading.
211b8c9732 WINTERMUTE: Remove unused BasePlatform-functions (showWindow/setCapture/releaseCapture)
3fb4183909 WINTERMUTE: Remove BasePlatform::setRectEmpty (replace with member-call)
efb8031b3c WINTERMUTE: Remove BasePlatform::isRectEmpty (replace with member-call).
d6b9d7de8f WINTERMUTE: Remove BasePlatform::setRect (replace with member-call)


Commit: ee5adb84c58e27868e3ac4f7248f543095206564
    https://github.com/scummvm/scummvm/commit/ee5adb84c58e27868e3ac4f7248f543095206564
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:52-07:00

Commit Message:
WINTERMUTE: Transfer bytes explicitly when saving/loading.

Changed paths:
    engines/wintermute/base/base_fader.cpp
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_persistence_manager.h
    engines/wintermute/base/base_sub_frame.cpp



diff --git a/engines/wintermute/base/base_fader.cpp b/engines/wintermute/base/base_fader.cpp
index a2408b6..b5590ab 100644
--- a/engines/wintermute/base/base_fader.cpp
+++ b/engines/wintermute/base/base_fader.cpp
@@ -176,14 +176,14 @@ bool BaseFader::persist(BasePersistenceManager *persistMgr) {
 	BaseObject::persist(persistMgr);
 
 	persistMgr->transferBool(TMEMBER(_active));
-	persistMgr->transfer(TMEMBER(_blue));
-	persistMgr->transfer(TMEMBER(_currentAlpha));
+	persistMgr->transferByte(TMEMBER(_blue));
+	persistMgr->transferByte(TMEMBER(_currentAlpha));
 	persistMgr->transfer(TMEMBER(_duration));
-	persistMgr->transfer(TMEMBER(_green));
-	persistMgr->transfer(TMEMBER(_red));
-	persistMgr->transfer(TMEMBER(_sourceAlpha));
+	persistMgr->transferByte(TMEMBER(_green));
+	persistMgr->transferByte(TMEMBER(_red));
+	persistMgr->transferByte(TMEMBER(_sourceAlpha));
 	persistMgr->transfer(TMEMBER(_startTime));
-	persistMgr->transfer(TMEMBER(_targetAlpha));
+	persistMgr->transferByte(TMEMBER(_targetAlpha));
 	persistMgr->transferBool(TMEMBER(_system));
 
 	if (_system && !persistMgr->getIsSaving()) {
diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index c7f672b..aa3c7a1 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -769,7 +769,7 @@ bool BasePersistenceManager::transfer(const char *name, AnsiStringArray &val) {
 
 //////////////////////////////////////////////////////////////////////////
 // BYTE
-bool BasePersistenceManager::transfer(const char *name, byte *val) {
+bool BasePersistenceManager::transferByte(const char *name, byte *val) {
 	if (_saving) {
 		_saveStream->writeByte(*val);
 		if (_saveStream->err()) {
diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h
index a168f5f..80fc6fd 100644
--- a/engines/wintermute/base/base_persistence_manager.h
+++ b/engines/wintermute/base/base_persistence_manager.h
@@ -79,7 +79,7 @@ public:
 	bool transferFloat(const char *name, float *val);
 	bool transfer(const char *name, double *val);
 	bool transferBool(const char *name, bool *val);
-	bool transfer(const char *name, byte *val);
+	bool transferByte(const char *name, byte *val);
 	bool transfer(const char *name, Rect32 *val);
 	bool transfer(const char *name, Point32 *val);
 	bool transfer(const char *name, const char **val);
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index 1327ae1..be85616 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -398,9 +398,9 @@ bool BaseSubFrame::persist(BasePersistenceManager *persistMgr) {
 
 	persistMgr->transfer(TMEMBER(_surfaceFilename));
 	persistMgr->transferBool(TMEMBER(_cKDefault));
-	persistMgr->transfer(TMEMBER(_cKRed));
-	persistMgr->transfer(TMEMBER(_cKGreen));
-	persistMgr->transfer(TMEMBER(_cKBlue));
+	persistMgr->transferByte(TMEMBER(_cKRed));
+	persistMgr->transferByte(TMEMBER(_cKGreen));
+	persistMgr->transferByte(TMEMBER(_cKBlue));
 	persistMgr->transfer(TMEMBER(_lifeTime));
 
 	persistMgr->transferBool(TMEMBER(_keepLoaded));


Commit: 047a7171ee5e5286d6e13594c9cb60056dff454d
    https://github.com/scummvm/scummvm/commit/047a7171ee5e5286d6e13594c9cb60056dff454d
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:52-07:00

Commit Message:
WINTERMUTE: Transfer Vector2s explicitly when saving/loading.

Changed paths:
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_persistence_manager.h
    engines/wintermute/base/particles/part_force.cpp
    engines/wintermute/base/particles/part_particle.cpp



diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index aa3c7a1..766e381 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -834,7 +834,7 @@ bool BasePersistenceManager::transfer(const char *name, Point32 *val) {
 
 //////////////////////////////////////////////////////////////////////////
 // Vector2
-bool BasePersistenceManager::transfer(const char *name, Vector2 *val) {
+bool BasePersistenceManager::transferVector2(const char *name, Vector2 *val) {
 	if (_saving) {
 		putFloat(val->x);
 		putFloat(val->y);
diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h
index 80fc6fd..d1569fc 100644
--- a/engines/wintermute/base/base_persistence_manager.h
+++ b/engines/wintermute/base/base_persistence_manager.h
@@ -85,7 +85,7 @@ public:
 	bool transfer(const char *name, const char **val);
 	bool transfer(const char *name, char **val);
 	bool transfer(const char *name, Common::String *val);
-	bool transfer(const char *name, Vector2 *val);
+	bool transferVector2(const char *name, Vector2 *val);
 	bool transfer(const char *name, AnsiStringArray &Val);
 	BasePersistenceManager(const char *savePrefix = nullptr, bool deleteSingleton = false);
 	virtual ~BasePersistenceManager();
diff --git a/engines/wintermute/base/particles/part_force.cpp b/engines/wintermute/base/particles/part_force.cpp
index 122cdf1..e7583e5 100644
--- a/engines/wintermute/base/particles/part_force.cpp
+++ b/engines/wintermute/base/particles/part_force.cpp
@@ -55,8 +55,8 @@ bool PartForce::persist(BasePersistenceManager *persistMgr) {
 		persistMgr->transfer(TMEMBER(name));
 		setName(name);
 	}
-	persistMgr->transfer(TMEMBER(_pos));
-	persistMgr->transfer(TMEMBER(_direction));
+	persistMgr->transferVector2(TMEMBER(_pos));
+	persistMgr->transferVector2(TMEMBER(_direction));
 	persistMgr->transfer(TMEMBER_INT(_type));
 
 	return STATUS_OK;
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index e857458..c35ebd6 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -233,9 +233,9 @@ bool PartParticle::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_alpha1));
 	persistMgr->transfer(TMEMBER(_alpha2));
 	persistMgr->transfer(TMEMBER(_border));
-	persistMgr->transfer(TMEMBER(_pos));
+	persistMgr->transferVector2(TMEMBER(_pos));
 	persistMgr->transferFloat(TMEMBER(_posZ));
-	persistMgr->transfer(TMEMBER(_velocity));
+	persistMgr->transferVector2(TMEMBER(_velocity));
 	persistMgr->transferFloat(TMEMBER(_scale));
 	persistMgr->transfer(TMEMBER(_creationTime));
 	persistMgr->transfer(TMEMBER(_lifeTime));


Commit: dc4e3150f31be22e74315d14ca018ecbdc71d62a
    https://github.com/scummvm/scummvm/commit/dc4e3150f31be22e74315d14ca018ecbdc71d62a
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:52-07:00

Commit Message:
WINTERMUTE: Correct some doxygen-comments in TransparentSurface.

Changed paths:
    engines/wintermute/graphics/transparent_surface.cpp
    engines/wintermute/graphics/transparent_surface.h



diff --git a/engines/wintermute/graphics/transparent_surface.cpp b/engines/wintermute/graphics/transparent_surface.cpp
index 43deb62..053acf2 100644
--- a/engines/wintermute/graphics/transparent_surface.cpp
+++ b/engines/wintermute/graphics/transparent_surface.cpp
@@ -76,7 +76,6 @@ public:
  * @param *outa, *outr, *outg, *outb pointer to the output pixel.
  * @param *outa, *outr, *outg, *outb pointer to the colormod components.
  */
-
 void BlenderAdditive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *outa, byte *outr, byte *outg, byte *outb, byte *ca, byte *cr, byte *cg, byte *cb) {
 	if (*ca != 255) {
 		ina = (ina) * (*ca) >> 8;
@@ -108,7 +107,6 @@ void BlenderAdditive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *o
  * @param *outa, *outr, *outg, *outb pointer to the output pixel.
  * @param *outa, *outr, *outg, *outb pointer to the colormod components.
  */
-
 void BlenderSubtractive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *outa, byte *outr, byte *outg, byte *outb, byte *ca, byte *cr, byte *cg, byte *cb) {
 	//if (*ca != 255) {
 	//	ina = ina * (*ca) >> 8;
@@ -234,7 +232,6 @@ void BlenderNormal::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *out
  * @param ina, inr, ing, inb: the input pixel, split into its components.
  * @param *outa, *outr, *outg, *outb pointer to the output pixel.
  */
-
 void BlenderSubtractive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *outa, byte *outr, byte *outg, byte *outb) {
 
 	if (ina == 0) {
@@ -259,7 +256,6 @@ void BlenderSubtractive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte
  * @param ina, inr, ing, inb: the input pixel, split into its components.
  * @param *outa, *outr, *outg, *outb pointer to the output pixel.
  */
-
 void BlenderAdditive::blendPixel(byte ina, byte inr, byte ing, byte inb, byte *outa, byte *outr, byte *outg, byte *outb) {
 
 	if (ina == 0) {
@@ -297,10 +293,11 @@ TransparentSurface::TransparentSurface(const Surface &surf, bool copyData) : Sur
 	}
 }
 
-void doBlitOpaqueFast(byte *ino, byte *outo, uint32 width, uint32 height, uint32 pitch, int32 inStep, int32 inoStep) {
 /**
  * Optimized version of doBlit to be used w/opaque blitting (no alpha).
  */
+void doBlitOpaqueFast(byte *ino, byte *outo, uint32 width, uint32 height, uint32 pitch, int32 inStep, int32 inoStep) {
+
 	byte *in;
 	byte *out;
 
@@ -320,7 +317,6 @@ void doBlitOpaqueFast(byte *ino, byte *outo, uint32 width, uint32 height, uint32
 /**
  * Optimized version of doBlit to be used w/binary blitting (blit or no-blit, no blending).
  */
-
 void doBlitBinaryFast(byte *ino, byte *outo, uint32 width, uint32 height, uint32 pitch, int32 inStep, int32 inoStep) {
 
 	byte *in;
@@ -350,8 +346,8 @@ void doBlitBinaryFast(byte *ino, byte *outo, uint32 width, uint32 height, uint32
  * What we have here is a template method that calls blendPixel() from a different
  * class - the one we call it with - thus performing a different type of blending.
  *
- * @param *ino a pointer to the input surface
- * @param *outo a pointer to the output surface
+ * @param ino a pointer to the input surface
+ * @param outo a pointer to the output surface
  * @param width width of the input surface
  * @param height height of the input surface
  * @param pitch pitch of the output surface - that is, width in bytes of every row, usually bpp * width of the TARGET surface (the area we are blitting to might be smaller, do the math)
@@ -924,8 +920,4 @@ TransparentSurface *TransparentSurface::scale(uint16 newWidth, uint16 newHeight)
 
 }
 
-
-
-
-
 } // End of namespace Wintermute
diff --git a/engines/wintermute/graphics/transparent_surface.h b/engines/wintermute/graphics/transparent_surface.h
index b887c05..1f3827d 100644
--- a/engines/wintermute/graphics/transparent_surface.h
+++ b/engines/wintermute/graphics/transparent_surface.h
@@ -99,32 +99,31 @@ struct TransparentSurface : public Graphics::Surface {
 
 	/**
 	 @brief renders the surface to another surface
-	 @param pDest a pointer to the target image. In most cases this is the framebuffer.
-	 @param PosX the position on the X-axis in the target image in pixels where the image is supposed to be rendered.<br>
+	 @param target a pointer to the target surface. In most cases this is the framebuffer.
+	 @param posX the position on the X-axis in the target image in pixels where the image is supposed to be rendered.<br>
 	 The default value is 0.
-	 @param PosY the position on the Y-axis in the target image in pixels where the image is supposed to be rendered.<br>
+	 @param posY the position on the Y-axis in the target image in pixels where the image is supposed to be rendered.<br>
 	 The default value is 0.
-	 @param Flipping how the the image should be flipped.<br>
+	 @param flipping how the the image should be flipped.<br>
 	 The default value is BS_Image::FLIP_NONE (no flipping)
-	 @param pSrcPartRect Pointer on Common::Rect which specifies the section to be rendered. If the whole image has to be rendered the Pointer is NULL.<br>
+	 @param pPartRect Pointer on Common::Rect which specifies the section to be rendered. If the whole image has to be rendered the Pointer is NULL.<br>
 	 This referes to the unflipped and unscaled image.<br>
 	 The default value is NULL.
-	 @param Color an ARGB color value, which determines the parameters for the color modulation und alpha blending.<br>
+	 @param color an ARGB color value, which determines the parameters for the color modulation und alpha blending.<br>
 	 The alpha component of the color determines the alpha blending parameter (0 = no covering, 255 = full covering).<br>
 	 The color components determines the color for color modulation.<br>
 	 The default value is BS_ARGB(255, 255, 255, 255) (full covering, no color modulation).
 	 The macros BS_RGB and BS_ARGB can be used for the creation of the color value.
-	 @param Width the output width of the screen section.
+	 @param width the output width of the screen section.
 	 The images will be scaled if the output width of the screen section differs from the image section.<br>
 	 The value -1 determines that the image should not be scaled.<br>
 	 The default value is -1.
-	 @param Width the output height of the screen section.
+	 @param height the output height of the screen section.
 	 The images will be scaled if the output width of the screen section differs from the image section.<br>
 	 The value -1 determines that the image should not be scaled.<br>
 	 The default value is -1.
 	 @return returns false if the rendering failed.
 	 */
-
 	Common::Rect blit(Graphics::Surface &target, int posX = 0, int posY = 0,
 	                  int flipping = FLIP_NONE,
 	                  Common::Rect *pPartRect = nullptr,
@@ -137,8 +136,9 @@ struct TransparentSurface : public Graphics::Surface {
 	 * @brief Scale function; this returns a transformed version of this surface after rotation and
 	 * scaling. Please do not use this if angle != 0, use rotoscale.
 	 *
-	 * @param transform a TransformStruct wrapping the required info. @see TransformStruct
-	 * 
+	 * @param newWidth the resulting width.
+	 * @param newHeight the resulting height. 
+	 * @see TransformStruct
 	 */
 	TransparentSurface *scale(uint16 newWidth, uint16 newHeight) const;
 


Commit: 95d2ed1a9b97958df609fd2a521ed125db8c2f03
    https://github.com/scummvm/scummvm/commit/95d2ed1a9b97958df609fd2a521ed125db8c2f03
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:52-07:00

Commit Message:
WINTERMUTE: Transfer Rect32s explicitly when saving/loading.

Changed paths:
    engines/wintermute/ad/ad_inventory_box.cpp
    engines/wintermute/ad/ad_response_box.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_object.cpp
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_persistence_manager.h
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/base_viewport.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/particles/part_particle.cpp
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/ui/ui_window.cpp



diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp
index 61e3929..a6e10fe 100644
--- a/engines/wintermute/ad/ad_inventory_box.cpp
+++ b/engines/wintermute/ad/ad_inventory_box.cpp
@@ -374,7 +374,7 @@ bool AdInventoryBox::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferPtr(TMEMBER_PTR(_closeButton));
 	persistMgr->transferBool(TMEMBER(_hideSelected));
 	persistMgr->transfer(TMEMBER(_itemHeight));
-	persistMgr->transfer(TMEMBER(_itemsArea));
+	persistMgr->transferRect32(TMEMBER(_itemsArea));
 	persistMgr->transfer(TMEMBER(_itemWidth));
 	persistMgr->transfer(TMEMBER(_scrollBy));
 	persistMgr->transfer(TMEMBER(_scrollOffset));
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index 7ad3380..9058717 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -587,7 +587,7 @@ bool AdResponseBox::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_lastResponseText));
 	persistMgr->transfer(TMEMBER(_lastResponseTextOrig));
 	_respButtons.persist(persistMgr);
-	persistMgr->transfer(TMEMBER(_responseArea));
+	persistMgr->transferRect32(TMEMBER(_responseArea));
 	_responses.persist(persistMgr);
 	persistMgr->transfer(TMEMBER(_scrollOffset));
 	persistMgr->transferPtr(TMEMBER_PTR(_shieldWindow));
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 04a52ca..f8da28c 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -3099,7 +3099,7 @@ bool BaseGame::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_soundBufferSizeSec));
 	persistMgr->transferBool(TMEMBER(_suspendedRendering));
 
-	persistMgr->transfer(TMEMBER(_mouseLockRect));
+	persistMgr->transferRect32(TMEMBER(_mouseLockRect));
 
 	_windows.persist(persistMgr);
 
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index 70b2c6a..ffc5984 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -975,7 +975,7 @@ bool BaseObject::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_sFXStart));
 	persistMgr->transfer(TMEMBER(_sFXVolume));
 	persistMgr->transferBool(TMEMBER(_ready));
-	persistMgr->transfer(TMEMBER(_rect));
+	persistMgr->transferRect32(TMEMBER(_rect));
 	persistMgr->transferBool(TMEMBER(_rectSet));
 	persistMgr->transferBool(TMEMBER(_registrable));
 	persistMgr->transferBool(TMEMBER(_shadowable));
diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index 766e381..f6bd966 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -788,7 +788,7 @@ bool BasePersistenceManager::transferByte(const char *name, byte *val) {
 
 //////////////////////////////////////////////////////////////////////////
 // RECT
-bool BasePersistenceManager::transfer(const char *name, Rect32 *val) {
+bool BasePersistenceManager::transferRect32(const char *name, Rect32 *val) {
 	if (_saving) {
 		_saveStream->writeSint32LE(val->left);
 		_saveStream->writeSint32LE(val->top);
diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h
index d1569fc..bdacafd 100644
--- a/engines/wintermute/base/base_persistence_manager.h
+++ b/engines/wintermute/base/base_persistence_manager.h
@@ -80,7 +80,7 @@ public:
 	bool transfer(const char *name, double *val);
 	bool transferBool(const char *name, bool *val);
 	bool transferByte(const char *name, byte *val);
-	bool transfer(const char *name, Rect32 *val);
+	bool transferRect32(const char *name, Rect32 *val);
 	bool transfer(const char *name, Point32 *val);
 	bool transfer(const char *name, const char **val);
 	bool transfer(const char *name, char **val);
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index be85616..72af5fb 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -393,7 +393,7 @@ bool BaseSubFrame::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferBool(TMEMBER(_editorSelected));
 	persistMgr->transfer(TMEMBER(_hotspotX));
 	persistMgr->transfer(TMEMBER(_hotspotY));
-	persistMgr->transfer(TMEMBER(_rect));
+	persistMgr->transferRect32(TMEMBER(_rect));
 	persistMgr->transferBool(TMEMBER(_wantsDefaultRect));
 
 	persistMgr->transfer(TMEMBER(_surfaceFilename));
diff --git a/engines/wintermute/base/base_viewport.cpp b/engines/wintermute/base/base_viewport.cpp
index 09ac80e..7e531e8 100644
--- a/engines/wintermute/base/base_viewport.cpp
+++ b/engines/wintermute/base/base_viewport.cpp
@@ -58,7 +58,7 @@ bool BaseViewport::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferPtr(TMEMBER_PTR(_mainObject));
 	persistMgr->transfer(TMEMBER(_offsetX));
 	persistMgr->transfer(TMEMBER(_offsetY));
-	persistMgr->transfer(TMEMBER(_rect));
+	persistMgr->transferRect32(TMEMBER(_rect));
 
 	return STATUS_OK;
 }
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index 79076d7..4a1095c 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -1183,7 +1183,7 @@ bool PartEmitter::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferBool(TMEMBER(_running));
 	persistMgr->transfer(TMEMBER(_overheadTime));
 
-	persistMgr->transfer(TMEMBER(_border));
+	persistMgr->transferRect32(TMEMBER(_border));
 	persistMgr->transfer(TMEMBER(_borderThicknessLeft));
 	persistMgr->transfer(TMEMBER(_borderThicknessRight));
 	persistMgr->transfer(TMEMBER(_borderThicknessTop));
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index c35ebd6..f4cd61c 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -232,7 +232,7 @@ bool PartParticle::fadeOut(uint32 currentTime, int fadeTime) {
 bool PartParticle::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_alpha1));
 	persistMgr->transfer(TMEMBER(_alpha2));
-	persistMgr->transfer(TMEMBER(_border));
+	persistMgr->transferRect32(TMEMBER(_border));
 	persistMgr->transferVector2(TMEMBER(_pos));
 	persistMgr->transferFloat(TMEMBER(_posZ));
 	persistMgr->transferVector2(TMEMBER(_velocity));
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index e647e0d..29b99f7 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -369,16 +369,16 @@ void UITiledImage::correctSize(int32 *width, int32 *height) {
 bool UITiledImage::persist(BasePersistenceManager *persistMgr) {
 	BaseObject::persist(persistMgr);
 
-	persistMgr->transfer(TMEMBER(_downLeft));
-	persistMgr->transfer(TMEMBER(_downMiddle));
-	persistMgr->transfer(TMEMBER(_downRight));
+	persistMgr->transferRect32(TMEMBER(_downLeft));
+	persistMgr->transferRect32(TMEMBER(_downMiddle));
+	persistMgr->transferRect32(TMEMBER(_downRight));
 	persistMgr->transferPtr(TMEMBER_PTR(_image));
-	persistMgr->transfer(TMEMBER(_middleLeft));
-	persistMgr->transfer(TMEMBER(_middleMiddle));
-	persistMgr->transfer(TMEMBER(_middleRight));
-	persistMgr->transfer(TMEMBER(_upLeft));
-	persistMgr->transfer(TMEMBER(_upMiddle));
-	persistMgr->transfer(TMEMBER(_upRight));
+	persistMgr->transferRect32(TMEMBER(_middleLeft));
+	persistMgr->transferRect32(TMEMBER(_middleMiddle));
+	persistMgr->transferRect32(TMEMBER(_middleRight));
+	persistMgr->transferRect32(TMEMBER(_upLeft));
+	persistMgr->transferRect32(TMEMBER(_upMiddle));
+	persistMgr->transferRect32(TMEMBER(_upRight));
 
 	return STATUS_OK;
 }
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 7883b65..fab4734 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -1261,7 +1261,7 @@ bool UIWindow::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferBool(TMEMBER(_clipContents));
 	persistMgr->transfer(TMEMBER(_dragFrom));
 	persistMgr->transferBool(TMEMBER(_dragging));
-	persistMgr->transfer(TMEMBER(_dragRect));
+	persistMgr->transferRect32(TMEMBER(_dragRect));
 	persistMgr->transferBool(TMEMBER(_fadeBackground));
 	persistMgr->transfer(TMEMBER(_fadeColor));
 	persistMgr->transferPtr(TMEMBER_PTR(_fontInactive));
@@ -1272,7 +1272,7 @@ bool UIWindow::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferPtr(TMEMBER_PTR(_shieldButton));
 	persistMgr->transferPtr(TMEMBER_PTR(_shieldWindow));
 	persistMgr->transfer(TMEMBER_INT(_titleAlign));
-	persistMgr->transfer(TMEMBER(_titleRect));
+	persistMgr->transferRect32(TMEMBER(_titleRect));
 	persistMgr->transferBool(TMEMBER(_transparent));
 	persistMgr->transferPtr(TMEMBER_PTR(_viewport));
 	persistMgr->transferBool(TMEMBER(_pauseMusic));


Commit: 538c5935f97788090e93f96f6342c6d3c97e0e76
    https://github.com/scummvm/scummvm/commit/538c5935f97788090e93f96f6342c6d3c97e0e76
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Transfer Point32s explicitly when saving/loading.

Changed paths:
    engines/wintermute/ad/ad_sentence.cpp
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_persistence_manager.h
    engines/wintermute/ui/ui_window.cpp



diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp
index e742ffa..773181b 100644
--- a/engines/wintermute/ad/ad_sentence.cpp
+++ b/engines/wintermute/ad/ad_sentence.cpp
@@ -255,7 +255,7 @@ bool AdSentence::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER(_currentSkelAnim));
 	persistMgr->transfer(TMEMBER(_duration));
 	persistMgr->transferPtr(TMEMBER_PTR(_font));
-	persistMgr->transfer(TMEMBER(_pos));
+	persistMgr->transferPoint32(TMEMBER(_pos));
 	persistMgr->transferPtr(TMEMBER_PTR(_sound));
 	persistMgr->transferBool(TMEMBER(_soundStarted));
 	persistMgr->transfer(TMEMBER(_stances));
diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index f6bd966..a5da8c1 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -813,7 +813,7 @@ bool BasePersistenceManager::transferRect32(const char *name, Rect32 *val) {
 
 //////////////////////////////////////////////////////////////////////////
 // POINT
-bool BasePersistenceManager::transfer(const char *name, Point32 *val) {
+bool BasePersistenceManager::transferPoint32(const char *name, Point32 *val) {
 	if (_saving) {
 		_saveStream->writeSint32LE(val->x);
 		_saveStream->writeSint32LE(val->y);
diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h
index bdacafd..3bac07e 100644
--- a/engines/wintermute/base/base_persistence_manager.h
+++ b/engines/wintermute/base/base_persistence_manager.h
@@ -81,7 +81,7 @@ public:
 	bool transferBool(const char *name, bool *val);
 	bool transferByte(const char *name, byte *val);
 	bool transferRect32(const char *name, Rect32 *val);
-	bool transfer(const char *name, Point32 *val);
+	bool transferPoint32(const char *name, Point32 *val);
 	bool transfer(const char *name, const char **val);
 	bool transfer(const char *name, char **val);
 	bool transfer(const char *name, Common::String *val);
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index fab4734..8101dfd 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -1259,7 +1259,7 @@ bool UIWindow::persist(BasePersistenceManager *persistMgr) {
 
 	persistMgr->transferPtr(TMEMBER_PTR(_backInactive));
 	persistMgr->transferBool(TMEMBER(_clipContents));
-	persistMgr->transfer(TMEMBER(_dragFrom));
+	persistMgr->transferPoint32(TMEMBER(_dragFrom));
 	persistMgr->transferBool(TMEMBER(_dragging));
 	persistMgr->transferRect32(TMEMBER(_dragRect));
 	persistMgr->transferBool(TMEMBER(_fadeBackground));


Commit: 4c3c7076710bd27bbcb57ea5ccdd343d4d99699b
    https://github.com/scummvm/scummvm/commit/4c3c7076710bd27bbcb57ea5ccdd343d4d99699b
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Transfer Doubles explicitly when saving/loading.

Changed paths:
    engines/wintermute/ad/ad_actor.cpp
    engines/wintermute/base/base_persistence_manager.cpp
    engines/wintermute/base/base_persistence_manager.h
    engines/wintermute/base/scriptables/script_value.cpp



diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp
index 3212388..590d7c4 100644
--- a/engines/wintermute/ad/ad_actor.cpp
+++ b/engines/wintermute/ad/ad_actor.cpp
@@ -1322,10 +1322,10 @@ bool AdActor::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transfer(TMEMBER_INT(_dir));
 	persistMgr->transferPtr(TMEMBER_PTR(_path));
 	persistMgr->transfer(TMEMBER(_pFCount));
-	persistMgr->transfer(TMEMBER(_pFStepX));
-	persistMgr->transfer(TMEMBER(_pFStepY));
-	persistMgr->transfer(TMEMBER(_pFX));
-	persistMgr->transfer(TMEMBER(_pFY));
+	persistMgr->transferDouble(TMEMBER(_pFStepX));
+	persistMgr->transferDouble(TMEMBER(_pFStepY));
+	persistMgr->transferDouble(TMEMBER(_pFX));
+	persistMgr->transferDouble(TMEMBER(_pFY));
 	persistMgr->transferPtr(TMEMBER_PTR(_standSprite));
 	_talkSprites.persist(persistMgr);
 	_talkSpritesEx.persist(persistMgr);
diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp
index a5da8c1..1caa0ad 100644
--- a/engines/wintermute/base/base_persistence_manager.cpp
+++ b/engines/wintermute/base/base_persistence_manager.cpp
@@ -663,7 +663,7 @@ bool BasePersistenceManager::transferFloat(const char *name, float *val) {
 
 //////////////////////////////////////////////////////////////////////////
 // double
-bool BasePersistenceManager::transfer(const char *name, double *val) {
+bool BasePersistenceManager::transferDouble(const char *name, double *val) {
 	if (_saving) {
 		putDouble(*val);
 		if (_saveStream->err()) {
diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h
index 3bac07e..03316d9 100644
--- a/engines/wintermute/base/base_persistence_manager.h
+++ b/engines/wintermute/base/base_persistence_manager.h
@@ -77,7 +77,7 @@ public:
 	bool transfer(const char *name, int32 *val);
 	bool transfer(const char *name, uint32 *val);
 	bool transferFloat(const char *name, float *val);
-	bool transfer(const char *name, double *val);
+	bool transferDouble(const char *name, double *val);
 	bool transferBool(const char *name, bool *val);
 	bool transferByte(const char *name, byte *val);
 	bool transferRect32(const char *name, Rect32 *val);
diff --git a/engines/wintermute/base/scriptables/script_value.cpp b/engines/wintermute/base/scriptables/script_value.cpp
index c87180f..5b27574 100644
--- a/engines/wintermute/base/scriptables/script_value.cpp
+++ b/engines/wintermute/base/scriptables/script_value.cpp
@@ -795,7 +795,7 @@ bool ScValue::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferBool(TMEMBER(_isConstVar));
 	persistMgr->transfer(TMEMBER_INT(_type));
 	persistMgr->transferBool(TMEMBER(_valBool));
-	persistMgr->transfer(TMEMBER(_valFloat));
+	persistMgr->transferDouble(TMEMBER(_valFloat));
 	persistMgr->transfer(TMEMBER(_valInt));
 	persistMgr->transferPtr(TMEMBER_PTR(_valNative));
 


Commit: 211b8c9732bed65c29b8e48ad20d6c934a942e02
    https://github.com/scummvm/scummvm/commit/211b8c9732bed65c29b8e48ad20d6c934a942e02
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Remove unused BasePlatform-functions (showWindow/setCapture/releaseCapture)

Changed paths:
    engines/wintermute/ad/ad_game.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/platform_osystem.cpp
    engines/wintermute/platform_osystem.h



diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index 3af43ca..fc5f201 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -2160,7 +2160,6 @@ bool AdGame::onMouseLeftDown() {
 		_gameRef->_capturedObject = _gameRef->_activeObject;
 	}
 	_mouseLeftDown = true;
-	BasePlatform::setCapture(/*_renderer->_window*/);
 
 	return STATUS_OK;
 }
@@ -2171,7 +2170,6 @@ bool AdGame::onMouseLeftUp() {
 		_activeObject->handleMouse(MOUSE_RELEASE, MOUSE_BUTTON_LEFT);
 	}
 
-	BasePlatform::releaseCapture();
 	_capturedObject = nullptr;
 	_mouseLeftDown = false;
 
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index f8da28c..f6ae320 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -3577,7 +3577,6 @@ bool BaseGame::onMouseLeftDown() {
 		_capturedObject = _activeObject;
 	}
 	_mouseLeftDown = true;
-	BasePlatform::setCapture(/*_renderer->_window*/);
 
 	return STATUS_OK;
 }
@@ -3588,7 +3587,6 @@ bool BaseGame::onMouseLeftUp() {
 		_activeObject->handleMouse(MOUSE_RELEASE, MOUSE_BUTTON_LEFT);
 	}
 
-	BasePlatform::releaseCapture();
 	_capturedObject = nullptr;
 	_mouseLeftDown = false;
 
diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp
index 87a127d..3602585 100644
--- a/engines/wintermute/platform_osystem.cpp
+++ b/engines/wintermute/platform_osystem.cpp
@@ -169,21 +169,6 @@ bool BasePlatform::setCursorPos(int x, int y) {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool BasePlatform::showWindow(int nCmdShow) {
-	return false;
-}
-
-//////////////////////////////////////////////////////////////////////////
-void BasePlatform::setCapture() {
-	return;
-}
-
-//////////////////////////////////////////////////////////////////////////
-bool BasePlatform::releaseCapture() {
-	return false;
-}
-
-//////////////////////////////////////////////////////////////////////////
 bool BasePlatform::setRectEmpty(Rect32 *lprc) {
 	lprc->left = lprc->right = lprc->top = lprc->bottom = 0;
 	return true;
diff --git a/engines/wintermute/platform_osystem.h b/engines/wintermute/platform_osystem.h
index 46c86df..057c686 100644
--- a/engines/wintermute/platform_osystem.h
+++ b/engines/wintermute/platform_osystem.h
@@ -48,10 +48,6 @@ public:
 	// Win32 API bindings
 	static bool getCursorPos(Point32 *lpPoint);
 	static bool setCursorPos(int x, int y);
-	static bool showWindow(int nCmdShow);
-
-	static void setCapture();
-	static bool releaseCapture();
 
 	static bool setRectEmpty(Rect32 *lprc);
 	static bool isRectEmpty(const Rect32 *lprc);


Commit: 3fb418390910cfb00d8b3dda8da33b8302615b6a
    https://github.com/scummvm/scummvm/commit/3fb418390910cfb00d8b3dda8da33b8302615b6a
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Remove BasePlatform::setRectEmpty (replace with member-call)

Changed paths:
    engines/wintermute/ad/ad_response_box.cpp
    engines/wintermute/base/base_active_rect.cpp
    engines/wintermute/base/base_frame.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_object.cpp
    engines/wintermute/base/base_region.cpp
    engines/wintermute/base/base_sprite.cpp
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/base_viewport.cpp
    engines/wintermute/base/gfx/base_renderer.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/particles/part_particle.cpp
    engines/wintermute/platform_osystem.cpp
    engines/wintermute/platform_osystem.h
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/ui/ui_window.cpp



diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index 9058717..5c0efb5 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -58,7 +58,7 @@ AdResponseBox::AdResponseBox(BaseGame *inGame) : BaseObject(inGame) {
 	_shieldWindow = new UIWindow(_gameRef);
 
 	_horizontal = false;
-	BasePlatform::setRectEmpty(&_responseArea);
+	_responseArea.setEmpty();
 	_scrollOffset = 0;
 	_spacing = 0;
 
diff --git a/engines/wintermute/base/base_active_rect.cpp b/engines/wintermute/base/base_active_rect.cpp
index abeaa18..548b85b 100644
--- a/engines/wintermute/base/base_active_rect.cpp
+++ b/engines/wintermute/base/base_active_rect.cpp
@@ -37,7 +37,7 @@ namespace Wintermute {
 
 //////////////////////////////////////////////////////////////////////
 BaseActiveRect::BaseActiveRect(BaseGame *inGame) : BaseClass(inGame) {
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 	_owner = nullptr;
 	_frame = nullptr;
 	_region = nullptr;
diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp
index 0a17ee7..b8c25b7 100644
--- a/engines/wintermute/base/base_frame.cpp
+++ b/engines/wintermute/base/base_frame.cpp
@@ -181,7 +181,7 @@ bool BaseFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 	bool decoration = false;
 	bool mirrorX = false;
 	bool mirrorY = false;
-	BasePlatform::setRectEmpty(&rect);
+	rect.setEmpty();
 	char *surface_file = nullptr;
 
 	while ((cmd = parser.getCommand(&buffer, commands, &params)) > 0) {
@@ -352,7 +352,7 @@ bool BaseFrame::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, float
 	if (!rect) {
 		return false;
 	}
-	BasePlatform::setRectEmpty(rect);
+	rect->setEmpty();
 
 	Rect32 subRect;
 
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index f6ae320..47a081e 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -185,7 +185,7 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
 
 	_lastCursor = nullptr;
 
-	BasePlatform::setRectEmpty(&_mouseLockRect);
+	_mouseLockRect.setEmpty();
 
 	_suppressScriptErrors = false;
 	_lastMiniUpdate = 0;
diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp
index ffc5984..14e15b7 100644
--- a/engines/wintermute/base/base_object.cpp
+++ b/engines/wintermute/base/base_object.cpp
@@ -63,7 +63,7 @@ BaseObject::BaseObject(BaseGame *inGame) : BaseScriptHolder(inGame) {
 
 	_iD = _gameRef->getSequence();
 
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 	_rectSet = false;
 
 	_cursor = nullptr;
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index e8d004d..94f1c9a 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -48,7 +48,7 @@ BaseRegion::BaseRegion(BaseGame *inGame) : BaseObject(inGame) {
 	_lastMimicScale = -1;
 	_lastMimicX = _lastMimicY = INT_MIN;
 
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 }
 
 
@@ -65,7 +65,7 @@ void BaseRegion::cleanup() {
 	}
 	_points.clear();
 
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 	_editorSelectedPoint = -1;
 }
 
@@ -491,7 +491,7 @@ bool BaseRegion::ptInPolygon(int32 x, int32 y) {
 //////////////////////////////////////////////////////////////////////////
 bool BaseRegion::getBoundingRect(Rect32 *rect) {
 	if (_points.size() == 0) {
-		BasePlatform::setRectEmpty(rect);
+		rect->setEmpty();
 	} else {
 		int32 minX = INT_MAX, minY = INT_MAX, maxX = INT_MIN, maxY = INT_MIN;
 
diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp
index 3b5cb0a..df696f2 100644
--- a/engines/wintermute/base/base_sprite.cpp
+++ b/engines/wintermute/base/base_sprite.cpp
@@ -462,7 +462,7 @@ bool BaseSprite::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, float
 		return false;
 	}
 
-	BasePlatform::setRectEmpty(rect);
+	rect->setEmpty();
 	for (uint32 i = 0; i < _frames.size(); i++) {
 		Rect32 frame;
 		Rect32 temp;
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index 72af5fb..5629962 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -54,7 +54,7 @@ BaseSubFrame::BaseSubFrame(BaseGame *inGame) : BaseScriptable(inGame, true) {
 	_transparent = 0xFFFF00FF;
 
 	_wantsDefaultRect = false;
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 
 	_editorSelected = false;
 
@@ -121,7 +121,7 @@ bool BaseSubFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 	int r = 255, g = 255, b = 255;
 	int ar = 255, ag = 255, ab = 255, alpha = 255;
 	bool custoTrans = false;
-	BasePlatform::setRectEmpty(&rect);
+	rect.setEmpty();
 	char *surfaceFile = nullptr;
 
 	delete _surface;
@@ -318,7 +318,7 @@ bool BaseSubFrame::saveAsText(BaseDynamicBuffer *buffer, int indent, bool comple
 	}
 
 	Rect32 rect;
-	BasePlatform::setRectEmpty(&rect);
+	rect.setEmpty();
 	if (_surface) {
 		BasePlatform::setRect(&rect, 0, 0, _surface->getWidth(), _surface->getHeight());
 	}
@@ -376,7 +376,7 @@ void BaseSubFrame::setDefaultRect() {
 		_wantsDefaultRect = true;
 	} else {
 		_wantsDefaultRect = false;
-		BasePlatform::setRectEmpty(&_rect);
+		_rect.setEmpty();
 	}
 }
 
diff --git a/engines/wintermute/base/base_viewport.cpp b/engines/wintermute/base/base_viewport.cpp
index 7e531e8..a420585 100644
--- a/engines/wintermute/base/base_viewport.cpp
+++ b/engines/wintermute/base/base_viewport.cpp
@@ -38,7 +38,7 @@ IMPLEMENT_PERSISTENT(BaseViewport, false)
 
 //////////////////////////////////////////////////////////////////////////
 BaseViewport::BaseViewport(BaseGame *inGame) : BaseClass(inGame) {
-	BasePlatform::setRectEmpty(&_rect);
+	_rect.setEmpty();
 	_mainObject = nullptr;
 	_offsetX = _offsetY = 0;
 }
diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp
index 1f17120..93364c4 100644
--- a/engines/wintermute/base/gfx/base_renderer.cpp
+++ b/engines/wintermute/base/gfx/base_renderer.cpp
@@ -65,7 +65,7 @@ BaseRenderer::BaseRenderer(BaseGame *inGame) : BaseClass(inGame) {
 	_loadImageX = _loadImageY = 0;
 
 	_width = _height = _bPP = 0;
-	BasePlatform::setRectEmpty(&_monitorRect);
+	_monitorRect.setEmpty();
 
 	_realWidth = _realHeight = 0;
 	_drawOffsetX = _drawOffsetY = 0;
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index 4a1095c..dc48815 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -50,7 +50,7 @@ IMPLEMENT_PERSISTENT(PartEmitter, false)
 PartEmitter::PartEmitter(BaseGame *inGame, BaseScriptHolder *owner) : BaseObject(inGame) {
 	_width = _height = 0;
 
-	BasePlatform::setRectEmpty(&_border);
+	_border.setEmpty();
 	_borderThicknessLeft = _borderThicknessRight = _borderThicknessTop = _borderThicknessBottom = 0;
 
 	_angle1 = _angle2 = 0;
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index f4cd61c..ccef554 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -45,7 +45,7 @@ PartParticle::PartParticle(BaseGame *inGame) : BaseClass(inGame) {
 	_creationTime = 0;
 	_lifeTime = 0;
 	_isDead = true;
-	BasePlatform::setRectEmpty(&_border);
+	_border.setEmpty();
 
 	_state = PARTICLE_NORMAL;
 	_fadeStart = 0;
diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp
index 3602585..d8967bc 100644
--- a/engines/wintermute/platform_osystem.cpp
+++ b/engines/wintermute/platform_osystem.cpp
@@ -169,12 +169,6 @@ bool BasePlatform::setCursorPos(int x, int y) {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool BasePlatform::setRectEmpty(Rect32 *lprc) {
-	lprc->left = lprc->right = lprc->top = lprc->bottom = 0;
-	return true;
-}
-
-//////////////////////////////////////////////////////////////////////////
 bool BasePlatform::isRectEmpty(const Rect32 *lprc) {
 	return (lprc->left >= lprc->right) || (lprc->top >= lprc->bottom);
 }
@@ -199,7 +193,7 @@ bool BasePlatform::intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const
 	if (isRectEmpty(lprcSrc1) || isRectEmpty(lprcSrc2) ||
 	        lprcSrc1->left >= lprcSrc2->right || lprcSrc2->left >= lprcSrc1->right ||
 	        lprcSrc1->top >= lprcSrc2->bottom || lprcSrc2->top >= lprcSrc1->bottom) {
-		setRectEmpty(lprcDst);
+		lprcDst->setEmpty();
 		return false;
 	}
 	lprcDst->left   = MAX(lprcSrc1->left, lprcSrc2->left);
@@ -214,7 +208,7 @@ bool BasePlatform::intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const
 bool BasePlatform::unionRect(Rect32 *lprcDst, Rect32 *lprcSrc1, Rect32 *lprcSrc2) {
 	if (isRectEmpty(lprcSrc1)) {
 		if (isRectEmpty(lprcSrc2)) {
-			setRectEmpty(lprcDst);
+			lprcDst->setEmpty();
 			return false;
 		} else {
 			*lprcDst = *lprcSrc2;
diff --git a/engines/wintermute/platform_osystem.h b/engines/wintermute/platform_osystem.h
index 057c686..edf9d35 100644
--- a/engines/wintermute/platform_osystem.h
+++ b/engines/wintermute/platform_osystem.h
@@ -49,7 +49,6 @@ public:
 	static bool getCursorPos(Point32 *lpPoint);
 	static bool setCursorPos(int x, int y);
 
-	static bool setRectEmpty(Rect32 *lprc);
 	static bool isRectEmpty(const Rect32 *lprc);
 	static bool ptInRect(Rect32 *lprc, Point32 p);
 	static bool setRect(Rect32 *lprc, int left, int top, int right, int bottom);
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index 29b99f7..b7bbbbb 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -44,15 +44,15 @@ IMPLEMENT_PERSISTENT(UITiledImage, false)
 UITiledImage::UITiledImage(BaseGame *inGame) : BaseObject(inGame) {
 	_image = nullptr;
 
-	BasePlatform::setRectEmpty(&_upLeft);
-	BasePlatform::setRectEmpty(&_upMiddle);
-	BasePlatform::setRectEmpty(&_upRight);
-	BasePlatform::setRectEmpty(&_middleLeft);
-	BasePlatform::setRectEmpty(&_middleMiddle);
-	BasePlatform::setRectEmpty(&_middleRight);
-	BasePlatform::setRectEmpty(&_downLeft);
-	BasePlatform::setRectEmpty(&_downMiddle);
-	BasePlatform::setRectEmpty(&_downRight);
+	_upLeft.setEmpty();
+	_upMiddle.setEmpty();
+	_upRight.setEmpty();
+	_middleLeft.setEmpty();
+	_middleMiddle.setEmpty();
+	_middleRight.setEmpty();
+	_downLeft.setEmpty();
+	_downMiddle.setEmpty();
+	_downRight.setEmpty();
 }
 
 
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 8101dfd..5d86311 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -54,8 +54,8 @@ IMPLEMENT_PERSISTENT(UIWindow, false)
 
 //////////////////////////////////////////////////////////////////////////
 UIWindow::UIWindow(BaseGame *inGame) : UIObject(inGame) {
-	BasePlatform::setRectEmpty(&_titleRect);
-	BasePlatform::setRectEmpty(&_dragRect);
+	_titleRect.setEmpty();
+	_dragRect.setEmpty();
 	_titleAlign = TAL_LEFT;
 	_transparent = false;
 


Commit: efb8031b3c38b8d7e2da73725eb60a35554d0508
    https://github.com/scummvm/scummvm/commit/efb8031b3c38b8d7e2da73725eb60a35554d0508
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Remove BasePlatform::isRectEmpty (replace with member-call).

Changed paths:
    engines/wintermute/base/base_frame.cpp
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/particles/part_particle.cpp
    engines/wintermute/math/rect32.h
    engines/wintermute/platform_osystem.cpp
    engines/wintermute/platform_osystem.h
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/ui/ui_window.cpp



diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp
index b8c25b7..2e37122 100644
--- a/engines/wintermute/base/base_frame.cpp
+++ b/engines/wintermute/base/base_frame.cpp
@@ -325,7 +325,7 @@ bool BaseFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 		}
 	}
 
-	if (BasePlatform::isRectEmpty(&rect)) {
+	if (rect.isRectEmpty()) {
 		sub->setDefaultRect();
 	} else {
 		sub->setRect(rect);
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index 5629962..b99ee3a 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -208,7 +208,7 @@ bool BaseSubFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 	    return STATUS_FAILED;
 	}
 	*/
-	if (BasePlatform::isRectEmpty(&rect)) {
+	if (rect.isRectEmpty()) {
 		setDefaultRect();
 	} else {
 		setRect(rect);
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index dc48815..3d83562 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -198,7 +198,7 @@ bool PartEmitter::initParticle(PartParticle *particle, uint32 currentTime, uint3
 	float angVelocity = BaseUtils::randomFloat(_angVelocity1, _angVelocity2);
 	float growthRate = BaseUtils::randomFloat(_growthRate1, _growthRate2);
 
-	if (!BasePlatform::isRectEmpty(&_border)) {
+	if (!_border.isRectEmpty()) {
 		int thicknessLeft   = (int)(_borderThicknessLeft   - (float)_borderThicknessLeft   * posZ / 100.0f);
 		int thicknessRight  = (int)(_borderThicknessRight  - (float)_borderThicknessRight  * posZ / 100.0f);
 		int thicknessTop    = (int)(_borderThicknessTop    - (float)_borderThicknessTop    * posZ / 100.0f);
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index ccef554..c5bf0f8 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -125,7 +125,7 @@ bool PartParticle::update(PartEmitter *emitter, uint32 currentTime, uint32 timer
 		}
 
 		// particle hit the border
-		if (!_isDead && !BasePlatform::isRectEmpty(&_border)) {
+		if (!_isDead && !_border.isRectEmpty()) {
 			Point32 p;
 			p.x = (int32)_pos.x;
 			p.y = (int32)_pos.y;
diff --git a/engines/wintermute/math/rect32.h b/engines/wintermute/math/rect32.h
index f522ab3..4eb00b1 100644
--- a/engines/wintermute/math/rect32.h
+++ b/engines/wintermute/math/rect32.h
@@ -94,6 +94,10 @@ struct Rect32 {
 		left = right = top = bottom = 0;
 	}
 
+	bool isRectEmpty() const {
+		return (left >= right) || (top >= bottom);
+	}
+
 	void offsetRect(int dx, int dy) {
 		left   += dx;
 		top    += dy;
diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp
index d8967bc..303530b 100644
--- a/engines/wintermute/platform_osystem.cpp
+++ b/engines/wintermute/platform_osystem.cpp
@@ -169,11 +169,6 @@ bool BasePlatform::setCursorPos(int x, int y) {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool BasePlatform::isRectEmpty(const Rect32 *lprc) {
-	return (lprc->left >= lprc->right) || (lprc->top >= lprc->bottom);
-}
-
-//////////////////////////////////////////////////////////////////////////
 bool BasePlatform::ptInRect(Rect32 *lprc, Point32 p) {
 	return (p.x >= lprc->left) && (p.x < lprc->right) && (p.y >= lprc->top) && (p.y < lprc->bottom);
 }
@@ -190,7 +185,7 @@ bool BasePlatform::setRect(Rect32 *lprc, int left, int top, int right, int botto
 
 //////////////////////////////////////////////////////////////////////////
 bool BasePlatform::intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const Rect32 *lprcSrc2) {
-	if (isRectEmpty(lprcSrc1) || isRectEmpty(lprcSrc2) ||
+	if (lprcSrc1->isRectEmpty() || lprcSrc2->isRectEmpty() ||
 	        lprcSrc1->left >= lprcSrc2->right || lprcSrc2->left >= lprcSrc1->right ||
 	        lprcSrc1->top >= lprcSrc2->bottom || lprcSrc2->top >= lprcSrc1->bottom) {
 		lprcDst->setEmpty();
@@ -206,15 +201,15 @@ bool BasePlatform::intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const
 
 //////////////////////////////////////////////////////////////////////////
 bool BasePlatform::unionRect(Rect32 *lprcDst, Rect32 *lprcSrc1, Rect32 *lprcSrc2) {
-	if (isRectEmpty(lprcSrc1)) {
-		if (isRectEmpty(lprcSrc2)) {
+	if (lprcSrc1->isRectEmpty()) {
+		if (lprcSrc2->isRectEmpty()) {
 			lprcDst->setEmpty();
 			return false;
 		} else {
 			*lprcDst = *lprcSrc2;
 		}
 	} else {
-		if (isRectEmpty(lprcSrc2)) {
+		if (lprcSrc2->isRectEmpty()) {
 			*lprcDst = *lprcSrc1;
 		} else {
 			lprcDst->left   = MIN(lprcSrc1->left, lprcSrc2->left);
diff --git a/engines/wintermute/platform_osystem.h b/engines/wintermute/platform_osystem.h
index edf9d35..16d5574 100644
--- a/engines/wintermute/platform_osystem.h
+++ b/engines/wintermute/platform_osystem.h
@@ -49,7 +49,6 @@ public:
 	static bool getCursorPos(Point32 *lpPoint);
 	static bool setCursorPos(int x, int y);
 
-	static bool isRectEmpty(const Rect32 *lprc);
 	static bool ptInRect(Rect32 *lprc, Point32 p);
 	static bool setRect(Rect32 *lprc, int left, int top, int right, int bottom);
 	static bool intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const Rect32 *lprcSrc2);
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index b7bbbbb..66fd3f5 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -287,33 +287,33 @@ bool UITiledImage::loadBuffer(char *buffer, bool complete) {
 		int width = _image->_surface->getWidth() / 3;
 		int height = _image->_surface->getHeight() / 3;
 
-		if (BasePlatform::isRectEmpty(&_upLeft)) {
+		if (_upLeft.isRectEmpty()) {
 			BasePlatform::setRect(&_upLeft,   0,       0, width,   height);
 		}
-		if (BasePlatform::isRectEmpty(&_upMiddle)) {
+		if (_upMiddle.isRectEmpty()) {
 			BasePlatform::setRect(&_upMiddle, width,   0, 2 * width, height);
 		}
-		if (BasePlatform::isRectEmpty(&_upRight)) {
+		if (_upRight.isRectEmpty()) {
 			BasePlatform::setRect(&_upRight,  2 * width, 0, 3 * width, height);
 		}
 
-		if (BasePlatform::isRectEmpty(&_middleLeft)) {
+		if (_middleLeft.isRectEmpty()) {
 			BasePlatform::setRect(&_middleLeft,   0,       height, width,   2 * height);
 		}
-		if (BasePlatform::isRectEmpty(&_middleMiddle)) {
+		if (_middleMiddle.isRectEmpty()) {
 			BasePlatform::setRect(&_middleMiddle, width,   height, 2 * width, 2 * height);
 		}
-		if (BasePlatform::isRectEmpty(&_middleRight)) {
+		if (_middleRight.isRectEmpty()) {
 			BasePlatform::setRect(&_middleRight,  2 * width, height, 3 * width, 2 * height);
 		}
 
-		if (BasePlatform::isRectEmpty(&_downLeft)) {
+		if (_downLeft.isRectEmpty()) {
 			BasePlatform::setRect(&_downLeft,   0,       2 * height, width,   3 * height);
 		}
-		if (BasePlatform::isRectEmpty(&_downMiddle)) {
+		if (_downMiddle.isRectEmpty()) {
 			BasePlatform::setRect(&_downMiddle, width,   2 * height, 2 * width, 3 * height);
 		}
-		if (BasePlatform::isRectEmpty(&_downRight)) {
+		if (_downRight.isRectEmpty()) {
 			BasePlatform::setRect(&_downRight,  2 * width, 2 * height, 3 * width, 3 * height);
 		}
 	}
diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp
index 5d86311..c926219 100644
--- a/engines/wintermute/ui/ui_window.cpp
+++ b/engines/wintermute/ui/ui_window.cpp
@@ -213,7 +213,7 @@ bool UIWindow::display(int offsetX, int offsetY) {
 		image->draw(_posX + offsetX, _posY + offsetY, _transparent ? nullptr : this);
 	}
 
-	if (!BasePlatform::isRectEmpty(&_titleRect) && font && _text) {
+	if (!_titleRect.isRectEmpty() && font && _text) {
 		font->drawText((byte *)_text, _posX + offsetX + _titleRect.left, _posY + offsetY + _titleRect.top, _titleRect.right - _titleRect.left, _titleAlign, _titleRect.bottom - _titleRect.top);
 	}
 
@@ -676,11 +676,11 @@ bool UIWindow::saveAsText(BaseDynamicBuffer *buffer, int indent) {
 		error("UIWindow::SaveAsText - Unhandled enum-value NUM_TEXT_ALIGN");
 	}
 
-	if (!BasePlatform::isRectEmpty(&_titleRect)) {
+	if (!_titleRect.isRectEmpty()) {
 		buffer->putTextIndent(indent + 2, "TITLE_RECT { %d, %d, %d, %d }\n", _titleRect.left, _titleRect.top, _titleRect.right, _titleRect.bottom);
 	}
 
-	if (!BasePlatform::isRectEmpty(&_dragRect)) {
+	if (!_dragRect.isRectEmpty()) {
 		buffer->putTextIndent(indent + 2, "DRAG_RECT { %d, %d, %d, %d }\n", _dragRect.left, _dragRect.top, _dragRect.right, _dragRect.bottom);
 	}
 
@@ -1227,7 +1227,7 @@ bool UIWindow::handleMouse(TMouseEvent event, TMouseButton button) {
 	bool res = UIObject::handleMouse(event, button);
 
 	// handle window dragging
-	if (!BasePlatform::isRectEmpty(&_dragRect)) {
+	if (!_dragRect.isRectEmpty()) {
 		// start drag
 		if (event == MOUSE_CLICK && button == MOUSE_BUTTON_LEFT) {
 			Rect32 dragRect = _dragRect;


Commit: d6b9d7de8f4bc8be34ef7456a89ee144172ca5b0
    https://github.com/scummvm/scummvm/commit/d6b9d7de8f4bc8be34ef7456a89ee144172ca5b0
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-10-28T18:59:53-07:00

Commit Message:
WINTERMUTE: Remove BasePlatform::setRect (replace with member-call)

Changed paths:
    engines/wintermute/base/base_active_rect.cpp
    engines/wintermute/base/base_game.cpp
    engines/wintermute/base/base_region.cpp
    engines/wintermute/base/base_sub_frame.cpp
    engines/wintermute/base/base_viewport.cpp
    engines/wintermute/base/font/base_font_bitmap.cpp
    engines/wintermute/base/font/base_font_truetype.cpp
    engines/wintermute/base/gfx/base_renderer.cpp
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/math/rect32.h
    engines/wintermute/platform_osystem.cpp
    engines/wintermute/ui/ui_button.cpp
    engines/wintermute/ui/ui_tiled_image.cpp
    engines/wintermute/video/video_theora_player.cpp



diff --git a/engines/wintermute/base/base_active_rect.cpp b/engines/wintermute/base/base_active_rect.cpp
index 548b85b..69cc7b0 100644
--- a/engines/wintermute/base/base_active_rect.cpp
+++ b/engines/wintermute/base/base_active_rect.cpp
@@ -52,7 +52,7 @@ BaseActiveRect::BaseActiveRect(BaseGame *inGame) : BaseClass(inGame) {
 BaseActiveRect::BaseActiveRect(BaseGame *inGame, BaseObject *owner, BaseSubFrame *frame, int x, int y, int width, int height, float zoomX, float zoomY, bool precise) : BaseClass(inGame) {
 	_owner = owner;
 	_frame = frame;
-	BasePlatform::setRect(&_rect, x, y, x + width, y + height);
+	_rect.setRect(x, y, x + width, y + height);
 	_zoomX = zoomX;
 	_zoomY = zoomY;
 	_precise = precise;
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 47a081e..033f019 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -1123,7 +1123,7 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
 			BaseUtils::swap(&top, &bottom);
 		}
 
-		BasePlatform::setRect(&_mouseLockRect, left, top, right, bottom);
+		_mouseLockRect.setRect(left, top, right, bottom);
 
 		stack->pushNULL();
 		return STATUS_OK;
@@ -3361,10 +3361,10 @@ bool BaseGame::getCurrentViewportRect(Rect32 *rect, bool *custom) const {
 				*custom = true;
 			}
 		} else {
-			BasePlatform::setRect(rect,   _renderer->_drawOffsetX,
-			                      _renderer->_drawOffsetY,
-			                      _renderer->getWidth() + _renderer->_drawOffsetX,
-			                      _renderer->getHeight() + _renderer->_drawOffsetY);
+			rect->setRect(_renderer->_drawOffsetX,
+						  _renderer->_drawOffsetY,
+						  _renderer->getWidth() + _renderer->_drawOffsetX,
+						  _renderer->getHeight() + _renderer->_drawOffsetY);
 			if (custom) {
 				*custom = false;
 			}
diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp
index 94f1c9a..2953adc 100644
--- a/engines/wintermute/base/base_region.cpp
+++ b/engines/wintermute/base/base_region.cpp
@@ -502,7 +502,7 @@ bool BaseRegion::getBoundingRect(Rect32 *rect) {
 			maxX = MAX(maxX, _points[i]->x);
 			maxY = MAX(maxY, _points[i]->y);
 		}
-		BasePlatform::setRect(rect, minX, minY, maxX, maxY);
+		rect->setRect(minX, minY, maxX, maxY);
 	}
 	return STATUS_OK;
 }
diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp
index b99ee3a..490a994 100644
--- a/engines/wintermute/base/base_sub_frame.cpp
+++ b/engines/wintermute/base/base_sub_frame.cpp
@@ -34,7 +34,6 @@
 #include "engines/wintermute/base/base_surface_storage.h"
 #include "engines/wintermute/base/base_game.h"
 #include "engines/wintermute/base/base_engine.h"
-#include "engines/wintermute/platform_osystem.h"
 #include "engines/wintermute/base/gfx/base_renderer.h"
 #include "engines/wintermute/base/scriptables/script_value.h"
 #include "engines/wintermute/base/scriptables/script_stack.h"
@@ -219,7 +218,7 @@ bool BaseSubFrame::loadBuffer(char *buffer, int lifeTime, bool keepLoaded) {
 
 Rect32 BaseSubFrame::getRect() {
 	if (_wantsDefaultRect && _surface) {
-		BasePlatform::setRect(&_rect, 0, 0, _surface->getWidth(), _surface->getHeight());
+		_rect.setRect(0, 0, _surface->getWidth(), _surface->getHeight());
 		_wantsDefaultRect = false;
 	}
 	return _rect;
@@ -294,11 +293,10 @@ bool BaseSubFrame::getBoundingRect(Rect32 *rect, int x, int y, float scaleX, flo
 	float ratioX = scaleX / 100.0f;
 	float ratioY = scaleY / 100.0f;
 
-	BasePlatform::setRect(rect,
-	                      (int)(x - _hotspotX * ratioX),
-	                      (int)(y - _hotspotY * ratioY),
-	                      (int)(x - _hotspotX * ratioX + (getRect().right - getRect().left) * ratioX),
-	                      (int)(y - _hotspotY * ratioY + (getRect().bottom - getRect().top) * ratioY));
+	rect->setRect((int)(x - _hotspotX * ratioX),
+				  (int)(y - _hotspotY * ratioY),
+				  (int)(x - _hotspotX * ratioX + (getRect().right - getRect().left) * ratioX),
+				  (int)(y - _hotspotY * ratioY + (getRect().bottom - getRect().top) * ratioY));
 	return true;
 }
 
@@ -320,7 +318,7 @@ bool BaseSubFrame::saveAsText(BaseDynamicBuffer *buffer, int indent, bool comple
 	Rect32 rect;
 	rect.setEmpty();
 	if (_surface) {
-		BasePlatform::setRect(&rect, 0, 0, _surface->getWidth(), _surface->getHeight());
+		rect.setRect(0, 0, _surface->getWidth(), _surface->getHeight());
 	}
 	if (!(rect == getRect())) {
 		buffer->putTextIndent(indent + 2, "RECT { %d,%d,%d,%d }\n", getRect().left, getRect().top, getRect().right, getRect().bottom);
diff --git a/engines/wintermute/base/base_viewport.cpp b/engines/wintermute/base/base_viewport.cpp
index a420585..acc0ee7 100644
--- a/engines/wintermute/base/base_viewport.cpp
+++ b/engines/wintermute/base/base_viewport.cpp
@@ -29,7 +29,6 @@
 #include "engines/wintermute/base/base_viewport.h"
 #include "engines/wintermute/base/base_engine.h"
 #include "engines/wintermute/base/base_persistence_manager.h"
-#include "engines/wintermute/platform_osystem.h"
 #include "engines/wintermute/base/gfx/base_renderer.h"
 
 namespace Wintermute {
@@ -73,7 +72,7 @@ bool BaseViewport::setRect(int32 left, int32 top, int32 right, int32 bottom, boo
 		bottom = MIN(bottom, BaseEngine::instance().getRenderer()->getHeight());
 	}
 
-	BasePlatform::setRect(&_rect, left, top, right, bottom);
+	_rect.setRect(left, top, right, bottom);
 	_offsetX = left;
 	_offsetY = top;
 	return STATUS_OK;
diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp
index 2b5fe0d..dd54e5e 100644
--- a/engines/wintermute/base/font/base_font_bitmap.cpp
+++ b/engines/wintermute/base/font/base_font_bitmap.cpp
@@ -37,7 +37,6 @@
 #include "engines/wintermute/base/base_frame.h"
 #include "engines/wintermute/base/base_sprite.h"
 #include "engines/wintermute/base/base_file_manager.h"
-#include "engines/wintermute/platform_osystem.h"
 
 namespace Wintermute {
 
@@ -253,7 +252,7 @@ void BaseFontBitmap::drawChar(byte c, int x, int y) {
 		tileWidth = _widths[c];
 	}
 
-	BasePlatform::setRect(&rect, col * _tileWidth, row * _tileHeight, col * _tileWidth + tileWidth, (row + 1)*_tileHeight);
+	rect.setRect(col * _tileWidth, row * _tileHeight, col * _tileWidth + tileWidth, (row + 1) * _tileHeight);
 	bool handled = false;
 	if (_sprite) {
 		_sprite->getCurrentFrame();
diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index 8f0484f..13e88f5 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -34,7 +34,6 @@
 #include "engines/wintermute/base/base_game.h"
 #include "engines/wintermute/base/base_file_manager.h"
 #include "engines/wintermute/utils/utils.h"
-#include "engines/wintermute/platform_osystem.h"
 #include "engines/wintermute/wintermute.h"
 #include "graphics/fonts/ttf.h"
 #include "graphics/fontman.h"
@@ -227,7 +226,7 @@ void BaseFontTT::drawText(const byte *text, int x, int y, int width, TTextAlign
 	// and paint it
 	if (surface) {
 		Rect32 rc;
-		BasePlatform::setRect(&rc, 0, 0, surface->getWidth(), surface->getHeight());
+		rc.setRect(0, 0, surface->getWidth(), surface->getHeight());
 		for (uint32 i = 0; i < _layers.size(); i++) {
 			uint32 color = _layers[i]->_color;
 			uint32 origForceAlpha = renderer->_forceAlphaColor;
diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp
index 93364c4..818010e 100644
--- a/engines/wintermute/base/gfx/base_renderer.cpp
+++ b/engines/wintermute/base/gfx/base_renderer.cpp
@@ -374,7 +374,7 @@ bool BaseRenderer::displayIndicator() {
 	}
 	if (_saveLoadImage && !_hasDrawnSaveLoadImage) {
 		Rect32 rc;
-		BasePlatform::setRect(&rc, 0, 0, _saveLoadImage->getWidth(), _saveLoadImage->getHeight());
+		rc.setRect(0, 0, _saveLoadImage->getWidth(), _saveLoadImage->getHeight());
 		if (_loadInProgress) {
 			_saveLoadImage->displayTrans(_loadImageX, _loadImageY, rc);
 		} else {
diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index 3d83562..c5c049a 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -38,7 +38,6 @@
 #include "engines/wintermute/base/base_file_manager.h"
 #include "engines/wintermute/base/gfx/base_renderer.h"
 #include "engines/wintermute/utils/utils.h"
-#include "engines/wintermute/platform_osystem.h"
 #include "common/str.h"
 #include "common/math.h"
 
@@ -386,7 +385,7 @@ bool PartEmitter::compareZ(const PartParticle *p1, const PartParticle *p2) {
 
 //////////////////////////////////////////////////////////////////////////
 bool PartEmitter::setBorder(int x, int y, int width, int height) {
-	BasePlatform::setRect(&_border, x, y, x + width, y + height);
+	_border.setRect(x, y, x + width, y + height);
 
 	return STATUS_OK;
 }
diff --git a/engines/wintermute/math/rect32.h b/engines/wintermute/math/rect32.h
index 4eb00b1..a4a6469 100644
--- a/engines/wintermute/math/rect32.h
+++ b/engines/wintermute/math/rect32.h
@@ -104,6 +104,14 @@ struct Rect32 {
 		right  += dx;
 		bottom += dy;
 	}
+
+	void setRect(int32 newLeft, int32 newTop, int32 newRight, int32 newBottom) {
+		this->left   = newLeft;
+		this->top    = newTop;
+		this->right  = newRight;
+		this->bottom = newBottom;
+	}
+
 	/**
 	 * Check if the given rect is equal to this one.
 	 *
diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp
index 303530b..9fa23c6 100644
--- a/engines/wintermute/platform_osystem.cpp
+++ b/engines/wintermute/platform_osystem.cpp
@@ -174,16 +174,6 @@ bool BasePlatform::ptInRect(Rect32 *lprc, Point32 p) {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool BasePlatform::setRect(Rect32 *lprc, int left, int top, int right, int bottom) {
-	lprc->left   = left;
-	lprc->top    = top;
-	lprc->right  = right;
-	lprc->bottom = bottom;
-
-	return true;
-}
-
-//////////////////////////////////////////////////////////////////////////
 bool BasePlatform::intersectRect(Rect32 *lprcDst, const Rect32 *lprcSrc1, const Rect32 *lprcSrc2) {
 	if (lprcSrc1->isRectEmpty() || lprcSrc2->isRectEmpty() ||
 	        lprcSrc1->left >= lprcSrc2->right || lprcSrc2->left >= lprcSrc1->right ||
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index f2933f4..3cc33f2 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -655,7 +655,7 @@ bool UIButton::display(int offsetX, int offsetY) {
 	BaseFont *font = 0;
 
 	//RECT rect;
-	//BasePlatform::setRect(&rect, OffsetX + _posX, OffsetY + _posY, OffsetX+_posX+_width, OffsetY+_posY+_height);
+	//rect.setRect(OffsetX + _posX, OffsetY + _posY, OffsetX+_posX+_width, OffsetY+_posY+_height);
 	//_hover = (!_disable && BasePlatform::ptInRect(&rect, _gameRef->_mousePos)!=FALSE);
 	_hover = (!_disable && _gameRef->_activeObject == this && (_gameRef->_interactive || _gameRef->_state == GAME_SEMI_FROZEN));
 
diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp
index 66fd3f5..e895477 100644
--- a/engines/wintermute/ui/ui_tiled_image.cpp
+++ b/engines/wintermute/ui/ui_tiled_image.cpp
@@ -267,19 +267,19 @@ bool UITiledImage::loadBuffer(char *buffer, bool complete) {
 
 	if (vTiles && hTiles) {
 		// up row
-		BasePlatform::setRect(&_upLeft,   0,     0, h1,       v1);
-		BasePlatform::setRect(&_upMiddle, h1,    0, h1 + h2,    v1);
-		BasePlatform::setRect(&_upRight,  h1 + h2, 0, h1 + h2 + h3, v1);
+		_upLeft.setRect(0, 0, h1, v1);
+		_upMiddle.setRect(h1, 0, h1 + h2, v1);
+		_upRight.setRect(h1 + h2, 0, h1 + h2 + h3, v1);
 
 		// middle row
-		BasePlatform::setRect(&_middleLeft,   0,     v1, h1,       v1 + v2);
-		BasePlatform::setRect(&_middleMiddle, h1,    v1, h1 + h2,    v1 + v2);
-		BasePlatform::setRect(&_middleRight,  h1 + h2, v1, h1 + h2 + h3, v1 + v2);
+		_middleLeft.setRect(0, v1, h1, v1 + v2);
+		_middleMiddle.setRect(h1, v1, h1 + h2, v1 + v2);
+		_middleRight.setRect(h1 + h2, v1, h1 + h2 + h3, v1 + v2);
 
 		// down row
-		BasePlatform::setRect(&_downLeft,   0,     v1 + v2, h1,       v1 + v2 + v3);
-		BasePlatform::setRect(&_downMiddle, h1,    v1 + v2, h1 + h2,    v1 + v2 + v3);
-		BasePlatform::setRect(&_downRight,  h1 + h2, v1 + v2, h1 + h2 + h3, v1 + v2 + v3);
+		_downLeft.setRect(0, v1 + v2, h1, v1 + v2 + v3);
+		_downMiddle.setRect(h1, v1 + v2, h1 + h2, v1 + v2 + v3);
+		_downRight.setRect(h1 + h2, v1 + v2, h1 + h2 + h3, v1 + v2 + v3);
 	}
 
 	// default
@@ -288,33 +288,33 @@ bool UITiledImage::loadBuffer(char *buffer, bool complete) {
 		int height = _image->_surface->getHeight() / 3;
 
 		if (_upLeft.isRectEmpty()) {
-			BasePlatform::setRect(&_upLeft,   0,       0, width,   height);
+			_upLeft.setRect(0, 0, width, height);
 		}
 		if (_upMiddle.isRectEmpty()) {
-			BasePlatform::setRect(&_upMiddle, width,   0, 2 * width, height);
+			_upMiddle.setRect(width, 0, 2 * width, height);
 		}
 		if (_upRight.isRectEmpty()) {
-			BasePlatform::setRect(&_upRight,  2 * width, 0, 3 * width, height);
+			_upRight.setRect(2 * width, 0, 3 * width, height);
 		}
 
 		if (_middleLeft.isRectEmpty()) {
-			BasePlatform::setRect(&_middleLeft,   0,       height, width,   2 * height);
+			_middleLeft.setRect(0, height, width, 2 * height);
 		}
 		if (_middleMiddle.isRectEmpty()) {
-			BasePlatform::setRect(&_middleMiddle, width,   height, 2 * width, 2 * height);
+			_middleMiddle.setRect(width, height, 2 * width, 2 * height);
 		}
 		if (_middleRight.isRectEmpty()) {
-			BasePlatform::setRect(&_middleRight,  2 * width, height, 3 * width, 2 * height);
+			_middleRight.setRect(2 * width, height, 3 * width, 2 * height);
 		}
 
 		if (_downLeft.isRectEmpty()) {
-			BasePlatform::setRect(&_downLeft,   0,       2 * height, width,   3 * height);
+			_downLeft.setRect(0, 2 * height, width, 3 * height);
 		}
 		if (_downMiddle.isRectEmpty()) {
-			BasePlatform::setRect(&_downMiddle, width,   2 * height, 2 * width, 3 * height);
+			_downMiddle.setRect(width, 2 * height, 2 * width, 3 * height);
 		}
 		if (_downRight.isRectEmpty()) {
-			BasePlatform::setRect(&_downRight,  2 * width, 2 * height, 3 * width, 3 * height);
+			_downRight.setRect(2 * width, 2 * height, 3 * width, 3 * height);
 		}
 	}
 
diff --git a/engines/wintermute/video/video_theora_player.cpp b/engines/wintermute/video/video_theora_player.cpp
index 6b2037a..5dbb301 100644
--- a/engines/wintermute/video/video_theora_player.cpp
+++ b/engines/wintermute/video/video_theora_player.cpp
@@ -34,7 +34,6 @@
 #include "engines/wintermute/base/gfx/base_image.h"
 #include "engines/wintermute/base/gfx/base_renderer.h"
 #include "engines/wintermute/base/sound/base_sound_manager.h"
-#include "engines/wintermute/platform_osystem.h"
 #include "video/theora_decoder.h"
 #include "engines/wintermute/wintermute.h"
 #include "common/system.h"
@@ -396,7 +395,7 @@ bool VideoTheoraPlayer::display(uint32 alpha) {
 	bool res;
 
 	if (_texture && _videoFrameReady) {
-		BasePlatform::setRect(&rc, 0, 0, _texture->getWidth(), _texture->getHeight());
+		rc.setRect(0, 0, _texture->getWidth(), _texture->getHeight());
 		if (_playZoom == 100.0f) {
 			res = _texture->displayTrans(_posX, _posY, rc, alpha);
 		} else {






More information about the Scummvm-git-logs mailing list