aboutsummaryrefslogtreecommitdiff
path: root/kyra/resource.cpp
diff options
context:
space:
mode:
authorGregory Montoir2005-08-19 22:12:09 +0000
committerGregory Montoir2005-08-19 22:12:09 +0000
commit24265fd3dd1681835f63e3c901158adef1ec5bc5 (patch)
tree36a28654b271ca5d8f12006f95f4990deaf371f8 /kyra/resource.cpp
parented2a18569a68d5be78d5a893d66979eef9fe06cd (diff)
downloadscummvm-rg350-24265fd3dd1681835f63e3c901158adef1ec5bc5.tar.gz
scummvm-rg350-24265fd3dd1681835f63e3c901158adef1ec5bc5.tar.bz2
scummvm-rg350-24265fd3dd1681835f63e3c901158adef1ec5bc5.zip
some WIP code to start introduction (with glitches) in Kyrandia 1 :
- the decoders have been rewritten due to crashes I encountered with the previous ones in Compression:: - the wsa code loader for v1 have been rewritten too, to handle the same flags as the original - some cleanup - this has only been tested with the floppy version svn-id: r18704
Diffstat (limited to 'kyra/resource.cpp')
-rw-r--r--kyra/resource.cpp45
1 files changed, 14 insertions, 31 deletions
diff --git a/kyra/resource.cpp b/kyra/resource.cpp
index 7da8772db3..ea2dd35055 100644
--- a/kyra/resource.cpp
+++ b/kyra/resource.cpp
@@ -20,14 +20,13 @@
*/
#include "common/stdafx.h"
-#include "kyra/resource.h"
-#include "kyra/wsamovie.h"
-
#include "common/file.h"
+#include "kyra/resource.h"
#include "kyra/script.h"
+#include "kyra/wsamovie.h"
namespace Kyra {
-Resourcemanager::Resourcemanager(KyraEngine* engine) {
+Resource::Resource(KyraEngine* engine) {
_engine = engine;
// prefetches all PAK Files
@@ -79,7 +78,7 @@ Resourcemanager::Resourcemanager(KyraEngine* engine) {
}
}
-Resourcemanager::~Resourcemanager() {
+Resource::~Resource() {
Common::List<PAKFile*>::iterator start = _pakfiles.begin();
for (;start != _pakfiles.end(); ++start) {
@@ -88,7 +87,7 @@ Resourcemanager::~Resourcemanager() {
}
}
-uint8* Resourcemanager::fileData(const char* file, uint32* size) {
+uint8* Resource::fileData(const char* file, uint32* size) {
uint8* buffer = 0;
Common::File file_;
@@ -131,10 +130,9 @@ uint8* Resourcemanager::fileData(const char* file, uint32* size) {
return buffer;
}
-Palette* Resourcemanager::loadPalette(const char* file) {
+Palette* Resource::loadPalette(const char* file) {
uint32 size = 0;
- uint8* buffer = 0;
- buffer = fileData(file, &size);
+ uint8 *buffer = fileData(file, &size);
if (!buffer) {
warning("ResMgr: Failed loading palette %s", file);
return 0;
@@ -142,38 +140,23 @@ Palette* Resourcemanager::loadPalette(const char* file) {
return new Palette(buffer, size);
}
-CPSImage* Resourcemanager::loadImage(const char* file) {
+CPSImage* Resource::loadImage(const char* file) {
uint32 size = 0;
- uint8* buffer = 0;
- buffer = fileData(file, &size);
+ uint8 *buffer = fileData(file, &size);
if (!buffer)
return 0;
return new CPSImage(buffer, size);
}
-Font* Resourcemanager::loadFont(const char* file) {
+Font* Resource::loadFont(const char* file) {
uint32 size = 0;
- uint8* buffer = 0;
- buffer = fileData(file, &size);
+ uint8 *buffer = fileData(file, &size);
if (!buffer)
return 0;
return new Font(buffer, size);
}
-Movie* Resourcemanager::loadMovie(const char* file) {
- // TODO: we have to check the Extenion to create the right movie
- uint32 size = 0;
- uint8* buffer = 0;
- buffer = fileData(file, &size);
- if (!buffer || !size)
- return 0;
- if (_engine->game() == KYRA1 || _engine->game() == KYRA1CD)
- return new WSAMovieV1(buffer, size, _engine->game());
- else
- return new WSAMovieV2(buffer, size);
-}
-
-VMContext* Resourcemanager::loadScript(const char* file) {
+VMContext* Resource::loadScript(const char* file) {
VMContext* context = new VMContext(_engine);
context->loadScript(file);
return context;
@@ -182,12 +165,12 @@ VMContext* Resourcemanager::loadScript(const char* file) {
///////////////////////////////////////////
// Pak file manager
#define PAKFile_Iterate Common::List<PakChunk*>::iterator start=_files.begin();start != _files.end(); ++start
-PAKFile::PAKFile(/*const Common::String &path, */const Common::String& file) {
+PAKFile::PAKFile(const Common::String& file) {
Common::File pakfile;
_buffer = 0;
_open = false;
- if (!pakfile.open(file.c_str())){ /*, Common::File::kFileReadMode, path.c_str())) {*/
+ if (!pakfile.open(file.c_str())) {
printf("pakfile couldn't open %s\n", file.c_str());
return;
}