[Scummvm-git-logs] scummvm master -> 8ab9c8ec772de4769b6d51e01f39a3e2e6912926

dreammaster paulfgilbert at gmail.com
Sun Feb 2 03:47:35 UTC 2020


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

Summary:
8ab9c8ec77 ULTIMA: Fix clashing types of int vs int32


Commit: 8ab9c8ec772de4769b6d51e01f39a3e2e6912926
    https://github.com/scummvm/scummvm/commit/8ab9c8ec772de4769b6d51e01f39a3e2e6912926
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-01T19:35:10-08:00

Commit Message:
ULTIMA: Fix clashing types of int vs int32

Changed paths:
    engines/ultima/nuvie/screen/screen.cpp
    engines/ultima/nuvie/screen/screen.h
    engines/ultima/ultima8/graphics/fonts/font.cpp
    engines/ultima/ultima8/graphics/fonts/font.h
    engines/ultima/ultima8/graphics/fonts/jp_font.cpp
    engines/ultima/ultima8/graphics/fonts/jp_font.h
    engines/ultima/ultima8/graphics/fonts/shape_font.cpp
    engines/ultima/ultima8/graphics/fonts/shape_font.h
    engines/ultima/ultima8/graphics/fonts/tt_font.cpp
    engines/ultima/ultima8/graphics/fonts/tt_font.h
    engines/ultima/ultima8/gumps/bark_gump.cpp
    engines/ultima/ultima8/gumps/bark_gump.h
    engines/ultima/ultima8/gumps/bind_gump.cpp
    engines/ultima/ultima8/gumps/bind_gump.h
    engines/ultima/ultima8/gumps/book_gump.cpp
    engines/ultima/ultima8/gumps/book_gump.h
    engines/ultima/ultima8/gumps/container_gump.cpp
    engines/ultima/ultima8/gumps/container_gump.h
    engines/ultima/ultima8/gumps/desktop_gump.cpp
    engines/ultima/ultima8/gumps/desktop_gump.h
    engines/ultima/ultima8/gumps/fast_area_vis_gump.cpp
    engines/ultima/ultima8/gumps/fast_area_vis_gump.h
    engines/ultima/ultima8/gumps/game_map_gump.cpp
    engines/ultima/ultima8/gumps/game_map_gump.h
    engines/ultima/ultima8/gumps/gump.cpp
    engines/ultima/ultima8/gumps/gump.h
    engines/ultima/ultima8/gumps/inverter_gump.cpp
    engines/ultima/ultima8/gumps/inverter_gump.h
    engines/ultima/ultima8/gumps/item_relative_gump.cpp
    engines/ultima/ultima8/gumps/item_relative_gump.h
    engines/ultima/ultima8/gumps/message_box_gump.cpp
    engines/ultima/ultima8/gumps/mini_stats_gump.cpp
    engines/ultima/ultima8/gumps/mini_stats_gump.h
    engines/ultima/ultima8/gumps/minimap_gump.cpp
    engines/ultima/ultima8/gumps/minimap_gump.h
    engines/ultima/ultima8/gumps/modal_gump.cpp
    engines/ultima/ultima8/gumps/modal_gump.h
    engines/ultima/ultima8/gumps/paperdoll_gump.cpp
    engines/ultima/ultima8/gumps/paperdoll_gump.h
    engines/ultima/ultima8/gumps/pentagram_menu_gump.h
    engines/ultima/ultima8/gumps/readable_gump.cpp
    engines/ultima/ultima8/gumps/readable_gump.h
    engines/ultima/ultima8/gumps/scaler_gump.cpp
    engines/ultima/ultima8/gumps/scaler_gump.h
    engines/ultima/ultima8/gumps/scroll_gump.cpp
    engines/ultima/ultima8/gumps/scroll_gump.h
    engines/ultima/ultima8/gumps/slider_gump.cpp
    engines/ultima/ultima8/gumps/slider_gump.h
    engines/ultima/ultima8/gumps/target_gump.cpp
    engines/ultima/ultima8/gumps/target_gump.h
    engines/ultima/ultima8/gumps/u8_save_gump.cpp
    engines/ultima/ultima8/gumps/u8_save_gump.h
    engines/ultima/ultima8/gumps/widgets/button_widget.cpp
    engines/ultima/ultima8/gumps/widgets/button_widget.h
    engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
    engines/ultima/ultima8/gumps/widgets/edit_widget.h
    engines/ultima/ultima8/gumps/widgets/game_widget.cpp
    engines/ultima/ultima8/gumps/widgets/game_widget.h
    engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
    engines/ultima/ultima8/gumps/widgets/sliding_widget.h
    engines/ultima/ultima8/gumps/widgets/text_widget.cpp
    engines/ultima/ultima8/gumps/widgets/text_widget.h
    engines/ultima/ultima8/kernel/mouse.cpp
    engines/ultima/ultima8/kernel/mouse.h
    engines/ultima/ultima8/misc/console.h
    engines/ultima/ultima8/misc/rect.h
    engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
    engines/ultima/ultima8/world/actors/avatar_mover_process.h


diff --git a/engines/ultima/nuvie/screen/screen.cpp b/engines/ultima/nuvie/screen/screen.cpp
index 683614e..b19ffeb 100644
--- a/engines/ultima/nuvie/screen/screen.cpp
+++ b/engines/ultima/nuvie/screen/screen.cpp
@@ -445,7 +445,9 @@ Graphics::ManagedSurface *Screen::get_sdl_surface() {
 	return NULL;
 }
 
-bool Screen::blit(sint32 dest_x, sint32 dest_y, const byte *src_buf, uint16 src_bpp, uint16 src_w, uint16 src_h, uint16 src_pitch, bool trans, Common::Rect *clip_rect, uint8 opacity) {
+bool Screen::blit(int32 dest_x, int32 dest_y, const byte *src_buf, uint16 src_bpp,
+		uint16 src_w, uint16 src_h, uint16 src_pitch, bool trans,
+		Common::Rect *clip_rect, uint8 opacity) {
 	uint16 src_x = 0;
 	uint16 src_y = 0;
 
diff --git a/engines/ultima/nuvie/screen/screen.h b/engines/ultima/nuvie/screen/screen.h
index 8f5067d..58244cc 100644
--- a/engines/ultima/nuvie/screen/screen.h
+++ b/engines/ultima/nuvie/screen/screen.h
@@ -113,7 +113,7 @@ public:
 	void stipple_8bit(uint8 color_num, uint16 x, uint16 y, uint16 w, uint16 h);
 	void put_pixel(uint8 colour_num, uint16 x, uint16 y);
 
-	bool blit(sint32 dest_x, sint32 dest_y, const byte *src_buf, uint16 src_bpp, uint16 src_w, uint16 src_h, uint16 src_pitch, bool trans = false, Common::Rect *clip_rect = NULL, uint8 opacity = 255);
+	bool blit(int32 dest_x, int32 dest_y, const byte *src_buf, uint16 src_bpp, uint16 src_w, uint16 src_h, uint16 src_pitch, bool trans = false, Common::Rect *clip_rect = NULL, uint8 opacity = 255);
 	void blitbitmap(uint16 dest_x, uint16 dest_y, const byte *src_buf, uint16 src_w, uint16 src_h, uint8 fg_color, uint8 bg_color);
 
 	void buildalphamap8();
diff --git a/engines/ultima/ultima8/graphics/fonts/font.cpp b/engines/ultima/ultima8/graphics/fonts/font.cpp
index 2538596..eb970c0 100644
--- a/engines/ultima/ultima8/graphics/fonts/font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/font.cpp
@@ -40,9 +40,9 @@ Font::~Font() {
 
 
 void Font::getTextSize(const Std::string &text,
-                       int &resultwidth, int &resultheight,
+                       int32 &resultwidth, int32 &resultheight,
                        unsigned int &remaining,
-                       int width, int height, TextAlign align,
+                       int32 width, int32 height, TextAlign align,
                        bool u8specials) {
 	Std::list<PositionedText> tmp;
 	tmp = typesetText<Traits>(this, text, remaining,
@@ -185,13 +185,9 @@ CHECKME: any others? (page breaks for books?)
 
 template<class T>
 Std::list<PositionedText> typesetText(Pentagram::Font *font,
-                                      const Std::string &text,
-                                      unsigned int &remaining,
-                                      int width, int height,
-                                      Pentagram::Font::TextAlign align,
-                                      bool u8specials,
-                                      int &resultwidth, int &resultheight,
-                                      Std::string::size_type cursor) {
+	const Std::string &text, unsigned int &remaining, int32 width, int32 height,
+	Pentagram::Font::TextAlign align, bool u8specials, int32 &resultwidth,
+	int32 &resultheight, Std::string::size_type cursor) {
 #if 0
 	pout << "typeset (" << width << "," << height << ") : "
 	     << text << Std::endl;
@@ -217,7 +213,7 @@ Std::list<PositionedText> typesetText(Pentagram::Font *font,
 	while (true) {
 		if (iter == text.end() || breakhere || T::isBreak(iter, u8specials)) {
 			// break here
-			int stringwidth = 0, stringheight = 0;
+			int32 stringwidth = 0, stringheight = 0;
 			font->getStringSize(curline, stringwidth, stringheight);
 			line.dims.x = 0;
 			line.dims.y = totalheight;
@@ -280,7 +276,7 @@ Std::list<PositionedText> typesetText(Pentagram::Font *font,
 			// process word
 			Std::string::const_iterator endofnextword = iter;
 			findWordEnd<T>(text, endofnextword, u8specials);
-			int stringwidth = 0, stringheight = 0;
+			int32 stringwidth = 0, stringheight = 0;
 			Std::string newline = curline + spaces +
 			                      text.substr(nextword - text.begin(), endofnextword - nextword);
 			font->getStringSize(newline, stringwidth, stringheight);
@@ -378,16 +374,16 @@ Std::list<PositionedText> typesetText(Pentagram::Font *font,
 template
 Std::list<PositionedText> typesetText<Pentagram::Font::Traits>
 (Pentagram::Font *font, const Std::string &text,
- unsigned int &remaining, int width, int height,
+ unsigned int &remaining, int32 width, int32 height,
  Pentagram::Font::TextAlign align, bool u8specials,
- int &resultwidth, int &resultheight, Std::string::size_type cursor);
+ int32 &resultwidth, int32 &resultheight, Std::string::size_type cursor);
 
 template
 Std::list<PositionedText> typesetText<Pentagram::Font::SJISTraits>
 (Pentagram::Font *font, const Std::string &text,
- unsigned int &remaining, int width, int height,
+ unsigned int &remaining, int32 width, int32 height,
  Pentagram::Font::TextAlign align, bool u8specials,
- int &resultwidth, int &resultheight, Std::string::size_type cursor);
+ int32 &resultwidth, int32 &resultheight, Std::string::size_type cursor);
 
 } // End of namespace Ultima8
 } // End of namespace Ultima
diff --git a/engines/ultima/ultima8/graphics/fonts/font.h b/engines/ultima/ultima8/graphics/fonts/font.h
index f0c4970..335aeae 100644
--- a/engines/ultima/ultima8/graphics/fonts/font.h
+++ b/engines/ultima/ultima8/graphics/fonts/font.h
@@ -68,7 +68,7 @@ public:
 	//! \param width Returns the width
 	//! \param height Returns the height
 	virtual void getStringSize(const Std::string &text,
-	                           int &width, int &height) = 0;
+		int32 &width, int32 &height) = 0;
 
 	//! render a string
 	//! \param text The text
@@ -79,12 +79,9 @@ public:
 	//! \param u8specials If true, interpret the special characters U8 uses
 	//! \return the rendered text in a RenderedText object
 	virtual RenderedText *renderText(const Std::string &text,
-	                                 unsigned int &remaining,
-	                                 int width = 0, int height = 0,
-	                                 TextAlign align = TEXT_LEFT,
-	                                 bool u8specials = false,
-	                                 Std::string::size_type cursor
-	                                 = Std::string::npos) = 0;
+	    unsigned int &remaining, int32 width = 0, int32 height = 0,
+		TextAlign align = TEXT_LEFT, bool u8specials = false,
+		Std::string::size_type cursor = Std::string::npos) = 0;
 
 	//! get the dimensions of a rendered string
 	//! \param text The text
@@ -96,10 +93,9 @@ public:
 	//! \param u8specials If true, interpret the special characters U8 uses
 	//! \param align Alignment of the text (left, right, center)
 	virtual void getTextSize(const Std::string &text,
-	                         int &resultwidth, int &resultheight,
-	                         unsigned int &remaining,
-	                         int width = 0, int height = 0,
-	                         TextAlign align = TEXT_LEFT, bool u8specials = false);
+		int32 &resultwidth, int32 &resultheight, unsigned int &remaining,
+		int32 width = 0, int32 height = 0, TextAlign align = TEXT_LEFT,
+		bool u8specials = false);
 
 	void setHighRes(bool hr) {
 		highRes = hr;
@@ -174,14 +170,10 @@ protected:
 
 template<class T>
 Std::list<PositionedText> typesetText(Pentagram::Font *font,
-                                      const Std::string &text,
-                                      unsigned int &remaining,
-                                      int width, int height,
-                                      Pentagram::Font::TextAlign align,
-                                      bool u8specials,
-                                      int &resultwidth, int &resultheight,
-                                      Std::string::size_type cursor
-                                      = Std::string::npos);
+	const Std::string &text, unsigned int &remaining,
+	int32 width, int32 height, Pentagram::Font::TextAlign align,
+	bool u8specials, int32 &resultwidth, int32 &resultheight,
+	Std::string::size_type cursor = Std::string::npos);
 
 } // End of namespace Ultima8
 } // End of namespace Ultima
diff --git a/engines/ultima/ultima8/graphics/fonts/jp_font.cpp b/engines/ultima/ultima8/graphics/fonts/jp_font.cpp
index 17a8baa..3cbe18e 100644
--- a/engines/ultima/ultima8/graphics/fonts/jp_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/jp_font.cpp
@@ -61,7 +61,7 @@ int JPFont::getBaselineSkip() {
 }
 
 
-void JPFont::getStringSize(const Std::string &text, int &width, int &height) {
+void JPFont::getStringSize(const Std::string &text, int32 &width, int32 &height) {
 	int hlead = shapefont->getHlead();
 	width = hlead;
 	height = getHeight();
@@ -81,9 +81,9 @@ void JPFont::getStringSize(const Std::string &text, int &width, int &height) {
 }
 
 void JPFont::getTextSize(const Std::string &text,
-                         int &resultwidth, int &resultheight,
+                         int32 &resultwidth, int32 &resultheight,
                          unsigned int &remaining,
-                         int width, int height, TextAlign align,
+                         int32 width, int32 height, TextAlign align,
                          bool u8specials) {
 	Std::list<PositionedText> tmp;
 	tmp = typesetText<SJISTraits>(this, text, remaining,
@@ -93,10 +93,10 @@ void JPFont::getTextSize(const Std::string &text,
 
 RenderedText *JPFont::renderText(const Std::string &text,
                                  unsigned int &remaining,
-                                 int width, int height, TextAlign align,
+                                 int32 width, int32 height, TextAlign align,
                                  bool u8specials,
                                  Std::string::size_type cursor) {
-	int resultwidth, resultheight;
+	int32 resultwidth, resultheight;
 	Std::list<PositionedText> lines;
 	lines = typesetText<SJISTraits>(this, text, remaining,
 	                                width, height, align, u8specials,
diff --git a/engines/ultima/ultima8/graphics/fonts/jp_font.h b/engines/ultima/ultima8/graphics/fonts/jp_font.h
index 2aaccab..c6d2542 100644
--- a/engines/ultima/ultima8/graphics/fonts/jp_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/jp_font.h
@@ -43,20 +43,15 @@ public:
 	virtual int getBaselineSkip();
 
 	virtual void getStringSize(const Std::string &text,
-	                           int &width, int &height);
-	virtual void getTextSize(const Std::string &text,
-	                         int &resultwidth, int &resultheight,
-	                         unsigned int &remaining,
-	                         int width = 0, int height = 0,
-	                         TextAlign align = TEXT_LEFT, bool u8specials = false);
+		int32 &width, int32 &height) override;
+	virtual void getTextSize(const Std::string &text, int32 &resultwidth,
+		int32 &resultheight, unsigned int &remaining, int32 width = 0,
+		int32 height = 0, TextAlign align = TEXT_LEFT, bool u8specials = false) override;
 
 	virtual RenderedText *renderText(const Std::string &text,
-	                                 unsigned int &remaining,
-	                                 int width = 0, int height = 0,
-	                                 TextAlign align = TEXT_LEFT,
-	                                 bool u8specials = false,
-	                                 Std::string::size_type cursor
-	                                 = Std::string::npos);
+		unsigned int &remaining, int32 width = 0, int32 height = 0,
+		TextAlign align = TEXT_LEFT, bool u8specials = false,
+		Std::string::size_type cursor = Std::string::npos) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 protected:
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_font.cpp b/engines/ultima/ultima8/graphics/fonts/shape_font.cpp
index fe5a11c..be12839 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/shape_font.cpp
@@ -77,7 +77,7 @@ int ShapeFont::getBaselineSkip() {
 	return getHeight() + getVlead();
 }
 
-void ShapeFont::getStringSize(const Std::string &text, int &width, int &height_) {
+void ShapeFont::getStringSize(const Std::string &text, int32 &width, int32 &height_) {
 	width = hlead;
 	height_ = getHeight();
 
@@ -92,10 +92,10 @@ void ShapeFont::getStringSize(const Std::string &text, int &width, int &height_)
 
 RenderedText *ShapeFont::renderText(const Std::string &text,
                                     unsigned int &remaining,
-                                    int width, int height_, TextAlign align,
+                                    int32 width, int32 height_, TextAlign align,
                                     bool u8specials,
                                     Std::string::size_type cursor) {
-	int resultwidth, resultheight;
+	int32 resultwidth, resultheight;
 	Std::list<PositionedText> lines;
 	lines = typesetText<Traits>(this, text, remaining,
 	                            width, height_, align, u8specials,
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_font.h b/engines/ultima/ultima8/graphics/fonts/shape_font.h
index 4ec1260..acf1541 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/shape_font.h
@@ -61,15 +61,12 @@ public:
 	}
 
 	virtual void getStringSize(const Std::string &text,
-	                           int &width, int &height);
+		int32 &width, int32 &height) override;
 
 	virtual RenderedText *renderText(const Std::string &text,
-	                                 unsigned int &remaining,
-	                                 int width = 0, int height = 0,
-	                                 TextAlign align = TEXT_LEFT,
-	                                 bool u8specials = false,
-	                                 Std::string::size_type cursor
-	                                 = Std::string::npos);
+		unsigned int &remaining, int32 width = 0, int32 height = 0,
+		TextAlign align = TEXT_LEFT, bool u8specials = false,
+		Std::string::size_type cursor = Std::string::npos) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 };
diff --git a/engines/ultima/ultima8/graphics/fonts/tt_font.cpp b/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
index 3710453..27fbb81 100644
--- a/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
@@ -114,7 +114,7 @@ static Common::U32String toUnicode(const Std::string &text, uint16 bullet) {
 }
 #endif
 
-void TTFont::getStringSize(const Std::string &text, int &width, int &height) {
+void TTFont::getStringSize(const Std::string &text, int32 &width, int32 &height) {
 	// convert to unicode
 	Common::U32String unicodeText;
 	if (!SJIS)
@@ -130,9 +130,9 @@ void TTFont::getStringSize(const Std::string &text, int &width, int &height) {
 }
 
 void TTFont::getTextSize(const Std::string &text,
-                         int &resultwidth, int &resultheight,
+                         int32 &resultwidth, int32 &resultheight,
                          unsigned int &remaining,
-                         int width, int height, TextAlign align,
+                         int32 width, int32 height, TextAlign align,
                          bool u8specials) {
 	Std::list<PositionedText> tmp;
 	if (!SJIS)
@@ -148,10 +148,10 @@ void TTFont::getTextSize(const Std::string &text,
 
 RenderedText *TTFont::renderText(const Std::string &text,
                                  unsigned int &remaining,
-                                 int width, int height,
+                                 int32 width, int32 height,
                                  TextAlign align, bool u8specials,
                                  Std::string::size_type cursor) {
-	int resultwidth, resultheight;
+	int32 resultwidth, resultheight;
 	Std::list<PositionedText> lines;
 	if (!SJIS)
 		lines = typesetText<Traits>(this, text, remaining,
diff --git a/engines/ultima/ultima8/graphics/fonts/tt_font.h b/engines/ultima/ultima8/graphics/fonts/tt_font.h
index 790743f..e167a5a 100644
--- a/engines/ultima/ultima8/graphics/fonts/tt_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/tt_font.h
@@ -45,21 +45,17 @@ public:
 	}
 
 	virtual void getStringSize(const Std::string &text,
-	                           int &width, int &height);
+		int32 &width, int32 &height) override;
 
 	virtual void getTextSize(const Std::string &text,
-	                         int &resultwidth, int &resultheight,
-	                         unsigned int &remaining,
-	                         int width = 0, int height = 0,
-	                         TextAlign align = TEXT_LEFT, bool u8specials = false);
+		int32 &resultwidth, int32 &resultheight, unsigned int &remaining,
+		int32 width = 0, int32 height = 0, TextAlign align = TEXT_LEFT,
+		bool u8specials = false) override;
 
 	virtual RenderedText *renderText(const Std::string &text,
-	                                 unsigned int &remaining,
-	                                 int width = 0, int height = 0,
-	                                 TextAlign align = TEXT_LEFT,
-	                                 bool u8specials = false,
-	                                 Std::string::size_type cursor
-	                                 = Std::string::npos);
+		unsigned int &remaining, int32 width = 0, int32 height = 0,
+		TextAlign align = TEXT_LEFT, bool u8specials = false,
+		Std::string::size_type cursor = Std::string::npos) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 protected:
diff --git a/engines/ultima/ultima8/gumps/bark_gump.cpp b/engines/ultima/ultima8/gumps/bark_gump.cpp
index a8c9ab5..ec214e5 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bark_gump.cpp
@@ -166,7 +166,7 @@ void BarkGump::run() {
 	}
 }
 
-Gump *BarkGump::OnMouseDown(int button, int mx, int my) {
+Gump *BarkGump::OnMouseDown(int button, int32 mx, int32 my) {
 	Gump *g = ItemRelativeGump::OnMouseDown(button, mx, my);
 	if (g) return g;
 
diff --git a/engines/ultima/ultima8/gumps/bark_gump.h b/engines/ultima/ultima8/gumps/bark_gump.h
index adbe187..5a63740 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.h
+++ b/engines/ultima/ultima8/gumps/bark_gump.h
@@ -49,7 +49,7 @@ public:
 	virtual void        run();
 
 	// Got to the next page on mouse click
-	virtual Gump       *OnMouseDown(int button, int mx, int my);
+	virtual Gump       *OnMouseDown(int button, int32 mx, int32 my);
 
 	// Init the gump, call after construction
 	virtual void        InitGump(Gump *newparent, bool take_focus = true);
diff --git a/engines/ultima/ultima8/gumps/bind_gump.cpp b/engines/ultima/ultima8/gumps/bind_gump.cpp
index 93a8afb..9d1f997 100644
--- a/engines/ultima/ultima8/gumps/bind_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bind_gump.cpp
@@ -79,7 +79,7 @@ bool BindGump::OnKeyDown(int key, int mod) {
 	return true;
 }
 
-Gump *BindGump::OnMouseDown(int button, int mx, int my) {
+Gump *BindGump::OnMouseDown(int button, int32 mx, int32 my) {
 	//Pentagram::istring control = GetMouseButtonName(static_cast<MouseButton>(button));
 //	HIDManager * hidmanager = HIDManager::get_instance();
 //	if (binding)
diff --git a/engines/ultima/ultima8/gumps/bind_gump.h b/engines/ultima/ultima8/gumps/bind_gump.h
index 962e362..2f28074 100644
--- a/engines/ultima/ultima8/gumps/bind_gump.h
+++ b/engines/ultima/ultima8/gumps/bind_gump.h
@@ -45,7 +45,7 @@ public:
 	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled);
 
 	virtual bool OnKeyDown(int key, int mod);
-	virtual Gump   *OnMouseDown(int button, int mx, int my);
+	virtual Gump   *OnMouseDown(int button, int32 mx, int32 my);
 
 	bool loadData(IDataSource *ids);
 
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 0fdb4da..093b120 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -94,12 +94,12 @@ void BookGump::NextText() {
 	widgetR->setupNextText();
 }
 
-void BookGump::OnMouseClick(int button, int mx, int my) {
+void BookGump::OnMouseClick(int button, int32 mx, int32 my) {
 	// Scroll to next text, if possible
 	NextText();
 }
 
-void BookGump::OnMouseDouble(int button, int mx, int my) {
+void BookGump::OnMouseDouble(int button, int32 mx, int32 my) {
 	Close();
 }
 
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index f9f4454..da6cf52 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -42,10 +42,10 @@ public:
 	virtual ~BookGump();
 
 	// Go to the next page on mouse click
-	virtual void OnMouseClick(int button, int mx, int my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
 
 	// Close on double click
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	// Init the gump, call after construction
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index 0ba5790..4266df2 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -158,7 +158,7 @@ void ContainerGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scale
 
 // Find object (if any) at (mx,my)
 // (mx,my) are relative to parent
-uint16 ContainerGump::TraceObjId(int mx, int my) {
+uint16 ContainerGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (objId_ && objId_ != 65535) return objId_;
 
@@ -196,7 +196,7 @@ uint16 ContainerGump::TraceObjId(int mx, int my) {
 }
 
 // get item coords relative to self
-bool ContainerGump::GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+bool ContainerGump::GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
                                       int32 lerp_factor) {
 	Item *item = getItem(itemid);
 	Item *parent_ = item->getParentAsContainer();
@@ -226,7 +226,7 @@ void ContainerGump::GetItemLocation(int32 lerp_factor) {
 		return;
 	}
 
-	int gx, gy;
+	int32 gx, gy;
 	Item *topitem = it;
 
 	Container *p = it->getParentAsContainer();
@@ -281,7 +281,7 @@ void ContainerGump::Close(bool no_del) {
 }
 
 Container *ContainerGump::getTargetContainer(Item *item, int mx, int my) {
-	int px = mx, py = my;
+	int32 px = mx, py = my;
 	GumpToParent(px, py);
 	Container *targetcontainer = getContainer(TraceObjId(px, py));
 
@@ -304,7 +304,7 @@ Container *ContainerGump::getTargetContainer(Item *item, int mx, int my) {
 }
 
 
-Gump *ContainerGump::OnMouseDown(int button, int mx, int my) {
+Gump *ContainerGump::OnMouseDown(int button, int32 mx, int32 my) {
 	Gump *handled = Gump::OnMouseDown(button, mx, my);
 	if (handled) return handled;
 
@@ -315,7 +315,7 @@ Gump *ContainerGump::OnMouseDown(int button, int mx, int my) {
 	return 0;
 }
 
-void ContainerGump::OnMouseClick(int button, int mx, int my) {
+void ContainerGump::OnMouseClick(int button, int32 mx, int32 my) {
 	if (button == Shared::BUTTON_LEFT) {
 		if (Ultima8Engine::get_instance()->isAvatarInStasis()) {
 			pout << "Can't: avatarInStasis" << Std::endl;
@@ -334,7 +334,7 @@ void ContainerGump::OnMouseClick(int button, int mx, int my) {
 	}
 }
 
-void ContainerGump::OnMouseDouble(int button, int mx, int my) {
+void ContainerGump::OnMouseDouble(int button, int32 mx, int32 my) {
 	if (button == Shared::BUTTON_LEFT) {
 		if (Ultima8Engine::get_instance()->isAvatarInStasis()) {
 			pout << "Can't: avatarInStasis" << Std::endl;
@@ -393,7 +393,7 @@ bool ContainerGump::DraggingItem(Item *item, int mx, int my) {
 		return false;
 	}
 
-	int dox, doy;
+	int32 dox, doy;
 	Mouse::get_instance()->getDraggingOffset(dox, doy);
 	Mouse::get_instance()->setMouseCursor(Mouse::MOUSE_TARGET);
 	display_dragging = true;
@@ -442,7 +442,7 @@ void ContainerGump::StopDraggingItem(Item *item, bool moved) {
 void ContainerGump::DropItem(Item *item, int mx, int my) {
 	display_dragging = false;
 
-	int px = mx, py = my;
+	int32 px = mx, py = my;
 	GumpToParent(px, py);
 	// see what the item is being dropped on
 	Item *targetitem = getItem(TraceObjId(px, py));
@@ -531,7 +531,7 @@ void ContainerGump::DropItem(Item *item, int mx, int my) {
 			item->moveToContainer(targetcontainer);
 		}
 
-		int dox, doy;
+		int32 dox, doy;
 		Mouse::get_instance()->getDraggingOffset(dox, doy);
 		dragging_x = mx - itemarea.x - dox;
 		dragging_y = my - itemarea.y - doy;
diff --git a/engines/ultima/ultima8/gumps/container_gump.h b/engines/ultima/ultima8/gumps/container_gump.h
index 46d7193..4342545 100644
--- a/engines/ultima/ultima8/gumps/container_gump.h
+++ b/engines/ultima/ultima8/gumps/container_gump.h
@@ -55,11 +55,11 @@ public:
 	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled);
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure.
-	virtual bool GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+	virtual bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                               int32 lerp_factor = 256);
 
 
@@ -69,9 +69,9 @@ public:
 	virtual void StopDraggingItem(Item *item, bool moved);
 	virtual void DropItem(Item *item, int mx, int my);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
-	virtual void OnMouseClick(int button, int mx, int my);
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index f344aa0..593ba4a 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -83,7 +83,7 @@ void DesktopGump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool sca
 	}
 }
 
-bool DesktopGump::StartDraggingChild(Gump *gump, int mx, int my) {
+bool DesktopGump::StartDraggingChild(Gump *gump, int32 mx, int32 my) {
 	gump->ParentToGump(mx, my);
 	Mouse::get_instance()->setDraggingOffset(mx, my);
 	MoveChildToFront(gump);
@@ -91,7 +91,7 @@ bool DesktopGump::StartDraggingChild(Gump *gump, int mx, int my) {
 }
 
 void DesktopGump::DraggingChild(Gump *gump, int mx, int my) {
-	int dx, dy;
+	int32 dx, dy;
 	Mouse::get_instance()->getDraggingOffset(dx, dy);
 	gump->Move(mx - dx, my - dy);
 }
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.h b/engines/ultima/ultima8/gumps/desktop_gump.h
index cb49fbb..8f2929b 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.h
+++ b/engines/ultima/ultima8/gumps/desktop_gump.h
@@ -41,7 +41,7 @@ public:
 	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled);
 	virtual void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled);
 
-	virtual bool StartDraggingChild(Gump *gump, int mx, int my);
+	virtual bool StartDraggingChild(Gump *gump, int32 mx, int32 my);
 	virtual void DraggingChild(Gump *gump, int mx, int my);
 	virtual void StopDraggingChild(Gump *gump);
 
diff --git a/engines/ultima/ultima8/gumps/fast_area_vis_gump.cpp b/engines/ultima/ultima8/gumps/fast_area_vis_gump.cpp
index ee7711b..6596ab4 100644
--- a/engines/ultima/ultima8/gumps/fast_area_vis_gump.cpp
+++ b/engines/ultima/ultima8/gumps/fast_area_vis_gump.cpp
@@ -65,7 +65,7 @@ void FastAreaVisGump::ConCmd_toggle(const Console::ArgvType &argv) {
 	}
 }
 
-uint16 FastAreaVisGump::TraceObjId(int mx, int my) {
+uint16 FastAreaVisGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 
 	if (!objId_ || objId_ == 65535)
diff --git a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
index 121e5c4..94358eb 100644
--- a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
+++ b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
@@ -37,7 +37,7 @@ public:
 	virtual ~FastAreaVisGump(void);
 
 	virtual void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled);
-	virtual uint16      TraceObjId(int mx, int my);
+	virtual uint16      TraceObjId(int32 mx, int32 my);
 
 	static void         ConCmd_toggle(const Console::ArgvType &argv);   //!< "FastAreaVisGump::toggle" console command
 
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index 3587899..021deb4 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -99,7 +99,7 @@ void GameMapGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
 
 
 	// Get the camera location
-	int lx, ly, lz;
+	int32 lx, ly, lz;
 	GetCameraLocation(lx, ly, lz, lerp_factor);
 
 	CameraProcess *camera = CameraProcess::GetCameraProcess();
@@ -186,7 +186,7 @@ void GameMapGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
 }
 
 // Trace a click, and return ObjId
-uint16 GameMapGump::TraceObjId(int mx, int my) {
+uint16 GameMapGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (objId_ && objId_ != 65535) return objId_;
 
@@ -246,7 +246,7 @@ uint16 GameMapGump::TraceCoordinates(int mx, int my, int32 coords[3],
 	return trace;
 }
 
-bool GameMapGump::GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+bool GameMapGump::GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
                                     int32 lerp_factor) {
 	Item *item = getItem(itemid);
 
@@ -280,8 +280,8 @@ bool GameMapGump::GetLocationOfItem(uint16 itemid, int &gx, int &gy,
 	return true;
 }
 
-Gump *GameMapGump::OnMouseDown(int button, int mx, int my) {
-	int sx = mx, sy = my;
+Gump *GameMapGump::OnMouseDown(int button, int32 mx, int32 my) {
+	int32 sx = mx, sy = my;
 	ParentToGump(sx, sy);
 	GumpToScreenSpace(sx, sy);
 
@@ -299,14 +299,14 @@ Gump *GameMapGump::OnMouseDown(int button, int mx, int my) {
 	return 0;
 }
 
-void GameMapGump::OnMouseUp(int button, int mx, int my) {
+void GameMapGump::OnMouseUp(int button, int32 mx, int32 my) {
 	AvatarMoverProcess *amp = Ultima8Engine::get_instance()->getAvatarMoverProcess();
 	if (button == Shared::BUTTON_RIGHT || button == Shared::BUTTON_LEFT) {
 		amp->OnMouseUp(button);
 	}
 }
 
-void GameMapGump::OnMouseClick(int button, int mx, int my) {
+void GameMapGump::OnMouseClick(int button, int32 mx, int32 my) {
 	MainActor *avatar = getMainActor();
 	switch (button) {
 	case Shared::BUTTON_LEFT: {
@@ -374,7 +374,7 @@ void GameMapGump::OnMouseClick(int button, int mx, int my) {
 	}
 }
 
-void GameMapGump::OnMouseDouble(int button, int mx, int my) {
+void GameMapGump::OnMouseDouble(int button, int32 mx, int32 my) {
 	MainActor *avatar = getMainActor();
 	switch (button) {
 	case Shared::BUTTON_LEFT: {
@@ -423,7 +423,7 @@ bool GameMapGump::StartDraggingItem(Item *item, int mx, int my) {
 	if (!avatar->canReach(item, 128)) return false;  // CONSTANT!
 
 	// get item offset
-	int itemx, itemy;
+	int32 itemx, itemy;
 	GetLocationOfItem(item->getObjId(), itemx, itemy);
 	Mouse::get_instance()->setDraggingOffset(mx - itemx, my - itemy);
 
@@ -432,7 +432,7 @@ bool GameMapGump::StartDraggingItem(Item *item, int mx, int my) {
 
 bool GameMapGump::DraggingItem(Item *item, int mx, int my) {
 	// determine target location and set dragging_x/y/z
-	int dox, doy;
+	int32 dox, doy;
 	Mouse::get_instance()->getDraggingOffset(dox, doy);
 
 	dragging_shape = item->getShape();
@@ -500,7 +500,7 @@ void GameMapGump::StopDraggingItem(Item *item, bool moved) {
 }
 
 void GameMapGump::DropItem(Item *item, int mx, int my) {
-	int dox, doy;
+	int32 dox, doy;
 	Mouse::get_instance()->getDraggingOffset(dox, doy);
 
 	display_dragging = false;
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.h b/engines/ultima/ultima8/gumps/game_map_gump.h
index 1161ef6..7ab59c4 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.h
+++ b/engines/ultima/ultima8/gumps/game_map_gump.h
@@ -50,7 +50,7 @@ public:
 	                                      int lerp_factor = 256);
 
 	// Trace a click, and return ObjId (parent coord space)
-	virtual uint16      TraceObjId(int mx, int my);
+	virtual uint16      TraceObjId(int32 mx, int32 my);
 
 	// Trace a click, return ObjId, and the coordinates of the mouse click (gump coord space)
 	virtual uint16      TraceCoordinates(int mx, int my, int32 coords[3],
@@ -59,7 +59,7 @@ public:
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure
-	virtual bool        GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+	virtual bool        GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                                      int32 lerp_factor = 256);
 
 	virtual bool        StartDraggingItem(Item *item, int mx, int my);
@@ -68,10 +68,10 @@ public:
 	virtual void        StopDraggingItem(Item *item, bool moved);
 	virtual void        DropItem(Item *item, int mx, int my);
 
-	virtual Gump       *OnMouseDown(int button, int mx, int my);
-	virtual void        OnMouseUp(int button, int mx, int my);
-	virtual void        OnMouseClick(int button, int mx, int my);
-	virtual void        OnMouseDouble(int button, int mx, int my);
+	virtual Gump       *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void        OnMouseUp(int button, int32 mx, int32 my);
+	virtual void        OnMouseClick(int button, int32 mx, int32 my);
+	virtual void        OnMouseDouble(int button, int32 mx, int32 my);
 
 	void IncSortOrder(int count);
 
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index 628dafb..f17e1e6 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -188,7 +188,7 @@ void Gump::CloseItemDependents() {
 	}
 }
 
-bool Gump::GetMouseCursor(int mx, int my, Shape &shape_, int32 &frame) {
+bool Gump::GetMouseCursor(int32 mx, int32 my, Shape &shape_, int32 &frame) {
 	ParentToGump(mx, my);
 
 	bool ret = false;
@@ -217,11 +217,11 @@ void Gump::Paint(RenderSurface *surf, int32 lerp_factor, bool scaled) {
 	if (IsHidden()) return;
 
 	// Get old Origin
-	int ox = 0, oy = 0;
+	int32 ox = 0, oy = 0;
 	surf->GetOrigin(ox, oy);
 
 	// Set the new Origin
-	int nx = 0, ny = 0;
+	int32 nx = 0, ny = 0;
 	GumpToParent(nx, ny);
 	surf->SetOrigin(ox + nx, oy + ny);
 
@@ -288,7 +288,7 @@ void Gump::PaintCompositing(RenderSurface *surf, int32 lerp_factor,
 	if (IsHidden()) return;
 
 	// Get old Origin
-	int ox = 0, oy = 0;
+	int32 ox = 0, oy = 0;
 	surf->GetOrigin(ox, oy);
 
 	// FIXME - Big accuracy problems here with the origin and clipping rect
@@ -301,7 +301,7 @@ void Gump::PaintCompositing(RenderSurface *surf, int32 lerp_factor,
 	surf->GetClippingRect(old_rect);
 
 	// Set new clipping rect
-	int cx = dims.x, cy = dims.y, cw = dims.w, ch = dims.h;
+	int32 cx = dims.x, cy = dims.y, cw = dims.w, ch = dims.h;
 	GumpRectToScreenSpace(cx, cy, cw, ch, ROUND_OUTSIDE);
 	Pentagram::Rect new_rect(cx, cy, cw, ch);
 	new_rect.Intersect(old_rect);
@@ -334,7 +334,7 @@ void Gump::PaintComposited(RenderSurface * /*surf*/, int32 /*lerp_factor*/, int3
 }
 
 Gump *Gump::FindGump(int mx, int my) {
-	int gx = mx, gy = my;
+	int32 gx = mx, gy = my;
 	ParentToGump(gx, gy);
 	Gump *gump = 0;
 
@@ -392,7 +392,7 @@ void Gump::setRelativePosition(Gump::Position pos, int xoffset, int yoffset) {
 }
 
 bool Gump::PointOnGump(int mx, int my) {
-	int gx = mx, gy = my;
+	int32 gx = mx, gy = my;
 	ParentToGump(gx, gy);
 
 	// First check again rectangle
@@ -424,7 +424,7 @@ bool Gump::PointOnGump(int mx, int my) {
 }
 
 // Convert a screen space point to a gump point
-void Gump::ScreenSpaceToGump(int &sx, int &sy, PointRoundDir r) {
+void Gump::ScreenSpaceToGump(int32 &sx, int32 &sy, PointRoundDir r) {
 	// This is a recursive operation. We get each
 	// parent to convert the point into their local
 	// coords.
@@ -434,7 +434,7 @@ void Gump::ScreenSpaceToGump(int &sx, int &sy, PointRoundDir r) {
 }
 
 // Convert a gump point to a screen space point
-void Gump::GumpToScreenSpace(int &gx, int &gy, PointRoundDir r) {
+void Gump::GumpToScreenSpace(int32 &gx, int32 &gy, PointRoundDir r) {
 	// This is a recursive operation. We get each
 	// gump to convert the point to their parent
 
@@ -444,7 +444,7 @@ void Gump::GumpToScreenSpace(int &gx, int &gy, PointRoundDir r) {
 }
 
 // Convert a parent relative point to a gump point
-void Gump::ParentToGump(int &px, int &py, PointRoundDir) {
+void Gump::ParentToGump(int32 &px, int32 &py, PointRoundDir) {
 	px -= x;
 	px += dims.x;
 	py -= y;
@@ -452,7 +452,7 @@ void Gump::ParentToGump(int &px, int &py, PointRoundDir) {
 }
 
 // Convert a gump point to parent relative point
-void Gump::GumpToParent(int &gx, int &gy, PointRoundDir) {
+void Gump::GumpToParent(int32 &gx, int32 &gy, PointRoundDir) {
 	gx -= dims.x;
 	gx += x;
 	gy -= dims.y;
@@ -460,13 +460,13 @@ void Gump::GumpToParent(int &gx, int &gy, PointRoundDir) {
 }
 
 // Transform a rectangle to screenspace from gumpspace
-void Gump::GumpRectToScreenSpace(int &gx, int &gy, int &gw, int &gh,
+void Gump::GumpRectToScreenSpace(int32 &gx, int32 &gy, int32 &gw, int32 &gh,
                                  RectRoundDir r) {
 	PointRoundDir tl = (r == ROUND_INSIDE ? ROUND_BOTTOMRIGHT : ROUND_TOPLEFT);
 	PointRoundDir br = (r == ROUND_OUTSIDE ? ROUND_BOTTOMRIGHT : ROUND_TOPLEFT);
 
-	int x1 = gx, y1 = gy;
-	int x2 = gx + gw, y2 = gy + gh;
+	int32 x1 = gx, y1 = gy;
+	int32 x2 = gx + gw, y2 = gy + gh;
 	GumpToScreenSpace(x1, y1, tl);
 	GumpToScreenSpace(x2, y2, br);
 	gx = x1;
@@ -476,13 +476,13 @@ void Gump::GumpRectToScreenSpace(int &gx, int &gy, int &gw, int &gh,
 }
 
 // Transform a rectangle to gumpspace from screenspace
-void Gump::ScreenSpaceToGumpRect(int &sx, int &sy, int &sw, int &sh,
+void Gump::ScreenSpaceToGumpRect(int32 &sx, int32 &sy, int32 &sw, int32 &sh,
                                  RectRoundDir r) {
 	PointRoundDir tl = (r == ROUND_INSIDE ? ROUND_BOTTOMRIGHT : ROUND_TOPLEFT);
 	PointRoundDir br = (r == ROUND_OUTSIDE ? ROUND_BOTTOMRIGHT : ROUND_TOPLEFT);
 
-	int x1 = sx, y1 = sy;
-	int x2 = sx + sw, y2 = sy + sh;
+	int32 x1 = sx, y1 = sy;
+	int32 x2 = sx + sw, y2 = sy + sh;
 	ScreenSpaceToGump(x1, y1, tl);
 	ScreenSpaceToGump(x2, y2, br);
 	sx = x1;
@@ -491,9 +491,9 @@ void Gump::ScreenSpaceToGumpRect(int &sx, int &sy, int &sw, int &sh,
 	if (sh != 0) sh = y2 - y1;
 }
 
-uint16 Gump::TraceObjId(int mx, int my) {
+uint16 Gump::TraceObjId(int32 mx, int32 my) {
 	// Convert to local coords
-	int gx = mx, gy = my;
+	int32 gx = mx, gy = my;
 	ParentToGump(gx, gy);
 
 	uint16 objId_ = 0;
@@ -519,7 +519,7 @@ uint16 Gump::TraceObjId(int mx, int my) {
 	return objId_;
 }
 
-bool Gump::GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+bool Gump::GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
                              int32 lerp_factor) {
 	gx = 0;
 	gy = 0;
@@ -667,7 +667,7 @@ Gump *Gump::GetRootGump() {
 }
 
 
-bool Gump::StartDraggingChild(Gump *gump, int mx, int my) {
+bool Gump::StartDraggingChild(Gump *gump, int32 mx, int32 my) {
 	return false;
 }
 
@@ -683,7 +683,7 @@ void Gump::StopDraggingChild(Gump *gump) {
 // Input handling
 //
 
-Gump *Gump::OnMouseDown(int button, int mx, int my) {
+Gump *Gump::OnMouseDown(int button, int32 mx, int32 my) {
 	// Convert to local coords
 	ParentToGump(mx, my);
 
@@ -706,7 +706,7 @@ Gump *Gump::OnMouseDown(int button, int mx, int my) {
 	return handled;
 }
 
-Gump *Gump::OnMouseMotion(int mx, int my) {
+Gump *Gump::OnMouseMotion(int32 mx, int32 my) {
 	// Convert to local coords
 	ParentToGump(mx, my);
 
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index 361f590..add3976 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -135,8 +135,7 @@ public:
 	//! If this gump doesn't want to set the cursor, the gump list will
 	//! attempt to get the cursor shape from the next lower gump.
 	//! \return true if this gump wants to set the cursor, false otherwise
-	virtual bool        GetMouseCursor(int mx, int my, Shape &shape_,
-	                                   int32 &frame);
+	virtual bool GetMouseCursor(int32 mx, int32 my, Shape &shape_, int32 &frame);
 
 	// Notify gumps the render surface changed.
 	virtual void        RenderSurfaceChanged();
@@ -258,36 +257,36 @@ public:
 	};
 
 	//! Convert a screen space point to a gump point
-	virtual void        ScreenSpaceToGump(int &sx, int &sy,
-	                                      PointRoundDir r = ROUND_TOPLEFT);
+	virtual void ScreenSpaceToGump(int32 &sx, int32 &sy,
+		PointRoundDir r = ROUND_TOPLEFT);
 
 	//! Convert a gump point to a screen space point
-	virtual void        GumpToScreenSpace(int &gx, int &gy,
-	                                      PointRoundDir r = ROUND_TOPLEFT);
+	virtual void GumpToScreenSpace(int32 &gx, int32 &gy,
+		PointRoundDir r = ROUND_TOPLEFT);
 
 	//! Convert a parent relative point to a gump point
-	virtual void        ParentToGump(int &px, int &py,
-	                                 PointRoundDir r = ROUND_TOPLEFT);
+	virtual void ParentToGump(int32 &px, int32 &py,
+		PointRoundDir r = ROUND_TOPLEFT);
 
 	//! Convert a gump point to parent relative point
-	virtual void        GumpToParent(int &gx, int &gy,
-	                                 PointRoundDir r = ROUND_TOPLEFT);
+	virtual void GumpToParent(int32 &gx, int32 &gy,
+		PointRoundDir r = ROUND_TOPLEFT);
 
 	//! Transform a rectangle to screenspace from gumpspace
-	virtual void        GumpRectToScreenSpace(int &gx, int &gy, int &gw, int &gh,
-	        RectRoundDir r = ROUND_OUTSIDE);
+	virtual void GumpRectToScreenSpace(int32 &gx, int32 &gy,
+		int32 &gw, int32 &gh, RectRoundDir r = ROUND_OUTSIDE);
 
 	//! Transform a rectangle to gumpspace from screenspace
-	virtual void        ScreenSpaceToGumpRect(int &sx, int &sy, int &sw, int &sh,
-	        RectRoundDir r = ROUND_OUTSIDE);
+	virtual void ScreenSpaceToGumpRect(int32 &sx, int32 &sy,
+		int32 &sw, int32 &sh, RectRoundDir r = ROUND_OUTSIDE);
 
 	//! Trace a click, and return ObjId
-	virtual uint16      TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
 	//! Get the location of an item in the gump (coords relative to this).
 	//! \return false on failure
-	virtual bool        GetLocationOfItem(uint16 itemid, int &gx, int &gy,
-	                                      int32 lerp_factor = 256);
+	virtual bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
+		int32 lerp_factor = 256);
 
 
 	//
@@ -308,11 +307,11 @@ public:
 	//
 
 	// Return Gump that handled event
-	virtual Gump       *OnMouseDown(int button, int mx, int my);
-	virtual void        OnMouseUp(int  button, int mx, int my) { }
-	virtual void        OnMouseClick(int button, int mx, int my) { }
-	virtual void        OnMouseDouble(int button, int mx, int my) { }
-	virtual Gump       *OnMouseMotion(int mx, int my);
+	virtual Gump       *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void        OnMouseUp(int button, int32 mx, int32 my) { }
+	virtual void        OnMouseClick(int button, int32 mx, int32 my) { }
+	virtual void        OnMouseDouble(int button, int32 mx, int32 my) { }
+	virtual Gump       *OnMouseMotion(int32 mx, int32 my);
 
 	// OnMouseOver is only call when the mouse first passes over the gump
 	// OnMouseLeft is call as the mouse leaves the gump.
@@ -383,7 +382,7 @@ public:
 	// Dragging
 	//! Called when a child gump starts to be dragged.
 	//! \return false if the child isn't allowed to be dragged.
-	virtual bool        StartDraggingChild(Gump *gump, int mx, int my);
+	virtual bool        StartDraggingChild(Gump *gump, int32 mx, int32 my);
 	virtual void        DraggingChild(Gump *gump, int mx, int my);
 	virtual void        StopDraggingChild(Gump *gump);
 
diff --git a/engines/ultima/ultima8/gumps/inverter_gump.cpp b/engines/ultima/ultima8/gumps/inverter_gump.cpp
index 1a1286c..780f0bd 100644
--- a/engines/ultima/ultima8/gumps/inverter_gump.cpp
+++ b/engines/ultima/ultima8/gumps/inverter_gump.cpp
@@ -113,7 +113,7 @@ void InverterGump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool sc
 }
 
 // Convert a parent relative point to a gump point
-void InverterGump::ParentToGump(int &px, int &py, PointRoundDir) {
+void InverterGump::ParentToGump(int32 &px, int32 &py, PointRoundDir) {
 	px -= x;
 	px += dims.x;
 	py -= y;
@@ -122,7 +122,7 @@ void InverterGump::ParentToGump(int &px, int &py, PointRoundDir) {
 }
 
 // Convert a gump point to parent relative point
-void InverterGump::GumpToParent(int &gx, int &gy, PointRoundDir) {
+void InverterGump::GumpToParent(int32 &gx, int32 &gy, PointRoundDir) {
 	gx -= dims.x;
 	gx += x;
 	gy -= dims.y;
diff --git a/engines/ultima/ultima8/gumps/inverter_gump.h b/engines/ultima/ultima8/gumps/inverter_gump.h
index d6772b2..42fe561 100644
--- a/engines/ultima/ultima8/gumps/inverter_gump.h
+++ b/engines/ultima/ultima8/gumps/inverter_gump.h
@@ -42,9 +42,9 @@ public:
 	virtual void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled);
 	virtual void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled);
 
-	virtual void ParentToGump(int &px, int &py,
+	virtual void ParentToGump(int32 &px, int32 &py,
 	                          PointRoundDir r = ROUND_TOPLEFT);
-	virtual void GumpToParent(int &gx, int &gy,
+	virtual void GumpToParent(int32 &gx, int32 &gy,
 	                          PointRoundDir r = ROUND_TOPLEFT);
 
 	virtual void RenderSurfaceChanged();
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.cpp b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
index 5781d51..77b49b9 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.cpp
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
@@ -39,7 +39,7 @@ ItemRelativeGump::ItemRelativeGump()
 	: Gump(), ix(0), iy(0) {
 }
 
-ItemRelativeGump::ItemRelativeGump(int x_, int y_, int width, int height,
+ItemRelativeGump::ItemRelativeGump(int32 x_, int32 y_, int32 width, int32 height,
                                    uint16 owner_, uint32 _Flags, int32 _Layer)
 	: Gump(x_, y_, width, height, owner_, _Flags, _Layer), ix(0), iy(0) {
 }
@@ -98,14 +98,14 @@ void ItemRelativeGump::Paint(RenderSurface *surf, int32 lerp_factor, bool scaled
 
 
 // Convert a parent relative point to a gump point
-void ItemRelativeGump::ParentToGump(int &px, int &py, PointRoundDir r) {
+void ItemRelativeGump::ParentToGump(int32 &px, int32 &py, PointRoundDir r) {
 	px -= ix;
 	py -= iy;
 	Gump::ParentToGump(px, py, r);
 }
 
 // Convert a gump point to parent relative point
-void ItemRelativeGump::GumpToParent(int &gx, int &gy, PointRoundDir r) {
+void ItemRelativeGump::GumpToParent(int32 &gx, int32 &gy, PointRoundDir r) {
 	Gump::GumpToParent(gx, gy, r);
 	gx += ix;
 	gy += iy;
@@ -133,7 +133,7 @@ void ItemRelativeGump::GetItemLocation(int32 lerp_factor) {
 		if (gump) break;
 	}
 
-	int gx, gy;
+	int32 gx, gy;
 
 	if (!gump) {
 		gump = GetRootGump()->FindGump(GameMapGump::ClassType);
@@ -167,7 +167,7 @@ void ItemRelativeGump::GetItemLocation(int32 lerp_factor) {
 		MoveOnScreen();
 }
 
-void ItemRelativeGump::Move(int x_, int y_) {
+void ItemRelativeGump::Move(int32 x_, int32 y_) {
 	ParentToGump(x_, y_);
 	x += x_;
 	y += y_;
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.h b/engines/ultima/ultima8/gumps/item_relative_gump.h
index 2d0631a..b74dc18 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.h
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.h
@@ -46,12 +46,12 @@ public:
 	// Calls PaintThis and PaintChildren.
 	virtual void        Paint(RenderSurface *, int32 lerp_factor, bool scaled);
 
-	virtual void        ParentToGump(int &px, int &py,
+	virtual void        ParentToGump(int32 &px, int32 &py,
 	                                 PointRoundDir r = ROUND_TOPLEFT);
-	virtual void        GumpToParent(int &gx, int &gy,
+	virtual void        GumpToParent(int32 &gx, int32 &gy,
 	                                 PointRoundDir r = ROUND_TOPLEFT);
 
-	virtual void        Move(int x, int y);
+	virtual void        Move(int32 x, int32 y);
 
 	bool                loadData(IDataSource *ids, uint32 version);
 protected:
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.cpp b/engines/ultima/ultima8/gumps/message_box_gump.cpp
index dff23b2..e8d2625 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.cpp
+++ b/engines/ultima/ultima8/gumps/message_box_gump.cpp
@@ -75,8 +75,7 @@ void MessageBoxGump::InitGump(Gump *newparent, bool take_focus) {
 	// work out sizes of the text
 	Pentagram::Font *font = FontManager::get_instance()->getTTFont(0);
 
-	int width;
-	int height;
+	int32 width, height;
 	unsigned int rem;
 
 	// Title width
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
index 5d7dd11..23552ca 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
@@ -106,7 +106,7 @@ void MiniStatsGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scale
 	}
 }
 
-uint16 MiniStatsGump::TraceObjId(int mx, int my) {
+uint16 MiniStatsGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (objId_ && objId_ != 65535) return objId_;
 
@@ -115,14 +115,14 @@ uint16 MiniStatsGump::TraceObjId(int mx, int my) {
 	return 0;
 }
 
-Gump *MiniStatsGump::OnMouseDown(int button, int mx, int my) {
+Gump *MiniStatsGump::OnMouseDown(int button, int32 mx, int32 my) {
 	if (button == Shared::BUTTON_LEFT)
 		return this;
 
 	return 0;
 }
 
-void MiniStatsGump::OnMouseDouble(int button, int mx, int my) {
+void MiniStatsGump::OnMouseDouble(int button, int32 mx, int32 my) {
 	// check if there already is an open PaperdollGump
 	MainActor *av = getMainActor();
 	if (!av->getGump()) {
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.h b/engines/ultima/ultima8/gumps/mini_stats_gump.h
index de9381a..42f0216 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.h
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.h
@@ -45,10 +45,10 @@ public:
 	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled);
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.cpp b/engines/ultima/ultima8/gumps/minimap_gump.cpp
index ee8d367..64ed001 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.cpp
+++ b/engines/ultima/ultima8/gumps/minimap_gump.cpp
@@ -189,7 +189,7 @@ void MiniMapGump::ConCmd_generateWholeMap(const Console::ArgvType &argv) {
 	currentmap->setWholeMapFast();
 }
 
-uint16 MiniMapGump::TraceObjId(int mx, int my) {
+uint16 MiniMapGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 
 	if (!objId_ || objId_ == 65535)
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.h b/engines/ultima/ultima8/gumps/minimap_gump.h
index 5d1706d..9ae09ca 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.h
+++ b/engines/ultima/ultima8/gumps/minimap_gump.h
@@ -48,7 +48,7 @@ public:
 	virtual ~MiniMapGump(void);
 
 	virtual void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled);
-	virtual uint16      TraceObjId(int mx, int my);
+	virtual uint16      TraceObjId(int32 mx, int32 my);
 
 	static void         ConCmd_toggle(const Console::ArgvType &argv);   //!< "MiniMapGump::toggle" console command
 	static void         ConCmd_generateWholeMap(const Console::ArgvType &argv); //!< "MiniMapGump::generateWholeMap" console command
diff --git a/engines/ultima/ultima8/gumps/modal_gump.cpp b/engines/ultima/ultima8/gumps/modal_gump.cpp
index 8081ce9..966f83c 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.cpp
+++ b/engines/ultima/ultima8/gumps/modal_gump.cpp
@@ -72,7 +72,7 @@ bool ModalGump::PointOnGump(int mx, int my) {
 	return true; // we take all mouse input
 }
 
-uint16 ModalGump::TraceObjId(int mx, int my) {
+uint16 ModalGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (!objId_) objId_ = getObjId();
 
@@ -91,7 +91,7 @@ void ModalGump::Close(bool no_del) {
 	Gump::Close(no_del);
 }
 
-Gump *ModalGump::OnMouseDown(int button, int mx, int my) {
+Gump *ModalGump::OnMouseDown(int button, int32 mx, int32 my) {
 	Gump *handled = Gump::OnMouseDown(button, mx, my);
 	if (!handled) handled = this;
 	return handled;
diff --git a/engines/ultima/ultima8/gumps/modal_gump.h b/engines/ultima/ultima8/gumps/modal_gump.h
index 6013351..7e5846e 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.h
+++ b/engines/ultima/ultima8/gumps/modal_gump.h
@@ -45,9 +45,9 @@ public:
 
 	virtual bool PointOnGump(int mx, int my);
 	virtual Gump *FindGump(int mx, int my);
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index e037759..9518be9 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -226,7 +226,7 @@ void PaperdollGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scale
 
 // Find object (if any) at (mx,my)
 // (mx,my) are relative to parent
-uint16 PaperdollGump::TraceObjId(int mx, int my) {
+uint16 PaperdollGump::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (objId_ && objId_ != 65535) return objId_;
 
@@ -266,7 +266,7 @@ uint16 PaperdollGump::TraceObjId(int mx, int my) {
 }
 
 // get item coords relative to self
-bool PaperdollGump::GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+bool PaperdollGump::GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
                                       int32 lerp_factor) {
 
 	Item *item = getItem(itemid);
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.h b/engines/ultima/ultima8/gumps/paperdoll_gump.h
index 5dcccb6..bae00cc 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.h
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.h
@@ -52,11 +52,11 @@ public:
 	virtual void ChildNotify(Gump *child, uint32 message);
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure.
-	virtual bool GetLocationOfItem(uint16 itemid, int &gx, int &gy,
+	virtual bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                               int32 lerp_factor = 256);
 
 	virtual bool StartDraggingItem(Item *item, int mx, int my);
diff --git a/engines/ultima/ultima8/gumps/pentagram_menu_gump.h b/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
index f253cdb..3000aba 100644
--- a/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
+++ b/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
@@ -67,16 +67,16 @@ public:
 	virtual void run();
 
 #if 0
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
-	virtual bool StartDraggingChild(Gump *gump, int mx, int my);
+	virtual bool StartDraggingChild(Gump *gump, int32 mx, int32 my);
 	virtual void DraggingChild(Gump *gump, int mx, int my);
 	virtual void StopDraggingChild(Gump *gump);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
-	virtual void OnMouseUp(int button, int mx, int my);
-	virtual void OnMouseClick(int button, int mx, int my);
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void OnMouseUp(int button, int32 mx, int32 my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	virtual void RenderSurfaceChanged();
 #endif
diff --git a/engines/ultima/ultima8/gumps/readable_gump.cpp b/engines/ultima/ultima8/gumps/readable_gump.cpp
index 0190d9b..800575f 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.cpp
+++ b/engines/ultima/ultima8/gumps/readable_gump.cpp
@@ -91,7 +91,7 @@ void ReadableGump::InitGump(Gump *newparent, bool take_focus) {
 	widget->setRelativePosition(CENTER);
 }
 
-Gump *ReadableGump::OnMouseDown(int button, int mx, int my) {
+Gump *ReadableGump::OnMouseDown(int button, int32 mx, int32 my) {
 	Close();
 	return this;
 }
diff --git a/engines/ultima/ultima8/gumps/readable_gump.h b/engines/ultima/ultima8/gumps/readable_gump.h
index ae98dd2..7674276 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.h
+++ b/engines/ultima/ultima8/gumps/readable_gump.h
@@ -42,7 +42,7 @@ public:
 	virtual ~ReadableGump();
 
 	// Close on mouse click on key press
-	virtual Gump *OnMouseDown(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
 	virtual bool OnKeyDown(int key, int mod);
 
 	// Init the gump, call after construction
diff --git a/engines/ultima/ultima8/gumps/scaler_gump.cpp b/engines/ultima/ultima8/gumps/scaler_gump.cpp
index c64e316..80ccd0c 100644
--- a/engines/ultima/ultima8/gumps/scaler_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scaler_gump.cpp
@@ -130,7 +130,7 @@ void ScalerGump::DoScalerBlit(Texture *src, int swidth, int sheight, RenderSurfa
 }
 
 // Convert a parent relative point to a gump point
-void ScalerGump::ParentToGump(int &px, int &py, PointRoundDir r) {
+void ScalerGump::ParentToGump(int32 &px, int32 &py, PointRoundDir r) {
 	px -= x;
 	px *= dims.w;
 	if (px < 0 && r == ROUND_TOPLEFT) px -= (width - 1);
@@ -145,7 +145,7 @@ void ScalerGump::ParentToGump(int &px, int &py, PointRoundDir r) {
 }
 
 // Convert a gump point to parent relative point
-void ScalerGump::GumpToParent(int &gx, int &gy, PointRoundDir r) {
+void ScalerGump::GumpToParent(int32 &gx, int32 &gy, PointRoundDir r) {
 	gx *= width;
 	if (gx < 0 && r == ROUND_TOPLEFT) gx -= (dims.w - 1);
 	if (gx > 0 && r == ROUND_BOTTOMRIGHT) gx += (dims.w - 1);
diff --git a/engines/ultima/ultima8/gumps/scaler_gump.h b/engines/ultima/ultima8/gumps/scaler_gump.h
index 8f65ec2..9585ae8 100644
--- a/engines/ultima/ultima8/gumps/scaler_gump.h
+++ b/engines/ultima/ultima8/gumps/scaler_gump.h
@@ -54,9 +54,9 @@ public:
 
 	virtual void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled);
 	virtual void RenderSurfaceChanged();
-	virtual void ParentToGump(int &px, int &py,
+	virtual void ParentToGump(int32 &px, int32 &py,
 	                          PointRoundDir r = ROUND_TOPLEFT);
-	virtual void GumpToParent(int &gx, int &gy,
+	virtual void GumpToParent(int32 &gx, int32 &gy,
 	                          PointRoundDir r = ROUND_TOPLEFT);
 
 	void GetScaledSize(int32 &sw, int32 &sh) const {
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.cpp b/engines/ultima/ultima8/gumps/scroll_gump.cpp
index 04f58c3..60d9b0f 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scroll_gump.cpp
@@ -83,12 +83,12 @@ void ScrollGump::NextText() {
 	}
 }
 
-void ScrollGump::OnMouseClick(int button, int mx, int my) {
+void ScrollGump::OnMouseClick(int button, int32 mx, int32 my) {
 	// Scroll to next text, if possible
 	NextText();
 }
 
-void ScrollGump::OnMouseDouble(int button, int mx, int my) {
+void ScrollGump::OnMouseDouble(int button, int32 mx, int32 my) {
 	Close();
 }
 
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index 1995bf3..ed3d0b7 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -41,10 +41,10 @@ public:
 	virtual ~ScrollGump();
 
 	// Go to the next page on mouse click
-	virtual void OnMouseClick(int button, int mx, int my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
 
 	// Close on double click
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	// Init the gump, call after construction
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
diff --git a/engines/ultima/ultima8/gumps/slider_gump.cpp b/engines/ultima/ultima8/gumps/slider_gump.cpp
index 4d2dd05..7777443 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.cpp
+++ b/engines/ultima/ultima8/gumps/slider_gump.cpp
@@ -202,7 +202,7 @@ void SliderGump::Close(bool no_del) {
 	ModalGump::Close(no_del);
 }
 
-bool SliderGump::StartDraggingChild(Gump *gump, int mx, int my) {
+bool SliderGump::StartDraggingChild(Gump *gump, int32 mx, int32 my) {
 	if (gump->GetIndex() == SLIDER_INDEX) {
 		gump->ParentToGump(mx, my);
 		Mouse::get_instance()->setDraggingOffset(mx, 0);
@@ -214,7 +214,7 @@ bool SliderGump::StartDraggingChild(Gump *gump, int mx, int my) {
 
 void SliderGump::DraggingChild(Gump *gump, int mx, int my) {
 	if (gump->GetIndex() == SLIDER_INDEX) {
-		int dox, doy;
+		int32 dox, doy;
 		Mouse::get_instance()->getDraggingOffset(dox, doy);
 		setValueFromSlider(mx - dox);
 		gump->Move(getSliderPos(), slidery);
diff --git a/engines/ultima/ultima8/gumps/slider_gump.h b/engines/ultima/ultima8/gumps/slider_gump.h
index d188356..b968040 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.h
+++ b/engines/ultima/ultima8/gumps/slider_gump.h
@@ -49,7 +49,7 @@ public:
 	void setUsecodeNotify(UCProcess *ucp);
 
 	// Dragging
-	virtual bool StartDraggingChild(Gump *gump, int mx, int my);
+	virtual bool StartDraggingChild(Gump *gump, int32 mx, int32 my);
 	virtual void DraggingChild(Gump *gump, int mx, int my);
 	virtual void StopDraggingChild(Gump *gump);
 
diff --git a/engines/ultima/ultima8/gumps/target_gump.cpp b/engines/ultima/ultima8/gumps/target_gump.cpp
index e4252e6..d32c3ce 100644
--- a/engines/ultima/ultima8/gumps/target_gump.cpp
+++ b/engines/ultima/ultima8/gumps/target_gump.cpp
@@ -80,7 +80,7 @@ bool TargetGump::PointOnGump(int mx, int my) {
 	return ModalGump::PointOnGump(mx, my);
 }
 
-void TargetGump::OnMouseUp(int button, int mx, int my) {
+void TargetGump::OnMouseUp(int button, int32 mx, int32 my) {
 	target_tracing = true;
 
 	parent->GumpToScreenSpace(mx, my);
diff --git a/engines/ultima/ultima8/gumps/target_gump.h b/engines/ultima/ultima8/gumps/target_gump.h
index 410c92b..de9952b 100644
--- a/engines/ultima/ultima8/gumps/target_gump.h
+++ b/engines/ultima/ultima8/gumps/target_gump.h
@@ -45,7 +45,7 @@ public:
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
 	virtual void Close(bool no_del = false);
 	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled);
-	virtual void OnMouseUp(int button, int mx, int my);
+	virtual void OnMouseUp(int button, int32 mx, int32 my);
 
 	INTRINSIC(I_target);
 
diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.cpp b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
index 96e7e26..16db762 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.cpp
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
@@ -171,13 +171,13 @@ void U8SaveGump::OnFocus(bool gain) {
 	}
 }
 
-Gump *U8SaveGump::OnMouseDown(int button, int mx, int my) {
+Gump *U8SaveGump::OnMouseDown(int button, int32 mx, int32 my) {
 	// take all clicks
 	return this;
 }
 
 
-void U8SaveGump::OnMouseClick(int button, int mx, int my) {
+void U8SaveGump::OnMouseClick(int button, int32 mx, int32 my) {
 	if (button != Shared::BUTTON_LEFT) return;
 
 	ParentToGump(mx, my);
diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.h b/engines/ultima/ultima8/gumps/u8_save_gump.h
index dd6b5bb..f5a514d 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.h
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.h
@@ -43,8 +43,8 @@ public:
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
 	virtual void Close(bool no_del = false);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
-	virtual void OnMouseClick(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
 	virtual bool OnKeyDown(int key, int mod);
 	virtual void ChildNotify(Gump *child, uint32 message);
 	virtual void OnFocus(bool gain);
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
index e3243fb..e3c59d1 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
@@ -108,13 +108,13 @@ bool ButtonWidget::PointOnGump(int mx, int my) {
 	// behaviour may need to be changed. (bool ignoreShapeTransparency or
 	// something)
 
-	int gx = mx, gy = my;
+	int32 gx = mx, gy = my;
 	ParentToGump(gx, gy);
 
 	return dims.InRect(gx, gy);
 }
 
-Gump *ButtonWidget::OnMouseDown(int button, int mx, int my) {
+Gump *ButtonWidget::OnMouseDown(int button, int32 mx, int32 my) {
 	Gump *ret = Gump::OnMouseDown(button, mx, my);
 	if (ret) return ret;
 	if (button == Shared::BUTTON_LEFT) {
@@ -128,7 +128,7 @@ Gump *ButtonWidget::OnMouseDown(int button, int mx, int my) {
 	return 0;
 }
 
-uint16 ButtonWidget::TraceObjId(int mx, int my) {
+uint16 ButtonWidget::TraceObjId(int32 mx, int32 my) {
 	if (PointOnGump(mx, my))
 		return getObjId();
 	else
@@ -136,7 +136,7 @@ uint16 ButtonWidget::TraceObjId(int mx, int my) {
 }
 
 
-void ButtonWidget::OnMouseUp(int button, int mx, int my) {
+void ButtonWidget::OnMouseUp(int button, int32 mx, int32 my) {
 	if (button == Shared::BUTTON_LEFT) {
 		if (!mouseOver) {
 			shape = shape_up;
@@ -146,13 +146,13 @@ void ButtonWidget::OnMouseUp(int button, int mx, int my) {
 	}
 }
 
-void ButtonWidget::OnMouseClick(int button, int mx, int my) {
+void ButtonWidget::OnMouseClick(int button, int32 mx, int32 my) {
 	int gx = mx, gy = my;
 	if (PointOnGump(gx, gy))
 		parent->ChildNotify(this, BUTTON_CLICK);
 }
 
-void ButtonWidget::OnMouseDouble(int button, int mx, int my) {
+void ButtonWidget::OnMouseDouble(int button, int32 mx, int32 my) {
 	parent->ChildNotify(this, BUTTON_DOUBLE);
 }
 
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.h b/engines/ultima/ultima8/gumps/widgets/button_widget.h
index 4f37869..e5c0a96 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.h
@@ -44,13 +44,13 @@ public:
 	virtual ~ButtonWidget(void);
 
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 	virtual bool PointOnGump(int mx, int my);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
-	virtual void OnMouseUp(int  button, int mx, int my);
-	virtual void OnMouseClick(int button, int mx, int my);
-	virtual void OnMouseDouble(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
+	virtual void OnMouseUp(int button, int32 mx, int32 my);
+	virtual void OnMouseClick(int button, int32 mx, int32 my);
+	virtual void OnMouseDouble(int button, int32 mx, int32 my);
 
 	virtual void OnMouseOver();
 	virtual void OnMouseLeft();
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
index 10fb913..1cc63c4 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
@@ -64,7 +64,7 @@ void EditWidget::InitGump(Gump *newparent, bool take_focus) {
 	dims.x = 0;
 
 	if (gamefont && getFont()->isHighRes()) {
-		int x_ = 0, y_ = 0, w = 0;
+		int32 x_ = 0, y_ = 0, w = 0;
 		ScreenSpaceToGumpRect(x_, y_, w, dims.y, ROUND_OUTSIDE);
 	}
 }
@@ -91,12 +91,12 @@ bool EditWidget::textFits(Std::string &t) {
 	Pentagram::Font *font = getFont();
 
 	unsigned int remaining;
-	int width, height;
+	int32 width, height;
 
-	int max_width = multiline ? dims.w : 0;
-	int max_height = dims.h;
+	int32 max_width = multiline ? dims.w : 0;
+	int32 max_height = dims.h;
 	if (gamefont && font->isHighRes()) {
-		int x_ = 0, y_ = 0;
+		int32 x_ = 0, y_ = 0;
 		GumpRectToScreenSpace(x_, y_, max_width, max_height, ROUND_INSIDE);
 	}
 
@@ -105,7 +105,7 @@ bool EditWidget::textFits(Std::string &t) {
 	                  Pentagram::Font::TEXT_LEFT, false);
 
 	if (gamefont && font->isHighRes()) {
-		int x_ = 0, y_ = 0;
+		int32 x_ = 0, y_ = 0;
 		ScreenSpaceToGumpRect(x_, y_, width, height, ROUND_OUTSIDE);
 	}
 
@@ -135,10 +135,10 @@ void EditWidget::renderText() {
 	if (!cached_text) {
 		Pentagram::Font *font = getFont();
 
-		int max_width = multiline ? dims.w : 0;
-		int max_height = dims.h;
+		int32 max_width = multiline ? dims.w : 0;
+		int32 max_height = dims.h;
 		if (gamefont && font->isHighRes()) {
-			int x_ = 0, y_ = 0;
+			int32 x_ = 0, y_ = 0;
 			GumpRectToScreenSpace(x_, y_, max_width, max_height, ROUND_INSIDE);
 		}
 
@@ -170,20 +170,20 @@ void EditWidget::PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 s
 
 	if (!gamefont || !font->isHighRes()) return;
 
-	int x_ = 0, y_ = 0;
+	int32 x_ = 0, y_ = 0;
 	GumpToScreenSpace(x_, y_, ROUND_BOTTOMRIGHT);
 
 	cached_text->draw(surf, x_, y_, true);
 
 	x_ = dims.x;
 	y_ = dims.y;
-	int w = dims.w, h = dims.h;
+	int32 w = dims.w, h = dims.h;
 	GumpRectToScreenSpace(x_, y_, w, h, ROUND_OUTSIDE);
 	surf->FillAlpha(0x00, x_, y_, w, h);
 }
 
 // don't handle any mouse motion events, so let parent handle them for us.
-Gump *EditWidget::OnMouseMotion(int mx, int my) {
+Gump *EditWidget::OnMouseMotion(int32 mx, int32 my) {
 	return 0;
 }
 
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.h b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
index 960c435..f4d2bef 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
@@ -53,7 +53,7 @@ public:
 	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled);
 	virtual void PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 sx, int32 sy);
 
-	virtual Gump *OnMouseMotion(int mx, int my);
+	virtual Gump *OnMouseMotion(int32 mx, int32 my);
 	virtual bool OnKeyDown(int key, int mod);
 	virtual bool OnKeyUp(int key);
 	virtual bool OnTextInput(int unicode);
diff --git a/engines/ultima/ultima8/gumps/widgets/game_widget.cpp b/engines/ultima/ultima8/gumps/widgets/game_widget.cpp
index c7230c6..85d17b8 100644
--- a/engines/ultima/ultima8/gumps/widgets/game_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/game_widget.cpp
@@ -100,13 +100,13 @@ void GameWidget::ChildNotify(Gump *child, uint32 message) {
 	}
 }
 
-uint16 GameWidget::TraceObjId(int mx, int my) {
+uint16 GameWidget::TraceObjId(int32 mx, int32 my) {
 	uint16 objId_ = Gump::TraceObjId(mx, my);
 	if (!objId_) objId_ = getObjId();
 	return objId_;
 }
 
-Gump *GameWidget::OnMouseDown(int button, int mx, int my) {
+Gump *GameWidget::OnMouseDown(int button, int32 mx, int32 my) {
 	Gump *g = Gump::OnMouseDown(button, mx, my);
 	if (!g) g = this;
 	return g;
diff --git a/engines/ultima/ultima8/gumps/widgets/game_widget.h b/engines/ultima/ultima8/gumps/widgets/game_widget.h
index f7397d1..8858815 100644
--- a/engines/ultima/ultima8/gumps/widgets/game_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/game_widget.h
@@ -43,11 +43,11 @@ public:
 
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
 
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
 	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled);
 
-	virtual Gump *OnMouseDown(int button, int mx, int my);
+	virtual Gump *OnMouseDown(int button, int32 mx, int32 my);
 	virtual void OnMouseOver();
 	virtual void OnMouseLeft();
 
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
index 31c236c..9f74ba5 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
@@ -56,7 +56,7 @@ void SlidingWidget::InitGump(Gump *newparent, bool take_focus) {
 	dims.h = sf->height;
 }
 
-uint16 SlidingWidget::TraceObjId(int mx, int my) {
+uint16 SlidingWidget::TraceObjId(int32 mx, int32 my) {
 	if (PointOnGump(mx, my))
 		return getObjId();
 	else
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
index 11253f5..93b76c0 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
@@ -38,7 +38,7 @@ public:
 	virtual ~SlidingWidget();
 
 	virtual void InitGump(Gump *newparent, bool take_focus = true);
-	virtual uint16 TraceObjId(int mx, int my);
+	virtual uint16 TraceObjId(int32 mx, int32 my);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index f90bbbe..b8abae4 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -69,12 +69,12 @@ void TextWidget::InitGump(Gump *newparent, bool take_focus) {
 	dims.x = 0;
 
 	if (gamefont && getFont()->isHighRes()) {
-		int w = 0;
-		int x_ = 0, y_ = 0;
+		int32 w = 0;
+		int32 x_ = 0, y_ = 0;
 		ScreenSpaceToGumpRect(x_, y_, w, dims.y, ROUND_OUTSIDE);
 
-		int tx_ = dims.x;
-		int ty_ = dims.y;
+		int32 tx_ = dims.x;
+		int32 ty_ = dims.y;
 
 		// Note that GumpRectToScreenSpace is guaranteed to keep
 		// targetwidth/targetheight zero if they already were.
@@ -94,10 +94,10 @@ int TextWidget::getVlead() {
 	renderText();
 	assert(cached_text);
 
-	int vlead = cached_text->getVlead();
+	int32 vlead = cached_text->getVlead();
 
 	if (gamefont && getFont()->isHighRes()) {
-		int xv = 0, yv = 0, w = 0;
+		int32 xv = 0, yv = 0, w = 0;
 		ScreenSpaceToGumpRect(xv, yv, w, vlead, ROUND_OUTSIDE);
 	}
 
@@ -135,10 +135,10 @@ bool TextWidget::setupNextText() {
 	if (gamefont) {
 		Pentagram::Font *fontP = getFont();
 		if (fontP->isHighRes()) {
-			int x_ = 0, y_ = 0;
+			int32 x_ = 0, y_ = 0;
 			ScreenSpaceToGumpRect(x_, y_, dims.w, dims.h, ROUND_OUTSIDE);
 
-			int w = 0;
+			int32 w = 0;
 			x_ = 0;
 			y_ = 0;
 			ScreenSpaceToGumpRect(x_, y_, w, dims.y, ROUND_OUTSIDE);
@@ -189,7 +189,7 @@ void TextWidget::PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 s
 
 	if (!gamefont || !font->isHighRes()) return;
 
-	int x_ = 0, y_ = 0;
+	int32 x_ = 0, y_ = 0;
 	GumpToScreenSpace(x_, y_, ROUND_BOTTOMRIGHT);
 
 	if (!blendColour)
@@ -203,13 +203,13 @@ void TextWidget::PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 s
 
 	x_ = dims.x;
 	y_ = dims.y;
-	int w = dims.w, h = dims.h;
+	int32 w = dims.w, h = dims.h;
 	GumpRectToScreenSpace(x_, y_, w, h, ROUND_OUTSIDE);
 	surf->FillAlpha(0x00, x_, y_, w, h);
 }
 
 // don't handle any mouse motion events, so let parent handle them for us.
-Gump *TextWidget::OnMouseMotion(int mx, int my) {
+Gump *TextWidget::OnMouseMotion(int32 mx, int32 my) {
 	return 0;
 }
 
@@ -256,7 +256,7 @@ bool TextWidget::loadData(IDataSource *ids, uint32 version) {
 	// after loading.
 	Pentagram::Font *font = getFont();
 
-	int tx_, ty_;
+	int32 tx_, ty_;
 	unsigned int remaining;
 	font->getTextSize(text.substr(current_start), tx_, ty_, remaining,
 	                  targetwidth, targetheight, textalign, true);
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.h b/engines/ultima/ultima8/gumps/widgets/text_widget.h
index 802253c..fcac256 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.h
@@ -44,12 +44,12 @@ protected:
 	bool            gamefont;
 	int             fontnum;
 	uint32          blendColour;
-	int             tx, ty;
+	int32           tx, ty;
 
 	unsigned int    current_start; //!< start of currently displaying text
 	unsigned int    current_end;   //!< start of remaining text
 
-	int targetwidth, targetheight;
+	int32 targetwidth, targetheight;
 
 	RenderedText *cached_text;
 	Font::TextAlign textalign;
@@ -70,7 +70,7 @@ public:
 
 	virtual void            PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 scalex, int32 scaley);
 
-	virtual Gump *OnMouseMotion(int mx, int my);
+	virtual Gump *OnMouseMotion(int32 mx, int32 my);
 
 	//! display the next part of the text
 	//! \return false if there is no more text to display
diff --git a/engines/ultima/ultima8/kernel/mouse.cpp b/engines/ultima/ultima8/kernel/mouse.cpp
index c6d3808..cbcc221 100644
--- a/engines/ultima/ultima8/kernel/mouse.cpp
+++ b/engines/ultima/ultima8/kernel/mouse.cpp
@@ -87,7 +87,7 @@ bool Mouse::buttonDown(Shared::MouseButton button) {
 		if (_dragging == Mouse::DRAG_NOT) {
 			Gump *gump = getGump(_mouseButton[button].downGump);
 			if (gump) {
-				int mx2 = _mousePos.x, my2 = _mousePos.y;
+				int32 mx2 = _mousePos.x, my2 = _mousePos.y;
 				Gump *parent = gump->GetParent();
 				if (parent) parent->ScreenSpaceToGump(mx2, my2);
 				gump->OnMouseDouble(button, mx2, my2);
@@ -115,7 +115,7 @@ bool Mouse::buttonUp(Shared::MouseButton button) {
 	// Always send mouse up to the gump
 	Gump *gump = getGump(_mouseButton[button].downGump);
 	if (gump) {
-		int mx2 = _mousePos.x, my2 = _mousePos.y;
+		int32 mx2 = _mousePos.x, my2 = _mousePos.y;
 		Gump *parent = gump->GetParent();
 		if (parent)
 			parent->ScreenSpaceToGump(mx2, my2);
@@ -358,7 +358,7 @@ void Mouse::startDragging(int startx, int starty) {
 	if (gump) {
 		Gump *parent = gump->GetParent();
 		assert(parent); // can't drag root gump
-		int px = startx, py = starty;
+		int32 px = startx, py = starty;
 		parent->ScreenSpaceToGump(px, py);
 		if (gump->IsDraggable() && parent->StartDraggingChild(gump, px, py))
 			_dragging = DRAG_OK;
@@ -371,7 +371,7 @@ void Mouse::startDragging(int startx, int starty) {
 
 		// find gump item was in
 		gump = desktopGump->FindGump(startx, starty);
-		int gx = startx, gy = starty;
+		int32 gx = startx, gy = starty;
 		gump->ScreenSpaceToGump(gx, gy);
 		bool ok = !Ultima8Engine::get_instance()->isAvatarInStasis() &&
 			gump->StartDraggingItem(item, gx, gy);
@@ -418,7 +418,7 @@ void Mouse::moveDragging(int mx, int my) {
 	if (gump) {
 		Gump *parent = gump->GetParent();
 		assert(parent); // can't drag root gump
-		int px = mx, py = my;
+		int32 px = mx, py = my;
 		parent->ScreenSpaceToGump(px, py);
 		parent->DraggingChild(gump, px, py);
 	} else {
@@ -434,7 +434,7 @@ void Mouse::moveDragging(int mx, int my) {
 				if (last) last->DraggingItemLeftGump(item);
 			}
 			_draggingItem_lastGump = gump->getObjId();
-			int gx = mx, gy = my;
+			int32 gx = mx, gy = my;
 			gump->ScreenSpaceToGump(gx, gy);
 			bool ok = gump->DraggingItem(item, gx, gy);
 			if (!ok) {
@@ -484,7 +484,7 @@ void Mouse::stopDragging(int mx, int my) {
 
 			Gump *desktopGump = Ultima8Engine::get_instance()->getDesktopGump();
 			gump = desktopGump->FindGump(mx, my);
-			int gx = mx, gy = my;
+			int32 gx = mx, gy = my;
 			gump->ScreenSpaceToGump(gx, gy);
 			gump->DropItem(item, gx, gy);
 		}
@@ -507,8 +507,8 @@ void Mouse::handleDelayedEvents() {
 			now - _mouseButton[button].lastDown > DOUBLE_CLICK_TIMEOUT) {
 			Gump *gump = getGump(_mouseButton[button].downGump);
 			if (gump) {
-				int mx = _mouseButton[button].downX;
-				int my = _mouseButton[button].downY;
+				int32 mx = _mouseButton[button].downX;
+				int32 my = _mouseButton[button].downY;
 				Gump *parent = gump->GetParent();
 				if (parent)
 					parent->ScreenSpaceToGump(mx, my);
diff --git a/engines/ultima/ultima8/kernel/mouse.h b/engines/ultima/ultima8/kernel/mouse.h
index 99397ba..597718e 100644
--- a/engines/ultima/ultima8/kernel/mouse.h
+++ b/engines/ultima/ultima8/kernel/mouse.h
@@ -121,7 +121,7 @@ public:
 	int getMouseDirection(int mx, int my);
 
 	//! get current mouse cursor location
-	void getMouseCoords(int &mx, int &my) const {
+	void getMouseCoords(int32 &mx, int32 &my) const {
 		mx = _mousePos.x;
 		my = _mousePos.y;
 	}
@@ -151,11 +151,11 @@ public:
 
 	DraggingState dragging() const { return _dragging; }
 
-	void setDraggingOffset(int x, int y) {
+	void setDraggingOffset(int32 x, int32 y) {
 		_draggingOffset.x = x;
 		_draggingOffset.y = y;
 	}
-	void getDraggingOffset(int &x, int &y) {
+	void getDraggingOffset(int32 &x, int32 &y) {
 		x = _draggingOffset.x;
 		y = _draggingOffset.y;
 	}
diff --git a/engines/ultima/ultima8/misc/console.h b/engines/ultima/ultima8/misc/console.h
index d373e82..58dbcc8 100644
--- a/engines/ultima/ultima8/misc/console.h
+++ b/engines/ultima/ultima8/misc/console.h
@@ -207,7 +207,7 @@ public:
 	int32   Printf(const MsgMask mm, const char *fmt, ...); // with msg filtering
 
 	// printf, and output to stdout (va_list)
-	int     vPrintf(const char *fmt, va_list);
+	int32   vPrintf(const char *fmt, va_list);
 
 	// putchar, and output to stdout
 	void    Putchar(int c);
@@ -229,7 +229,7 @@ public:
 	int32   Printf_err(const MsgMask mm, const char *fmt, ...);
 
 	// printf, and output to stderr (va_list)
-	int     vPrintf_err(const char *fmt, va_list);
+	int32   vPrintf_err(const char *fmt, va_list);
 
 	// putchar, and output to stderr
 	void    Putchar_err(int c);
diff --git a/engines/ultima/ultima8/misc/rect.h b/engines/ultima/ultima8/misc/rect.h
index 205793f..195b3fc 100644
--- a/engines/ultima/ultima8/misc/rect.h
+++ b/engines/ultima/ultima8/misc/rect.h
@@ -98,7 +98,8 @@ struct Rect {
 	}
 
 	// Intersect/Clip this another with this
-	void    IntersectOther(int &ox, int &oy, int &ow, int &oh) const {
+	template<typename T>
+	void IntersectOther(T &ox, T &oy, T &ow, T &oh) const {
 		int x2 = x + w,     y2 = y + h;
 		int ox2 = ox + ow,  oy2 = oy + oh;
 
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
index aeddfe0..f3b2505 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
@@ -152,7 +152,7 @@ void AvatarMoverProcess::handleCombatMode() {
 	uint32 now = g_system->getMillis();
 	bool stasis = guiapp->isAvatarInStasis();
 
-	int mx, my;
+	int32 mx, my;
 	mouse->getMouseCoords(mx, my);
 	unsigned int mouselength = mouse->getMouseLength(mx, my);
 
@@ -327,7 +327,7 @@ void AvatarMoverProcess::handleNormalMode() {
 	bool stasis = guiapp->isAvatarInStasis();
 	bool combatRun = (avatar->getActorFlags() & Actor::ACT_COMBATRUN) != 0;
 
-	int mx, my;
+	int32 mx, my;
 	mouse->getMouseCoords(mx, my);
 	unsigned int mouselength = mouse->getMouseLength(mx, my);
 
@@ -643,7 +643,7 @@ void AvatarMoverProcess::jump(Animation::Sequence action, int direction) {
 	Ultima8Engine *guiapp = Ultima8Engine::get_instance();
 	Mouse *mouse = Mouse::get_instance();
 	MainActor *avatar = getMainActor();
-	int mx, my;
+	int32 mx, my;
 	mouse->getMouseCoords(mx, my);
 
 	// running jump
@@ -780,7 +780,7 @@ bool AvatarMoverProcess::canAttack() {
 	return (lastframe > lastAttack + (25 - avatar->getDex()));
 }
 
-void AvatarMoverProcess::OnMouseDown(int button, int mx, int my) {
+void AvatarMoverProcess::OnMouseDown(int button, int32 mx, int32 my) {
 	int bid = 0;
 
 	switch (button) {
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.h b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
index d9070fe..f173a92 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
@@ -40,7 +40,7 @@ public:
 
 	virtual void run();
 
-	void OnMouseDown(int button, int mx, int my);
+	void OnMouseDown(int button, int32 mx, int32 my);
 	void OnMouseUp(int button);
 
 	void resetIdleTime() {




More information about the Scummvm-git-logs mailing list