447 lines
7.0 KiB
NASM
447 lines
7.0 KiB
NASM
|
**************************************************************
|
|||
|
*
|
|||
|
* Owner: TURMELL
|
|||
|
*
|
|||
|
* Software: Shawn Liptak, Mark Turmell
|
|||
|
* Initiated: 10/8/92
|
|||
|
*
|
|||
|
* Modified: Shawn Liptak, 10/24/92 -Split from plyrseq.asm
|
|||
|
*
|
|||
|
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
*
|
|||
|
*.Last mod - 12/21/92 15:06
|
|||
|
**************************************************************
|
|||
|
.file "plyrlseq.asm"
|
|||
|
.title "basketball plyr sequence code"
|
|||
|
.width 132
|
|||
|
.option b,d,l,t
|
|||
|
.mnolist
|
|||
|
|
|||
|
|
|||
|
.include "mproc.equ"
|
|||
|
.include "disp.equ"
|
|||
|
.include "sys.equ"
|
|||
|
.include "gsp.equ" ;Gsp asm equates
|
|||
|
.include "imgtbl.glo"
|
|||
|
.include "imgtbl2.glo"
|
|||
|
.include "dunks.glo"
|
|||
|
.include "game.equ"
|
|||
|
.include "macros.hdr"
|
|||
|
.asg 0,SEQT
|
|||
|
.include "plyr.equ"
|
|||
|
; .include "layup.tbl"
|
|||
|
; .include "plyrd2sq.tbl"
|
|||
|
; .include "hangs.tbl"
|
|||
|
|
|||
|
|
|||
|
;sounds external
|
|||
|
|
|||
|
;symbols externally defined
|
|||
|
|
|||
|
.ref XEWILPAL
|
|||
|
|
|||
|
.ref plyr_shoot
|
|||
|
.ref plyr_pass
|
|||
|
.ref seq_newdir
|
|||
|
.ref seq_slamball
|
|||
|
.ref seq_strtdunk
|
|||
|
.ref seq_jump
|
|||
|
.ref seq_resetseq
|
|||
|
.ref seq_stand
|
|||
|
.ref seq_snd
|
|||
|
|
|||
|
; .ref seq_lay_up_start
|
|||
|
.ref seq_jam_speech
|
|||
|
.ref seq_call_name
|
|||
|
.ref rndrng0
|
|||
|
|
|||
|
JAM_NONE equ 0
|
|||
|
JAM_EASY equ 1
|
|||
|
JAM_MED equ 2
|
|||
|
JAM_GOOD equ 3
|
|||
|
JAM_GREAT equ 4
|
|||
|
|
|||
|
;symbols defined in this file
|
|||
|
|
|||
|
; .def T2DUNK3,T2DUNK4,T2DUNK5
|
|||
|
; .def T2DUNK6,T2DUNK7,T2DUNK8,T2DUNK9
|
|||
|
; .def T2DUNK10
|
|||
|
|
|||
|
;uninitialized ram definitions
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;equates for this file
|
|||
|
|
|||
|
M_YF .equ >8000 ;Y free (OFLAGS)
|
|||
|
|
|||
|
|
|||
|
.text
|
|||
|
|
|||
|
.ref plyr_lob_ball
|
|||
|
|
|||
|
|
|||
|
|
|||
|
.asg M_WRNONZ,F
|
|||
|
.asg M_WRNONZ|M_FLIPH,FF
|
|||
|
.asg DUNK_M|NOJUMP_M|NOJOY_M|NOCOLLP_M,DFLGS
|
|||
|
|
|||
|
;#*
|
|||
|
;dnkr_lob_ball_t
|
|||
|
; .word NOJUMP_M|NOJOY_M
|
|||
|
; .long seq_stand
|
|||
|
; .long #1,#2,#3,#4,#5,#4,#3,#2
|
|||
|
; .asg 3,N
|
|||
|
;#1
|
|||
|
;#2
|
|||
|
; W0
|
|||
|
;#3
|
|||
|
; WLW 2,M3SPRLA1,F
|
|||
|
; WLW 3,M3SPRLA2,F
|
|||
|
; WLW 3,M3SPRLA3,F
|
|||
|
; WLW 3,M3SPRLA4,F
|
|||
|
; WLW 3,M3SPRLA5,F
|
|||
|
; WL -1,plyr_lob_ball
|
|||
|
; WLW 2,M3SPRLA5,F
|
|||
|
; WLW 3,M3SPRLA6,F
|
|||
|
; WLW 3,M3SPRLA7,F
|
|||
|
; WLW 50,M3SPRLA8,F
|
|||
|
; WLW 3,M3SPRLA9,F
|
|||
|
; WLW 3,M3SPRLA10,F
|
|||
|
; WLW -1,seq_newdir,1*16
|
|||
|
; W0
|
|||
|
;#4
|
|||
|
;#5
|
|||
|
; W0
|
|||
|
|
|||
|
#*
|
|||
|
quicklay_t
|
|||
|
.word NOJUMP_M|SHOOT_M|NOJOY_M
|
|||
|
.long seq_stand
|
|||
|
.long #1,#2,#3,#4,#5,#4,#3,#2
|
|||
|
.asg 3,N
|
|||
|
|
|||
|
#1
|
|||
|
WLW 2,S1SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S1SETLA2,F
|
|||
|
WLW 3,S1SETLA3,F
|
|||
|
WLW 3,S1SETLA4,F
|
|||
|
WLW 70,S1SETLA5,F
|
|||
|
WLW 2,S1SETLA5,F
|
|||
|
WLW 70,S1SETLA6,F
|
|||
|
WLW 3,S1SETLA7,F
|
|||
|
WLW 3,S1SETLA8,F
|
|||
|
WLW 3,S1SETLA9,F
|
|||
|
WLW -1,seq_newdir,0*16
|
|||
|
W0
|
|||
|
|
|||
|
#2
|
|||
|
WL -1,pick_rand2
|
|||
|
WLW 2,S2HBHLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S2HBHLA2,F
|
|||
|
WLW 3,S2HBHLA3,F
|
|||
|
WLW 3,S2HBHLA4,F
|
|||
|
WLW 3,S2HBHLA5,F
|
|||
|
WLW 70,S2HBHLA6,F
|
|||
|
WLW 1,S2HBHLA6,F
|
|||
|
WLW 3,S2HBHLA7,F
|
|||
|
WLW 3,S2HBHLA8,F
|
|||
|
WLW 70,S2HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#3
|
|||
|
WL -1,pick_rand3
|
|||
|
WLW 2,M3SPRLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,M3SPRLA2,F
|
|||
|
WLW 3,M3SPRLA3,F
|
|||
|
WLW 3,M3SPRLA4,F
|
|||
|
WLW 70,M3SPRLA5,F
|
|||
|
WLW 3,M3SPRLA6,F
|
|||
|
WLW 3,M3SPRLA7,F
|
|||
|
WLW 70,M3SPRLA8,F
|
|||
|
WLW 3,M3SPRLA9,F
|
|||
|
WLW 3,M3SPRLA10,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#3a
|
|||
|
WLW 2,S3HBHLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S3HBHLA2,F
|
|||
|
WLW 70,S3HBHLA3,F
|
|||
|
WLW 3,S3HBHLA3,F
|
|||
|
WLW 70,S3HBHLA4,F
|
|||
|
WLW 3,S3HBHLA6,F
|
|||
|
WLW 3,S3HBHLA7,F
|
|||
|
WLW 3,S3HBHLA8,F
|
|||
|
WLW 3,S3HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#4
|
|||
|
WLW 3,S4SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S4SETLA2,F
|
|||
|
WLW 3,S4SETLA3,F
|
|||
|
WLW 3,S4SETLA4,F
|
|||
|
WLW 70,S4SETLA5,F
|
|||
|
WLW 1,S4SETLA5,F
|
|||
|
WLW 70,S4SETLA6,F
|
|||
|
WLW 3,S4SETLA7,F
|
|||
|
WLW 3,S4SETLA8,F
|
|||
|
WLW 3,S4SETLA9,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
|
|||
|
#5
|
|||
|
WLW 3,S5SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S5SETLA2,F
|
|||
|
WLW 3,S5SETLA3,F
|
|||
|
WLW 3,S5SETLA4,F
|
|||
|
WLW 70,S5SETLA5,F
|
|||
|
WLW 2,S5SETLA5,F
|
|||
|
WLW 3,S5SETLA6,F
|
|||
|
WLW 70,S5SETLA7,F
|
|||
|
WLW 3,S5SETLA8,F
|
|||
|
WLW 3,S5SETLA9,F
|
|||
|
WLW 3,S5SETLA10,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
|
|||
|
pick_rand2
|
|||
|
movk 6,a0
|
|||
|
calla rndrng0
|
|||
|
sll 5,a0
|
|||
|
addi rand2_tbl,a0
|
|||
|
move *a0,a0,L
|
|||
|
jrz rs2
|
|||
|
move a0,b4 ;sequence to run
|
|||
|
rs2
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
rand2_tbl
|
|||
|
.long #3a,0,0,#3a,0,#3a,0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
pick_rand3
|
|||
|
movk 6,a0
|
|||
|
calla rndrng0
|
|||
|
sll 5,a0
|
|||
|
addi rand3_tbl,a0
|
|||
|
move *a0,a0,L
|
|||
|
jrz rs3
|
|||
|
move a0,b4 ;sequence to run
|
|||
|
; move a0,*a13(plyr_ani1st_p)
|
|||
|
rs3 rets
|
|||
|
|
|||
|
|
|||
|
rand3_tbl
|
|||
|
.long #3a,0,#3a,0,0,#3a,0
|
|||
|
; .long #3a,#3a,#3a,#3a,#3a,#3a,#3a
|
|||
|
|
|||
|
|
|||
|
#*
|
|||
|
layup_t
|
|||
|
.word NOJUMP_M|SHOOT_M|NOJOY_M
|
|||
|
.long seq_stand
|
|||
|
.long #1,#2,#3,#4,#5,#4,#3,#2
|
|||
|
.asg 3,N
|
|||
|
|
|||
|
#1
|
|||
|
WLW 2,S1SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S1SETLA2,F
|
|||
|
WLW 3,S1SETLA3,F
|
|||
|
WLW 3,S1SETLA4,F
|
|||
|
; WLW 40,S1SETLA5,F
|
|||
|
WLW 3,S1SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,S1SETLA5,F
|
|||
|
WLW 50,S1SETLA6,F
|
|||
|
WLW 3,S1SETLA7,F
|
|||
|
WLW 3,S1SETLA8,F
|
|||
|
WLW 3,S1SETLA9,F
|
|||
|
WLW -1,seq_newdir,0*16
|
|||
|
W0
|
|||
|
|
|||
|
#2
|
|||
|
WLW 2,S2HBHLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S2HBHLA2,F
|
|||
|
WLW 3,S2HBHLA3,F
|
|||
|
WLW 3,S2HBHLA4,F
|
|||
|
WLW 3,S2HBHLA5,F
|
|||
|
; WLW 40,S2HBHLA6,F
|
|||
|
WLW 3,S2HBHLA6,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 1,S2HBHLA6,F
|
|||
|
WLW 3,S2HBHLA7,F
|
|||
|
WLW 3,S2HBHLA8,F
|
|||
|
WLW 50,S2HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#3
|
|||
|
WLW 2,M3SPRLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,M3SPRLA2,F
|
|||
|
WLW 3,M3SPRLA3,F
|
|||
|
WLW 3,M3SPRLA4,F
|
|||
|
WLW 3,M3SPRLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,M3SPRLA5,F
|
|||
|
WLW 3,M3SPRLA6,F
|
|||
|
WLW 3,M3SPRLA7,F
|
|||
|
WLW 50,M3SPRLA8,F
|
|||
|
WLW 3,M3SPRLA9,F
|
|||
|
WLW 3,M3SPRLA10,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#3a
|
|||
|
WLW 1,S3HBHLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S3HBHLA1,F
|
|||
|
WLW 3,S3HBHLA2,F
|
|||
|
WLW 3,S3HBHLA3,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 3,S3HBHLA3,F
|
|||
|
WLW 50,S3HBHLA4,F
|
|||
|
WLW 3,S3HBHLA6,F
|
|||
|
WLW 3,S3HBHLA7,F
|
|||
|
WLW 3,S3HBHLA8,F
|
|||
|
WLW 3,S3HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#4
|
|||
|
WLW 2,S4SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S4SETLA2,F
|
|||
|
WLW 3,S4SETLA3,F
|
|||
|
WLW 3,S4SETLA4,F
|
|||
|
WLW 3,S4SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 3,S4SETLA5,F
|
|||
|
WLW 50,S4SETLA6,F
|
|||
|
WLW 3,S4SETLA7,F
|
|||
|
WLW 3,S4SETLA8,F
|
|||
|
WLW 3,S4SETLA9,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
|
|||
|
#5
|
|||
|
WLW 3,S5SETLA1,F
|
|||
|
WL -1,seq_jump
|
|||
|
WLW 3,S5SETLA2,F
|
|||
|
WLW 3,S5SETLA3,F
|
|||
|
WLW 3,S5SETLA4,F
|
|||
|
WLW 3,S5SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,S5SETLA5,F
|
|||
|
WLW 3,S5SETLA6,F
|
|||
|
WLW 50,S5SETLA7,F
|
|||
|
WLW 3,S5SETLA8,F
|
|||
|
WLW 3,S5SETLA9,F
|
|||
|
WLW 3,S5SETLA10,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
|
|||
|
|
|||
|
#*
|
|||
|
layupreb_t
|
|||
|
.word NOJUMP_M|SHOOT_M|NOJOY_M
|
|||
|
.long seq_stand
|
|||
|
.long #1,#2,#3,#4,#5,#4,#3,#2
|
|||
|
.asg 3,N
|
|||
|
|
|||
|
#1
|
|||
|
WLW 2,S1SETLA1,F
|
|||
|
WLW 3,S1SETLA2,F
|
|||
|
WLW 3,S1SETLA3,F
|
|||
|
WLW 3,S1SETLA4,F
|
|||
|
WLW 1,S1SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,S1SETLA5,F
|
|||
|
WLW 50,S1SETLA6,F
|
|||
|
WLW 3,S1SETLA7,F
|
|||
|
WLW 3,S1SETLA8,F
|
|||
|
WLW 3,S1SETLA9,F
|
|||
|
WLW -1,seq_newdir,0*16
|
|||
|
W0
|
|||
|
|
|||
|
|
|||
|
#2
|
|||
|
WLW 2,S2HBHLA1,F
|
|||
|
WLW 3,S2HBHLA2,F
|
|||
|
WLW 3,S2HBHLA3,F
|
|||
|
WLW 3,S2HBHLA4,F
|
|||
|
WLW 3,S2HBHLA5,F
|
|||
|
WLW 1,S2HBHLA6,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,S2HBHLA6,F
|
|||
|
WLW 3,S2HBHLA7,F
|
|||
|
WLW 3,S2HBHLA8,F
|
|||
|
WLW 50,S2HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#3
|
|||
|
WLW 2,S3HBHLA1,F
|
|||
|
WLW 3,S3HBHLA2,F
|
|||
|
WLW 1,S3HBHLA3,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 3,S3HBHLA3,F
|
|||
|
WLW 50,S3HBHLA4,F
|
|||
|
WLW 3,S3HBHLA6,F
|
|||
|
WLW 3,S3HBHLA7,F
|
|||
|
WLW 3,S3HBHLA8,F
|
|||
|
WLW 3,S3HBHLA9,F
|
|||
|
WLW -1,seq_newdir,1*16
|
|||
|
W0
|
|||
|
|
|||
|
#4
|
|||
|
WLW 3,S4SETLA1,F
|
|||
|
WLW 3,S4SETLA2,F
|
|||
|
WLW 3,S4SETLA3,F
|
|||
|
WLW 3,S4SETLA4,F
|
|||
|
WLW 1,S4SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 1,S4SETLA5,F
|
|||
|
WLW 50,S4SETLA6,F
|
|||
|
WLW 3,S4SETLA7,F
|
|||
|
WLW 3,S4SETLA8,F
|
|||
|
WLW 3,S4SETLA9,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
#5
|
|||
|
WLW 3,S5SETLA1,F
|
|||
|
WLW 3,S5SETLA2,F
|
|||
|
WLW 3,S5SETLA3,F
|
|||
|
WLW 3,S5SETLA4,F
|
|||
|
WLW 1,S5SETLA5,F
|
|||
|
WL -1,plyr_shoot
|
|||
|
WLW 2,S5SETLA5,F
|
|||
|
WLW 3,S5SETLA6,F
|
|||
|
WLW 50,S5SETLA7,F
|
|||
|
WLW 3,S5SETLA8,F
|
|||
|
WLW 3,S5SETLA9,F
|
|||
|
WLW 3,S5SETLA10,F
|
|||
|
WLW -1,seq_newdir,3*16
|
|||
|
W0
|
|||
|
|
|||
|
|
|||
|
.end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|