diff options
Diffstat (limited to 'devtools/tasmrecover/dreamweb/dreamweb.asm')
-rw-r--r-- | devtools/tasmrecover/dreamweb/dreamweb.asm | 59 |
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---- |