diff options
author | Johannes Schickel | 2009-08-29 07:52:24 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-08-29 07:52:24 +0000 |
commit | adf1df19c0a002123946379b3bfb1f537a66c869 (patch) | |
tree | ebd1b97d8bd37260e7471814e3fda92d00486c29 /engines/kyra/staticres.cpp | |
parent | 0ae1d719dbf5316b161430ffe2d0e8a1dd1a52d3 (diff) | |
download | scummvm-rg350-adf1df19c0a002123946379b3bfb1f537a66c869.tar.gz scummvm-rg350-adf1df19c0a002123946379b3bfb1f537a66c869.tar.bz2 scummvm-rg350-adf1df19c0a002123946379b3bfb1f537a66c869.zip |
Move Amiga SFX tables to kyra.dat.
svn-id: r43793
Diffstat (limited to 'engines/kyra/staticres.cpp')
-rw-r--r-- | engines/kyra/staticres.cpp | 213 |
1 files changed, 44 insertions, 169 deletions
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 52eb0d322f..3bbc999ac3 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -41,10 +41,11 @@ #include "kyra/gui_lol.h" #include "kyra/gui_hof.h" #include "kyra/gui_mr.h" +#include "kyra/sound_intern.h" namespace Kyra { -#define RESFILE_VERSION 51 +#define RESFILE_VERSION 52 namespace { bool checkKyraDat(Common::SeekableReadStream *file) { @@ -219,6 +220,7 @@ bool StaticResource::init() { { kStringList, proc(loadStringTable), proc(freeStringTable) }, { StaticResource::kRoomList, proc(loadRoomTable), proc(freeRoomTable) }, { kShapeList, proc(loadShapeTable), proc(freeShapeTable) }, + { kAmigaSfxTable, proc(loadAmigaSfxTable), proc(freeAmigaSfxTable) }, { kRawData, proc(loadRawData), proc(freeRawData) }, { kPaletteTable, proc(loadPaletteTable), proc(freePaletteTable) }, @@ -322,8 +324,14 @@ bool StaticResource::init() { { k1TownsSFXwdTable, kRawData, "SFXWDTABLE" }, { k1TownsSFXbtTable, kRawData, "SFXBTTABLE" }, { k1TownsCDATable, kRawData, "CDATABLE" }, + + // CREDITS (used in FM-TOWNS and AMIGA) { k1CreditsStrings, kRawData, "CREDITS" }, + // AMIGA specific + { k1AmigaIntroSFXTable, kAmigaSfxTable, "SFXINTRO" }, + { k1AmigaGameSFXTable, kAmigaSfxTable, "SFXGAME" }, + { 0, 0, 0 } }; @@ -507,6 +515,10 @@ const Shape *StaticResource::loadShapeTable(int id, int &entries) { return (const Shape *)getData(id, kShapeList, entries); } +const AmigaSfxTable *StaticResource::loadAmigaSfxTable(int id, int &entries) { + return (const AmigaSfxTable *)getData(id, kAmigaSfxTable, entries); +} + const Room *StaticResource::loadRoomTable(int id, int &entries) { return (const Room *)getData(id, StaticResource::kRoomList, entries); } @@ -774,6 +786,29 @@ bool StaticResource::loadShapeTable(const char *filename, void *&ptr, int &size) return true; } +bool StaticResource::loadAmigaSfxTable(const char *filename, void *&ptr, int &size) { + Common::SeekableReadStream *file = getFile(filename); + if (!file) + return false; + + size = file->readUint32BE(); + AmigaSfxTable *loadTo = new AmigaSfxTable[size]; + assert(loadTo); + + for (int i = 0; i < size; ++i) { + loadTo[i].note = file->readByte(); + loadTo[i].patch = file->readByte(); + loadTo[i].duration = file->readUint16BE(); + loadTo[i].volume = file->readByte(); + loadTo[i].pan = file->readByte(); + } + + delete file; + ptr = loadTo; + + return true; +} + bool StaticResource::loadRoomTable(const char *filename, void *&ptr, int &size) { Common::SeekableReadStream *file = getFile(filename); if (!file) @@ -1205,6 +1240,13 @@ void StaticResource::freeShapeTable(void *&ptr, int &size) { size = 0; } +void StaticResource::freeAmigaSfxTable(void *&ptr, int &size) { + AmigaSfxTable *data = (AmigaSfxTable *)ptr; + delete[] data; + ptr = 0; + size = 0; +} + void StaticResource::freeRoomTable(void *&ptr, int &size) { Room *data = (Room *)ptr; delete[] data; @@ -3400,172 +3442,5 @@ const int LoLEngine::_outroMonsterScaleTableY[] = { #endif // ENABLE_LOL -// TODO: fileoffset = 0x32D5C, len = 40 * 8 -extern const byte LoKAmigaSfxIntro[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x6E, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x6E, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x6E, 0x00, - 0x3C, 0x13, 0x00, 0x00, 0x1B, 0x91, 0x6E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x16, 0x00, 0x00, 0x26, 0x77, 0x6E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x17, 0x00, 0x00, 0x11, 0x98, 0x6E, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x6E, 0x00, - 0x3C, 0x18, 0x00, 0x00, 0x22, 0xD1, 0x6E, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x6E, 0x00, - 0x45, 0x03, 0x00, 0x00, 0x02, 0x24, 0x6E, 0x00, - 0x3C, 0x16, 0x00, 0x00, 0x26, 0x77, 0x6E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// TODO: fileoffset = 0x2C55E, len = 120 * 8 -extern const byte LoKAmigaSfxGame[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x13, 0x00, 0x00, 0x01, 0x56, 0x78, 0x02, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x3C, 0x15, 0x00, 0x00, 0x1B, 0x91, 0x78, 0x02, - 0x3C, 0x16, 0x00, 0x00, 0x1E, 0x97, 0x78, 0x02, - 0x3C, 0x17, 0x00, 0x00, 0x12, 0x2B, 0x78, 0x02, - 0x3C, 0x16, 0x00, 0x00, 0x1E, 0x97, 0x78, 0x02, - 0x45, 0x03, 0x00, 0x00, 0x02, 0x24, 0x78, 0x02, - 0x3C, 0x16, 0x00, 0x00, 0x1E, 0x97, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x2C, 0x04, 0x00, 0x00, 0x09, 0x10, 0x78, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x3C, 0x1A, 0x00, 0x00, 0x3A, 0xEB, 0x78, 0x02, - 0x25, 0x1B, 0x00, 0x00, 0x13, 0x8B, 0x78, 0x02, - 0x18, 0x03, 0x00, 0x00, 0x0F, 0x52, 0x78, 0x02, - 0x3E, 0x1C, 0x00, 0x00, 0x06, 0x22, 0x78, 0x02, - 0x3B, 0x1C, 0x00, 0x00, 0x07, 0x54, 0x78, 0x02, - 0x16, 0x03, 0x00, 0x00, 0x20, 0x6F, 0x78, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x3C, 0x1D, 0x00, 0x00, 0x09, 0xEA, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x3C, 0x1E, 0x00, 0x00, 0x03, 0x6E, 0x78, 0x02, - 0x3C, 0x17, 0x00, 0x00, 0x12, 0x2B, 0x78, 0x02, - 0x4E, 0x0B, 0x00, 0x00, 0x09, 0x91, 0x78, 0x02, - 0x47, 0x1B, 0x00, 0x00, 0x02, 0xBC, 0x78, 0x02, - 0x4C, 0x1B, 0x00, 0x00, 0x02, 0x11, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x13, 0x00, 0x00, 0x01, 0x56, 0x78, 0x02, - 0x3C, 0x13, 0x00, 0x00, 0x01, 0x56, 0x78, 0x02, - 0x3C, 0x1F, 0x00, 0x00, 0x0E, 0x9E, 0x78, 0x02, - 0x3C, 0x20, 0x00, 0x00, 0x01, 0x0C, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x3C, 0x21, 0x00, 0x00, 0x0F, 0x7C, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2A, 0x0B, 0x00, 0x00, 0x4C, 0x47, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x1B, 0x00, 0x00, 0x05, 0x28, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2C, 0x04, 0x00, 0x00, 0x09, 0x10, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x22, 0x00, 0x00, 0x0A, 0xEE, 0x78, 0x02, - 0x3C, 0x16, 0x00, 0x00, 0x1E, 0x97, 0x78, 0x02, - 0x3C, 0x15, 0x00, 0x00, 0x1B, 0x91, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x22, 0x00, 0x00, 0x0A, 0xEE, 0x78, 0x02, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x32, 0x23, 0x00, 0x00, 0x14, 0x19, 0x9C, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x17, 0x1C, 0x78, 0x02, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x3E, 0x1C, 0x00, 0x00, 0x06, 0x22, 0x78, 0x02, - 0x43, 0x13, 0x00, 0x00, 0x02, 0x01, 0x78, 0x02, - 0x3C, 0x24, 0x00, 0x00, 0x12, 0x43, 0x5A, 0x02, - 0x3E, 0x20, 0x00, 0x00, 0x00, 0xEE, 0x78, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x29, 0x04, 0x00, 0x00, 0x19, 0xEA, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x20, 0x00, 0x00, 0x01, 0x0C, 0x78, 0x02, - 0x3C, 0x25, 0x00, 0x00, 0x30, 0xB6, 0x78, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x16, 0x00, 0x00, 0x1E, 0x97, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x1A, 0x00, 0x00, 0x3A, 0xEB, 0x78, 0x02, - 0x1B, 0x04, 0x00, 0x00, 0x39, 0xF3, 0x78, 0x02, - 0x30, 0x23, 0x00, 0x00, 0x16, 0x99, 0x50, 0x02, - 0x3C, 0x15, 0x00, 0x00, 0x1B, 0x91, 0x78, 0x02, - 0x29, 0x06, 0x00, 0x00, 0x19, 0xEA, 0x50, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x1A, 0x00, 0x00, 0x3A, 0xEB, 0x78, 0x02, - 0x3C, 0x19, 0x00, 0x00, 0x25, 0x2C, 0x78, 0x02, - 0x3C, 0x26, 0x00, 0x00, 0x07, 0x13, 0x78, 0x02, - 0x3C, 0x26, 0x00, 0x00, 0x07, 0x13, 0x78, 0x02, - 0x3C, 0x14, 0x00, 0x00, 0x27, 0x2C, 0x78, 0x02, - 0x30, 0x23, 0x00, 0x00, 0x16, 0x99, 0x50, 0x02, - 0x30, 0x23, 0x00, 0x00, 0x16, 0x99, 0x50, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x13, 0x00, 0x00, 0x01, 0x56, 0x78, 0x02 -}; - } // End of namespace Kyra + |