aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/preagi_mickey.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2007-09-11 21:39:16 +0000
committerMatthew Hoops2007-09-11 21:39:16 +0000
commitf4414ac084f08ed4e1e8b2b4cbd649588ef33820 (patch)
tree190b85afd687f56cf7576e70d556304588b44f22 /engines/agi/preagi_mickey.cpp
parentbe013e6c45c7547ac8c57d9061293eb5e82602e2 (diff)
downloadscummvm-rg350-f4414ac084f08ed4e1e8b2b4cbd649588ef33820.tar.gz
scummvm-rg350-f4414ac084f08ed4e1e8b2b4cbd649588ef33820.tar.bz2
scummvm-rg350-f4414ac084f08ed4e1e8b2b4cbd649588ef33820.zip
remove the rest of the PreAGI loader
svn-id: r28895
Diffstat (limited to 'engines/agi/preagi_mickey.cpp')
-rw-r--r--engines/agi/preagi_mickey.cpp27
1 files changed, 23 insertions, 4 deletions
diff --git a/engines/agi/preagi_mickey.cpp b/engines/agi/preagi_mickey.cpp
index 44795b9e40..20679fdee2 100644
--- a/engines/agi/preagi_mickey.cpp
+++ b/engines/agi/preagi_mickey.cpp
@@ -682,21 +682,40 @@ void Mickey::debug() {
// Graphics
void Mickey::drawObj(ENUM_MSA_OBJECT iObj, int x0, int y0) {
- _vm->preAgiLoadResource(rVIEW, iObj);
+ uint8* buffer = new uint8[4096];
+ char szFile[255] = {0};
+ sprintf(szFile, IDS_MSA_PATH_OBJ, IDS_MSA_NAME_OBJ[iObj]);
+
+ Common::File file;
+ if (!file.open(szFile))
+ return;
+ uint32 size = file.size();
+ file.read(buffer, size);
+ file.close();
if (iObj == IDI_MSA_OBJECT_CRYSTAL)
_vm->_picture->setPictureFlags(kPicFStep);
_vm->_picture->setOffset(x0, y0);
- _vm->_picture->decodePicture(iObj, false, false, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
+ _vm->_picture->decodePicture(buffer, size, false, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
_vm->_picture->setOffset(0, 0);
_vm->_picture->showPic(10, 0, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
}
void Mickey::drawPic(int iPic) {
- _vm->preAgiLoadResource(rPICTURE, iPic);
+ uint8* buffer = new uint8[4096];
+ char szFile[255] = {0};
+ sprintf(szFile, IDS_MSA_PATH_PIC, iPic);
+
+ Common::File file;
+ if (!file.open(szFile))
+ return;
+ uint32 size = file.size();
+ file.read(buffer, size);
+ file.close();
+
// Note that decodePicture clears the screen
- _vm->_picture->decodePicture(iPic, true, false, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
+ _vm->_picture->decodePicture(buffer, size, true, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
_vm->_picture->showPic(10, 0, IDI_MSA_PIC_WIDTH, IDI_MSA_PIC_HEIGHT);
//_vm->_gfx->doUpdate();
//_vm->_system->updateScreen(); // TODO: this should go in the game's main loop