aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/pathfind.cpp
diff options
context:
space:
mode:
authorBertrand Augereau2011-09-03 11:02:03 +0200
committerBertrand Augereau2011-09-03 11:10:32 +0200
commit65e2494265f1252bcd1fa4a7f80402ab6bf8ae7b (patch)
tree3ed22393f41b4f3934b7a7874ee44059a114fab0 /engines/dreamweb/pathfind.cpp
parent35d88d498cbb4d5e94befc1d976539c1079dd5bf (diff)
downloadscummvm-rg350-65e2494265f1252bcd1fa4a7f80402ab6bf8ae7b.tar.gz
scummvm-rg350-65e2494265f1252bcd1fa4a7f80402ab6bf8ae7b.tar.bz2
scummvm-rg350-65e2494265f1252bcd1fa4a7f80402ab6bf8ae7b.zip
DREAMWEB: 'turnpathon' et 'turnpathoff' ported to C++
Diffstat (limited to 'engines/dreamweb/pathfind.cpp')
-rw-r--r--engines/dreamweb/pathfind.cpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/engines/dreamweb/pathfind.cpp b/engines/dreamweb/pathfind.cpp
index 2579105c6f..4b1d590bec 100644
--- a/engines/dreamweb/pathfind.cpp
+++ b/engines/dreamweb/pathfind.cpp
@@ -27,22 +27,28 @@
namespace DreamGen {
-void DreamGenContext::turnpathonCPP(uint8 param) {
- al = param;
- push(es);
- push(bx);
- turnpathon();
- bx = pop();
- es = pop();
+void DreamGenContext::turnpathon() {
+ turnpathon(al);
}
-void DreamGenContext::turnpathoffCPP(uint8 param) {
- al = param;
- push(es);
- push(bx);
- turnpathoff();
- bx = pop();
- es = pop();
+void DreamGenContext::turnpathon(uint8 param) {
+ findormake(param, 0xff, data.byte(kRoomnum) + 100);
+ uint8 *roomsPaths = getroomspathsCPP();
+ if (param == 0xff)
+ return;
+ roomsPaths[8 * param + 6] = 0xff;
+}
+
+void DreamGenContext::turnpathoff() {
+ turnpathoff(al);
+}
+
+void DreamGenContext::turnpathoff(uint8 param) {
+ findormake(param, 0x00, data.byte(kRoomnum) + 100);
+ uint8 *roomsPaths = getroomspathsCPP();
+ if (param == 0xff)
+ return;
+ roomsPaths[8 * param + 6] = 0x00;
}
void DreamGenContext::getroomspaths() {