aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/resource.h2
-rw-r--r--engines/kyra/sequences_lol.cpp17
-rw-r--r--engines/kyra/staticres.cpp8
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) {