[Scummvm-cvs-logs] CVS: scummvm/sky logic.cpp,1.95,1.96 mouse.cpp,1.12,1.13 mouse.h,1.11,1.12

Joost Peters joostp at users.sourceforge.net
Mon Jun 9 11:16:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv14104/sky

Modified Files:
	logic.cpp mouse.cpp mouse.h 
Log Message:
added fnLookAt()

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/logic.cpp,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -d -r1.95 -r1.96
--- logic.cpp	9 Jun 2003 14:31:38 -0000	1.95
+++ logic.cpp	9 Jun 2003 18:15:01 -0000	1.96
@@ -2206,7 +2206,28 @@
 }
 
 bool SkyLogic::fnLookAt(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnLookAt");
+	
+	struct lowTextManager_t textInfo = _skyText->lowTextManager(a, 240, 0, 248, true);
+	Compact *textCpt = SkyState::fetchCompact(textInfo.compactNum);
+	textCpt->xcood = 168;
+	textCpt->ycood = (uint16)c;
+
+	_skyScreen->recreate();
+	_skyScreen->spriteEngine();
+	_skyScreen->flip();
+
+	fnNoHuman(0, 0, 0); 
+	_skyMouse->lockMouse();
+
+	//waitRelative(0);
+	_skyMouse->waitMouseNotPressed();
+	//waitRelative(40);
+	
+	_skyMouse->unlockMouse();
+	fnAddHuman(0, 0, 0);
+	textCpt->status = 0;
+
+	return true;
 }
 
 bool SkyLogic::fnLincTextModule(uint32 a, uint32 b, uint32 c) {

Index: mouse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- mouse.cpp	6 Jun 2003 16:40:44 -0000	1.12
+++ mouse.cpp	9 Jun 2003 18:15:02 -0000	1.13
@@ -85,6 +85,7 @@
 	_mouseHeight = 6;
 	_maskWidth = 6;
 	_maskHeight = 6;
+	_mouseB = 0;
 	
 	_miceData = _skyDisk->loadFile(MICE_FILE, NULL);
 	fixMouseTransparency(_miceData, _skyDisk->_lastLoadedFileSize);
@@ -168,6 +169,11 @@
 	//calculateMouseValues();
 	//saveMouseData();
 	//drawMouse();
+}
+
+void SkyMouse::waitMouseNotPressed(void) {
+	while (_mouseB != 0) ;
+	_bMouseB = 0;
 }
 
 //original sky uses different colors for transparency than our backends do,

Index: mouse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- mouse.h	6 Jun 2003 01:14:17 -0000	1.11
+++ mouse.h	9 Jun 2003 18:15:02 -0000	1.12
@@ -47,6 +47,7 @@
 	void spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY);
 	void useLogicInstance(SkyLogic *skyLogic) { _skyLogic = skyLogic; };
 	void buttonPressed(uint8 button) { _bMouseB = button; };
+	void waitMouseNotPressed(void);
 	uint16 giveMouseX(void) { return _aMouseX; };
 	uint16 giveMouseY(void) { return _aMouseY; };
 
@@ -56,6 +57,7 @@
 	void buttonEngine1(void);
 	void fixMouseTransparency(byte *mouseData, uint32 size);
 	
+	uint16 _mouseB;		//used to check for repeat presses
 	uint16 _eMouseB;
 	uint16 _bMouseB;
 	





More information about the Scummvm-git-logs mailing list