aboutsummaryrefslogtreecommitdiff
path: root/devtools/tasmrecover/dreamweb/dreamweb.asm
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/tasmrecover/dreamweb/dreamweb.asm')
-rw-r--r--devtools/tasmrecover/dreamweb/dreamweb.asm59
1 files changed, 32 insertions, 27 deletions
diff --git a/devtools/tasmrecover/dreamweb/dreamweb.asm b/devtools/tasmrecover/dreamweb/dreamweb.asm
index 89c515f511..fd9bfb715c 100644
--- a/devtools/tasmrecover/dreamweb/dreamweb.asm
+++ b/devtools/tasmrecover/dreamweb/dreamweb.asm
@@ -49,9 +49,9 @@ recording equ 0
debuglevel1 equ 0 ;memory debug on
debuglevel2 equ 0 ;debug keys on+shouts
demo equ 0
-CD equ 0
-Foreign equ 1
-Spanish equ 1
+CD equ 1
+Foreign equ 0
+Spanish equ 0
German equ 0
;----------------------------------------------------------------Code start----
@@ -95,11 +95,6 @@ include \pc\dreamweb\debug.asm
Dreamweb proc near
call seecommandtail
- mov ah,4ah
- mov bx,seg stak
- sub bx,seg dreamweb
- add bx,20h
- int 21h
call checkbasemem
call soundstartup
@@ -140,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
@@ -199,7 +205,11 @@ alreadyloaded: mov newlocation,255
call startup
mov commandtype,255
-mainloop: call screenupdate
+mainloop:
+ cmp quitrequested, 0
+ jnz exitgame
+
+ call screenupdate
cmp wongame,0
jnz endofgame
cmp mandead,1
@@ -240,7 +250,9 @@ endofgame: call clearbeforeload
call hangon
call endgame
jmp quickquit2
-
+
+exitgame:
+ ret
endp
@@ -1590,6 +1602,9 @@ norun: ret
Checkcoords proc near
+ cmp newlocation,255 ;objects keep enumerated even in loading state, fixme
+ jz loop048
+ ret
loop048: mov ax,[cs:bx]
cmp ax,0ffffh
@@ -4647,10 +4662,10 @@ Readkey proc near
nokey: mov currentkey,0
ret
-keybuffer: db 16 dup (0)
endp
+keybuffer: db 16 dup (0)
@@ -5087,7 +5102,9 @@ Restoreall proc near
mov reel1,ax
mov ds,ax
mov dx,0
- call bloc
+ ;call bloc
+ ;BIG FIXME: undefined bloc, replaced with loadseg. dunno!
+ call loadseg
call allocateload
mov reel2,ax
mov ds,ax
@@ -5610,20 +5627,6 @@ Getridoftempsp proc near
Readsetdata proc near
- if cd
- if demo
- else
- mov dx,offset cs:idname
- call openfilefromc
- push cs
- pop ds
- mov dx,offset cs:id
- mov cx,1
- call readfromfile
- call closefile
- endif
- endif
-
mov dx,offset cs:characterset1
call standardload
mov charset1,ax
@@ -6233,6 +6236,8 @@ savefiles db "DREAMWEB.D00",0
Recname db "DREAMWEB.DEM",0
+Quitrequested db 0
+
;-------------------------------------------------------End of code segment----