[Scummvm-cvs-logs] SF.net SVN: scummvm:[40463] scummvm/trunk/engines/kyra

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Mon May 11 21:03:40 CEST 2009


Revision: 40463
          http://scummvm.svn.sourceforge.net/scummvm/?rev=40463&view=rev
Author:   athrxx
Date:     2009-05-11 19:03:40 +0000 (Mon, 11 May 2009)

Log Message:
-----------
LOL: - implemented inventory screen status icons

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_lol.cpp
    scummvm/trunk/engines/kyra/lol.cpp
    scummvm/trunk/engines/kyra/lol.h
    scummvm/trunk/engines/kyra/staticres.cpp

Modified: scummvm/trunk/engines/kyra/gui_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lol.cpp	2009-05-11 18:40:59 UTC (rev 40462)
+++ scummvm/trunk/engines/kyra/gui_lol.cpp	2009-05-11 19:03:40 UTC (rev 40463)
@@ -166,20 +166,20 @@
 
 	_screen->fprintString(getLangString(0x4033), 182, 103, 172, 0, 5);
 
-	static const uint16 skillFlags[] = { 0x0080, 0x0000, 0x1000, 0x0002, 0x100, 0x0001, 0x0000, 0x0000 };
+	static const uint16 statusFlags[] = { 0x0080, 0x0000, 0x1000, 0x0002, 0x100, 0x0001, 0x0000, 0x0000 };
 
-	memset(_invSkillFlags, -1, 6);
+	memset(_charStatusFlags, 0xffff, sizeof(_charStatusFlags));
 	int x = 0;
 	int32 c = 0;
 
 	for (int i = 0; i < 3; i++) {
-		if (!(l->flags & skillFlags[i << 1]))
+		if (!(l->flags & statusFlags[i << 1]))
 			continue;
 
-		uint8 *shp = _gameShapes[skillFlags[(i << 1) + 1]];
+		uint8 *shp = _gameShapes[statusFlags[(i << 1) + 1]];
 		_screen->drawShape(_screen->_curPage, shp, 108 + x, 98, 0, 0);
 		x += (shp[3] + 2);
-		_invSkillFlags[c] = skillFlags[(i << 1) + 1];
+		_charStatusFlags[c] = statusFlags[(i << 1) + 1];
 		c++;
 	}
 
@@ -1782,7 +1782,20 @@
 	return 1;
 }
 
-int LoLEngine::clickedUnk32(Button *button) {
+int LoLEngine::clickedStatusIcon(Button *button) {
+	int t = _mouseX - 220;
+	if (t < 0)
+		t = 0;
+
+	t /= 14;
+	if (t > 2)
+		t = 2;
+
+	uint16 str = _charStatusFlags[t] + 1;
+	if (str == 0 || str > 3)
+		return 1;
+
+	_txt->printMessage(0x8002, getLangString(str == 1 ? 0x424c : (str == 2 ? 0x424e : 0x424d)));
 	return 1;
 }
 

Modified: scummvm/trunk/engines/kyra/lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/lol.cpp	2009-05-11 18:40:59 UTC (rev 40462)
+++ scummvm/trunk/engines/kyra/lol.cpp	2009-05-11 19:03:40 UTC (rev 40463)
@@ -90,7 +90,7 @@
 	_itemProperties = 0;
 	_itemInHand = 0;
 	memset(_inventory, 0, sizeof(_inventory));
-	memset(_invSkillFlags, 0, sizeof(_invSkillFlags));
+	memset(_charStatusFlags, 0, sizeof(_charStatusFlags));
 	_inventoryCurItem = 0;
 	_currentControlMode = 0;
 	_specialSceneFlag = 0;

Modified: scummvm/trunk/engines/kyra/lol.h
===================================================================
--- scummvm/trunk/engines/kyra/lol.h	2009-05-11 18:40:59 UTC (rev 40462)
+++ scummvm/trunk/engines/kyra/lol.h	2009-05-11 19:03:40 UTC (rev 40463)
@@ -526,7 +526,7 @@
 	int clickedCompass(Button *button);
 	int clickedAutomap(Button *button);
 	int clickedLamp(Button *button);
-	int clickedUnk32(Button *button);
+	int clickedStatusIcon(Button *button);
 
 	const ButtonDef *_buttonData;
 	int _buttonDataSize;
@@ -1097,7 +1097,7 @@
 	int _currentControlMode;
 	int _specialSceneFlag;
 	int _lastCharInventory;
-	uint16 _invSkillFlags[6];
+	uint16 _charStatusFlags[3];
 
 	FlyingObject *_flyingObjects;
 

Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp	2009-05-11 18:40:59 UTC (rev 40462)
+++ scummvm/trunk/engines/kyra/staticres.cpp	2009-05-11 19:03:40 UTC (rev 40463)
@@ -1983,7 +1983,7 @@
 		cb(clickedCompass),
 		cb(clickedAutomap),
 		cb(clickedLamp),
-		cb(clickedUnk32),
+		cb(clickedStatusIcon),
 	};
 #undef cb
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list