aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
authorathrxx2012-02-15 18:11:18 +0100
committerathrxx2012-02-21 21:48:42 +0100
commita4223e9c2ba7d53097df95a3f640ffdba7d0fb20 (patch)
tree64c69966b4be6bdd7d798c102331babe76464164 /devtools
parent151d314912b08d7d598a3995524d89c8b4ab0371 (diff)
downloadscummvm-rg350-a4223e9c2ba7d53097df95a3f640ffdba7d0fb20.tar.gz
scummvm-rg350-a4223e9c2ba7d53097df95a3f640ffdba7d0fb20.tar.bz2
scummvm-rg350-a4223e9c2ba7d53097df95a3f640ffdba7d0fb20.zip
KYRA: (EOB) - fix EOB1 door clipping
(this was done in the same way as in EOB2 and LOL, but it has to be slightly different)
Diffstat (limited to 'devtools')
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp16
-rw-r--r--devtools/create_kyradat/create_kyradat.h4
-rw-r--r--devtools/create_kyradat/games.cpp12
-rw-r--r--devtools/create_kyradat/tables.cpp26
4 files changed, 56 insertions, 2 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index a3d88c7b52..489be3e04d 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
#include <map>
enum {
- kKyraDatVersion = 81
+ kKyraDatVersion = 82
};
const ExtractFilename extractFilenames[] = {
@@ -656,6 +656,10 @@ const ExtractFilename extractFilenames[] = {
{ kRpgCommonDscBlockIndex, kTypeRawData, false },
{ kLoLDscDoor4, kLoLTypeRaw16, false },
{ kRpgCommonDscDoorY2, kTypeRawData, false },
+ { kRpgCommonDscDoorFrameY1, kTypeRawData, false },
+ { kRpgCommonDscDoorFrameY2, kTypeRawData, false },
+ { kRpgCommonDscDoorFrameIndex1, kTypeRawData, false },
+ { kRpgCommonDscDoorFrameIndex2, kTypeRawData, false },
{ kLoLDscDoorX, kLoLTypeRaw16, false },
{ kLoLDscDoorY, kLoLTypeRaw16, false },
@@ -1786,7 +1790,7 @@ const char *getIdString(const int id) {
case kEoB1CgaMappingIcons:
return "kEoB1CgaMappingIcons";
case kEoB1CgaMappingDeco:
- return "kEoB1CgaMappingDeco";
+ return "kEoB1CgaMappingDeco";
case kEoB1CgaLevelMappingIndex:
return "kEoB1CgaLevelMappingIndex";
case kEoB1CgaMappingLevel0:
@@ -2165,6 +2169,14 @@ const char *getIdString(const int id) {
return "kRpgCommonDscBlockIndex";
case kRpgCommonDscDoorY2:
return "kRpgCommonDscDoorY2";
+ case kRpgCommonDscDoorFrameY1:
+ return "kRpgCommonDscDoorFrameY1";
+ case kRpgCommonDscDoorFrameY2:
+ return "kRpgCommonDscDoorFrameY2";
+ case kRpgCommonDscDoorFrameIndex1:
+ return "kRpgCommonDscDoorFrameIndex1";
+ case kRpgCommonDscDoorFrameIndex2:
+ return "kRpgCommonDscDoorFrameIndex2";
case kLoLDscDoorScale:
return "kLoLDscDoorScale";
case kLoLDscDoor4:
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index 83ee2855fa..c2a69cfd79 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -190,6 +190,10 @@ enum kExtractID {
kRpgCommonDscBlockMap,
kRpgCommonDscDimMap,
kRpgCommonDscDoorY2,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
+ kRpgCommonDscDoorFrameIndex1,
+ kRpgCommonDscDoorFrameIndex2,
kRpgCommonDscBlockIndex,
kEoBBaseChargenStrings1,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index a45cb802ef..258d2dd50d 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -827,6 +827,8 @@ const int lolFloppyNeed[] = {
kLoLDscOvlIndex,
kRpgCommonDscBlockIndex,
kRpgCommonDscDoorY2,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
kLoLDscDoorScale,
kLoLDscDoor4,
kLoLDscDoorX,
@@ -907,6 +909,8 @@ const int lolPC98Need[] = {
kLoLDscOvlIndex,
kRpgCommonDscBlockIndex,
kRpgCommonDscDoorY2,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
kLoLDscDoorScale,
kLoLDscDoor4,
kLoLDscDoorX,
@@ -992,6 +996,8 @@ const int lolCDNeed[] = {
kLoLDscOvlIndex,
kRpgCommonDscBlockIndex,
kRpgCommonDscDoorY2,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
kLoLDscDoorScale,
kLoLDscDoor4,
kLoLDscDoorX,
@@ -1253,6 +1259,10 @@ const int eob1FloppyNeed[] = {
kEoBBaseDscDoorY6,
kEoBBaseDscDoorY7,
kEoBBaseDscDoorCoordsExt,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
+ kRpgCommonDscDoorFrameIndex1,
+ kRpgCommonDscDoorFrameIndex2,
kEoBBaseDscItemPosIndex,
kEoBBaseDscItemShpX,
@@ -1472,6 +1482,8 @@ const int eob2FloppyNeed[] = {
kEoBBaseDscDoorType5Offs,
kEoBBaseDscDoorY1,
kRpgCommonDscDoorY2,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
kEoBBaseDscItemPosIndex,
kEoBBaseDscItemShpX,
diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp
index b1b542deea..1b9ca45259 100644
--- a/devtools/create_kyradat/tables.cpp
+++ b/devtools/create_kyradat/tables.cpp
@@ -3647,6 +3647,28 @@ const ExtractEntrySearchData kRpgCommonDscDoorY2Provider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData kRpgCommonDscDoorFrameY1Provider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000053B, { { 0xF0, 0x9E, 0xC5, 0xB1, 0xEA, 0x5A, 0x58, 0xBD, 0xAC, 0x7B, 0xB2, 0xD4, 0xFE, 0x3F, 0x4F, 0x51 } } } }, // EOB I
+ { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000046, { { 0xD4, 0xA4, 0xEC, 0xA2, 0x99, 0xB6, 0x5E, 0x12, 0x98, 0xFF, 0xF2, 0x55, 0xC8, 0xBD, 0xC5, 0x8F } } } }, // EOB II
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kRpgCommonDscDoorFrameY2Provider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000053B, { { 0xF0, 0x9E, 0xC5, 0xB1, 0xEA, 0x5A, 0x58, 0xBD, 0xAC, 0x7B, 0xB2, 0xD4, 0xFE, 0x3F, 0x4F, 0x51 } } } }, // EOB I
+ { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000150, { { 0x49, 0x7E, 0xF4, 0xDF, 0x8D, 0x04, 0x0A, 0xCE, 0x49, 0xBB, 0xA2, 0x1D, 0x8D, 0xC2, 0x14, 0x9E } } } }, // EOB II
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kRpgCommonDscDoorFrameIndex1Provider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x00000058, { { 0xC9, 0xAF, 0x1F, 0x68, 0xF1, 0xDE, 0x96, 0x9B, 0x3B, 0xCB, 0x56, 0xEC, 0x2E, 0x62, 0x9A, 0x0A } } } },
+ EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kRpgCommonDscDoorFrameIndex2Provider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x000000E8, { { 0x8C, 0x10, 0x56, 0xEA, 0x4D, 0x1A, 0x9C, 0xB2, 0x55, 0x54, 0xA5, 0x61, 0x1D, 0x19, 0x4E, 0x50 } } } },
+ EXTRACT_END_ENTRY
+};
+
const ExtractEntrySearchData kLoLDscDoorScaleProvider[] = {
{ UNK_LANG, kPlatformUnknown, { 0x00000010, 0x0000024C, { { 0x8D, 0x83, 0x26, 0xEE, 0xDC, 0xF7, 0x13, 0xC0, 0xAA, 0x88, 0xC2, 0xAA, 0x66, 0xA7, 0x59, 0x41 } } } },
@@ -4382,6 +4404,10 @@ const ExtractEntry extractProviders[] = {
{ kLoLDscOvlIndex, kLoLDscOvlIndexProvider },
{ kRpgCommonDscBlockIndex, kRpgCommonDscBlockIndexProvider },
{ kRpgCommonDscDoorY2, kRpgCommonDscDoorY2Provider },
+ { kRpgCommonDscDoorFrameY1, kRpgCommonDscDoorFrameY1Provider },
+ { kRpgCommonDscDoorFrameY2, kRpgCommonDscDoorFrameY2Provider },
+ { kRpgCommonDscDoorFrameIndex1, kRpgCommonDscDoorFrameIndex1Provider },
+ { kRpgCommonDscDoorFrameIndex2, kRpgCommonDscDoorFrameIndex2Provider },
{ kLoLDscDoorScale, kLoLDscDoorScaleProvider },
{ kLoLDscDoor4, kLoLDscDoor4Provider },
{ kLoLDscDoorX, kLoLDscDoorXProvider },