[Scummvm-git-logs] scummvm branch-2-2 -> ec13b28e154bded8f53446a53a1f4036b0d00ff9
yuv422
yuv422 at users.noreply.github.com
Sat Sep 12 14:04:43 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ec13b28e15 DRAGONS: Fixed mini game dialog for non US versions Fixes #11691
Commit: ec13b28e154bded8f53446a53a1f4036b0d00ff9
https://github.com/scummvm/scummvm/commit/ec13b28e154bded8f53446a53a1f4036b0d00ff9
Author: Eric Fry (yuv422 at users.noreply.github.com)
Date: 2020-09-13T00:04:06+10:00
Commit Message:
DRAGONS: Fixed mini game dialog for non US versions Fixes #11691
Changed paths:
engines/dragons/dragons.cpp
engines/dragons/minigame1.cpp
engines/dragons/minigame2.cpp
engines/dragons/minigame4.cpp
engines/dragons/minigame5.cpp
diff --git a/engines/dragons/dragons.cpp b/engines/dragons/dragons.cpp
index 53ae0ff02c..50a2ce5918 100644
--- a/engines/dragons/dragons.cpp
+++ b/engines/dragons/dragons.cpp
@@ -2101,6 +2101,52 @@ uint32 DragonsEngine::getDialogTextIdDe(uint32 textId) {
case 0x38E5C : return 0x3f44a;
case 0x38ED0 : return 0x3f4c0;
+ // Mini game 1
+ case 0x21312 : return 0x25258;
+ case 0x2134C : return 0x252A0;
+ case 0x21386 : return 0x252D6;
+ case 0x213C0 : return 0x25324;
+ case 0x213E2 : return 0x25354;
+ case 0x21428 : return 0x253A4;
+ case 0x2146C : return 0x253EC;
+ case 0x214B4 : return 0x25446;
+ case 0x214E4 : return 0x25472;
+ case 0x21514 : return 0x254AC;
+ case 0x21540 : return 0x254DC;
+ case 0x21590 : return 0x25530;
+ case 0x215E2 : return 0x2559A;
+ case 0x2164E : return 0x25626;
+ case 0x216AA : return 0x25690;
+ case 0x216D2 : return 0x256D6;
+ case 0x217D8 : return 0x257DC;
+
+ // Mini game 2
+ case 0x4500 : return 0x50F4;
+ case 0x454A : return 0x5164;
+ case 0x4576 : return 0x519E;
+ case 0x46BC : return 0x532C;
+ case 0x4718 : return 0x53B6;
+ case 0x475E : return 0x5420;
+ case 0x4774 : return 0x5436;
+
+ // Mini game 4
+ case 0x49A2 : return 0x5706;
+ case 0x4A84 : return 0x580C;
+ case 0x4ADE : return 0x5876;
+ case 0x4B6A : return 0x5904;
+ case 0x4C0C : return 0x59C6;
+ case 0x4D50 : return 0x5B24;
+ case 0x4DD4 : return 0x5BC6;
+ case 0x4DEE : return 0x5BE8;
+ case 0x4CC8 : return 0x5A7E;
+ case 0x4A56 : return 0x57D4;
+
+ // Mini game 5
+ case 0x21DAE : return 0x25E68;
+ case 0x21BF0 : return 0x25C34;
+ case 0x21E3E : return 0x25F10;
+ case 0x475DA : return 0x4FC9E;
+
default: break;
}
warning("Unhandled textID 0x%x", textId);
@@ -2336,6 +2382,52 @@ uint32 DragonsEngine::getDialogTextIdFr(uint32 textId) {
case 0x38E5C : return 0x41278;
case 0x38ED0 : return 0x412fa;
+ // Mini game 1
+ case 0x21312 : return 0x25B60;
+ case 0x2134C : return 0x25B98;
+ case 0x21386 : return 0x25BD6;
+ case 0x213C0 : return 0x25C10;
+ case 0x213E2 : return 0x25C38;
+ case 0x21428 : return 0x25C7E;
+ case 0x2146C : return 0x25CE0;
+ case 0x214B4 : return 0x25D36;
+ case 0x214E4 : return 0x25D5E;
+ case 0x21514 : return 0x25D8A;
+ case 0x21540 : return 0x25DCE;
+ case 0x21590 : return 0x25E4E;
+ case 0x215E2 : return 0x25EB8;
+ case 0x2164E : return 0x25F2C;
+ case 0x216AA : return 0x25F9C;
+ case 0x216D2 : return 0x26000;
+ case 0x217D8 : return 0x260F4;
+
+ // Mini game 2
+ case 0x4500 : return 0x4D78;
+ case 0x454A : return 0x4DCC;
+ case 0x4576 : return 0x4E0A;
+ case 0x46BC : return 0x4F32;
+ case 0x4718 : return 0x5000;
+ case 0x475E : return 0x505A;
+ case 0x4774 : return 0x5070;
+
+ // Mini game 4
+ case 0x49A2 : return 0x5360;
+ case 0x4A84 : return 0x5476;
+ case 0x4ADE : return 0x54C0;
+ case 0x4B6A : return 0x554C;
+ case 0x4C0C : return 0x55EA;
+ case 0x4D50 : return 0x5742;
+ case 0x4DD4 : return 0x57F0;
+ case 0x4DEE : return 0x580E;
+ case 0x4CC8 : return 0x569C;
+ case 0x4A56 : return 0x5438;
+
+ // Mini game 5
+ case 0x21DAE : return 0x267C2;
+ case 0x21BF0 : return 0x265BC;
+ case 0x21E3E : return 0x2686A;
+ case 0x475DA : return 0x51F88;
+
default: break;
}
warning("Unhandled textID 0x%x", textId);
diff --git a/engines/dragons/minigame1.cpp b/engines/dragons/minigame1.cpp
index 91ffc139a4..fe437ae1e3 100644
--- a/engines/dragons/minigame1.cpp
+++ b/engines/dragons/minigame1.cpp
@@ -30,13 +30,11 @@ namespace Dragons {
#define DAT_80063a48 0x12d
#define DAT_80063a40 0x12f
-#define DAT_80063ab8 0x216D2
Minigame1::Minigame1(DragonsEngine *vm) : _vm(vm) {}
void Minigame1::run() {
- //TODO this might change for different game versions.
const uint32 dialogIdTbl[17] = {
0x21312, 0x2134C, 0x21386, 0x213C0,
0x213E2, 0x21428, 0x2146C, 0x214B4,
@@ -432,9 +430,9 @@ void Minigame1::run() {
local_234 = 0;
}
if (local_252 == 0) { //successful hit maybe?
- _vm->_talk->loadText(local_118[((uint)hitCounter - 1) * 2], auStack1008, 200);
- _vm->_talk->displayDialogAroundPoint(auStack1008, (int)(short)(flickerXPos >> 3), 0xc, 0, 0,
- local_118[((uint)hitCounter - 1) * 2]);
+ uint32 textId = _vm->getDialogTextId(local_118[((uint)hitCounter - 1) * 2]);
+ _vm->_talk->loadText(textId, auStack1008, 200);
+ _vm->_talk->displayDialogAroundPoint(auStack1008, (int)(short)(flickerXPos >> 3), 0xc, 0, 0, textId);
local_250 = *(short *)(local_118 + ((uint)hitCounter - 1) * 2 + 1);
}
targetActorIdTbl[(uint)(uint16)local_188[(uint)i]]->_priorityLayer = 3;
@@ -767,8 +765,9 @@ void Minigame1::run() {
local_16a = *(short *)(local_c0 + (uint)uVar5 * 2 + 5);
}
if ((local_252 == 0) || ((auStack536[(uint)local_22c * 3] == 0 && (local_254 == 0)))) {
- _vm->_talk->loadText(local_168, auStack1008, 200);
- _vm->_talk->displayDialogAroundPoint(auStack1008, (int)(short)(flickerXPos >> 3), 0xc, 0, 0, local_168);
+ uint32 textId = _vm->getDialogTextId(local_168);
+ _vm->_talk->loadText(textId, auStack1008, 200);
+ _vm->_talk->displayDialogAroundPoint(auStack1008, (int)(short)(flickerXPos >> 3), 0xc, 0, 0, textId);
local_250 = local_16a;
}
if (local_254 < 2) {
@@ -833,8 +832,8 @@ void Minigame1::run() {
_vm->_talk->FUN_8001a7c4_clearDialogBoxMaybe();
}
pusherActor->updateSequence(7);
- _vm->_talk->loadText(DAT_80063ab8, auStack1008, 200);
- _vm->_talk->displayDialogAroundPoint(auStack1008, 0x19, 0xc, 0, 1, DAT_80063ab8);
+ _vm->_talk->loadText(_vm->getDialogTextId(0x216D2), auStack1008, 200);
+ _vm->_talk->displayDialogAroundPoint(auStack1008, 0x19, 0xc, 0, 1, _vm->getDialogTextId(0x216D2));
pusherActor->updateSequence(1);
_vm->waitForFrames(0x1e);
diff --git a/engines/dragons/minigame2.cpp b/engines/dragons/minigame2.cpp
index 4b0cb049f2..eb65991416 100644
--- a/engines/dragons/minigame2.cpp
+++ b/engines/dragons/minigame2.cpp
@@ -125,9 +125,9 @@ void Minigame2::run(int16 param_1, uint16 param_2, int16 param_3) {
fd->close();
- textIdTbl[0] = 0x4500;
- textIdTbl[1] = 0x454A;
- textIdTbl[2] = 0x4576;
+ textIdTbl[0] = _vm->getDialogTextId(0x4500);
+ textIdTbl[1] = _vm->getDialogTextId(0x454A);
+ textIdTbl[2] = _vm->getDialogTextId(0x4576);
bVar4 = false;
local_27a = 0;
@@ -597,7 +597,7 @@ void Minigame2::run(int16 param_1, uint16 param_2, int16 param_3) {
if (local_258 == 1) {
// playSoundFromTxtIndex(DAT_80063ad0);
loungealotHeadActor->updateSequence(9);
- fun_80093aec_dialog(0x46BC, 0x14, 1);
+ fun_80093aec_dialog(_vm->getDialogTextId(0x46BC), 0x14, 1);
do {
_vm->waitForFrames(1);
} while (_vm->isFlagSet(ENGINE_FLAG_8000));
@@ -606,7 +606,7 @@ void Minigame2::run(int16 param_1, uint16 param_2, int16 param_3) {
} else {
// playSoundFromTxtIndex(DAT_80063ad4);
loungealotHeadActor->updateSequence(10);
- fun_80093aec_dialog(0x4718, 0x14, 1);
+ fun_80093aec_dialog(_vm->getDialogTextId(0x4718), 0x14, 1);
loungealotRightArm->updateSequence(2);
do {
_vm->waitForFrames(1);
@@ -666,11 +666,11 @@ void Minigame2::run(int16 param_1, uint16 param_2, int16 param_3) {
if (local_258 == 1) {
// playSoundFromTxtIndex(DAT_80063ad8);
loungealotHeadActor->updateSequence(0xb);
- fun_80093aec_dialog(0x475E, 0x14, 1);
+ fun_80093aec_dialog(_vm->getDialogTextId(0x475E), 0x14, 1);
} else {
// playSoundFromTxtIndex(DAT_80063adc);
loungealotHeadActor->updateSequence(0xc);
- fun_80093aec_dialog(0x4774, 0x14, 1);
+ fun_80093aec_dialog(_vm->getDialogTextId(0x4774), 0x14, 1);
}
local_258 = 0;
_dat_80093cb4 = 2;
diff --git a/engines/dragons/minigame4.cpp b/engines/dragons/minigame4.cpp
index e246e55a75..71ceee5aa3 100644
--- a/engines/dragons/minigame4.cpp
+++ b/engines/dragons/minigame4.cpp
@@ -130,7 +130,7 @@ void Minigame4::actorTalk(Actor *actorId, uint16 param_2, uint32 textIndex) {
_flickerActor->updateSequence(9);
}
- actorDialog(actorId, (uint)param_2, textIndex);
+ actorDialog(actorId, (uint)param_2, _vm->getDialogTextId(textIndex));
actorId->waitUntilFlag8SetThenSet1000AndWaitFor4();
if (actorId == _bruteActor) {
_bruteActor->updateSequence(0);
@@ -204,8 +204,9 @@ uint16 Minigame4::runDanceBattle() {
currentStep = 0;
while (true) {
if (0x11 < currentStep) {
- _vm->_talk->loadText(0x4C0C, auStack2192, 1000);
- _vm->_talk->displayDialogAroundPoint(auStack2192, 0x27, 0xc, 0x3321, 0, 0x4C0C);
+ uint32 textId = _vm->getDialogTextId(0x4C0C);
+ _vm->_talk->loadText(textId, auStack2192, 1000);
+ _vm->_talk->displayDialogAroundPoint(auStack2192, 0x27, 0xc, 0x3321, 0, textId);
_vm->waitForFrames(0x10a);
_bruteActor->updateSequence(8);
_vm->_fontManager->clearText();
diff --git a/engines/dragons/minigame5.cpp b/engines/dragons/minigame5.cpp
index bc533a9fcd..f6e66d7344 100644
--- a/engines/dragons/minigame5.cpp
+++ b/engines/dragons/minigame5.cpp
@@ -32,10 +32,6 @@ namespace Dragons {
#define DAT_80063a48 0x12d
#define DAT_80063a40 0x12f
#define DAT_80063bd0 0x133
-#define DAT_8006393c 0x21BF0
-#define DAT_80063938 0x21DAE
-#define DAT_80063e38 0x21E3E
-#define DAT_8006391c 0x475DA
Minigame5::Minigame5(DragonsEngine *vm) : _vm(vm), _dat_800633e6(0) {}
@@ -348,12 +344,14 @@ void Minigame5::run() {
_vm->waitForFrames(0x3c);
pusherActor->updateSequence(0xb);
if (_dat_800633e6 == 0) {
- _vm->_talk->loadText(DAT_8006393c, auStack2120, 1000);
- _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, DAT_8006393c);
+ uint32 textId = _vm->getDialogTextId(0x21BF0);
+ _vm->_talk->loadText(textId, auStack2120, 1000);
+ _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, textId);
_dat_800633e6 = 1;
} else {
- _vm->_talk->loadText(DAT_80063938, auStack2120, 1000);
- _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, DAT_80063938);
+ uint32 textId = _vm->getDialogTextId(0x21DAE);
+ _vm->_talk->loadText(textId, auStack2120, 1000);
+ _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, textId);
}
_vm->waitForFrames(10);
local_10 = 1;
@@ -372,14 +370,14 @@ void Minigame5::run() {
pusherActor->updateSequence(0);
_vm->_dragonINIResource->getRecord(DAT_80063bd0 + -1)->actor->updateSequence(2);
_vm->waitForFrames(0x12);
- _vm->_talk->loadText(DAT_80063e38, auStack2120, 1000);
- _vm->_talk->displayDialogAroundPoint(auStack2120, 0xf, 2, 0x501, 0, DAT_80063e38);
+ _vm->_talk->loadText(_vm->getDialogTextId(0x21E3E), auStack2120, 1000);
+ _vm->_talk->displayDialogAroundPoint(auStack2120, 0xf, 2, 0x501, 0, _vm->getDialogTextId(0x21E3E));
_vm->clearAllText();
_vm->_dragonINIResource->getRecord(DAT_80063bd0 + -1)->actor->updateSequence(3);
_vm->_dragonINIResource->getRecord(DAT_80063bd0 + -1)->actor->waitUntilFlag8And4AreSet();
pusherActor->updateSequence(7);
- _vm->_talk->loadText(DAT_8006391c, auStack2120, 1000);
- _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, DAT_8006391c);
+ _vm->_talk->loadText(_vm->getDialogTextId(0x475DA), auStack2120, 1000);
+ _vm->_talk->displayDialogAroundPoint(auStack2120, (int)(short)(local_850 >> 3), 0xc, 0, 1, _vm->getDialogTextId(0x475DA));
pusherActor->_flags = pusherActor->_flags | 0x1000;
local_10 = 2;
//local_48 = 1;
More information about the Scummvm-git-logs
mailing list