diff options
| -rw-r--r-- | engines/mortevielle/actions.cpp | 5 | ||||
| -rw-r--r-- | engines/mortevielle/alert.cpp | 7 | ||||
| -rw-r--r-- | engines/mortevielle/graphics.cpp | 2 | ||||
| -rw-r--r-- | engines/mortevielle/menu.cpp | 19 | ||||
| -rw-r--r-- | engines/mortevielle/mor2.cpp | 5 | ||||
| -rw-r--r-- | engines/mortevielle/mortevielle.cpp | 12 | ||||
| -rw-r--r-- | engines/mortevielle/mortevielle.h | 5 | ||||
| -rw-r--r-- | engines/mortevielle/mouse.cpp | 10 | ||||
| -rw-r--r-- | engines/mortevielle/mouse.h | 2 | ||||
| -rw-r--r-- | engines/mortevielle/ovd1.cpp | 3 | ||||
| -rw-r--r-- | engines/mortevielle/ques.cpp | 5 | 
11 files changed, 39 insertions, 36 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index 81042c4ce2..9c1a6b738c 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -32,6 +32,7 @@  #include "mortevielle/menu.h"  #include "mortevielle/mor.h"  #include "mortevielle/mor2.h" +#include "mortevielle/mortevielle.h"  #include "mortevielle/mouse.h"  #include "mortevielle/outtext.h"  #include "mortevielle/ques.h" @@ -1094,8 +1095,8 @@ L2:  					} else choi = 0;  				}  			} -		} while (!((tou == '\15') || (((c != 0) || clic) && (choi != 0)))); -		clic = false; +		} while (!((tou == '\15') || (((c != 0) || g_vm->getMouseClick()) && (choi != 0)))); +		g_vm->setMouseClick(false);  		if (choi != 46) {  			ix = choi - 1;  			if (col) { diff --git a/engines/mortevielle/alert.cpp b/engines/mortevielle/alert.cpp index 36170361c3..6a380b2155 100644 --- a/engines/mortevielle/alert.cpp +++ b/engines/mortevielle/alert.cpp @@ -28,6 +28,7 @@  #include "common/str.h"  #include "mortevielle/alert.h"  #include "mortevielle/level15.h" +#include "mortevielle/mortevielle.h"  #include "mortevielle/mouse.h"  #include "mortevielle/sprint.h" @@ -150,7 +151,7 @@ int do_alert(Common::String str_, int n) {  	while (keypressed())  		dumi = get_ch();	// input >> kbd >> dumi; -	clic = false; +	g_vm->setMouseClick(false);  	decod(str_, nbcase, nblig, nbcol, chaine, cas);  	sauvecr(50, succ(int, nligne) << 4); @@ -242,8 +243,8 @@ int do_alert(Common::String str_, int n) {  		}  		test3 = (cy > 95) && (cy < 105) && (((cx > limit[1][1]) && (cx < limit[1][2]))  		                                    || ((cx > limit[2][1]) && (cx < limit[2][2]))); -	} while (!clic); -	clic = false; +	} while (!g_vm->getMouseClick()); +	g_vm->setMouseClick(false);  	hide_mouse();  	if (! test3)  {  		quoi = n; diff --git a/engines/mortevielle/graphics.cpp b/engines/mortevielle/graphics.cpp index ee9c63228b..034a60c505 100644 --- a/engines/mortevielle/graphics.cpp +++ b/engines/mortevielle/graphics.cpp @@ -79,7 +79,7 @@ void PaletteManager::setDefaultPalette() {  #define INCR_TAIX { if (_xSize & 1) ++_xSize; }  #define DEFAULT_WIDTH (SCREEN_WIDTH / 2) -#define BUFFER_SIZE 8192 +#define BUFFER_SIZE 40000  void GfxSurface::decode(const byte *pSrc) {  	_width = _height = 0; diff --git a/engines/mortevielle/menu.cpp b/engines/mortevielle/menu.cpp index b14aacf4fa..f24062a000 100644 --- a/engines/mortevielle/menu.cpp +++ b/engines/mortevielle/menu.cpp @@ -187,7 +187,7 @@ void draw_menu() {  	msg4 = no_choice;  	msg3 = no_choice;  	choisi = false; -	clic = false; +	g_vm->setMouseClick(false);  	test0 = false;  } @@ -342,7 +342,7 @@ void menu_up(int xx) {  void erase_menu() {  	/* debug('erase_menu'); */  	active_menu = false; -	clic = false; +	g_vm->setMouseClick(false);  	menu_up(msg3);  } @@ -355,7 +355,7 @@ void mdn() {  	if (! active_menu)  return;  	x = x_s;  	y = y_s; -	if (! clic) { +	if (!g_vm->getMouseClick()) {  		if ((x == xprec) &&  		        (y == yprec))  return;  		else { @@ -385,21 +385,26 @@ void mdn() {  		} else { /* Not in the MenuTitle line */  			if ((y > 11) && (test0))  util(x, y);  		} -	} else        /* il y a eu 'clic' */ +	} else        /* There was a click */  		if ((msg3 == fichier) && (msg4 != no_choice)) { -			clic = false; +			// Another menu to be displayed +			g_vm->setMouseClick(false);  			menu_up(msg3);  			if (lo(msg4) == 1)  msg3 = 7;  			else msg3 = 8;  			menu_down(msg3); -		} else { /*  il y a eu clic sur un autre menu  */ + +			g_vm->setMouseClick(false); +		} else {  +			//  A menu was clicked on  			choisi = (test0) && (msg4 != no_choice);  			menu_up(msg3);  			msg[4] = msg4;  			msg[3] = msg3;  			msg3 = no_choice;  			msg4 = no_choice; -			clic = false; + +			g_vm->setMouseClick(false);  		}  } diff --git a/engines/mortevielle/mor2.cpp b/engines/mortevielle/mor2.cpp index 4b8a9ae25a..1c27ef3f04 100644 --- a/engines/mortevielle/mor2.cpp +++ b/engines/mortevielle/mor2.cpp @@ -202,7 +202,7 @@ void tkey1(bool d) {  		read_pos_mouse(x, y, c);  	} while (!(quest || (c != 0) || (d && anyone)));  	if (quest)  key = testou(); -	clic = false; +	g_vm->setMouseClick(false);  	show_mouse();  } @@ -628,7 +628,8 @@ void tfleche() {  		do {  			mov_mouse(qust, touch); -			if (clic)  rect = (x_s < 256 * res) && (y_s < 176) && (y_s > 12); +			if (g_vm->getMouseClick()) +				rect = (x_s < 256 * res) && (y_s < 176) && (y_s > 12);  			tinke();  		} while (!(qust || rect || anyone)); diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp index bdb5b710c8..88a3ecd9e5 100644 --- a/engines/mortevielle/mortevielle.cpp +++ b/engines/mortevielle/mortevielle.cpp @@ -40,7 +40,7 @@ MortevielleEngine::MortevielleEngine(OSystem *system, const ADGameDescription *g  		Engine(system), _gameDescription(gameDesc), _randomSource("mortevielle") {  	g_vm = this;  	_lastGameFrame = 0; -	_mouseButtons = 0; +	_mouseClick = false;  }  MortevielleEngine::~MortevielleEngine() { @@ -168,21 +168,15 @@ bool MortevielleEngine::handleEvents() {  	switch (event.type) {  	case Common::EVENT_LBUTTONDOWN:  	case Common::EVENT_LBUTTONUP: -	case Common::EVENT_RBUTTONDOWN: -	case Common::EVENT_RBUTTONUP:  	case Common::EVENT_MOUSEMOVE:  		_mousePos = Common::Point(event.mouse.x, event.mouse.y / 2);  		x_s = event.mouse.x;  		y_s = event.mouse.y / 2;  		if (event.type == Common::EVENT_LBUTTONDOWN) -			_mouseButtons |= 1; +			_mouseClick = true;  		else if (event.type == Common::EVENT_LBUTTONUP) -			_mouseButtons &= ~1; -		else if (event.type == Common::EVENT_RBUTTONDOWN) -			_mouseButtons |= 2; -		else if (event.type == Common::EVENT_RBUTTONUP) -			_mouseButtons &= ~2; +			_mouseClick = false;  		break;  	case Common::EVENT_KEYDOWN: diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index b0e7343d0e..4c755a1f5e 100644 --- a/engines/mortevielle/mortevielle.h +++ b/engines/mortevielle/mortevielle.h @@ -53,7 +53,7 @@ private:  	const ADGameDescription *_gameDescription;  	Common::Stack<int> _keypresses;  	uint32 _lastGameFrame; -	int _mouseButtons; +	bool _mouseClick;  	Common::Point _mousePos;  	Common::ErrorCode initialise(); @@ -78,7 +78,8 @@ public:  	int getChar();  	Common::Point getMousePos() const { return _mousePos; }  	void setMousePos(const Common::Point &pt); -	int getMouseButtons() const { return _mouseButtons; } +	bool getMouseClick() const { return _mouseClick; } +	void setMouseClick(bool v) { _mouseClick = v; }  };  extern MortevielleEngine *g_vm; diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp index 2e945287ba..98429cc04e 100644 --- a/engines/mortevielle/mouse.cpp +++ b/engines/mortevielle/mouse.cpp @@ -57,7 +57,7 @@ void init_mouse() {  	y_s = 0;  	p_o_s = 0;  	/*int_m:= False;*/ -	clic = false; +	g_vm->setMouseClick(false);  	m_show = m_arrow;  	if ((READ_LE_UINT16(&mem[0xcc]) == 0) && (READ_LE_UINT16(&mem[0xce]) == 0))  int_m = false;  	if (int_m) { @@ -278,7 +278,7 @@ void pos_mouse(int x, int y) {  void read_pos_mouse(int &x, int &y, int &c) {  	x = g_vm->getMousePos().x;  	y = g_vm->getMousePos().y; -	c = g_vm->getMouseButtons(); +	c = g_vm->getMouseClick() ? 1 : 0;  }  void mov_mouse(bool &funct, char &key) { @@ -292,10 +292,8 @@ void mov_mouse(bool &funct, char &key) {  	p_key = keypressed();  	// If mouse button clicked, return it -	if (g_vm->getMouseButtons() != 0) { -		clic = true; +	if (g_vm->getMouseClick())  		return; -	}  	// Handle any pending keypresses  	while (p_key) { @@ -343,7 +341,7 @@ void mov_mouse(bool &funct, char &key) {  		break;  		case ' ':  		case '\15' : { -			clic = true; +			g_vm->setMouseClick(true);  			return;  		}  		break; diff --git a/engines/mortevielle/mouse.h b/engines/mortevielle/mouse.h index a981d521ac..32fba0420f 100644 --- a/engines/mortevielle/mouse.h +++ b/engines/mortevielle/mouse.h @@ -30,7 +30,7 @@  namespace Mortevielle { -extern bool clic, int_m; +extern bool int_m;  extern int m_show,          x_s, diff --git a/engines/mortevielle/ovd1.cpp b/engines/mortevielle/ovd1.cpp index f01937667a..283756948c 100644 --- a/engines/mortevielle/ovd1.cpp +++ b/engines/mortevielle/ovd1.cpp @@ -31,6 +31,7 @@  #include "mortevielle/level15.h"  #include "mortevielle/menu.h"  #include "mortevielle/mor.h" +#include "mortevielle/mortevielle.h"  #include "mortevielle/mouse.h"  #include "mortevielle/outtext.h"  #include "mortevielle/ovd1.h" @@ -142,7 +143,7 @@ void ani50() {  	msg4 = no_choice;  	msg[3] = no_choice;  	msg[4] = no_choice; -	clic = false; +	g_vm->setMouseClick(false);  } diff --git a/engines/mortevielle/ques.cpp b/engines/mortevielle/ques.cpp index c9154acc59..e7ae1b30ec 100644 --- a/engines/mortevielle/ques.cpp +++ b/engines/mortevielle/ques.cpp @@ -28,6 +28,7 @@  #include "common/str.h"  #include "mortevielle/boite.h"  #include "mortevielle/level15.h" +#include "mortevielle/mortevielle.h"  #include "mortevielle/mouse.h"  #include "mortevielle/outtext.h"  #include "mortevielle/ques.h" @@ -105,7 +106,7 @@ namespace Mortevielle {  		j = 0;  		memk = 0;  		do { -			clic = false; +			g_vm->setMouseClick(false);  			tesok = false;  			mov_mouse(func, key);  			k = 1; @@ -130,7 +131,7 @@ namespace Mortevielle {  				afftex(st, 100, 27 + memk * 8, 100, 1, 0);  				memk = 0;  			} -		} while (!((memk != 0) && clic)); +		} while (!((memk != 0) && g_vm->getMouseClick()));  		if (memk == ok[i])  compte = compte + 1;  		else {  			if (i == 5)  i = i + 1;  | 
