[Scummvm-cvs-logs] scummvm master -> c51797dae69a8f4925d320a20228777dbc2add82

tramboi bertrand_augereau at yahoo.fr
Mon Sep 5 16:23:27 CEST 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
98a6b339af DREAMWEB: 'checkpathison' ported to C++
c51797dae6 DREAMWEB: Removal of a useless stub


Commit: 98a6b339afcb6bb177ef898f2a83633269d2eea7
    https://github.com/scummvm/scummvm/commit/98a6b339afcb6bb177ef898f2a83633269d2eea7
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-09-01T22:57:18-07:00

Commit Message:
DREAMWEB: 'checkpathison' ported to C++

Changed paths:
    devtools/tasmrecover/tasm-recover
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/pathfind.cpp
    engines/dreamweb/structs.h
    engines/dreamweb/stubs.h



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 7967acc..1d5e11b 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -182,6 +182,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'turnanypathoff',
 	'isitdescribed',
 	'checkifset',
+	'checkifpathison',
 	], skip_output = [
 	# These functions are processed but not output
 	'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index d59ff61..79e4746 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -14882,20 +14882,6 @@ gotfirst:
 	al = es.byte(bx+6);
 }
 
-void DreamGenContext::checkifpathison() {
-	STACK_CHECK;
-	push(ax);
-	getroomspaths();
-	ax = pop();
-	ah = 0;
-	_add(ax, ax);
-	_add(ax, ax);
-	_add(ax, ax);
-	_add(bx, ax);
-	al = es.byte(bx+6);
-	_cmp(al, 255);
-}
-
 void DreamGenContext::afternewroom() {
 	STACK_CHECK;
 	_cmp(data.byte(kNowinnewroom), 0);
@@ -17852,7 +17838,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_identifyob: identifyob(); break;
 		case addr_findpathofpoint: findpathofpoint(); break;
 		case addr_findfirstpath: findfirstpath(); break;
-		case addr_checkifpathison: checkifpathison(); break;
 		case addr_afternewroom: afternewroom(); break;
 		case addr_atmospheres: atmospheres(); break;
 		case addr_walkintoroom: walkintoroom(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index a27665b..c2674c2 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -110,7 +110,6 @@ public:
 	static const uint16 addr_walkintoroom = 0xca10;
 	static const uint16 addr_atmospheres = 0xca0c;
 	static const uint16 addr_afternewroom = 0xca08;
-	static const uint16 addr_checkifpathison = 0xca04;
 	static const uint16 addr_findfirstpath = 0xc9f0;
 	static const uint16 addr_findpathofpoint = 0xc9ec;
 	static const uint16 addr_identifyob = 0xc9d4;
@@ -1576,7 +1575,7 @@ public:
 	void usecooker();
 	void loadmenu();
 	void checkforemm();
-	void checkifpathison();
+	//void checkifpathison();
 	//void finalframe();
 	void receptionist();
 	void selectslot();
diff --git a/engines/dreamweb/pathfind.cpp b/engines/dreamweb/pathfind.cpp
index ef07199..9069c9d 100644
--- a/engines/dreamweb/pathfind.cpp
+++ b/engines/dreamweb/pathfind.cpp
@@ -36,7 +36,7 @@ void DreamGenContext::turnpathon(uint8 param) {
 	PathNode *roomsPaths = getroomspathsCPP()->nodes;
 	if (param == 0xff)
 		return;
-	roomsPaths[param].b6 = 0xff;
+	roomsPaths[param].on = 0xff;
 }
 
 void DreamGenContext::turnpathoff() {
@@ -48,13 +48,13 @@ void DreamGenContext::turnpathoff(uint8 param) {
 	PathNode *roomsPaths = getroomspathsCPP()->nodes;
 	if (param == 0xff)
 		return;
-	roomsPaths[param].b6 = 0x00;
+	roomsPaths[param].on = 0x00;
 }
 
 void DreamGenContext::turnanypathon(uint8 param, uint8 room) {
 	findormake(param, 0xff, room + 100);
 	PathNode *paths = (PathNode *)segRef(data.word(kReels)).ptr(kPathdata + 144 * room, 0);
-	paths[param].b6 = 0xff;
+	paths[param].on = 0xff;
 }
 
 
@@ -65,7 +65,7 @@ void DreamGenContext::turnanypathon() {
 void DreamGenContext::turnanypathoff(uint8 param, uint8 room) {
 	findormake(param, 0x00, room + 100);
 	PathNode *paths = (PathNode *)segRef(data.word(kReels)).ptr(kPathdata + 144 * room, 0);
-	paths[param].b6 = 0x00;
+	paths[param].on = 0x00;
 }
 
 void DreamGenContext::turnanypathoff() {
@@ -128,5 +128,15 @@ void DreamGenContext::findxyfrompath() {
 	data.byte(kRyany) = roomsPaths[data.byte(kManspath)].y - 12;
 }
 
+void DreamGenContext::checkifpathison() {
+	flags._z = checkifpathison(al);
+}
+
+bool DreamGenContext::checkifpathison(uint8 index) {
+	RoomPaths *roomsPaths = getroomspathsCPP();
+	uint8 pathOn = roomsPaths->nodes[index].on;
+	return pathOn == 0xff;
+}
+
 } /*namespace dreamgen */
 
diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h
index 7c9d9a5..0d7bbb6 100644
--- a/engines/dreamweb/structs.h
+++ b/engines/dreamweb/structs.h
@@ -235,7 +235,7 @@ struct PathNode {
 	uint8 b3;
 	uint8 b4;
 	uint8 b5;
-	uint8 b6;
+	uint8 on;
 	uint8 dir;
 };
 
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index da743c0..a272407 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -220,4 +220,6 @@
 	bool isitdescribed(const ObjPos *objPos);
 	void checkifset();
 	bool checkifset(uint8 x, uint8 y);
+	void checkifpathison();
+	bool checkifpathison(uint8 index);
 


Commit: c51797dae69a8f4925d320a20228777dbc2add82
    https://github.com/scummvm/scummvm/commit/c51797dae69a8f4925d320a20228777dbc2add82
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-09-01T22:57:19-07:00

Commit Message:
DREAMWEB: Removal of a useless stub

Changed paths:
    engines/dreamweb/pathfind.cpp
    engines/dreamweb/sprite.cpp
    engines/dreamweb/stubs.h



diff --git a/engines/dreamweb/pathfind.cpp b/engines/dreamweb/pathfind.cpp
index 9069c9d..080f99a 100644
--- a/engines/dreamweb/pathfind.cpp
+++ b/engines/dreamweb/pathfind.cpp
@@ -33,7 +33,7 @@ void DreamGenContext::turnpathon() {
 
 void DreamGenContext::turnpathon(uint8 param) {
 	findormake(param, 0xff, data.byte(kRoomnum) + 100);
-	PathNode *roomsPaths = getroomspathsCPP()->nodes;
+	PathNode *roomsPaths = getroomspaths()->nodes;
 	if (param == 0xff)
 		return;
 	roomsPaths[param].on = 0xff;
@@ -45,7 +45,7 @@ void DreamGenContext::turnpathoff() {
 
 void DreamGenContext::turnpathoff(uint8 param) {
 	findormake(param, 0x00, data.byte(kRoomnum) + 100);
-	PathNode *roomsPaths = getroomspathsCPP()->nodes;
+	PathNode *roomsPaths = getroomspaths()->nodes;
 	if (param == 0xff)
 		return;
 	roomsPaths[param].on = 0x00;
@@ -72,12 +72,7 @@ void DreamGenContext::turnanypathoff() {
 	turnanypathoff(al, ah);
 }
 
-void DreamGenContext::getroomspaths() {
-	es = data.word(kReels);
-	bx = data.byte(kRoomnum) * 144;
-}
-
-RoomPaths *DreamGenContext::getroomspathsCPP() {
+RoomPaths *DreamGenContext::getroomspaths() {
 	void *result = segRef(data.word(kReels)).ptr(data.byte(kRoomnum) * 144, 144);
 	return (RoomPaths *)result;
 }
@@ -86,7 +81,7 @@ void DreamGenContext::autosetwalk() {
 	al = data.byte(kManspath);
 	if (data.byte(kFinaldest) == al)
 		return;
-	const RoomPaths *roomsPaths = getroomspathsCPP();
+	const RoomPaths *roomsPaths = getroomspaths();
 	checkdest(roomsPaths);
 	data.word(kLinestartx) = roomsPaths->nodes[data.byte(kManspath)].x - 12;
 	data.word(kLinestarty) = roomsPaths->nodes[data.byte(kManspath)].y - 12;
@@ -123,7 +118,7 @@ void DreamGenContext::checkdest(const RoomPaths *roomsPaths) {
 }
 
 void DreamGenContext::findxyfrompath() {
-	const PathNode *roomsPaths = getroomspathsCPP()->nodes;
+	const PathNode *roomsPaths = getroomspaths()->nodes;
 	data.byte(kRyanx) = roomsPaths[data.byte(kManspath)].x - 12;
 	data.byte(kRyany) = roomsPaths[data.byte(kManspath)].y - 12;
 }
@@ -133,7 +128,7 @@ void DreamGenContext::checkifpathison() {
 }
 
 bool DreamGenContext::checkifpathison(uint8 index) {
-	RoomPaths *roomsPaths = getroomspathsCPP();
+	RoomPaths *roomsPaths = getroomspaths();
 	uint8 pathOn = roomsPaths->nodes[index].on;
 	return pathOn == 0xff;
 }
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index e938f86..7cd54c9 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -501,7 +501,7 @@ void DreamGenContext::liftsprite(Sprite *sprite, SetObject *objData) {
 }
 
 void DreamGenContext::facerightway() {
-	PathNode *paths = getroomspathsCPP()->nodes;
+	PathNode *paths = getroomspaths()->nodes;
 	uint8 dir = paths[data.byte(kManspath)].dir;
 	data.byte(kTurntoface) = dir;
 	data.byte(kLeavedirection) = dir;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index a272407..67bba27 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -111,8 +111,7 @@
 	void turnanypathoff(uint8 param, uint8 room);
 	void turnanypathon();
 	void turnanypathoff();
-	void getroomspaths();
-	RoomPaths *getroomspathsCPP();
+	RoomPaths *getroomspaths();
 	void makebackob(SetObject *objData);
 	void modifychar();
 	void lockmon();






More information about the Scummvm-git-logs mailing list