aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlukaslw2014-06-08 14:51:13 +0200
committerlukaslw2014-06-22 20:08:49 +0200
commit3cd6589c26ac16f707972367e528442e6b4f451d (patch)
treeea25ec8b33f36299cae45be7e174bc6757478c97
parent206211c21179297edc6ecee728cf67bc45573504 (diff)
downloadscummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.tar.gz
scummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.tar.bz2
scummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.zip
PRINCE: prepareInventoryToView() update - name, examText
-rw-r--r--engines/prince/prince.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp
index 1a09e83c65..0f0683ba29 100644
--- a/engines/prince/prince.cpp
+++ b/engines/prince/prince.cpp
@@ -1351,18 +1351,35 @@ void PrinceEngine::prepareInventoryToView() {
int currInvX = _invLineX;
int currInvY = _invLineY;
+ Common::MemoryReadStream stream(_invTxt, _invTxtSize);
+ byte c;
+
uint item = 0;
for (int i = 0 ; i < _invLines; i++) {
for (int j = 0; j < _invLine; j++) {
Mob tempMobItem;
if (item < _mainHero->_inventory.size()) {
- tempMobItem._mask = _mainHero->_inventory[item] - 1;
+ int itemNr = _mainHero->_inventory[item];
+ tempMobItem._mask = itemNr; // itemNr - 1??
tempMobItem._x1 = currInvX + _picWindowX; //picWindowX2 ?
tempMobItem._x2 = currInvX + _picWindowX + _invLineW - 1; // picWindowX2 ?
tempMobItem._y1 = currInvY;
tempMobItem._y2 = currInvY + _invLineH - 1;
- //tempMobItem._name = ;
- //tempMobItem._examText = ;
+
+ tempMobItem._name = "";
+ tempMobItem._examText = "";
+ int txtOffset = READ_UINT32(&_invTxt[itemNr * 8]);
+ int examTxtOffset = READ_UINT32(&_invTxt[itemNr * 8 + 4]);
+
+ stream.seek(txtOffset);
+ while ((c = stream.readByte())) {
+ tempMobItem._name += c;
+ }
+
+ stream.seek(examTxtOffset);
+ while ((c = stream.readByte())) {
+ tempMobItem._examText += c;
+ }
_invMobList.push_back(tempMobItem);
}
currInvX += _invLineW + _invLineSkipX;