[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