5221 lines
108 KiB
NASM
5221 lines
108 KiB
NASM
*************************
|
||
*
|
||
* WE NEED TO INSERT THIS AT THE BEGINNING
|
||
*
|
||
* OF EACH 'ATTACK' SEQUENCE
|
||
*
|
||
* EQUATES ARE DEFINED IN DAMAGE.EQU
|
||
*
|
||
*
|
||
* .word ANI_STARTATTACK,AT_PUNCH,8 ;type, #ticks 'til attack on
|
||
*
|
||
*
|
||
*
|
||
*************************
|
||
|
||
|
||
|
||
**************************************************************
|
||
*
|
||
* Software: Jamie Rivett
|
||
* Initiated: 10/12/93
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
**************************************************************
|
||
|
||
.file "dnkseq2.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 "miscimg.glo"
|
||
.include "damage.equ"
|
||
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
|
||
.REF DO_CROWD_CHEER
|
||
|
||
.REF DO_SNAP_MESS
|
||
|
||
.def SET_DIR_FACE
|
||
|
||
.REF HIT_THE_MAT,SMALL_BOUNCE
|
||
.REF CALL_MISSES,CALL_SETUP,CALL_SPECIAL_MOVE
|
||
.ref wres_get_but_val_cur
|
||
.ref am_I_dizzy
|
||
.ref am_I_dead
|
||
.ref start_run_anim
|
||
|
||
.ref wres_get_stick_val_cur
|
||
.ref set_target_offsets
|
||
.ref get_opp_process
|
||
.ref get_leap
|
||
.ref shake_all_ropes
|
||
|
||
.ref rope_command
|
||
.ref react_debris
|
||
|
||
.ref get_but_val_cur
|
||
.ref RNDPER
|
||
.ref clear_damage_log
|
||
.ref check_dizzy
|
||
.ref tally_damage
|
||
.ref calc_line_x
|
||
.ref choose_2or4
|
||
.ref tgt_ground,process_ptrs
|
||
|
||
.ref hrt_hitonground_anim
|
||
.ref rzr_hitonground_anim
|
||
.ref und_hitonground_anim
|
||
.ref yok_hitonground_anim
|
||
.ref shn_hitonground_anim
|
||
.ref bam_hitonground_anim
|
||
.ref lex_hitonground_anim
|
||
|
||
.REF dnk_4_combo_earslap_anim
|
||
.ref DO_COMBO_MESS
|
||
|
||
|
||
******************************************************************************
|
||
* SYMBOLS DEFINED IN THIS FILE
|
||
|
||
******************************************************************************
|
||
* EQUATES FOR THIS FILE
|
||
|
||
TSEC equ 53
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* NORMAL #2 PUNCH
|
||
|
||
SUBR dnk_2_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D2PU3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,5 ;type, #ticks 'til attack on
|
||
|
||
WL 2,D2PU3A+FR2
|
||
WL 2,D2PU3A+FR3
|
||
WL 1,D2PU3A+FR4
|
||
|
||
.ref doink_pie
|
||
; WLWWWW ANI_SNOT,doink_pie,0,0,0,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,22,86,55,9 ;mode,x,y,w,h
|
||
WL 1,D2PU3A+FR4
|
||
WL 2,D2PU3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-30000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D2PU3A+FR5
|
||
#no_hit
|
||
WL 1,D2PU3A+FR5
|
||
WL 3,D2PU3A+FR6
|
||
WL 4,D2PU3A+FR7
|
||
WL 4,D2PU3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* NORMAL #4 PUNCH
|
||
|
||
SUBR dnk_4_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D4PU3C+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,5 ;type, #ticks 'til attack on
|
||
|
||
WL 2,D4PU3C+FR2
|
||
WL 2,D4PU3C+FR3
|
||
WL 1,D4PU3C+FR4
|
||
|
||
; WLWWWW ANI_SNOT,doink_pie,0,0,0,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,22,86,55,9 ;mode,x,y,w,h
|
||
WL 1,D4PU3C+FR4
|
||
WL 2,D4PU3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-30000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D4PU3C+FR5
|
||
|
||
#no_hit2
|
||
WL 1,D4PU3C+FR5
|
||
WL 3,D4PU3C+FR6
|
||
WL 4,D4PU3C+FR7
|
||
WL 4,D4PU3C+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BOXING GLOVE #2 PUNCH
|
||
|
||
SUBR dnk_2_box_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_BOXPUNCH,15
|
||
WL 3,D2RG3B+FR6
|
||
WL 3,D2RG3B+FR7
|
||
WL 3,D2RG3B+FR8
|
||
WL 3,D2RG3B+FR9
|
||
WL 3,D2RG3B+FR10
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BOXPUNCH,37,84,66,15 ;mode,x,y,w,h
|
||
WL 4,D2RG3B+FR11
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-40000h,#no_hit ;range,vel,addr
|
||
#no_hit
|
||
WL 10,D2RG3B+FR11
|
||
|
||
WL 2,D2PU3A+FR6
|
||
WL 3,D2PU3A+FR7
|
||
WL 2,D2PU3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WL 15,D2RG3B+FR11
|
||
|
||
#missed
|
||
WL 5,D2RG3B+FR11
|
||
|
||
WL 2,D2PU3A+FR6
|
||
WL 3,D2PU3A+FR7
|
||
WL 2,D2PU3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#* BOXING GLOVE #4 PUNCH
|
||
|
||
SUBR dnk_4_box_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_BOXPUNCH,15
|
||
WL 3,D4RG3A+FR6
|
||
WL 3,D4RG3A+FR7
|
||
WL 3,D4RG3A+FR9
|
||
WL 3,D4RG3A+FR10
|
||
WL 3,D4RG3A+FR11
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BOXPUNCH,37,84,66,15 ;mode,x,y,w,h
|
||
WL 4,D4RG3A+FR12
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-40000h,#no_hit2 ;range,vel,addr
|
||
#no_hit2
|
||
WL 10,D4RG3A+FR12
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WL 15,D4RG3A+FR12
|
||
#missed
|
||
WL 5,D4RG3A+FR12
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 HEADBUTT
|
||
|
||
SUBR dnk_2_butt_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL 2,D2BC3A+FR1
|
||
WL 1,D2BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_HDBUTT,3
|
||
WL 1,D2BC3A+FR2
|
||
WL 2,D2BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 3,D2BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-48000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D2BC3A+FR5
|
||
#no_hit
|
||
WL 4,D2BC3A+FR5
|
||
WL 4,D2BC3A+FR6
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 HEADBUTT
|
||
|
||
SUBR dnk_4_butt_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL 2,D4BC3A+FR1
|
||
WL 1,D4BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_HDBUTT,3
|
||
WL 1,D4BC3A+FR2
|
||
WL 2,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 3,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-48000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D4BC3A+FR5
|
||
#no_hit2
|
||
WL 4,D4BC3A+FR5
|
||
WL 4,D4BC3A+FR6
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
* #4 COMBO HEADBUTT
|
||
|
||
SUBR dnk_4_combo_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,10000h
|
||
; .word ANI_STARTATTACK,AT_HDBUTT,5
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
; .word ANI_STARTATTACK,AT_HDBUTT,9
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
|
||
; .word ANI_STARTATTACK,AT_HDBUTT,9
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,31,79,27,24 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
.word ANI_DETACH
|
||
|
||
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_hiptoss_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK_3
|
||
WL ANI_CHANGEANIM,dnk_4_combo_earslap_anim
|
||
|
||
#NEXT_CHECK_3
|
||
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
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
.word ANI_DETACH
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* NORMAL #2 KICK
|
||
|
||
SUBR dnk_2_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 2,D2KM3B+FR1 ;4
|
||
WL 1,D2KM3B+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_KICK,5
|
||
WL 1,D2KM3B+FR2
|
||
WL 2,D2KM3B+FR3
|
||
|
||
WL 2,D2KM3B+FR4 ;4
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D2KM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-40000h,#no_hit
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 2,D2KM3B+FR4
|
||
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#nopause
|
||
WL 2,D2KM3B+FR4
|
||
#nopause
|
||
|
||
WL 3,D2KM3B+FR4
|
||
WL 3,D2KM3B+FR5
|
||
WL 3,D2KM3B+FR6
|
||
WL 3,D2KM3B+FR7
|
||
WL 3,D2KM3B+FR8
|
||
WL 3,D2KM3B+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* NORMAL #4 KICK
|
||
|
||
SUBR dnk_4_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 2,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_KICK,5
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-40000h,#no_hit2
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 2,D4KM3A+FR5
|
||
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#nopause2
|
||
WL 2,D4KM3A+FR5
|
||
#nopause2
|
||
|
||
WL 3,D4KM3A+FR5
|
||
WL 3,D4KM3A+FR6
|
||
WL 3,D4KM3A+FR7
|
||
WL 3,D4KM3A+FR8
|
||
WL 3,D4KM3A+FR9
|
||
WL 3,D4KM3A+FR10
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_combo_kick_anim
|
||
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETSPEED,100h
|
||
.WORD ANI_INC_COMBO
|
||
|
||
; .word ANI_STARTATTACK,AT_KICK,7
|
||
WL 2,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
WL ANI_SET_YVEL,30000h
|
||
|
||
; .word ANI_STARTATTACK,AT_KICK,13
|
||
WL 2,D4KM3A+FR5
|
||
WL 1,D4KM3A+FR6
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
WL 1,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
; .word ANI_STARTATTACK,AT_KICK,11
|
||
WL 1,D4KM3A+FR5
|
||
|
||
WL 1,D4KM3A+FR6
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
WL 1,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 1,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 1,D4KM3A+FR5
|
||
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
WL ANI_CHANGEANIM,dnk_4_combo_spin_kick_anim
|
||
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NEXT_CHECK_2
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL ANI_CHANGEANIM,dnk_4_box_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_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
|
||
WL 3,D4KM3A+FR5
|
||
WL 3,D4KM3A+FR6
|
||
WL 3,D4KM3A+FR7
|
||
WL 3,D4KM3A+FR8
|
||
WL 3,D4KM3A+FR9
|
||
WL 3,D4KM3A+FR10
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 SPIN KICK
|
||
|
||
SUBR dnk_2_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,15
|
||
WL 3,D2KB3A+FR9
|
||
WL 1,D2KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 11,999,50,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 2,D2KB3A+FR8
|
||
WL 3,D2KB3A+FR7
|
||
WL 3,D2KB3A+FR6
|
||
WL 3,D2KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,87,21,20 ;mode,x,y,w,h
|
||
|
||
WL 4,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-58000h,#no_hit
|
||
WL ANI_SET_YVEL,50000h
|
||
WL ANI_GOTO,#nopause
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#nopause
|
||
.word ANI_ZEROVELS
|
||
WL ANI_SET_YVEL,30000h
|
||
WLW ANI_SET_XVEL,30000h,AM_HIT_REL
|
||
#nopause
|
||
WL 1,D2KB3A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 4,D2KB3A+FR3
|
||
WL 4,D2KB3A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 SPIN KICK
|
||
|
||
SUBR dnk_4_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,15
|
||
WL 3,D4KB3A+FR9
|
||
WL 1,D4KB3A+FR9
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
LEAPATOPP 11,999,50,50,90000h,TGT_HEAD,81,90,30
|
||
WL 2,D4KB3A+FR8
|
||
WL 3,D4KB3A+FR7
|
||
WL 3,D4KB3A+FR6
|
||
WL 3,D4KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,82,26,13 ;mode,x,y,w,h
|
||
WL 4,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-58000h,#no_hit2
|
||
WL ANI_SET_YVEL,50000h
|
||
WL ANI_GOTO,#nopause2
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#nopause2
|
||
.word ANI_ZEROVELS
|
||
WL ANI_SET_YVEL,30000h
|
||
WLW ANI_SET_XVEL,30000h,AM_HIT_REL
|
||
#nopause2
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 4,D4KB3A+FR4
|
||
WL 4,D4KB3A+FR3
|
||
WL 4,D4KB3A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR dnk_4_combo_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETSPEED,100h
|
||
; .word ANI_STARTATTACK,AT_SPINKIK,9
|
||
WL 2,D2KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 2,D2KB3A+FR8
|
||
WL 2,D2KB3A+FR7
|
||
WL 2,D2KB3A+FR6
|
||
WL 1,D2KB3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,87,21,20 ;mode,x,y,w,h
|
||
WL 2,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin2
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,40000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
; .word ANI_STARTATTACK,AT_SPINKIK,16
|
||
WL 2,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 2,D4KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
WL 2,D4KB3A+FR9
|
||
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,81,90,30
|
||
WL 2,D4KB3A+FR8
|
||
WL 2,D4KB3A+FR7
|
||
WL 1,D4KB3A+FR6
|
||
WL 2,D4KB3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,82,26,13 ;mode,x,y,w,h
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin4
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,40000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
WL 2,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
; .word ANI_STARTATTACK,AT_SPINKIK,14
|
||
WL 2,D4KB3A+FR4
|
||
WL 1,D4KB3A+FR3
|
||
WL 2,D4KB3A+FR2
|
||
|
||
;end kick 4
|
||
|
||
WL 1,D2KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 1,D2KB3A+FR8
|
||
WL 1,D2KB3A+FR7
|
||
WL 1,D2KB3A+FR6
|
||
WL 1,D2KB3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,87,21,20 ;mode,x,y,w,h
|
||
WL 2,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin2
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
; .word ANI_STARTATTACK,AT_SPINKIK,12
|
||
WL 1,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 1,D4KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,81,90,30
|
||
WL 1,D4KB3A+FR8
|
||
WL 2,D4KB3A+FR7
|
||
WL 1,D4KB3A+FR6
|
||
WL 1,D4KB3A+FR5
|
||
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,82,26,13 ;mode,x,y,w,h
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin4
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 1,D4KB3A+FR4
|
||
WL 2,D4KB3A+FR3
|
||
WL 1,D4KB3A+FR2
|
||
|
||
;end kick 4
|
||
|
||
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_hiptoss_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK_3
|
||
WL ANI_CHANGEANIM,dnk_4_combo_earslap_anim
|
||
|
||
#NEXT_CHECK_3
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#miss_combo_spin4
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL ANI_CHANGEANIM,dnk_4_knee_fall_anim
|
||
|
||
#miss_combo_spin2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 2,D4KB3A+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#miss_combo_spin4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D4KB3A+FR4
|
||
WL 2,D4KB3A+FR3
|
||
WL 2,D4KB3A+FR2
|
||
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 KNEE
|
||
|
||
SUBR dnk_2_knee_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D2KM3D+FR1 ;D2NM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_KNEE,22
|
||
WL 1,D2KM3D+FR1 ;D2NM3A+FR3
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,46,74,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,5,41,48,36 ;mode,x,y,w,h
|
||
WL 3,D2NM3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit
|
||
WL ANI_SET_YVEL,60000h
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
WL 1,D2NM3A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#nodrft
|
||
WLW ANI_SET_ZVEL,0C000h,AM_ABS
|
||
#nodrft
|
||
WL 12h,D2NM3A+FR4
|
||
.word ANI_ZERO_XZVELS
|
||
; WL 14,D2NM3A+FR4 ;8
|
||
; WL 1,D2NM3A+FR4 ;8
|
||
#cont
|
||
WL 4,D2NM3A+FR5
|
||
WL 4,D2NM3A+FR6
|
||
WL 4,D2NM3A+FR7
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 KNEE
|
||
|
||
;For when knee knocks you on your butt
|
||
|
||
SUBR dnk_4_knee_fall_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_BIGKNEE,19
|
||
WL 4,D4NM3B+FR3
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,36,20,90000h,TGT_CHEST,46,74,0
|
||
LEAPATOPP 15,999,86,20,90000h,TGT_CHEST,26,74,0
|
||
|
||
;This knee will knock the guy down!
|
||
.word ANI_ATTACK_ON, AMODE_BIGKNEE,-5,41,70,36 ;mode,x,y,w,h
|
||
WL 3,D4NM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WLW ANI_SET_ZVEL,-20000h,AM_ABS
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit3
|
||
WL ANI_SET_YVEL,60000h
|
||
; WLW ANI_SET_ZVEL,-4000h,AM_ABS
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
#no_hit3
|
||
WL 1ah,D4NM3B+FR4
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,D4NM3B+FR4 ;8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
|
||
|
||
SUBR dnk_4_knee_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,25
|
||
WL 3,D4NM3B+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4NM3B+FR3
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 21,999,36,20,90000h,TGT_CHEST,46,74,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,5,41,40,36 ;mode,x,y,w,h
|
||
WL 3,D4NM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-50000h,#no_hit2
|
||
WL ANI_SET_YVEL,60000h
|
||
WLW ANI_SET_ZVEL,-4000h,AM_ABS
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
#no_hit2
|
||
WL 12h,D4NM3B+FR4
|
||
.word ANI_ZERO_XZVELS
|
||
WL 14,D4NM3B+FR4 ;8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
#cont2
|
||
WL 4,D4NM3B+FR5
|
||
WL 4,D4NM3B+FR6
|
||
WL 4,D4NM3B+FR7
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 FLYING KICK
|
||
|
||
#yoff1 equ 40
|
||
|
||
SUBR dnk_flying_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D3DC3C+FR1
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL ANI_CODE,get_leap
|
||
WL ANI_IFSTATUS,#no_xvel
|
||
|
||
;If opponent is on ground, just jump in place
|
||
WL ANI_CODE,#ckongrnd
|
||
WL ANI_IFNOTSTATUS,#norm
|
||
WL ANI_CHANGEANIM,dnk_belly_anim
|
||
#norm
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 19,999,150,65,90000h,TGT_HEAD,30,100,0
|
||
.word ANI_STARTATTACK,AT_LEAPING,21
|
||
|
||
WL ANI_GOTO,#cont
|
||
|
||
#no_xvel
|
||
.word ANI_ZERO_XZVELS
|
||
WL ANI_SET_YVEL,64000h
|
||
#cont
|
||
WL 3,D3DC3C+FR2
|
||
|
||
.word ANI_OFFSET,0,#yoff1,0 ;x,y,z
|
||
WL 3,D3DC3C+FR3
|
||
WL 6,D3DC3C+FR4
|
||
|
||
.word ANI_CLR_STATUS
|
||
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,53,23,27,29 ;mode,x,y,w,h
|
||
WL 3,D3DC3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL 4,D3DC3C+FR6
|
||
|
||
WL 3,D3DC3C+FR7
|
||
WL 3,D3DC3C+FR8
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,3,2
|
||
WL ANI_IFSTATUS,#got
|
||
;Missed him
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_BOUNCE,3
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 2,D3DC3C+FR9
|
||
|
||
#got
|
||
WL 2,D3DC3C+FR9
|
||
#cont2
|
||
WL 2,D3DC3C+FR9
|
||
WL 4,D3DC3C+FR9
|
||
WL 4,D3DC3C+FR10
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,5,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 6,D2GD2A+FR4
|
||
WL 6,D2GD2A+FR6
|
||
WL 4,D2GD2A+FR7
|
||
;Check for a flip here
|
||
WL 2,D2GD2A+FR9
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D2GD2A+FR9
|
||
WL 4,D2GD2A+FR10
|
||
|
||
.word ANI_SAFE_TIME,15
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#get_leap
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
;Is wrestler backing away from opponent?
|
||
|
||
move *a13(MOVE_DIR),a1
|
||
move *a13(NEW_FACING_DIR),a0 ;Current facing dir (9,10,6,5 only)
|
||
sll 5,a0
|
||
addi #mv_tbl,a0
|
||
move *a0,a0,L
|
||
btst a0,a1
|
||
jrnz #novel
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
|
||
move *a0(MOVE_DIR),a1
|
||
move *a0(NEW_FACING_DIR),a0 ;Current facing dir (9,10,6,5 only)
|
||
sll 5,a0
|
||
addi #mv_tbl,a0
|
||
move *a0,a0,L
|
||
btst a0,a1
|
||
jrnz #novel
|
||
;Will lunge toward opponent
|
||
rets
|
||
|
||
#mv_tbl .long 0,0,0,0,0,MOVE_RIGHT_BIT,MOVE_RIGHT_BIT
|
||
.long 0,0,MOVE_LEFT_BIT,MOVE_LEFT_BIT
|
||
|
||
#novel
|
||
move *a13(ANIMODE),a0
|
||
ori MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
|
||
rets
|
||
|
||
#ckongrnd
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(PLYRMODE),a0
|
||
cmpi MODE_ONGROUND,a0
|
||
jrz #inplace
|
||
rets
|
||
|
||
#inplace
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BODY HIT
|
||
|
||
SUBR dnk_4_body_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_SET_YVEL,48000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WL ANI_CODE,ckzpos
|
||
WL 4,D3AM3A+FR1
|
||
WL 4,D3AM3A+FR2
|
||
WL 6,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
WL 1,D4ST4E+FR3
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR dnk_4_body_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL ANI_SET_YVEL,48000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WL 4,D3AM3A+FR2
|
||
WL 6,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
; .word ANI_OFFSET,-9,-1,0 ;x,y,z
|
||
.word ANI_OFFSET,0,-1,0 ;x,y,z
|
||
WL 1,D4SW4C+FR1
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
.word ANI_END
|
||
|
||
|
||
|
||
;Hit by a knee!
|
||
SUBR dnk_2_knee_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_SET_YVEL,78000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,8000h,AM_ABS
|
||
|
||
WL ANI_CODE,ckzpos
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WL 4,D3AM3A+FR2
|
||
WL 14,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
WL 1,D4ST4E+FR3
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_knee_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL ANI_SET_YVEL,78000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
|
||
WL ANI_CODE,ckzpos
|
||
.word ANI_DEBRIS,400,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WL 4,D3AM3A+FR2
|
||
WL 14,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
; .word ANI_OFFSET,-9,-1,0 ;x,y,z
|
||
.word ANI_OFFSET,0,-1,0 ;x,y,z
|
||
WL 1,D4SW4C+FR1
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
.word ANI_END
|
||
|
||
;Being held by head, hit by a quick knee!
|
||
SUBR dnk_quick_knee_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_OFFSET,0,0,2 ;x,y,z
|
||
WL 4,D3HP3A+FR1
|
||
WL 4,D3HP3A+FR2
|
||
WL 4,D3HP3A+FR3
|
||
WL 4,D3HP3A+FR4
|
||
WL 4,D3HP3A+FR5
|
||
.word ANI_WAITHITGND
|
||
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
WL ANI_CHANGEANIM,dnk_fall_back_anim
|
||
.word ANI_END
|
||
|
||
#nodead
|
||
|
||
|
||
|
||
.ref dnk_3_head_held_anim
|
||
|
||
WL ANI_CHANGEANIM,dnk_3_head_held_anim
|
||
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* FALL BACK
|
||
|
||
SUBR dnk_fall_back_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_SET_YVEL,70000h
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WWL ANI_SETLONG,DEBRIS_X,[96,-09] ;Y,X of head
|
||
WL 3,D3UC3A+FR1
|
||
WWL ANI_SETLONG,DEBRIS_X,[95,-32] ;Y,X of head
|
||
WL 3,D3UC3A+FR2
|
||
WWL ANI_SETLONG,DEBRIS_X,[91,-41] ;Y,X of head
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WWL ANI_SETLONG,DEBRIS_X,[36,-45] ;Y,X of head
|
||
WL 3,D3UC3A+FR4
|
||
WWL ANI_SETLONG,DEBRIS_X,[29,-48] ;Y,X of head
|
||
WL 2,D3UC3A+FR5
|
||
WWL ANI_SETLONG,DEBRIS_X,[19,-48] ;Y,X of head
|
||
WL 2,D3UC3A+FR6
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_DEBRIS,100,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_FRICTION,3000h
|
||
WWL ANI_SETLONG,DEBRIS_X,[05,-47] ;Y,X of head
|
||
WL 2,D3UC3A+FR8
|
||
.word ANI_BOUNCE,5
|
||
WL 1,D3UC3A+FR8
|
||
WWL ANI_SETLONG,DEBRIS_X,[09,-41] ;Y,X of head
|
||
WL 5,D3UC3A+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WWL ANI_SETLONG,DEBRIS_X,[07,-48] ;Y,X of head
|
||
WL 3,D3UC3A+FR10
|
||
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
|
||
WL 3,D3UC3A+FR11
|
||
|
||
.word ANI_XFLIP
|
||
WL 1,D3SA3A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
|
||
;Stay on ground for awhile... Maybe this will be table driven
|
||
WL 6,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
SUBR ckzpos
|
||
|
||
;If falling near the front or rear ropes, slide toward middle
|
||
;of the ring to allow opponent to walk around him.
|
||
move *a13(OBJ_ZPOSINT),a0
|
||
cmpi 510h,a0
|
||
jrgt #slideup
|
||
cmpi 442h,a0
|
||
jrgt #ok
|
||
|
||
;slide down scrn
|
||
movi 24000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
#slideup
|
||
movi -24000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
#ok
|
||
rets
|
||
|
||
#* FALL BACK
|
||
|
||
SUBR dnk_fall_back2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_SET_YVEL,20000h
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WL 3,D3UC3A+FR1
|
||
WL 3,D3UC3A+FR2
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL 3,D3UC3A+FR4
|
||
WL 2,D3UC3A+FR5
|
||
WL 2,D3UC3A+FR6
|
||
; WL 2,D3UC3A+FR7
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_DEBRIS,200,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_ZEROVELS
|
||
WLW ANI_SET_ZVEL,18000h,AM_ABS
|
||
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
|
||
|
||
.word ANI_OFFSET,-25,0,0 ;x,y,z
|
||
WL 3,D3FD3E+FR2
|
||
WL 3,D3FD3E+FR3
|
||
WL 3,D3FD3E+FR4
|
||
WL 3,D3FD3E+FR5
|
||
WL 3,D3FD3E+FR6
|
||
WL 3,D3FD3E+FR7
|
||
WL 3,D3FD3E+FR8
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.word ANI_OFFSET,-22,0,0 ;x,y,z
|
||
|
||
WL 4,D3GS3X+FR8
|
||
WL 4,D3GS3X+FR9
|
||
WL 4,D3GS3X+FR10
|
||
;Stay on ground for awhile... Maybe this will be table driven
|
||
WL 20,D3GS3X+FR8 ;Face down
|
||
; WL 3,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* FALL FROM TURNBUCKLE
|
||
|
||
SUBR dnk_fall_back_tbukl_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D3UC3A+FR1
|
||
WL 3,D3UC3A+FR2
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL 3,D3UC3A+FR4
|
||
WL 2,D3UC3A+FR5
|
||
WL 2,D3UC3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_DAMAGE,D_HITCONCRETE
|
||
|
||
.word ANI_DEBRIS,300,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
; .word ANI_FRICTION,3000h
|
||
WL 2,D3UC3A+FR8
|
||
; .word ANI_BOUNCE,5
|
||
WL 1,D3UC3A+FR8
|
||
WL 5,D3UC3A+FR9
|
||
; .word ANI_WAITHITGND
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
; .word ANI_ZEROVELS
|
||
WL 3,D3UC3A+FR10
|
||
WL 3,D3UC3A+FR11
|
||
|
||
.word ANI_XFLIP
|
||
WL 1,D3SA3A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
WL 3,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
;chooses 2 or 4 right away
|
||
|
||
SUBR dnk_faceup_getup_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
WL ANI_CODE,choose_2or4
|
||
WL ANI_IFNOTSTATUS,dnk_2_faceup_getup_anim
|
||
WL ANI_CHANGEANIM,dnk_4_faceup_getup_anim
|
||
|
||
SUBR dnk_4_faceup_getup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_CLR_STARS
|
||
.word ANI_CLR_DAMAGE
|
||
|
||
WL 1,D3SA3A+FR9
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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,30
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_2_faceup_getup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_CLR_STARS
|
||
.word ANI_CLR_DAMAGE
|
||
|
||
|
||
; WL 1,D3SA3A+FR9
|
||
WL 2,D3RL1B+FR2
|
||
WL 2,D3RL1B+FR3
|
||
WL 2,D3RL1B+FR4
|
||
WL 2,D3RL1B+FR5
|
||
WL 2,D3RL1B+FR6
|
||
|
||
WL 6,D2GD2A+FR4
|
||
WL 6,D2GD2A+FR6
|
||
WL 4,D2GD2A+FR7
|
||
;Check for a flip here
|
||
WL 2,D2GD2A+FR9
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D2GD2A+FR9
|
||
WL 4,D2GD2A+FR10
|
||
|
||
.word ANI_SAFE_TIME,30
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
#*
|
||
|
||
.IF 0
|
||
|
||
;Check for push back on all face hits!
|
||
;If against ropes, do a push sequence from proper angle 2/4
|
||
|
||
trypush
|
||
|
||
rets
|
||
|
||
;We need to do something similar when wrestler is trapped up against
|
||
;the outside gates!
|
||
|
||
move *a13(INRING),a0
|
||
jrnz #nopush
|
||
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi 95,a0
|
||
jrgt #nopush
|
||
|
||
movi 3*TSEC,a0
|
||
calla tally_damage
|
||
cmpi 5,a0
|
||
jrlt #nopush
|
||
;Check to see if I'm against ropes
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft
|
||
;On right side
|
||
movi vln_right_rope,a6
|
||
calla calc_line_x
|
||
move *a13(OBJ_XPOSINT),a1
|
||
sub a1,a0
|
||
abs a0
|
||
cmpi 90,a0
|
||
jrgt #nopush
|
||
move *a13(FACING_DIR),a1
|
||
btst MOVE_LEFT,a1
|
||
jrz #nopush
|
||
jruc #push
|
||
#onlft
|
||
movi vln_left_rope,a6
|
||
calla calc_line_x
|
||
move *a13(OBJ_XPOSINT),a1
|
||
sub a1,a0
|
||
abs a0
|
||
cmpi 90,a0
|
||
jrgt #nopush
|
||
move *a13(FACING_DIR),a1
|
||
btst MOVE_RIGHT,a1
|
||
jrz #nopush
|
||
|
||
#push
|
||
;Cause wrestler to jump into proper push sequence
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
movi 800,a0
|
||
calla RNDPER
|
||
jrhi #out
|
||
calla clear_damage_log
|
||
#out
|
||
rets
|
||
|
||
.ENDIF
|
||
|
||
|
||
SUBR set_move_dir
|
||
|
||
move *a13(FACING_DIR),a1
|
||
btst MOVE_UP_BIT,a1
|
||
jrz #nopush
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
#nopush
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #4 HEAD HIT
|
||
|
||
SUBR dnk_4_head_hit_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
|
||
; WL ANI_CODE,#tryblood
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 3,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;#tryblood
|
||
; move a13,a11
|
||
; CREATE0 react_bloodnguts_gen
|
||
; .ref react_bloodnguts_gen
|
||
; rets
|
||
|
||
#* #2 HEAD HIT
|
||
|
||
SUBR dnk_2_head_hit_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 3,D2AH2A+FR1
|
||
WL 4,D2AH2A+FR2
|
||
WL 4,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #4 HEAD HIT - From spin kick & backhand slap
|
||
|
||
SUBR dnk_4_head_hit2_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,-20000h,AM_ABS
|
||
WL ANI_SET_YVEL,40000h
|
||
|
||
WL 3,D3AH3B+FR1
|
||
.word ANI_DEBRIS,400,2,-23,102,0 ;%chance, tbl index, x,y,z off
|
||
WL 3,D3AH3B+FR2
|
||
.word ANI_WAITHITGND
|
||
WL 4,D3AH3B+FR3
|
||
.word ANI_ZEROVELS
|
||
WL 4,D3AH3B+FR5
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_head_hit4_anim
|
||
;From earslap
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_SET_YVEL,50000h
|
||
|
||
WL 4,D3AH3B+FR2
|
||
WL 4,D3AH3B+FR3
|
||
WL 6,D3AH3B+FR5
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #2 HEAD HIT - From spin kick & backhand slap
|
||
|
||
SUBR dnk_2_head_hit2_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,20000h,AM_ABS
|
||
WL ANI_SET_YVEL,40000h
|
||
|
||
WL 3,D2AH2A+FR1
|
||
.word ANI_DEBRIS,300,2,-23,102,0 ;%chance, tbl index, x,y,z off
|
||
WL 4,D2AH2A+FR2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 4,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HEAD HIT2 (HANDS ON FACE)
|
||
|
||
SUBR dnk_head_hit2_anim
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
.word ANI_FRICTION,3000h
|
||
WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
WL 4,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*
|
||
|
||
SUBR dnk_head_hit3_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,28000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
.word ANI_FRICTION,3000h
|
||
; WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 18,D3AE3B+FR4
|
||
WL 2,D3AE3B+FR5
|
||
.word ANI_ZEROVELS
|
||
WL 2,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* HEAD HIT2 (ENDS IN DIZZY)
|
||
|
||
SUBR dnk_head_dead_dizzy_anim
|
||
;This is a head hit dizzy seq which causes the player to fall down after a time
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
WL 4,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
.word ANI_END
|
||
|
||
* HEAD HIT2 (ENDS IN DIZZY)
|
||
|
||
SUBR dnk_head_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WLW ANI_SET_XVEL,-60000h,AM_HIT_REL
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
WL 4,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2,4 FLYING CLOTHESLINE
|
||
|
||
SUBR dnk_fly_cline_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_OVERLAP+MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_STARTATTACK,AT_LEAPING,9
|
||
WL 3,D3RC3A+FR1
|
||
.word ANI_OFFSET,5,0,0 ;x,y,z
|
||
WL 3,D3RC3A+FR2
|
||
|
||
WL ANI_SET_YVEL,64000h
|
||
WLW ANI_SET_XVEL,60000h,AM_FACE_REL
|
||
.word ANI_OFFSET,9,45,0 ;x,y,z
|
||
WL 3,D3RC3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_CLINE,25,6,23,37 ;mode,x,y,w,h ;31
|
||
WL 3,D3RC3A+FR4
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,3,2
|
||
WL 3,D3RC3A+FR5
|
||
WL 3,D3RC3A+FR6
|
||
WL 3,D3RC3A+FR7
|
||
WL 6,D3RC3A+FR8
|
||
.word ANI_ATTACK_OFF
|
||
WL 3,D3RC3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_BOUNCE,4
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 3,D3RC3A+FR8
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
; .word ANI_ZEROVELS
|
||
WL 15,D3RC3A+FR9
|
||
|
||
WL ANI_IFSTATUS,#gothim
|
||
;He missed, have him stay on ground for awhile!
|
||
WL ANI_CODE,CALL_MISSES
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
;Do a little damage when missing!
|
||
; .word ANI_DAMAGE,2 ;Damage myself
|
||
; WL 30,D3RC3A+FR9
|
||
WL 3,D3RC3A+FR9
|
||
;#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
#gothim
|
||
|
||
WL 3,D3RL1B+FR7
|
||
; WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR9
|
||
; WL 3,D3RL1B+FR10
|
||
WL 3,D3RL1B+FR11
|
||
|
||
;Perhaps we should turn off collisions when getting up!?
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_OVERLAP+MODE_NOAUTOFLIP+MODE_NOCOLLIS
|
||
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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,10
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR ck_dizzy
|
||
|
||
calla check_dizzy
|
||
jrz #not_dizzy
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#not_dizzy
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2,4 BELLY FLOP FROM RUNNING MODE ONTO FALLEN OPPONENT
|
||
|
||
SUBR dnk_belly_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_OVERLAP+MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,get_leap
|
||
WL ANI_IFNOTSTATUS,#normal
|
||
|
||
WL ANI_CODE,#close
|
||
WL ANI_IFSTATUS,#no_xvel
|
||
|
||
#normal
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 30,200,100,90,90000h,TGT_GROIN,0,0,-10
|
||
.word ANI_STARTATTACK,AT_BUTTSTOMP,30
|
||
|
||
WL ANI_GOTO,#cont
|
||
|
||
#no_xvel
|
||
.word ANI_ZERO_XZVELS
|
||
WL ANI_SET_YVEL,74000h
|
||
|
||
WL 5,D4JD4A+FR4
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
WL 5,D4FM4A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BUTTSTOMP,-18,4,50,23 ;mode,x,y,w,h
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
#miss WL ANI_CODE,shake_all_ropes
|
||
.word ANI_BOUNCE,5
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,15
|
||
WL 5,D4FM4A+FR7
|
||
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL ANI_GOTO,#cont4
|
||
|
||
#cont WL 5,D4JD4A+FR4
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
WL 5,D4FM4A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BUTTSTOMP,-18,4,50,23 ;mode,x,y,w,h
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,15
|
||
|
||
|
||
WL 5,D4FM4A+FR7
|
||
|
||
#cont4 WL 8,D4FM4A+FR9
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_FACEDOWN
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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
|
||
|
||
|
||
#close
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(OBJ_XPOSINT),a0
|
||
MOVE *a13(OBJ_XPOSINT),a14
|
||
sub a0,a14
|
||
abs a14
|
||
cmpi 30h,a14
|
||
jrgt #inplace
|
||
rets
|
||
|
||
#inplace
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 ELBOW DROP
|
||
|
||
SUBR dnk_2_lbowdrop_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D2PJ2A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_LBDROP,19
|
||
WL 3,D2PJ2A+FR4
|
||
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16,999,72,48h,90000h,TGT_USER,-3,0,-30
|
||
WL ANI_CODE,#zero_x
|
||
|
||
WL 3,D2PJ2A+FR6
|
||
WL 3,D2PJ2A+FR8
|
||
WL 10,D2PJ2A+FR10
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,18
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,-15,7,10,30,21,40 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON, AMODE_LBOWDROP,-15,7,30,21 ;mode,x,y,z,w,h,d
|
||
|
||
WL 2,D2PJ2A+FR11
|
||
WL 2,D2PJ2A+FR12
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothim2
|
||
.word ANI_BOUNCE,3
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
WL ANI_CODE,CALL_MISSES
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
WL 40,D2PJ2A+FR12
|
||
.word ANI_WAITHITGND
|
||
WL ANI_GOTO,#cont
|
||
#gothim2
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D2PJ2A+FR12
|
||
|
||
#cont WL 3,D5GD3A+FR5
|
||
|
||
WL 3,D5GD3A+FR6
|
||
WL 3,D5GD3A+FR7
|
||
WL 3,D5GD3A+FR8
|
||
WL 3,D5GD3A+FR9
|
||
WL 3,D5GD3A+FR10
|
||
.word ANI_FACEUP
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
; SUBR dnk_2_tlbowdrop_anim
|
||
;
|
||
;;Jump in air and land on opponent with fist. Always goes to chest.
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; WL 3,D2PJ2C+FR1
|
||
; WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
;
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 26,999,72,48h,90000h,TGT_CHEST,-35,-22,-2
|
||
;
|
||
; WL 3,D2PJ2C+FR2
|
||
; .word ANI_OFFSET,0,20,0 ;x,y,z
|
||
; WL 18h,D2PJ2C+FR4
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL 3,D2PJ2C+FR6
|
||
; WL 1,D2PJ2C+FR10
|
||
;
|
||
; .word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,18,1,10,21,34,40 ;mode,x,y,z,w,h,d
|
||
; WL 3,D2PJ2C+FR10
|
||
; .word ANI_ATTACK_OFF
|
||
;
|
||
; WL ANI_IFSTATUS,#gothimt2
|
||
; WL ANI_GOTO,#miss
|
||
;
|
||
;#gothimt2
|
||
;
|
||
;;Do SHAKER for Yokozuna only?
|
||
; .word ANI_SHAKER,18
|
||
;
|
||
; WL 4,D2PJ2C+FR10
|
||
; WL ANI_CODE,#get_off
|
||
; WL 4,D2PJ2C+FR12
|
||
;#miss
|
||
; WL 4,D2PJ2C+FR12
|
||
; WL 1,D2GD2A+FR9
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL 3,D2GD2A+FR9
|
||
;
|
||
; .word ANI_FACEUP
|
||
;
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
|
||
|
||
* #4 ELBOW DROP
|
||
|
||
SUBR dnk_4_lbowdrop_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D4PJ4A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_LBDROP,19
|
||
WL 3,D4PJ4A+FR3
|
||
|
||
.word ANI_OFFSET,0,31h,0 ;x,y,z
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16,999,72,48h,90000h,TGT_USER,-3,0,30
|
||
|
||
WL ANI_CODE,#zero_x
|
||
|
||
WL 3,D4PJ4A+FR4
|
||
WL 3,D4PJ4A+FR6
|
||
WL 10,D4PJ4A+FR7
|
||
.word ANI_WAITHITGND
|
||
#land
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,18
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,-6,22,16,25,27,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON, AMODE_LBOWDROP,-6,0,25,27 ;mode,x,y,z,w,h,d
|
||
|
||
WL 1,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothim4
|
||
.word ANI_BOUNCE,3
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 40,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_GOTO,#land2
|
||
|
||
#gothim4
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D4PJ4A+FR10
|
||
#land2
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,10,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 4,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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
|
||
|
||
; SUBR dnk_4_tlbowdrop_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 3,D4PJ4A+FR2
|
||
; WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
; WL 3,D4PJ4A+FR3
|
||
;
|
||
; .word ANI_OFFSET,0,31h,0 ;x,y,z
|
||
;
|
||
; WL ANI_CODE,#set_target
|
||
;
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 28,999,72,48h,90000h,TGT_USER,-3,-23,30
|
||
;
|
||
; WL ANI_CODE,#zero_x
|
||
;
|
||
; WL 3,D4PJ4A+FR4
|
||
; WL 3,D4PJ4A+FR6
|
||
; WL 10+12,D4PJ4A+FR7
|
||
; WL ANI_GOTO,#land
|
||
;
|
||
;Elbow drop #4 from turnbuckle
|
||
SUBR dnk_4_blbowdrop_anim
|
||
|
||
;If jumping toward an in ring opponent & near the edge of ring, turn on
|
||
;the confine bit!
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCONFINE|MODE_NOCOLLIS|MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
.word ANI_OFFSET,11,4,0 ;x,y,z
|
||
|
||
WL 2,D4PJ4A+FR2
|
||
WL 2,D4PJ4A+FR3
|
||
|
||
.word ANI_GRAVITY_ON
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
.word ANI_OFFSET,0,31h,0 ;x,y,z
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 31,190,190,190,90000h,TGT_CHEST,-3,-3,50
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
;Check x vel to make sure we aren't going to land on ropes!
|
||
WL ANI_CODE,check_xvel
|
||
|
||
WL 3,D4PJ4A+FR4
|
||
WL 3,D4PJ4A+FR6
|
||
|
||
;Start confining wrestler
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS|MODE_OVERLAP
|
||
|
||
WL 10,D4PJ4A+FR7
|
||
.word ANI_ATTACK_ON_Z, AMODE_BLBOWDROP,-6,22,16,25,27,30 ;mode,x,y,z,w,h,d
|
||
WL 20,D4PJ4A+FR7
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
|
||
WL 1,D4PJ4A+FR10
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_9,3,1
|
||
WL ANI_IFSTATUS,#gothimb
|
||
.word ANI_BOUNCE,4 ;Bigger bounce
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 25,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL ANI_GOTO,#tag
|
||
|
||
|
||
#gothimb
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
#tag .word ANI_XFLIP
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 4,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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
|
||
|
||
|
||
* #4 HAMMER POUND OF FALLEN OPPONENT
|
||
|
||
SUBR dnk_4_hammer_anim
|
||
;Fix attack boxes! No z
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
WL 3,D4HM4A+FR1
|
||
|
||
;This assumes this is triggered by punch button!
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_HAMMER1,10
|
||
WL 3,D4HM4A+FR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 7,190,90,50,90000h,TGT_GROIN,95,82,13h ;13
|
||
; LEAPATOPP 9,190,90,50,90000h,TGT_GROIN,50h,30h,23h ;13
|
||
|
||
.word ANI_SET_RPTCOUNT,4 ;5 times
|
||
; .word ANI_CLR_BUTCOUNT
|
||
|
||
WL 7,D4HM4A+FR3 ;16
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 3,D4HM4A+FR4
|
||
WL 3,D4HM4A+FR5
|
||
WL 3,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 3,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,3,1
|
||
WL ANI_IFNOTSTATUS,#tagmiss
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
;He got him, shake screen
|
||
.word ANI_DAMAGEOPP,D_HAMMER1 ;First hammer hit (+ table)
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
.word ANI_SHAKER,25
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#missedb
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
|
||
|
||
#missedb
|
||
#tagmiss
|
||
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#dnk_quick_hammer
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_STARTATTACK,AT_HAMMER1,27
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
WL 3,D4HM4A+FR1
|
||
WL 3,D4HM4A+FR2
|
||
WL 3,D4HM4A+FR3
|
||
WL 3,D4HM4A+FR4
|
||
WL 3,D4HM4A+FR5
|
||
WL 3,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 3,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
; .WORD ANI_ADD_MOVE,MOVE_C_2,3,1
|
||
WL ANI_IFNOTSTATUS,#tagmiss
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
|
||
.word ANI_SHAKER,25
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,2,#failed
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
|
||
#failed
|
||
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
dnk_combo_hammer_anim
|
||
.word ANI_SET_RPTCOUNT,3 ;5 times
|
||
.word ANI_IMMOBILIZE,30
|
||
; .word ANI_STARTATTACK,AT_HAMMER1,23
|
||
WL 4,D4HM4A+FR1
|
||
WL 4,D4HM4A+FR2
|
||
WL 4,D4HM4A+FR3 ;16
|
||
WL 3,D4HM4A+FR4
|
||
WL 4,D4HM4A+FR5
|
||
WL 4,D4HM4A+FR6
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 4,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed2
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_IMMOBILIZE,30
|
||
.word ANI_SHAKER,25
|
||
|
||
dnk_repeat_combo_hammer_anim
|
||
.word ANI_CLR_BUTCOUNT
|
||
; .word ANI_STARTATTACK,AT_HAMMER1,15
|
||
WL 2,D4HM4A+FR8
|
||
WL 1,D4HM4A+FR9
|
||
WL 2,D4HM4A+FR10
|
||
WL 2,D4HM4A+FR1
|
||
WL 1,D4HM4A+FR2
|
||
WL 2,D4HM4A+FR3
|
||
WL 2,D4HM4A+FR4
|
||
WL 1,D4HM4A+FR5
|
||
WL 2,D4HM4A+FR6
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 2,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed2
|
||
.WORD ANI_INC_COMBO
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
|
||
.word ANI_SHAKER,25
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,2,#missed2
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,dnk_repeat_combo_hammer_anim
|
||
|
||
#missed2
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
#set_target
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi >40,a0
|
||
jrlt #drop
|
||
|
||
;We are to side of fallen opponent, we must float toward
|
||
;his head or his knees
|
||
|
||
;Take into account my flip as well as my opponents flip!
|
||
move *a13(OBJ_CONTROL),a14
|
||
andi M_FLIPH,a14
|
||
move *a11(OBJ_CONTROL),a0
|
||
andi M_FLIPH,a0
|
||
cmp a0,a14
|
||
jrnz #head
|
||
|
||
movi TGT_KNEES,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#head
|
||
movi TGT_HEAD,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#drop
|
||
;Just drop straight down
|
||
movi TGT_CHEST,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#zero_x
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi >40,a0
|
||
jrgt #ok ;Is he to the side?
|
||
|
||
;Don't float if dropping straight down
|
||
clr a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
#ok rets
|
||
|
||
#get_off
|
||
;Get off from fallen opponent
|
||
movi [3,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [2,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR dnk_2_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D3MP3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_STOMP,15
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 15,999,40h,50,90000h,TGT_USER,20,0,-30
|
||
|
||
WL 3,D3MP3A+FR2
|
||
WL 3,D3MP3A+FR3
|
||
WL 3,D3MP3A+FR4
|
||
;#cont
|
||
WL 3,D3MP3A+FR5
|
||
WL 3,D3MP3A+FR6
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,7,7,-20,20,33,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WL 3+4,D3MP3A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothim
|
||
WL 3,D3MP3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#gothim
|
||
WL ANI_CODE,#get_off
|
||
WL 5,D3MP3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
;;Turbo #2 stomp
|
||
; SUBR dnk_2_tstomp_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 3,D3MP3A+FR1
|
||
;
|
||
; WL ANI_CODE,#set_target
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 1ah,999,60h,50h,90000h,TGT_USER,20,13,-30
|
||
;
|
||
; WL 3,D3MP3A+FR2
|
||
; WL 3,D3MP3A+FR3
|
||
; WL 10h,D3MP3A+FR4
|
||
; WL ANI_GOTO,#cont
|
||
|
||
* #4 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR dnk_4_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D4MP4D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
.word ANI_STARTATTACK,AT_STOMP,15
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 15,999,40h,50h,90000h,TGT_USER,32,0,30
|
||
|
||
WL 3,D4MP4D+FR2
|
||
WL 3,D4MP4D+FR3
|
||
WL 9,D4MP4D+FR4
|
||
|
||
;#cont4
|
||
; WL 3,D4MP4D+FR5
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_STOMP,2,1,40,19,27,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,22,8,40,35,22,30 ;mode,x,y,z,w,h,d
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WL 7,D4MP4D+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothim4
|
||
WL 4,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#gothim4
|
||
WL ANI_CODE,#get_off4
|
||
WL 5,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;Turbo #4 stomp
|
||
; SUBR dnk_4_tstomp_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 3,D4MP4D+FR1
|
||
; WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
;
|
||
; WL ANI_CODE,#set_target
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 30,999,40h,50h,90000h,TGT_USER,32,10,30
|
||
;
|
||
; WL 3,D4MP4D+FR2
|
||
; WL 3,D4MP4D+FR3
|
||
; WL 18h,D4MP4D+FR4
|
||
; WL ANI_GOTO,#cont4
|
||
|
||
|
||
;Stomp #4 from top of turnbuckle
|
||
SUBR dnk_4_bstomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS|MODE_NOGRAVITY|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_XFLIP ;make an ANI_FACEOUT and ANI_FACEIN
|
||
|
||
WL 4,D4JD4A+FR1
|
||
WL 4,D4JD4A+FR2
|
||
|
||
.word ANI_GRAVITY_ON
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16+20,190,190,190,90000h,TGT_CHEST,39+8,7+4,20
|
||
.word ANI_STARTATTACK,AT_LEAPING,36
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
;Check x vel to make sure we aren't going to land on ropes!
|
||
WL ANI_CODE,check_xvel
|
||
|
||
.word ANI_OFFSET,8,4,0 ;x,y,z
|
||
WL ANI_IFNOTSTATUS,#nooff
|
||
.word ANI_OFFSET,-16,0,0 ;x,y,z
|
||
|
||
#nooff
|
||
WL 3,D4MP4D+FR2
|
||
WL 3,D4MP4D+FR3
|
||
|
||
WL 15,D4MP4D+FR4
|
||
|
||
;Start confining wrestler
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS|MODE_OVERLAP
|
||
|
||
WL 1eh-15,D4MP4D+FR4
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_BSTOMP,29,7,0,20,16,30 ;mode,x,y,z,w,h,d
|
||
WL 3,D4MP4D+FR6
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_SHAKER,30
|
||
.word ANI_SHAKEALL,1
|
||
WL ANI_CODE,shake_all_ropes
|
||
|
||
; WL 1,D4MP4D+FR7
|
||
|
||
.word ANI_BOUNCE,6
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL 6,D4MP4D+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL 9,D4MP4D+FR7
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_9,3,1
|
||
WL ANI_IFSTATUS,#gothimb4
|
||
WL 3,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR check_xvel
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
;don't mess with anything if opponent is ouside the ring
|
||
move *a13(CLOSEST_NUM),a0
|
||
X32 a0
|
||
addi process_ptrs,a0
|
||
move *a0,a0,L
|
||
move *a0(INRING),a0,W
|
||
jrnz #ok
|
||
|
||
move *a13(OBJ_XPOSINT),a0
|
||
cmpi RING_X_MID,a0
|
||
jrgt #onrgt
|
||
|
||
;Check to make sure opponent is in ring!
|
||
move *a13(OBJ_XVEL),a0,L
|
||
jrnn #ok
|
||
; cmpi [0,8000h],a0
|
||
; jrge #ok
|
||
;Will land on ropes
|
||
movi [1,8000h],a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
#onrgt
|
||
;Check to make sure opponent is in ring!
|
||
move *a13(OBJ_XVEL),a0,L
|
||
jrn #ok
|
||
; cmpi -[0,8000h],a0
|
||
; jrle #ok
|
||
;Will land on ropes
|
||
movi -[1,8000h],a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
#ok
|
||
rets
|
||
|
||
#gothimb4
|
||
WLW ANI_SET_ZVEL,-50000h,AM_ABS
|
||
; WL ANI_CODE,#getoff4
|
||
|
||
WL 5,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
; SUBR dnk_4_run_stomp_anim
|
||
;;Stomp fallen opponent from running mode
|
||
;
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
;; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 3,D4MP4D+FR1
|
||
;
|
||
; WL ANI_CODE,get_leap
|
||
; WL ANI_IFSTATUS,#no_xvel3
|
||
;
|
||
;; WL ANI_CODE,#set_target
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 30,999,0c0h,50h,90000h,TGT_GROIN,32,10,30
|
||
; WL ANI_GOTO,#cont3
|
||
;
|
||
;#no_xvel3
|
||
; .word ANI_ZEROVELS
|
||
; WL ANI_SET_YVEL,44000h
|
||
;#cont3
|
||
;
|
||
; WL 3,D4MP4D+FR2
|
||
; WL 3,D4MP4D+FR3
|
||
; WL 20,D4MP4D+FR4
|
||
; .word ANI_ATTACK_ON_Z, AMODE_STOMP,22,8,40,35,22,30 ;mode,x,y,z,w,h,d
|
||
;
|
||
; WL 7,D4MP4D+FR6
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_ATTACK_OFF
|
||
;
|
||
; WL ANI_IFSTATUS,#ahit4
|
||
; WL 4,D4MP4D+FR7
|
||
; .word ANI_FACEDOWN
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;#ahit4
|
||
; WL ANI_CODE,#get_off4
|
||
; WL 5,D4MP4D+FR7
|
||
;
|
||
; .word ANI_FACEDOWN
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;
|
||
;
|
||
; SUBR dnk_2_run_stomp_anim
|
||
;;Stomp fallen opponent from running mode
|
||
;
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
;; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL 3,D3MP3A+FR1
|
||
;
|
||
; WL ANI_CODE,get_leap
|
||
; WL ANI_IFSTATUS,#no_xvel2
|
||
;
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 30,999,0c0h,50h,90000h,TGT_GROIN,20,13,-30
|
||
;
|
||
; WL ANI_GOTO,#cont2
|
||
;
|
||
;#no_xvel2
|
||
; .word ANI_ZEROVELS
|
||
; WL ANI_SET_YVEL,44000h
|
||
;#cont2
|
||
;
|
||
;
|
||
; WL 3,D3MP3A+FR2
|
||
; WL 3,D3MP3A+FR3
|
||
; WL 20,D3MP3A+FR4
|
||
; WL 3,D3MP3A+FR5
|
||
; WL 3,D3MP3A+FR6
|
||
;
|
||
; .word ANI_ATTACK_ON_Z, AMODE_STOMP,7,7,-20,20,33,30 ;mode,x,y,z,w,h,d
|
||
;
|
||
; WL 3+4,D3MP3A+FR7
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_ATTACK_OFF
|
||
;
|
||
; WL ANI_IFSTATUS,#ahit
|
||
; WL 3,D3MP3A+FR8
|
||
; .word ANI_FACEUP
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
;#ahit
|
||
; WL ANI_CODE,#get_off
|
||
; WL 5,D3MP3A+FR8
|
||
; .word ANI_FACEUP
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
|
||
#set_target
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move a13,a0
|
||
calla wres_get_stick_val_cur
|
||
btst MOVE_LEFT_BIT,a0
|
||
jrnz #lft
|
||
btst MOVE_RIGHT_BIT,a0
|
||
jrnz #rgt
|
||
;No stick
|
||
;Randomize between head/chest/groin/knees
|
||
; movk 3,a0
|
||
; calla RNDRNG0
|
||
; X16 a0
|
||
; addi #targets,a0
|
||
; move *a0,a0
|
||
|
||
movi TGT_CHEST,a0
|
||
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
;Go to chest or if opponent is flipped, go to head!
|
||
#lft
|
||
move *a11(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #chest
|
||
#head
|
||
movi TGT_HEAD,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
;Go to head or if opponent is flipped, go to chest!
|
||
#rgt
|
||
move *a11(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #head
|
||
#chest
|
||
movi TGT_KNEES,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
; or set *a13(TGT_XOFF), *a13(TGT_YOFF) & *a13(TGT_ZOFF) manually
|
||
|
||
#targets
|
||
.word TGT_HEAD ;0
|
||
.word TGT_CHEST ;1
|
||
.word TGT_GROIN ;2
|
||
.word TGT_KNEES ;3
|
||
|
||
|
||
#get_off
|
||
movi [4,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [2,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
#get_off4
|
||
movi -[2,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [1,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
|
||
SUBR dnk_knockdwn_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_XFLIP
|
||
|
||
WL 2,D3GU4A+FR9
|
||
WL 2,D3GU4A+FR7
|
||
WL 2,D3GU4A+FR5
|
||
WL ANI_SET_YVEL,39000h
|
||
WL 2,D3SA3A+FR2
|
||
.word ANI_DEBRIS,400,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
WL 3,D3SA3A+FR3
|
||
WL 6,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 2,D3SA3A+FR8
|
||
WL 6,D3SA3A+FR9
|
||
|
||
|
||
;FIX!!! Add to other wrestlers
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
.word ANI_SETPLYRMODE,MODE_DEAD
|
||
.word ANI_END
|
||
|
||
#nodead
|
||
|
||
|
||
;#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HITS ON GROUND
|
||
|
||
SUBR dnk_hitonground_xflip_anim
|
||
.word ANI_XFLIP
|
||
;fall through
|
||
|
||
SUBR dnk_hitonground_anim
|
||
|
||
;We need to take stars away on hits...
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,39000h
|
||
|
||
.word ANI_DEBRIS,50,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
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* CLIMB UP TURNBUCKLES
|
||
|
||
SUBR dnk_climb_up_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,4000h ;27000
|
||
.word ANI_OFFSET,-8+13,-3+4,-16 ;x,y,z
|
||
WL 5,D2CT2A+FR2
|
||
.word ANI_OFFSET,0,15h,0 ;x,y,z
|
||
WL 5,D2CT2A+FR7
|
||
.word ANI_SHAKEROPES,1
|
||
.word ANI_OFFSET,4,4,0 ;x,y,z
|
||
WL 5,D2CT2A+FR9
|
||
.word ANI_OFFSET,6,14,0 ;x,y,z
|
||
WL 5,D2CT2A+FR12
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_OFFSET,0,6,0 ;x,y,z
|
||
WL 5,D2CT2B+FR2
|
||
.word ANI_OFFSET,10,18h,0 ;x,y,z
|
||
WL 5,D2CT2B+FR4
|
||
.word ANI_OFFSET,-2,0dh,0 ;x,y,z
|
||
WL 5,D2CT2B+FR6
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONTURNBKL
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
|
||
.word ANI_OFFSET,2,0,0 ;x,y,z
|
||
WL ANI_CODE,#flip
|
||
#repeat
|
||
WL 5,D2CT2C+FR1
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR3
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR5
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR7
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR9
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR11
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR13
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR15
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR17
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR19
|
||
WL ANI_CODE,#flip
|
||
WL 5,D2CT2C+FR21
|
||
WL ANI_CODE,#flip
|
||
WL ANI_GOTO,#repeat
|
||
|
||
* CLIMB DOWN TURNBUCKLES
|
||
|
||
SUBR dnk_climb_down_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_OFFSET,0,2,0 ;x,y,z
|
||
WL 5,D2CT2B+FR6
|
||
.word ANI_OFFSET,0,-13,0 ;x,y,z
|
||
WL 5,D2CT2B+FR4
|
||
|
||
WL ANI_SET_YVEL,-4000h
|
||
|
||
.word ANI_OFFSET,-8,-26,0 ;x,y,z
|
||
WL 5,D2CT2B+FR2
|
||
.word ANI_OFFSET,0,-5,0 ;x,y,z
|
||
.word ANI_SHAKEROPES,1
|
||
WL 5,D2CT2A+FR12
|
||
.word ANI_OFFSET,0,-10,0 ;x,y,z
|
||
WL 5,D2CT2A+FR9
|
||
.word ANI_OFFSET,0,-10,0 ;x,y,z
|
||
WL 5,D2CT2A+FR7
|
||
.word ANI_OFFSET,-9,-9,0 ;x,y,z
|
||
WL 5,D2CT2A+FR2
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#flip
|
||
;Check to see if opponent is getting in/out of ring, and turn accordingly!
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(INRING),a0 ;0 = in ring, 1 = outside
|
||
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft
|
||
|
||
;On right turnbuckle
|
||
move a0,a0
|
||
jrz #noflip
|
||
#yesflip
|
||
move *a13(OBJ_CONTROL),a14
|
||
ori M_FLIPH,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
#noflip
|
||
move *a13(OBJ_CONTROL),a14
|
||
andni M_FLIPH,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
#onlft
|
||
;On left turnbuckle
|
||
move a0,a0
|
||
jrz #yesflip
|
||
jruc #noflip
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* SECOND WIND
|
||
|
||
SUBR dnk_2ndwind_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL 3,D4SW4B+FR1
|
||
WL 3,D4SW4B+FR2
|
||
|
||
WL 3,D4SW4E+FR1
|
||
WL 3,D4SW4E+FR2
|
||
WL 3,D4SW4E+FR3
|
||
WL 3,D4SW4E+FR4
|
||
WL 3,D4SW4E+FR5
|
||
|
||
WL 3,D4SW4E+FR1
|
||
WL 3,D4SW4E+FR2
|
||
WL 3,D4SW4E+FR3
|
||
WL 3,D4SW4E+FR4
|
||
WL 3,D4SW4E+FR5
|
||
|
||
WL 3,D4SW4F+FR1
|
||
WL 3,D4SW4F+FR2
|
||
WL 3,D4SW4F+FR3
|
||
WL 3,D4SW4F+FR4
|
||
WL 3,D4SW4F+FR5
|
||
WL 3,D4SW4F+FR6
|
||
WL 3,D4SW4F+FR7
|
||
|
||
WL 3,D4SW4F+FR1
|
||
WL 3,D4SW4F+FR2
|
||
WL 3,D4SW4F+FR3
|
||
WL 3,D4SW4F+FR4
|
||
WL 3,D4SW4F+FR5
|
||
WL 3,D4SW4F+FR6
|
||
WL 3,D4SW4F+FR7
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BUTT DROP FROM TOP OF TURNBUCKLE
|
||
|
||
SUBR dnk_diveofftb_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS|MODE_NOGRAVITY|MODE_OVERLAP|MODE_NOCONFINE
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
.word ANI_XFLIP ;make an ANI_FACEOUT and ANI_FACEIN
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
.word ANI_STARTATTACK,AT_LEAPING,43
|
||
WL 4,D4JD4A+FR1
|
||
WL 4,D4JD4A+FR2 ;D4FM4A+FR1
|
||
|
||
; .word ANI_SHAKEALL,1
|
||
.word ANI_GRAVITY_ON
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 35,190,190,190,90000h,TGT_KNEES,-15,0,-10
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
;Check x vel to make sure we aren't going to land on ropes!
|
||
WL ANI_CODE,check_xvel
|
||
|
||
WL 3,D4JD4A+FR4
|
||
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
|
||
WL 3,D4FM4A+FR5
|
||
|
||
WL 3,D4FM4A+FR6
|
||
;Start confining wrestler
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS|MODE_OVERLAP
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_BSTOMP,-18,-3,0,50,23,30 ;mode,x,y,z,w,h,d
|
||
; .word ANI_ATTACK_ON, AMODE_STOMP,-18,4,50,23 ;mode,x,y,w,h
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_9,3,1
|
||
WL ANI_CODE,shake_all_ropes
|
||
|
||
.word ANI_BOUNCE,5
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,18
|
||
WL 5,D4FM4A+FR7
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_BSTOMP,-18,-3,0,50,23,30 ;mode,x,y,z,w,h,d
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
; .word ANI_BOUNCE,5
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
; .word ANI_SHAKER,8
|
||
; WL 5,D4FM4A+FR7
|
||
;
|
||
;
|
||
; WL 12,D4FM4A+FR6
|
||
; .word ANI_ATTACK_ON_Z, AMODE_BSTOMP,-18,-3,0,50,23,30 ;mode,x,y,z,w,h,d
|
||
; WL 1,D4FM4A+FR6
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_ATTACK_OFF
|
||
|
||
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL 5,D4FM4A+FR7
|
||
WL 8,D4FM4A+FR9
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_FACEDOWN
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
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
|
||
|
||
|
||
;Jump straight down from turnbuckle without causing any harm!
|
||
SUBR dnk_4_bjump_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOCOLLIS | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
WL ANI_CODE,#get_stick ;Maybe jump where he isn't facing!
|
||
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
|
||
WL 4,D4JD4A+FR1
|
||
WL 4,D4JD4A+FR2
|
||
; .word ANI_SHAKEROPES,1
|
||
.word ANI_GRAVITY_ON
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR
|
||
|
||
;Now jump off...
|
||
WL ANI_SET_YVEL,60000h
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
WL ANI_CODE,#set_xvel
|
||
WL 3,D4JD4A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
WL 3,D4JD4A+FR6
|
||
WL 3,D4JD4A+FR7
|
||
WL 6,D4JD4A+FR8
|
||
WL 3,D4JD4A+FR10
|
||
WL 3,D4JD4A+FR11
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#get_stick
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft
|
||
;On right turnbuckle
|
||
move a13,a0
|
||
calla wres_get_stick_val_cur
|
||
btst MOVE_LEFT_BIT,a0
|
||
jrnz #lft ;Override jumping outside
|
||
|
||
|
||
;Don't allow jumping out of ring if opponent not out there...
|
||
; btst MOVE_RIGHT_BIT,a0
|
||
; jrnz #rgt
|
||
|
||
|
||
|
||
;No stick
|
||
;Jump toward opponent (Could be out of ring)
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(INRING),a0 ;0 = in ring, 1 = outside
|
||
jrnz #rgt
|
||
#lft
|
||
;If on right side turnbuckle, and stick is to left, do the flip
|
||
move *a13(OBJ_CONTROL),a0
|
||
ori M_FLIPH,a0
|
||
move a0,*a13(OBJ_CONTROL)
|
||
rets
|
||
#rgt
|
||
move *a13(OBJ_CONTROL),a0
|
||
andni M_FLIPH,a0
|
||
move a0,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
#onlft
|
||
move a13,a0
|
||
calla wres_get_stick_val_cur
|
||
|
||
|
||
;Don't allow jumping out of ring if opponent not out there...
|
||
; btst MOVE_LEFT_BIT,a0
|
||
; jrnz #lft
|
||
|
||
|
||
|
||
btst MOVE_RIGHT_BIT,a0
|
||
jrnz #rgt ;Override jumping outside
|
||
;No stick
|
||
;Jump toward opponent (Could be out of ring)
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(INRING),a0 ;0 = in ring, 1 = outside
|
||
jrnz #lft
|
||
jruc #rgt
|
||
rets
|
||
|
||
|
||
#set_xvel
|
||
|
||
; movk 1,a2
|
||
; movi ROPE_BOUNCEUD,a1
|
||
; movi ROPE_BACK,a0
|
||
; calla rope_command
|
||
|
||
movi -20000h,a1
|
||
movi -30000h,a4
|
||
; movi ROPE_RIGHT,a3
|
||
|
||
move *a13(OBJ_CONTROL),a0
|
||
btst B_FLIPH,a0
|
||
jrnz #right
|
||
|
||
; move *a13(OBJ_XPOSINT),a14
|
||
; cmpi RING_X_CENTER,a14
|
||
; jrgt #right
|
||
|
||
movi 20000h,a1
|
||
movi 30000h,a4
|
||
; movi ROPE_LEFT,a3
|
||
#right
|
||
|
||
;If jumping out of ring, jump a little further!
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #lft1
|
||
move a1,a1
|
||
jrn #reg
|
||
move a4,a1
|
||
jruc #reg
|
||
#lft1 move a1,a1
|
||
jrp #reg
|
||
move a4,a1
|
||
#reg
|
||
move a1,*a13(OBJ_XVEL),L
|
||
movi 20000h,a1
|
||
move a1,*a13(OBJ_ZVEL),L
|
||
; move a3,a0
|
||
; movi ROPE_BOUNCEUD,a1
|
||
; calla rope_command
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GRAB & FLING OPPONENT (INTO A RUN)
|
||
|
||
SUBR dnk_2_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,10
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_4_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
#cont
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,4
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,40,0,25
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 4,D4GF3A+FR1
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,33,56,44,18 ;mode,x,y,w,h
|
||
|
||
WWL ANI_WAITHITOPP,4,D4GF3A+FR2
|
||
|
||
; WL 4,D4GF3A+FR2
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WWL ANI_WAITHITOPP,4,D4GF3A+FR3
|
||
|
||
; WL 4,D4GF3A+FR3
|
||
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
;got him
|
||
|
||
|
||
; WL ANI_SET_YVEL,40000h
|
||
|
||
|
||
|
||
WL ANI_CODE,CALL_SETUP
|
||
|
||
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
|
||
.word ANI_SETOPPFACING
|
||
|
||
|
||
WWLLW ANI_SUPERSLAVE2,10,D4GF3A+FR3,#puppet_tbl,0
|
||
.word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,7,D4GF3A+FR4,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,5,D4GF3A+FR5,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,5,D4GF3A+FR6,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,5,D4GF3A+FR7,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,5,D4GF3A+FR8,#puppet_tbl,5
|
||
|
||
WL ANI_SLAVEANIM,#strt_run_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_DETACH
|
||
WL 10,D4GF3A+FR9 ;16
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#missedb
|
||
; WL 25,D4GF3A+FR3
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 12,D4GF3A+FR3
|
||
WL 4,D4GF3A+FR2
|
||
WL 4,D4GF3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,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
|
||
|
||
.ref H4YR3A,H3RN3A
|
||
.ref R4YR3A,R3RN3D
|
||
.ref U4YR3B,U3RN3A
|
||
.ref Y4YR3A,Y3RN3C
|
||
.ref S4YR3A,S3RN3A
|
||
.ref B4YR3A,B3RN3A
|
||
.ref L4YR3B,L3RN3B
|
||
|
||
#Bret
|
||
LWWW H4YR3A+FR1,53,7,1
|
||
LWWW H4YR3A+FR2,49,9,1
|
||
LWWW H4YR3A+FR3,48,9,1
|
||
LWWW H4YR3A+FR5,43,11,1
|
||
LWWW H3RN3A+FR1,15,5,0
|
||
LWWW H3RN3A+FR2,-14,8,0
|
||
#Razor
|
||
LWWW R4YR3A+FR1,32,17,0
|
||
LWWW R4YR3A+FR2,21,20,0
|
||
LWWW R4YR3A+FR3,1,11,0
|
||
LWWW R4YR3A+FR4,4,15,0
|
||
LWWW R3RN3D+FR10,9,16,0
|
||
LWWW R3RN3D+FR11,-4,16,0
|
||
#Taker
|
||
LWWW U4YR3B+FR2,34,18,0
|
||
LWWW U4YR3B+FR3,37,16,0
|
||
LWWW U4YR3B+FR4,29,24,0
|
||
LWWW U4YR3B+FR5,27,24,0
|
||
LWWW U3RN3A+FR2,-11,15,0
|
||
LWWW U3RN3A+FR2,-25,14,0
|
||
#Yokozuna
|
||
LWWW Y4YR3A+FR1,59,11,1
|
||
LWWW Y4YR3A+FR4,37,13,1
|
||
LWWW Y4YR3A+FR5,32,11,1
|
||
LWWW Y4YR3A+FR7,5,3,1
|
||
LWWW Y3RN3C+FR7,18,13,0
|
||
LWWW Y3RN3C+FR8,8,12,0
|
||
#Shawn
|
||
LWWW S4YR3A+FR2,38,5,1
|
||
LWWW S4YR3A+FR3,52,-3,1
|
||
LWWW S4YR3A+FR5,21,11,1
|
||
LWWW S4YR3A+FR6,19,10,1
|
||
LWWW S3RN3A+FR2,16,11,0
|
||
LWWW S3RN3A+FR3,4,11,0
|
||
#BamBam
|
||
LWWW B4YR3A+FR3,32,15,0
|
||
LWWW B4YR3A+FR4,43,11,0
|
||
LWWW B4YR3A+FR5,53,12,0
|
||
LWWW B4YR3A+FR7,9,9,0
|
||
LWWW B3RN3A+FR1,6,19,0
|
||
LWWW B3RN3A+FR2,3,17,0
|
||
#Doink
|
||
LWWW D4YR3B+FR1,64,16,1
|
||
LWWW D4YR3B+FR2,60,20,1
|
||
LWWW D4YR3B+FR3,47,19,1
|
||
LWWW D4YR3B+FR4,38,20,1
|
||
LWWW D3RN3B+FR3,23,20,0
|
||
LWWW D3RN3B+FR4,-8,18,0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
LWWW L4YR3B+FR1,66,16,1
|
||
LWWW L4YR3B+FR2,54,10,1
|
||
LWWW L4YR3B+FR3,38,13,1
|
||
LWWW L4YR3B+FR4,13,11,1
|
||
LWWW L3RN3B+FR2,0,19,0
|
||
LWWW L3RN3B+FR3,10,13,0
|
||
|
||
#strt_run_tbl
|
||
.ref start_run_flung
|
||
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HELD OVERHEAD ANIMATION
|
||
|
||
SUBR dnk_heldoh_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ATTACHED
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOGRAVITY
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETWORD,USR_VAR1,0 ;loop count
|
||
|
||
#loop
|
||
WL 3,D4MF4A+FR1
|
||
WL 3,D4MF4A+FR2
|
||
WL 3,D4MF4A+FR3
|
||
WL 3,D4MF4A+FR4
|
||
WL 3,D4MF4A+FR5
|
||
WL 3,D4MF4A+FR6
|
||
WL 3,D4MF4A+FR7
|
||
WL 3,D4MF4A+FR8
|
||
WL 3,D4MF4A+FR9
|
||
|
||
WL ANI_CODE,#inc_loop
|
||
WL ANI_IFNOTSTATUS,#loop
|
||
|
||
;Fall out of overhead hold by reversing thru pickup frames
|
||
.word ANI_DETACH
|
||
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL|MODE_OVERLAP
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 2,D4MF4A+FR6
|
||
.word ANI_OFFSET,-20,-50,0 ;x,y,z
|
||
WL 4,D3GS3X+FR5
|
||
WL 4,D3GS3X+FR4
|
||
WL 4,D3GS3X+FR3
|
||
WL 4,D3GS3X+FR1
|
||
.word ANI_WAITHITGND
|
||
WL 2,D2ST2B+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 3,a0
|
||
jrgt #breakout
|
||
|
||
; 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
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 BLOCK
|
||
|
||
SUBR dnk_2_block_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_ZERO_XZVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETPLYRMODE,MODE_BLOCK
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
;Rotate toward opponent if needed!
|
||
; WL ANI_CODE,wrong_face
|
||
|
||
;wrong_face
|
||
; move *a13(ANIMODE),a1
|
||
; andni MODE_STATUS,a1
|
||
;
|
||
; move *a13(FACING_DIR),a0
|
||
; move *a13(NEW_FACING_DIR),a14
|
||
;
|
||
;
|
||
;#breakout
|
||
; move *a13(ANIMODE),a1
|
||
; ori MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
|
||
WL 2,D2BK3C+FR1
|
||
WL 2,D2BK3C+FR2
|
||
; .word ANI_SETPLYRMODE,MODE_BLOCK
|
||
#blk2 WL 2,D2BK3C+FR3
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
|
||
.word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
|
||
WL 2,D2BK3C+FR2
|
||
WL 2,D2BK3C+FR1
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_2_hitblock_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_FRICTION,4000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 4,D2BK3C+FR7
|
||
WL 4,D2BK3C+FR5
|
||
WL ANI_GOTO,#blk2
|
||
|
||
* #4 BLOCK
|
||
|
||
SUBR dnk_4_block_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_ZERO_XZVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SETPLYRMODE,MODE_BLOCK
|
||
WL 2,D4BK3A+FR1
|
||
WL 2,D4BK3A+FR2
|
||
; .word ANI_SETPLYRMODE,MODE_BLOCK
|
||
#blk4 WL 2,D4BK3A+FR3
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
|
||
.word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
|
||
WL 2,D4BK3A+FR2
|
||
WL 2,D4BK3A+FR1
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_hitblock_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETSPEED,100h
|
||
WL 4,D4BK3A+FR7
|
||
WL 4,D4BK3A+FR6
|
||
WL ANI_GOTO,#blk4
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HIP TOSS RUNNING OPPONENT
|
||
|
||
SUBR dnk_2_hiptoss2_anim
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCOLLIS ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,6
|
||
WL 2,D1TT5Z+FR2
|
||
WL 2,D1TT5Z+FR3
|
||
|
||
SUBR dnk_4_hiptoss2_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCOLLIS ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,60,55,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 2,D3HT3Q+FR1
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,33,36,44,48 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,8,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
; WWL ANI_WAITHITOPP,15,D3HT3Q+FR1
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_2_hiptoss_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,8
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
|
||
SUBR dnk_4_hiptoss_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 2,D3HT3Q+FR1
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,33,36,44,48 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,6,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
WWL ANI_WAITHITOPP,4,D3HT3Q+FR1
|
||
.word ANI_ATTACK_OFF
|
||
#cont
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
;got him
|
||
; WL ANI_SET_YVEL,30000h
|
||
|
||
.word ANI_SOUND,82h ;Effort grunt
|
||
|
||
WL ANI_CODE,DO_SNAP_MESS
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR1,#puppet_tbl,0
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
; .word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR3,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR4,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR5,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR6,#puppet_tbl,5
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR7,#puppet_tbl,6
|
||
WWLLW ANI_SUPERSLAVE2,1,D3HT3Q+FR8,#puppet_tbl,7
|
||
|
||
;impact
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_HIPTOSS
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_1,2,1
|
||
|
||
WL ANI_SLAVEANIM,#rollout_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL 15,D3HT3Q+FR8
|
||
WL 4,D3HT3Q+FR7
|
||
WL 4,D3HT3Q+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
; WL 10,D3HT3Q+FR1
|
||
#missed
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
; WL 20,D3HT3Q+FR1
|
||
|
||
WL 10,D3HT3Q+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_combo_hiptoss_anim
|
||
|
||
.word ANI_SET_RPTCOUNT,4 ;5 times
|
||
re_enter_combo_hiptoss
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; .word ANI_STARTATTACK,AT_PUPPET,2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 2,D3HT3Q+FR1
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,33,0,44,60 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,6,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
WWL ANI_WAITHITOPP,4,D3HT3Q+FR1
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
|
||
|
||
;got him
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR1,#puppet_tbl,0
|
||
.word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR3,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR4,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR5,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR6,#puppet_tbl,5
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR7,#puppet_tbl,6
|
||
WWLLW ANI_SUPERSLAVE2,1,D3HT3Q+FR8,#puppet_tbl,7
|
||
|
||
;impact
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_HIPTOSS
|
||
|
||
WL ANI_SLAVEANIM,#rollout_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
|
||
WLLL ANI_SETOPPVELS,0,80000h,0h ;x,y,z vels
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
.word ANI_DETACH
|
||
|
||
; WL 15,D3HT3Q+FR8
|
||
WL 4,D3HT3Q+FR8
|
||
WL 4,D3HT3Q+FR7
|
||
WL 4,D3HT3Q+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,yes_do_combo_again
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NEXT_CHECK2A
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,dnk_combo_hammer_anim
|
||
|
||
#NEXT_CHECK2A
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_IMMOBILIZE,120
|
||
WL 4,D3HT3Q+FR6
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,dnk_2ndwind_anim
|
||
|
||
#NEXT_CHECK
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
yes_do_combo_again
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,re_enter_combo_hiptoss
|
||
|
||
#missedbc
|
||
WL 10,D3HT3Q+FR1
|
||
#missedc
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 20,D3HT3Q+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.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 H2AH3A,H3FR3A,H2CP3A,H2AM3A
|
||
LWWW H2AH3A+FR5,72,10,0
|
||
LWWW H2AM3A+FR1,58,17,0
|
||
LWWW H2AM3A+FR7,47,8,0
|
||
LWWW H3FR3A+FR2,29,25,0
|
||
LWWW H3FR3A+FR3,14,59,0
|
||
LWWW H3FR3A+FR4,-26,62,0
|
||
LWWW H3FR3A+FR5,-75,-6,0
|
||
LWWW H2CP3A+FR8,-149,-47,1
|
||
.long 0
|
||
#Razor
|
||
.ref R3TD3A,R3GU2A
|
||
LWWW R3TD3A+FR1,56,6,0
|
||
LWWW R3TD3A+FR3,45,6,0
|
||
LWWW R3TD3A+FR4,37,19,0
|
||
LWWW R3TD3A+FR5,36,47,0
|
||
LWWW R3TD3A+FR6,15,62,0
|
||
LWWW R3TD3A+FR7,-25,65,0
|
||
LWWW R3TD3A+FR8,-73,9,0
|
||
LWWW R3GU2A+FR1,-155,-43,1
|
||
.long 0
|
||
#Taker
|
||
.ref U3AE4A,U4AM4C,U3FH3A,U3CP3B
|
||
LWWW U3AE4A+FR1,73,22,0
|
||
LWWW U4AM4C+FR4,52,18,0 ;15
|
||
LWWW U3FH3A+FR1,55,20,1 ;15
|
||
LWWW U3FH3A+FR2,32,45,1 ;40
|
||
LWWW U3FH3A+FR3,18,60,1 ;54
|
||
LWWW U3FH3A+FR4,-30,68,1 ;63
|
||
LWWW U3FH3A+FR5,-92,18,1
|
||
LWWW U3CP3B+FR1,-175,-40,1
|
||
.long 0
|
||
#Yokozuna
|
||
.ref Y4AE4A,Y3FL3W,Y3FD3A,Y3MS3Z
|
||
LWWW Y4AE4A+FR1,81,10,0
|
||
LWWW Y3MS3Z+FR2,56,18,0
|
||
LWWW Y3FL3W+FR3,36,24,0
|
||
LWWW Y3FL3W+FR4,37,55,0
|
||
LWWW Y3FL3W+FR5,17,68,0
|
||
LWWW Y3FL3W+FR6,-43,68,0
|
||
LWWW Y3FL3W+FR7,-90,11,0
|
||
LWWW Y3FD3A+FR7,-130,-17,0
|
||
.long 0
|
||
#Shawn
|
||
.ref S3OS3X
|
||
LWWW S3OS3X+FR2,58,7,1
|
||
LWWW S3OS3X+FR4,27,18,1
|
||
LWWW S3OS3X+FR5,22,16,1
|
||
LWWW S3OS3X+FR6,26,64,1
|
||
LWWW S3OS3X+FR7,20,79,1
|
||
LWWW S3OS3X+FR8,-13,78,1
|
||
LWWW S3OS3X+FR9,-98,20,1
|
||
LWWW S3OS3X+FR10,-144,-38,1
|
||
.long 0
|
||
#BamBam
|
||
.ref B4TD3B
|
||
LWWW B4TD3B+FR1,53,2,0
|
||
LWWW B4TD3B+FR3,39,4,0
|
||
LWWW B4TD3B+FR4,42,16,0
|
||
LWWW B4TD3B+FR5,33,59,0
|
||
LWWW B4TD3B+FR6,23,88,0
|
||
LWWW B4TD3B+FR7,-28,73,0
|
||
LWWW B4TD3B+FR8,-68,16,0
|
||
LWWW B4TD3B+FR9,-117,-28,0
|
||
.long 0
|
||
#Doink
|
||
LWWW D3AE3B+FR8,69,8,0
|
||
LWWW D3PM4C+FR2,37,7,0
|
||
LWWW D3OS3A+FR1,56,10,0
|
||
LWWW D3OS3A+FR3,37,26,0
|
||
LWWW D3OS3A+FR4,23,41,0
|
||
LWWW D3OS3A+FR6,-23,52,0
|
||
LWWW D3FD3E+FR2,-73,-18,0
|
||
LWWW D3SA3A+FR2,-137,-40,1
|
||
.long 0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L4AM4B,L3FH3A,L3CP3B
|
||
LWWW L4AM4B+FR3,64,-10,0
|
||
LWWW L3FH3A+FR1,46,14,0
|
||
LWWW L3FH3A+FR2,42,14,0 ;8
|
||
LWWW L3FH3A+FR3,31,35,0
|
||
LWWW L3FH3A+FR4,24,46,0
|
||
LWWW L3FH3A+FR5,-15,49,0
|
||
LWWW L3FH3A+FR6,-69,1,0
|
||
LWWW L3CP3B+FR1,-152,-39,1
|
||
.long 0
|
||
|
||
.ref hrt_tossed_anim
|
||
.ref shn_tossed_anim
|
||
.ref bam_tossed_anim
|
||
.ref und_tossed_anim
|
||
.ref lex_tossed_anim
|
||
.ref rzr_tossed_anim
|
||
.ref yok_tossed_anim
|
||
|
||
#rollout_tbl
|
||
.long hrt_tossed_anim,rzr_tossed_anim
|
||
.long und_tossed_anim
|
||
.long yok_tossed_anim
|
||
.long shn_tossed_anim,bam_tossed_anim
|
||
.long dnk_tossed_anim,0,lex_tossed_anim
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM HIPTOSS
|
||
|
||
SUBR dnk_tossed_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
.word ANI_GETUP,300
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
WL 4,D3SA3A+FR3
|
||
WL 4,D3SA3A+FR4
|
||
WL 4,D3SA3A+FR5
|
||
WL 4,D3SA3A+FR7
|
||
WL 4,D3SA3A+FR8
|
||
WL 4,D3SA3A+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 3,D3SA3A+FR3
|
||
WL 3,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 3,D3SA3A+FR8
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM BAM BAM DUCK TOSS
|
||
|
||
SUBR dnk_tossed2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WLW ANI_SET_XVEL,60000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,30000h
|
||
.word ANI_OFFSET,20,20,0 ;x,y,z
|
||
WL 4,D3OS3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_GETUP,300
|
||
.word ANI_DAMAGE,D_HIPTOSS
|
||
|
||
WL 3,D3FD3E+FR2
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,20,0,0 ;x,y,z
|
||
WL 3,D3SA3A+FR9
|
||
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
WL 3,D3SA3A+FR3
|
||
WL 3,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 3,D3SA3A+FR8
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 3,D3SA3A+FR9
|
||
#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 PUSH
|
||
|
||
SUBR dnk_2_push2_anim ;From head held
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUSH,9
|
||
WL 3,D3AK3A+FR2
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
WL ANI_GOTO,#tag
|
||
|
||
SUBR dnk_2_push_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUSH,6
|
||
#tag WL 3,D2PS3A+FR1
|
||
WL 3,D2PS3A+FR2
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
WL 3,D2PS3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUSH,30,83,54,14 ;mode,x,y,w,h
|
||
WL 3,D2PS3A+FR4
|
||
WL 3,D2PS3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,40h,-50000h,#no_hit ;range,vel,addr
|
||
WL 15,D2PS3A+FR5
|
||
#no_hit
|
||
WL 15,D2PS3A+FR5
|
||
WL 4,D2PS3A+FR6
|
||
WL 4,D2PS3A+FR7
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #4 PUSH
|
||
|
||
SUBR dnk_4_push_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_STARTATTACK,AT_PUSH,9
|
||
WL 3,D4PS3A+FR1
|
||
WL 3,D4PS3A+FR2
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
WL 3,D4PS3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUSH,47,88,53,9 ;mode,x,y,w,h
|
||
WL 3,D4PS3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
WWL ANI_SLIDE_BACK,40h,-60000h,#no_hit ;range,vel,addr
|
||
WL 15,D4PS3A+FR4
|
||
#no_hit
|
||
WL 15,D4PS3A+FR4
|
||
WL 4,D4PS3A+FR5
|
||
WL 4,D4PS3A+FR6
|
||
WL 4,D4PS3A+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#missedb
|
||
#missed
|
||
WL 15,D4PS3A+FR4
|
||
|
||
WL 4,D4PS3A+FR5
|
||
WL 4,D4PS3A+FR6
|
||
WL 4,D4PS3A+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
******************************************************************************
|
||
*
|
||
* #2 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
SUBR dnk_2_bncoff_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 3,D2AH2A+FR1
|
||
WL 15,D2AH2A+FR2
|
||
WL 4,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
SUBR dnk_4_bncoff_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 14,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
;Bounce off but stay dizzy!
|
||
|
||
SUBR dnk_4_bncoff_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 14,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
.word ANI_END
|
||
|
||
******************************************************************************
|
||
*
|
||
* #4 LOSE BALANCE
|
||
|
||
SUBR dnk_4_losebal_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WLW ANI_SET_XVEL,-50000h,AM_HIT_REL
|
||
|
||
WL 4,D4LB4A+FR2
|
||
WL 4,D4LB4A+FR3
|
||
WL 4,D4LB4A+FR4
|
||
WL 4,D4LB4A+FR5
|
||
WL 4,D4LB4B+FR1
|
||
WL 4,D4LB4B+FR2
|
||
WL 4,D4LB4B+FR3
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_losebal_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WLW ANI_SET_XVEL,-50000h,AM_HIT_REL
|
||
|
||
WL 4,D4LB4A+FR2
|
||
WL 4,D4LB4A+FR3
|
||
WL 4,D4LB4A+FR4
|
||
WL 4,D4LB4A+FR5
|
||
WL 4,D4LB4B+FR1
|
||
WL 4,D4LB4B+FR2
|
||
WL 4,D4LB4B+FR3
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 BIG BOOT
|
||
*
|
||
|
||
SUBR dnk_2_bigboot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_BIGBOOT,9
|
||
WL 3,D3SK3X+FR1
|
||
WL 3,D3SK3X+FR2
|
||
WL 3,D3SK3X+FR3
|
||
WL ANI_CODE,#clrcnt
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BIGBOOT,57,66,32,46 ;mode,x,y,w,h
|
||
WL 2,D3SK3X+FR4
|
||
#lp0
|
||
WL 2,D3SK3X+FR4
|
||
WL ANI_CODE,#holdup
|
||
WL ANI_IFSTATUS,#lp0
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL 3,D3SK3X+FR5
|
||
WL 3,D3SK3X+FR6
|
||
WL 3,D3SK3X+FR7
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 BIG BOOT
|
||
|
||
SUBR dnk_4_bigboot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_BIGBOOT,9
|
||
WL 3,D3SK3X+FR1
|
||
WL 3,D3SK3X+FR2
|
||
WL 3,D3SK3X+FR3
|
||
WL ANI_CODE,#clrcnt
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BIGBOOT,34,78,46,25 ;mode,x,y,w,h
|
||
WL 2,D3SK3X+FR4
|
||
#lp
|
||
WL 2,D3SK3X+FR4
|
||
|
||
WL ANI_CODE,#holdup
|
||
WL ANI_IFSTATUS,#lp
|
||
|
||
; .word ANI_WAITRELEASE,PLAYER_KICK_BIT
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL 3,D3SK3X+FR5
|
||
WL 3,D3SK3X+FR6
|
||
WL 3,D3SK3X+FR7
|
||
WL 3,D3SK3X+FR8
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#clrcnt
|
||
;We are re-using BUT_COUNT in the player process
|
||
clr a0
|
||
move a0,*a13(BUT_COUNT)
|
||
|
||
rets
|
||
|
||
#holdup
|
||
move *a13(BUT_COUNT),a0
|
||
inc a0
|
||
move a0,*a13(BUT_COUNT)
|
||
|
||
;Max time to hold up in air (*2 ticks)
|
||
cmpi 25,a0
|
||
jrgt #button_up
|
||
|
||
move *a13(PLYRNUM),a0
|
||
calla get_but_val_cur
|
||
btst PLAYER_SKICK_BIT,a0 ;still down?
|
||
jrz #button_up
|
||
|
||
;Still holding...
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#button_up
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* DIZZY
|
||
|
||
SUBR dnk_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_START_DIZZY,0 ;0=Standing dizzy
|
||
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
|
||
|
||
#loop
|
||
WL 6,D4SW4C+FR1
|
||
WL 6,D4SW4C+FR2
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR6
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR2
|
||
WL ANI_GOTO,#loop
|
||
|
||
|
||
#****************************************************************************
|
||
*
|
||
* PIN OPPONENT AND RAISE ARM IN VICTORY
|
||
|
||
;Need to have this guy walk toward fallen opponent so he
|
||
;can get closer!
|
||
|
||
;This pin must be started only when opponent is on the ground!
|
||
|
||
SUBR dnk_2_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
;Rotate!
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_4_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
#cont
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 25,999,80h,50h,90000h,TGT_CHEST,0,57,-15
|
||
|
||
WL 3,D4PN5A+FR1
|
||
WL 3,D4PN5A+FR2
|
||
.word ANI_OFFSET,0,57,0 ;x,y,z
|
||
WL 19,D4PN5A+FR3
|
||
; .word ANI_WAITHITGND
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,-40,-8,0,76,20,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ZEROVELS
|
||
|
||
WLW ANI_ATTCHIMAGE,D4PN5L+FR4,10 ;image, zoff (priority)
|
||
WL 3,D4PN5A+FR4
|
||
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
|
||
.word ANI_BOUNCE,4
|
||
WLW ANI_ATTCHIMAGE,D4PN5L+FR5,10 ;image, zoff (priority)
|
||
WL 4,D4PN5A+FR5
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL 4,D4PN5A+FR5
|
||
WL ANI_CODE,win_announce
|
||
WLW ANI_ATTCHIMAGE,0,0 ;Turn it off
|
||
WL 40,D4PN5A+FR6
|
||
|
||
.word ANI_LOOP
|
||
|
||
;Do another ground hit on opponent
|
||
WL ANI_CODE,grnd_hit
|
||
|
||
WL ANI_SET_YVEL,42000h
|
||
WLW ANI_SET_ZVEL,22000h,AM_ABS
|
||
WL 4,D5GD4A+FR1
|
||
WL 4,D5GD4A+FR2
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
WL 6,D3GU4A+FR7
|
||
WL 5,D3GU4A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 5,D3GU4A+FR9
|
||
|
||
WL 8+10,D5WN5B+FR1
|
||
WL 8-2,D5WN5B+FR2
|
||
WL 8-2,D5WN5B+FR3
|
||
WL 8-2,D5WN5B+FR4
|
||
WL 8-2,D5WN5B+FR5
|
||
|
||
#loop WL 6,D5WN5Z+FR1
|
||
WL 6,D5WN5Z+FR2
|
||
WL 6,D5WN5Z+FR3
|
||
WL 6,D5WN5Z+FR4
|
||
WL ANI_GOTO,#loop
|
||
|
||
SUBR win_announce
|
||
|
||
PUSH a10
|
||
move a13,a10
|
||
.ref announce_rnd_winner
|
||
CREATE ANNC_PID,announce_rnd_winner
|
||
PULL a10
|
||
|
||
rets
|
||
|
||
|
||
SUBR grnd_hit
|
||
|
||
PUSH a13
|
||
move *a13(WHOIHIT),a13,L
|
||
move *a13(WRESTLERNUM),a0
|
||
move a0,a1
|
||
sll 5,a0
|
||
addi #hit_t,a0
|
||
move *a0,a0,L
|
||
.ref change_anim1a
|
||
calla change_anim1a
|
||
PULL a13
|
||
rets
|
||
|
||
#hit_t
|
||
.long hrt_hitonground_anim ;0 Bret Hart
|
||
.long rzr_hitonground_anim ;1 Razor Ramon
|
||
.long und_hitonground_anim ;2 Undertaker
|
||
.long yok_hitonground_anim ;3 Yokozuna
|
||
.long shn_hitonground_anim ;4 Shawn Michaels
|
||
.long bam_hitonground_anim ;5 Bam Bam
|
||
.long dnk_hitonground_anim ;6 Doink
|
||
.long 0 ;7 spare
|
||
.long lex_hitonground_anim ;8 Lex Luger
|
||
.long 0 ;9 Referee
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 CLIMB THROUGH ROPES
|
||
|
||
SUBR dnk_climbthru_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WLW ANI_SET_XVEL,2000h,AM_FACE_REL
|
||
.word ANI_OFFSET,13,0,0
|
||
WL 4,D3CR3D+FR1
|
||
.word ANI_BENDROPE,0
|
||
WL 4,D3CR3D+FR2
|
||
WL 4,D3CR3D+FR3
|
||
WL 4,D3CR3D+FR4
|
||
WL 4,D3CR3D+FR5
|
||
|
||
.word ANI_BENDROPE,2
|
||
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
|
||
WL 4,D3CR3D+FR6
|
||
.word ANI_BENDROPE,2
|
||
WL 4,D3CR3D+FR7
|
||
WL 4,D3CR3D+FR8
|
||
.word ANI_BENDROPE,3
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
WL 4,D3CR3D+FR9
|
||
WL 4,D3CR3D+FR10
|
||
.word ANI_ZEROVELS
|
||
.word ANI_BENDROPE,-1
|
||
.word ANI_OFFSET,43,-3,0
|
||
WL 4,D3CR3D+FR11
|
||
|
||
;now jump off...
|
||
WL 4,D4JD4A+FR1 ;D4FM4A+FR1
|
||
WL 4,D4JD4A+FR2
|
||
|
||
WL ANI_SET_YVEL,60000h
|
||
|
||
; WL ANI_CODE,#set_xvel
|
||
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
|
||
|
||
WL 3,D4JD4A+FR4
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_ROPE_Z,R_TOP,RZ_NORM
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
|
||
.word ANI_ZEROVELS
|
||
WL 3,D4JD4A+FR6
|
||
WL 3,D4JD4A+FR7
|
||
WL 6,D4JD4A+FR8
|
||
WL 3,D4JD4A+FR10
|
||
WL 3,D4JD4A+FR11
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;jump in
|
||
WL 4,D4JD4A+FR1
|
||
WL 4,D4JD4A+FR2
|
||
|
||
WL ANI_CODE,#set_trgt
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
.word ANI_LEAPATPOS,1ch,200,0,0,0 ;#ticks,dist,xoff,yoff,zoff
|
||
|
||
WL 4,D4JD4A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
|
||
WL 4,D4JD4A+FR6
|
||
WL 3,D4JD4A+FR7
|
||
WL 3,D4JD4A+FR11
|
||
|
||
WL ANI_CODE,#set_z
|
||
WLW ANI_SET_XVEL,2000h,AM_FACE_REL
|
||
|
||
;climb through
|
||
WL 3,D3CR3D+FR1
|
||
.word ANI_BENDROPE,0
|
||
WL 3,D3CR3D+FR2
|
||
WL 3,D3CR3D+FR3
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
WL 3,D3CR3D+FR4
|
||
WL 3,D3CR3D+FR5
|
||
|
||
.word ANI_BENDROPE,2
|
||
; .word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
; .word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
|
||
WL 3,D3CR3D+FR6
|
||
.word ANI_BENDROPE,2
|
||
WL 3,D3CR3D+FR7
|
||
WL 3,D3CR3D+FR8
|
||
.word ANI_BENDROPE,3
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
WL 3,D3CR3D+FR9
|
||
WL 3,D3CR3D+FR10
|
||
.word ANI_BENDROPE,-1
|
||
.word ANI_OFFSET,43,-3,0
|
||
WL 3,D3CR3D+FR11
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_OFFSET,-5,0,0
|
||
WL ANI_CODE,clr_climb
|
||
|
||
;done
|
||
|
||
.word ANI_ROPE_Z,R_TOP,RZ_NORM
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#set_z
|
||
|
||
|
||
clr_climb
|
||
|
||
clr a0
|
||
move a0,*a13(CLIMBING_THRU) ;1=Climbing thru ropes flag
|
||
rets
|
||
|
||
#set_trgt
|
||
movi RING_X_CENTER-0f8h-50,a0 ;Jump onto left side apron
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft
|
||
;On right side
|
||
movi RING_X_CENTER+0f8h+50,a0 ;Jump onto right side apron
|
||
#onlft
|
||
move a0,*a13(TGT_XOFF)
|
||
|
||
movi RING_Z_CENTER,a0
|
||
move a0,*a13(TGT_ZOFF)
|
||
|
||
movi MAT_Y,a0
|
||
move a0,*a13(TGT_YOFF)
|
||
|
||
rets
|
||
|
||
SET_DIR_FACE
|
||
MOVI 10,A0
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft1
|
||
MOVI 6,A0
|
||
#onlft1
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
RETS
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbthru_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;Must rotate toward ropes!
|
||
;Do a different sequence
|
||
|
||
;lie down
|
||
WL ANI_CODE,#ckspin
|
||
WL ANI_IFSTATUS,#dir4
|
||
|
||
;Facing #2, spin first!
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
#dir4
|
||
WL 3,D3GU4A+FR9
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR2
|
||
|
||
;roll over once
|
||
WLW ANI_SET_ZVEL,70000h,AM_ABS
|
||
|
||
WL 3,D3SA3A+FR9
|
||
WL 3,D3RL1B+FR2
|
||
WL 3,D3RL1B+FR3
|
||
|
||
WL 3,D3RL1B+FR4
|
||
WL 3,D3RL1B+FR5
|
||
WL 3,D3RL1B+FR6
|
||
WL 3,D3RL1B+FR7
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP+MODE_NOSHADOW
|
||
|
||
;climb through
|
||
WL 3,D2CR1A+FR3
|
||
WL 3,D2CR1A+FR2
|
||
WL 3,D2CR1A+FR1
|
||
.word ANI_OFFSET,0,-37h,0 ;x,y,z
|
||
WL 1,D2ST2B+FR3
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#ckspin
|
||
move *a13(FACING_DIR),a14
|
||
btst 0,a14
|
||
jrnz #faceup
|
||
|
||
move *a13(ANIMODE),a0
|
||
ori MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
RETS
|
||
#faceup
|
||
move *a13(ANIMODE),a0
|
||
ANDI 0FFFFH-MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
.word ANI_GRAVITY_OFF
|
||
.word ANI_OFFSET,0,37h,-60
|
||
WL 3,D2CR1A+FR1
|
||
WL 3,D2CR1A+FR2
|
||
WL 3,D2CR1A+FR3
|
||
|
||
;roll
|
||
WLW ANI_SET_ZVEL,-70000h,AM_ABS
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,D3RL1B+FR7
|
||
WL 3,D3RL1B+FR6
|
||
WL 3,D3RL1B+FR5
|
||
WL 3,D3RL1B+FR4
|
||
WL 3,D3RL1B+FR3
|
||
WL 3,D3RL1B+FR2
|
||
.word ANI_ZEROVELS
|
||
.word ANI_GRAVITY_ON
|
||
|
||
;get up
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
WL ANI_CODE,clr_climb
|
||
.word ANI_OFFSET,0,0,0
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbthru_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;lie down
|
||
WL ANI_CODE,#set_zvel1
|
||
WL ANI_IFSTATUS,#dir4
|
||
;Facing #2
|
||
WL 3,D2GD2A+FR9
|
||
WL 3,D2GD2A+FR7
|
||
WL 3,D2GD2A+FR6
|
||
WL 3,D2GD2A+FR4
|
||
WL ANI_CODE,#set_zvel3
|
||
WL ANI_GOTO,#cont
|
||
|
||
#dir4
|
||
WL 3,D3GU4A+FR9
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR2
|
||
|
||
;roll over once
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,D3RL1B+FR11
|
||
#cont
|
||
WL 3,D3RL1B+FR10
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP+MODE_NOSHADOW
|
||
WL 3,D3RL1B+FR9
|
||
WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR7
|
||
|
||
;climb through
|
||
.word ANI_OFFSET,0,-61,0
|
||
.word ANI_ZEROVELS
|
||
WL 3,D2CR1A+FR8
|
||
WL 3,D2CR1A+FR9
|
||
WL 3,D2CR1A+FR10
|
||
WL 3,D2CR1A+FR11
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#set_zvel1
|
||
move *a13(FACING_DIR),a14
|
||
btst 0,a14
|
||
jrz #facedwn
|
||
move *a13(ANIMODE),a0
|
||
ANDI 0FFFFH-MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
#facedwn
|
||
move *a13(ANIMODE),a0
|
||
ori MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
#set_zvel2
|
||
movi -6c000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#set_zvel3
|
||
movi -7c000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP+MODE_NOCONFINE+MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
WL 3,D2CR1A+FR11
|
||
WL 3,D2CR1A+FR10
|
||
WL 3,D2CR1A+FR9
|
||
WL 3,D2CR1A+FR8
|
||
.word ANI_OFFSET,0,61,0
|
||
|
||
;roll over
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR9
|
||
WL 3,D3RL1B+FR10
|
||
WL 3,D3RL1B+FR11
|
||
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_ZEROVELS
|
||
|
||
;get up
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
WL ANI_CODE,clr_climb
|
||
.word ANI_OFFSET,0,0,100
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#set_zvel2
|
||
movi 42000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_roll_frames
|
||
|
||
.word 7 ;speed
|
||
.long 50000h ;z velocity
|
||
.long 10000h*10/255 ;inv multiply (0-255 -> 0-10)
|
||
|
||
.long D3SA3A+FR9 ;0
|
||
.long D3RL1B+FR2 ;1
|
||
.long D3RL1B+FR3 ;2
|
||
.long D3RL1B+FR4 ;3
|
||
.long D3RL1B+FR5 ;4
|
||
.long D3RL1B+FR6 ;5
|
||
.long D3RL1B+FR7 ;6
|
||
.long D3RL1B+FR8 ;7
|
||
.long D3RL1B+FR9 ;8
|
||
.long D3RL1B+FR10 ;9
|
||
.long D3RL1B+FR11 ;10
|
||
.long 0,0,0,0,0,0
|
||
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|