diff options
Diffstat (limited to 'engines/queen/graphics.cpp')
-rw-r--r-- | engines/queen/graphics.cpp | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/engines/queen/graphics.cpp b/engines/queen/graphics.cpp index bdd191e935..b3c0542592 100644 --- a/engines/queen/graphics.cpp +++ b/engines/queen/graphics.cpp @@ -594,6 +594,15 @@ void Graphics::setBobText(const BobSlot *pbs, const char *text, int textX, int t else if ((x + maxLineWidth) > 320) x = 320 - maxLineWidth - 4; + // remap some colors for the Amiga + if (_vm->resource()->getPlatform() == Common::kPlatformAmiga) { + if (color == 5) { + color = (_vm->logic()->currentRoom() == 9) ? 15 : 11; + } else if (color == 10 && _vm->logic()->currentRoom() == 100) { + color = 11; + } + } + _vm->display()->textCurrentColor(color); for (i = 0; i < lineCount; i++) { @@ -1068,7 +1077,6 @@ void Graphics::setupRoomObjects() { curBob = 20 + _numFurnitureStatic + numObjectStatic; ++curImage; bob(curBob)->clear(); - _vm->bankMan()->unpack(pgd->firstFrame, curImage, 15); ++_numFrames; if (pod->name > 0) { @@ -1165,6 +1173,9 @@ void Graphics::update(uint16 room) { BamScene::BamScene(QueenEngine *vm) : _flag(F_STOP), _screenShaked(false), _fightData(_fight1Data), _vm(vm) { + if (_vm->resource()->getPlatform() == Common::kPlatformAmiga) { + _fightData = _fight4Data; + } } void BamScene::playSfx() { @@ -1278,7 +1289,9 @@ void BamScene::updateFightAnimation() { break; case 99: // end of BAM data _lastSoundIndex = _index = 0; - _fightData = fightDataBlocks[_vm->randomizer.getRandomNumber(2)]; + if (_vm->resource()->getPlatform() == Common::kPlatformPC) { + _fightData = fightDataBlocks[_vm->randomizer.getRandomNumber(2)]; + } if (_flag == F_REQ_STOP) { _flag = F_STOP; } @@ -1562,6 +1575,58 @@ const BamScene::BamDataBlock BamScene::_fight3Data[] = { { { 75, 96, 1 }, { 187, 96, -23 }, { 183, 41, 47 }, 0 }, { { 75, 96, 1 }, { 187, 96, -23 }, { 183, 41, 47 }, 99 } }; + +const BamScene::BamDataBlock BamScene::_fight4Data[] = { + { { 75, 96, 1 }, { 187, 96, -23 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -23 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -23 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -24 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -24 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 7 }, { 187, 96, -24 }, { 150, 45, 35 }, 0 }, + { { 75, 96, 8 }, { 187, 96, -25 }, { 79, 101, 59 }, 0 }, + { { 75, 96, 9 }, { 187, 96, -25 }, { 95, 104, 66 }, 0 }, + { { 75, 96, 10 }, { 187, 96, -25 }, { 129, 104, 65 }, 0 }, + { { 75, 96, 10 }, { 187, 96, -25 }, { 160, 104, 64 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -25 }, { 179, 104, 63 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -23 }, { 188, 104, 62 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -29 }, { 191, 104, 36 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -29 }, { 195, 104, 37 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -31 }, { 202, 104, 38 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -32 }, { 210, 104, 39 }, 0 }, + { { 75, 96, 5 }, { 187, 98, -32 }, { 216, 104, 40 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -32 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 98, -32 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 97, -33 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -34 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -23 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -23 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -23 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -24 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -24 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -25 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -25 }, { 223, 104, 42 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -26 }, { 175, 98, 36 }, 0 }, + { { 75, 96, 5 }, { 187, 96, -26 }, { 152, 98, 36 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -27 }, { 124, 98, 37 }, 0 }, + { { 75, 96, 6 }, { 187, 96, -28 }, { 105, 98, 38 }, 0 }, + { { 75, 96, 11 }, { 187, 96, -23 }, { 77, 98, 39 }, 0 }, + { { 75, 96, 13 }, { 187, 96, -23 }, { 63, 98, 40 }, 0 }, + { { 75, 96, 14 }, { 187, 96, -23 }, { 51, 98, 41 }, 0 }, + { { 75, 98, 14 }, { 187, 96, -23 }, { 51, 98, 42 }, 0 }, + { { 75, 94, 14 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 98, 14 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 15 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 0 }, + { { 75, 96, 1 }, { 187, 96, -23 }, { 0, 0, 0 }, 99 } +}; #endif } // End of namespace Queen |