aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
authorathrxx2011-08-06 00:40:53 +0200
committerJohannes Schickel2011-12-26 16:18:13 +0100
commitbac0caeb0ff712fe9002985c44c1ea651b86e018 (patch)
tree5fbfbe57957f441f07e7b644ba402fb21c5f1f40 /devtools
parentaab9e62247af1c22772bb79821675fbab06c047d (diff)
downloadscummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.tar.gz
scummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.tar.bz2
scummvm-rg350-bac0caeb0ff712fe9002985c44c1ea651b86e018.zip
KYRA: (EOB) - lots of fixes towards EOB1 playability
also implement some new code (EOB1 portals, burning hands spell, etc.)
Diffstat (limited to 'devtools')
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp9
-rw-r--r--devtools/create_kyradat/create_kyradat.h3
-rw-r--r--devtools/create_kyradat/games.cpp5
-rw-r--r--devtools/create_kyradat/tables.cpp22
4 files changed, 37 insertions, 2 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 582516bc93..a646bee5b1 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -332,11 +332,13 @@ const ExtractFilename extractFilenames[] = {
{ kEobBaseDscDoorScaleMult5, kTypeRawData, false },
{ kEobBaseDscDoorScaleMult6, kTypeRawData, false },
{ kEobBaseDscDoorType5Offs, kTypeRawData, false },
+ { kEobBaseDscDoorXE, kTypeRawData, false },
{ kEobBaseDscDoorY1, kTypeRawData, false },
{ kEobBaseDscDoorY3, kTypeRawData, false },
{ kEobBaseDscDoorY4, kTypeRawData, false },
{ kEobBaseDscDoorY5, kTypeRawData, false },
{ kEobBaseDscDoorY6, kTypeRawData, false },
+ { kEobBaseDscDoorY7, kTypeRawData, false },
{ kEobBaseDscDoorCoordsExt, kLolTypeRaw16, false },
{ kEobBaseDscItemPosIndex, kTypeRawData, false },
@@ -401,6 +403,7 @@ const ExtractFilename extractFilenames[] = {
{ kEobBaseSpellProperties, kTypeRawData, false },
{ kEobBaseMagicFlightProps, kTypeRawData, false },
{ kEobBaseTurnUndeadEffect, kTypeRawData, false },
+ { kEobBaseBurningHandsDest, kTypeRawData, false },
// EYE OF THE BEHOLDER I
{ kEob1MainMenuStrings, kTypeStringList, true },
@@ -1516,6 +1519,8 @@ const char *getIdString(const int id) {
return "kEobBaseDscDoorScaleMult6";
case kEobBaseDscDoorType5Offs:
return "kEobBaseDscDoorType5Offs";
+ case kEobBaseDscDoorXE:
+ return "kEobBaseDscDoorXE";
case kEobBaseDscDoorY1:
return "kEobBaseDscDoorY1";
case kEobBaseDscDoorY3:
@@ -1526,6 +1531,8 @@ const char *getIdString(const int id) {
return "kEobBaseDscDoorY5";
case kEobBaseDscDoorY6:
return "kEobBaseDscDoorY6";
+ case kEobBaseDscDoorY7:
+ return "kEobBaseDscDoorY7";
case kEobBaseDscDoorCoordsExt:
return "kEobBaseDscDoorCoordsExt";
case kEobBaseDscItemPosIndex:
@@ -1635,6 +1642,8 @@ const char *getIdString(const int id) {
return "kEobBaseMagicFlightProps";
case kEobBaseTurnUndeadEffect:
return "kEobBaseTurnUndeadEffect";
+ case kEobBaseBurningHandsDest:
+ return "kEobBaseBurningHandsDest";
case kEob1MainMenuStrings:
return "kEob1MainMenuStrings";
case kEob1DoorShapeDefs:
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index ebaff503f4..a7b53b4128 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -332,11 +332,13 @@ enum kExtractID {
kEobBaseDscDoorScaleMult5,
kEobBaseDscDoorScaleMult6,
kEobBaseDscDoorType5Offs,
+ kEobBaseDscDoorXE,
kEobBaseDscDoorY1,
kEobBaseDscDoorY3,
kEobBaseDscDoorY4,
kEobBaseDscDoorY5,
kEobBaseDscDoorY6,
+ kEobBaseDscDoorY7,
kEobBaseDscDoorCoordsExt,
kEobBaseDscItemPosIndex,
@@ -402,6 +404,7 @@ enum kExtractID {
kEobBaseSpellProperties,
kEobBaseMagicFlightProps,
kEobBaseTurnUndeadEffect,
+ kEobBaseBurningHandsDest,
kEob1MainMenuStrings,
kEob1DoorShapeDefs,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index 6e1503b45b..000c350f2b 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -1189,6 +1189,7 @@ const int eob1FloppyNeed[] = {
kEobBaseSpellProperties,
kEobBaseMagicFlightProps,
kEobBaseTurnUndeadEffect,
+ kEobBaseBurningHandsDest,
kLolEobCommonDscDoorShapeIndex,
kEobBaseWllFlagPreset,
@@ -1200,12 +1201,13 @@ const int eob1FloppyNeed[] = {
kEobBaseDscDoorScaleMult4,
kEobBaseDscDoorScaleMult5,
kEobBaseDscDoorScaleMult6,
+ kEobBaseDscDoorXE,
kEobBaseDscDoorY1,
- kLolEobCommonDscDoorY2,
kEobBaseDscDoorY3,
kEobBaseDscDoorY4,
kEobBaseDscDoorY5,
kEobBaseDscDoorY6,
+ kEobBaseDscDoorY7,
kEobBaseDscDoorCoordsExt,
kEobBaseDscItemPosIndex,
@@ -1408,6 +1410,7 @@ const int eob2FloppyNeed[] = {
kEobBaseSpellProperties,
kEobBaseMagicFlightProps,
kEobBaseTurnUndeadEffect,
+ kEobBaseBurningHandsDest,
kLolEobCommonDscDoorShapeIndex,
kEobBaseWllFlagPreset,
diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp
index e27c6edf44..a92c09798b 100644
--- a/devtools/create_kyradat/tables.cpp
+++ b/devtools/create_kyradat/tables.cpp
@@ -2001,6 +2001,11 @@ const ExtractEntrySearchData kEobBaseDscDoorType5OffsProvider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData kEobBaseDscDoorXEProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000020, 0x0000010F, { { 0x7B, 0x7D, 0x03, 0xDE, 0x33, 0x95, 0xB8, 0xFD, 0xAD, 0x72, 0x44, 0x7D, 0x47, 0xFE, 0x04, 0x3D } } } },
+ EXTRACT_END_ENTRY
+};
+
const ExtractEntrySearchData kEobBaseDscDoorY1Provider[] = {
{ UNK_LANG, kPlatformPC, { 0x00000004, 0x000000D7, { { 0x25, 0xAE, 0xF4, 0x99, 0xE8, 0x97, 0x47, 0xAE, 0x75, 0xF3, 0xA9, 0x70, 0x4C, 0x70, 0xF3, 0x11 } } } }, // EOB 1
{ UNK_LANG, kPlatformPC, { 0x00000004, 0x000000D8, { { 0xB4, 0xAA, 0x0D, 0x91, 0x58, 0x22, 0x16, 0xCF, 0xC5, 0x9D, 0x8D, 0xA1, 0xB4, 0x40, 0x83, 0x0E } } } }, // EOB 2
@@ -2027,6 +2032,11 @@ const ExtractEntrySearchData kEobBaseDscDoorY6Provider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData kEobBaseDscDoorY7Provider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000004, 0x000000DA, { { 0xA9, 0x24, 0x71, 0x8A, 0x18, 0x24, 0x6D, 0x0A, 0x65, 0x12, 0xBB, 0x1F, 0xE7, 0x95, 0xC5, 0xA4 } } } },
+ EXTRACT_END_ENTRY
+};
+
const ExtractEntrySearchData kEobBaseDscDoorCoordsExtProvider[] = {
{ UNK_LANG, kPlatformPC, { 0x00000048, 0x00000C8E, { { 0x2E, 0x0E, 0xB2, 0xAC, 0xE7, 0x0F, 0xDF, 0x38, 0xDF, 0x92, 0xB7, 0xB5, 0xA2, 0xFD, 0x40, 0x2D } } } },
EXTRACT_END_ENTRY
@@ -2340,7 +2350,14 @@ const ExtractEntrySearchData kEobBaseMagicFlightPropsProvider[] = {
};
const ExtractEntrySearchData kEobBaseTurnUndeadEffectProvider[] = {
- { UNK_LANG, kPlatformUnknown, { 0x0000008C, 0x00002E8B, { { 0x96, 0x15, 0x61, 0x12, 0x43, 0xCF, 0x3A, 0x84, 0x1A, 0x89, 0xB5, 0x32, 0x0D, 0xB3, 0x20, 0x67 } } } },
+ { UNK_LANG, kPlatformPC, { 0x0000008C, 0x00002E8B, { { 0x96, 0x15, 0x61, 0x12, 0x43, 0xCF, 0x3A, 0x84, 0x1A, 0x89, 0xB5, 0x32, 0x0D, 0xB3, 0x20, 0x67 } } } },
+
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kEobBaseBurningHandsDestProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000008, 0x0000000C, { { 0x61, 0xD7, 0xAB, 0xE1, 0x56, 0x54, 0x51, 0x5B, 0xD9, 0x59, 0x2D, 0x3D, 0xAE, 0xA4, 0x49, 0x31 } } } }, // EOB1
+ { UNK_LANG, kPlatformPC, { 0x00000020, 0x0000003E, { { 0xA5, 0x8C, 0xCA, 0x13, 0xED, 0x0F, 0xB7, 0xA2, 0xD7, 0x9C, 0xCD, 0x11, 0x65, 0x11, 0x4B, 0xD8 } } } }, // EOB2
EXTRACT_END_ENTRY
};
@@ -3775,11 +3792,13 @@ const ExtractEntry extractProviders[] = {
{ kEobBaseDscDoorScaleMult5, kEobBaseDscDoorScaleMult5Provider },
{ kEobBaseDscDoorScaleMult6, kEobBaseDscDoorScaleMult6Provider },
{ kEobBaseDscDoorType5Offs, kEobBaseDscDoorType5OffsProvider },
+ { kEobBaseDscDoorXE, kEobBaseDscDoorXEProvider },
{ kEobBaseDscDoorY1, kEobBaseDscDoorY1Provider },
{ kEobBaseDscDoorY3, kEobBaseDscDoorY3Provider },
{ kEobBaseDscDoorY4, kEobBaseDscDoorY4Provider },
{ kEobBaseDscDoorY5, kEobBaseDscDoorY5Provider },
{ kEobBaseDscDoorY6, kEobBaseDscDoorY6Provider },
+ { kEobBaseDscDoorY7, kEobBaseDscDoorY7Provider },
{ kEobBaseDscDoorCoordsExt, kEobBaseDscDoorCoordsExtProvider },
{ kEobBaseDscItemPosIndex, kEobBaseDscItemPosIndexProvider },
{ kEobBaseDscItemShpX, kEobBaseDscItemShpXProvider },
@@ -3843,6 +3862,7 @@ const ExtractEntry extractProviders[] = {
{ kEobBaseSpellProperties, kEobBaseSpellPropertiesProvider },
{ kEobBaseMagicFlightProps, kEobBaseMagicFlightPropsProvider },
{ kEobBaseTurnUndeadEffect, kEobBaseTurnUndeadEffectProvider },
+ { kEobBaseBurningHandsDest, kEobBaseBurningHandsDestProvider },
{ kEob1MainMenuStrings, kEob1MainMenuStringsProvider },
{ kEob1DoorShapeDefs, kEob1DoorShapeDefsProvider },