diff options
author | Walter van Niftrik | 2016-03-10 20:47:30 +0100 |
---|---|---|
committer | Walter van Niftrik | 2016-06-06 20:35:49 +0200 |
commit | c44f18a818c36bf714cf59b1a56589b138842503 (patch) | |
tree | 9835e6bb8935f072a682164cc831adf32770d448 /engines/adl/hires2.cpp | |
parent | fe384e0ae09ec3e72d653cd9fd34ab047231e249 (diff) | |
download | scummvm-rg350-c44f18a818c36bf714cf59b1a56589b138842503.tar.gz scummvm-rg350-c44f18a818c36bf714cf59b1a56589b138842503.tar.bz2 scummvm-rg350-c44f18a818c36bf714cf59b1a56589b138842503.zip |
ADL: Load hires2 room data
Diffstat (limited to 'engines/adl/hires2.cpp')
-rw-r--r-- | engines/adl/hires2.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/engines/adl/hires2.cpp b/engines/adl/hires2.cpp index 44abc22bca..4f8ba48837 100644 --- a/engines/adl/hires2.cpp +++ b/engines/adl/hires2.cpp @@ -64,6 +64,27 @@ void HiRes2Engine::loadData() { } void HiRes2Engine::initState() { + Common::File f; + + if (!f.open(IDS_HR2_DISK_IMAGE)) + error("Failed to open file '" IDS_HR2_DISK_IMAGE "'"); + + _state.rooms.clear(); + f.seek(IDI_HR2_OFS_ROOMS); + for (uint i = 0; i < IDI_HR2_NUM_ROOMS; ++i) { + Room room = { }; + f.readByte(); // number + for (uint j = 0; j < 6; ++j) + room.connections[j] = f.readByte(); + room.track = f.readByte(); + room.sector = f.readByte(); + room.offset = f.readByte(); + f.readByte(); // always 1, possibly disk? + room.picture = f.readByte(); + room.curPicture = f.readByte(); + f.readByte(); // always 1, possibly disk? + _state.rooms.push_back(room); + } } void HiRes2Engine::restartGame() { |