diff options
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/resource.h | 2 | ||||
-rw-r--r-- | engines/kyra/sequences_lol.cpp | 17 | ||||
-rw-r--r-- | engines/kyra/staticres.cpp | 8 |
3 files changed, 23 insertions, 4 deletions
diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h index 529d9f4c5a..d164a28972 100644 --- a/engines/kyra/resource.h +++ b/engines/kyra/resource.h @@ -298,6 +298,8 @@ enum KyraResources { kLolLightningDefs, kLolFireballCoords, + kLolCredits, + kLolHistory, #endif // ENABLE_LOL diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp index 2a4b4910dd..da32c3a8e6 100644 --- a/engines/kyra/sequences_lol.cpp +++ b/engines/kyra/sequences_lol.cpp @@ -1182,7 +1182,22 @@ void LoLEngine::showCredits() { _screen->_charOffset = 0; - char *credits = (char *)_res->fileData("CREDITS.TXT", 0); + char *credits = 0; + + if (_flags.platform == Common::kPlatformPC98) { + int size = 0; + const uint8 *internCredits = _staticres->loadRawData(kLolCredits, size); + assert(size > 0); + + credits = new char[size]; + assert(credits); + + memcpy(credits, internCredits, size); + _staticres->unloadId(kLolCredits); + } else { + credits = (char *)_res->fileData("CREDITS.TXT", 0); + } + processCredits(credits, 21, 4, 5); delete[] credits; diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index bddeb758e0..395fe5d544 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -45,7 +45,7 @@ namespace Kyra { -#define RESFILE_VERSION 58 +#define RESFILE_VERSION 59 namespace { bool checkKyraDat(Common::SeekableReadStream *file) { @@ -469,6 +469,8 @@ bool StaticResource::init() { { kLolLightningDefs, kRawData, "MLGHTNG.DEF" }, { kLolFireballCoords, kLolRawDataBe16, "MFIREBLL.DEF" }, + { kLolCredits, kRawData, "LOLCREDITS" }, + { kLolHistory, kRawData, "HISTORY.FLS" }, { 0, 0, 0 } @@ -501,10 +503,10 @@ void StaticResource::deinit() { } const char * const *StaticResource::loadStrings(int id, int &strings) { - const char * const*temp = (const char* const *)getData(id, kStringList, strings); + const char * const *temp = (const char * const *)getData(id, kStringList, strings); if (temp) return temp; - return (const char* const *)getData(id, kLanguageList, strings); + return (const char * const *)getData(id, kLanguageList, strings); } const uint8 *StaticResource::loadRawData(int id, int &size) { |