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

digitall digitall at scummvm.org
Wed Dec 7 19:00:59 CET 2011


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

Summary:
c1b7d25bb7 DREAMWEB: 'clearrest' ported to C++.


Commit: c1b7d25bb7cd8f718d79b47c6b4a12caed904dde
    https://github.com/scummvm/scummvm/commit/c1b7d25bb7cd8f718d79b47c6b4a12caed904dde
Author: D G Turner (digitall at scummvm.org)
Date: 2011-12-07T10:00:05-08:00

Commit Message:
DREAMWEB: 'clearrest' ported to C++.

Changed paths:
    devtools/tasmrecover/tasm-recover
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/sprite.cpp



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 386e938..63797c6 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -207,6 +207,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'clearendpal',
 	'clearpalette',
 	'clearreels',
+	'clearrest',
 	'clearsprites',
 	'clearstartpal',
 	'clearwork',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index b54dc63..d7669c6 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -7439,33 +7439,6 @@ void DreamGenContext::clearChanges() {
 	_stosw(cx, true);
 }
 
-void DreamGenContext::clearRest() {
-	STACK_CHECK;
-	es = data.word(kMapdata);
-	cx = (66*60)/2;
-	ax = 0;
-	di = (0);
-	_stosw(cx, true);
-	es = data.word(kBackdrop);
-	deallocateMem();
-	es = data.word(kSetframes);
-	deallocateMem();
-	es = data.word(kReels);
-	deallocateMem();
-	es = data.word(kPeople);
-	deallocateMem();
-	es = data.word(kSetdesc);
-	deallocateMem();
-	es = data.word(kBlockdesc);
-	deallocateMem();
-	es = data.word(kRoomdesc);
-	deallocateMem();
-	es = data.word(kFreeframes);
-	deallocateMem();
-	es = data.word(kFreedesc);
-	deallocateMem();
-}
-
 void DreamGenContext::watchReel() {
 	STACK_CHECK;
 	_cmp(data.word(kReeltowatch), -1);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 3b7b6fe..98aab6e 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -729,7 +729,6 @@ public:
 	void findExObject();
 	void searchForFiles();
 	void monkSpeaking();
-	void clearRest();
 	void madmanRun();
 	void afterNewRoom();
 	void getExAd();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index fd6d2dc..9f36663 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -1165,7 +1165,20 @@ void DreamGenContext::clearBeforeLoad() {
 		return /* (noclear) */;
 
 	clearReels();
-	clearRest();
+
+	//clearRest
+	uint8 *dst = (uint8 *)getSegment(data.word(kMapdata)).ptr(0, 0);
+	memset(dst, 0, kMaplen);
+	deallocateMem(data.word(kBackdrop));
+	deallocateMem(data.word(kSetframes));
+	deallocateMem(data.word(kReels));
+	deallocateMem(data.word(kPeople));
+	deallocateMem(data.word(kSetdesc));
+	deallocateMem(data.word(kBlockdesc));
+	deallocateMem(data.word(kRoomdesc));
+	deallocateMem(data.word(kFreeframes));
+	deallocateMem(data.word(kFreedesc));
+
 	data.byte(kRoomloaded) = 0;
 }
 






More information about the Scummvm-git-logs mailing list