aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorathrxx2011-06-13 17:38:28 +0200
committerJohannes Schickel2011-12-26 16:18:11 +0100
commitadbf14c3c480890dfb155b896d1805e102311aa9 (patch)
tree44adbe69122f02d4315a099514500785a14ada82
parent9a6be57afd843b0cae09633b3745b104034100fa (diff)
downloadscummvm-rg350-adbf14c3c480890dfb155b896d1805e102311aa9.tar.gz
scummvm-rg350-adbf14c3c480890dfb155b896d1805e102311aa9.tar.bz2
scummvm-rg350-adbf14c3c480890dfb155b896d1805e102311aa9.zip
KYRA: (EOB) - update static resources (menu strings)
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp58
-rw-r--r--devtools/create_kyradat/create_kyradat.h20
-rw-r--r--devtools/create_kyradat/games.cpp37
-rw-r--r--devtools/create_kyradat/tables.cpp154
-rw-r--r--engines/kyra/eobcommon.h22
-rw-r--r--engines/kyra/gui_eob.cpp28
-rw-r--r--engines/kyra/resource.h20
-rw-r--r--engines/kyra/staticres_eob.cpp20
8 files changed, 357 insertions, 2 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index d27b5c10fa..d28e5b2e77 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -251,6 +251,26 @@ const ExtractFilename extractFilenames[] = {
{ kEobBaseCancelStrings, kTypeStringList, true },
{ kEobBaseAbortStrings, kTypeStringList, true },
+ { kEobBaseMenuStringsMain, kTypeStringList, true },
+ { kEobBaseMenuStringsSaveLoad, kTypeStringList, true },
+ { kEobBaseMenuStringsOnOff, kTypeStringList, true },
+ { kEobBaseMenuStringsSpells, kTypeStringList, true },
+ { kEobBaseMenuStringsRest, kTypeStringList, true },
+ { kEobBaseMenuStringsDrop, kTypeStringList, true },
+ { kEobBaseMenuStringsExit, kTypeStringList, true },
+ { kEobBaseMenuStringsStarve, kTypeStringList, true },
+ { kEobBaseMenuStringsScribe, kTypeStringList, true },
+ { kEobBaseMenuStringsDrop2, kTypeStringList, true },
+ { kEobBaseMenuStringsHead, kTypeStringList, true },
+ { kEobBaseMenuStringsPoison, kTypeStringList, true },
+ { kEobBaseMenuStringsMgc, kTypeStringList, true },
+ { kEobBaseMenuStringsPrefs, kTypeStringList, true },
+ { kEobBaseMenuStringsRest2, kTypeStringList, true },
+ { kEobBaseMenuStringsDefeat, kTypeStringList, true },
+ { kEobBaseMenuStringsTransfer, kTypeStringList, true },
+ { kEobBaseMenuStringsSpec, kTypeStringList, true },
+ { kEobBaseMenuStringsSpellNo, kTypeStringList, false },
+
{ kEobBaseCharGuiStringsHp, kTypeStringList, true },
{ kEobBaseCharGuiStringsWp1, kTypeStringList, true },
{ kEobBaseCharGuiStringsWp2, kTypeStringList, true },
@@ -1292,6 +1312,44 @@ const char *getIdString(const int id) {
return "kEobBaseCancelStrings";
case kEobBaseAbortStrings:
return "kEobBaseAbortStrings";
+ case kEobBaseMenuStringsMain:
+ return "kEobBaseMenuStringsMain";
+ case kEobBaseMenuStringsSaveLoad:
+ return "kEobBaseMenuStringsSaveLoad";
+ case kEobBaseMenuStringsOnOff:
+ return "kEobBaseMenuStringsOnOff";
+ case kEobBaseMenuStringsSpells:
+ return "kEobBaseMenuStringsSpells";
+ case kEobBaseMenuStringsRest:
+ return "kEobBaseMenuStringsRest";
+ case kEobBaseMenuStringsDrop:
+ return "kEobBaseMenuStringsDrop";
+ case kEobBaseMenuStringsExit:
+ return "kEobBaseMenuStringsExit";
+ case kEobBaseMenuStringsStarve:
+ return "kEobBaseMenuStringsStarve";
+ case kEobBaseMenuStringsScribe:
+ return "kEobBaseMenuStringsScribe";
+ case kEobBaseMenuStringsDrop2:
+ return "kEobBaseMenuStringsDrop2";
+ case kEobBaseMenuStringsHead:
+ return "kEobBaseMenuStringsHead";
+ case kEobBaseMenuStringsPoison:
+ return "kEobBaseMenuStringsPoison";
+ case kEobBaseMenuStringsMgc:
+ return "kEobBaseMenuStringsMgc";
+ case kEobBaseMenuStringsPrefs:
+ return "kEobBaseMenuStringsPrefs";
+ case kEobBaseMenuStringsRest2:
+ return "kEobBaseMenuStringsRest2";
+ case kEobBaseMenuStringsDefeat:
+ return "kEobBaseMenuStringsDefeat";
+ case kEobBaseMenuStringsTransfer:
+ return "kEobBaseMenuStringsTransfer";
+ case kEobBaseMenuStringsSpec:
+ return "kEobBaseMenuStringsSpec";
+ case kEobBaseMenuStringsSpellNo:
+ return "kEobBaseMenuStringsSpellNo";
case kEobBaseCharGuiStringsHp:
return "kEobBaseCharGuiStringsHp";
case kEobBaseCharGuiStringsWp1:
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index 7ecc4b256d..e9c2c570a1 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -226,6 +226,26 @@ enum kExtractID {
kEobBaseCancelStrings,
kEobBaseAbortStrings,
+ kEobBaseMenuStringsMain,
+ kEobBaseMenuStringsSaveLoad,
+ kEobBaseMenuStringsOnOff,
+ kEobBaseMenuStringsSpells,
+ kEobBaseMenuStringsRest,
+ kEobBaseMenuStringsDrop,
+ kEobBaseMenuStringsExit,
+ kEobBaseMenuStringsStarve,
+ kEobBaseMenuStringsScribe,
+ kEobBaseMenuStringsDrop2,
+ kEobBaseMenuStringsHead,
+ kEobBaseMenuStringsPoison,
+ kEobBaseMenuStringsMgc,
+ kEobBaseMenuStringsPrefs,
+ kEobBaseMenuStringsRest2,
+ kEobBaseMenuStringsDefeat,
+ kEobBaseMenuStringsTransfer,
+ kEobBaseMenuStringsSpec,
+ kEobBaseMenuStringsSpellNo,
+
kEobBaseCharGuiStringsHp,
kEobBaseCharGuiStringsWp1,
kEobBaseCharGuiStringsWp2,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index d4c4186e6b..e99c6a8716 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -1077,6 +1077,23 @@ const int eob1FloppyNeed[] = {
kEobBaseNpcJoinStrings,
kEobBaseCancelStrings,
+ kEobBaseMenuStringsMain,
+ kEobBaseMenuStringsSaveLoad,
+ kEobBaseMenuStringsOnOff,
+ kEobBaseMenuStringsSpells,
+ kEobBaseMenuStringsRest,
+ kEobBaseMenuStringsDrop,
+ kEobBaseMenuStringsExit,
+ kEobBaseMenuStringsStarve,
+ kEobBaseMenuStringsScribe,
+ kEobBaseMenuStringsDrop2,
+ kEobBaseMenuStringsHead,
+ kEobBaseMenuStringsPoison,
+ kEobBaseMenuStringsMgc,
+ kEobBaseMenuStringsPrefs,
+ kEobBaseMenuStringsRest2,
+ kEobBaseMenuStringsDefeat,
+
kEobBaseCharGuiStringsHp,
kEobBaseCharGuiStringsWp1,
kEobBaseCharGuiStringsWr,
@@ -1236,6 +1253,26 @@ const int eob2FloppyNeed[] = {
kEobBaseCancelStrings,
kEobBaseAbortStrings,
+ kEobBaseMenuStringsMain,
+ kEobBaseMenuStringsSaveLoad,
+ kEobBaseMenuStringsOnOff,
+ kEobBaseMenuStringsSpells,
+ kEobBaseMenuStringsRest,
+ kEobBaseMenuStringsDrop,
+ kEobBaseMenuStringsExit,
+ kEobBaseMenuStringsStarve,
+ kEobBaseMenuStringsScribe,
+ kEobBaseMenuStringsDrop2,
+ kEobBaseMenuStringsHead,
+ kEobBaseMenuStringsPoison,
+ kEobBaseMenuStringsMgc,
+ kEobBaseMenuStringsPrefs,
+ kEobBaseMenuStringsRest2,
+ kEobBaseMenuStringsDefeat,
+ kEobBaseMenuStringsTransfer,
+ kEobBaseMenuStringsSpec,
+ kEobBaseMenuStringsSpellNo,
+
kEobBaseCharGuiStringsHp,
kEobBaseCharGuiStringsWp2,
kEobBaseCharGuiStringsWr,
diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp
index fe4b18a0de..811d74bd79 100644
--- a/devtools/create_kyradat/tables.cpp
+++ b/devtools/create_kyradat/tables.cpp
@@ -1527,6 +1527,140 @@ const ExtractEntrySearchData kEobBaseAbortStringsProvider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData kEobBaseMenuStringsMainProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000067, 0x0000245E, { { 0xD9, 0xE0, 0x74, 0x9D, 0x43, 0x96, 0xDC, 0x3B, 0xDF, 0x90, 0x03, 0xDE, 0x91, 0xE6, 0xA0, 0x1E } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000068, 0x000025D9, { { 0x17, 0xEB, 0xAB, 0x4F, 0x95, 0xD1, 0x7F, 0xEB, 0xF4, 0x92, 0x42, 0xD1, 0xD2, 0xA8, 0xC4, 0xA8 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000069, 0x0000265B, { { 0x4C, 0xA9, 0x38, 0x28, 0xE1, 0xD0, 0xE3, 0x35, 0xBB, 0xDC, 0xFB, 0x6B, 0xAB, 0xB1, 0x62, 0x88 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsSaveLoadProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000077, 0x00002513, { { 0x70, 0xD9, 0x48, 0xC2, 0x3A, 0x38, 0x1D, 0xD0, 0x8B, 0x90, 0x08, 0x8D, 0x80, 0xF5, 0x24, 0x59 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000086, 0x00002D2F, { { 0x2B, 0x48, 0x5C, 0x78, 0xF9, 0xB9, 0xD6, 0xA8, 0x1D, 0xF4, 0x97, 0xAC, 0xF1, 0x09, 0x26, 0xA7 } } } }, // EOB1
+ { EN_ANY, kPlatformUnknown, { 0x000000A9, 0x00003850, { { 0xC3, 0x09, 0x7B, 0x18, 0xD6, 0x08, 0x0E, 0x2A, 0xB6, 0x66, 0x43, 0x14, 0xD7, 0x59, 0x34, 0xF7 } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x000000A2, 0x00003942, { { 0x6E, 0x10, 0x87, 0x4B, 0x80, 0xE8, 0x89, 0xC4, 0x31, 0xDC, 0xAC, 0xA9, 0xA3, 0x8D, 0x79, 0x41 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsOnOffProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000007, 0x00000178, { { 0x4D, 0xA7, 0x13, 0x00, 0x05, 0xF2, 0x44, 0xCB, 0xF7, 0x12, 0x72, 0x54, 0xDE, 0x35, 0x04, 0xEC } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000007, 0x00000178, { { 0xC7, 0x6F, 0x60, 0x72, 0x47, 0x89, 0x47, 0xF0, 0x29, 0x57, 0x45, 0x41, 0xD5, 0x80, 0x40, 0x7B } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsSpellsProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x000001EF, 0x0000A0D0, { { 0xBA, 0x80, 0x5C, 0xAB, 0x93, 0x19, 0x53, 0x45, 0x17, 0xBC, 0x86, 0x5B, 0x1B, 0x01, 0x3E, 0x98 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x000001EA, 0x00009DE0, { { 0x00, 0xB0, 0x1F, 0xE7, 0x16, 0x48, 0x51, 0x25, 0xE5, 0xD8, 0xA1, 0x31, 0x13, 0x81, 0x8D, 0xB6 } } } }, // EOB1
+ { EN_ANY, kPlatformUnknown, { 0x000001FB, 0x0000A658, { { 0xAD, 0x6A, 0xFE, 0x13, 0xE5, 0xEA, 0x6A, 0xD1, 0xC9, 0x80, 0x1C, 0xEE, 0xD7, 0x2A, 0xF8, 0xB2 } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x00000222, 0x0000B1C9, { { 0x24, 0xC8, 0x9B, 0x51, 0xEE, 0x45, 0x14, 0xFC, 0x1B, 0xE4, 0x37, 0x8B, 0xEC, 0x94, 0xD9, 0x0B } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsRestProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x000000B3, 0x00003CED, { { 0x82, 0xF9, 0xA1, 0x74, 0xE6, 0x95, 0xA4, 0xFC, 0xE6, 0x5E, 0xB4, 0x43, 0x7D, 0x10, 0xFD, 0x12 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x000000B3, 0x00003BE4, { { 0x7F, 0xE8, 0xFE, 0xA4, 0xD9, 0x5C, 0x49, 0x66, 0x38, 0x8F, 0x84, 0xB8, 0xF5, 0x03, 0xCD, 0x70 } } } }, // EOB
+ { DE_DEU, kPlatformUnknown, { 0x000000C0, 0x000040A6, { { 0x05, 0x97, 0x45, 0x72, 0xE2, 0x33, 0xBE, 0xDE, 0x56, 0x26, 0x26, 0x15, 0x3A, 0x56, 0x93, 0xFD } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsDropProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00000FCA, { { 0x88, 0xCB, 0xD2, 0xB3, 0xDA, 0x36, 0x97, 0x3D, 0xB8, 0x75, 0xFF, 0x36, 0xE1, 0x4E, 0xF4, 0x6D } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000039, 0x0000131E, { { 0x74, 0x0B, 0xE9, 0x04, 0x76, 0x26, 0xD2, 0xE8, 0x03, 0x48, 0x38, 0x18, 0xAC, 0x19, 0xBD, 0x7E } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000033, 0x0000119C, { { 0x8F, 0x2B, 0xC3, 0x01, 0xB2, 0xDE, 0x1F, 0xC6, 0x82, 0xC3, 0x58, 0x7C, 0x50, 0x23, 0x37, 0x65 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsExitProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000002B, 0x00000E3D, { { 0x1C, 0xD6, 0x39, 0xA9, 0xC7, 0x3D, 0x32, 0x4A, 0xF2, 0xAE, 0xEC, 0x08, 0x6F, 0xC7, 0xA6, 0x7B } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x0000002D, 0x00000E68, { { 0x4B, 0x2F, 0x65, 0x39, 0x69, 0xE7, 0x3D, 0x7B, 0x10, 0x15, 0x6F, 0x1F, 0xD8, 0x8E, 0xEA, 0x55 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000026, 0x00000CBD, { { 0x0C, 0x5D, 0xE4, 0xD2, 0x6F, 0xA3, 0x91, 0xDA, 0x5F, 0xE2, 0x57, 0x77, 0x74, 0x22, 0xE7, 0x85 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsStarveProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000003D, 0x0000150C, { { 0x40, 0xEB, 0x79, 0xC3, 0x99, 0x4C, 0xEA, 0xCD, 0x8A, 0xB4, 0x54, 0xB8, 0xAA, 0xEC, 0xAD, 0x4F } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000037, 0x00001296, { { 0x51, 0x3C, 0x90, 0x91, 0x4E, 0x1C, 0x73, 0x2F, 0x0C, 0x7A, 0x6D, 0x03, 0x1E, 0x54, 0x65, 0xF1 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000030, 0x00001057, { { 0xF3, 0x5E, 0xFC, 0xC3, 0x9D, 0xB5, 0xFE, 0x4E, 0x66, 0x9D, 0x6A, 0xC6, 0x61, 0xC8, 0x0A, 0x17 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsScribeProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000103, 0x000055E1, { { 0x1B, 0x56, 0xD2, 0x78, 0x3F, 0x67, 0x7A, 0x5B, 0xB6, 0x2B, 0x70, 0x3D, 0x6A, 0xBB, 0x08, 0x0A } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x0000010C, 0x00005B1C, { { 0xD7, 0xBF, 0x37, 0x21, 0xA2, 0x63, 0x8C, 0x6A, 0x02, 0x92, 0x13, 0x32, 0xD6, 0xA6, 0x1C, 0xDC } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000100, 0x0000560F, { { 0x69, 0x15, 0x2C, 0x2D, 0xE7, 0x40, 0x4A, 0xE0, 0x86, 0x0D, 0xC8, 0x66, 0x87, 0x1C, 0x27, 0x0B } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsDrop2Provider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000084, 0x00002ACE, { { 0xAB, 0x78, 0x42, 0x29, 0xFB, 0xC5, 0x34, 0x96, 0x9D, 0x8A, 0x21, 0x46, 0xE7, 0x6B, 0x06, 0xBA } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x0000008C, 0x00002D02, { { 0x11, 0x3F, 0x0C, 0xB2, 0xBF, 0xA7, 0x39, 0x23, 0xDC, 0x00, 0xB4, 0xEA, 0x5E, 0xFE, 0x40, 0xB7 } } } }, // EOB1
+ { EN_ANY, kPlatformUnknown, { 0x0000008E, 0x00002FFB, { { 0xCE, 0x7A, 0xCC, 0xA4, 0x02, 0x54, 0x1A, 0x78, 0xF1, 0xFC, 0xE6, 0x6C, 0x76, 0xCD, 0xFD, 0x9E } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x00000090, 0x000031CE, { { 0x01, 0x72, 0x59, 0xBE, 0x62, 0x72, 0xD4, 0x99, 0x76, 0xC9, 0x92, 0x0E, 0xE9, 0x1A, 0xCD, 0x65 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsHeadProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000021, 0x00000B27, { { 0x04, 0x06, 0x01, 0xF8, 0x50, 0x54, 0x11, 0x61, 0xFF, 0xB4, 0xE1, 0x97, 0xFA, 0x08, 0xAA, 0x1B } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000024, 0x00000CF5, { { 0x96, 0xD6, 0xB5, 0xB0, 0x2E, 0x71, 0xA4, 0x0A, 0x34, 0x41, 0x94, 0x02, 0x2F, 0xB0, 0x4C, 0x36 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000025, 0x00000D92, { { 0xE4, 0x73, 0x2D, 0x29, 0xAD, 0x30, 0xE5, 0x8D, 0xAE, 0xC6, 0xD7, 0xF5, 0x35, 0xD8, 0xA4, 0x98 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsPoisonProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00001077, { { 0x14, 0x7E, 0xFC, 0xE0, 0x88, 0xFE, 0x86, 0xA8, 0x96, 0x94, 0xB1, 0x71, 0x90, 0x47, 0x2D, 0x78 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000036, 0x000013A2, { { 0x18, 0xD9, 0x1D, 0xE5, 0x3D, 0xFD, 0x52, 0xB6, 0x18, 0x17, 0x61, 0xE8, 0xA5, 0x32, 0x9F, 0xA8 } } } }, // EOB1
+ { EN_ANY, kPlatformUnknown, { 0x0000002D, 0x00001006, { { 0xD6, 0x0B, 0x11, 0x79, 0xAD, 0x61, 0x5B, 0x3A, 0x72, 0x7D, 0x53, 0x6F, 0xA9, 0x08, 0x73, 0xDC } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x00000035, 0x000013BE, { { 0x73, 0x38, 0x76, 0x2C, 0x42, 0x87, 0x43, 0x7E, 0x8E, 0x4C, 0x41, 0x57, 0x3F, 0x04, 0xBA, 0x11 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsMgcProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000020, 0x00000857, { { 0xD1, 0x9E, 0xBF, 0xF7, 0xCF, 0xF7, 0xD0, 0x94, 0x14, 0x56, 0xD2, 0x4F, 0x59, 0x91, 0x57, 0x52 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000020, 0x0000086C, { { 0x12, 0x36, 0x84, 0x2F, 0x00, 0xAD, 0x12, 0x42, 0x3A, 0xA2, 0xC5, 0xC9, 0x59, 0x90, 0x64, 0x5F } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000021, 0x0000090B, { { 0x26, 0xA7, 0x58, 0x7C, 0x0C, 0x9E, 0x67, 0xB9, 0x05, 0xE6, 0x91, 0x59, 0xE3, 0xDF, 0x9C, 0x52 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsPrefsProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000041, 0x00001392, { { 0xB1, 0x7E, 0xE3, 0x73, 0xB2, 0xA2, 0x63, 0x39, 0x20, 0xE8, 0xF3, 0x38, 0x45, 0xB6, 0xAC, 0xC8 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000045, 0x000015F6, { { 0x53, 0xBA, 0x7E, 0x6D, 0x24, 0x88, 0x2C, 0x19, 0x10, 0x71, 0x6F, 0xAB, 0x85, 0x8E, 0x97, 0xF6 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x0000003D, 0x00001246, { { 0x03, 0xFB, 0x7C, 0x80, 0x33, 0x45, 0x6C, 0x27, 0x89, 0x7B, 0x7C, 0xAC, 0x7A, 0xE1, 0xDE, 0x49 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsRest2Provider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000076, 0x00002530, { { 0xAD, 0x7A, 0x80, 0x8B, 0x97, 0x65, 0x67, 0xB2, 0x67, 0xE3, 0xF8, 0xDA, 0x0B, 0x9A, 0x61, 0x26 } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x00000082, 0x000029A1, { { 0x02, 0x83, 0xBC, 0x56, 0xB4, 0xFE, 0xF0, 0x03, 0x3D, 0xFD, 0x2C, 0x3B, 0x14, 0x8F, 0x44, 0x1B } } } }, // EOB
+ { EN_ANY, kPlatformUnknown, { 0x000000A5, 0x000033C9, { { 0xC4, 0x69, 0x00, 0x7B, 0x93, 0x98, 0x0E, 0xD1, 0x94, 0xF8, 0x39, 0x19, 0xBA, 0x53, 0x37, 0x35 } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x000000A4, 0x000033C1, { { 0x3B, 0x3A, 0x01, 0x8F, 0x3F, 0x9E, 0xC2, 0xC7, 0x70, 0xF8, 0x9C, 0x84, 0x6D, 0xFE, 0xC2, 0x40 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsDefeatProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000006D, 0x00002643, { { 0x94, 0xBA, 0xAC, 0xA4, 0x87, 0x6A, 0xEA, 0x7D, 0x98, 0x6E, 0x09, 0x82, 0xE0, 0x16, 0x65, 0x4F } } } }, // EOB1
+ { DE_DEU, kPlatformUnknown, { 0x0000006A, 0x00002456, { { 0xE0, 0x9A, 0x10, 0xE2, 0x73, 0x42, 0xF6, 0x79, 0xCB, 0x65, 0xA2, 0x50, 0xF0, 0x2B, 0xFD, 0x9B } } } }, // EOB1
+ { EN_ANY, kPlatformUnknown, { 0x00000056, 0x00001E4F, { { 0x97, 0x07, 0x5F, 0xA2, 0x0D, 0x58, 0xD2, 0xDF, 0xD6, 0x04, 0xA2, 0x16, 0x0B, 0x1F, 0x7E, 0x23 } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x00000042, 0x000016B1, { { 0xCA, 0x57, 0xDC, 0x2B, 0xC6, 0xC7, 0x78, 0x1E, 0x84, 0x0A, 0x10, 0x88, 0xCA, 0xCD, 0xFF, 0x89 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsTransferProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x00000114, 0x00005E09, { { 0xBF, 0xCE, 0x7F, 0xE4, 0x17, 0x15, 0xC6, 0x10, 0xDF, 0x16, 0xF9, 0x3C, 0xDA, 0x29, 0xA0, 0xA6 } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x000000D1, 0x00004811, { { 0x2E, 0x00, 0xD1, 0xA6, 0x9F, 0x53, 0xC5, 0x4B, 0x25, 0x4A, 0xAC, 0x9E, 0x11, 0x6C, 0x58, 0x5E } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsSpecProvider[] = {
+ { EN_ANY, kPlatformUnknown, { 0x0000006F, 0x00002785, { { 0xAE, 0xC7, 0x88, 0x89, 0x39, 0xB8, 0xF7, 0xB4, 0xD5, 0x82, 0xBC, 0x46, 0xA1, 0xCB, 0x04, 0x1F } } } }, // EOB2
+ { DE_DEU, kPlatformUnknown, { 0x00000075, 0x00002871, { { 0xB4, 0x38, 0x0F, 0x94, 0x8B, 0xB1, 0x8D, 0xA3, 0xF8, 0xDA, 0x37, 0x75, 0x6F, 0x39, 0x3E, 0xB5 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseMenuStringsSpellNoProvider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x000000A5, { { 0x0D, 0x4A, 0x8B, 0x40, 0x70, 0x79, 0xCD, 0xB3, 0x0F, 0x5A, 0x5A, 0x3F, 0x6E, 0xE8, 0xF9, 0x74 } } } }, // EOB2
+ EXTRACT_END_ENTRY
+};
+
const ExtractEntrySearchData kEobBaseCharGuiStringsHpProvider[] = {
{ EN_ANY, kPlatformUnknown, { 0x0000000F, 0x00000352, { { 0x9C, 0x13, 0x3D, 0x2A, 0x68, 0x11, 0x81, 0xA4, 0x77, 0x54, 0x47, 0x43, 0xA1, 0xDA, 0x55, 0x50 } } } },
{ DE_DEU, kPlatformUnknown, { 0x0000000E, 0x000002AC, { { 0xBB, 0xD5, 0x36, 0xB2, 0x8A, 0x60, 0x78, 0x04, 0x46, 0x2D, 0x35, 0x59, 0x3E, 0x42, 0xB9, 0x83 } } } }, // Eob 1
@@ -3229,6 +3363,26 @@ const ExtractEntry extractProviders[] = {
{ kEobBaseCancelStrings, kEobBaseCancelStringsProvider },
{ kEobBaseAbortStrings, kEobBaseAbortStringsProvider },
+ { kEobBaseMenuStringsMain, kEobBaseMenuStringsMainProvider },
+ { kEobBaseMenuStringsSaveLoad, kEobBaseMenuStringsSaveLoadProvider },
+ { kEobBaseMenuStringsOnOff, kEobBaseMenuStringsOnOffProvider },
+ { kEobBaseMenuStringsSpells, kEobBaseMenuStringsSpellsProvider },
+ { kEobBaseMenuStringsRest, kEobBaseMenuStringsRestProvider },
+ { kEobBaseMenuStringsDrop, kEobBaseMenuStringsDropProvider },
+ { kEobBaseMenuStringsExit, kEobBaseMenuStringsExitProvider },
+ { kEobBaseMenuStringsStarve, kEobBaseMenuStringsStarveProvider },
+ { kEobBaseMenuStringsScribe, kEobBaseMenuStringsScribeProvider },
+ { kEobBaseMenuStringsDrop2, kEobBaseMenuStringsDrop2Provider },
+ { kEobBaseMenuStringsHead, kEobBaseMenuStringsHeadProvider },
+ { kEobBaseMenuStringsPoison, kEobBaseMenuStringsPoisonProvider },
+ { kEobBaseMenuStringsMgc, kEobBaseMenuStringsMgcProvider },
+ { kEobBaseMenuStringsPrefs, kEobBaseMenuStringsPrefsProvider },
+ { kEobBaseMenuStringsRest2, kEobBaseMenuStringsRest2Provider },
+ { kEobBaseMenuStringsDefeat, kEobBaseMenuStringsDefeatProvider },
+ { kEobBaseMenuStringsTransfer, kEobBaseMenuStringsTransferProvider },
+ { kEobBaseMenuStringsSpec, kEobBaseMenuStringsSpecProvider },
+ { kEobBaseMenuStringsSpellNo, kEobBaseMenuStringsSpellNoProvider },
+
{ kEobBaseCharGuiStringsHp, kEobBaseCharGuiStringsHpProvider },
{ kEobBaseCharGuiStringsWp1, kEobBaseCharGuiStringsWp1Provider },
{ kEobBaseCharGuiStringsWp2, kEobBaseCharGuiStringsWp2Provider },
diff --git a/engines/kyra/eobcommon.h b/engines/kyra/eobcommon.h
index 8b28e86f2e..9ead3c2408 100644
--- a/engines/kyra/eobcommon.h
+++ b/engines/kyra/eobcommon.h
@@ -956,6 +956,28 @@ protected:
const uint8 *_magicFlightObjectProperties;
+ // Menu
+ const char *const *_menuStringsMain;
+ const char *const *_menuStringsSaveLoad;
+ const char *const *_menuStringsOnOff;
+ const char *const *_menuStringsSpells;
+ const char *const *_menuStringsRest;
+ const char *const *_menuStringsDrop;
+ const char *const *_menuStringsExit;
+ const char *const *_menuStringsStarve;
+ const char *const *_menuStringsScribe;
+ const char *const *_menuStringsDrop2;
+ const char *const *_menuStringsHead;
+ const char *const *_menuStringsPoison;
+ const char *const *_menuStringsMgc;
+ const char *const *_menuStringsPrefs;
+ const char *const *_menuStringsRest2;
+ const char *const *_menuStringsDefeat;
+
+ const char *const *_menuStringsTransfer;
+ const char *const *_menuStringsSpec;
+ const char *const *_menuStringsSpellNo;
+
// sound
void snd_playSoundEffect(int id, int volume=0xFF);
};
diff --git a/engines/kyra/gui_eob.cpp b/engines/kyra/gui_eob.cpp
index 34ab19034d..02af458d65 100644
--- a/engines/kyra/gui_eob.cpp
+++ b/engines/kyra/gui_eob.cpp
@@ -834,6 +834,29 @@ int EobCoreEngine::clickedCharPortraitDefault(Button *button) {
}
int EobCoreEngine::clickedCamp(Button *button) {
+ gui_updateControls();
+ disableSysTimer(2);
+ int cd = _screen->curDimIndex();
+
+ for (int i = 0; i < 6; i++) {
+ if (!testCharacter(i, 1))
+ continue;
+ _characters[i].damageTaken = 0;
+ _characters[i].slotStatus[0] = _characters[i].slotStatus[1] = 0;
+ gui_drawCharPortraitWithStats(i);
+ }
+
+ _screen->copyRegion(0, 120, 0, 0, 176, 24, 0, 14, Screen::CR_NO_P_CHECK);
+ Screen::FontId of = _screen->setFont(Screen::FID_8_FNT);
+
+
+ _screen->setFont(of);
+ _screen->setCurPage(0);
+ _screen->setScreenDim(cd);
+
+ enableSysTimer(2);
+ updateCharacterEvents(true);
+
return button->arg;
}
@@ -1317,13 +1340,14 @@ void EobCoreEngine::gui_processWeaponSlotClickRight(int charIndex, int slotIndex
case 7:
// Food ration
- /* don't do anything if mouse control is enabled */
- //eatItemInHand(charIndex);
+ // Don't do anything if mouse control is enabled (we don't support anything else)
+ // eatItemInHand(charIndex);
break;
case 10:
if (_flags.gameID == GI_EOB1)
vl += _clericSpellOffset;
+ // drop through
case 9:
// Mage/Cleric Scroll
if (!_currentControlMode)
diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h
index 2f93adde3c..90a3e74b19 100644
--- a/engines/kyra/resource.h
+++ b/engines/kyra/resource.h
@@ -299,6 +299,26 @@ enum KyraResources {
kEobBaseCancelStrings,
kEobBaseAbortStrings,
+ kEobBaseMenuStringsMain,
+ kEobBaseMenuStringsSaveLoad,
+ kEobBaseMenuStringsOnOff,
+ kEobBaseMenuStringsSpells,
+ kEobBaseMenuStringsRest,
+ kEobBaseMenuStringsDrop,
+ kEobBaseMenuStringsExit,
+ kEobBaseMenuStringsStarve,
+ kEobBaseMenuStringsScribe,
+ kEobBaseMenuStringsDrop2,
+ kEobBaseMenuStringsHead,
+ kEobBaseMenuStringsPoison,
+ kEobBaseMenuStringsMgc,
+ kEobBaseMenuStringsPrefs,
+ kEobBaseMenuStringsRest2,
+ kEobBaseMenuStringsDefeat,
+ kEobBaseMenuStringsTransfer,
+ kEobBaseMenuStringsSpec,
+ kEobBaseMenuStringsSpellNo,
+
kEobBaseCharGuiStringsHp,
kEobBaseCharGuiStringsWp1,
kEobBaseCharGuiStringsWp2,
diff --git a/engines/kyra/staticres_eob.cpp b/engines/kyra/staticres_eob.cpp
index a291a486f4..da4e6752b0 100644
--- a/engines/kyra/staticres_eob.cpp
+++ b/engines/kyra/staticres_eob.cpp
@@ -366,6 +366,26 @@ void EobCoreEngine::initStaticResource() {
_cancelStrings = _staticres->loadStrings(kEobBaseCancelStrings, temp);
_abortStrings = _staticres->loadStrings(_flags.gameID == GI_EOB2 ? kEobBaseAbortStrings : kEobBaseCancelStrings, temp);
+ _menuStringsMain = _staticres->loadStrings(kEobBaseMenuStringsMain, temp);
+ _menuStringsSaveLoad = _staticres->loadStrings(kEobBaseMenuStringsSaveLoad, temp);
+ _menuStringsOnOff = _staticres->loadStrings(kEobBaseMenuStringsOnOff, temp);
+ _menuStringsSpells = _staticres->loadStrings(kEobBaseMenuStringsSpells, temp);
+ _menuStringsRest = _staticres->loadStrings(kEobBaseMenuStringsRest, temp);
+ _menuStringsDrop = _staticres->loadStrings(kEobBaseMenuStringsDrop, temp);
+ _menuStringsExit = _staticres->loadStrings(kEobBaseMenuStringsExit, temp);
+ _menuStringsStarve = _staticres->loadStrings(kEobBaseMenuStringsStarve, temp);
+ _menuStringsScribe = _staticres->loadStrings(kEobBaseMenuStringsScribe, temp);
+ _menuStringsDrop2 = _staticres->loadStrings(kEobBaseMenuStringsDrop2, temp);
+ _menuStringsHead = _staticres->loadStrings(kEobBaseMenuStringsHead, temp);
+ _menuStringsPoison = _staticres->loadStrings(kEobBaseMenuStringsPoison, temp);
+ _menuStringsMgc = _staticres->loadStrings(kEobBaseMenuStringsMgc, temp);
+ _menuStringsPrefs = _staticres->loadStrings(kEobBaseMenuStringsPrefs, temp);
+ _menuStringsRest2 = _staticres->loadStrings(kEobBaseMenuStringsRest2, temp);
+ _menuStringsDefeat = _staticres->loadStrings(kEobBaseMenuStringsDefeat, temp);
+ _menuStringsTransfer = _staticres->loadStrings(kEobBaseMenuStringsTransfer, temp);
+ _menuStringsSpec = _staticres->loadStrings(kEobBaseMenuStringsSpec, temp);
+ _menuStringsSpellNo = _staticres->loadStrings(kEobBaseMenuStringsSpellNo, temp);
+
_characterGuiStringsHp = _staticres->loadStrings(kEobBaseCharGuiStringsHp, temp);
_characterGuiStringsWp = _staticres->loadStrings(_flags.gameID == GI_EOB2 ? kEobBaseCharGuiStringsWp2 : kEobBaseCharGuiStringsWp1, temp);
_characterGuiStringsWr = _staticres->loadStrings(kEobBaseCharGuiStringsWr, temp);