aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/debugger.cpp2
-rw-r--r--engines/kyra/screen.cpp5
-rw-r--r--engines/kyra/screen.h2
3 files changed, 6 insertions, 3 deletions
diff --git a/engines/kyra/debugger.cpp b/engines/kyra/debugger.cpp
index 994c3de425..e80131ade8 100644
--- a/engines/kyra/debugger.cpp
+++ b/engines/kyra/debugger.cpp
@@ -72,7 +72,7 @@ bool Debugger::cmd_loadPalette(int argc, const char **argv) {
_vm->screen()->loadBitmap(argv[1], 5, 5, 0);
memcpy(palette, _vm->screen()->getCPagePtr(5), 768);
_vm->screen()->loadPageFromDisk("TEMP", 5);
- } else if (!_vm->resource()->loadFileToBuf(argv[1], palette, 768)) {
+ } else if (!_vm->screen()->loadPalette(argv[1], palette)) {
DebugPrintf("Palette '%s' not found!", argv[1]);
return true;
}
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 0686eee254..be7de1ab18 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -2688,10 +2688,12 @@ void Screen::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *
delete [] srcData;
}
-void Screen::loadPalette(const char *filename, uint8 *palData) {
+bool Screen::loadPalette(const char *filename, uint8 *palData) {
debugC(9, kDebugLevelScreen, "Screen::loadPalette('%s' %p)", filename, (void *)palData);
uint32 fileSize = 0;
uint8 *srcData = _vm->resource()->fileData(filename, &fileSize);
+ if (!srcData)
+ return false;
if (palData && fileSize) {
debugC(9, kDebugLevelScreen,"Loading a palette of size %u from '%s'", fileSize, filename);
@@ -2712,6 +2714,7 @@ void Screen::loadPalette(const char *filename, uint8 *palData) {
}
}
delete [] srcData;
+ return true;
}
void Screen::loadPalette(const byte *data, uint8 *palData, int bytes) {
diff --git a/engines/kyra/screen.h b/engines/kyra/screen.h
index ff5e6f1d37..f4d7623900 100644
--- a/engines/kyra/screen.h
+++ b/engines/kyra/screen.h
@@ -195,7 +195,7 @@ public:
// misc
void loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData);
- void loadPalette(const char *filename, uint8 *palData);
+ bool loadPalette(const char *filename, uint8 *palData);
void loadPalette(const byte *data, uint8 *palData, int bytes);
void setAnimBlockPtr(int size);