aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorathrxx2011-06-11 21:36:02 +0200
committerJohannes Schickel2011-12-26 16:18:11 +0100
commit77d210765a2e1e299d2321863f5cc543b64ee1bb (patch)
tree421566554d5ab14be181c99f9bb39470daf3e4ef
parent089ad94b681df8f4493cecc0ba7bc2d3d31b8ddb (diff)
downloadscummvm-rg350-77d210765a2e1e299d2321863f5cc543b64ee1bb.tar.gz
scummvm-rg350-77d210765a2e1e299d2321863f5cc543b64ee1bb.tar.bz2
scummvm-rg350-77d210765a2e1e299d2321863f5cc543b64ee1bb.zip
KYRA: (EOB) - add some static res (flight object data) to kyra.dat
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp19
-rw-r--r--devtools/create_kyradat/create_kyradat.h7
-rw-r--r--devtools/create_kyradat/games.cpp13
-rw-r--r--devtools/create_kyradat/tables.cpp35
-rw-r--r--engines/kyra/eobcommon.cpp2
-rw-r--r--engines/kyra/eobcommon.h7
-rw-r--r--engines/kyra/lol.cpp2
-rw-r--r--engines/kyra/loleobbase.cpp3
-rw-r--r--engines/kyra/resource.h7
-rw-r--r--engines/kyra/staticres_eob.cpp7
10 files changed, 98 insertions, 4 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 5c923be6cb..d20b0045f8 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -322,6 +322,13 @@ const ExtractFilename extractFilenames[] = {
{ kEobBaseMagicStrings6, kTypeStringList, true },
{ kEobBaseMagicStrings7, kTypeStringList, true },
{ kEobBaseMagicStrings8, kTypeStringList, true },
+
+ { kEobBaseFlightObjAnimTiles, kTypeRawData, false },
+ { kEobBaseFlightObjAnimIndex, kTypeRawData, false },
+ { kEobBaseFlightObjAnimDim, kTypeRawData, false },
+ { kEobBaseFlightObjAnimTbl1, kTypeRawData, false },
+ { kEobBaseFlightObjAnimTbl2, kTypeRawData, false },
+ { kEobBaseFlightObjAnimTbl3, kTypeRawData, false },
{ kEobBaseSparkDefSteps, kTypeRawData, false },
{ kEobBaseSparkDefSubSteps, kTypeRawData, false },
@@ -1412,6 +1419,18 @@ const char *getIdString(const int id) {
return "kEobBaseMagicStrings7";
case kEobBaseMagicStrings8:
return "kEobBaseMagicStrings8";
+ case kEobBaseFlightObjAnimTiles:
+ return "kEobBaseFlightObjAnimTiles";
+ case kEobBaseFlightObjAnimIndex:
+ return "kEobBaseFlightObjAnimIndex";
+ case kEobBaseFlightObjAnimDim:
+ return "kEobBaseFlightObjAnimDim";
+ case kEobBaseFlightObjAnimTbl1:
+ return "kEobBaseFlightObjAnimTbl1";
+ case kEobBaseFlightObjAnimTbl2:
+ return "kEobBaseFlightObjAnimTbl2";
+ case kEobBaseFlightObjAnimTbl3:
+ return "kEobBaseFlightObjAnimTbl3";
case kEobBaseSparkDefSteps:
return "kEobBaseSparkDefSteps";
case kEobBaseSparkDefSubSteps:
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index be40dff3aa..d1355a8041 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -323,6 +323,13 @@ enum kExtractID {
kEobBaseMagicStrings7,
kEobBaseMagicStrings8,
+ kEobBaseFlightObjAnimTiles,
+ kEobBaseFlightObjAnimIndex,
+ kEobBaseFlightObjAnimDim,
+ kEobBaseFlightObjAnimTbl1,
+ kEobBaseFlightObjAnimTbl2,
+ kEobBaseFlightObjAnimTbl3,
+
kEobBaseSparkDefSteps,
kEobBaseSparkDefSubSteps,
kEobBaseSparkDefShift,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index 8e410dc187..9936d5f668 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -1108,6 +1108,12 @@ const int eob1FloppyNeed[] = {
kEobBaseMagicStrings7,
kEobBaseMagicStrings8,
+ kEobBaseFlightObjAnimIndex,
+ kEobBaseFlightObjAnimDim,
+ kEobBaseFlightObjAnimTbl1,
+ kEobBaseFlightObjAnimTbl2,
+ kEobBaseFlightObjAnimTbl3,
+
kEobBaseSparkDefSteps,
kEobBaseSparkDefSubSteps,
kEobBaseSparkDefShift,
@@ -1262,6 +1268,13 @@ const int eob2FloppyNeed[] = {
kEobBaseMagicStrings7,
kEobBaseMagicStrings8,
+ kEobBaseFlightObjAnimTiles,
+ kEobBaseFlightObjAnimIndex,
+ kEobBaseFlightObjAnimDim,
+ kEobBaseFlightObjAnimTbl1,
+ kEobBaseFlightObjAnimTbl2,
+ kEobBaseFlightObjAnimTbl3,
+
kEobBaseSparkDefSteps,
kEobBaseSparkDefSubSteps,
kEobBaseSparkDefShift,
diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp
index da861fbbbc..6dcfdac5ae 100644
--- a/devtools/create_kyradat/tables.cpp
+++ b/devtools/create_kyradat/tables.cpp
@@ -1907,6 +1907,34 @@ const ExtractEntrySearchData kEobBaseMagicStrings8Provider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData kEobBaseFlightObjAnimTilesProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000012, 0x0000000C, { { 0x98, 0x29, 0x54, 0xCD, 0xED, 0xAC, 0x7B, 0x61, 0x8D, 0x4F, 0x19, 0xE8, 0xA6, 0xB1, 0x51, 0x80 } } } },
+ EXTRACT_END_ENTRY
+};
+const ExtractEntrySearchData kEobBaseFlightObjAnimIndexProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000009, 0x00000005, { { 0xFE, 0xEA, 0xC4, 0x54, 0x62, 0x7E, 0x43, 0x6E, 0x89, 0x48, 0x03, 0xE7, 0x47, 0xBF, 0x7D, 0x9D } } } }, // EOB 1
+ { UNK_LANG, kPlatformPC, { 0x0000000E, 0x00000004, { { 0x63, 0x27, 0x19, 0x17, 0xBD, 0xC3, 0x8A, 0xA7, 0x1E, 0xF7, 0xD1, 0x78, 0x39, 0x3B, 0xD4, 0x4F } } } }, // EOB 2
+ EXTRACT_END_ENTRY
+};
+const ExtractEntrySearchData kEobBaseFlightObjAnimDimProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000004, 0x00000034, { { 0x27, 0xC5, 0x09, 0x97, 0x8E, 0xD4, 0xF1, 0x8D, 0x77, 0xEB, 0x1D, 0x34, 0x55, 0xB2, 0x48, 0x38 } } } },
+ EXTRACT_END_ENTRY
+};
+const ExtractEntrySearchData kEobBaseFlightObjAnimTbl1Provider[] = {
+ { UNK_LANG, kPlatformPC, { 0x0000000D, 0x0000005D, { { 0x49, 0xC4, 0x47, 0x55, 0xDC, 0x25, 0x08, 0x03, 0x3D, 0x23, 0xAD, 0x09, 0x5F, 0x9C, 0x34, 0x06 } } } },
+ EXTRACT_END_ENTRY
+};
+const ExtractEntrySearchData kEobBaseFlightObjAnimTbl2Provider[] = {
+ { UNK_LANG, kPlatformPC, { 0x0000000A, 0x0000005C, { { 0xAB, 0x6A, 0x97, 0x35, 0xCC, 0x13, 0xC4, 0x17, 0x0B, 0xF2, 0xD3, 0xFD, 0xA2, 0x1C, 0x6C, 0xA8 } } } },
+ EXTRACT_END_ENTRY
+};
+const ExtractEntrySearchData kEobBaseFlightObjAnimTbl3Provider[] = {
+ { UNK_LANG, kPlatformPC, { 0x0000000B, 0x00000032, { { 0x59, 0x23, 0xB9, 0xBE, 0x0E, 0xFA, 0xEB, 0xDD, 0x82, 0x68, 0x5B, 0xB0, 0xBE, 0x9B, 0x1D, 0x8E } } } },
+ EXTRACT_END_ENTRY
+};
+
+
+
const ExtractEntrySearchData kEobBaseSparkDefStepsProvider[] = {
{ UNK_LANG, kPlatformPC, { 0x00000008, 0x000002FD, { { 0xB5, 0x6F, 0x31, 0x5F, 0xC6, 0x47, 0xE9, 0x23, 0x0E, 0x73, 0xBF, 0x77, 0xC7, 0xEE, 0xDB, 0x27 } } } },
EXTRACT_END_ENTRY
@@ -3272,6 +3300,13 @@ const ExtractEntry extractProviders[] = {
{ kEobBaseMagicStrings6, kEobBaseMagicStrings6Provider },
{ kEobBaseMagicStrings7, kEobBaseMagicStrings7Provider },
{ kEobBaseMagicStrings8, kEobBaseMagicStrings8Provider },
+
+ { kEobBaseFlightObjAnimTiles, kEobBaseFlightObjAnimTilesProvider },
+ { kEobBaseFlightObjAnimIndex, kEobBaseFlightObjAnimIndexProvider },
+ { kEobBaseFlightObjAnimDim, kEobBaseFlightObjAnimDimProvider },
+ { kEobBaseFlightObjAnimTbl1, kEobBaseFlightObjAnimTbl1Provider },
+ { kEobBaseFlightObjAnimTbl2, kEobBaseFlightObjAnimTbl2Provider },
+ { kEobBaseFlightObjAnimTbl3, kEobBaseFlightObjAnimTbl3Provider },
{ kEobBaseSparkDefSteps, kEobBaseSparkDefStepsProvider },
{ kEobBaseSparkDefSubSteps, kEobBaseSparkDefSubStepsProvider },
diff --git a/engines/kyra/eobcommon.cpp b/engines/kyra/eobcommon.cpp
index 97b871cb60..49f07acd5f 100644
--- a/engines/kyra/eobcommon.cpp
+++ b/engines/kyra/eobcommon.cpp
@@ -246,8 +246,6 @@ Common::Error EobCoreEngine::init() {
_screen->loadFont(Screen::FID_6_FNT, "FONT6.FNT");
_screen->loadFont(Screen::FID_8_FNT, "FONT8.FNT");
- _activeButtons = 0;
-
_staticres = new StaticResource(this);
assert(_staticres);
if (!_staticres->init())
diff --git a/engines/kyra/eobcommon.h b/engines/kyra/eobcommon.h
index e88ab84d7a..e2873cbbcf 100644
--- a/engines/kyra/eobcommon.h
+++ b/engines/kyra/eobcommon.h
@@ -435,6 +435,13 @@ protected:
const int8 *_flightObjShpMap;
const int8 *_flightObjSclIndex;
+ const uint8 *_flightObjAnimTiles;
+ const uint8 *_flightObjAnimIndex;
+ const uint8 *_flightObjAnimDim;
+ const uint8 *_flightObjAnimTbl1;
+ const uint8 *_flightObjAnimTbl2;
+ const uint8 *_flightObjAnimTbl3;
+
// Monsters
void loadMonsterShapes(const char *filename, int monsterIndex, bool hasDecorations, int encodeTableIndex);
void releaseMonsterShapes(int first, int num);
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index ebe6ea6e19..7a4a3ec3e2 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -187,8 +187,6 @@ LoLEngine::LoLEngine(OSystem *system, const GameFlags &flags) : LolEobBaseEngine
_compassBroken = _drainMagic = 0;
_buttonData = 0;
- _activeButtons = 0;
- gui_resetButtonList();
_preserveEvents = false;
_buttonList1 = _buttonList2 = _buttonList3 = _buttonList4 = _buttonList5 = _buttonList6 = _buttonList7 = _buttonList8 = 0;
diff --git a/engines/kyra/loleobbase.cpp b/engines/kyra/loleobbase.cpp
index 1c4068de20..02ffbea803 100644
--- a/engines/kyra/loleobbase.cpp
+++ b/engines/kyra/loleobbase.cpp
@@ -36,6 +36,7 @@ LolEobBaseEngine::LolEobBaseEngine(OSystem *system, const GameFlags &flags) : Ky
_sceneXoffset = 0;
_sceneShpDim = 5;
+
_activeButtons = 0;
_currentLevel = 0;
@@ -150,6 +151,8 @@ LolEobBaseEngine::~LolEobBaseEngine() {
}
Common::Error LolEobBaseEngine::init() {
+ gui_resetButtonList();
+
_levelDecorationProperties = new LevelDecorationProperty[100];
memset(_levelDecorationProperties, 0, 100 * sizeof(LevelDecorationProperty));
_levelDecorationShapes = new uint8*[400];
diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h
index 2c484b4d01..3e9ba09e69 100644
--- a/engines/kyra/resource.h
+++ b/engines/kyra/resource.h
@@ -396,6 +396,13 @@ enum KyraResources {
kEobBaseMagicStrings7,
kEobBaseMagicStrings8,
+ kEobBaseFlightObjAnimTiles,
+ kEobBaseFlightObjAnimIndex,
+ kEobBaseFlightObjAnimDim,
+ kEobBaseFlightObjAnimTbl1,
+ kEobBaseFlightObjAnimTbl2,
+ kEobBaseFlightObjAnimTbl3,
+
kEobBaseSparkDefSteps,
kEobBaseSparkDefSubSteps,
kEobBaseSparkDefShift,
diff --git a/engines/kyra/staticres_eob.cpp b/engines/kyra/staticres_eob.cpp
index 557bacb239..e25508f459 100644
--- a/engines/kyra/staticres_eob.cpp
+++ b/engines/kyra/staticres_eob.cpp
@@ -459,6 +459,13 @@ void EobCoreEngine::initStaticResource() {
_magicStrings7 = _staticres->loadStrings(kEobBaseMagicStrings7, temp);
_magicStrings8 = _staticres->loadStrings(kEobBaseMagicStrings8, temp);
+ _flightObjAnimTiles = _staticres->loadRawData(kEobBaseFlightObjAnimTiles, temp);
+ _flightObjAnimIndex = _staticres->loadRawData(kEobBaseFlightObjAnimIndex, temp);
+ _flightObjAnimDim = _staticres->loadRawData(kEobBaseFlightObjAnimDim, temp);
+ _flightObjAnimTbl1 = _staticres->loadRawData(kEobBaseFlightObjAnimTbl1, temp);
+ _flightObjAnimTbl2 = _staticres->loadRawData(kEobBaseFlightObjAnimTbl2, temp);
+ _flightObjAnimTbl3 = _staticres->loadRawData(kEobBaseFlightObjAnimTbl3, temp);
+
_sparkEffectDefSteps = _staticres->loadRawData(kEobBaseSparkDefSteps, temp);
_sparkEffectDefSubSteps = _staticres->loadRawData(kEobBaseSparkDefSubSteps, temp);
_sparkEffectDefShift = _staticres->loadRawData(kEobBaseSparkDefShift, temp);