[Scummvm-git-logs] scummvm branch-2-2 -> b012ba4f23ba7f3ed8109ad90a875ec2c5e38ce4
yuv422
yuv422 at users.noreply.github.com
Fri Sep 11 13:48:03 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:
b012ba4f23 DRAGONS: Fixed background dialog for non US versions. Fixes #11616
Commit: b012ba4f23ba7f3ed8109ad90a875ec2c5e38ce4
https://github.com/scummvm/scummvm/commit/b012ba4f23ba7f3ed8109ad90a875ec2c5e38ce4
Author: Eric Fry (yuv422 at users.noreply.github.com)
Date: 2020-09-11T23:47:39+10:00
Commit Message:
DRAGONS: Fixed background dialog for non US versions. Fixes #11616
Changed paths:
engines/dragons/dragons.cpp
engines/dragons/specialopcodes.cpp
diff --git a/engines/dragons/dragons.cpp b/engines/dragons/dragons.cpp
index 9d1a4f0877..53ae0ff02c 100644
--- a/engines/dragons/dragons.cpp
+++ b/engines/dragons/dragons.cpp
@@ -1921,7 +1921,6 @@ uint32 DragonsEngine::getDialogTextIdDe(uint32 textId) {
case 0x7c20 : return 0x90fa;
case 0x7c9c : return 0x9196;
case 0x7cf2 : return 0x91fa;
-// case 0x7dcc : return 0x92da;
case 0x7e1a : return 0x9324;
case 0x7e96 : return 0x93e2;
case 0x7f0a : return 0x9464;
@@ -1942,7 +1941,6 @@ uint32 DragonsEngine::getDialogTextIdDe(uint32 textId) {
case 0x92aa : return 0xab3c;
case 0x932c : return 0xabc0;
case 0x93d6 : return 0xac52;
-// case 0x7dcc : return 0x92da;
case 0x948c : return 0xad16;
// tournament
@@ -1954,9 +1952,155 @@ uint32 DragonsEngine::getDialogTextIdDe(uint32 textId) {
case 0x4c814 : return 0x556c4;
case 0x4c852 : return 0x556fc;
- //for camelhot
+ //for camelhot
case 0x30DD8 : return 0x36594;
+ // castle garden bg dialog
+ case 0x22660 : return 0x267ec;
+ case 0x226CA : return 0x2687a;
+ case 0x22738 : return 0x2690a;
+ case 0x22790 : return 0x26972;
+ case 0x227E8 : return 0x269e6;
+ case 0x2283C : return 0x26a44;
+ case 0x228A0 : return 0x26ac4;
+ case 0x228EC : return 0x26b1e;
+
+ // knight pool reflection logic
+ case 0x23E90 : return 0x28456;
+ case 0x23EE6 : return 0x284aa;
+ case 0x23F0C : return 0x284e0;
+ case 0x23F86 : return 0x2856c;
+ case 0x24000 : return 0x285c4;
+ case 0x2406A : return 0x2863c;
+ case 0x240C2 : return 0x286a0;
+ case 0x2411E : return 0x28706;
+ case 0x24158 : return 0x28746;
+ case 0x241BC : return 0x287a6;
+ case 0x241EE : return 0x287d6;
+ case 0x24240 : return 0x28832;
+ case 0x24286 : return 0x2887e;
+ case 0x242B0 : return 0x288ae;
+ case 0x2431C : return 0x2891e;
+ case 0x2437C : return 0x28994;
+ case 0x243B2 : return 0x289dc;
+ case 0x2440A : return 0x28a46;
+ case 0x24432 : return 0x28a7e;
+ case 0x24480 : return 0x28ac8;
+ case 0x244EE : return 0x28b40;
+ case 0x2453C : return 0x28b9e;
+
+ // Zigmond fraud logic
+ case 0x2D000 : return 0x32312;
+ case 0x2D044 : return 0x32364;
+ case 0x2D0B2 : return 0x323d0;
+ case 0x2D0D6 : return 0x323fc;
+ case 0x2D152 : return 0x32490;
+ case 0x2D1A4 : return 0x324f0;
+ case 0x2D20A : return 0x32566;
+ case 0x2D27C : return 0x325f0;
+ case 0x2D2EC : return 0x32674;
+ case 0x2D336 : return 0x326c6;
+ case 0x2D3E0 : return 0x3274c;
+ case 0x2D456 : return 0x327d2;
+ case 0x2D4A8 : return 0x3283c;
+ case 0x2D504 : return 0x328a0;
+
+ // Zigmond fraud logic 1
+ case 0x2F422 : return 0x348c6;
+
+ // Black dragon on hill
+ case 0x325EA : return 0x37f94;
+ case 0x3262A : return 0x38000;
+ case 0x32686 : return 0x3806c;
+ case 0x326D8 : return 0x380fc;
+ case 0x3270E : return 0x3814a;
+ case 0x32774 : return 0x381a2;
+ case 0x32D72 : return 0x38850;
+
+ // Jester in library
+ case 0x18502 : return 0x1b7f8;
+ case 0x185E0 : return 0x1b900;
+ case 0x18596 : return 0x1b8a4;
+
+ // Broken black dragon
+ case 0x40802 : return 0x47ec2;
+ case 0x40852 : return 0x47f2a;
+ case 0x40896 : return 0x47f70;
+ case 0x408C0 : return 0x48000;
+ case 0x4092A : return 0x48084;
+
+ // Dodo under attack
+ case 0x3353A : return 0x39100;
+ case 0x335AC : return 0x3917e;
+ case 0x335F8 : return 0x391e4;
+ case 0x33660 : return 0x39252;
+ case 0x336DE : return 0x392da;
+ case 0x3375C : return 0x39364;
+
+ // Forest without dodo
+ case 0x33EA0 : return 0x39c02;
+ case 0x33EFC : return 0x39c98;
+ case 0x33F34 : return 0x39cd0;
+ case 0x34000 : return 0x39d30;
+ case 0x34074 : return 0x39dc4;
+
+ // Angry villagers
+ case 0x35946 : return 0x3ba7e;
+ case 0x359BC : return 0x3baee;
+ case 0x35A38 : return 0x3bb68;
+ case 0x35ABC : return 0x3bbd4;
+ case 0x35B28 : return 0x3bc68;
+ case 0x35B9C : return 0x3bcd4;
+ case 0x35C10 : return 0x3bd78;
+ case 0x35C80 : return 0x3be0e;
+ case 0x35CFA : return 0x3be96;
+ case 0x35D64 : return 0x3bf26;
+
+ // Flame bedroom escape
+ case 0x10458 : return 0x12ac2;
+ case 0x104A0 : return 0x12b16;
+ case 0x10500 : return 0x12b72;
+ case 0x10550 : return 0x12bb6;
+ case 0x10578 : return 0x12be6;
+
+ // Lady of the lake captured
+ case 0x490C8 : return 0x51ace;
+ case 0x490FC : return 0x51b04;
+ case 0x4913A : return 0x51b3e;
+
+ // Men in mines
+ case 0x4590A : return 0x4db1c;
+ case 0x45994 : return 0x4dbba;
+ case 0x459F4 : return 0x4dc2c;
+ case 0x45A60 : return 0x4dc92;
+
+ // Moat drained
+ case 0x3C97A : return 0x43830;
+ case 0x3C9AC : return 0x43870;
+ case 0x3C9F8 : return 0x438dc;
+ case 0x3CA48 : return 0x43966;
+
+ // Monks at bar
+ case 0x37800 : return 0x3db58;
+ case 0x37854 : return 0x3dba0;
+ case 0x378CA : return 0x3dc1e;
+ case 0x39152 : return 0x3f754;
+ case 0x3919A : return 0x3f78a;
+ case 0x3922C : return 0x3f82a;
+
+ case 0x38F2A : return 0x3f52c;
+ case 0x39000 : return 0x3f5a0;
+ case 0x39084 : return 0x3f65a;
+ case 0x390E8 : return 0x3f6d6;
+
+ case 0x38C68 : return 0x3f25e;
+ case 0x38CE2 : return 0x3f2da;
+ case 0x38D4E : return 0x3f348;
+ case 0x38DC2 : return 0x3f3ba;
+ case 0x38E0C : return 0x3f3f4;
+ case 0x38E5C : return 0x3f44a;
+ case 0x38ED0 : return 0x3f4c0;
+
default: break;
}
warning("Unhandled textID 0x%x", textId);
@@ -2012,7 +2156,6 @@ uint32 DragonsEngine::getDialogTextIdFr(uint32 textId) {
case 0x7c20 : return 0x8afe;
case 0x7c9c : return 0x8b92;
case 0x7cf2 : return 0x8bda;
-// case 0x7dcc : return 0x8cc0;
case 0x7e1a : return 0x8d0e;
case 0x7e96 : return 0x8da6;
case 0x7f0a : return 0x8e30;
@@ -2033,7 +2176,6 @@ uint32 DragonsEngine::getDialogTextIdFr(uint32 textId) {
case 0x92aa : return 0xa35e;
case 0x932c : return 0xa400;
case 0x93d6 : return 0xa4d2;
-// case 0x7dcc : return 0x8cc0;
case 0x948c : return 0xa5b6;
// tournament
@@ -2048,6 +2190,152 @@ uint32 DragonsEngine::getDialogTextIdFr(uint32 textId) {
//for camelhot
case 0x30DD8 : return 0x37cb8;
+ // castle garden bg dialog
+ case 0x22660 : return 0x271a4;
+ case 0x226CA : return 0x27214;
+ case 0x22738 : return 0x27292;
+ case 0x22790 : return 0x272ee;
+ case 0x227E8 : return 0x27366;
+ case 0x2283C : return 0x273c8;
+ case 0x228A0 : return 0x2743a;
+ case 0x228EC : return 0x274a2;
+
+ // knight pool reflection logic
+ case 0x23E90 : return 0x28da8;
+ case 0x23EE6 : return 0x28e16;
+ case 0x23F0C : return 0x28e42;
+ case 0x23F86 : return 0x28ec0;
+ case 0x24000 : return 0x28efa;
+ case 0x2406A : return 0x28f64;
+ case 0x240C2 : return 0x29000;
+ case 0x2411E : return 0x29068;
+ case 0x24158 : return 0x290a6;
+ case 0x241BC : return 0x29114;
+ case 0x241EE : return 0x2914a;
+ case 0x24240 : return 0x291b2;
+ case 0x24286 : return 0x29206;
+ case 0x242B0 : return 0x29234;
+ case 0x2431C : return 0x292a8;
+ case 0x2437C : return 0x29332;
+ case 0x243B2 : return 0x2937e;
+ case 0x2440A : return 0x293d0;
+ case 0x24432 : return 0x293f2;
+ case 0x24480 : return 0x29434;
+ case 0x244EE : return 0x294a8;
+ case 0x2453C : return 0x29500;
+
+ // Zigmond fraud logic
+ case 0x2D000 : return 0x33602;
+ case 0x2D044 : return 0x33654;
+ case 0x2D0B2 : return 0x336d2;
+ case 0x2D0D6 : return 0x336f6;
+ case 0x2D152 : return 0x337c2;
+ case 0x2D1A4 : return 0x33818;
+ case 0x2D20A : return 0x338a2;
+ case 0x2D27C : return 0x33952;
+ case 0x2D2EC : return 0x33a06;
+ case 0x2D336 : return 0x33a56;
+ case 0x2D3E0 : return 0x33b24;
+ case 0x2D456 : return 0x33bd0;
+ case 0x2D4A8 : return 0x33c36;
+ case 0x2D504 : return 0x33c9e;
+
+ // Zigmond fraud logic 1
+ case 0x2F422 : return 0x3608a;
+
+ // Black dragon on hill
+ case 0x325EA : return 0x39822;
+ case 0x3262A : return 0x3986e;
+ case 0x32686 : return 0x398dc;
+ case 0x326D8 : return 0x39944;
+ case 0x3270E : return 0x39982;
+ case 0x32774 : return 0x39a08;
+ case 0x32D72 : return 0x3a162;
+
+ // Jester in library
+ case 0x18502 : return 0x1b6d6;
+ case 0x185E0 : return 0x1b7e2;
+ case 0x18596 : return 0x1b790;
+
+ // Broken black dragon
+ case 0x40802 : return 0x4a178;
+ case 0x40852 : return 0x4a1d2;
+ case 0x40896 : return 0x4a212;
+ case 0x408C0 : return 0x4a252;
+ case 0x4092A : return 0x4a310;
+
+ // Dodo under attack
+ case 0x3353A : return 0x3aa2a;
+ case 0x335AC : return 0x3aaae;
+ case 0x335F8 : return 0x3ab02;
+ case 0x33660 : return 0x3ab9c;
+ case 0x336DE : return 0x3ac46;
+ case 0x3375C : return 0x3acf0;
+
+ // Forest without dodo
+ case 0x33EA0 : return 0x3b63a;
+ case 0x33EFC : return 0x3b6b2;
+ case 0x33F34 : return 0x3b6e8;
+ case 0x34000 : return 0x3b76a;
+ case 0x34074 : return 0x3b7e2;
+
+ // Angry villagers
+ case 0x35946 : return 0x3d476;
+ case 0x359BC : return 0x3d4fa;
+ case 0x35A38 : return 0x3d570;
+ case 0x35ABC : return 0x3d64e;
+ case 0x35B28 : return 0x3d6cc;
+ case 0x35B9C : return 0x3d71a;
+ case 0x35C10 : return 0x3d79e;
+ case 0x35C80 : return 0x3d81e;
+ case 0x35CFA : return 0x3d8be;
+ case 0x35D64 : return 0x3d94c;
+
+ // Flame bedroom escape
+ case 0x10458 : return 0x12598;
+ case 0x104A0 : return 0x125f4;
+ case 0x10500 : return 0x12664;
+ case 0x10550 : return 0x12692;
+ case 0x10578 : return 0x126d4;
+
+ // Lady of the lake captured
+ case 0x490C8 : return 0x53ef8;
+ case 0x490FC : return 0x53f42;
+ case 0x4913A : return 0x54000;
+
+ // Men in mines
+ case 0x4590A : return 0x50000;
+ case 0x45994 : return 0x500be;
+ case 0x459F4 : return 0x50142;
+ case 0x45A60 : return 0x501a0;
+
+ // Moat drained
+ case 0x3C97A : return 0x45826;
+ case 0x3C9AC : return 0x45862;
+ case 0x3C9F8 : return 0x458c0;
+ case 0x3CA48 : return 0x4595e;
+
+ // Monks at bar
+ case 0x37800 : return 0x3f7d4;
+ case 0x37854 : return 0x3f84e;
+ case 0x378CA : return 0x3f8b2;
+ case 0x39152 : return 0x4153a;
+ case 0x3919A : return 0x4157e;
+ case 0x3922C : return 0x41616;
+
+ case 0x38F2A : return 0x41388;
+ case 0x39000 : return 0x413f4;
+ case 0x39084 : return 0x4147e;
+ case 0x390E8 : return 0x414d4;
+
+ case 0x38C68 : return 0x41000;
+ case 0x38CE2 : return 0x41098;
+ case 0x38D4E : return 0x41126;
+ case 0x38DC2 : return 0x411b2;
+ case 0x38E0C : return 0x41218;
+ case 0x38E5C : return 0x41278;
+ case 0x38ED0 : return 0x412fa;
+
default: break;
}
warning("Unhandled textID 0x%x", textId);
diff --git a/engines/dragons/specialopcodes.cpp b/engines/dragons/specialopcodes.cpp
index fff40a646f..c9b9535af6 100644
--- a/engines/dragons/specialopcodes.cpp
+++ b/engines/dragons/specialopcodes.cpp
@@ -255,14 +255,14 @@ void SpecialOpcodes::spcDancingMiniGame() {
}
void SpecialOpcodes::spcCastleGardenLogic() {
- sceneUpdater.textTbl[0][0] = 0x22660;
- sceneUpdater.textTbl[0][1] = 0x226CA;
- sceneUpdater.textTbl[1][0] = 0x22738;
- sceneUpdater.textTbl[1][1] = 0x22790;
- sceneUpdater.textTbl[2][0] = 0x227E8;
- sceneUpdater.textTbl[2][1] = 0x2283C;
- sceneUpdater.textTbl[3][0] = 0x228A0;
- sceneUpdater.textTbl[3][1] = 0x228EC;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x22660);
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x226CA);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x22738);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x22790);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x227E8);
+ sceneUpdater.textTbl[2][1] = _vm->getDialogTextId(0x2283C);
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x228A0);
+ sceneUpdater.textTbl[3][1] = _vm->getDialogTextId(0x228EC);
if (_vm->getCurrentSceneId() == 0x1a) {
sceneUpdater.sequenceIDTbl[0][0] = 1;
sceneUpdater.sequenceIDTbl[1][0] = 1;
@@ -374,28 +374,28 @@ void SpecialOpcodes::spcSetEngineFlag8() {
}
void SpecialOpcodes::spcKnightPoolReflectionLogic() {
- sceneUpdater.textTbl[0][0] = 0x23E90;
- sceneUpdater.textTbl[0][1] = 0x23EE6;
- sceneUpdater.textTbl[0][2] = 0x23F0C;
- sceneUpdater.textTbl[0][3] = 0x23F86;
- sceneUpdater.textTbl[1][0] = 0x24000;
- sceneUpdater.textTbl[1][1] = 0x2406A;
- sceneUpdater.textTbl[2][0] = 0x240C2;
- sceneUpdater.textTbl[2][1] = 0x2411E;
- sceneUpdater.textTbl[2][2] = 0x24158;
- sceneUpdater.textTbl[2][3] = 0x241BC;
- sceneUpdater.textTbl[2][4] = 0x241EE;
- sceneUpdater.textTbl[3][0] = 0x24240;
- sceneUpdater.textTbl[3][1] = 0x24286;
- sceneUpdater.textTbl[3][2] = 0x242B0;
- sceneUpdater.textTbl[3][3] = 0x2431C;
- sceneUpdater.textTbl[4][0] = 0x2437C;
- sceneUpdater.textTbl[4][1] = 0x243B2;
- sceneUpdater.textTbl[4][2] = 0x2440A;
- sceneUpdater.textTbl[4][3] = 0x24432;
- sceneUpdater.textTbl[5][0] = 0x24480;
- sceneUpdater.textTbl[5][1] = 0x244EE;
- sceneUpdater.textTbl[5][2] = 0x2453C;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x23E90);
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x23EE6);
+ sceneUpdater.textTbl[0][2] = _vm->getDialogTextId(0x23F0C);
+ sceneUpdater.textTbl[0][3] = _vm->getDialogTextId(0x23F86);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x24000);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x2406A);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x240C2);
+ sceneUpdater.textTbl[2][1] = _vm->getDialogTextId(0x2411E);
+ sceneUpdater.textTbl[2][2] = _vm->getDialogTextId(0x24158);
+ sceneUpdater.textTbl[2][3] = _vm->getDialogTextId(0x241BC);
+ sceneUpdater.textTbl[2][4] = _vm->getDialogTextId(0x241EE);
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x24240);
+ sceneUpdater.textTbl[3][1] = _vm->getDialogTextId(0x24286);
+ sceneUpdater.textTbl[3][2] = _vm->getDialogTextId(0x242B0);
+ sceneUpdater.textTbl[3][3] = _vm->getDialogTextId(0x2431C);
+ sceneUpdater.textTbl[4][0] = _vm->getDialogTextId(0x2437C);
+ sceneUpdater.textTbl[4][1] = _vm->getDialogTextId(0x243B2);
+ sceneUpdater.textTbl[4][2] = _vm->getDialogTextId(0x2440A);
+ sceneUpdater.textTbl[4][3] = _vm->getDialogTextId(0x24432);
+ sceneUpdater.textTbl[5][0] = _vm->getDialogTextId(0x24480);
+ sceneUpdater.textTbl[5][1] = _vm->getDialogTextId(0x244EE);
+ sceneUpdater.textTbl[5][2] = _vm->getDialogTextId(0x2453C);
sceneUpdater.iniIDTbl[0][0] = 0x155;
sceneUpdater.iniIDTbl[0][1] = 0x14B;
@@ -635,16 +635,16 @@ void SpecialOpcodes::spcNoop1() {
}
void SpecialOpcodes::spcTownAngryVillagersSceneLogic() {
- sceneUpdater.textTbl[0][0] = 0x35946;
- sceneUpdater.textTbl[0][1] = 0x359BC;
- sceneUpdater.textTbl[1][0] = 0x35A38;
- sceneUpdater.textTbl[1][1] = 0x35ABC;
- sceneUpdater.textTbl[2][0] = 0x35B28;
- sceneUpdater.textTbl[2][1] = 0x35B9C;
- sceneUpdater.textTbl[3][0] = 0x35C10;
- sceneUpdater.textTbl[3][1] = 0x35C80;
- sceneUpdater.textTbl[4][0] = 0x35CFA;
- sceneUpdater.textTbl[4][1] = 0x35D64;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x35946);
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x359BC);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x35A38);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x35ABC);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x35B28);
+ sceneUpdater.textTbl[2][1] = _vm->getDialogTextId(0x35B9C);
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x35C10);
+ sceneUpdater.textTbl[3][1] = _vm->getDialogTextId(0x35C80);
+ sceneUpdater.textTbl[4][0] = _vm->getDialogTextId(0x35CFA);
+ sceneUpdater.textTbl[4][1] = _vm->getDialogTextId(0x35D64);
sceneUpdater.iniIDTbl[0][0] = 0x1DC;
sceneUpdater.iniIDTbl[0][1] = 0x1DD;
sceneUpdater.iniIDTbl[1][0] = 0x1DC;
@@ -728,20 +728,20 @@ void SpecialOpcodes::spcZigmondFraudSceneLogic() {
sceneUpdater.sequenceIDTbl[7][0] = 2;
sceneUpdater.sequenceIDTbl[7][1] = 0xe;
- sceneUpdater.textTbl[0][0] = 0x2D000;
- sceneUpdater.textTbl[0][1] = 0x2D044;
- sceneUpdater.textTbl[1][0] = 0x2D0B2;
- sceneUpdater.textTbl[1][1] = 0x2D0D6;
- sceneUpdater.textTbl[2][0] = 0x2D152;
- sceneUpdater.textTbl[3][0] = 0x2D1A4;
- sceneUpdater.textTbl[4][0] = 0x2D20A;
- sceneUpdater.textTbl[4][1] = 0x2D27C;
- sceneUpdater.textTbl[5][0] = 0x2D2EC;
- sceneUpdater.textTbl[5][1] = 0x2D336;
- sceneUpdater.textTbl[6][0] = 0x2D3E0;
- sceneUpdater.textTbl[6][1] = 0x2D456;
- sceneUpdater.textTbl[7][0] = 0x2D4A8;
- sceneUpdater.textTbl[7][1] = 0x2D504;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x2D000);
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x2D044);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x2D0B2);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x2D0D6);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x2D152);
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x2D1A4);
+ sceneUpdater.textTbl[4][0] = _vm->getDialogTextId(0x2D20A);
+ sceneUpdater.textTbl[4][1] = _vm->getDialogTextId(0x2D27C);
+ sceneUpdater.textTbl[5][0] = _vm->getDialogTextId(0x2D2EC);
+ sceneUpdater.textTbl[5][1] = _vm->getDialogTextId(0x2D336);
+ sceneUpdater.textTbl[6][0] = _vm->getDialogTextId(0x2D3E0);
+ sceneUpdater.textTbl[6][1] = _vm->getDialogTextId(0x2D456);
+ sceneUpdater.textTbl[7][0] = _vm->getDialogTextId(0x2D4A8);
+ sceneUpdater.textTbl[7][1] = _vm->getDialogTextId(0x2D504);
setupTableBasedSceneUpdateFunction(0x168, 8, 0xb4);
}
@@ -750,7 +750,7 @@ void SpecialOpcodes::spcZigmondFraudSceneLogic1() {
sceneUpdater.numSteps[0] = 1;
sceneUpdater.iniIDTbl[0][0] = 0x197;
sceneUpdater.sequenceIDTbl[0][0] = 0x12;
- sceneUpdater.textTbl[0][0] = 0x2F422; //TODO this might change between game versions
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x2F422);
setupTableBasedSceneUpdateFunction(300, 1, 0x708);
}
@@ -764,11 +764,11 @@ void SpecialOpcodes::spcBrokenBlackDragonSceneLogic() {
sceneUpdater.sequenceIDTbl[2][1] = 2;
sceneUpdater.numSteps[1] = 2;
sceneUpdater.numSteps[2] = 2;
- sceneUpdater.textTbl[0][0] = 0x40802;
- sceneUpdater.textTbl[1][0] = 0x40852;
- sceneUpdater.textTbl[1][1] = 0x40896;
- sceneUpdater.textTbl[2][0] = 0x408C0;
- sceneUpdater.textTbl[2][1] = 0x4092A;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x40802);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x40852);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x40896);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x408C0);
+ sceneUpdater.textTbl[2][1] = _vm->getDialogTextId(0x4092A);
sceneUpdater.iniIDTbl[0][0] = 0x23B;
sceneUpdater.iniIDTbl[1][0] = 0x23B;
sceneUpdater.iniIDTbl[1][1] = 0x231;
@@ -786,17 +786,17 @@ void SpecialOpcodes::spcDodoUnderAttackSceneLogic() {
sceneUpdater.sequenceIDTbl[5][0] = 8;
sceneUpdater.numSteps[0] = 1;
sceneUpdater.numSteps[1] = 1;
- sceneUpdater.textTbl[0][0] = 0x3353A;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x3353A);
sceneUpdater.iniIDTbl[0][0] = 0x1C4;
- sceneUpdater.textTbl[1][0] = 0x335AC;
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x335AC);
sceneUpdater.iniIDTbl[1][0] = 0x1C4;
- sceneUpdater.textTbl[2][0] = 0x335F8;
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x335F8);
sceneUpdater.iniIDTbl[2][0] = 0x1C4;
- sceneUpdater.textTbl[3][0] = 0x33660;
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x33660);
sceneUpdater.iniIDTbl[3][0] = 0x1C4;
- sceneUpdater.textTbl[4][0] = 0x336DE;
+ sceneUpdater.textTbl[4][0] = _vm->getDialogTextId(0x336DE);
sceneUpdater.iniIDTbl[4][0] = 0x1C4;
- sceneUpdater.textTbl[5][0] = 0x3375C;
+ sceneUpdater.textTbl[5][0] = _vm->getDialogTextId(0x3375C);
sceneUpdater.iniIDTbl[5][0] = 0x1C4;
sceneUpdater.numSteps[2] = 1;
sceneUpdater.numSteps[3] = 1;
@@ -813,15 +813,15 @@ void SpecialOpcodes::spcForestWithoutDodoSceneLogic() {
sceneUpdater.numSteps[0] = 2;
sceneUpdater.numSteps[1] = 3;
sceneUpdater.sequenceIDTbl[1][1] = 5;
- sceneUpdater.textTbl[0][0] = 0x33EA0;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x33EA0);
sceneUpdater.iniIDTbl[0][0] = 0x1C5;
- sceneUpdater.textTbl[0][1] = 0x33EFC;
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x33EFC);
sceneUpdater.iniIDTbl[0][1] = 0x1C4;
- sceneUpdater.textTbl[1][0] = 0x33F34;
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x33F34);
sceneUpdater.iniIDTbl[1][0] = 0x1C4;
- sceneUpdater.textTbl[1][1] = 0x34000;
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x34000);
sceneUpdater.iniIDTbl[1][1] = 0x1C5;
- sceneUpdater.textTbl[1][2] = 0x34074;
+ sceneUpdater.textTbl[1][2] = _vm->getDialogTextId(0x34074);
sceneUpdater.iniIDTbl[1][2] = 0x1C4;
setupTableBasedSceneUpdateFunction(300, 2, 600);
}
@@ -835,13 +835,13 @@ void SpecialOpcodes::spcBlackDragonOnHillSceneLogic() {
sceneUpdater.sequenceIDTbl[2][1] = 7;
sceneUpdater.sequenceIDTbl[3][0] = 3;
sceneUpdater.numSteps[0] = 2;
- sceneUpdater.textTbl[0][0] = 0x325EA;
- sceneUpdater.textTbl[0][1] = 0x3262A;
- sceneUpdater.textTbl[1][0] = 0x32686;
- sceneUpdater.textTbl[1][1] = 0x326D8;
- sceneUpdater.textTbl[2][0] = 0x3270E;
- sceneUpdater.textTbl[2][1] = 0x32774;
- sceneUpdater.textTbl[3][0] = 0x32D72;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x325EA);
+ sceneUpdater.textTbl[0][1] = _vm->getDialogTextId(0x3262A);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x32686);
+ sceneUpdater.textTbl[1][1] = _vm->getDialogTextId(0x326D8);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x3270E);
+ sceneUpdater.textTbl[2][1] = _vm->getDialogTextId(0x32774);
+ sceneUpdater.textTbl[3][0] = _vm->getDialogTextId(0x32D72);
sceneUpdater.iniIDTbl[0][0] = 0x1B6;
sceneUpdater.iniIDTbl[0][1] = 0x1B7;
sceneUpdater.iniIDTbl[1][0] = 0x1B6;
@@ -1221,9 +1221,9 @@ void SpecialOpcodes::spcJesterInLibrarySceneLogic() {
sceneUpdater.numSteps[0] = 1;
sceneUpdater.numSteps[1] = 1;
sceneUpdater.numSteps[2] = 1;
- sceneUpdater.textTbl[0][0] = 0x18502;
- sceneUpdater.textTbl[1][0] = 0x185E0;
- sceneUpdater.textTbl[2][0] = 0x18596;
+ sceneUpdater.textTbl[0][0] = _vm->getDialogTextId(0x18502);
+ sceneUpdater.textTbl[1][0] = _vm->getDialogTextId(0x185E0);
+ sceneUpdater.textTbl[2][0] = _vm->getDialogTextId(0x18596);
sceneUpdater.iniIDTbl[0][0] = 0xD7;
sceneUpdater.iniIDTbl[1][0] = 0xD7;
sceneUpdater.iniIDTbl[2][0] = 0xD7;
@@ -1540,7 +1540,7 @@ void ladyOfTheLakeCapturedUpdateFunction() {
if (!vm->isFlagSet(ENGINE_FLAG_8000)) {
ladyofLakeCountdownTimer--;
if (ladyofLakeCountdownTimer == 0) {
- vm->_talk->playDialogAudioDontWait(dialogTbl[ladyOfLakeDialogIndex]);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(dialogTbl[ladyOfLakeDialogIndex]));
if (ladyOfLakeDialogIndex == 2) {
ladyOfLakeDialogIndex = 0;
} else {
@@ -1590,7 +1590,7 @@ void menInMinesSceneUpdateFunction() {
return;
}
vm->_scriptOpcodes->_specialOpCodes->setSpecialOpCounter(vm->getRand(5) * 0x3c + 0x708);
- vm->_talk->playDialogAudioDontWait(sceneUpdateFuncDialogTbl[vm->getRand(4)]);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(sceneUpdateFuncDialogTbl[vm->getRand(4)]));
sequenceId = 2;
} else {
if (!vm->_isLoadingDialogAudio) {
@@ -1656,7 +1656,7 @@ void monksAtBarSceneUpdateFunction() {
barKeeper->updateSequence(2);
textIndex = sceneUpdateFuncDialogTbl[vm->getRand(3)];
}
- vm->_talk->playDialogAudioDontWait(textIndex);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(textIndex));
monksAtBarCurrentState = 1;
specialOpCounter = 0;
break;
@@ -1677,7 +1677,7 @@ void monksAtBarSceneUpdateFunction() {
} else {
monk2->updateSequence(10);
}
- vm->_talk->playDialogAudioDontWait(barKeeperTextIdTbl[randTextId]);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(barKeeperTextIdTbl[randTextId]));
monksAtBarCurrentState = 3;
specialOpCounter = 0;
break;
@@ -1696,7 +1696,7 @@ void monksAtBarSceneUpdateFunction() {
barKeeper->updateSequence(2);
textIndex = DAT_800832f0[vm->getRand(4)];
}
- vm->_talk->playDialogAudioDontWait(textIndex);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(textIndex));
monksAtBarCurrentState = 5;
specialOpCounter = 0;
break;
@@ -1792,7 +1792,7 @@ void monksAtBarSceneUpdateFunction() {
void flameEscapeSceneUpdateFunction() {
static const uint32 dialogTbl[6] = {
- 0x10458, 0x104A0, 0x10500, 0x10500, 0x10550, 0x10578 //TODO support multiple languages
+ 0x10458, 0x104A0, 0x10500, 0x10500, 0x10550, 0x10578
};
static bool DAT_800634c0 = false;
DragonsEngine *vm = getEngine();
@@ -1810,7 +1810,7 @@ void flameEscapeSceneUpdateFunction() {
if (specialOpCounter == 0) {
if (DAT_800634c0 == 0) {
flame->updateSequence(0x12);
- vm->_talk->playDialogAudioDontWait(dialogTbl[vm->getRand(6)]);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(dialogTbl[vm->getRand(6)]));
specialOpCounter = 0;
DAT_800634c0 = 1;
} else {
@@ -1878,7 +1878,7 @@ void moatDrainedSceneUpdateFunction() {
}
if (moatDrainedUpdateCounter <= 0) {
if (!moatDrainedStatus) {
- vm->_talk->playDialogAudioDontWait(moatDrainedTextIdTbl[vm->getRand(4)]);
+ vm->_talk->playDialogAudioDontWait(vm->getDialogTextId(moatDrainedTextIdTbl[vm->getRand(4)]));
moatDrainedStatus = true;
moatDrainedUpdateCounter = 0x1e;
} else {
More information about the Scummvm-git-logs
mailing list