aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/adl.cpp
diff options
context:
space:
mode:
authorWalter van Niftrik2016-12-16 15:29:02 +0100
committerWalter van Niftrik2016-12-16 15:29:38 +0100
commit1f801bee433624e8bde214264a2d0c2359be4c13 (patch)
tree454fc71b488a34c2ffd17910589d2ce0f6a0c716 /engines/adl/adl.cpp
parentf29a2f31f1e37ee733f1015c3d36df798c755172 (diff)
downloadscummvm-rg350-1f801bee433624e8bde214264a2d0c2359be4c13.tar.gz
scummvm-rg350-1f801bee433624e8bde214264a2d0c2359be4c13.tar.bz2
scummvm-rg350-1f801bee433624e8bde214264a2d0c2359be4c13.zip
ADL: Partially implement hires5 opcodes
Diffstat (limited to 'engines/adl/adl.cpp')
-rw-r--r--engines/adl/adl.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp
index 76f5bac5b5..0d96cb67af 100644
--- a/engines/adl/adl.cpp
+++ b/engines/adl/adl.cpp
@@ -428,6 +428,20 @@ void AdlEngine::bell(uint count) const {
_speaker->bell(count);
}
+const Region &AdlEngine::getRegion(uint i) const {
+ if (i < 1 || i > _state.regions.size())
+ error("Region %i out of range [1, %i]", i, _state.regions.size());
+
+ return _state.regions[i - 1];
+}
+
+Region &AdlEngine::getRegion(uint i) {
+ if (i < 1 || i > _state.regions.size())
+ error("Region %i out of range [1, %i]", i, _state.regions.size());
+
+ return _state.regions[i - 1];
+}
+
const Room &AdlEngine::getRoom(uint i) const {
if (i < 1 || i > _state.rooms.size())
error("Room %i out of range [1, %i]", i, _state.rooms.size());
@@ -442,6 +456,14 @@ Room &AdlEngine::getRoom(uint i) {
return _state.rooms[i - 1];
}
+const Region &AdlEngine::getCurRegion() const {
+ return getRegion(_state.region);
+}
+
+Region &AdlEngine::getCurRegion() {
+ return getRegion(_state.region);
+}
+
const Room &AdlEngine::getCurRoom() const {
return getRoom(_state.room);
}