diff options
author | D G Turner | 2011-12-07 18:00:05 +0000 |
---|---|---|
committer | D G Turner | 2011-12-07 18:00:05 +0000 |
commit | c1b7d25bb7cd8f718d79b47c6b4a12caed904dde (patch) | |
tree | ecae7d8d82447f9d3507b5f3f988fb4c6cf9af79 /engines | |
parent | 03204ad31931160b0d7015e6538be970c3ec5b4c (diff) | |
download | scummvm-rg350-c1b7d25bb7cd8f718d79b47c6b4a12caed904dde.tar.gz scummvm-rg350-c1b7d25bb7cd8f718d79b47c6b4a12caed904dde.tar.bz2 scummvm-rg350-c1b7d25bb7cd8f718d79b47c6b4a12caed904dde.zip |
DREAMWEB: 'clearrest' ported to C++.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 27 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 1 | ||||
-rw-r--r-- | engines/dreamweb/sprite.cpp | 15 |
3 files changed, 14 insertions, 29 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index b54dc63858..d7669c60d4 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 3b7b6fee89..98aab6e2c6 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 fd6d2dc9e8..9f3666312a 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; } |