mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-03 17:33:05 +00:00
DRAGONS: Fixed background dialog for non US versions. Fixes #11616
This commit is contained in:
parent
cff73c14d1
commit
bc59673407
@ -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);
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user