2788 lines
61 KiB
NASM
Executable File
2788 lines
61 KiB
NASM
Executable File
**************************************************************
|
||
*
|
||
* Software: Jamie Rivett
|
||
* Initiated: 5/26/94
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
**************************************************************
|
||
|
||
.file "shnseq2.asm"
|
||
.title "routine punches and kicks"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "macros.h"
|
||
.include "mproc.equ" ;Mproc equates
|
||
.include "sys.equ"
|
||
.include "game.equ"
|
||
.include "plyr.equ"
|
||
.include "anim.equ"
|
||
.include "sound.h"
|
||
.include "shawnimg.h"
|
||
.include "display.equ"
|
||
.include "ring.equ"
|
||
.include "damage.equ"
|
||
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
|
||
;BAM BAM
|
||
.ref B4YR3A,B3RN3A
|
||
|
||
;DOINK
|
||
.ref D4YR3B,D3RN3B
|
||
|
||
;BRET
|
||
.ref H4YR3A,H3RN3A
|
||
|
||
;LEX
|
||
.ref L4YR3B,L3RN3B
|
||
|
||
;RAZOR
|
||
.ref R4YR3A,R3RN3D
|
||
|
||
;SHAWN
|
||
.ref shn_faceup_getup_anim,shn_faceup_getup2_anim
|
||
.ref S4YR3A,S3RN3A
|
||
|
||
;TAKER
|
||
.ref U4YR3B,U3RN3A
|
||
|
||
;YOKO
|
||
.ref Y4YR3A,Y3RN3C
|
||
|
||
;MISC
|
||
.ref HIT_THE_MAT,CALL_MISSES,get_opp_process,get_leap
|
||
.ref set_target_offsets,start_run_anim,SMALL_BOUNCE
|
||
.ref start_run_flung,ckzpos,choose_2or4
|
||
.ref no_bk_xvel,win_announce,grnd_hit,SET_DIR_FACE
|
||
.ref DO_CROWD_CHEER,check_xvel,tgt_ground,set_tbukl_confine
|
||
.ref free_toss_check,setup_freetoss
|
||
.ref hit_nearest,set_tbukl_airmode,shn_2_hiptoss_anim
|
||
.ref check_raisearm_bit
|
||
.ref shn_combo_sliding_kicktoss_anim,DO_COMBO_MESS
|
||
.ref shn_combo_spinkick_anim,shn_4combo_bslam_anim
|
||
.ref CALL_ANI_AVERAGE_MOVE
|
||
.REF MOVE_NAME_ANNC
|
||
|
||
******************************************************************************
|
||
* SYMBOLS DEFINED IN THIS FILE
|
||
|
||
******************************************************************************
|
||
* EQUATES FOR THIS FILE
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 NORMAL PUNCH
|
||
|
||
SUBR shn_2_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PU3C+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PU3C+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PU3C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,3
|
||
WL 1,S2PU3C+FR2
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,52,91,28,8
|
||
WL 3,S2PU3C+FR3
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,S2PU3C+FR3
|
||
#no_hit
|
||
WL 1,S2PU3C+FR3
|
||
|
||
;one more tick if blocked, three more if hit, none if missed.
|
||
.word ANI_HMBWAIT,3,0,1
|
||
|
||
WL 2,S2PU3C+FR4
|
||
WL 2,S2PU3C+FR5
|
||
WL 2,S2PU3C+FR7
|
||
WL 2,S2PU3C+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 NORMAL PUNCH
|
||
|
||
SUBR shn_4_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PU3D+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PU3D+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PU3D+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,3
|
||
WL 1,S4PU3D+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,49,85,26,10
|
||
WL 3,S4PU3D+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,S4PU3D+FR4
|
||
|
||
#no_hit
|
||
WL 1,S4PU3D+FR4
|
||
|
||
.word ANI_HMBWAIT,3,0,1
|
||
|
||
WL 2,S4PU3D+FR5
|
||
WL 2,S4PU3D+FR6
|
||
WL 2,S4PU3D+FR7
|
||
WL 2,S4PU3D+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
*************
|
||
*
|
||
* COMBO PUNCH
|
||
|
||
SUBR shn_combo_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,15
|
||
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
|
||
|
||
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
|
||
|
||
WL 2,S4PU3D+FR2
|
||
.word ANI_INC_COMBO
|
||
#rpt
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH2,21,40,62,34 ;mode,x,y,w,h
|
||
WL 1,S4MK3A+FR1
|
||
WLW ANI_SET_XVEL,0000h,AM_FACE_REL
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
.word ANI_INC_COMBO
|
||
WLLL ANI_SETOPPVELS,0,8000h,0h ;x,y,z vels
|
||
WL 1,S4MK3A+FR1
|
||
WL 2,S4MK3A+FR2
|
||
WL 2,S4MK3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH2,21,40,62,34 ;mode,x,y,w,h
|
||
WL 1,S4MK3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
.word ANI_INC_COMBO
|
||
WLLL ANI_SETOPPVELS,0,8000h,0h ;x,y,z vels
|
||
WL 1,S4MK3A+FR4
|
||
WL 2,S4MK3A+FR5
|
||
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
|
||
|
||
WL 2,S4MK3A+FR7
|
||
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NO_FLYING
|
||
WL ANI_CHANGEANIM,shn_combo_flying_kick_anim
|
||
|
||
#NO_FLYING
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NO_SPIN
|
||
WL ANI_CHANGEANIM,shn_combo_knee_anim
|
||
|
||
#NO_SPIN
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#EXIT_PUNCH
|
||
WL ANI_CHANGEANIM,shn_combo_spinkick_anim
|
||
|
||
#EXIT_PUNCH
|
||
|
||
.word ANI_DETACH
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedc
|
||
WL 3,S4MK3A+FR6
|
||
WL 3,S4MK3A+FR6
|
||
#missedbc
|
||
WL 3,S4MK3A+FR7
|
||
|
||
.word ANI_DETACH
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 3,S4MK3A+FR7
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 PUSH
|
||
|
||
SUBR shn_4_push_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
WL ANI_SETFLAG,M_PUSH
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUSH,9
|
||
WL 3,S4PS3A+FR1
|
||
WL 3,S4PS3A+FR2
|
||
WL 3,S4PS3A+FR3
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ATTACK_ON, AMODE_PUSH,33,85,44,17 ;mode,x,y,w,h
|
||
WL 3,S4PS3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
|
||
WL 15,S4PS3A+FR4
|
||
#no_hit
|
||
WL 3,S4PS3A+FR4
|
||
|
||
WL ANI_IFSTATUS,#hit
|
||
;If missed on push, hold a little longer
|
||
WL 5,S4PS3A+FR4
|
||
#hit
|
||
WL 4,S4PS3A+FR2
|
||
WL 4,S4PS3A+FR1
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 HEADBUTT
|
||
|
||
SUBR shn_2_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2BC3B+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2BC3B+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2BC3B+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,6
|
||
WL 3,S2BC3B+FR4
|
||
WL 3,S2BC3B+FR5
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,40,81,10,12 ;mode,x,y,w,h
|
||
WL 3,S2BC3B+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,S2BC3B+FR6
|
||
#no_hit
|
||
|
||
.word ANI_HMBWAIT,3,0,1
|
||
WL 3,S2BC3B+FR7
|
||
WL 3,S2BC3B+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 HEADBUTT
|
||
|
||
SUBR shn_4_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,6
|
||
WL 3,S4BC3A+FR4
|
||
WL 3,S4BC3A+FR5
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,32,91,12,15 ;mode,x,y,w,h
|
||
WL 3,S4BC3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,S4BC3A+FR6
|
||
#no_hit
|
||
|
||
.word ANI_HMBWAIT,3,0,1
|
||
WL 3,S4BC3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* COMBO HEADBUTT
|
||
|
||
SUBR shn_combo_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SET_RPTCOUNT,4 ;5 times
|
||
WLW ANI_SET_XVEL,28000h,AM_FACE_REL
|
||
#butt_loop
|
||
.word ANI_CLR_BUTCOUNT
|
||
WL 2,S4BC3A+FR2
|
||
.word ANI_STARTATTACK,AT_HDBUTT,6
|
||
WL 2,S4BC3A+FR4
|
||
WL 2,S4BC3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,32,71,42,35 ;mode,x,y,w,h
|
||
WL 1,S4BC3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#no_hit_c
|
||
.word ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
|
||
|
||
WL ANI_SET_YVEL,18000h
|
||
WL 2,S4BC3A+FR6
|
||
WLW ANI_SET_XVEL,09000h,AM_FACE_REL
|
||
WL 3,S4BC3A+FR6
|
||
WL 2,S4BC3A+FR8
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#butt_loop
|
||
.word ANI_DETACH
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NO_BODYSLAM
|
||
WL ANI_CHANGEANIM,shn_4combo_bslam_anim
|
||
|
||
#NO_BODYSLAM
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NO_SLIDING
|
||
WL ANI_CHANGEANIM,shn_combo_flying_kick_anim
|
||
|
||
#NO_SLIDING
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#MISSED_IT
|
||
WL ANI_CHANGEANIM,shn_combo_sliding_kicktoss_anim
|
||
|
||
#MISSED_IT
|
||
.word ANI_DETACH
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#no_hit_c
|
||
|
||
.word ANI_DETACH
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 3,S4BC3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 KICK
|
||
|
||
SUBR shn_2_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2KM3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2KM3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2KM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,5
|
||
WL 1,S2KM3A+FR2
|
||
WL 2,S2KM3A+FR3
|
||
WL 1,S2KM3A+FR4
|
||
|
||
WL ANI_SET_YVEL,20000h
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
|
||
WL 3,S2KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
|
||
WL ANI_SET_YVEL,30000h
|
||
#no_slide
|
||
.word ANI_HMBWAIT,4,0,2
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 2,S2KM3A+FR5
|
||
WL 3,S2KM3A+FR6
|
||
WL 2,S2KM3A+FR7
|
||
WL 3,S2KM3A+FR8
|
||
WL 2,S2KM3A+FR9
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 KICK
|
||
|
||
SUBR shn_4_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4KM3C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4KM3C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4KM3C+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,4
|
||
WL 1,S4KM3C+FR3
|
||
WL 2,S4KM3C+FR4
|
||
WL ANI_SET_YVEL,20000h
|
||
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
|
||
WL 3,S4KM3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
|
||
WL ANI_SET_YVEL,30000h
|
||
#no_slide
|
||
.word ANI_HMBWAIT,4,0,2
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 2,S4KM3C+FR6
|
||
WL 3,S4KM3C+FR7
|
||
WL 2,S4KM3C+FR8
|
||
WL 3,S4KM3C+FR9
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 Jump kick
|
||
|
||
SUBR shn_4_jump_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,12
|
||
WL 3,S4KI3I+FR1
|
||
WL 3,S4KI3I+FR2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 10,999,95,50,90000h,TGT_HEAD,70,100,10
|
||
WL 4,S4KI3I+FR3
|
||
WL 3,S4KI3I+FR4
|
||
WL 3,S4KI3I+FR5
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,20,69,46,53 ;mode,x,y,w,h
|
||
WL 3,S4KI3I+FR6
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
|
||
WL ANI_SET_YVEL,30000h
|
||
#no_slide
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFBLOCKED,#missedb
|
||
|
||
.word ANI_SHAKER,35
|
||
|
||
WL 3,S4KI3I+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_IFBLOCKED,#missedb
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
.word ANI_DRAW_NAME,17
|
||
WL ANI_GOTO,#hit
|
||
|
||
#missedb
|
||
; WL 3,S4KI3I+FR7
|
||
;fall through
|
||
#missed
|
||
WL 3,S4KI3I+FR7
|
||
;fall through
|
||
#hit
|
||
WL 3,S4KI3I+FR8
|
||
WL 3,S4KI3I+FR9
|
||
.word ANI_OFFSET,-10,3,0
|
||
WL 3,S4KM3C+FR8
|
||
WL 3,S4KM3C+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
**************
|
||
*
|
||
* COMBO KICK
|
||
|
||
SUBR shn_combo_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 4,S4KM3C+FR2
|
||
.word ANI_STARTATTACK,AT_KICK,4
|
||
WL 3,S4KM3C+FR3
|
||
WL 3,S4KM3C+FR4
|
||
WL ANI_SET_YVEL,20000h
|
||
.word ANI_CLR_STATUS
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
|
||
WL 3,S4KM3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed_c
|
||
WLLL ANI_SETOPPVELS,0,10000h,0h ;x,y,z vels
|
||
.WORD ANI_INC_COMBO
|
||
WL 3,S4KM3C+FR5
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;5 times
|
||
#kick_loop
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,S4KM3C+FR2
|
||
.word ANI_STARTATTACK,AT_KICK,4
|
||
WL 1,S4KM3C+FR3
|
||
WL 2,S4KM3C+FR4
|
||
WL ANI_SET_YVEL,20000h
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
|
||
WL 1,S4KM3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed_c
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,10000h,0h ;x,y,z vels
|
||
.WORD ANI_INC_COMBO
|
||
WL 2,S4KM3C+FR5
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#kick_loop
|
||
|
||
WLW ANI_SET_XVEL,18000h,AM_FACE_REL
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL 2,S4KM3C+FR2
|
||
.word ANI_STARTATTACK,AT_KICK,4
|
||
WL 1,S4KM3C+FR3
|
||
WL 2,S4KM3C+FR4
|
||
WL ANI_SET_YVEL,20000h
|
||
.word ANI_CLR_STATUS
|
||
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
|
||
WL 1,S4KM3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missed_c
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,10000h,0h ;x,y,z vels
|
||
.WORD ANI_INC_COMBO
|
||
WL 2,S4KM3C+FR5
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NO_SLAMS
|
||
WL ANI_CHANGEANIM,shn_4combo_bslam_anim
|
||
|
||
#NO_SLAMS
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NO_BUTTS
|
||
WL ANI_CHANGEANIM,shn_combo_flying_kick_anim
|
||
|
||
#NO_BUTTS
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#missed_c
|
||
WL ANI_CHANGEANIM,shn_combo_butt_anim
|
||
|
||
#missed_c
|
||
|
||
.word ANI_DETACH
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 4-1,S4KM3C+FR6
|
||
WL 4-1,S4KM3C+FR7
|
||
WL 4-1,S4KM3C+FR8
|
||
WL 3,S4KM3C+FR9
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;#************
|
||
;*
|
||
;* #3 BACKFLIP KICK
|
||
;
|
||
;;FIX!!! MAKE THIS A COOL MOVE 1/12/95
|
||
;
|
||
; SUBR shn_backflip_kick_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; .word ANI_STARTATTACK,AT_KICK,12
|
||
; WL 3,S3KF3B+FR1
|
||
; WL 3,S3KF3B+FR2
|
||
; WL 1,S3KF3B+FR3
|
||
; WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
|
||
; WL ANI_SET_YVEL,5c000h
|
||
; WL 2,S3KF3B+FR3
|
||
; .word ANI_OFFSET,-24,4,0
|
||
; WL 3,S3KF3B+FR4
|
||
; .word ANI_ATTACK_ON,AMODE_SHNBFKIK,17,40,47,62
|
||
; WL 3,S3KF3B+FR5
|
||
; .word ANI_ATTACK_OFF
|
||
; WL 3,S3KF3B+FR6
|
||
; WL 3,S3KF3B+FR7
|
||
; WL 3,S3KF3B+FR8
|
||
; WL 3,S3KF3B+FR9
|
||
; WL 3,S3KF3B+FR10
|
||
; .word ANI_WAITHITGND
|
||
; .WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
; .word ANI_ZEROVELS
|
||
; WL 3,S3KF3B+FR11
|
||
; WL 3,S3KF3B+FR12
|
||
; .word ANI_FACEDOWN
|
||
;
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR shn_2_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2MP2A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2MP2A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2MP2A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_STOMP,10
|
||
|
||
;if we're not going to hit, do a LEAPAT
|
||
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,0,0,-30,5,5,40
|
||
WL 1,S2MP2A+FR3
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
|
||
WL ANI_IFSTATUS,#no_leapat
|
||
|
||
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 12,999,160,140,90000h,TGT_USER,28,0,-50
|
||
.word ANI_STARTATTACK,AT_STOMP,12
|
||
WL ANI_CODE,no_bk_xvel
|
||
|
||
#no_leapat
|
||
WL 3,S2MP2A+FR3
|
||
WL 3,S2MP2A+FR4
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,26
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_STOMP,16,-8,-50,27,33,60
|
||
WL 3,S2MP2A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#no_miss
|
||
|
||
WL ANI_CODE,CALL_MISSES
|
||
|
||
#no_miss
|
||
WL 4,S2MP2A+FR6
|
||
WL 4,S2MP2A+FR7
|
||
WL 4,S2MP2A+FR8
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #4 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR shn_4_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4MP4C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4MP4C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4MP4C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
;if we're not going to hit, do a LEAPAT
|
||
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,0,0,-10,5,5,60
|
||
WL 1,S4MP4C+FR3
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#no_leapat
|
||
|
||
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 12,999,112,96,90000h,TGT_USER,12,0,45
|
||
LEAPATOPP 12,999,160,140,90000h,TGT_USER,12,0,45
|
||
.word ANI_STARTATTACK,AT_STOMP,12
|
||
WL ANI_CODE,no_bk_xvel
|
||
|
||
#no_leapat
|
||
.word ANI_STARTATTACK,AT_STOMP,6
|
||
WL 3,S4MP4C+FR3
|
||
WL 3,S4MP4C+FR4
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,26
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,-3,-13,-10,44,35,60
|
||
WL 3,S4MP4C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#no_miss
|
||
|
||
WL ANI_CODE,CALL_MISSES
|
||
|
||
#no_miss
|
||
WL 4,S4MP4C+FR6
|
||
WL 4,S4MP4C+FR7
|
||
WL 4,S4MP4C+FR8
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* TURNBUCKLE STOMP
|
||
|
||
SUBR shn_bstomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCONFINE|MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
WL 4,S4MP4C+FR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 35,190,190,190,90000h,TGT_CHEST,30,6,40
|
||
.word ANI_STARTATTACK,AT_LEAPING,35
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
WL ANI_CODE,set_tbukl_airmode
|
||
.word ANI_GRAVITY_ON
|
||
.word ANI_SHAKECORNER
|
||
|
||
WL ANI_CODE,check_xvel
|
||
|
||
WL 4,S4MP4C+FR3
|
||
|
||
;attack box dimensions depends on opp mode
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-26,0,-10,82,40,70
|
||
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
|
||
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-26,50,-10,82,40,70
|
||
|
||
#opp_onground
|
||
WL 12,S4MP4C+FR4
|
||
WL ANI_CODE,set_tbukl_confine
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.word ANI_SHAKER,30
|
||
.word ANI_SHAKEALL,1
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#hit
|
||
|
||
;missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
; WL ANI_CODE,tbukl_miss_damage
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_GOTO,#common
|
||
|
||
#hit
|
||
;hit. bounce off.
|
||
WL ANI_SET_YVEL,40000h
|
||
WLW ANI_SET_ZVEL,-20000h,AM_ABS
|
||
WLW ANI_SET_XVEL,20000h,AM_FACE_REL
|
||
|
||
#common
|
||
WL 2,S4MP4C+FR5
|
||
WL 3,S4MP4C+FR6
|
||
WL 4,S4MP4C+FR7
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL 4,S4MP4C+FR8
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* TURNBUCKLE ELBOW DROP
|
||
|
||
#yoff equ 33
|
||
|
||
SUBR shn_belbow_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCONFINE|MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
WL 3,S4PJ3E+FR4
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 31,190,190,190,90000h,TGT_CHEST,22,11+#yoff,50
|
||
.word ANI_STARTATTACK,AT_LEAPING,31
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
WL ANI_CODE,set_tbukl_airmode
|
||
.word ANI_GRAVITY_ON
|
||
.word ANI_SHAKECORNER
|
||
|
||
;Check x vel to make sure we aren't going to land on ropes!
|
||
WL ANI_CODE,check_xvel
|
||
|
||
.word ANI_OFFSET,0,#yoff,0
|
||
WL 3,S4PJ3E+FR5
|
||
WL 3,S4PJ3E+FR6
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-26,0,-10,82,40,70
|
||
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
|
||
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-26,40,-10,82,40,70
|
||
|
||
#opp_onground
|
||
WL 6,S4PJ3E+FR7
|
||
WL ANI_CODE,set_tbukl_confine
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.word ANI_SHAKER,30
|
||
.word ANI_SHAKEALL,1
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#hit
|
||
|
||
;missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
; WL ANI_CODE,tbukl_miss_damage
|
||
WL ANI_GOTO,#AVOID_HIT_CALL
|
||
|
||
#hit
|
||
.word ANI_DRAW_NAME,18
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
#AVOID_HIT_CALL
|
||
.word ANI_BOUNCE,5
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
WL 2,S4PJ3E+FR8
|
||
WL 4,S4PJ3E+FR9
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL ANI_CHANGEANIM,shn_faceup_getup2_anim
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 FALLING PUNCH
|
||
|
||
SUBR shn_2_falling_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PJ3D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PJ3D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2PJ3D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 3,S2PJ3D+FR2
|
||
WL 3,S2PJ3D+FR3
|
||
.word ANI_OFFSET,0,64,0
|
||
WL ANI_CODE,elbow_tgt2
|
||
WL ANI_CODE,tgt_ground
|
||
; LEAPATOPP 20,999,112,96,90000h,TGT_USER,-10,0,-50
|
||
LEAPATOPP 20,999,160,140,90000h,TGT_USER,-10,0,-50
|
||
|
||
.word ANI_STARTATTACK,AT_LBDROP,10
|
||
WL 3,S2PJ3D+FR4
|
||
WL 3,S2PJ3D+FR5
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,-24,0,-40,26,56,50
|
||
WL 1,S2PJ3D+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#hit2
|
||
|
||
;missed
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_GOTO,#cont2
|
||
|
||
#hit2
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
#cont2
|
||
.word ANI_BOUNCE,4
|
||
WL 4,S2PJ3D+FR7
|
||
WL 4,S2PJ3D+FR8
|
||
.word ANI_XFLIP
|
||
WL 1,S3RL3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 4,S3RL3A+FR6
|
||
|
||
WL ANI_CHANGEANIM,shn_faceup_getup_anim
|
||
|
||
#*************************
|
||
*
|
||
* #4 FALLING PUNCH
|
||
|
||
SUBR shn_4_falling_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PJ3F+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PJ3F+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4PJ3F+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 3,S4PJ3F+FR2
|
||
.word ANI_OFFSET,0,71,0
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; LEAPATOPP 20,999,72,48h,90000h,TGT_USER,19,0,30
|
||
LEAPATOPP 20,999,160,140,90000h,TGT_USER,19,0,30
|
||
WL ANI_CODE,#zero_x_4
|
||
|
||
WL 3,S4PJ3F+FR3
|
||
WL 3,S4PJ3F+FR4
|
||
WL 3,S4PJ3F+FR5
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,8,2,-10,23,56,50
|
||
WL 1,S4PJ3F+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFSTATUS,#hit4
|
||
|
||
;missed
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_GOTO,#cont4
|
||
|
||
#hit4
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
#cont4
|
||
.word ANI_BOUNCE,4
|
||
WL 4,S4PJ3F+FR7
|
||
WL 1,S4PJ3F+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 4,S4PJ3F+FR8
|
||
|
||
WL ANI_CHANGEANIM,shn_faceup_getup_anim
|
||
|
||
|
||
#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_2
|
||
; move *a13(CLOSEST_XDIST),a0
|
||
; cmpi 32,a0
|
||
; jrgt #ok2 ;Is he to the side?
|
||
;
|
||
;;Don't float if dropping straight down
|
||
; clr a0
|
||
; move a0,*a13(OBJ_XVEL),L
|
||
;#ok2 rets
|
||
|
||
|
||
;other scripts in this file use this one, thus the file-scope label
|
||
zero_x
|
||
#zero_x_4
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi 64,a0
|
||
jrgt #ok4 ;Is he to the side?
|
||
|
||
;Don't float if dropping straight down
|
||
clr a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
|
||
#ok4 rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 KNEE
|
||
|
||
SUBR shn_2_knee_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2NM3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2NM3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S2NM3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,6
|
||
WL 3,S2NM3A+FR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,32,20,90000h,TGT_CHEST,50,80,0
|
||
WL 3,S2NM3A+FR3
|
||
|
||
.word ANI_ATTACK_ON,AMODE_KNEE,36,28,38,49 ;mode,x,y,w,h
|
||
WL 3,S2NM3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WWL ANI_SLIDE_BACK,28h,-70000h,#no_hit
|
||
|
||
#no_hit
|
||
WL 13,S2NM3A+FR5
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,S2NM3A+FR6
|
||
WL 3,S2NM3A+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#************
|
||
*
|
||
* #4 KNEE
|
||
|
||
SUBR shn_4_knee_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4NM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4NM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,S4NM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,6
|
||
WL 3,S4NM3A+FR3
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,32,20,90000h,TGT_CHEST,45,80,0
|
||
|
||
.word ANI_ATTACK_ON,AMODE_KNEE,11,22,58,60 ;mode,x,y,w,h
|
||
WL 3,S4NM3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WWL ANI_SLIDE_BACK,28h,-70000h,#no_hit
|
||
|
||
#no_hit
|
||
WL 13,S4NM3A+FR4
|
||
WL 3,S4NM3A+FR5
|
||
WL 3,S4NM3A+FR6
|
||
WL 3,S4NM3A+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR shn_combo_knee_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,S4NM3A+FR2
|
||
WL 3,S4NM3A+FR3
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 21,999,32,20,90000h,TGT_CHEST,45,78,0
|
||
|
||
.word ANI_ATTACK_ON,AMODE_BIGKNEE,11,22,58,60 ;mode,x,y,w,h
|
||
WL 3,S4NM3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WWL ANI_SLIDE_BACK,28h,-70000h,#no_hit_c
|
||
.WORD ANI_INC_COMBO
|
||
|
||
#no_hit_c
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 13,S4NM3A+FR4
|
||
WL 3,S4NM3A+FR5
|
||
WL 3,S4NM3A+FR6
|
||
WL 3,S4NM3A+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GRAB & FLING OPPONENT (INTO A RUN)
|
||
|
||
SUBR shn_2_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,10
|
||
WL 2,S1TT5Z+FR2
|
||
WL 2,S1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR shn_4_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
.word ANI_STARTATTACK,AT_PUPPET,8
|
||
|
||
#cont
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,50,20,40,90000h,TGT_CHEST,40,0,25
|
||
WL ANI_SET_YVEL,0000h
|
||
WL 5,S4GF3B+FR1
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,33,56,44,18 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,6,S4GF3B+FR2
|
||
.word ANI_ZERO_XZVELS
|
||
WWL ANI_WAITHITOPP,2,S4GF3B+FR2
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missedb
|
||
WL ANI_IFBLOCKED,#missedb
|
||
|
||
;got him
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_CODE,DO_GRUNT
|
||
.ref CALL_SETUP
|
||
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
|
||
WWLLW ANI_SUPERSLAVE2,10,S4GF3B+FR2,#puppet_tbl,0
|
||
WWLLW ANI_SUPERSLAVE2,6,S4GF3B+FR3,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,4,S4GF3B+FR4,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,4,S4GF3B+FR5,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,4,S4GF3B+FR6,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,4,S4GF3B+FR7,#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 6,S4GF3B+FR8
|
||
WL 4,S4GF3B+FR10
|
||
.word ANI_OFFSET,-4,0,0 ;x,y,z
|
||
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#missedb
|
||
.ref fling_delay
|
||
WL ANI_CODE,fling_delay
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL 25,S4GF3B+FR3
|
||
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 6,S4GF3B+FR3
|
||
WL 3,S4GF3B+FR2
|
||
WL 3,S4GF3B+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR DO_GRUNT
|
||
WRSNDX GRABFLING_T1,GRABFLING_T2
|
||
RETS
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#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,8,5,0
|
||
LWWW H3RN3A+FR2,-25,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,1,16,0
|
||
LWWW R3RN3D+FR11,-20,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,10,13,0
|
||
LWWW Y3RN3C+FR8,-10,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,8,11,0
|
||
LWWW S3RN3A+FR3,-20,11,0
|
||
|
||
#BamBam
|
||
LWWW B4YR3A+FR3,37,10,0
|
||
LWWW B4YR3A+FR4,39,8,0
|
||
LWWW B4YR3A+FR5,42,7,0
|
||
LWWW B4YR3A+FR7,-1,6,0
|
||
LWWW B3RN3A+FR1,-14,22,0
|
||
LWWW B3RN3A+FR2,-36,22,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,16,20,0
|
||
LWWW D3RN3B+FR4,-15,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,-5,19,0
|
||
LWWW L3RN3B+FR3,0,13,0
|
||
|
||
#strt_run_tbl
|
||
.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
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* CLIMB UP TURNBUCKLES
|
||
|
||
SUBR shn_climb_up_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SCROLL_CTRL,SHN_TBUKLY
|
||
WL 3,S2CT2A+FR4
|
||
WL ANI_CODE,tgt_tbukl
|
||
.word ANI_LEAPATPOS,24,200,-12,12,0 ;#ticks,dist,xoff,yoff,zoff
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
WL 6,S2CT2A+FR5
|
||
WL 5,S2CT2A+FR6
|
||
WL 5,S2CT2A+FR7
|
||
WL 4,S2CT2A+FR8
|
||
WL 4,S2CT2A+FR9
|
||
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY
|
||
.word ANI_SETPLYRMODE,MODE_ONTURNBKL
|
||
.word ANI_SETFACING
|
||
.word ANI_SHAKECORNER
|
||
|
||
.word ANI_OFFSET,2,0,0 ;x,y,z
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
WL ANI_CODE,tbukl_flip
|
||
#repeat
|
||
WL 5,S4SB4B+FR1
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR2
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR3
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR4
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR5
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR6
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR7
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,S4SB4B+FR8
|
||
WL ANI_CODE,tbukl_flip
|
||
WL ANI_GOTO,#repeat
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* CLIMB DOWN TURNBUCKLES
|
||
|
||
SUBR shn_climb_down_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
WL ANI_CODE,face_inside
|
||
|
||
.word ANI_SHAKECORNER
|
||
WL 3,S4MP4D+FR1
|
||
.word ANI_OFFSET,0,15,0
|
||
WL 3,S4MP4D+FR2
|
||
|
||
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
WL ANI_SET_YVEL,20000h
|
||
|
||
.word ANI_GRAVITY_ON
|
||
WL 8,S4MP4D+FR3
|
||
WL 1,S4MP4D+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 3,S4MP4D+FR6
|
||
WL 3,S4MP4D+FR7
|
||
WL 3,S4MP4D+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
******************************************************************************
|
||
* Check to see if opponent is getting in/out of ring, and turn accordingly!
|
||
*
|
||
* Rules: If your opponent is inside, always face inside. If he's outside,
|
||
* face in 4 or 6, depending on opp position.
|
||
|
||
SUBR tbukl_flip
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(INRING),a0 ;0 = in ring, 1 = outside
|
||
jruc #cont
|
||
|
||
**********
|
||
* Always face inside
|
||
|
||
SUBR face_inside
|
||
clr a0
|
||
|
||
#cont move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrge #onrt
|
||
|
||
#onlft ;On left turnbuckle
|
||
move a0,a0
|
||
jrz #no
|
||
jruc #out
|
||
|
||
#onrt ;On right turnbuckle
|
||
move a0,a0
|
||
jrz #yes
|
||
|
||
#out ;opponent is outside
|
||
move *a13(NEW_FACING_DIR),a14
|
||
btst MOVE_LEFT_BIT,a14
|
||
jrnz #yes
|
||
;fall #no
|
||
|
||
#no ;doink is the opposite...
|
||
move *a13(WRESTLERNUM),a14
|
||
cmpi W_DOINK,a14
|
||
jreq #yfx
|
||
|
||
;so is yoko.
|
||
cmpi W_YOKO,a14
|
||
jreq #yfx
|
||
|
||
#nfx move *a13(OBJ_CONTROL),a14
|
||
andni M_FLIPH,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
#yes ;doink is the opposite...
|
||
move *a13(WRESTLERNUM),a14
|
||
cmpi W_DOINK,a14
|
||
jreq #nfx
|
||
|
||
;so is yoko.
|
||
cmpi W_YOKO,a14
|
||
jreq #nfx
|
||
|
||
#yfx move *a13(OBJ_CONTROL),a14
|
||
ori M_FLIPH,a14
|
||
move a14,*a13(OBJ_CONTROL)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 FLYING KICK (combo version)
|
||
|
||
SUBR shn_combo_flying_kick_anim
|
||
.word ANI_ZERO_XZVELS
|
||
WL ANI_SET_YVEL,44000h
|
||
WL 2,S3DC3A+FR4
|
||
.word ANI_OFFSET,0,47h,0
|
||
WL 3,S3DC3A+FR5
|
||
WL 7,S3DC3A+FR6
|
||
|
||
.word ANI_CLR_STATUS
|
||
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,23,-42,59,60
|
||
WL 3,S3DC3A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 3,S3DC3A+FR8
|
||
WL 3,S3DC3A+FR9
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,20
|
||
WL 5,S3DC3A+FR10
|
||
.word ANI_XFLIP
|
||
|
||
;and now get up
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL ANI_CODE,choose_2or4
|
||
WL ANI_IFSTATUS,getup_in_4
|
||
WL ANI_GOTO,getup_in_2
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 FLYING KICK
|
||
|
||
SUBR shn_flying_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL 3,S3DC3A+FR3
|
||
|
||
;first, if we're holding his head, let him go.
|
||
WWL ANI_IFOPPMODE,~MODE_HEADHELD,#no_hdrel2
|
||
.word ANI_DETACH
|
||
#no_hdrel2
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,19
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 18,999,160,65,90000h,TGT_HEAD,30,100,0
|
||
WL ANI_CODE,no_bk_xvel
|
||
|
||
WL 2,S3DC3A+FR4
|
||
.word ANI_OFFSET,0,47h,0
|
||
WL 3,S3DC3A+FR5
|
||
WL 6,S3DC3A+FR6
|
||
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,23,-22,49,40
|
||
WL 5,S3DC3A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_1,2,2
|
||
|
||
WL 3,S3DC3A+FR8
|
||
WL 3,S3DC3A+FR9
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,20
|
||
WL 5,S3DC3A+FR10
|
||
.word ANI_XFLIP
|
||
|
||
;and now get up
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL ANI_CODE,choose_2or4
|
||
WL ANI_IFSTATUS,getup_in_4
|
||
|
||
getup_in_2
|
||
WL 3,S3RL3A+FR6
|
||
WL 3,S3RL3A+FR7
|
||
WL 3,S3RL3A+FR8
|
||
|
||
WL 3,S3GU2A+FR2
|
||
WL 3,S3GU2A+FR3
|
||
WL 3,S3GU2A+FR4
|
||
WL 3,S3GU2A+FR5
|
||
WL 3,S3GU2A+FR6
|
||
WL 3,S3GU2A+FR7
|
||
|
||
WL 2,S3GU2A+FR8
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,S3GU2A+FR8
|
||
WL 4,S3GU2A+FR9
|
||
|
||
.word ANI_SAFE_TIME,20
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,33,85,44,17
|
||
WL 1,S3GU2A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,shn_4_push_anim
|
||
#no_freetoss
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
getup_in_4
|
||
WL 3,S3RL3A+FR4
|
||
WL 3,S3RL3A+FR3
|
||
WL 3,S3RL3A+FR2
|
||
|
||
WL 3,S3GU4A+FR2
|
||
WL 3,S3GU4A+FR3
|
||
WL 3,S3GU4A+FR4
|
||
WL 3,S3GU4A+FR5
|
||
WL 3,S3GU4A+FR6
|
||
WL 3,S3GU4A+FR7
|
||
|
||
WL 2,S3GU4A+FR8
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,S3GU4A+FR8
|
||
WL 4,S3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,20
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss2
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,33,85,44,17
|
||
WL 1,S3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss2
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,shn_4_push_anim
|
||
#no_freetoss2
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#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
|
||
|
||
******************************************************************************
|
||
*
|
||
* SPECIAL FUNCTIONS
|
||
|
||
#**********
|
||
* If our facings match, go for the knees. If they differ, go for the chest.
|
||
* (jump across the centerline)
|
||
|
||
elbow_tgt1
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move *a13(FACING_DIR),a0
|
||
move *a11(FACING_DIR),a1
|
||
andi MOVE_RIGHT|MOVE_LEFT,a0
|
||
andi MOVE_RIGHT|MOVE_LEFT,a1
|
||
cmp a0,a1
|
||
jrne #head
|
||
|
||
movi TGT_KNEES,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#head
|
||
movi TGT_CHEST,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
|
||
#**********
|
||
* just like elbow_tgt1, only backwards (stay on one side of the centerline)
|
||
*
|
||
|
||
elbow_tgt2
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move *a13(FACING_DIR),a0
|
||
move *a11(FACING_DIR),a1
|
||
andi MOVE_RIGHT|MOVE_LEFT,a0
|
||
andi MOVE_RIGHT|MOVE_LEFT,a1
|
||
cmp a0,a1
|
||
jreq #head
|
||
|
||
movi TGT_GROIN,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#head
|
||
movi TGT_CHEST,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_roll_frames
|
||
|
||
.word 7 ;speed
|
||
.long 50000h ;z velocity
|
||
.long 10000h*9/255 ;inv multiply (0-255 -> 0-11)
|
||
|
||
.long S3RL3A+FR10 ;0
|
||
.long S3RL3A+FR1 ;1
|
||
.long S3RL3A+FR2 ;2
|
||
.long S3RL3A+FR3 ;3
|
||
.long S3RL3A+FR4 ;4
|
||
.long S3RL3A+FR5 ;5
|
||
.long S3RL3A+FR6 ;6
|
||
.long S3RL3A+FR7 ;7
|
||
.long S3RL3A+FR8 ;8
|
||
.long S3RL3A+FR9 ;9
|
||
.long 0,0,0,0,0,0,0
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM HIPTOSS
|
||
|
||
SUBR shn_tossed_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
.word ANI_GETUP,STAY_TIME
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
.word ANI_OFFSET,15,0,0 ;x,y,z
|
||
|
||
WL 4,S3CP3B+FR1
|
||
WL 4,S3CP3B+FR2
|
||
WL 4,S3CP3B+FR3
|
||
WL 4,S3CP3B+FR4
|
||
WL 4,S3CP3B+FR5
|
||
WL 4,S3CP3B+FR6
|
||
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 4,S3CP3B+FR7
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,shn_faceup_getup_anim
|
||
; .word ANI_END
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM BAM BAM DUCK TOSS
|
||
|
||
SUBR shn_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,S3OS3X+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_GETUP,STAY_TIME
|
||
.word ANI_DAMAGE,D_HIPTOSS
|
||
|
||
WL 4,S3OS3X+FR9
|
||
WL 4,S3OS3X+FR10
|
||
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
.word ANI_OFFSET,15,0,0 ;x,y,z
|
||
|
||
WL 4,S3CP3B+FR1
|
||
WL 4,S3CP3B+FR2
|
||
WL 4,S3CP3B+FR3
|
||
WL 4,S3CP3B+FR4
|
||
WL 4,S3CP3B+FR5
|
||
WL 4,S3CP3B+FR6
|
||
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 4,S3CP3B+FR7
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,shn_faceup_getup_anim
|
||
; .word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
|
||
SUBR shn_knockdwn_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_XFLIP
|
||
|
||
|
||
WL 2,S3GU4A+FR9
|
||
WL 2,S3GU4A+FR6
|
||
WL 2,S3GU4A+FR4
|
||
WL ANI_SET_YVEL,39000h
|
||
|
||
WL 3,S3CP3B+FR2
|
||
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
WL 3,S3CP3B+FR3
|
||
WL 3,S3CP3B+FR4
|
||
WL 3,S3CP3B+FR5
|
||
WL 3,S3CP3B+FR6
|
||
WL 6,S3CP3B+FR7
|
||
|
||
.ref am_I_dead
|
||
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
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,shn_faceup_getup_anim
|
||
|
||
*
|
||
SUBR shn_climbthru_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE | MODE_NOGRAVITY|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,SET_DIR_FACE
|
||
.word ANI_SETFACING
|
||
.WORD ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL 3,S3CR3A+FR1
|
||
.word ANI_OFFSET,0,10,0 ;*****
|
||
WL 3,S3CR3A+FR2
|
||
.word ANI_OFFSET,5,16,0 ;*****
|
||
WL 3,S3CR3A+FR3
|
||
.word ANI_OFFSET,5,16,0 ;*****
|
||
|
||
.word ANI_SET_IDIOT
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS
|
||
;now jump off...
|
||
WL ANI_SET_YVEL,40000h
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
|
||
|
||
WLW ANI_SET_XVEL,54000h,AM_FACE_REL
|
||
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
|
||
.word ANI_BENDROPE,2
|
||
.word ANI_BENDROPE,-1
|
||
|
||
WL 3,S3CR3A+FR4
|
||
.word ANI_WAITHITGND
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
|
||
|
||
.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_XFLIP
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_OFFSET,5,0,0 ;*****
|
||
|
||
WL 3,S4MP4D+FR6
|
||
WL 3,S4MP4D+FR8
|
||
|
||
; WL 3,S2CT2A+FR8
|
||
; .WORD ANI_XFLIP
|
||
|
||
; WL 3,S2CT2A+FR9
|
||
; WL 3,S2CT2A+FR10
|
||
; WL 3,S2CT2A+FR11
|
||
; WL 3,S2CT2A+FR12
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_CLEAR_CLIMB
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_climbin_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,SET_DIR_FACE
|
||
.word ANI_SETFACING
|
||
.WORD ANI_SET_WRESTLER_XFLIP
|
||
|
||
;jump in
|
||
WL 1,S4MP4D+FR1
|
||
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
|
||
WL ANI_CODE,#set_trgt
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
.word ANI_LEAPATPOS,14h,200,0,0,0 ;#ticks,dist,xoff,yoff,zoff
|
||
WL 20,S4MP4D+FR1
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
|
||
; WL 2,S4MP4D+FR2
|
||
; WL 2,S4MP4D+FR3
|
||
; WL 2,S4MP4D+FR4
|
||
; WL 2,S4MP4D+FR5
|
||
|
||
WL 3,S4MP4D+FR6
|
||
; WL 2,S4MP4D+FR7
|
||
WL 3,S4MP4D+FR8
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE | MODE_NOGRAVITY|MODE_NOCOLLIS
|
||
WL 2,S3CR3A+FR1
|
||
.word ANI_OFFSET,0,10,0 ;*****
|
||
WL 2,S3CR3A+FR2
|
||
.word ANI_OFFSET,5,16,0 ;*****
|
||
WL 2,S3CR3A+FR3
|
||
.word ANI_OFFSET,5,16,0 ;*****
|
||
WL 2,S3CR3A+FR4
|
||
|
||
.word ANI_BENDROPE,2
|
||
.word ANI_BENDROPE,-1
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS
|
||
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.WORD ANI_XFLIP
|
||
WL 3,S2CT2A+FR8
|
||
; WL 3,S2CT2A+FR9
|
||
; WL 3,S2CT2A+FR10
|
||
; WL 3,S2CT2A+FR11
|
||
; WL 3,S2CT2A+FR12
|
||
.WORD ANI_XFLIP
|
||
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_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_trgt
|
||
movi RING_X_CENTER-0f8h-60,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+60,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
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_climbthru_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;Must rotate toward ropes!
|
||
;Do a different sequence
|
||
|
||
;lie down
|
||
WL ANI_CODE,#ckspin
|
||
WL 3,S3GU2A+FR9
|
||
WL 3,S3GU2A+FR8
|
||
WL 3,S3GU2A+FR7
|
||
WL 3,S3GU2A+FR6
|
||
WL 3,S3GU2A+FR5
|
||
WL 3,S3GU2A+FR4
|
||
WL 3,S3GU2A+FR2
|
||
|
||
;roll over once
|
||
WLW ANI_SET_ZVEL,0A8000h,AM_ABS
|
||
|
||
WL 3,S3RL3A+FR1
|
||
WL 3,S3RL3A+FR2
|
||
WL 3,S3RL3A+FR3
|
||
WL 3,S3RL3A+FR4
|
||
WL 3,S3RL3A+FR5
|
||
WL 3,S3RL3A+FR6
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
|
||
.word ANI_SET_IDIOT
|
||
;climb through
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CODE,NOT_IN_RING
|
||
.word ANI_OFFSET,20,-37h,0 ;x,y,z
|
||
WL 3,S4KI3Q+FR5
|
||
WL 3,S4KI3Q+FR4
|
||
WL 3,S4KI3Q+FR3
|
||
.WORD ANI_XFLIP
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_CLEAR_CLIMB
|
||
.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
|
||
|
||
NOT_IN_RING
|
||
MOVK 1,A0
|
||
MOVE A0,*A13(INRING)
|
||
RETS
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_climbin_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
.word ANI_GRAVITY_OFF
|
||
.WORD ANI_XFLIP
|
||
WL 3,S4KI3Q+FR3
|
||
WL 3,S4KI3Q+FR4
|
||
WL 3,S4KI3Q+FR5
|
||
.word ANI_OFFSET,-20,37h,-60
|
||
|
||
;roll
|
||
.word ANI_XFLIP
|
||
WLW ANI_SET_ZVEL,-70000h,AM_ABS
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,S3RL3A+FR6
|
||
WL 3,S3RL3A+FR5
|
||
WL 3,S3RL3A+FR4
|
||
WL 3,S3RL3A+FR3
|
||
WL 3,S3RL3A+FR2
|
||
WL 3,S3RL3A+FR1
|
||
.word ANI_ZEROVELS
|
||
.word ANI_GRAVITY_ON
|
||
|
||
;get up
|
||
WL 3,S3GU2A+FR2
|
||
WL 3,S3GU2A+FR3
|
||
WL 3,S3GU2A+FR4
|
||
WL 3,S3GU2A+FR5
|
||
WL 3,S3GU2A+FR6
|
||
WL 3,S3GU2A+FR7
|
||
WL 3,S3GU2A+FR8
|
||
WL 3,S3GU2A+FR9
|
||
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_CLIMB
|
||
|
||
.WORD ANI_FACEDOWN
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_climbthru_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;lie down
|
||
WL ANI_CODE,#set_zvel1
|
||
WL ANI_IFSTATUS,#dir4
|
||
;Facing #2
|
||
WL 3,S1TT5Z+FR2
|
||
WL 3,S1TT5Z+FR3
|
||
|
||
#dir4
|
||
WL 3,S3GU4A+FR9
|
||
WL 3,S3GU4A+FR8
|
||
WL 3,S3GU4A+FR7
|
||
WL 3,S3GU4A+FR6
|
||
WL 3,S3GU4A+FR5
|
||
WL 3,S3GU4A+FR4
|
||
WL 3,S3GU4A+FR3
|
||
WL 3,S3GU4A+FR2
|
||
|
||
;roll over once
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,S3RL3A+FR10
|
||
WL 3,S3RL3A+FR9
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
WL 3,S3RL3A+FR8
|
||
WL 3,S3RL3A+FR7
|
||
WL 3,S3RL3A+FR6
|
||
|
||
.word ANI_SET_IDIOT
|
||
;climb through
|
||
.word ANI_ZEROVELS
|
||
.WORD ANI_XFLIP
|
||
WL 3,S3DC3A+FR7
|
||
WL 3,S3DC3A+FR6
|
||
WL 3,S3DC3A+FR5
|
||
.word ANI_OFFSET,0,-61,0
|
||
.WORD ANI_XFLIP
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.WORD ANI_FACEDOWN
|
||
.word ANI_CLEAR_CLIMB
|
||
.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 -50000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
;Zombies use this to roll through the top without standing back up.
|
||
|
||
SUBR shn_rollthru_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
|
||
;roll over once
|
||
WLW ANI_SET_ZVEL,-50000h,AM_ABS
|
||
WL 3,S3RL3A+FR10
|
||
WL 3,S3RL3A+FR9
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
WL 3,S3RL3A+FR8
|
||
WL 3,S3RL3A+FR7
|
||
WL 3,S3RL3A+FR6
|
||
|
||
;climb through
|
||
.word ANI_ZEROVELS
|
||
.WORD ANI_XFLIP
|
||
WL 3,S3DC3A+FR7
|
||
WL 3,S3DC3A+FR6
|
||
WL 3,S3DC3A+FR5
|
||
.word ANI_OFFSET,0,-61,0
|
||
.WORD ANI_XFLIP
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR shn_climbin_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
.word ANI_OFFSET,0,61,0
|
||
WL 3,S3DC3A+FR5
|
||
WL 3,S3DC3A+FR6
|
||
WL 3,S3DC3A+FR7
|
||
.WORD ANI_XFLIP
|
||
|
||
;roll over
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,S3RL3A+FR7
|
||
WL 3,S3RL3A+FR8
|
||
WL 3,S3RL3A+FR9
|
||
WL 3,S3RL3A+FR10
|
||
|
||
.word ANI_ZEROVELS
|
||
|
||
;get up
|
||
WL 3,S3GU4A+FR2
|
||
WL 3,S3GU4A+FR3
|
||
WL 3,S3GU4A+FR4
|
||
WL 3,S3GU4A+FR5
|
||
WL 3,S3GU4A+FR6
|
||
WL 3,S3GU4A+FR7
|
||
WL 3,S3GU4A+FR8
|
||
WL 3,S3GU4A+FR9
|
||
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_CLIMB
|
||
|
||
.WORD ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#set_zvel2
|
||
movi 50000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#****************************************************************************
|
||
*
|
||
* 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 shn_2_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
;Rotate!
|
||
WL 3,S1TT5Z+FR2 ;2.5
|
||
WL 3,S1TT5Z+FR3 ;3.5
|
||
|
||
SUBR shn_4_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 25,999,80h,50h,90000h,TGT_CHEST|TGT_GROUND,0,57,-15
|
||
WL ANI_CODE,hit_nearest
|
||
|
||
WL 3,S3PN5C+FR1
|
||
.word ANI_OFFSET,0,31,0 ;x,y,z
|
||
WL 18,S3PN5C+FR2
|
||
WL 4,S3PN5C+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
|
||
|
||
WL 3,S3PN5C+FR7
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
|
||
; .word ANI_ATTACK_OFF
|
||
WL ANI_CODE,grnd_hit
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_BOUNCE,4
|
||
WL 3,S3PN5C+FR7
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL 4,S3PN5C+FR7
|
||
WL ANI_CODE,win_announce
|
||
; .word ANI_SET_ATTACH
|
||
; .word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
WL 40,S3PN5C+FR7
|
||
|
||
.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,S3GU4A+FR4
|
||
WL 4,S3GU4A+FR5
|
||
WL 4,S3GU4A+FR6
|
||
WL 4,S3GU4A+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 4,S3GU4A+FR8
|
||
WL 4,S3GU4A+FR9
|
||
|
||
#raise
|
||
WL 5,S4SW4A+FR1
|
||
WL 5,S4SW4A+FR2
|
||
WL 5,S4SW4A+FR3
|
||
WL 5,S4SW4A+FR4
|
||
WL 5,S4SW4A+FR5
|
||
WL 5,S4SW4A+FR6
|
||
WL 5,S4SW4A+FR7
|
||
WL 5,S4SW4A+FR8
|
||
WL 5,S4SW4A+FR9
|
||
#floop WL 1000,S4SW4A+FR10
|
||
WL ANI_GOTO,#floop
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
******************************************************************************
|
||
* RAISE ARM IN VICTORY FROM A STANCE
|
||
|
||
SUBR shn_2_raise_arm_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
WL ANI_CODE,win_announce
|
||
|
||
WL 3,S1TT5Z+FR2 ;2.5
|
||
WL 3,S1TT5Z+FR3 ;3.5
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR shn_4_raise_arm_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
WL ANI_CODE,win_announce
|
||
|
||
#cont WL 5,S4SW4A+FR1
|
||
WL 5,S4SW4A+FR2
|
||
WL 5,S4SW4A+FR3
|
||
WL 5,S4SW4A+FR4
|
||
WL 5,S4SW4A+FR5
|
||
WL 5,S4SW4A+FR6
|
||
WL 5,S4SW4A+FR7
|
||
WL 5,S4SW4A+FR8
|
||
WL 5,S4SW4A+FR9
|
||
|
||
|
||
.word ANI_SET_RPTCOUNT,-4 ;set count to rnd from 0 to 4
|
||
#lp0 WL 55,S4SW4A+FR10
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#lp0
|
||
|
||
WL ANI_CODE,check_raisearm_bit
|
||
WL ANI_IFSTATUS,#wakeup
|
||
|
||
;don't wake up.
|
||
.word ANI_SET_RPTCOUNT,1000
|
||
WL ANI_GOTO,#lp0
|
||
|
||
;5,4,2,1 leaves the sequence.
|
||
#wakeup WL 4,S4SW4A+FR5
|
||
WL 4,S4SW4A+FR4
|
||
WL 4,S4SW4A+FR2
|
||
WL 4,S4SW4A+FR1
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_FACEDOWN
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
;Leap up onto nearest turnbuckle. Call with ANI_CODE to set offsets
|
||
; before doing the ANI_LEAPATPOS.
|
||
|
||
SUBR tgt_tbukl
|
||
|
||
;figure out which one to climb.
|
||
movi vln_right_rope,a0
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrgt #right
|
||
movi vln_left_rope,a0
|
||
#right
|
||
|
||
move *a0+,a1,W ;X
|
||
move *a0+,a2,W ;Z
|
||
subi 16,a2
|
||
movi MAT_Y+80,a3 ;Y
|
||
|
||
move a1,*a13(TGT_XOFF)
|
||
move a2,*a13(TGT_ZOFF)
|
||
move a3,*a13(TGT_YOFF)
|
||
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #4 SLAP
|
||
|
||
SUBR shn_2_slap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,17
|
||
WL 2,S1TT5Z+FR2 ;2.5
|
||
WL 2,S1TT5Z+FR3 ;3.5
|
||
|
||
SUBR shn_4_slap_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,15
|
||
WL 3,S4PT3B+FR1
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 0eh,999,4ah,50,90000h,TGT_HEAD,76,110,30
|
||
|
||
WL 4,S4PT3B+FR2
|
||
WL 4,S4PT3B+FR3
|
||
WL 3,S4PT3B+FR4
|
||
WL 3,S4PT3B+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BACKHAND,31,44,55,47 ;mode,x,y,w,h
|
||
WL 3,S4PT3B+FR6
|
||
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 10,S4PT3B+FR6
|
||
#no_hit2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
|
||
WL 8,S4PT3B+FR6
|
||
WL 3,S4PT3B+FR7
|
||
WL 3,S4PT3B+FR8
|
||
WL 3,S4PT3B+FR9
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #4 pummel - MK style
|
||
|
||
SUBR shn_2_pummel_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,5
|
||
WL 1,S1TT5Z+FR2
|
||
WL 1,S1TT5Z+FR3
|
||
|
||
SUBR shn_4_pummel_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,3
|
||
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
|
||
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 05h,999,4ah,50,90000h,TGT_HEAD,65,90,10
|
||
; WL ANI_SET_YVEL,0h
|
||
|
||
WL 3,S4PU3D+FR2
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
#rpt
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH2,21,80,42,14 ;mode,x,y,w,h
|
||
WL 3,S4MK3A+FR1
|
||
.word ANI_ATTACK_OFF
|
||
WL 3,S4MK3A+FR2
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#ex
|
||
WL 3,S4MK3A+FR3
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH2,21,80,42,14 ;mode,x,y,w,h
|
||
WL 3,S4MK3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL 3,S4MK3A+FR5
|
||
WL 3,S4MK3A+FR6
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
WL ANI_SET_YVEL,40000h
|
||
WL 3,S4MK3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#missed
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
; .word ANI_SET_ATTACH
|
||
; WLLL ANI_SETOPPVELS,18000h,18000h,0h ;x,y,z vels
|
||
|
||
WL 3,S4MK3A+FR7
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,2,#ex
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
.word ANI_DRAW_NAME,32
|
||
|
||
.ref shn_4_hiptoss_anim
|
||
WL ANI_CHANGEANIM,shn_4_hiptoss_anim
|
||
|
||
#ex
|
||
.word ANI_OFFSET,15,0,0
|
||
WL ANI_CHANGEANIM,shn_4_butt_anim
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
|
||
WL 2,S4MK3A+FR7
|
||
#missed
|
||
|
||
WL 2,S4MK3A+FR7
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GET BUCKED OFF A PINNED OPPONENT
|
||
|
||
SUBR shn_buckoff_anim
|
||
|
||
.ref set_buckoff_vels
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 4,S3PN5C+FR7
|
||
WL 1,S3PN5C+FR3
|
||
WL ANI_CODE,set_buckoff_vels
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 4,S3PN5C+FR7
|
||
|
||
;now stand up
|
||
WL ANI_SET_YVEL,42000h
|
||
WLW ANI_SET_ZVEL,22000h,AM_ABS
|
||
WL 4,S3GU4A+FR4
|
||
WL 4,S3GU4A+FR5
|
||
WL 4,S3GU4A+FR6
|
||
WL 4,S3GU4A+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 4,S3GU4A+FR8
|
||
WL 4,S3GU4A+FR9
|
||
|
||
.word ANI_FACEDOWN
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|