aboutsummaryrefslogtreecommitdiff
path: root/devtools/tasmrecover
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-19 15:49:49 +0400
committerVladimir Menshakov2011-06-19 15:50:22 +0400
commit4ede98d748d1d3a52714cf84da17ccd83b50d35b (patch)
treee8955461b497d48d3c16ebf5e58372a68f4802d5 /devtools/tasmrecover
parent41159c68ab35abea23e95974cedc286f530b11c9 (diff)
downloadscummvm-rg350-4ede98d748d1d3a52714cf84da17ccd83b50d35b.tar.gz
scummvm-rg350-4ede98d748d1d3a52714cf84da17ccd83b50d35b.tar.bz2
scummvm-rg350-4ede98d748d1d3a52714cf84da17ccd83b50d35b.zip
DREAMWEB: Removed getback = 4 hack, added clean exit from every menus and credits
Diffstat (limited to 'devtools/tasmrecover')
-rw-r--r--devtools/tasmrecover/dreamweb/dreamweb.asm22
-rw-r--r--devtools/tasmrecover/dreamweb/saveload.asm35
-rw-r--r--devtools/tasmrecover/dreamweb/titles.asm3
3 files changed, 50 insertions, 10 deletions
diff --git a/devtools/tasmrecover/dreamweb/dreamweb.asm b/devtools/tasmrecover/dreamweb/dreamweb.asm
index 5d2a60a0c7..a3c165aaf9 100644
--- a/devtools/tasmrecover/dreamweb/dreamweb.asm
+++ b/devtools/tasmrecover/dreamweb/dreamweb.asm
@@ -135,13 +135,24 @@ Dreamweb proc near
dodecisions: call cls
call setmode
call decide
+
+ cmp quitrequested, 0
+ jnz exitgame
+
cmp getback,4
jz mainloop
call titles
+
+ cmp quitrequested, 0
+ jnz exitgame
+
call credits
-playgame: call clearchanges
+playgame:
+ cmp quitrequested, 0
+ jnz exitgame
+ call clearchanges
call setmode
call loadpalfromiff
mov location,255
@@ -196,9 +207,8 @@ alreadyloaded: mov newlocation,255
mainloop:
cmp quitrequested, 0
- jz $1
- ret
-$1:
+ jnz exitgame
+
call screenupdate
cmp wongame,0
jnz endofgame
@@ -240,7 +250,9 @@ endofgame: call clearbeforeload
call hangon
call endgame
jmp quickquit2
-
+
+exitgame:
+ ret
endp
diff --git a/devtools/tasmrecover/dreamweb/saveload.asm b/devtools/tasmrecover/dreamweb/saveload.asm
index f10d87149d..9a34a763f2 100644
--- a/devtools/tasmrecover/dreamweb/saveload.asm
+++ b/devtools/tasmrecover/dreamweb/saveload.asm
@@ -109,7 +109,11 @@ restartops: call showopbox
call showmainops
call worktoscreenm
donefirstops: mov getback,0
-waitops: call readmouse
+waitops:
+ cmp quitrequested, 0
+ jnz justret
+
+ call readmouse
call showpointer
call vsync
call dumppointer
@@ -260,7 +264,11 @@ doload: mov loadingorsave,1
call namestoold
mov getback,0
-loadops: call delpointer
+loadops:
+ cmp quitrequested, 0
+ jnz quitloaded
+
+ call delpointer
call readmouse
call showpointer
call vsync
@@ -354,7 +362,11 @@ dodiscops: call scanfornames
call worktoscreenm
mov getback,0
-discopsloop: call delpointer
+discopsloop:
+ cmp quitrequested, 0
+ jnz quitdiscops
+
+ call delpointer
call readmouse
call showpointer
call vsync
@@ -364,6 +376,7 @@ discopsloop: call delpointer
call checkcoords
cmp getback,0
jz discopsloop
+quitdiscops:
ret
discopslist: dw opsx+59,opsx+114,opsy+30,opsy+76,loadgame
@@ -411,7 +424,11 @@ dosave: mov loadingorsave,2
mov getback,0
-saveops: call delpointer
+saveops:
+ cmp quitrequested, 0
+ jnz quitsavegame
+
+ call delpointer
call checkinput
call readmouse
call showpointer
@@ -423,6 +440,7 @@ saveops: call delpointer
call checkcoords
cmp getback,0
jz saveops
+quitsavegame:
ret
savelist: dw opsx+176,opsx+192,opsy+60,opsy+76,getbacktoops
@@ -1398,7 +1416,12 @@ Decide proc near
call fadescreenup
mov getback,0
-waitdecide: call readmouse
+waitdecide:
+ cmp quitrequested, 0
+ jz $1
+ ret
+$1:
+ call readmouse
call showpointer
call vsync
call dumppointer
@@ -1482,6 +1505,8 @@ alreadyloadold: mov ax,mousebutton
call doload
cmp getback,4
jz noloadold
+ cmp quitrequested, 0
+ jnz noloadold
call showdecisions
call worktoscreenm
mov getback,0
diff --git a/devtools/tasmrecover/dreamweb/titles.asm b/devtools/tasmrecover/dreamweb/titles.asm
index a47f31a327..acaeefa995 100644
--- a/devtools/tasmrecover/dreamweb/titles.asm
+++ b/devtools/tasmrecover/dreamweb/titles.asm
@@ -9,7 +9,10 @@ Titles proc near
else
call clearpalette
call biblequote
+ cmp quitrequested, 0
+ jnz titlesearly
call intro
+titlesearly:
ret
endif