3209 lines
65 KiB
NASM
3209 lines
65 KiB
NASM
**************************************************************
|
||
*
|
||
* Software: Jamie Rivett
|
||
* Initiated: 5/2/94
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
**************************************************************
|
||
|
||
.file "dnkseq3.asm"
|
||
.title "Krusty the Clown animation sequences"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "macros.h"
|
||
.include "mproc.equ" ;Mproc equates
|
||
.include "sys.equ"
|
||
.include "display.equ"
|
||
.include "game.equ"
|
||
.include "plyr.equ"
|
||
.include "anim.equ"
|
||
.include "sound.h"
|
||
.include "ring.equ"
|
||
|
||
.include "doinkimg.h"
|
||
.include "fontsimg.glo"
|
||
.include "miscimg.glo"
|
||
.include "damage.equ"
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
.REF DO_HEAD_MESS
|
||
|
||
.REF DO_PILE_MESS
|
||
.REF CALL_MISS_YOKO
|
||
|
||
.REF triple_sound
|
||
.ref wres_get_but_val_cur
|
||
.ref set_move_dir
|
||
.ref RNDRNG0
|
||
|
||
.REF HIT_THE_MAT,SMALL_BOUNCE
|
||
.REF CALL_MISSES,CALL_SETUP,CALL_THROWN_OUT
|
||
.ref CALL_SPECIAL_MOVE
|
||
|
||
.ref get_leap
|
||
.ref shake_all_ropes
|
||
|
||
.ref dnk_dizzy_anim
|
||
; .ref dnk_4_graboh_anim
|
||
; .ref dnk_2_graboh_anim
|
||
|
||
.ref dnk_2_faceup_getup_anim
|
||
.ref dnk_4_faceup_getup_anim
|
||
|
||
.ref dnk_hitonground_anim
|
||
.ref dnk_faceup_getup_anim
|
||
.ref dnk_hitonground_xflip_anim
|
||
|
||
.ref dnk_4_combo_butt_anim
|
||
.ref DO_COMBO_MESS
|
||
.REF dnk_4_box_anim
|
||
.REF dnk_4_knee_fall_anim
|
||
.ref dnk_flying_kick_anim
|
||
|
||
******************************************************************************
|
||
* SYMBOLS DEFINED IN THIS FILE
|
||
|
||
******************************************************************************
|
||
* EQUATES FOR THIS FILE
|
||
|
||
TSEC equ 53
|
||
|
||
*****************************************************************************
|
||
*
|
||
* JOY BUZZER
|
||
|
||
SUBR dnk_2_buzz_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_FRICTION,2000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,9
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_4_buzz_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_FRICTION,2000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_ZEROVELS
|
||
|
||
;Comes in from head held mode!
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_DETACH
|
||
|
||
#cont
|
||
.word ANI_STARTATTACK,AT_PUPPET,3
|
||
WL 3,D4BZ3A+FR1
|
||
|
||
.word ANI_ZEROVELS
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,23,62,59,29 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,35,D4BZ3A+FR2
|
||
.word ANI_ATTACK_OFF
|
||
#cont4
|
||
WL ANI_IFSTATUS,#gothim
|
||
WL 30,D4BZ3A+FR2
|
||
WL ANI_GOTO,#cont2
|
||
|
||
#gothim
|
||
; WL ANI_CODE,merge_xvels
|
||
|
||
.word ANI_ATTACHZ,0,0,-4 ;x & y don't matter.
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
WWLLW ANI_SUPERSLAVE2,1,D4BZ3A+FR3,#puppet_tbl,0
|
||
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BUZZ,53,62,50,29 ;mode,x,y,w,h
|
||
WL 1,D4BZ3A+FR3
|
||
.word ANI_ATTACK_OFF
|
||
|
||
; .word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
; .word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,start_sparks
|
||
|
||
WL 1,D4BZ3A+FR3
|
||
WL 3,D4BZ3A+FR4
|
||
WL 3,D4BZ3A+FR5
|
||
WL 3,D4BZ3A+FR6
|
||
WL 3,D4BZ3A+FR3
|
||
WL 3,D4BZ3A+FR4
|
||
|
||
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
|
||
WL 3,D4BZ3A+FR5
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,D4BZ3A+FR6
|
||
WL 3,D4BZ3A+FR3
|
||
WL 3,D4BZ3A+FR4
|
||
WL 3,D4BZ3A+FR5
|
||
WL 3,D4BZ3A+FR6
|
||
WL 3,D4BZ3A+FR3
|
||
WL 3,D4BZ3A+FR4
|
||
WL 3,D4BZ3A+FR5
|
||
WL 3,D4BZ3A+FR6
|
||
WL 3,D4BZ3A+FR3
|
||
WL 3,D4BZ3A+FR4
|
||
WL 3,D4BZ3A+FR5
|
||
WL 3,D4BZ3A+FR6
|
||
|
||
;Stay in this buzz sequence longer if player keeps whacking on his punch button!
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-30000h,#cont2
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D4BZ3A+FR2
|
||
#cont2
|
||
WL 6,D4BZ3A+FR2
|
||
WL 3,D4BZ3A+FR1
|
||
|
||
WL ANI_CODE,#zero_butn
|
||
|
||
.word ANI_DETACH
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_2_buzz2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_FRICTION,2000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,9
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont3
|
||
|
||
SUBR dnk_4_buzz2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_FRICTION,2000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
#cont3
|
||
.word ANI_STARTATTACK,AT_LEAPING,3
|
||
WL 3,D4BZ3A+FR1
|
||
|
||
WL ANI_CODE,get_leap
|
||
WL ANI_IFNOTSTATUS,#normal
|
||
|
||
.word ANI_ZEROVELS
|
||
.word ANI_CLR_STATUS
|
||
WL ANI_GOTO,#contz
|
||
|
||
#normal
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 9,999,38h,80,90000h,TGT_HEAD,80,85,0
|
||
; WL ANI_SET_YVEL,30000h
|
||
|
||
#contz
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,23,62,59,29 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,20,D4BZ3A+FR2
|
||
.word ANI_ATTACK_OFF
|
||
WLW ANI_SET_ZVEL,0h,AM_ABS
|
||
WL ANI_GOTO,#cont4
|
||
|
||
#zero_butn
|
||
;Force player to start holding his button down starting at the end
|
||
;of the current buzz sequence.
|
||
|
||
move *a13(PLYRNUM),a0
|
||
X16 a0
|
||
.ref punch_dtime1
|
||
addi punch_dtime1,a0
|
||
clr a14
|
||
move a14,*a0
|
||
rets
|
||
|
||
|
||
start_sparks
|
||
|
||
move a13,a10
|
||
CREATE0 hand_sparks
|
||
movi 3eh,a0
|
||
calla triple_sound
|
||
|
||
rets
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#Bret
|
||
.ref H4BZ4A
|
||
LWWW H4BZ4A+FR1,80,28,1
|
||
#Razor
|
||
.ref R4BZ4A
|
||
LWWW R4BZ4A+FR1,75,30,1
|
||
#Taker
|
||
.ref U4BZ4A
|
||
LWWW U4BZ4A+FR1,75,30,1
|
||
#Yokozuna
|
||
.ref Y4BZ4A
|
||
LWWW Y4BZ4A+FR1,75,26,1
|
||
#Shawn
|
||
.ref S4BZ4A
|
||
LWWW S4BZ4A+FR1,75,24,1
|
||
#BamBam
|
||
.ref B4BZ4A
|
||
LWWW B4BZ4A+FR1,75,15,1
|
||
#Doink
|
||
LWWW D4BZ4A+FR1,75,30,1
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L4BZ4A
|
||
LWWW L4BZ4A+FR1,75,23,1
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GET BUZZED FROM DOINK
|
||
|
||
SUBR dnk_get_buzz_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; .word ANI_XFLIP
|
||
.word ANI_GRAVITY_OFF
|
||
|
||
|
||
;Put this Doink into the blue doink pal, then replace whatever
|
||
;pal he was using at the end!
|
||
|
||
;We have to change pals on whatever guy we are showing in order
|
||
;to show the blue skeleton.
|
||
|
||
WL ANI_CODE,set_position
|
||
WL 2,D4SK4A+FR1
|
||
WL 3,D4BZ4A+FR1
|
||
|
||
WL ANI_CODE,make_white
|
||
WL 3,D4SK4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
|
||
WL 3,D4BZ4A+FR1
|
||
WL 3,D4SK4A+FR1
|
||
WL 3,D4BZ4A+FR1
|
||
WL 3,D4SK4A+FR1
|
||
WL ANI_CODE,make_white
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
WL 3,D4SK4A+FR1
|
||
WL 3,D4BZ4A+FR1
|
||
WL 3,D4SK4A+FR1
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,make_white
|
||
WL 3,D4SK4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
WL 3,D4BZ4A+FR1
|
||
WL 3,D4SK4A+FR1
|
||
WL ANI_CODE,start_smoke
|
||
|
||
.word ANI_DETACH
|
||
.word ANI_GRAVITY_ON
|
||
WL ANI_SET_YVEL,60000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_FACE_REL
|
||
WLW ANI_SET_ZVEL,20000h,AM_ABS
|
||
WL ANI_CODE,#make_black
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,#make_black
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,#make_black
|
||
WL 3,D4BZ4A+FR1
|
||
WL ANI_CODE,make_norm
|
||
WL 3,D4BZ4A+FR1
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_XFLIP
|
||
.word ANI_FACEDOWN
|
||
.word ANI_OFFSET,-20,0,0 ;x,y,z
|
||
|
||
WL 1,D4ST4E+FR3
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
.ref dnk_fall_back_anim
|
||
|
||
WL ANI_CHANGEANIM,dnk_fall_back_anim
|
||
.word ANI_END
|
||
|
||
#nodead
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR am_I_dizzy
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move *a13(PLYRMODE),a0
|
||
cmpi MODE_DEAD,a0
|
||
jrz #not_dizzy
|
||
move *a13(PLYR_DIZZY),a0
|
||
jrz #not_dizzy
|
||
ori MODE_STATUS,a1
|
||
#not_dizzy
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
SUBR am_I_dead
|
||
|
||
move *a13(PLYRNUM),a1
|
||
.ref get_health
|
||
calla get_health
|
||
jrnz #notdead
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
movi MODE_DEAD,a1
|
||
move a1,*a13(PLYRMODE)
|
||
rets
|
||
#notdead
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move *a13(PLYRMODE),a0
|
||
cmpi MODE_DEAD,a0
|
||
jrnz #not_dead
|
||
ori MODE_STATUS,a1
|
||
#not_dead
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
SUBR make_white
|
||
movi 0101h,a14
|
||
move a14,*a13(OBJ_CONST)
|
||
move *a13(OBJ_CONTROL),a14
|
||
andni 01111b,a14
|
||
ori M_CONNON,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
#make_black
|
||
movi 0b0bh,a14
|
||
move a14,*a13(OBJ_CONST)
|
||
move *a13(OBJ_CONTROL),a14
|
||
andni 01111b,a14
|
||
ori M_CONNON,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
SUBR make_norm
|
||
move *a13(OBJ_CONTROL),a14
|
||
andni 01111b,a14
|
||
ori DMAWNZ,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
SUBR set_position
|
||
move *a13(WHOHITME),a0,L
|
||
move *a0(OBJ_XPOSINT),a1
|
||
move *a13(OBJ_XPOSINT),a2
|
||
cmp a1,a2
|
||
jrlt #lft
|
||
#rgt
|
||
addi 140,a1
|
||
move *a10(OBJ_XPOSINT),a2
|
||
#lft subi 70,a1
|
||
; move a1,*a13(OBJ_XPOSINT)
|
||
move *a0(OBJ_YPOSINT),a1
|
||
addi 12,a1
|
||
; move a1,*a13(OBJ_YPOSINT)
|
||
move *a0(OBJ_ZPOSINT),a1
|
||
subi 20,a1
|
||
; move a1,*a13(OBJ_ZPOSINT)
|
||
movi DNKBLU_P,a0
|
||
.ref pal_getf
|
||
calla pal_getf
|
||
move a0,*a13(SKELETON_PAL)
|
||
move *a13(OBJ_PAL),a0
|
||
move a0,*a13(MY_PAL)
|
||
|
||
rets
|
||
|
||
SUBR set_skeleton_pal
|
||
move *a13(SKELETON_PAL),a0
|
||
move a0,*a13(OBJ_PAL)
|
||
rets
|
||
|
||
SUBR set_my_pal
|
||
move *a13(MY_PAL),a0
|
||
move a0,*a13(OBJ_PAL)
|
||
rets
|
||
|
||
SUBR start_smoke
|
||
|
||
move a13,a10
|
||
CREATE0 body_smoke
|
||
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
; SUBR dnk_2_break_lockup_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; WLW ANI_SET_XVEL,-30000h,1 ;facing relative
|
||
; .word ANI_FRICTION,3000h
|
||
; WL 3,D2FG3A+FR4
|
||
; WL 3,D2FG3A+FR3
|
||
; WL 3,D2FG3A+FR2
|
||
; WL 3,D2FG3A+FR1
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;#*****************************************************************************
|
||
;
|
||
; SUBR dnk_2_lockup_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 4,D2FG3A+FR1
|
||
; WL 4,D2FG3A+FR2
|
||
; WL 4,D2FG3A+FR3
|
||
; .word ANI_ATTACK_ON, AMODE_GRAPPLE,24,72,48,28 ;mode,x,y,w,h
|
||
; WL 4,D2FG3A+FR4
|
||
; .word ANI_ATTACK_OFF
|
||
; WL ANI_IFSTATUS,#grapple
|
||
; WL 4,D2FG3A+FR4
|
||
; WL 4,D2FG3A+FR3
|
||
; WL 4,D2FG3A+FR2
|
||
; WL 4,D2FG3A+FR1
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;#grapple
|
||
; .word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
; .word ANI_SLAVE,S4_GRAPPLE,3
|
||
; WL 8,D2GR3A+FR4
|
||
;
|
||
; .word ANI_SLAVE,S4_GRAPPLE,2
|
||
; WL 8,D2GR3A+FR5
|
||
;
|
||
; .word ANI_SLAVE,S4_GRAPPLE,1
|
||
; WL 8,D2GR3A+FR6
|
||
;
|
||
; .word ANI_SLAVE,S4_GRAPPLE,0
|
||
; WL 8,D2GR3A+FR7
|
||
;
|
||
; .word ANI_SLAVE,S4_GRAPPLE,1
|
||
; WL 8,D2GR3A+FR6
|
||
;
|
||
; .word ANI_SLAVE,S4_GRAPPLE,2
|
||
; WL 8,D2GR3A+FR5
|
||
;
|
||
; WL ANI_GOTO,#grapple
|
||
;
|
||
;
|
||
;#*****************************************************************************
|
||
;
|
||
; SUBR dnk_4_break_lockup_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; WLW ANI_SET_XVEL,-30000h,1 ;facing relative
|
||
; .word ANI_FRICTION,3000h
|
||
; WL 3,D4FG3B+FR4
|
||
; WL 3,D4FG3B+FR3
|
||
; WL 3,D4FG3B+FR2
|
||
; WL 3,D4FG3B+FR1
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;#*****************************************************************************
|
||
;
|
||
; SUBR dnk_4_lockup_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; WL 4,D4FG3B+FR1
|
||
; WL 4,D4FG3B+FR2
|
||
; WL 4,D4FG3B+FR3
|
||
; .word ANI_ATTACK_ON, AMODE_GRAPPLE,24,72,48,28 ;mode,x,y,w,h
|
||
; WL 4,D4FG3B+FR4
|
||
; .word ANI_ATTACK_OFF
|
||
; WL ANI_IFSTATUS,#grapple
|
||
; WL 4,D4FG3B+FR4
|
||
; WL 4,D4FG3B+FR3
|
||
; WL 4,D4FG3B+FR2
|
||
; WL 4,D4FG3B+FR1
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;#grapple
|
||
; .word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
; .word ANI_SLAVE,S2_GRAPPLE,3
|
||
; WL 8,D4GR3B+FR3
|
||
;
|
||
; .word ANI_SLAVE,S2_GRAPPLE,2
|
||
; WL 8,D4GR3B+FR4
|
||
;
|
||
; .word ANI_SLAVE,S2_GRAPPLE,1
|
||
; WL 8,D4GR3B+FR5
|
||
;
|
||
; .word ANI_SLAVE,S2_GRAPPLE,0
|
||
; WL 8,D4GR3B+FR6
|
||
;
|
||
; .word ANI_SLAVE,S2_GRAPPLE,1
|
||
; WL 8,D4GR3B+FR5
|
||
;
|
||
; .word ANI_SLAVE,S2_GRAPPLE,2
|
||
; WL 8,D4GR3B+FR4
|
||
;
|
||
; WL ANI_GOTO,#grapple
|
||
;
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_pile_driver_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
;Put cool cheers here
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,32,15,45,41 ;mode,x,y,w,h
|
||
|
||
;#contpd
|
||
WWL ANI_WAITHITOPP,4,D4GH3A+FR8 ;D3PP3Z+FR1
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
;Check to see if I have tried to pile drive Yokozuna!
|
||
|
||
.word ANI_SOUND,82h ;Effort grunt
|
||
|
||
;FIX!! Yoko check
|
||
; WL ANI_CODE,is_this_yoko
|
||
; WL ANI_IFSTATUS,#yoko_miss
|
||
|
||
;got him
|
||
.word ANI_ATTACHZ,0,0,-2 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3Z+FR1,#puppet_tbl,0
|
||
.word ANI_WAITHITGND
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_5,3,2
|
||
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3Z+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,20,D3PP3Z+FR3,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,3,D3PP3Z+FR4,#puppet_tbl,3
|
||
|
||
WL ANI_SET_YVEL,80000h
|
||
;Float toward the center of ring!
|
||
.ref set_xdrift
|
||
WL ANI_CODE,set_xdrift
|
||
|
||
WWLLW ANI_SUPERSLAVE2,3,D3PP3Z+FR5,#puppet_tbl,4
|
||
.word ANI_OFFSET,0,26,0 ;x,y,z
|
||
|
||
WWLLW ANI_SUPERSLAVE2,3,D3PP3Z+FR6,#puppet_tbl,5
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR6,#puppet_tbl,6
|
||
WWLLW ANI_SUPERSLAVE2,7,D4HS3B+FR6,#puppet_tbl,7
|
||
|
||
;do message
|
||
WL ANI_CODE,DO_PILE_MESS
|
||
|
||
;Mess with the physics!
|
||
|
||
WL ANI_SET_YVEL,-20000h
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
;Maybe do a bounce
|
||
|
||
;impact
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,40
|
||
.word ANI_DAMAGEOPP,D_PILEDRIVER
|
||
|
||
WWLLW ANI_SUPERSLAVE2,4,D4HS3B+FR7,#puppet_tbl,8
|
||
WWLLW ANI_SUPERSLAVE2,4,D4HS3B+FR8,#puppet_tbl,9
|
||
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
WL ANI_CODE,#set_opp_xflip
|
||
|
||
WL ANI_SLAVEANIM,#rollout_tbl
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
.word ANI_DETACH
|
||
WL 18,D4HS3B+FR8
|
||
|
||
WLW ANI_SET_ZVEL,-10000h,AM_ABS
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
; .word ANI_DETACH
|
||
|
||
; .word ANI_SAFE_TIME,0
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#yoko_miss
|
||
;Cause Yoko to stand up out of his head hold and break free
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
WL ANI_CODE,CALL_MISS_YOKO
|
||
|
||
WL 3,D3PP3Z+FR1
|
||
WL 3,D3PP3Z+FR2
|
||
WL 3,D3PP3Z+FR3
|
||
WL 3,D3PP3Z+FR4
|
||
WL ANI_CODE,#break
|
||
WL ANI_GOTO,#cont
|
||
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
WL 3,D3PP3Z+FR1
|
||
WL 3,D3PP3Z+FR2
|
||
WL 3,D3PP3Z+FR3
|
||
WL 3,D3PP3Z+FR4
|
||
|
||
#cont WL ANI_SET_YVEL,80000h
|
||
|
||
WL 3,D3PP3Z+FR5
|
||
.word ANI_OFFSET,0,26,0 ;x,y,z
|
||
|
||
WL 3,D3PP3Z+FR6
|
||
WL 3,D4HS3B+FR6
|
||
WL 7,D4HS3B+FR6
|
||
|
||
; WL ANI_SET_YVEL,-20000h
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
;Maybe do a bounce
|
||
|
||
;impact
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
|
||
WL 4,D4HS3B+FR7
|
||
WL 4,D4HS3B+FR8
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
WL 18,D4HS3B+FR8
|
||
|
||
WLW ANI_SET_ZVEL,-10000h,AM_ABS
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
; WL 20,D4GH3A+FR8
|
||
|
||
.word ANI_SAFE_TIME,0
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#set_opp_xflip
|
||
move *a13(ATTACH_PROC),a0,L
|
||
|
||
move *a0(OBJ_CONTROL),a14
|
||
xori M_FLIPH,a14
|
||
move a14,*a0(OBJ_CONTROL)
|
||
|
||
rets
|
||
|
||
;Check to see if I have tried to pile drive Yokozuna!
|
||
|
||
SUBR is_this_yoko
|
||
|
||
move *a13(ATTACH_PROC),a0,L
|
||
move *a0(WRESTLERNUM),a0
|
||
cmpi 3,a0
|
||
jrnz #ok
|
||
|
||
;Yes, this is Yoko!
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
#ok
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
;For Yoko breaking free
|
||
#break
|
||
move *a13(ATTACH_PROC),a2,L
|
||
.ref yok_3_head_held_brk_anim
|
||
movi yok_3_head_held_brk_anim,a0
|
||
;a0 = * animation script
|
||
;a2 = * wrestler process
|
||
.ref change_anim_anim
|
||
calla change_anim_anim
|
||
rets
|
||
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#Bret
|
||
.ref H4AM3A,H3BF3A,H3PP3X
|
||
LWWW H4AM3A+FR5,48,-37,0
|
||
LWWW H3BF3A+FR3,32,-34,0
|
||
LWWW H3PP3X+FR1,9,-30,0
|
||
LWWW H3PP3X+FR2,4,9,0
|
||
LWWW H3PP3X+FR3,13,23,0
|
||
LWWW H3PP3X+FR4,36,23,0
|
||
LWWW H3PP3X+FR5,54,44,0
|
||
LWWW H3PP3X+FR6,60,48,0
|
||
LWWW H3PP3X+FR7,63,18,0
|
||
LWWW H3PP3X+FR8,59,8,0
|
||
.long 0
|
||
#Razor
|
||
.ref R4AM4B,R3BF3A,R3GP3Z
|
||
LWWW R4AM4B+FR5,42,-33,0
|
||
LWWW R3BF3A+FR9,26,-32,0
|
||
LWWW R3GP3Z+FR1,14,-20,0
|
||
LWWW R3GP3Z+FR2,14,-16,0
|
||
LWWW R3GP3Z+FR3,23,6,0
|
||
LWWW R3GP3Z+FR4,54,22,0
|
||
LWWW R3GP3Z+FR5,63,41,0
|
||
LWWW R3GP3Z+FR6,70,43,0
|
||
LWWW R3GP3Z+FR7,66,32,0
|
||
LWWW R3GP3Z+FR8,62,0,0
|
||
.long 0
|
||
#Taker
|
||
.ref U4MP4A,U4BF3Z,U3PP3X,U3GP3X
|
||
LWWW U4MP4A+FR7,46,-11,0
|
||
LWWW U4BF3Z+FR1,28,-26,0
|
||
LWWW U3PP3X+FR1,15,-22,1
|
||
LWWW U3PP3X+FR2,18,-18,1
|
||
LWWW U3PP3X+FR3,20,-22,1
|
||
LWWW U3PP3X+FR4,36,-8,1
|
||
LWWW U3PP3X+FR5,57,35,1
|
||
LWWW U3PP3X+FR6,65,60,1
|
||
LWWW U3GP3X+FR1,62,8,1
|
||
LWWW U3GP3X+FR2,69,-7,1
|
||
.long 0
|
||
#Yokozuna
|
||
.ref Y4AM4A,Y3BF3A,Y3PP3Q,Y3FD3N
|
||
LWWW Y4AM4A+FR4,59,-27,0
|
||
LWWW Y3BF3A+FR11,31,-25,0
|
||
LWWW Y3PP3Q+FR1,16,-15,0
|
||
LWWW Y3PP3Q+FR2,13,-17,0
|
||
LWWW Y3PP3Q+FR3,26,-20,0
|
||
LWWW Y3PP3Q+FR4,52,-18,0
|
||
LWWW Y3PP3Q+FR6,50,5,0
|
||
LWWW Y3PP3Q+FR7,52,13,0
|
||
LWWW Y3FD3N+FR2,57,13,0
|
||
LWWW Y3FD3N+FR3,58,22,0
|
||
LWWW Y3FD3N+FR4,63,11,0
|
||
.long 0
|
||
#Shawn
|
||
.ref S4BF3A,S3BF3A,S3GP3X,S3OS3X,S3FD3X
|
||
LWWW S4BF3A+FR3,25,-24,0
|
||
LWWW S3BF3A+FR5,14,-39,0
|
||
LWWW S3GP3X+FR1,15,-24,0
|
||
LWWW S3GP3X+FR2,12,-19,0
|
||
LWWW S3GP3X+FR3,27,-5,0
|
||
LWWW S3GP3X+FR4,53,23,0
|
||
LWWW S3GP3X+FR5,67,39,0
|
||
LWWW S3OS3X+FR8,71,31,1
|
||
LWWW S3FD3X+FR2,69,23,0
|
||
LWWW S3GP3X+FR6,66,4,0
|
||
.long 0
|
||
#BamBam
|
||
.ref B3BF3C,B4AM4A,B3PP3Q,B3FD3C
|
||
LWWW B3BF3C+FR5,48,-27,0
|
||
LWWW B4AM4A+FR5,27,-24,0
|
||
LWWW B3PP3Q+FR1,12,-26,0
|
||
LWWW B3PP3Q+FR2,11,-15,0
|
||
LWWW B3PP3Q+FR3,31,3,0
|
||
LWWW B3PP3Q+FR4,57,16,0
|
||
LWWW B3PP3Q+FR5,64,33,0
|
||
LWWW B3PP3Q+FR6,57,40,0
|
||
LWWW B3PP3Q+FR7,60,28,0
|
||
LWWW B3PP3Q+FR7,61,46,0
|
||
; LWWW B3PP3Q+FR7,61,46,0
|
||
; LWWW B3FD3C+FR1,57,13,0
|
||
.long 0
|
||
#Doink
|
||
LWWW D3HT3Z+FR1,36,-41,1
|
||
LWWW D3BF3A+FR1,27,-34,0
|
||
LWWW D3PD3Z+FR1,16,-35,1
|
||
LWWW D3PD3Z+FR2,13,-22,1
|
||
LWWW D3PD3Z+FR3,23,0,1
|
||
LWWW D3PD3Z+FR4,39,25,1
|
||
LWWW D3PD3Z+FR5,46,33,1
|
||
LWWW D3PD3Z+FR6,58,23,1
|
||
LWWW D3PD3Z+FR8,58,7,1
|
||
LWWW D3PD3Z+FR9,59,-3,1
|
||
.long 0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L4AM4B,L3BF3B,L3GP3Z,L3FH3A,L3FD3B
|
||
LWWW L4AM4B+FR6,52,-39,0
|
||
LWWW L3BF3B+FR1,9,-34,0
|
||
LWWW L3GP3Z+FR1,13,-22,0
|
||
LWWW L3GP3Z+FR2,16,-16,0
|
||
LWWW L3GP3Z+FR3,27,-16,0
|
||
LWWW L3GP3Z+FR4,46,-5,0
|
||
LWWW L3GP3Z+FR5,63,13,0
|
||
LWWW L3GP3Z+FR6,67,33,0
|
||
LWWW L3FH3A+FR6,58,20,0
|
||
LWWW L3FD3B+FR1,61,2,0
|
||
.long 0
|
||
|
||
.ref hrt_break_neck2_anim
|
||
.ref shn_break_neck2_anim
|
||
.ref bam_break_neck2_anim
|
||
.ref und_break_neck2_anim
|
||
.ref lex_break_neck2_anim
|
||
.ref rzr_break_neck2_anim
|
||
.ref yok_break_neck2_anim
|
||
#rollout_tbl
|
||
.long hrt_break_neck2_anim,rzr_break_neck2_anim
|
||
.long und_break_neck2_anim
|
||
.long yok_break_neck2_anim
|
||
.long shn_break_neck2_anim,bam_break_neck2_anim
|
||
.long dnk_break_neck2_anim,0,lex_break_neck2_anim
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_head_slam_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
;Put cool cheers here
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,32,49,50,21 ;mode,x,y,w,h
|
||
|
||
WWL ANI_WAITHITOPP,3,D4GH3A+FR8
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
;got him
|
||
.word ANI_SOUND,82h ;Effort grunt
|
||
|
||
.word ANI_ATTACHZ,0,0,-2 ;x & y don't matter.
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
WL ANI_SET_YVEL,60000h ;50000h
|
||
|
||
;Float toward the center of ring!
|
||
WL ANI_CODE,set_xdrift
|
||
|
||
WL ANI_CODE,DO_HEAD_MESS
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;2 times
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR1,#puppet_tbl,0
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR3,#puppet_tbl,2
|
||
;On the way down!
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR5,#puppet_tbl,3
|
||
.word ANI_OFFSET,0,34,0 ;x,y,z
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR6,#puppet_tbl,4
|
||
.word ANI_WAITHITGND
|
||
.WORD ANI_ADD_MOVE,MOVE_C_6,3,1
|
||
.word ANI_ZEROVELS
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR7,#puppet_tbl,5
|
||
.word ANI_SOUND,33h ;neck break (5-7 ticks late)
|
||
WWLLW ANI_SUPERSLAVE2,2,D4HS3B+FR8,#puppet_tbl,6
|
||
|
||
;Maybe do a bounce
|
||
|
||
;impact
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_FACESLAM1
|
||
WWLLW ANI_SUPERSLAVE2,1,D4HS3B+FR8,#puppet_tbl,6
|
||
|
||
#try_rpt
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,3,#norepeat
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#slam_again
|
||
WL ANI_GOTO,#norepeat
|
||
|
||
#slam_again
|
||
.WORD ANI_ADD_MOVE,MOVE_C_6,3,1
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
;Slam him again using detach/reattach if button pressed again!
|
||
WL ANI_SLAVEANIM,#faced2_tbl
|
||
.word ANI_DETACH
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
WL 2,D4HS3B+FR8
|
||
WL ANI_SET_YVEL,50000h
|
||
WL 2,D4HS3B+FR7
|
||
WL 13,D4HS3B+FR6
|
||
|
||
;Reattach me to who I'm slamming
|
||
WL ANI_CODE,#reattach
|
||
|
||
.word ANI_ATTACHZ,0,0,-2 ;x & y don't matter.
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
#contz
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR6,#puppet_tbl,4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WWLLW ANI_SUPERSLAVE2,3,D4HS3B+FR7,#puppet_tbl,5
|
||
.word ANI_SOUND,33h ;neck break (5-7 ticks late)
|
||
WWLLW ANI_SUPERSLAVE2,1,D4HS3B+FR8,#puppet_tbl,6
|
||
|
||
;Maybe do a bounce
|
||
|
||
;impact
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_FACESLAM2 ;Repeated headslam
|
||
WWLLW ANI_SUPERSLAVE2,1,D4HS3B+FR8,#puppet_tbl,6
|
||
WL ANI_GOTO,#try_rpt
|
||
|
||
#norepeat
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
WL ANI_SLAVEANIM,#faced_tbl
|
||
.word ANI_DETACH
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
WL 18,D4HS3B+FR8
|
||
|
||
WLW ANI_SET_ZVEL,-10000h,AM_ABS
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP|MODE_OVERLAP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,0
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 6,D4HS3B+FR1
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#reattach
|
||
move *a13(WHOIHIT),a0,L
|
||
move a0,*a13(ATTACH_PROC),L
|
||
move a13,*a0(ATTACH_PROC),L
|
||
rets
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#Bret
|
||
.ref H3MS3Z,H3MS3X
|
||
LWWW H3MS3Z+FR1,36,-5,0
|
||
LWWW H3MS3Z+FR2,39,0,0
|
||
LWWW H3MS3Z+FR3,51,-1,0
|
||
LWWW H3MS3Z+FR4,58,-4,0
|
||
LWWW H3MS3Z+FR5,62,-6,0
|
||
LWWW H3MS3Z+FR6,57,-11,0
|
||
LWWW H3MS3X+FR5,71,-24,0
|
||
.long 0
|
||
#Razor
|
||
.ref R3MS3Z,R3MS3Q
|
||
LWWW R3MS3Z+FR1,48,-6,0
|
||
LWWW R3MS3Z+FR2,46,5,0
|
||
LWWW R3MS3Z+FR3,53,-2,0
|
||
LWWW R3MS3Z+FR4,65,1,0
|
||
LWWW R3MS3Z+FR5,71,-4,0
|
||
LWWW R3MS3Z+FR6,73,-28,0
|
||
LWWW R3MS3Q+FR1,76,-11,0
|
||
.long 0
|
||
#Taker
|
||
.ref U3MS3Z,U3CF3Q
|
||
LWWW U3MS3Z+FR1,37,9,0
|
||
LWWW U3MS3Z+FR2,25,17,0
|
||
LWWW U3MS3Z+FR3,28,0,0
|
||
LWWW U3MS3Z+FR4,44,-1,0
|
||
LWWW U3MS3Z+FR5,53,4,0
|
||
LWWW U3MS3Z+FR6,55,-14,0
|
||
LWWW U3CF3Q+FR1,61,-26,0
|
||
.long 0
|
||
#Yokozuna
|
||
.ref Y3MS3Z,Y3KF3B
|
||
LWWW Y3MS3Z+FR1,54,-8,0
|
||
LWWW Y3MS3Z+FR2,53,12,0
|
||
LWWW Y3MS3Z+FR3,53,10,0
|
||
LWWW Y3MS3Z+FR4,59,6,0
|
||
LWWW Y3MS3Z+FR5,61,-1,0
|
||
LWWW Y3MS3Z+FR6,62,-27,0
|
||
LWWW Y3KF3B+FR1,66,-2,0
|
||
.long 0
|
||
#Shawn
|
||
.ref S3MS3Z,S3CF3Z
|
||
LWWW S3MS3Z+FR1,31,-10,0
|
||
LWWW S3MS3Z+FR2,29,3,0
|
||
LWWW S3MS3Z+FR3,39,7,0
|
||
LWWW S3MS3Z+FR4,55,5,0
|
||
LWWW S3MS3Z+FR5,61,3,0
|
||
LWWW S3MS3Z+FR6,74,-39,0
|
||
LWWW S3CF3Z+FR1,82,-23,0
|
||
.long 0
|
||
#BamBam
|
||
.ref B3MS3Z,B3RL1A
|
||
LWWW B3MS3Z+FR1,47,2,0
|
||
LWWW B3MS3Z+FR2,49,-4,0
|
||
LWWW B3MS3Z+FR3,52,-2,0
|
||
LWWW B3MS3Z+FR4,65,7,0
|
||
LWWW B3MS3Z+FR5,70,21,0
|
||
LWWW B3MS3Z+FR6,72,3,0
|
||
LWWW B3RL1A+FR7,73,-15,0
|
||
.long 0
|
||
#Doink
|
||
LWWW D3GS3X+FR1,52,-15,0
|
||
LWWW D3GS3X+FR3,45,2,0
|
||
LWWW D3GS3X+FR4,51,-2,0
|
||
LWWW D3GS3X+FR5,61,-4,0
|
||
LWWW D3GS3X+FR7,68,-4,0
|
||
LWWW D3GS3X+FR8,67,-39,0
|
||
LWWW D3GS3X+FR9,75,-15,0
|
||
.long 0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L3MS3Z,L3TF3X
|
||
LWWW L3MS3Z+FR1,55,-3,0
|
||
LWWW L3MS3Z+FR2,44,4,0
|
||
LWWW L3MS3Z+FR3,46,1,0
|
||
LWWW L3MS3Z+FR4,57,-4,0
|
||
LWWW L3MS3Z+FR5,60,1,0
|
||
LWWW L3MS3Z+FR6,64,-26,0
|
||
LWWW L3TF3X+FR1,60,-19,0
|
||
.long 0
|
||
|
||
|
||
.ref hrt_break_face2_anim,rzr_break_face2_anim
|
||
.ref und_break_face2_anim
|
||
.ref shn_break_face2_anim,bam_break_face2_anim
|
||
.ref lex_break_face2_anim
|
||
.ref yok_break_face2_anim
|
||
|
||
.ref hrt_break_face_anim,rzr_break_face_anim
|
||
.ref und_break_face_anim
|
||
.ref shn_break_face_anim,bam_break_face_anim
|
||
.ref lex_break_face_anim
|
||
.ref yok_break_face_anim
|
||
|
||
|
||
#faced2_tbl
|
||
.long hrt_break_face2_anim,rzr_break_face2_anim
|
||
.long und_break_face2_anim
|
||
.long yok_break_face2_anim
|
||
.long shn_break_face2_anim,bam_break_face2_anim
|
||
.long dnk_break_face2_anim,0,lex_break_face2_anim
|
||
|
||
#faced_tbl
|
||
.long hrt_break_face_anim,rzr_break_face_anim
|
||
.long und_break_face_anim
|
||
.long yok_break_face_anim
|
||
.long shn_break_face_anim,bam_break_face_anim
|
||
.long dnk_break_face_anim,0,lex_break_face_anim
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* Head slams into mat
|
||
;From head slam - repeated head slam
|
||
|
||
SUBR dnk_break_face2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 1,D3GS3X+FR9
|
||
WL ANI_SET_YVEL,80000h
|
||
WL 3,D3GS3X+FR9
|
||
WL 5,D3GS3X+FR10
|
||
.word ANI_WAITHITGND
|
||
.word ANI_END
|
||
|
||
|
||
* Head slams into mat
|
||
;From head slam
|
||
|
||
SUBR dnk_break_face_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 1,D3GS3X+FR8
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 2,D3GS3X+FR8
|
||
WL 5,D3GS3X+FR9
|
||
WL 5,D3GS3X+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 4,D3GS3X+FR8
|
||
WL 4,D3GS3X+FR9
|
||
WL 4,D3GS3X+FR10
|
||
WL 4,D3GS3X+FR8
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
|
||
WL 1,D3GS3X+FR8 ;Face down
|
||
.word ANI_WAITROLL
|
||
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
.bss #opp_xvel,32
|
||
|
||
SUBR dnk_3_head_hold2_anim
|
||
;Head hold when standing next to player
|
||
;No collisions possible
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
;#4 grab to head hold
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,6
|
||
WL 2,D4GH3A+FR1
|
||
WL 2,D4GH3A+FR2
|
||
WL 2,D4GH3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET3,32,60,62,45 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,7,D4GH3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_GOTO,#gothim
|
||
|
||
SUBR dnk_3_head_hold_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
;#4 grab to head hold
|
||
.word ANI_STARTATTACK,AT_LEAPING,9
|
||
|
||
WL 3,D4GH3A+FR1
|
||
WL 3,D4GH3A+FR2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 7,999,60,40,90000h,TGT_HEAD,81,88,0
|
||
LEAPATOPP 7,999,60,45,90000h,TGT_HEAD,60,88,0
|
||
|
||
WL 3,D4GH3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,32,60,62,45 ;mode,x,y,w,h
|
||
|
||
WWL ANI_WAITHITOPP,7,D4GH3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WL ANI_IFBLOCKED,#missedb
|
||
|
||
#gothim
|
||
;got him
|
||
.word ANI_SETWORD,USR_VAR2,0
|
||
|
||
WL ANI_CODE,CALL_SETUP
|
||
|
||
; WLW ANI_SUPERSLAVE,#puppet_tbl,0
|
||
; WL 3,D4GH3A+FR3
|
||
|
||
.word ANI_ATTACHZ,0,0,-4 ;x & y don't matter.
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
WLW ANI_SUPERSLAVE,#puppet_tbl,1
|
||
WL 3,D4GH3A+FR4
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WLW ANI_SUPERSLAVE,#puppet_tbl,2
|
||
WL 4,D4GH3A+FR5
|
||
WLW ANI_SUPERSLAVE,#puppet_tbl,3
|
||
WL 4,D4GH3A+FR7
|
||
WLW ANI_SUPERSLAVE,#puppet_tbl,4
|
||
WL 4,D4GH3A+FR8
|
||
|
||
.word ANI_SETPLYRMODE,MODE_HEADHOLD
|
||
WL ANI_SLAVEANIM,#headheld_tbl
|
||
|
||
WL 3,D4GH3A+FR8
|
||
|
||
; .word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
.word ANI_ZEROVELS
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D4GM3A+FR6
|
||
WL 3,D4GM3A+FR7
|
||
WL 3,D4GM3A+FR8
|
||
WL 3,D4GM3A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL 3,D4GM3A+FR11
|
||
WL 3,D4GM3A+FR12
|
||
WL 3,D4GM3A+FR13
|
||
WL 3,D4GM3A+FR14
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 3,D4GM3A+FR6
|
||
WL 3,D4GM3A+FR7
|
||
WL 3,D4GM3A+FR8
|
||
WL 13,D4GM3A+FR10
|
||
WL 3,D4GM3A+FR11
|
||
WL 3,D4GM3A+FR12
|
||
WL 3,D4GM3A+FR13
|
||
WL 3,D4GM3A+FR14
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;new xvel is (attacker xvel + defender xvel)/4
|
||
SUBR merge_xvels
|
||
|
||
move @#opp_xvel,a0,L
|
||
move *a13(OBJ_XVEL),a1,L
|
||
add a1,a0
|
||
; sra 2,a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
#rets
|
||
rets
|
||
|
||
;save opponent's x-velocity
|
||
SUBR store_opp_xvel
|
||
move *a13(CLOSEST_NUM),a0
|
||
X32 a0
|
||
.ref process_ptrs
|
||
addi process_ptrs,a0
|
||
move *a0,a0,L
|
||
move *a0(OBJ_XVEL),a0,L
|
||
move a0,@#opp_xvel,L
|
||
rets
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
.ref H2AH3A,H3HB3A
|
||
.ref R4AM4B,R3HB3A,R3BF3A
|
||
.ref U4AM4C,U4BF3A,U4BF3Z
|
||
.ref Y3LB3A,Y3BF3A
|
||
.ref S4AH3D,S4BF3A
|
||
.ref B4BF3A,B3HB3A,B3BF3C
|
||
.ref L4AH4B,L2AH2A,L3BF3A,L3BF3B
|
||
#Bret
|
||
LWWW H2AH3A+FR1,79,-1,0
|
||
LWWW H2AH3A+FR1,79,-1,0
|
||
LWWW H3HB3A+FR3,79,-1,0
|
||
LWWW H3HB3A+FR2,79,-1,0
|
||
LWWW H3HB3A+FR1,80,-1,0
|
||
#Razor
|
||
LWWW R3HB3A+FR3,77,-1,0
|
||
LWWW R3HB3A+FR3,77,-1,0
|
||
LWWW R3HB3A+FR3,77,-1,0
|
||
LWWW R3HB3A+FR2,77,-1,0
|
||
LWWW R3BF3A+FR1,68,-1,0
|
||
#Taker
|
||
LWWW U4AM4C+FR2,93,-1,0
|
||
LWWW U4AM4C+FR2,93,-1,0
|
||
LWWW U4BF3A+FR2,93,-1,0
|
||
LWWW U4BF3A+FR3,93,-1,0
|
||
LWWW U4BF3Z+FR3,56h,-1,0
|
||
#Yokozuna
|
||
LWWW Y3LB3A+FR2,83,-1,0
|
||
LWWW Y3LB3A+FR2,83,-1,0
|
||
LWWW Y3LB3A+FR2,83,-1,0
|
||
LWWW Y3LB3A+FR9,83,-1,0
|
||
LWWW Y3BF3A+FR1,4fh,-1,0
|
||
#Shawn
|
||
LWWW S4AH3D+FR5,77,-1,0
|
||
LWWW S4AH3D+FR5,77,-1,0
|
||
LWWW S4AH3D+FR5,77,-1,0
|
||
LWWW S4BF3A+FR2,77,-1,0
|
||
LWWW S4BF3A+FR3,77,-1,0
|
||
#BamBam
|
||
LWWW B4BF3A+FR1,87,-4,0
|
||
LWWW B4BF3A+FR1,87,-4,0
|
||
LWWW B4BF3A+FR1,87,-4,0
|
||
LWWW B3HB3A+FR2,55h,-1,0
|
||
LWWW B3BF3C+FR5,55h,0,0
|
||
#Doink
|
||
LWWW D3AK3A+FR3,73,0,0
|
||
LWWW D3AK3A+FR3,73,0,0
|
||
LWWW D3AK3A+FR3,73,0,0
|
||
LWWW D3AK3A+FR2,73,0,0
|
||
;Use first frame of arm wave instead of this frame!
|
||
LWWW D3BF3A+FR1,73,0,0
|
||
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
LWWW L4AH4B+FR3,81,-1,0
|
||
LWWW L4AH4B+FR3,81,-1,0
|
||
; LWWW L2AH2A+FR3,81,-1,0
|
||
LWWW L3BF3A+FR1,81,-1,1
|
||
LWWW L3BF3A+FR2,81,-1,1
|
||
LWWW L3BF3B+FR5,4fh,-1,0
|
||
|
||
.ref rzr_3_head_held_anim
|
||
.ref bam_3_head_held_anim
|
||
.ref und_3_head_held_anim
|
||
.ref yok_3_head_held_anim
|
||
.ref hrt_3_head_held_anim
|
||
.ref lex_3_head_held_anim
|
||
.ref shn_3_head_held_anim
|
||
|
||
#headheld_tbl
|
||
.long hrt_3_head_held_anim
|
||
.long rzr_3_head_held_anim
|
||
.long und_3_head_held_anim
|
||
.long yok_3_head_held_anim
|
||
.long shn_3_head_held_anim
|
||
.long bam_3_head_held_anim
|
||
.long dnk_3_head_held_anim
|
||
.long 0
|
||
.long lex_3_head_held_anim
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_head_held_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_HEADHELD
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
; WL 4,D3BF3Z+FR1
|
||
; WL 4,D3BF3Z+FR2
|
||
|
||
.word ANI_SETWORD,USR_VAR1,0 ;loop count
|
||
|
||
#loop
|
||
WL 4,D3BF3A+FR2
|
||
WL 4,D3BF3A+FR3
|
||
WL 4,D3BF3A+FR4
|
||
WL 4,D3BF3A+FR5
|
||
WL 4,D3BF3A+FR6
|
||
WL 4,D3BF3A+FR7
|
||
WL 4,D3BF3A+FR8
|
||
WL 4,D3BF3A+FR1
|
||
WL ANI_CODE,#inc_loop
|
||
WL ANI_IFNOTSTATUS,#loop
|
||
|
||
;Continue into break...
|
||
|
||
SUBR dnk_3_head_held_brk_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
WLW ANI_SET_XVEL,-38000h,AM_NEWFACE_REL
|
||
WL ANI_SET_YVEL,40000h
|
||
WLW ANI_SET_ZVEL,18000h,AM_ABS
|
||
|
||
WL 4,D3AK3A+FR2
|
||
.word ANI_DETACH
|
||
|
||
;Standard #2 head hit from spin kick
|
||
WL 3,D2AH2A+FR1
|
||
WL 4,D2AH2A+FR2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 4,D2AH2A+FR3
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;Loop 4 times, then break out!
|
||
#inc_loop
|
||
move *a13(USR_VAR1),a0
|
||
inc a0
|
||
move a0,*a13(USR_VAR1)
|
||
cmpi 2,a0
|
||
jrgt #breakout
|
||
|
||
;He may have let me go by hitting his block butn!
|
||
;Handled in mode_headheld!
|
||
; move *a13(ATTACH_PROC),a0,L
|
||
; jrz #breakout
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#breakout
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
SUBR dnk_3_head_held_stand_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
WL 3,D3AK3A+FR2
|
||
WL 3,D1TT5Z+FR2 ;2.5
|
||
.word ANI_DETACH
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* KNEE TO HEAD HELD OPPONENT
|
||
|
||
; SUBR dnk_3_knee_to_head_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
;
|
||
; WL 4,D4KH3A+FR1
|
||
; WL 4,D4KH3A+FR2
|
||
;
|
||
; WL 1,D4KH3A+FR3
|
||
; .word ANI_ATTACK_ON, AMODE_KNEE,14,51,62,21 ;mode,x,y,w,h
|
||
; WL 4-1,D4KH3A+FR3
|
||
; .word ANI_ATTACK_OFF
|
||
; WL 10,D4KH3A+FR3
|
||
;
|
||
; WL 5,D4KH3A+FR4
|
||
; WL 5,D4KH3A+FR5
|
||
; WL 5,D4KH3A+FR6
|
||
;
|
||
; .word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
|
||
SUBR dnk_3_knee_to_head_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,9
|
||
WL 3,D3SK3X+FR1
|
||
WL 3,D3SK3X+FR2
|
||
WL 3,D3SK3X+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,20,62,68,16
|
||
WL 3,D3SK3X+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL 10,D3SK3X+FR4
|
||
|
||
WL 3,D3SK3X+FR5
|
||
WL 3,D3SK3X+FR6
|
||
WL 3,D3SK3X+FR7
|
||
|
||
.word ANI_FACEUP
|
||
; .word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
;
|
||
; WL 3,D4KM3A+FR2
|
||
; WL 3,D4KM3A+FR3
|
||
; WL 3,D4KM3A+FR4
|
||
;
|
||
; .word ANI_ATTACK_ON, AMODE_KNEE,20,62,68,16
|
||
; WL 3,D4KM3A+FR5
|
||
; .word ANI_ATTACK_OFF
|
||
; WL 10,D4KM3A+FR5
|
||
; WL 3,D4KM3A+FR6
|
||
; WL 3,D4KM3A+FR7
|
||
; WL 3,D4KM3A+FR8
|
||
; WL 3,D4KM3A+FR9
|
||
; WL 3,D4KM3A+FR10
|
||
;
|
||
; .word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
|
||
|
||
; SUBR dnk_3_knees_to_head_anim
|
||
;
|
||
;;Need to do a move which kicks guys in the ass!
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
;
|
||
; .word ANI_SET_RPTCOUNT,3 ;2 times
|
||
; WL ANI_GOTO,#skp
|
||
;#rpt
|
||
; WL 3,D4KH3A+FR2
|
||
;#skp
|
||
; .word ANI_CLR_BUTCOUNT
|
||
;
|
||
; WL 3,D4KH3A+FR1
|
||
; WL 3,D4KH3A+FR2
|
||
; WL 1,D4KH3A+FR3
|
||
; .word ANI_ATTACK_ON, AMODE_HEADKNEES,14,51,62,21 ;mode,x,y,w,h
|
||
; WL 4,D4KH3A+FR3
|
||
; .word ANI_ATTACK_OFF
|
||
; WL ANI_IFNOTSTATUS,#missed
|
||
;
|
||
; WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#exit
|
||
; .word ANI_DEC_RPTCOUNT
|
||
; WL ANI_IF_RPTCOUNT,#rpt
|
||
;
|
||
; .word ANI_CLR_BUTCOUNT
|
||
;
|
||
; WL 3,D4KH3A+FR2
|
||
; WL 3,D4KH3A+FR1
|
||
;
|
||
; WL 3,D4KH3A+FR2
|
||
; WL 1,D4KH3A+FR3
|
||
; .word ANI_ATTACK_ON, AMODE_HEADKNEES,14,51,62,21 ;mode,x,y,w,h
|
||
; WL 4,D4KH3A+FR3
|
||
; .word ANI_ATTACK_OFF
|
||
; WL ANI_IFNOTSTATUS,#missed
|
||
;
|
||
; WWWL ANI_IF_BUTCOUNT_GE,SPUNCHB_COUNT,1,#do_pile
|
||
;
|
||
;#exit
|
||
;#missed
|
||
; .word ANI_DETACH
|
||
; .word ANI_OFFSET,0,0,-5 ;x,y,z
|
||
; WL 3,D4KH3A+FR2
|
||
; WL 4,D4KH3A+FR1
|
||
; .word ANI_FACEDOWN
|
||
;
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;
|
||
;#do_pile
|
||
; WL 3+2,D4KH3A+FR2
|
||
; WL 4+1,D4KH3A+FR1
|
||
;
|
||
; .word ANI_DETACH
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; WL ANI_CHANGEANIM,dnk_3_pile_driver_anim
|
||
; .word ANI_END
|
||
;
|
||
|
||
SUBR dnk_3_knees_to_head_anim
|
||
|
||
;Need to do a move which kicks guys in the ass!
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;2 times
|
||
WL ANI_GOTO,#skp
|
||
#rpt
|
||
.word ANI_STARTATTACK,AT_KNEE,10
|
||
WL 3,D4KH3A+FR3
|
||
#skp
|
||
WL ANI_SET_YVEL,30000h
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,D4KM3A+FR2
|
||
WL 2,D4KM3A+FR3
|
||
WL 3,D4KM3A+FR4
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HEADKNEES,20,42,68,36
|
||
WL 4,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#exit
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,D4KM3A+FR4
|
||
WL 2,D4KM3A+FR3
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 2,D4KM3A+FR2
|
||
WL 2,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HEADKNEES,20,42,68,36
|
||
WL 4,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WWWL ANI_IF_BUTCOUNT_GE,SPUNCHB_COUNT,1,#do_pile
|
||
|
||
#exit
|
||
#missed
|
||
.word ANI_DETACH
|
||
.word ANI_OFFSET,0,0,-5 ;x,y,z
|
||
WL 2,D4KM3A+FR6
|
||
WL 2,D4KM3A+FR7
|
||
WL 2,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 2,D4KM3A+FR10
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#do_pile
|
||
WL 2,D4KM3A+FR6
|
||
WL 2,D4KM3A+FR7
|
||
WL 2,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 2,D4KM3A+FR10
|
||
|
||
.word ANI_DETACH
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
WL ANI_CHANGEANIM,dnk_3_pile_driver_anim
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* UPPERCUT TO HEAD HELD OPPONENT
|
||
|
||
SUBR dnk_uppercut_to_head_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,16
|
||
; WL 4,D4GP3C+FR1
|
||
WL 4,D4GP3C+FR2
|
||
WL 4,D4GP3C+FR3
|
||
|
||
WL 4,D4GP3C+FR4
|
||
WL 4,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,44,57,32,37 ;mode,x,y,w,h
|
||
WL 10,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL 4 ,D4GP3C+FR7
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;FIX!!! Make cooler...
|
||
#*****************************************************************************
|
||
*
|
||
* UPPERCUT TO HEAD HELD OPPONENT
|
||
|
||
SUBR dnk_combo_uppercut_to_head_anim
|
||
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
|
||
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_STARTATTACK,AT_KNEE,9
|
||
WL 2,D4GP3C+FR2
|
||
WL 3,D4GP3C+FR3
|
||
|
||
WL 2,D4GP3C+FR4
|
||
WL 2,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,44,57,32,37 ;mode,x,y,w,h
|
||
WL 1,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
WL ANI_CODE,SET_OPTIMAL_POSITION
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,0h,0h ;x,y,z vels
|
||
; .word ANI_STARTATTACK,AT_KNEE,12
|
||
WL 3,D4GP3C+FR6
|
||
WL 3 ,D4GP3C+FR7
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,D4GP3C+FR2
|
||
WL 1,D4GP3C+FR3
|
||
|
||
WL 2,D4GP3C+FR4
|
||
WL 1,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,44,57,32,37 ;mode,x,y,w,h
|
||
WL 1,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,0h,0h ;x,y,z vels
|
||
; .word ANI_STARTATTACK,AT_KNEE,8
|
||
WL 1,D4GP3C+FR6
|
||
WL 2 ,D4GP3C+FR7
|
||
|
||
WL 1,D4GP3C+FR2
|
||
WL 2,D4GP3C+FR3
|
||
|
||
WL 1,D4GP3C+FR4
|
||
WL 1,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,44,57,32,37 ;mode,x,y,w,h
|
||
WL 1,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,0h,0h ;x,y,z vels
|
||
WLW ANI_SET_XVEL,80000h,AM_FACE_REL
|
||
WL 1,D4GP3C+FR6
|
||
WL 2 ,D4GP3C+FR7
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL ANI_CHANGEANIM,dnk_4_box_anim
|
||
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NEXT_CHECK_2
|
||
WL ANI_CHANGEANIM,dnk_4_combo_butt_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#miss
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL ANI_CHANGEANIM,dnk_4_knee_fall_anim
|
||
|
||
#miss
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_DETACH
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SET_OPTIMAL_POSITION
|
||
MOVE *A13(WHOIHIT),A0,L
|
||
MOVE *A13(OBJ_XPOS),A2,L
|
||
MOVI [70,0],A1
|
||
MOVE *A13(FACING_DIR),A3
|
||
BTST MOVE_LEFT_BIT,A3
|
||
JRZ NO_NEED_TO_NEG_XDIR
|
||
NEG A1
|
||
NO_NEED_TO_NEG_XDIR
|
||
ADD A1,A2
|
||
MOVE A2,*A0(OBJ_XPOS),L
|
||
RETS
|
||
|
||
|
||
SUBR dnk_uppercuts_to_head_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_SETWORD,USR_VAR2,0
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
|
||
; .word ANI_STARTATTACK,AT_KNEE,10
|
||
WL 3,D4GP3C+FR2
|
||
WL 3,D4GP3C+FR3
|
||
WL ANI_GOTO,#skp
|
||
#rpt
|
||
.word ANI_CLR_BUTCOUNT
|
||
; .word ANI_STARTATTACK,AT_KNEE,10
|
||
|
||
WL 2,D4GP3C+FR8
|
||
WL 2,D4GP3C+FR9
|
||
WL 2,D4GP3C+FR3
|
||
#skp
|
||
WL 2,D4GP3C+FR4
|
||
WL 2,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HEADKNEES,44,57,32,37 ;mode,x,y,w,h
|
||
WL 3,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#exit
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
|
||
.word ANI_SETWORD,USR_VAR2,1
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,D4GP3C+FR8
|
||
WL 2,D4GP3C+FR9
|
||
WL 2,D4GP3C+FR3
|
||
|
||
WL 2,D4GP3C+FR4
|
||
WL 2,D4GP3C+FR5
|
||
.WORD ANI_SOUND,43H
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HEADKNEES,44,57,32,37 ;mode,x,y,w,h
|
||
WL 3,D4GP3C+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WL ANI_CODE,#go_high
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#exit
|
||
|
||
WL 3,D4GP3C+FR7
|
||
|
||
.ref dnk_flying_kick_anim
|
||
WL ANI_CHANGEANIM,dnk_flying_kick_anim
|
||
.word ANI_END
|
||
|
||
#exit
|
||
#missed
|
||
.word ANI_OFFSET,0,0,-5 ;x,y,z
|
||
WL 3,D4GP3C+FR7
|
||
.word ANI_DETACH
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;#ck_pile
|
||
;;Check for stick down and super punch down
|
||
; move a13,a0
|
||
; .ref wres_get_stick_val_cur
|
||
; calla wres_get_stick_val_cur
|
||
;
|
||
; btst PLAYER_DOWN_BIT,a0
|
||
; jrz #no
|
||
;
|
||
; move a13,a0
|
||
; .ref wres_get_but_val_down
|
||
; calla wres_get_but_val_down
|
||
; btst PLAYER_SPUNCH_BIT,a0
|
||
; jrz #no
|
||
;
|
||
; move *a13(ANIMODE),a1
|
||
; ori MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
;
|
||
;#no
|
||
; move *a13(ANIMODE),a1
|
||
; andni MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
|
||
|
||
#go_high
|
||
;Got rid of this because attach_proc is a zero after a hit
|
||
; move *a13(ATTACH_PROC),a0,L
|
||
; move *a0(WRESTLERNUM),A14
|
||
; cmpi 3,a14 ;Yoko
|
||
; jrz #x
|
||
; movi 50000h,a14
|
||
; move a14,*a0(OBJ_YVEL),L
|
||
|
||
move *a13(CLOSEST_NUM),a14
|
||
X32 a14
|
||
addi process_ptrs,a14
|
||
move *a14,a14,L
|
||
|
||
move *a14(WRESTLERNUM),a0
|
||
cmpi 3,a0 ;Yoko too fat
|
||
jrz #x
|
||
|
||
movi 50000h,a0 ;Go higher for last hit!
|
||
move a0,*a14(OBJ_YVEL),L
|
||
#x rets
|
||
|
||
|
||
#chk_count
|
||
move *a13(ANIMODE),a0
|
||
andni MODE_STATUS,a0
|
||
move *a13(BUT_COUNT),a14
|
||
jrz #fail
|
||
ori MODE_STATUS,a0
|
||
#fail
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 SLAP
|
||
|
||
|
||
SUBR dnk_2_slap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,9
|
||
WL 3,D2BS3A+FR1
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 0dh,999,44h,40,90000h,TGT_HEAD,96,105,-30
|
||
|
||
.word ANI_CLR_STATUS
|
||
WL 3,D2BS3A+FR2
|
||
WL 07h,D2BS3A+FR3
|
||
WL 3,D2BS3A+FR4
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BACKHAND,75,81,36,28 ;mode,x,y,w,h
|
||
WL 3,D2BS3A+FR5
|
||
WL 3,D2BS3A+FR6
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 10,D2BS3A+FR6
|
||
#no_hit
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 8h,D2BS3A+FR6
|
||
WL 3,D2BS3A+FR8
|
||
WL 3,D2BS3A+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 SLAP
|
||
|
||
SUBR dnk_4_slap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,9
|
||
WL 3,D4BS3A+FR1
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 0dh,999,44h,40,90000h,TGT_HEAD,96,105,30
|
||
|
||
.word ANI_CLR_STATUS
|
||
WL 3,D4BS3A+FR2
|
||
WL 07h,D4BS3A+FR3
|
||
WL 3,D4BS3A+FR4
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BACKHAND,75,81,36,28 ;mode,x,y,w,h
|
||
WL 3,D4BS3A+FR5
|
||
WL 3,D4BS3A+FR6
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 10,D4BS3A+FR6
|
||
#no_hit2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 8,D4BS3A+FR6
|
||
WL 3,D4BS3A+FR8
|
||
WL 3,D4BS3A+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;ck_inair
|
||
; move *a13(ANIMODE),a1
|
||
; andni MODE_STATUS,a1
|
||
; move *a13(CLOSEST_NUM),a0
|
||
; X32 a0
|
||
; .ref process_ptrs
|
||
; addi process_ptrs,a0
|
||
; move *a0,a0,L
|
||
; move *a0(PLYRMODE),a0
|
||
; cmpi MODE_INAIR2,a0
|
||
; jrz #yes
|
||
; cmpi MODE_INAIR,a0
|
||
; jrz #yes
|
||
; ori MODE_STATUS,a1
|
||
;#yes
|
||
; move a1,*a13(ANIMODE)
|
||
;
|
||
; rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* EAR SLAP
|
||
|
||
|
||
SUBR dnk_2_earslap_anim
|
||
SUBR dnk_4_earslap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SET_RPTCOUNT,4 ;3 times
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,14
|
||
WL 3,D3ES3A+FR1
|
||
|
||
LEAPATOPP 0dh,999,50h,80,90000h,TGT_HEAD,106,105,-30
|
||
|
||
|
||
.word ANI_CLR_STATUS
|
||
WL 3,D3ES3A+FR2
|
||
|
||
WL 5,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR4
|
||
WL 3,D3ES3A+FR5
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_ATTACK_ON, AMODE_EARSLAP,70,74,60,42 ;mode,x,y,w,h
|
||
.word ANI_SOUND,43h
|
||
.word ANI_SHAKER,22
|
||
WL 3,D3ES3A+FR6
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_8,3,1
|
||
WL ANI_IFSTATUS,#gothim
|
||
WL 10,D3ES3A+FR6
|
||
WL ANI_GOTO,#no_hit2
|
||
|
||
#gothim
|
||
.word ANI_DAMAGEOPP,D_EARSLAP1 ;First one (+ table)
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_DEBRIS,300,4,120,100,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,2,#fail
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_earslap
|
||
#fail
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit3
|
||
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 10,D3ES3A+FR6
|
||
#no_hit3
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 8,D3ES3A+FR6
|
||
WL 3,D3ES3A+FR5
|
||
WL 3,D3ES3A+FR4
|
||
WL 3,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR2
|
||
WL 3,D3ES3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#dnk_quick_earslap
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_STARTATTACK,AT_EARSLAP1,14
|
||
WL 2,D3ES3A+FR5
|
||
WL 2,D3ES3A+FR4
|
||
WL 2,D3ES3A+FR3
|
||
WL 2,D3ES3A+FR2
|
||
WL 2,D3ES3A+FR3
|
||
WL 2,D3ES3A+FR4
|
||
WL 2,D3ES3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_EARSLAP,70,74,60,42 ;mode,x,y,w,h
|
||
.word ANI_SHAKER,22
|
||
WL 3,D3ES3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
; .WORD ANI_ADD_MOVE,MOVE_C_8,3,1
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,2,#fail2
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_earslap
|
||
#fail2
|
||
|
||
; .word ANI_ATTACK_ON, AMODE_BACKHAND,90,74,40,42 ;mode,x,y,w,h
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,70,74,60,42 ;mode,x,y,w,h
|
||
|
||
.word ANI_SHAKER,22
|
||
WL 3,D3ES3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_CODE,#set_opp_y
|
||
|
||
;Stay in this buzz sequence longer if player keeps whacking on his punch button!
|
||
|
||
; WL ANI_SLAVEANIM,#drift_tbl
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
;
|
||
; .word ANI_DETACH
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hitx
|
||
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 10,D3ES3A+FR6
|
||
#no_hitx
|
||
WL 15,D3ES3A+FR6
|
||
|
||
#no_hit2
|
||
WL 8,D3ES3A+FR6
|
||
WL 3,D3ES3A+FR5
|
||
WL 3,D3ES3A+FR4
|
||
WL 3,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR2
|
||
WL 3,D3ES3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#set_opp_y
|
||
move *a13(WHOIHIT),a0,L
|
||
movi [4,0],a14
|
||
move a14,*a0(OBJ_YVEL),L
|
||
rets
|
||
|
||
SUBR dnk_4_combo_earslap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;2 times
|
||
|
||
; .word ANI_STARTATTACK,AT_EARSLAP1,17
|
||
|
||
WL 3,D3ES3A+FR1
|
||
|
||
LEAPATOPP 0dh,999,50h,80,90000h,TGT_HEAD,106,105,-30
|
||
|
||
WL 3,D3ES3A+FR2
|
||
|
||
WL 5,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR4
|
||
WL 3,D3ES3A+FR5
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_EARSLAP,70,74,60,42 ;mode,x,y,w,h
|
||
.word ANI_SOUND,43h
|
||
.word ANI_SHAKER,22
|
||
WL 12,D3ES3A+FR6
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothimc
|
||
WL 12,D3ES3A+FR6
|
||
WL ANI_GOTO,#no_hit2c
|
||
|
||
#gothimc
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_DAMAGEOPP,D_EARSLAP2 ;First one (+ table)
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
#dnk_quick_combo_earslap
|
||
; .word ANI_STARTATTACK,AT_EARSLAP1,10
|
||
WL 1,D3ES3A+FR5
|
||
WL 2,D3ES3A+FR4
|
||
WL 1,D3ES3A+FR3
|
||
WL 2,D3ES3A+FR2
|
||
WL 1,D3ES3A+FR3
|
||
WL 2,D3ES3A+FR4
|
||
WL 1,D3ES3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_EARSLAP,70,74,60,42 ;mode,x,y,w,h
|
||
.word ANI_SHAKER,22
|
||
WL 3,D3ES3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#no_hit2c
|
||
.WORD ANI_INC_COMBO
|
||
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_combo_earslap
|
||
|
||
WL 3,D3ES3A+FR6
|
||
WL 3,D3ES3A+FR5
|
||
WL 3,D3ES3A+FR4
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
|
||
WL ANI_CHANGEANIM,dnk_4_buzz2_anim
|
||
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NEXT_CHEK2
|
||
|
||
WL 3,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR2
|
||
WL 3,D3ES3A+FR1
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
|
||
WL ANI_CHANGEANIM,dnk_flying_kick_anim
|
||
|
||
#NEXT_CHEK2
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#missed
|
||
|
||
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
|
||
|
||
WL 3,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR2
|
||
WL 3,D3ES3A+FR1
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL ANI_CHANGEANIM,dnk_3_head_slam_anim
|
||
|
||
#missed
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#no_hit2c
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 8,D3ES3A+FR6
|
||
WL 3,D3ES3A+FR5
|
||
WL 3,D3ES3A+FR4
|
||
WL 3,D3ES3A+FR3
|
||
WL 3,D3ES3A+FR2
|
||
WL 3,D3ES3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;#puppet_tbl
|
||
; .long #Bret
|
||
; .long #Razor
|
||
; .long #Taker
|
||
; .long #Yokozuna
|
||
; .long #Shawn
|
||
; .long #BamBam
|
||
; .long #Doink
|
||
; .long #Adam
|
||
; .long #Lex
|
||
;
|
||
;#Bret
|
||
; .ref H4AH3A
|
||
; LWWW H4AH3A+FR3,80,28,0
|
||
;#Razor
|
||
; .ref R4AH4C
|
||
; LWWW R4AH4C+FR5,75,30,0
|
||
;#Taker
|
||
; .ref U4AH3A
|
||
; LWWW U4AH3A+FR4,75,30,0
|
||
;#Yokozuna
|
||
; .ref Y4AH4A
|
||
; LWWW Y4AH4A+FR3,95,5,0
|
||
;#Shawn
|
||
; .ref S4AH3D
|
||
; LWWW S4AH3D+FR3,75,24,0
|
||
;#BamBam
|
||
; .ref B4AH4A
|
||
; LWWW B4AH4A+FR3,75,15,0
|
||
;#Doink
|
||
; .ref D3AH3B
|
||
; LWWW D3AH3B+FR2,75,30,0
|
||
;#Adam
|
||
; .long 0
|
||
;#Lex
|
||
; .ref L4AH4B
|
||
; LWWW L4AH4B+FR5,75,23,0
|
||
;
|
||
;#drift_tbl
|
||
; .ref hrt_4_head_hit3_anim,rzr_4_head_hit3_anim
|
||
; .ref und_4_head_hit2_anim,yok_4_head_hit4_anim
|
||
; .ref shn_4_head_hit3_anim,bam_4_head_hit2_anim
|
||
; .ref dnk_4_head_hit3_anim,lex_4_head_hit3_anim
|
||
;
|
||
; .long hrt_4_head_hit3_anim
|
||
; .long rzr_4_head_hit3_anim
|
||
; .long und_4_head_hit2_anim
|
||
; .long yok_4_head_hit4_anim
|
||
; .long shn_4_head_hit3_anim
|
||
; .long bam_4_head_hit2_anim
|
||
; .long dnk_4_head_hit3_anim
|
||
; .long 0
|
||
; .long lex_4_head_hit3_anim
|
||
|
||
|
||
#*******************************
|
||
* Smoke trail (Process)
|
||
* A10=*wrestler proc
|
||
|
||
SUBR body_smoke
|
||
|
||
clr a11
|
||
#lp CREATE0 smokepuff
|
||
SLEEPK 1
|
||
inc a11
|
||
cmpi 17,a11
|
||
jrlt #lp
|
||
|
||
DIE
|
||
|
||
|
||
#*******************************
|
||
* Smoke trail puff (Process)
|
||
* A10=*wrestler proc
|
||
|
||
SUBRP smokepuff
|
||
|
||
move *a10(OBJ_ZPOSINT),a3
|
||
movk 3,a0
|
||
calla RNDRNG0
|
||
subk 2,a0
|
||
add a0,a3 ;-2 to 1
|
||
addk 16,a3
|
||
ori 1000h,a3
|
||
|
||
movk 3,a0
|
||
calla RNDRNG0
|
||
sll 5,a0 ;*32
|
||
addi smoke_t,a0
|
||
move *a0,a9,L
|
||
|
||
movi [1,8000h],a6
|
||
movi [-2,0],a7
|
||
|
||
move a11,a14
|
||
sll 4,a14
|
||
addi #x_tbl,a14
|
||
move *a14,a1
|
||
|
||
move *a10(OBJ_XPOSINT),a0
|
||
|
||
move *a10(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #no_flip
|
||
neg a6
|
||
neg a1
|
||
#no_flip
|
||
add a1,a0
|
||
sll 16,a0 ;X
|
||
|
||
move a11,a14
|
||
sll 4,a14
|
||
addi #y_tbl,a14
|
||
move *a14,a14
|
||
|
||
movi Y_SCALE_MULTIPLIER,a2
|
||
move *a10(OBJ_ZPOSINT),a1
|
||
mpyu a2,a1
|
||
move *a10(OBJ_YPOSINT),a2
|
||
sub a14,a2
|
||
addi 0h,a2
|
||
sll 16,a2
|
||
sub a2,a1
|
||
|
||
movi CLDB1ORNG,a2
|
||
movi DMAWNZ|M_3D|M_NOCOLL,a4
|
||
movi CLSDEAD,a5
|
||
|
||
calla BEGINOBJ
|
||
|
||
SLEEPK 3
|
||
|
||
jauc FRQDELDIE
|
||
|
||
#x_tbl .word -14,-3,10,25,30,31,30,39,26,-3,17,32,53,54,41,32,45
|
||
#y_tbl .word -14,-33,-51,-59,-39,-20,-2,-67,-75,-76,-84,-77,-57,-81
|
||
.word -86,-98,-108
|
||
|
||
.def smoke_t
|
||
smoke_t
|
||
.long cldbw_l,cldblg_l,cldbgry_l,cldblg2_l
|
||
|
||
cldbw_l
|
||
LW CLDB2,3
|
||
LWL CLDB3,NEWPALET|3,ORNGPAL
|
||
LW CLDB4,2
|
||
LWL CLD5,NEWPALET|2,WHTPAL
|
||
LW CLD6,2
|
||
LW CLD7,2
|
||
LW CLD8,2
|
||
LW CLD9,2
|
||
LWL0 CLD10,2
|
||
cldblg_l
|
||
LW CLDB2,2
|
||
LWL CLDB3,NEWPALET|3,ORNGPAL
|
||
LW CLDB4,2
|
||
LWL CLD5,NEWPALET|2,LGRYPAL
|
||
LW CLD6,2
|
||
LW CLD7,2
|
||
LW CLD8,2
|
||
LW CLD9,2
|
||
LWL0 CLD10,2
|
||
cldbgry_l
|
||
LW CLDB2,3
|
||
LWL CLDB3,NEWPALET|2,ORNGPAL
|
||
LW CLDB4,2
|
||
LWL CLD5,NEWPALET|2,GREYPAL
|
||
LW CLD6,2
|
||
LW CLD7,2
|
||
LW CLD8,2
|
||
LW CLD9,2
|
||
LWL0 CLD10,2
|
||
cldblg2_l
|
||
LW CLDB2,2
|
||
LWL CLDB3,NEWPALET|2,ORNGPAL
|
||
LWL CLDB4,NEWPALET|2,LGRYPAL
|
||
LW CLD5,2
|
||
LW CLD6,2
|
||
LW CLD7,2
|
||
LW CLD8,2
|
||
LW CLD9,2
|
||
LWL0 CLD10,2
|
||
|
||
#*******************************
|
||
* Start sparks in AMODE
|
||
* A10=*wrestler proc
|
||
|
||
SUBRP hand_sparks
|
||
|
||
movi 11,a11 ;13
|
||
#lp CREATE0 one_spark
|
||
CREATE0 one_spark
|
||
SLEEPK 3
|
||
dsj a11,#lp
|
||
DIE
|
||
|
||
GRAV equ 04000h ;9000h ;a000h ;6000h
|
||
|
||
#********************************
|
||
* Spark from hand buzzer (Process)
|
||
* A10=*wrestler proc
|
||
|
||
SUBR one_spark
|
||
|
||
movk >a,a0
|
||
calla RNDRNG0
|
||
subk 5,a0
|
||
sll 14,a0 ;XVel
|
||
move a0,a6
|
||
|
||
movk >3,a0
|
||
calla RNDRNG0
|
||
addk 1,a0
|
||
sll 16,a0 ;YVel
|
||
neg a0
|
||
move a0,a7
|
||
|
||
move *a10(OBJ_ZPOSINT),a3
|
||
movk 3,a0
|
||
calla RNDRNG0
|
||
subk 2,a0
|
||
add a0,a3 ;-2 to 1
|
||
addk 16,a3
|
||
ori 1000h,a3
|
||
|
||
movi 40h,a1
|
||
move *a10(OBJ_XPOSINT),a0
|
||
move *a10(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #no_flip
|
||
neg a1
|
||
#no_flip
|
||
add a1,a0
|
||
sll 16,a0
|
||
|
||
movi Y_SCALE_MULTIPLIER,a14
|
||
move *a10(OBJ_ZPOSINT),a1
|
||
mpyu a14,a1
|
||
move *a10(OBJ_YPOSINT),a14
|
||
addi 52h,a14
|
||
sll 16,a14
|
||
sub a14,a1
|
||
|
||
movi SPARK1,a2
|
||
movi DMAWNZ|M_3D|M_NOCOLL,a4
|
||
movi CLSDEAD,a5
|
||
calla BEGINOBJ
|
||
|
||
movk >f,a0
|
||
calla RNDRNG0
|
||
subk 7,a0
|
||
sll 14,a0
|
||
move a0,*a8(OZVEL),L
|
||
|
||
movi spark_l,a9
|
||
|
||
movk 3,a11
|
||
jruc #strt
|
||
|
||
#lp dsj a10,#noani
|
||
#strt
|
||
move a11,a10
|
||
move *a9,a0,L
|
||
jrz #die ;noani
|
||
addk 32,a9
|
||
|
||
move *a8(OCTRL),a1
|
||
calla obj_aniq
|
||
#noani
|
||
SLEEPK 3
|
||
move *a8(OYVEL),a2,L
|
||
addi GRAV*2,a2
|
||
move a2,*a8(OYVEL),L
|
||
jruc #lp ;Going up?
|
||
|
||
#die
|
||
clr a0
|
||
move a0,*a8(OXVEL),L
|
||
move a0,*a8(OYVEL),L
|
||
move a0,*a8(OZVEL),L
|
||
|
||
jauc DELOBJDIE
|
||
|
||
|
||
spark_l
|
||
.long SPARK2
|
||
.long SPARK2
|
||
.long SPARK2
|
||
.long SPARK2
|
||
.long SPARK2
|
||
.long SPARK3
|
||
.long SPARK3
|
||
.long SPARK3
|
||
|
||
.long 0
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* ROLL OVER AND BREAK YER STINKIN' NECK
|
||
|
||
SUBR dnk_break_neck2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
|
||
;Maybe put this z float in other neck2_anim seqs.
|
||
;FIX!
|
||
.ref ckzpos
|
||
WL ANI_CODE,ckzpos
|
||
|
||
* .word ANI_GETUP,300
|
||
WLW ANI_SET_XVEL,-20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,60000h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
WL 15,D3FD3E+FR4
|
||
WL 3,D3FD3E+FR5
|
||
WL 3,D3FD3E+FR6
|
||
WL 3,D3FD3E+FR7
|
||
WL 3,D3FD3E+FR8
|
||
.word ANI_WAITHITGND
|
||
WL 4,D3FD3E+FR9
|
||
|
||
;hit. stay.
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
;Fix!!!???
|
||
;Based on flip, this offset is fucked up!
|
||
.word ANI_OFFSET,-20,-3,0
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
|
||
WL 20,D3RC3A+FR9
|
||
.word ANI_WAITROLL
|
||
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
SUBR dnk_break_neck3_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
|
||
WLW ANI_SET_XVEL,-20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,58000h
|
||
WLW ANI_SET_ZVEL,18000h,AM_ABS
|
||
|
||
.ref ckzpos
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WL 15,D4POGO+FR4
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
WL 3,D3FD3E+FR6
|
||
WL 3,D3FD3E+FR7
|
||
WL 3,D3FD3E+FR8
|
||
.word ANI_WAITHITGND
|
||
WL 4,D3FD3E+FR9
|
||
|
||
;hit. stay.
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
;Fix!!!???
|
||
;Based on flip, this offset is fucked up!
|
||
.word ANI_OFFSET,-20,-3,0
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
|
||
; .word ANI_GETUP,150
|
||
WL 10,D3RC3A+FR9
|
||
.word ANI_WAITROLL
|
||
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
SUBR dnk_break_neck_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
|
||
WWWL ANI_IFROPE,RC_FRONT,100,#fall_back
|
||
|
||
;plenty o' room. roll over
|
||
WL 4,D3FD3E+FR4
|
||
.word ANI_OFFSET,7,0,0
|
||
WL 4,D3FD3E+FR5
|
||
.word ANI_OFFSET,5,0,0
|
||
WL 4,D3FD3E+FR6
|
||
.word ANI_OFFSET,2,0,0
|
||
WL 4,D3FD3E+FR7
|
||
.word ANI_OFFSET,3,0,0
|
||
WL 4,D3FD3E+FR8
|
||
.word ANI_OFFSET,22,0,0
|
||
; WL 4,D3FD3E+FR9
|
||
.word ANI_OFFSET,25,0,0
|
||
|
||
;impact
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 10,D3GS3X+FR8 ;Face down
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
#fall_back
|
||
;too close to the ropes. fall back
|
||
WL 7,D3FD3E+FR3
|
||
.word ANI_OFFSET,-12,0,0
|
||
WL 4,D3FD3E+FR2
|
||
.word ANI_OFFSET,-25,0,0
|
||
WL 4,D3UC3A+FR9
|
||
.word ANI_OFFSET,-1,0,0
|
||
WL 4,D3UC3A+FR10
|
||
WL 4,D3UC3A+FR11
|
||
.word ANI_OFFSET,-3,0,0
|
||
|
||
.word ANI_XFLIP
|
||
WL 4,D3SA3A+FR9
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
|
||
#******************************************************************************
|
||
|
||
SUBR dnk_2_hair_pickup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,8
|
||
|
||
WL 2,D1TT5Z+FR2 ;2.5
|
||
WL 2,D1TT5Z+FR3 ;3.5
|
||
|
||
SUBR dnk_4_hair_pickup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,8
|
||
WL 4,D3PP3A+FR1
|
||
|
||
LEAPATOPP 8,999,80,80,40000h,TGT_HEAD,46,6,-2
|
||
WL 4,D3PP3A+FR2
|
||
WL 4,D3PP3A+FR3
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
;FIX!! on other guys!
|
||
;PUPPET2 MODE!
|
||
;If no getup time for other guy, do a miss!
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET2,21,1,43,23 ;mode,x,y,w,h
|
||
WL 5,D3PP3A+FR3
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
;got him
|
||
.word ANI_ATTACHZ,0,0,-4 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
.word ANI_SOUND,33h ;neck break (5-7 ticks late)
|
||
WL ANI_CODE,CALL_SETUP
|
||
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3A+FR5,#puppet_tbl,0
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3A+FR6,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3A+FR7,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3A+FR8,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,4,D3PP3A+FR9,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,5,D4GH3A+FR8,#puppet_tbl,5
|
||
|
||
.word ANI_SETPLYRMODE,MODE_HEADHOLD
|
||
WL ANI_SLAVEANIM,#headheld_tbl
|
||
|
||
.word ANI_SETWORD,USR_VAR2,0
|
||
|
||
WL 3,D4GH3A+FR8
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 35,D3PP3A+FR3
|
||
WL 4,D3PP3A+FR2
|
||
WL 4,D3PP3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR ck_getup
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
move *a13(WHOIHIT),a0,L
|
||
|
||
move *a0(GETUP_TIME),a0
|
||
jrz #misshim
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
#misshim
|
||
rets
|
||
|
||
#headheld_tbl
|
||
.long hrt_3_head_held_anim
|
||
.long rzr_3_head_held_anim
|
||
.long und_3_head_held_anim
|
||
.long yok_3_head_held_anim
|
||
.long shn_3_head_held_anim
|
||
.long bam_3_head_held_anim
|
||
.long dnk_3_head_held_anim
|
||
.long 0
|
||
.long lex_3_head_held_anim
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#Bret
|
||
.ref H3GU4A,H3DU3A
|
||
LWWW H3GU4A+FR1,38,-35,0
|
||
LWWW H3GU4A+FR3,53,-39,0
|
||
LWWW H3DU3A+FR3,54,-34,1
|
||
LWWW H3DU3A+FR4,58,-24,1
|
||
LWWW H3DU3A+FR5,52,-28,1
|
||
LWWW H3BF3A+FR1,51,-37,0
|
||
.long 0
|
||
#Razor
|
||
.ref R3GU4A,R3DU3B
|
||
LWWW R3GU4A+FR2,49,-33,1
|
||
LWWW R3GU4A+FR3,50,-31,0
|
||
LWWW R3GU4A+FR5,56,-39,0
|
||
LWWW R3DU3B+FR2,57,-34,1
|
||
LWWW R3DU3B+FR4,63,-25,1
|
||
LWWW R3BF3A+FR4,52,-36,0
|
||
.long 0
|
||
#Taker
|
||
.ref U3DU3B
|
||
LWWW U3DU3B+FR2,45,-29,1
|
||
LWWW U3DU3B+FR5,40,-33,1
|
||
LWWW U3DU3B+FR6,46,-37,1
|
||
LWWW U3DU3B+FR8,57,-32,1
|
||
LWWW U3DU3B+FR10,61,-25,1
|
||
LWWW U4BF3Z+FR5,56,-16,0
|
||
.long 0
|
||
#Yokozuna
|
||
.ref Y3GU2A
|
||
LWWW Y3GU2A+FR1,38,-22,0
|
||
LWWW Y3GU2A+FR3,54,-22,0
|
||
LWWW Y3GU2A+FR6,29,-37,0
|
||
LWWW Y3GU2A+FR9,48,-32,0
|
||
LWWW Y3GU2A+FR12,65,-22,0
|
||
LWWW Y3BF3A+FR1,58,-25,0
|
||
.long 0
|
||
#Shawn
|
||
.ref S3GU4A,S3DU3A
|
||
LWWW S3GU4A+FR1,43,-33,1
|
||
LWWW S3GU4A+FR2,49,-31,0
|
||
LWWW S3GU4A+FR4,58,-39,0
|
||
LWWW S3GU4A+FR5,58,-38,0
|
||
LWWW S3DU3A+FR2,65,-36,1
|
||
LWWW S3BF3A+FR1,43,-36,0
|
||
.long 0
|
||
#BamBam
|
||
.ref B3GU4A,B3DU3A
|
||
LWWW B3GU4A+FR3,46,-20,0
|
||
LWWW B3GU4A+FR4,50,-28,0
|
||
LWWW B3GU4A+FR6,46,-29,0
|
||
LWWW B3GU4A+FR7,46,-35,0
|
||
LWWW B3DU3A+FR2,58,-22,1
|
||
LWWW B3BF3C+FR5,57,-28,0
|
||
.long 0
|
||
#Doink
|
||
LWWW D3DU3A+FR2,39,-26,1
|
||
LWWW D3DU3A+FR3,49,-28,1
|
||
LWWW D3DU3A+FR5,48,-27,1
|
||
LWWW D3DU3A+FR8,55,-36,1
|
||
LWWW D3HT3Z+FR1,56,-28,1
|
||
LWWW D3BF3A+FR2,44,-35,0
|
||
.long 0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L3DU3A,L3BF3B
|
||
LWWW L3DU3A+FR2,43,-34,1
|
||
LWWW L3DU3A+FR4,31,-26,1
|
||
LWWW L3DU3A+FR6,35,-36,1
|
||
LWWW L3DU3A+FR7,40,-28,1
|
||
LWWW L3DU3A+FR9,53,-31,1
|
||
LWWW L3BF3B+FR2,54,-38,0
|
||
.long 0
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* THROWN FROM RING (shn_bslm, shn_frnk)
|
||
|
||
SUBR dnk_flyout_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_CODE,CALL_THROWN_OUT
|
||
|
||
WL 8,D3OS3A+FR4
|
||
WL 8,D3OS3A+FR5
|
||
WL 8,D3OS3A+FR6
|
||
.word ANI_OFFSET,0,45,0
|
||
WL 1,D3FD3E+FR2
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,60
|
||
|
||
.word ANI_DAMAGE,D_HIPTOSS
|
||
.word ANI_SETWORD,DELAY_METER,0
|
||
.word ANI_GETUP,500
|
||
|
||
WL ANI_CHANGEANIM,dnk_hitonground_xflip_anim
|
||
|
||
#******************************************************************************
|
||
|
||
SUBR dnk_4_taunt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 4,D4CO4A+FR1
|
||
WL 4,D4CO4A+FR2
|
||
WL 4,D4CO4A+FR3
|
||
WL 4,D4CO4A+FR4
|
||
WL 4,D4CO4A+FR5
|
||
WL 4,D4CO4A+FR6
|
||
|
||
WL 4,D4CO4A+FR5
|
||
WL 4,D4CO4A+FR4
|
||
WL 4,D4CO4A+FR3
|
||
WL 4,D4CO4A+FR4
|
||
WL 4,D4CO4A+FR5
|
||
WL 4,D4CO4A+FR6
|
||
|
||
WL 4,D4CO4A+FR5
|
||
WL 4,D4CO4A+FR4
|
||
WL 4,D4CO4A+FR3
|
||
WL 4,D4CO4A+FR2
|
||
WL 4,D4CO4A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.ref dnk_stand4_anim
|
||
WL ANI_CHANGEANIM,dnk_stand4_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* END OF BACK BROKEN SEQ.
|
||
|
||
SUBR dnk_backbroken_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_DETACH
|
||
|
||
.word ANI_GRAVITY_OFF
|
||
WL 5,D3BK3Z+FR7
|
||
.word ANI_GRAVITY_ON
|
||
|
||
WL ANI_SET_YVEL,070000h
|
||
WLW ANI_SET_ZVEL,20000h,AM_ABS
|
||
|
||
WL 25,D3BK3Z+FR7
|
||
|
||
WL 4,D3BK3Z+FR6
|
||
; WL 4,D3UC3A+FR5
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_BOUNCE,2
|
||
.word ANI_XFLIP
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.word ANI_DEBRIS,200,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 2,D3SA3A+FR2
|
||
WL 3,D3SA3A+FR3
|
||
WL 6,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
|
||
WL 3,D3SA3A+FR7
|
||
WL 2,D3SA3A+FR8
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
;No stars around head here...
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL 5,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|