diff options
author | lukaslw | 2014-06-08 14:51:13 +0200 |
---|---|---|
committer | lukaslw | 2014-06-22 20:08:49 +0200 |
commit | 3cd6589c26ac16f707972367e528442e6b4f451d (patch) | |
tree | ea25ec8b33f36299cae45be7e174bc6757478c97 | |
parent | 206211c21179297edc6ecee728cf67bc45573504 (diff) | |
download | scummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.tar.gz scummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.tar.bz2 scummvm-rg350-3cd6589c26ac16f707972367e528442e6b4f451d.zip |
PRINCE: prepareInventoryToView() update - name, examText
-rw-r--r-- | engines/prince/prince.cpp | 23 |
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; |