Skip to content

Commit

Permalink
LILLIPUT: Fix display of horizontal bars in character stats menu, som…
Browse files Browse the repository at this point in the history
…e renaming
  • Loading branch information
Strangerke authored and sev- committed Mar 28, 2018
1 parent aac437d commit c8589eb
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 20 deletions.
15 changes: 7 additions & 8 deletions engines/lilliput/lilliput.cpp
Expand Up @@ -669,7 +669,7 @@ void LilliputEngine::displayCharactersOnMap() {
restoreSurfaceUnderMousePointer();

byte *buf = (byte *)_mainSurface->getPixels();
for (int index = _numCharacters - 1; index >=0; index--) {
for (int index = _numCharacters - 1; index >= 0; index--) {
if (((_rulesBuffer2_11[index] & 2) == 0) && (_scriptHandler->_array1614BPosY[index] != -1)) {
int y = (3 * _scriptHandler->_array1614BPosY[index]) + 1;
int x = (_scriptHandler->_array16123PosX[index] * 4) + 1;
Expand Down Expand Up @@ -1098,12 +1098,12 @@ void LilliputEngine::sub16CA0() {
}
}

void LilliputEngine::displayFunction18(int var1, int var2, int var3, int var4) {
debugC(2, kDebugEngineTBC, "displayFunction18(%d, %d, %d, %d)", var1, var2, var3, var4);
void LilliputEngine::displayCharacterStatBar(int8 var1, int16 var2, int8 var3, int16 var4) {
debugC(2, kDebugEngineTBC, "displayCharacterStatBar(%d, %d, %d, %d)", var1, var2, var3, var4);

restoreSurfaceUnderMousePointer();

if ((var1 & 0xFF) == 0x2D) {
if (var1 == 45) {
var2 += 35;
var3 -= 35;

Expand All @@ -1114,8 +1114,7 @@ void LilliputEngine::displayFunction18(int var1, int var2, int var3, int var4) {
}

byte *vgaBuf = (byte *)_mainSurface->getPixels();
int tmpVal = (var3 >> 8) + ((var3 & 0xFF) << 8);
int vgaIndex = var2 + tmpVal + (tmpVal >> 2);
int vgaIndex = var2 + (320 * var4);

if (var3 == 0)
++var3;
Expand Down Expand Up @@ -2248,7 +2247,7 @@ void LilliputEngine::sub12FE5() {
}

void LilliputEngine::displayHeroismIndicator() {
debugC(2, kDebugEngineTBC, "displayHeroismIndicator()");
debugC(2, kDebugEngine, "displayHeroismIndicator()");

if (_scriptHandler->_savedBuffer215Ptr == NULL)
return;
Expand All @@ -2269,7 +2268,7 @@ void LilliputEngine::displayHeroismIndicator() {

_scriptHandler->_heroismLevel += var2;

int index = _scriptHandler->_heroismBarX + _scriptHandler->_heroismBarBottomY * 320 ;
int index = _scriptHandler->_heroismBarX + (_scriptHandler->_heroismBarBottomY * 320);

var2 = _scriptHandler->_heroismLevel & 0xFF;
if (var2 != 0) {
Expand Down
2 changes: 1 addition & 1 deletion engines/lilliput/lilliput.h
Expand Up @@ -241,7 +241,7 @@ class LilliputEngine : public Engine {
void prepareGameArea();
void displayRefreshScreen();
void restoreSurfaceSpeech();
void displayFunction18(int var1, int var2, int var3, int var4);
void displayCharacterStatBar(int8 var1, int16 var2, int8 var3, int16 var4);
void displayCharacter(int index, Common::Point pos, int flags);
void displayString(byte *buf, Common::Point pos);
void displayChar(int index, int var1);
Expand Down
20 changes: 10 additions & 10 deletions engines/lilliput/script.cpp
Expand Up @@ -505,7 +505,7 @@ void LilliputScript::handleOpcodeType2(int curWord) {
OC_initGameAreaDisplay();
break;
case 0x57:
OC_sub1864D();
OC_displayCharacterStatBar();
break;
case 0x58:
OC_initSmallAnim();
Expand Down Expand Up @@ -697,7 +697,7 @@ static const OpCode opCodes2[] = {
/* 0x54 */ { "OC_sub184D7", 1, kImmediateValue, kNone, kNone, kNone, kNone }, // TODO
/* 0x55 */ { "OC_displayTitleScreen", 1, kImmediateValue, kNone, kNone, kNone, kNone },
/* 0x56 */ { "OC_initGameAreaDisplay", 0, kNone, kNone, kNone, kNone, kNone },
/* 0x57 */ { "OC_sub1864D", 6, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue},
/* 0x57 */ { "OC_displayCharacterStatBar", 6, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue},
/* 0x58 */ { "OC_initSmallAnim", 11, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue },
/* 0x59 */ { "OC_setCharacterHeroismBar", 4, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kNone },
/* 0x5a */ { "OC_sub18690", 2, kGetValue1, kgetPosFromScript, kNone, kNone, kNone }, //TODO
Expand Down Expand Up @@ -1943,7 +1943,7 @@ byte LilliputScript::OC_CharacterVariableAnd() {
}

byte LilliputScript::OC_IsCurrentCharacterVar0LessEqualThan() {
debugC(1, kDebugScriptTBC, "OC_IsCurrentCharacterVar0LessEqualThan()");
debugC(1, kDebugScript, "OC_IsCurrentCharacterVar0LessEqualThan()");

assert(_vm->_currentCharacterVariables != NULL);
byte curByte = (_currScript->readUint16LE() & 0xFF);
Expand Down Expand Up @@ -3175,16 +3175,16 @@ void LilliputScript::OC_initGameAreaDisplay() {
_vm->_soundHandler->contentFct5();
}

void LilliputScript::OC_sub1864D() {
debugC(1, kDebugScriptTBC, "OC_sub1864D()");
void LilliputScript::OC_displayCharacterStatBar() {
debugC(1, kDebugScriptTBC, "OC_displayCharacterStatBar()");

byte *tmpArr = getCharacterVariablePtr();
int var1 = (_currScript->readUint16LE() & 0xFF);
int var3 = ((70 * tmpArr[0]) / (_currScript->readUint16LE() & 0xFF) & 0xFF);
int var2 = _currScript->readUint16LE();
int var4 = _currScript->readUint16LE();
int8 var1 = (_currScript->readUint16LE() & 0xFF);
int8 var3 = (((70 * tmpArr[0]) / (_currScript->readUint16LE() & 0xFF)) & 0xFF);
int16 var2 = _currScript->readSint16LE();
int16 var4 = _currScript->readSint16LE();

_vm->displayFunction18(var1, var2, var3, var4);
_vm->displayCharacterStatBar(var1, var2, var3, var4);
}

void LilliputScript::OC_initSmallAnim() {
Expand Down
2 changes: 1 addition & 1 deletion engines/lilliput/script.h
Expand Up @@ -282,7 +282,7 @@ class LilliputScript {
void OC_sub184D7();
void OC_displayTitleScreen();
void OC_initGameAreaDisplay();
void OC_sub1864D();
void OC_displayCharacterStatBar();
void OC_initSmallAnim();
void OC_setCharacterHeroismBar();
void OC_sub18690();
Expand Down

0 comments on commit c8589eb

Please sign in to comment.