diff options
author | Matthew Hoops | 2007-09-22 23:36:00 +0000 |
---|---|---|
committer | Matthew Hoops | 2007-09-22 23:36:00 +0000 |
commit | 998d43df30683ae40f7fde92e453e36a67682176 (patch) | |
tree | 84e2a71181e27e0afeb3697e3b5f355f1ac08955 /engines | |
parent | 4333fafe76ecbb1a53bcfeba108b6d9e3d626b9f (diff) | |
download | scummvm-rg350-998d43df30683ae40f7fde92e453e36a67682176.tar.gz scummvm-rg350-998d43df30683ae40f7fde92e453e36a67682176.tar.bz2 scummvm-rg350-998d43df30683ae40f7fde92e453e36a67682176.zip |
allow Winnie Amiga to show room images, still not playable
svn-id: r29032
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agi/preagi_winnie.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp index 8918ef18a3..3570a4498e 100644 --- a/engines/agi/preagi_winnie.cpp +++ b/engines/agi/preagi_winnie.cpp @@ -1025,15 +1025,21 @@ void Winnie::drawRoomPic() { _vm->_gfx->clearScreen(0); // read room picture - readRoom(room, buffer); + uint32 size = readRoom(room, buffer); memcpy(&roomhdr, buffer, sizeof(WTP_ROOM_HDR)); + if (_vm->getPlatform() == Common::kPlatformAmiga) + roomhdr.ofsPic = SWAP_BYTES_16(roomhdr.ofsPic); + else if (_vm->getPlatform() == Common::kPlatformPC) + roomhdr.ofsPic = roomhdr.ofsPic - IDI_WTP_OFS_ROOM; + // draw room picture - _vm->_picture->decodePicture(buffer + roomhdr.ofsPic - IDI_WTP_OFS_ROOM, 4096, 1, IDI_WTP_PIC_WIDTH, IDI_WTP_PIC_HEIGHT); + _vm->_picture->decodePicture(buffer + roomhdr.ofsPic, 4096, 1, IDI_WTP_PIC_WIDTH, IDI_WTP_PIC_HEIGHT); _vm->_picture->showPic(IDI_WTP_PIC_X0, IDI_WTP_PIC_Y0, IDI_WTP_PIC_WIDTH, IDI_WTP_PIC_HEIGHT); // draw object picture - drawObjPic(iObj, IDI_WTP_PIC_X0 + roomhdr.objX, IDI_WTP_PIC_Y0 + roomhdr.objY); + if (!_vm->getPlatform() == Common::kPlatformAmiga) + drawObjPic(iObj, IDI_WTP_PIC_X0 + roomhdr.objX, IDI_WTP_PIC_Y0 + roomhdr.objY); free(buffer); } @@ -1121,8 +1127,7 @@ void Winnie::init() { void Winnie::run() { randomize(); intro(); - if (!_vm->getPlatform() == Common::kPlatformAmiga) - gameLoop(); + gameLoop(); } } |