Initial commit
This commit is contained in:
572
devtools/tasmrecover/dreamweb/titles.asm
Normal file
572
devtools/tasmrecover/dreamweb/titles.asm
Normal file
@@ -0,0 +1,572 @@
|
||||
;Copyright (c) 1990-2012 by Neil Dodwell
|
||||
;Released with permission from Neil Dodwell under GPLv2
|
||||
;See LICENSE file for full license text
|
||||
|
||||
Titles proc near
|
||||
|
||||
if demo
|
||||
ret
|
||||
else
|
||||
call clearpalette
|
||||
call biblequote
|
||||
cmp quitrequested, 0
|
||||
jnz titlesearly
|
||||
call intro
|
||||
titlesearly:
|
||||
ret
|
||||
endif
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
Endgame proc near
|
||||
|
||||
mov dx,offset cs:endtextname
|
||||
call loadtemptext
|
||||
call monkspeaking
|
||||
call gettingshot
|
||||
call getridoftemptext
|
||||
mov volumeto,7
|
||||
mov volumedirection,1
|
||||
mov cx,200
|
||||
call hangon
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
if cd
|
||||
|
||||
Monkspeaking proc near
|
||||
|
||||
mov roomssample,35
|
||||
call loadroomssample
|
||||
mov dx,offset cs:monkface
|
||||
call loadintotemp
|
||||
call clearwork ;createpanel2
|
||||
call showmonk
|
||||
call worktoscreen
|
||||
mov volume,7
|
||||
mov volumedirection,-1
|
||||
mov volumeto,5
|
||||
mov al,12
|
||||
mov ah,255
|
||||
call playchannel0
|
||||
call fadescreenups
|
||||
mov cx,300
|
||||
call hangon
|
||||
|
||||
mov al,40
|
||||
loadspeech2: push ax
|
||||
mov dl,"T"
|
||||
mov dh,83
|
||||
mov cl,"T"
|
||||
mov ah,0
|
||||
call loadspeech
|
||||
mov al,50+12
|
||||
call playchannel1
|
||||
notloadspeech2:
|
||||
call vsync
|
||||
cmp ch1playing,255
|
||||
jnz notloadspeech2
|
||||
pop ax
|
||||
inc al
|
||||
cmp al,48
|
||||
jnz loadspeech2
|
||||
|
||||
mov volumedirection,1
|
||||
mov volumeto,7
|
||||
call fadescreendowns
|
||||
mov cx,300
|
||||
call hangon
|
||||
call getridoftemp
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
else
|
||||
|
||||
Monkspeaking proc near
|
||||
|
||||
mov roomssample,35
|
||||
call loadroomssample
|
||||
mov dx,offset cs:monkface
|
||||
call loadintotemp
|
||||
call clearwork ;createpanel2
|
||||
call showmonk
|
||||
call worktoscreen
|
||||
mov volume,7
|
||||
mov volumedirection,-1
|
||||
mov volumeto,0
|
||||
mov al,12
|
||||
mov ah,255
|
||||
call playchannel0
|
||||
call fadescreenups
|
||||
mov cx,300
|
||||
call hangon
|
||||
|
||||
mov al,40
|
||||
nextmonkspeak: push ax
|
||||
mov ah,0
|
||||
mov si,ax
|
||||
add si,si
|
||||
mov es,textfile1
|
||||
mov ax,[es:si]
|
||||
add ax,textstart
|
||||
mov si,ax
|
||||
nextbit: mov di,36
|
||||
mov bx,140
|
||||
mov dl,239
|
||||
call printdirect
|
||||
push ax si es
|
||||
call worktoscreen
|
||||
call clearwork
|
||||
call showmonk
|
||||
mov cx,240
|
||||
call hangon
|
||||
pop es si ax
|
||||
cmp al,0
|
||||
jnz nextbit
|
||||
pop ax
|
||||
inc al
|
||||
cmp al,44
|
||||
jnz nextmonkspeak
|
||||
|
||||
mov volumedirection,1
|
||||
mov volumeto,7
|
||||
call fadescreendowns
|
||||
mov cx,300
|
||||
call hangon
|
||||
call getridoftemp
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
Showmonk proc near
|
||||
|
||||
mov al,0
|
||||
mov ah,128
|
||||
mov di,160
|
||||
mov bx,72
|
||||
mov ds,tempgraphics
|
||||
call showframe
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
Gettingshot proc near
|
||||
|
||||
mov newlocation,55
|
||||
call clearpalette
|
||||
call loadintroroom
|
||||
call fadescreenups
|
||||
mov volumeto,0
|
||||
mov volumedirection,-1
|
||||
call runendseq
|
||||
call clearbeforeload
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Credits proc near
|
||||
|
||||
call clearpalette
|
||||
call realcredits
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
Biblequote proc near
|
||||
|
||||
call mode640x480
|
||||
mov dx,offset cs:title0graphics
|
||||
call showpcx
|
||||
call fadescreenups
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz biblequotearly
|
||||
mov cx,560
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz biblequotearly
|
||||
call fadescreendowns
|
||||
mov cx,200 ;128
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz biblequotearly
|
||||
call cancelch0
|
||||
biblequotearly:
|
||||
mov lasthardkey,0
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
Hangone proc near
|
||||
|
||||
hangonloope: push cx
|
||||
call vsync
|
||||
pop cx
|
||||
cmp lasthardkey,1
|
||||
jz hangonearly
|
||||
loop hangonloope
|
||||
hangonearly:
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Intro proc near
|
||||
|
||||
mov dx,offset cs:introtextname
|
||||
call loadtemptext
|
||||
|
||||
call loadpalfromiff
|
||||
call setmode
|
||||
|
||||
mov newlocation,50
|
||||
call clearpalette
|
||||
call loadintroroom
|
||||
mov volume,7
|
||||
mov volumedirection,-1
|
||||
if cd
|
||||
mov volumeto,4
|
||||
else
|
||||
mov volumeto,0
|
||||
endif
|
||||
mov al,12 ;4
|
||||
mov ah,255
|
||||
call playchannel0
|
||||
call fadescreenups
|
||||
call runintroseq
|
||||
cmp lasthardkey,1
|
||||
jz introearly
|
||||
|
||||
;waitsound: cmp ch1blockstoplay,0
|
||||
; jnz waitsound
|
||||
call clearbeforeload
|
||||
|
||||
mov newlocation,52
|
||||
call loadintroroom
|
||||
call runintroseq
|
||||
cmp lasthardkey,1
|
||||
jz introearly
|
||||
call clearbeforeload
|
||||
|
||||
mov newlocation,53
|
||||
call loadintroroom
|
||||
call runintroseq
|
||||
cmp lasthardkey,1
|
||||
jz introearly
|
||||
call clearbeforeload
|
||||
|
||||
call allpalette
|
||||
mov newlocation,54
|
||||
call loadintroroom
|
||||
;mov al,12
|
||||
;mov ah,255
|
||||
;call playchannel0
|
||||
call runintroseq
|
||||
cmp lasthardkey,1
|
||||
jz introearly
|
||||
|
||||
call getridoftemptext
|
||||
call clearbeforeload
|
||||
introearly:
|
||||
mov lasthardkey, 0
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Runintroseq proc near
|
||||
|
||||
mov getback,0
|
||||
|
||||
moreintroseq: call vsync
|
||||
cmp lasthardkey,1
|
||||
jz earlyendrun
|
||||
call spriteupdate
|
||||
call vsync
|
||||
cmp lasthardkey,1
|
||||
jz earlyendrun
|
||||
call deleverything
|
||||
call printsprites
|
||||
call reelsonscreen
|
||||
call afterintroroom
|
||||
call usetimedtext
|
||||
call vsync
|
||||
cmp lasthardkey,1
|
||||
jz earlyendrun
|
||||
call dumpmap
|
||||
call dumptimedtext
|
||||
call vsync
|
||||
cmp lasthardkey,1
|
||||
jz earlyendrun
|
||||
cmp getback,1
|
||||
jnz moreintroseq
|
||||
ret
|
||||
earlyendrun:
|
||||
call getridoftemptext
|
||||
call clearbeforeload
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Runendseq proc near
|
||||
|
||||
call atmospheres
|
||||
mov getback,0
|
||||
moreendseq: call vsync
|
||||
call spriteupdate
|
||||
call vsync
|
||||
call deleverything
|
||||
call printsprites
|
||||
call reelsonscreen
|
||||
call afterintroroom
|
||||
call usetimedtext
|
||||
call vsync
|
||||
call dumpmap
|
||||
call dumptimedtext
|
||||
call vsync
|
||||
cmp getback,1
|
||||
jnz moreendseq
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
Loadintroroom proc near
|
||||
|
||||
mov introcount,0
|
||||
mov location,255
|
||||
call loadroom
|
||||
mov mapoffsetx,72
|
||||
mov mapoffsety,16
|
||||
call clearsprites
|
||||
mov throughdoor,0
|
||||
mov currentkey,"0"
|
||||
mov mainmode,0
|
||||
call clearwork
|
||||
mov newobs,1
|
||||
call drawfloor
|
||||
call reelsonscreen
|
||||
call spriteupdate
|
||||
call printsprites
|
||||
call worktoscreen
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mode640x480 proc near
|
||||
|
||||
mov al,12h+128
|
||||
mov ah,0
|
||||
int 10h
|
||||
;call clearpalette
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
Set16colpalette proc near
|
||||
|
||||
mov cx,16
|
||||
mov bl,0
|
||||
mov bh,0
|
||||
mov al,0
|
||||
mov ah,10h
|
||||
set16palloop2: push ax bx cx
|
||||
int 10h
|
||||
pop cx bx ax
|
||||
inc bl
|
||||
inc bh
|
||||
loop set16palloop2
|
||||
|
||||
mov bl,31h
|
||||
mov al,1
|
||||
mov ah,12h
|
||||
int 10h
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RealCredits proc near
|
||||
|
||||
mov roomssample,33
|
||||
call loadroomssample
|
||||
mov volume,0
|
||||
|
||||
call mode640x480
|
||||
mov cx,35
|
||||
call hangon
|
||||
|
||||
mov dx,offset cs:title1graphics
|
||||
call showpcx
|
||||
mov al,12
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,2
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call allpalette
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
|
||||
mov dx,offset cs:title2graphics
|
||||
call showpcx
|
||||
mov al,12
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,2
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call allpalette
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
|
||||
if demo
|
||||
else
|
||||
mov dx,offset cs:title3graphics
|
||||
call showpcx
|
||||
mov al,12
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,2
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call allpalette
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
|
||||
mov dx,offset cs:title4graphics
|
||||
call showpcx
|
||||
mov al,12
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,2
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call allpalette
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
|
||||
mov dx,offset cs:title5graphics
|
||||
call showpcx
|
||||
mov al,12
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,2
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call allpalette
|
||||
mov cx,80
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
endif
|
||||
|
||||
mov dx,offset cs:title6graphics
|
||||
call showpcx
|
||||
call fadescreenups
|
||||
mov cx,60
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
mov al,13
|
||||
mov ah,0
|
||||
call playchannel0
|
||||
mov cx,350
|
||||
call hangone
|
||||
cmp lasthardkey,1
|
||||
jz realcreditsearly
|
||||
call fadescreendowns
|
||||
mov cx,256
|
||||
call hangone
|
||||
realcreditsearly:
|
||||
mov lasthardkey, 0
|
||||
ret
|
||||
|
||||
endp
|
||||
Reference in New Issue
Block a user