3117 lines
61 KiB
NASM
3117 lines
61 KiB
NASM
|
;Do some 5x damage moves, etc.
|
|||
|
;Do speed up walk move - flash player white!
|
|||
|
;Flash player on powerups!
|
|||
|
;Stop near rope pile driver zeroing of y vel
|
|||
|
|
|||
|
**************************************************************
|
|||
|
*
|
|||
|
* Software: Jamie Rivett
|
|||
|
* Initiated: 9/3/93
|
|||
|
*
|
|||
|
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
*
|
|||
|
**************************************************************
|
|||
|
|
|||
|
.file "doink.asm"
|
|||
|
.title "doink specific game code"
|
|||
|
.width 132
|
|||
|
.option b,d,l,t
|
|||
|
.mnolist
|
|||
|
|
|||
|
|
|||
|
.include "macros.h"
|
|||
|
.include "jjxm.h"
|
|||
|
.include "mproc.equ" ;Mproc equates
|
|||
|
.include "display.equ" ;Display proc equates
|
|||
|
.include "gsp.equ" ;Gsp asm equates
|
|||
|
.include "sys.equ"
|
|||
|
.include "game.equ"
|
|||
|
.include "plyr.equ"
|
|||
|
.include "anim.equ"
|
|||
|
.include "audit.equ"
|
|||
|
.include "sound.h"
|
|||
|
.include "ring.equ"
|
|||
|
.include "lifebar.h"
|
|||
|
.include "damage.equ"
|
|||
|
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
* EXTERNAL REFERENCES
|
|||
|
|
|||
|
|
|||
|
.REF DO_REVERSAL
|
|||
|
.REF DO_REVERSAL_MESS
|
|||
|
|
|||
|
.ref ADD_IF_SILENT,JUMP_ROPES,CLIMB_ROPES
|
|||
|
.ref check_dizzy
|
|||
|
.ref create_damage_points
|
|||
|
|
|||
|
.ref set_getup_time
|
|||
|
.ref wres_get_but_val_up,wres_get_but_val_down,wres_get_but_val_cur
|
|||
|
.ref wres_get_stick_val_cur
|
|||
|
.ref get_punch_dtime
|
|||
|
.ref get_rope_x
|
|||
|
.ref tally_damage,clear_damage_log
|
|||
|
.ref inc_getup_time
|
|||
|
|
|||
|
.ref change_anim1,change_anim1a
|
|||
|
.ref change_anim2,change_anim2a
|
|||
|
.ref process_ptrs
|
|||
|
.ref keep_attached
|
|||
|
.ref get_opp_plyrmode
|
|||
|
.ref wres_collis_off
|
|||
|
.ref convert_facing
|
|||
|
.ref check_secret_moves
|
|||
|
.ref change_walk_anim
|
|||
|
.ref set_rotate_anim
|
|||
|
.ref execute_walk
|
|||
|
.ref start_run,bounce_off_ropes
|
|||
|
.ref climb_turnbuckle
|
|||
|
|
|||
|
;from CROWD.ASM
|
|||
|
.ref crowd_cheer
|
|||
|
|
|||
|
;from DCSSOUND.ASM
|
|||
|
.ref triple_sound
|
|||
|
|
|||
|
;from WRESTLE.ASM
|
|||
|
.ref calc_line_x
|
|||
|
.ref face_each_other
|
|||
|
.ref lineup_grapple,lineup_headhold
|
|||
|
; .ref break_lockup
|
|||
|
|
|||
|
.ref slide_offscr
|
|||
|
|
|||
|
;animation sequence
|
|||
|
|
|||
|
.ref dnk_3_pile_driver_anim
|
|||
|
.ref dnk_2_push2_anim
|
|||
|
.ref start_run_anim
|
|||
|
|
|||
|
.ref dnk_4_earslap_anim
|
|||
|
.ref dnk_2_earslap_anim
|
|||
|
.ref dnk_4_slap_anim
|
|||
|
.ref dnk_2_slap_anim
|
|||
|
; .ref dnk_4_slap2_anim
|
|||
|
; .ref dnk_2_slap2_anim
|
|||
|
.ref dnk_head_hit_dizzy_anim
|
|||
|
.ref dnk_knockdwn_anim
|
|||
|
.ref dnk_4_hammer_anim
|
|||
|
|
|||
|
.ref wres_slave_anim
|
|||
|
.ref dnk_zip_anim
|
|||
|
|
|||
|
.ref dnk_stand2_anim,dnk_stand8_anim
|
|||
|
.ref dnk_stand4_anim,dnk_stand6_anim
|
|||
|
.ref dnk_torso2_anim,dnk_torso8_anim
|
|||
|
.ref dnk_torso4_anim,dnk_torso6_anim
|
|||
|
|
|||
|
.ref dnk_2_to_4_turn_anim,dnk_8_to_6_turn_anim ;stand
|
|||
|
.ref dnk_4_to_2_turn_anim,dnk_6_to_8_turn_anim
|
|||
|
.ref dnk_4_to_6_turn_anim,dnk_6_to_4_turn_anim
|
|||
|
.ref dnk_2_to_8_turn_anim,dnk_8_to_2_turn_anim
|
|||
|
.ref dnk_4_to_8_turn_anim,dnk_6_to_2_turn_anim
|
|||
|
.ref dnk_2_to_6_turn_anim,dnk_8_to_4_turn_anim
|
|||
|
|
|||
|
.ref dnk_2_to_4_turn2_anim,dnk_8_to_6_turn2_anim ;torso
|
|||
|
.ref dnk_4_to_2_turn2_anim,dnk_6_to_8_turn2_anim
|
|||
|
.ref dnk_4_to_6_turn2_anim,dnk_6_to_4_turn2_anim
|
|||
|
.ref dnk_2_to_8_turn2_anim,dnk_8_to_2_turn2_anim
|
|||
|
.ref dnk_4_to_8_turn2_anim,dnk_6_to_2_turn2_anim
|
|||
|
.ref dnk_2_to_6_turn2_anim,dnk_8_to_4_turn2_anim
|
|||
|
|
|||
|
.ref dnk_walk1_f2_anim,dnk_walk2_f2_anim,dnk_walk4_f2_anim
|
|||
|
.ref dnk_walk5_f2_anim,dnk_walk6_f2_anim,dnk_walk8_f2_anim
|
|||
|
|
|||
|
.ref dnk_walk1_f4_anim,dnk_walk2_f4_anim,dnk_walk4_f4_anim
|
|||
|
.ref dnk_walk5_f4_anim,dnk_walk6_f4_anim,dnk_walk8_f4_anim
|
|||
|
|
|||
|
.ref dnk_2_punch_anim,dnk_4_punch_anim
|
|||
|
.ref dnk_2_buzz_anim,dnk_4_buzz_anim
|
|||
|
.ref dnk_2_buzz2_anim,dnk_4_buzz2_anim
|
|||
|
|
|||
|
.ref dnk_2_butt_anim,dnk_4_butt_anim
|
|||
|
.REF dnk_combo_uppercut_to_head_anim
|
|||
|
.ref dnk_4_combo_kick_anim
|
|||
|
.REF CHECK_COMBO_GO
|
|||
|
|
|||
|
.ref dnk_2_kick_anim,dnk_4_kick_anim
|
|||
|
.ref dnk_2_spin_kick_anim,dnk_4_spin_kick_anim
|
|||
|
.ref dnk_2_knee_anim,dnk_4_knee_anim
|
|||
|
|
|||
|
.ref dnk_2_box_anim,dnk_4_box_anim
|
|||
|
|
|||
|
.ref dnk_run_anim,dnk_run2_anim
|
|||
|
|
|||
|
.ref dnk_4_blbowdrop_anim
|
|||
|
.ref dnk_4_bjump_anim
|
|||
|
|
|||
|
.ref dnk_2_lbowdrop_anim,dnk_4_lbowdrop_anim
|
|||
|
.ref dnk_2_grabfling_anim
|
|||
|
.ref dnk_4_grabfling_anim
|
|||
|
|
|||
|
.ref dnk_heldoh_anim
|
|||
|
|
|||
|
.ref dnk_diveofftb_anim
|
|||
|
|
|||
|
.ref dnk_fly_cline_anim
|
|||
|
.ref dnk_flying_kick_anim
|
|||
|
; .ref dnk_sflying_kick_anim
|
|||
|
|
|||
|
.ref dnk_4_head_hit2_anim
|
|||
|
|
|||
|
.ref dnk_2_head_hit2_anim
|
|||
|
.ref dnk_4_head_hit_anim,dnk_head_hit3_anim
|
|||
|
.ref dnk_2_head_hit_anim,dnk_head_hit2_anim
|
|||
|
.ref dnk_fall_back_anim
|
|||
|
.ref dnk_2_faceup_getup_anim
|
|||
|
.ref dnk_4_faceup_getup_anim
|
|||
|
|
|||
|
.ref dnk_4_losebal_dizzy_anim
|
|||
|
|
|||
|
.ref dnk_hitonground_anim
|
|||
|
.ref dnk_4_stomp_anim,dnk_2_stomp_anim
|
|||
|
.ref dnk_4_bstomp_anim
|
|||
|
|
|||
|
.ref dnk_2ndwind_anim
|
|||
|
.ref dnk_climb_up_anim,dnk_climb_down_anim
|
|||
|
.ref dnk_4_block_anim,dnk_2_block_anim
|
|||
|
.ref dnk_2_hitblock_anim,dnk_4_hitblock_anim
|
|||
|
.ref dnk_2_hiptoss_anim,dnk_4_hiptoss_anim
|
|||
|
.ref dnk_2_hiptoss2_anim,dnk_4_hiptoss2_anim
|
|||
|
.ref dnk_4_push_anim,dnk_2_push_anim
|
|||
|
.ref dnk_4_bigboot_anim,dnk_2_bigboot_anim
|
|||
|
.ref dnk_4_losebal_anim
|
|||
|
.ref dnk_dizzy_anim
|
|||
|
.ref dnk_2_pin_anim
|
|||
|
.ref dnk_4_pin_anim
|
|||
|
; .ref dnk_2_lockup_anim,dnk_4_lockup_anim
|
|||
|
.ref dnk_climbthru_side_anim,dnk_climbthru_bot_anim
|
|||
|
.ref dnk_climbthru_top_anim,dnk_climbin_bot_anim
|
|||
|
.ref dnk_climbin_top_anim,dnk_climbin_side_anim
|
|||
|
|
|||
|
.ref dnk_belly_anim
|
|||
|
.ref ck_ignore ;Ignore button press?
|
|||
|
|
|||
|
.ref dnk_3_knee_to_head_anim
|
|||
|
.ref dnk_3_knees_to_head_anim
|
|||
|
.ref dnk_uppercut_to_head_anim
|
|||
|
.ref dnk_uppercuts_to_head_anim
|
|||
|
.ref dnk_get_buzz_anim
|
|||
|
.ref wres_get_stick_rel_new
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
* SYMBOLS DEFINED IN THIS FILE
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
* EQUATES FOR THIS FILE
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
doink_secret_moves
|
|||
|
|
|||
|
;These secret moves are triggered only after a move list seq has ended! You
|
|||
|
;can't hold on the last button press and have it trigger!
|
|||
|
|
|||
|
;Button held down moves need to be first entry
|
|||
|
.long #buzz
|
|||
|
.long #earslap
|
|||
|
.long #grab_fling
|
|||
|
.long #hammer
|
|||
|
.long #grab_toss
|
|||
|
.long #neck_grab
|
|||
|
.long #boxing_pnch
|
|||
|
.long 0
|
|||
|
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
*
|
|||
|
* SPECIAL MOVE PROCESSES - Secret moves
|
|||
|
*
|
|||
|
;a8=process of wrestler
|
|||
|
|
|||
|
SUBR dnk_smove_table
|
|||
|
.long dnk_hdhold_slam
|
|||
|
.long dnk_hdhold_pile
|
|||
|
.long dnk_hdhold_combo1
|
|||
|
.long dnk_hdhold_combo2
|
|||
|
.long dnk_grab_toss_air
|
|||
|
.long dnk_walk_fast
|
|||
|
.long 0
|
|||
|
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
#buzz
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_up
|
|||
|
btst PLAYER_PUNCH_BIT,a0
|
|||
|
jrz #no_punch
|
|||
|
|
|||
|
;FIX!! Give some jumping velocity
|
|||
|
|
|||
|
; move *a13(PLYRMODE),a0
|
|||
|
; cmpi MODE_ONTURNBKL,a0
|
|||
|
; jrz #no_punch
|
|||
|
|
|||
|
move *a13(PLYRNUM),a0
|
|||
|
calla get_punch_dtime
|
|||
|
cmpi 100,a0 ;> min?
|
|||
|
jrlt #no_punch
|
|||
|
; cmpi 6*60,a0 ;< max?
|
|||
|
; jrgt #no_punch
|
|||
|
|
|||
|
;Held punch button down for more than 2 seconds.
|
|||
|
;If opponent is on ground, try hammer move
|
|||
|
|
|||
|
callr scrt_buzz
|
|||
|
setc
|
|||
|
rets
|
|||
|
|
|||
|
#no_punch
|
|||
|
clrc
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
scrt_buzz
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #ok
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
; cmpi MODE_ONGROUND,a0
|
|||
|
; jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
cmpi MODE_RUNNING,a0
|
|||
|
jrz #leapbuzz
|
|||
|
|
|||
|
;If stick is toward opponent, then do sliding/leaping buzzer
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi 0ch,a1
|
|||
|
cmp a0,a1
|
|||
|
jrnz #norm
|
|||
|
|
|||
|
; movi [7,0],a0
|
|||
|
; move *a13(FACING_DIR),a14
|
|||
|
; btst MOVE_RIGHT_BIT,a14
|
|||
|
; jrnz #abs ;right
|
|||
|
; neg a0 ;left
|
|||
|
;#abs
|
|||
|
; move a0,*a13(OBJ_XVEL),L
|
|||
|
; movi [3,0],a0
|
|||
|
; move a0,*a13(OBJ_YVEL),L
|
|||
|
|
|||
|
#leapbuzz
|
|||
|
FACE24 dnk,buzz2_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#norm
|
|||
|
FACE24 dnk,buzz_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#ok
|
|||
|
movi dnk_4_buzz_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
; BITS MASK
|
|||
|
#boxing_pnch
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word 8000h | 60 ;max
|
|||
|
.long scrt_glove
|
|||
|
|
|||
|
scrt_glove
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
MOVE *A13(COMBO_COUNT),A0
|
|||
|
JRNZ #out
|
|||
|
|
|||
|
FACE24 dnk,box_anim
|
|||
|
calla change_anim1a
|
|||
|
WRSND W_DOINK,SPUNCH_T1,SPUNCH_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
#hammer
|
|||
|
.word B_SKICK, J_ALL
|
|||
|
.word J_TOWARD, J_REAL_LR
|
|||
|
.word J_TOWARD, J_REAL_LR
|
|||
|
.word 8000h | 32 ;max
|
|||
|
.long scrt_hammer
|
|||
|
|
|||
|
scrt_hammer
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
cmpi MODE_ONTURNBKL,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
movi dnk_4_hammer_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#earslap
|
|||
|
.word B_PUNCH, J_ALL
|
|||
|
.word J_TOWARD, J_REAL_LR
|
|||
|
.word J_DOWN_TOWARD, J_REAL_LR
|
|||
|
.word J_DOWN, J_REAL_LR
|
|||
|
.word 8000h | 50 ;max
|
|||
|
.long #scrt_earslap
|
|||
|
|
|||
|
#scrt_earslap
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
cmpi MODE_ONTURNBKL,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
movi dnk_4_earslap_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#neck_grab
|
|||
|
.word B_SPUNCH, J_ALL
|
|||
|
.word J_TOWARD, J_REAL_LR
|
|||
|
.word J_TOWARD, J_REAL_LR
|
|||
|
.word 8000h | 32 ;max
|
|||
|
.long scrt_neck
|
|||
|
|
|||
|
scrt_neck
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
.ref dnk_3_head_hold_anim
|
|||
|
movi dnk_3_head_hold_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#grab_fling
|
|||
|
.word B_SPUNCH | J_AWAY, J_REAL_LR | J_UP | J_DOWN
|
|||
|
.word 8000h | 10 ;max
|
|||
|
.long scrt_grabfling
|
|||
|
|
|||
|
scrt_grabfling
|
|||
|
|
|||
|
;Make this miss, rotate to missed opponent,
|
|||
|
;and stay rotated to flung opponent, also make
|
|||
|
;this work from both angles!
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
;If opponent is running, do a hip toss
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_BOUNCING,a0
|
|||
|
jrz #yes
|
|||
|
cmpi MODE_RUNNING,a0
|
|||
|
jrnz #nope
|
|||
|
#yes
|
|||
|
FACE24 dnk,hiptoss_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,GRABFLING_T1,GRABFLING_T2
|
|||
|
rets
|
|||
|
|
|||
|
#nope
|
|||
|
;Don't fling when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
|
|||
|
FACE24 dnk,grabfling_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,GRABFLING_T1,GRABFLING_T2
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#grab_toss
|
|||
|
.word B_PUNCH | J_AWAY, J_REAL_LR | J_UP | J_DOWN
|
|||
|
.word 8000h | 10 ;max
|
|||
|
.long scrt_hiptoss
|
|||
|
|
|||
|
scrt_hiptoss
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #out
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrz #out
|
|||
|
cmpi MODE_INAIR,a0
|
|||
|
jrz #doit
|
|||
|
cmpi MODE_INAIR2,a0
|
|||
|
jrz #doit
|
|||
|
|
|||
|
move *a13(CLOSEST_DIST),a0
|
|||
|
cmpi 68h,a0
|
|||
|
jrgt #out
|
|||
|
|
|||
|
#doit
|
|||
|
FACE24 dnk,hiptoss_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,GRABFLING_T1,GRABFLING_T2
|
|||
|
rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
;#2nd_wind1
|
|||
|
; .word J_UP, J_REAL_LR
|
|||
|
; .word J_UP_AWAY, J_REAL_LR
|
|||
|
; .word J_AWAY, J_REAL_LR
|
|||
|
; .word J_DOWN_AWAY, J_REAL_LR
|
|||
|
; .word J_DOWN, J_REAL_LR
|
|||
|
; .word J_DOWN_TOWARD, J_REAL_LR
|
|||
|
; .word J_TOWARD, J_REAL_LR
|
|||
|
; .word J_UP_TOWARD, J_REAL_LR
|
|||
|
; .word J_UP, J_REAL_LR
|
|||
|
; .word 8000h | 50 ;max
|
|||
|
; .long scrt_2ndwind
|
|||
|
;
|
|||
|
;scrt_2ndwind
|
|||
|
; move *a13(ANIMODE),a0
|
|||
|
; btst MODE_UNINT_BIT,a0
|
|||
|
; jrnz #out
|
|||
|
;
|
|||
|
; movi dnk_2ndwind_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
|
|||
|
#out rets
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#*
|
|||
|
dnk_hdhold_slam
|
|||
|
|
|||
|
#TIMEOUT .equ 60
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #cont
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
#cont
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_UP,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_DOWN,0,#lp
|
|||
|
WAITSWITCH_DWN J_DOWN,0,#lp
|
|||
|
WAITSWITCH_DWN B_SKICK,J_DOWN_AWAY|J_DOWN_TOWARD,#lp
|
|||
|
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #slam
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
CALLA DO_REVERSAL
|
|||
|
CALLA DO_REVERSAL_MESS
|
|||
|
|
|||
|
;Make sure the reversal works!
|
|||
|
movk 10,a0
|
|||
|
move a0,*a8(SAFE_TIME)
|
|||
|
|
|||
|
move *a8(OBJ_ZPOS),a0,L
|
|||
|
addi [5,0],a0
|
|||
|
move a0,*a8(OBJ_ZPOS),L
|
|||
|
|
|||
|
#slam
|
|||
|
.ref dnk_3_head_slam_anim
|
|||
|
movi dnk_3_head_slam_anim,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
jruc #lp
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
#*
|
|||
|
dnk_hdhold_pile
|
|||
|
|
|||
|
#TIMEOUT .equ 60
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #cont
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
#cont
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_AWAY,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN B_SPUNCH,0,#lp
|
|||
|
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #slam
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
CALLA DO_REVERSAL
|
|||
|
CALLA DO_REVERSAL_MESS
|
|||
|
|
|||
|
;Make sure the reversal works!
|
|||
|
movk 10,a0
|
|||
|
move a0,*a8(SAFE_TIME)
|
|||
|
|
|||
|
move *a8(OBJ_ZPOS),a0,L
|
|||
|
addi [5,0],a0
|
|||
|
move a0,*a8(OBJ_ZPOS),L
|
|||
|
|
|||
|
#slam
|
|||
|
movi dnk_3_pile_driver_anim,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
jruc #lp
|
|||
|
|
|||
|
; WAITSWITCH_DWN J_UP_TOWARD,0,#lp
|
|||
|
; WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
; WAITSWITCH_DWN J_DOWN_TOWARD,0,#lp
|
|||
|
; WAITSWITCH_DWN J_DOWN,0,#lp
|
|||
|
; WAITSWITCH_DWN B_SKICK,J_DOWN_AWAY,#lp
|
|||
|
; WAITSWITCH_DWN J_AWAY,J_UP|J_DOWN,#lp
|
|||
|
; WAITSWITCH_DWN J_TOWARD,J_UP|J_DOWN,#lp
|
|||
|
; WAITSWITCH_DWN J_TOWARD,J_UP|J_DOWN,#lp
|
|||
|
; WAITSWITCH_DWN J_DOWN_AWAY,0,#lp
|
|||
|
; WAITSWITCH_DWN J_DOWN,0,#lp
|
|||
|
; WAITSWITCH_DWN J_DOWN_TOWARD,0,#lp
|
|||
|
; WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
|
|||
|
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#*
|
|||
|
dnk_hdhold_combo1
|
|||
|
|
|||
|
#TIMEOUT .equ 60
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #cont
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
#cont
|
|||
|
;In combo mode?
|
|||
|
calla CHECK_COMBO_GO
|
|||
|
jrlt #lp0
|
|||
|
|
|||
|
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN B_SPUNCH,J_DOWN_TOWARD|J_UP_TOWARD,#lp
|
|||
|
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #slam
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
|
|||
|
#slam
|
|||
|
MOVI dnk_combo_uppercut_to_head_anim,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
jruc #lp
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#*
|
|||
|
dnk_hdhold_combo2
|
|||
|
|
|||
|
#TIMEOUT .equ 60
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #cont
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
#cont
|
|||
|
;In combo mode?
|
|||
|
calla CHECK_COMBO_GO
|
|||
|
jrlt #lp0
|
|||
|
|
|||
|
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN B_SKICK,J_DOWN_TOWARD|J_UP_TOWARD,#lp
|
|||
|
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_HEADHOLD,a0
|
|||
|
jrz #slam
|
|||
|
cmpi MODE_HEADHELD,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
|
|||
|
#slam
|
|||
|
movi dnk_4_combo_kick_anim,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
jruc #lp
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
#*
|
|||
|
dnk_grab_toss_air
|
|||
|
|
|||
|
#TIMEOUT .equ 40
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_AWAY,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_AWAY,0,#lp
|
|||
|
WAITSWITCH_DWN B_PUNCH,J_DOWN_AWAY|J_UP_AWAY,#lp
|
|||
|
|
|||
|
move *a8(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #lp
|
|||
|
|
|||
|
;Don't do it when he is on ground
|
|||
|
PUSH a13
|
|||
|
move a8,a13
|
|||
|
calla get_opp_plyrmode
|
|||
|
PULL a13
|
|||
|
;Don't do it when he is on ground
|
|||
|
cmpi MODE_ONGROUND,a0
|
|||
|
jrz #lp
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrz #lp
|
|||
|
cmpi MODE_INAIR,a0
|
|||
|
jrz #doit2
|
|||
|
cmpi MODE_INAIR2,a0
|
|||
|
jrz #doit2
|
|||
|
|
|||
|
move *a8(CLOSEST_NUM),a0
|
|||
|
X32 a0
|
|||
|
addi process_ptrs,a0
|
|||
|
move *a0,a0,L
|
|||
|
move *a0(ATTACK_TYPE),a0
|
|||
|
cmpi AT_LEAPING,a0
|
|||
|
jrz #doit2
|
|||
|
; cmpi AT_SPINKIK,a0
|
|||
|
; jrz #doit2
|
|||
|
|
|||
|
move *a8(CLOSEST_DIST),a0
|
|||
|
cmpi 70h,a0
|
|||
|
jrgt #lp
|
|||
|
|
|||
|
FACE24 dnk,hiptoss_anim
|
|||
|
move a0,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
WRSND W_DOINK,GRABFLING_T1,GRABFLING_T2
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
jruc #lp
|
|||
|
|
|||
|
#doit2 FACE24 dnk,hiptoss2_anim
|
|||
|
move a0,a14
|
|||
|
move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
|
|||
|
WRSND W_DOINK,GRABFLING_T1,GRABFLING_T2
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
jruc #lp
|
|||
|
|
|||
|
|
|||
|
*******************************************************************************
|
|||
|
|
|||
|
#*
|
|||
|
dnk_walk_fast
|
|||
|
|
|||
|
#TIMEOUT .equ 60
|
|||
|
|
|||
|
#lp0
|
|||
|
SLEEPK 1
|
|||
|
#lp
|
|||
|
move *a8(WALK_FAST),a0
|
|||
|
jrnz #lp0
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_NORMAL,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
clr a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_AWAY,0,#lp
|
|||
|
|
|||
|
movi #TIMEOUT,a11
|
|||
|
|
|||
|
WAITSWITCH_DWN J_DOWN_AWAY,0,#lp
|
|||
|
WAITSWITCH_DWN J_DOWN,0,#lp
|
|||
|
WAITSWITCH_DWN J_DOWN_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_UP_TOWARD,0,#lp
|
|||
|
WAITSWITCH_DWN J_UP,0,#lp
|
|||
|
WAITSWITCH_DWN J_UP_AWAY,0,#lp
|
|||
|
|
|||
|
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
cmpi MODE_NORMAL,a0
|
|||
|
jrnz #lp0
|
|||
|
|
|||
|
movi 30000h,a0
|
|||
|
move a0,*a8(OBJ_YVEL),L
|
|||
|
|
|||
|
movi 15*60,a0
|
|||
|
move a0,*a8(WALK_FAST)
|
|||
|
|
|||
|
;Doink speech call
|
|||
|
;211h
|
|||
|
movi 211h,a0
|
|||
|
.ref ADD_VOICE
|
|||
|
calla ADD_VOICE
|
|||
|
; calla IF_SILENT_ADD_VOICE
|
|||
|
|
|||
|
movi 0101h,a14
|
|||
|
move a14,*a8(OBJ_CONST)
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori M_CONNON,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
SLEEPK 3
|
|||
|
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori DMAWNZ,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
SLEEPK 3
|
|||
|
|
|||
|
movi 0101h,a14
|
|||
|
move a14,*a8(OBJ_CONST)
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori M_CONNON,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
SLEEPK 3
|
|||
|
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori DMAWNZ,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
SLEEP 30
|
|||
|
|
|||
|
movi 0b2h,a0 ;Honk
|
|||
|
calla triple_sound
|
|||
|
|
|||
|
SLEEPK 18
|
|||
|
|
|||
|
movi 0b2h,a0 ;Honk
|
|||
|
calla triple_sound
|
|||
|
|
|||
|
SLEEPK 18
|
|||
|
|
|||
|
movi 0b2h,a0 ;Honk
|
|||
|
calla triple_sound
|
|||
|
|
|||
|
#tag SLEEPK 5
|
|||
|
move *a8(WALK_FAST),a0
|
|||
|
jrnz #tag
|
|||
|
|
|||
|
movi 0101h,a14
|
|||
|
move a14,*a8(OBJ_CONST)
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori M_CONNON,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
SLEEPK 3
|
|||
|
|
|||
|
move *a8(OBJ_CONTROL),a14
|
|||
|
andni 01111b,a14
|
|||
|
ori DMAWNZ,a14
|
|||
|
move a14,*a8(OBJ_CONTROL)
|
|||
|
|
|||
|
DIE
|
|||
|
|
|||
|
jruc #lp
|
|||
|
;DIE!
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
SUBR doink_ani_init
|
|||
|
|
|||
|
move *a13(FACING_DIR),a0
|
|||
|
btst PLAYER_RIGHT_BIT,a0
|
|||
|
jrnz #p1
|
|||
|
;Plyr 2
|
|||
|
movi dnk_stand4_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
movi dnk_torso4_anim,a0
|
|||
|
calla change_anim2a
|
|||
|
|
|||
|
PUSH a10
|
|||
|
move a13,a10
|
|||
|
CREATE0 do_taunt
|
|||
|
PULL a10
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#p1
|
|||
|
movi dnk_stand2_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
movi dnk_torso2_anim,a0
|
|||
|
calla change_anim2a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
SUBR do_taunt
|
|||
|
;a10=*wrestler proc
|
|||
|
;Do a taunt at start of rounds
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
.ref HALT
|
|||
|
move @HALT,a0
|
|||
|
jaz SUCIDE
|
|||
|
|
|||
|
movi 250,a0
|
|||
|
.ref RNDPER
|
|||
|
calla RNDPER
|
|||
|
jals SUCIDE
|
|||
|
|
|||
|
.ref current_round
|
|||
|
move @current_round,a0
|
|||
|
cmpi 1,a0
|
|||
|
jrz #tag
|
|||
|
;Start of 2 or 3rd round! Only drones can taunt here!
|
|||
|
move *a10(PLYRNUM),a0
|
|||
|
cmpi 2,a0
|
|||
|
jalt SUCIDE
|
|||
|
;Drone to taunt
|
|||
|
#tag PUSH a13
|
|||
|
move a10,a13
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
X32 a0
|
|||
|
addi #taunt_t,a0
|
|||
|
move *a0,a0,L
|
|||
|
|
|||
|
calla change_anim1a
|
|||
|
PULL a13
|
|||
|
|
|||
|
DIE
|
|||
|
|
|||
|
.ref hrt_4_taunt_anim,rzr_4_taunt_anim,und_4_taunt_anim
|
|||
|
.ref yok_4_taunt_anim,shn_4_taunt_anim,bam_4_taunt_anim
|
|||
|
.ref lex_4_taunt_anim
|
|||
|
.ref dnk_4_taunt_anim
|
|||
|
|
|||
|
#taunt_t
|
|||
|
.long hrt_4_taunt_anim ;0 Bret Hart
|
|||
|
.long rzr_4_taunt_anim ;1 Razor Ramon
|
|||
|
.long und_4_taunt_anim ;2 Undertaker
|
|||
|
.long yok_4_taunt_anim ;3 Yokozuna
|
|||
|
.long shn_4_taunt_anim ;4 Shawn Michaels
|
|||
|
.long bam_4_taunt_anim ;5 Bam Bam
|
|||
|
.long dnk_4_taunt_anim ;6 Doink
|
|||
|
.long 0 ;7 spare
|
|||
|
.long lex_4_taunt_anim ;8 Lex Luger
|
|||
|
.long 0 ;9 Referee
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
* DOINKS CONTROL CODE
|
|||
|
*
|
|||
|
* a13 = * doink process
|
|||
|
|
|||
|
SUBR move_doink
|
|||
|
|
|||
|
; movi 100h,a0 ;temp fix!
|
|||
|
; move a0,*a13(ANI_SPEED)
|
|||
|
|
|||
|
movi doink_secret_moves,a11
|
|||
|
calla check_secret_moves
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
sll 5,a0 ;x 32
|
|||
|
addi #mode_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
rets
|
|||
|
|
|||
|
#mode_table
|
|||
|
.long mode_normal ;0
|
|||
|
.long mode_running ;1
|
|||
|
.long mode_inair ;2
|
|||
|
.long mode_attached ;3
|
|||
|
.long mode_onground ;4
|
|||
|
.long mode_bouncing ;5
|
|||
|
.long mode_onturnbkl ;6
|
|||
|
.long mode_block ;7
|
|||
|
.long mode_dizzy ;8
|
|||
|
.long mode_dead ;9
|
|||
|
.long mode_oppoverhead ;10
|
|||
|
.long mode_climbturnbkl ;11
|
|||
|
.long mode_waitanim ;12
|
|||
|
.long mode_grapple ;13
|
|||
|
.long mode_master ;14
|
|||
|
.long mode_slave ;15
|
|||
|
.long mode_headhold ;16
|
|||
|
.long mode_normal ;17
|
|||
|
.long mode_normal ;18
|
|||
|
.long mode_headheld ;19
|
|||
|
.long mode_puppet ;20
|
|||
|
.long mode_inair2 ;21
|
|||
|
.long mode_normal ;22
|
|||
|
.long mode_normal ;23
|
|||
|
.long mode_chokehold ;24
|
|||
|
.ref mode_choking
|
|||
|
.long mode_choking ;25
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_normal
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #no_interrupt
|
|||
|
|
|||
|
move *a13(I_WILL_DIE),a0
|
|||
|
jrz #nope
|
|||
|
;Player has died amidst a combo...
|
|||
|
;Knock me down.
|
|||
|
movi dnk_fall_back_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
;Zero health bar
|
|||
|
movi -10,a0
|
|||
|
move *a13(PLYRNUM),a1
|
|||
|
calla adjust_health
|
|||
|
|
|||
|
SETMODE DEAD
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(I_WILL_DIE)
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#nope
|
|||
|
;Perhaps we need to interrupt any sequence when a wrestler has won?
|
|||
|
|
|||
|
calla get_opp_plyrmode
|
|||
|
cmpi MODE_DEAD,a0
|
|||
|
jrne #opp_not_dead
|
|||
|
|
|||
|
;Any button causes a pin
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_cur
|
|||
|
move a0,a0
|
|||
|
jrz #opp_not_dead
|
|||
|
|
|||
|
;Make sure opponent is on the ground!
|
|||
|
;First, see if opponent is on the ground.
|
|||
|
move *a13(CLOSEST_DIST),a0
|
|||
|
cmpi 70h,a0
|
|||
|
jrgt #opp_not_dead
|
|||
|
|
|||
|
move *a13(CLOSEST_NUM),a0
|
|||
|
X32 a0
|
|||
|
addi process_ptrs,a0
|
|||
|
move *a0,a1,L
|
|||
|
|
|||
|
move *a1(OBJ_YPOS),a0,L
|
|||
|
move *a1(GROUND_Y),a14
|
|||
|
sll 16,a14
|
|||
|
cmp a14,a0
|
|||
|
jrgt #opp_notgnd
|
|||
|
|
|||
|
;Opponent is on ground.
|
|||
|
;Now check to see if I'm attached to him in puppet mode!
|
|||
|
move *a13(ATTACH_PROC),a1,L
|
|||
|
jrz #done
|
|||
|
move *a1(ATTACH_PROC),a2,L
|
|||
|
cmp a2,a13
|
|||
|
;If I'm attached to him, let the move finish!
|
|||
|
jrz #opp_not_dead
|
|||
|
#done
|
|||
|
|
|||
|
FACE24 dnk,pin_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#opp_notgnd
|
|||
|
#opp_not_dead
|
|||
|
|
|||
|
move *a13(IMMOBILIZE_TIME),a0
|
|||
|
jrnz #no_climb
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_cur
|
|||
|
btst PLAYER_BLOCK_BIT,a0 ;maybe have to action tables?
|
|||
|
jrz #nblk ;1 for down transitions
|
|||
|
callr #block ;& 1 for current buttons
|
|||
|
clr a0
|
|||
|
move a0,*a13(ATTACK_TYPE)
|
|||
|
#nblk
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_down
|
|||
|
andi 011111b,a0
|
|||
|
X32 a0
|
|||
|
addi #action_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #no_interrupt
|
|||
|
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move a0,*a13(MOVE_DIR)
|
|||
|
calla climb_turnbuckle
|
|||
|
jrnc #no_climb
|
|||
|
move *a13(WRESTLERNUM),A5
|
|||
|
MOVI CLIMB_ROPES,A2
|
|||
|
MOVI 1000,A0
|
|||
|
CALLA ADD_IF_SILENT
|
|||
|
rets
|
|||
|
#no_climb
|
|||
|
|
|||
|
calla execute_walk
|
|||
|
|
|||
|
#no_interrupt
|
|||
|
rets
|
|||
|
|
|||
|
#action_table
|
|||
|
;This table accounts for 2 buttons being hit simultaneously.
|
|||
|
|
|||
|
.long #z ;0
|
|||
|
.long #punch ;1
|
|||
|
.long #block ;2
|
|||
|
.long #z ;3
|
|||
|
.long #super_punch ;4
|
|||
|
.long #super_punch,#z,#z ;5-7
|
|||
|
.long #kick ;8
|
|||
|
.long #punchkick,#z,#z,#kick,#z,#z,#z ;9-15
|
|||
|
.long #super_kick ;16
|
|||
|
.long #z,#z,#z,#graboh,#z,#z,#z ;17-23
|
|||
|
.long #kick,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
;Unmolested list...
|
|||
|
; .long #z ;0
|
|||
|
; .long #punch ;1
|
|||
|
; .long #block ;2
|
|||
|
; .long #z ;3
|
|||
|
; .long #super_punch ;4
|
|||
|
; .long #z,#z,#z ;5-7
|
|||
|
; .long #kick ;8
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z ;9-15
|
|||
|
; .long #super_kick ;16
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z ;17-23
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
************
|
|||
|
#z ;0
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#punch ;1
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal < 50 92 headbutt
|
|||
|
* dizzy " "
|
|||
|
* normal > normal punch
|
|||
|
* dizzy " "
|
|||
|
*
|
|||
|
* onground < 120 120 elbow drop
|
|||
|
* onground > normal punch
|
|||
|
*
|
|||
|
* running hiptoss
|
|||
|
* bouncing nothing
|
|||
|
*
|
|||
|
* onturnbkl < 60 96 yank down
|
|||
|
* onturnbkl > normal punch
|
|||
|
* climbturnbkl normal punch
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, 50, 45,#punch_hdbutt,#punch_punch ;0
|
|||
|
JJXM RUNNING, 50, 45,#punch_hdbutt,#punch_punch ;1
|
|||
|
JJXM INAIR, 50, 45,#punch_hdbutt,#punch_punch ;2
|
|||
|
JJXM ATTACHED, 50, 45,#punch_hdbutt,#punch_punch ;3
|
|||
|
JJXM ONGROUND, 120,120,#punch_lbowdrop,#punch_punch ;4
|
|||
|
JJXM BOUNCING, 50, 45,#punch_hdbutt,#punch_punch ;1
|
|||
|
; JJXM BOUNCING, #punch_rets ;5
|
|||
|
JJXM ONTURNBKL, 50, 45,#punch_hdbutt,#punch_punch ;6
|
|||
|
JJXM BLOCK, 50, 45,#punch_hdbutt,#punch_punch ;7
|
|||
|
JJXM DIZZY, 50, 45,#punch_hdbutt,#punch_punch ;8
|
|||
|
JJXM DEAD, 96,112,#punch_lbowdrop,#punch_punch ;9
|
|||
|
JJXM OPPOVERHEAD, 50, 45,#punch_hdbutt,#punch_punch ;10
|
|||
|
JJXM CLIMBTURNBKL, #punch_punch ;11
|
|||
|
JJXM WAITANIM, 50, 45,#punch_hdbutt,#punch_punch ;12
|
|||
|
JJXM GRAPPLE, 50, 45,#punch_hdbutt,#punch_punch ;13
|
|||
|
JJXM MASTER, 50, 45,#punch_hdbutt,#punch_punch ;14
|
|||
|
JJXM SLAVE, 50, 45,#punch_hdbutt,#punch_punch ;15
|
|||
|
JJXM HEADHOLD, 50, 45,#punch_hdbutt,#punch_punch ;16
|
|||
|
JJXM HEADHELD, 50, 45,#punch_hdbutt,#punch_punch ;19
|
|||
|
JJXM PUPPET, 50, 45,#punch_hdbutt,#punch_punch ;20
|
|||
|
JJXM INAIR2, 50, 45,#punch_hdbutt,#punch_punch ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
#punch_rets
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#punch_punch
|
|||
|
std_punch
|
|||
|
|
|||
|
FACE24 dnk,punch_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,PUNCH_T1,PUNCH_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#punch_hdbutt
|
|||
|
|
|||
|
FACE24 dnk,butt_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,HDBUTT_T1,HDBUTT_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#punch_lbowdrop
|
|||
|
|
|||
|
FACE24 dnk,lbowdrop_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,LBOWDROP_T1,LBOWDROP_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
;#punch_yankdown
|
|||
|
;std_yankdown
|
|||
|
;
|
|||
|
; move *a13(INRING),a0
|
|||
|
; jrnz std_punch ;outside of ring
|
|||
|
;
|
|||
|
; movi dnk_2_yank_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; WRSND W_DOINK,GRABHOLD_T1,GRABHOLD_T2
|
|||
|
;
|
|||
|
; rets
|
|||
|
|
|||
|
;*****
|
|||
|
;#punch_hiptoss
|
|||
|
;std_hiptoss
|
|||
|
;
|
|||
|
; movi dnk_hiptoss_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; WRSND W_DOINK,HIPTOSS_T1,HIPTOSS_T2
|
|||
|
;
|
|||
|
; rets
|
|||
|
|
|||
|
*****
|
|||
|
;maybe this doesn't happen automatically
|
|||
|
;
|
|||
|
; calla get_opp_plyrmode
|
|||
|
; cmpi MODE_DIZZY,a0
|
|||
|
; jrne #opp_not_dizzy
|
|||
|
; move *a13(CLOSEST_XDIST),a0
|
|||
|
; cmpi 80,a0
|
|||
|
; jrlt #opp_not_dizzy
|
|||
|
; FACE24 dnk,box_anim
|
|||
|
; calla change_anim1a
|
|||
|
; WRSND W_DOINK,SPUNCH_T1,SPUNCH_T2
|
|||
|
*****
|
|||
|
|
|||
|
************
|
|||
|
#block ;2
|
|||
|
std_block
|
|||
|
FACE24 dnk,block_anim
|
|||
|
calla change_anim1
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#super_punch ;4
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal < 50 92 close in super move
|
|||
|
* dizzy " "
|
|||
|
* normal > jumping punch move
|
|||
|
* dizzy " "
|
|||
|
*
|
|||
|
* onground < 144 160 super elbow drop
|
|||
|
* onground > normal punch
|
|||
|
*
|
|||
|
* running hip toss
|
|||
|
* bouncing nothing
|
|||
|
*
|
|||
|
* onturnbkl < 60 96 yank down
|
|||
|
* onturnbkl > normal punch
|
|||
|
* climbturnbkl normal punch
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, 85, 45,#spunch_special,#spunch_slap ;0
|
|||
|
JJXM RUNNING, 85, 45,#spunch_special,#spunch_slap ;1
|
|||
|
JJXM INAIR, 85, 45,#spunch_special,#spunch_slap ;2
|
|||
|
JJXM ATTACHED, 85, 45,#spunch_special,#spunch_slap ;3
|
|||
|
JJXM ONGROUND, 136,112,#spunch_lbowdrop,std_punch ;4
|
|||
|
JJXM BOUNCING, 85, 45,#spunch_special,#spunch_slap ;1
|
|||
|
; JJXM BOUNCING, #spunch_rets ;5
|
|||
|
JJXM ONTURNBKL, #spunch_slap ;6
|
|||
|
JJXM BLOCK, 85, 45,#spunch_special,#spunch_slap ;7
|
|||
|
JJXM DIZZY, 85, 45,#spunch_special,#spunch_slap ;8
|
|||
|
JJXM DEAD, 96,112,#spunch_lbowdrop,std_punch ;9
|
|||
|
JJXM OPPOVERHEAD, 85, 45,#spunch_special,#spunch_slap ;10
|
|||
|
JJXM CLIMBTURNBKL, std_punch ;11
|
|||
|
JJXM WAITANIM, 85, 45,#spunch_special,#spunch_slap ;12
|
|||
|
JJXM GRAPPLE, 85, 45,#spunch_special,#spunch_slap ;13
|
|||
|
JJXM MASTER, 85, 45,#spunch_special,#spunch_slap ;14
|
|||
|
JJXM SLAVE, 85, 45,#spunch_special,#spunch_slap ;15
|
|||
|
JJXM HEADHOLD, 85, 45,#spunch_special,#spunch_slap ;16
|
|||
|
JJXM HEADHELD, do_pile ;19
|
|||
|
JJXM PUPPET, 85, 45,#spunch_special,#spunch_slap ;20
|
|||
|
JJXM INAIR2, 85, 45,#spunch_special,#spunch_slap ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
#spunch_rets
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#spunch_slap
|
|||
|
|
|||
|
; cmpi 60,a2
|
|||
|
; jrgt #norm
|
|||
|
; cmpi 6eh,a1
|
|||
|
; jrlt #close
|
|||
|
;
|
|||
|
;#norm
|
|||
|
FACE24 dnk,slap_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,SPUNCH_T1,SPUNCH_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
;#close
|
|||
|
; cmpi 70,a1
|
|||
|
; jrlt #norm
|
|||
|
;
|
|||
|
; FACE24 dnk,slap2_anim
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; WRSND W_DOINK,PUNCH_T1,PUNCH_T2
|
|||
|
;
|
|||
|
; rets
|
|||
|
|
|||
|
*****
|
|||
|
#spunch_special
|
|||
|
;If stick is toward opponent, then do quick punches
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi 0ch,a1
|
|||
|
cmp a0,a1
|
|||
|
jrz #cont
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a1
|
|||
|
cmpi 50,a1
|
|||
|
jrgt std_punch
|
|||
|
jruc #hdbutt
|
|||
|
#cont
|
|||
|
.ref dnk_3_head_hold2_anim
|
|||
|
movi dnk_3_head_hold2_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,GRABHOLD_T1,GRABHOLD_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#hdbutt
|
|||
|
|
|||
|
FACE24 dnk,butt_anim
|
|||
|
calla change_anim1
|
|||
|
|
|||
|
WRSND W_DOINK,HDBUTT_T1,HDBUTT_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#spunch_lbowdrop
|
|||
|
.ref dnk_2_hair_pickup_anim
|
|||
|
.ref dnk_4_hair_pickup_anim
|
|||
|
;If near opponents head, and facing down, do the hair grab!
|
|||
|
;Allow hair grab from below!
|
|||
|
|
|||
|
; move *a13(FACING_DIR),a14
|
|||
|
; btst MOVE_DOWN_BIT,a14
|
|||
|
; jrz #no
|
|||
|
|
|||
|
move *a13(CLOSEST_NUM),a14
|
|||
|
X32 a14
|
|||
|
addi process_ptrs,a14
|
|||
|
move *a14,a14,L
|
|||
|
move *a13(OBJ_XPOS),a1,L
|
|||
|
move *a14(OBJ_XPOS),a2,L
|
|||
|
sub a2,a1
|
|||
|
abs a1
|
|||
|
srl 16,a1
|
|||
|
cmpi 20h,a1 ;28
|
|||
|
jrlt #no
|
|||
|
|
|||
|
;At head or feet!
|
|||
|
|
|||
|
move *a14(OBJ_CONTROL),a14
|
|||
|
andi M_FLIPH,a14
|
|||
|
move *a13(OBJ_CONTROL),a0
|
|||
|
andi M_FLIPH,a0
|
|||
|
cmp a0,a14
|
|||
|
jrz #no
|
|||
|
|
|||
|
;At head! Do hair pickup.
|
|||
|
|
|||
|
FACE24 dnk,hair_pickup_anim
|
|||
|
calla change_anim1
|
|||
|
WRSND W_DOINK,LBOWDROP_T1,LBOWDROP_T2
|
|||
|
rets
|
|||
|
|
|||
|
#no FACE24 dnk,lbowdrop_anim
|
|||
|
calla change_anim1
|
|||
|
WRSND W_DOINK,LBOWDROP_T1,LBOWDROP_T2
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#kick ;8
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal < 50 92 knee
|
|||
|
* dizzy " "
|
|||
|
* normal > normal kick
|
|||
|
* dizzy " "
|
|||
|
*
|
|||
|
* onground < 120 120 stomp
|
|||
|
* onground > normal kick
|
|||
|
*
|
|||
|
* running normal kick
|
|||
|
* bouncing normal kick
|
|||
|
*
|
|||
|
* onturnbkl normal kick
|
|||
|
* climbturnbkl normal kick
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, 50, 92,#kick_knee,#kick_kick ;0
|
|||
|
JJXM RUNNING, 120,92,#kick_kick,#kick_flyingkick ;1
|
|||
|
JJXM INAIR, 50, 92,#kick_knee,#kick_kick ;2
|
|||
|
JJXM ATTACHED, 50, 92,#kick_knee,#kick_kick ;3
|
|||
|
JJXM ONGROUND, 120,120,#kick_stomp,#kick_kick ;4
|
|||
|
JJXM BOUNCING, 120,92,#kick_kick,#kick_flyingkick ;5
|
|||
|
JJXM ONTURNBKL, #kick_kick ;6
|
|||
|
JJXM BLOCK, 50, 92,#kick_knee,#kick_kick ;7
|
|||
|
JJXM DIZZY, 50, 92,#kick_knee,#kick_kick ;8
|
|||
|
JJXM DEAD, 96,112,#kick_stomp,#kick_kick ;9
|
|||
|
JJXM OPPOVERHEAD, 50, 92,#kick_knee,#kick_kick ;10
|
|||
|
JJXM CLIMBTURNBKL, #kick_kick ;11
|
|||
|
JJXM WAITANIM, 50, 92,#kick_knee,#kick_kick ;12
|
|||
|
JJXM GRAPPLE, 50, 92,#kick_knee,#kick_kick ;13
|
|||
|
JJXM MASTER, 50, 92,#kick_knee,#kick_kick ;14
|
|||
|
JJXM SLAVE, 50, 92,#kick_knee,#kick_kick ;15
|
|||
|
JJXM HEADHOLD, 50, 92,#kick_knee,#kick_kick ;16
|
|||
|
JJXM HEADHELD, 50, 92,#kick_knee,#kick_kick ;19
|
|||
|
JJXM PUPPET, 50, 92,#kick_knee,#kick_kick ;20
|
|||
|
JJXM INAIR2, 50, 92,#kick_knee,#kick_kick ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
*****
|
|||
|
#kick_flyingkick
|
|||
|
|
|||
|
movi dnk_flying_kick_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE INAIR
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#kick_kick
|
|||
|
std_kick
|
|||
|
|
|||
|
FACE24 dnk,kick_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,KICK_T1,KICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#kick_knee
|
|||
|
|
|||
|
FACE24 dnk,knee_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,KICK_T1,KICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#kick_stomp
|
|||
|
|
|||
|
FACE24 dnk,stomp_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,KICK_T1,KICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#punchkick ;9
|
|||
|
|
|||
|
movi start_run_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#super_kick ;16
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal < 60 60 close in super move
|
|||
|
* dizzy " "
|
|||
|
* normal > jumping kick move
|
|||
|
* dizzy " "
|
|||
|
*
|
|||
|
* onground < 144 160 super stomp
|
|||
|
* onground > normal kick
|
|||
|
*
|
|||
|
* running big boot
|
|||
|
* bouncing big boot
|
|||
|
*
|
|||
|
* onturnbkl < 60 96 jumping kick move
|
|||
|
* climbturnbkl " "
|
|||
|
* onturnbkl > normal kick
|
|||
|
* climbturnbkl " "
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, 60, 60,#skick_special,#skick_kick ;0
|
|||
|
JJXM RUNNING, #skick_bigboot ;1
|
|||
|
JJXM INAIR, 60, 60,#skick_special,#skick_kick ;2
|
|||
|
JJXM ATTACHED, 60, 60,#skick_special,#skick_kick ;3
|
|||
|
JJXM ONGROUND, 144,160,#skick_stomp,std_kick ;4
|
|||
|
JJXM BOUNCING, #skick_bigboot ;5
|
|||
|
JJXM ONTURNBKL, 60, 96,#skick_kick,std_kick ;6
|
|||
|
JJXM BLOCK, 60, 60,#skick_special,#skick_kick ;7
|
|||
|
JJXM DIZZY, 60, 60,#skick_special,#skick_kick ;8
|
|||
|
JJXM DEAD, 144,160,#skick_stomp,std_kick ;9
|
|||
|
JJXM OPPOVERHEAD, 60, 60,#skick_special,#skick_kick ;10
|
|||
|
JJXM CLIMBTURNBKL, 60, 96,#skick_kick,std_kick ;11
|
|||
|
JJXM WAITANIM, 60, 62,#skick_special,#skick_kick ;12
|
|||
|
JJXM GRAPPLE, 60, 62,#skick_special,#skick_kick ;13
|
|||
|
JJXM MASTER, 60, 62,#skick_special,#skick_kick ;14
|
|||
|
JJXM SLAVE, 60, 62,#skick_special,#skick_kick ;15
|
|||
|
JJXM HEADHOLD, 60, 62,#skick_special,#skick_kick ;16
|
|||
|
JJXM HEADHELD, std_kick
|
|||
|
JJXM PUPPET, 60, 62,#skick_special,#skick_kick ;20
|
|||
|
JJXM INAIR2, 60, 60,#skick_special,#skick_kick ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
*****
|
|||
|
#skick_kick
|
|||
|
|
|||
|
FACE24 dnk,spin_kick_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#skick_special
|
|||
|
;If stick is toward opponent, then do quick punches
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi 0ch,a1
|
|||
|
cmp a0,a1
|
|||
|
jrz #cont2
|
|||
|
|
|||
|
FACE24 dnk,knee_anim
|
|||
|
calla change_anim1
|
|||
|
|
|||
|
;- correct sounds?
|
|||
|
WRSND W_DOINK,GRABHOLD_T1,GRABHOLD_T2
|
|||
|
rets
|
|||
|
|
|||
|
#cont2
|
|||
|
.ref dnk_4_knee_fall_anim
|
|||
|
movi dnk_4_knee_fall_anim,a0
|
|||
|
calla change_anim1
|
|||
|
|
|||
|
WRSND W_DOINK,GRABHOLD_T1,GRABHOLD_T2
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
*****
|
|||
|
#skick_stomp
|
|||
|
|
|||
|
FACE24 dnk,stomp_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,KICK_T1,KICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#skick_bigboot ;we can probably get away with just a #4 big boot
|
|||
|
|
|||
|
FACE24 dnk,bigboot_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
|
|||
|
#graboh ;8
|
|||
|
|
|||
|
; FACE24 dnk,graboh_anim
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; WRSND W_DOINK,GRABHOLD_T1,GRABHOLD_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
* RUNNING (if GETUP_TIME > 0 then player is out of control)
|
|||
|
*
|
|||
|
|
|||
|
#XRUN_VAL equ 60000h ;50000h
|
|||
|
#XRUN2_VAL equ 88000h
|
|||
|
#ZDRIFT_VAL equ 20000h ;18000h
|
|||
|
|
|||
|
mode_running
|
|||
|
|
|||
|
move *a13(RUN_TIME),a0 ;Used for flying kick
|
|||
|
addk 1,a0
|
|||
|
move a0,*a13(RUN_TIME)
|
|||
|
|
|||
|
move *a13(USR_VAR1),a0
|
|||
|
jrnz #no_vel
|
|||
|
|
|||
|
calla bounce_off_ropes
|
|||
|
|
|||
|
movi #XRUN_VAL,a0
|
|||
|
|
|||
|
move *a13(WALK_FAST),a14
|
|||
|
jrz #no
|
|||
|
movi #XRUN2_VAL,a0
|
|||
|
#no
|
|||
|
|
|||
|
move *a13(MOVE_DIR),a14
|
|||
|
btst PLAYER_RIGHT_BIT,a14
|
|||
|
jrnz #pos
|
|||
|
neg a0
|
|||
|
#pos
|
|||
|
move a0,*a13(OBJ_XVEL),L
|
|||
|
|
|||
|
#no_vel
|
|||
|
|
|||
|
move *a13(GETUP_TIME),a0 ;delay b4 gaining control
|
|||
|
jrnz #out_of_control
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #no_interrupt
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(MOVE_DIR),a1
|
|||
|
or a0,a1
|
|||
|
andi MOVE_LEFT|MOVE_RIGHT,a1
|
|||
|
cmpi MOVE_LEFT|MOVE_RIGHT,a1
|
|||
|
jrne #continue_run
|
|||
|
|
|||
|
;braking with stick. abort run.
|
|||
|
|
|||
|
SETMODE NORMAL
|
|||
|
|
|||
|
#continue_run
|
|||
|
#no_interrupt
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
clr a1
|
|||
|
|
|||
|
movi -#ZDRIFT_VAL,a1
|
|||
|
btst PLAYER_UP_BIT,a0
|
|||
|
jrnz #setvel
|
|||
|
|
|||
|
movi #ZDRIFT_VAL,a1
|
|||
|
btst PLAYER_DOWN_BIT,a0
|
|||
|
jrnz #setvel
|
|||
|
|
|||
|
clr a1
|
|||
|
#setvel
|
|||
|
move a1,*a13(OBJ_ZVEL),L
|
|||
|
|
|||
|
|
|||
|
;Delay reading buttons after just getting out of an out of control run
|
|||
|
;so a mistaken move isn't fired off
|
|||
|
move *a13(DELAY_BUTNS),a0
|
|||
|
jrnz #out_of_control
|
|||
|
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_down
|
|||
|
andi 011111b,a0
|
|||
|
X32 a0
|
|||
|
addi #action_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
#out_of_control
|
|||
|
rets
|
|||
|
|
|||
|
#action_table
|
|||
|
.long #z ;0
|
|||
|
.long #punch ;1
|
|||
|
.long #block ;2
|
|||
|
.long #z ;3
|
|||
|
.long #super_punch ;4
|
|||
|
.long #z,#z,#z ;5-7
|
|||
|
.long #kick ;8
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;9-15
|
|||
|
.long #super_kick ;16
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;17-23
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#z
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#punch ;1
|
|||
|
#super_punch ;4
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal flying clothesline
|
|||
|
* dizzy "
|
|||
|
*
|
|||
|
* onground < 176 176 belly flop
|
|||
|
* onground > nothing
|
|||
|
*
|
|||
|
* running flying clothesline
|
|||
|
* bouncing flying clothesline
|
|||
|
*
|
|||
|
* onturnbkl flying clothesline
|
|||
|
* climbturnbkl flying clothesline
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, #punch_clothesline ;0
|
|||
|
JJXM RUNNING, #punch_clothesline ;1
|
|||
|
JJXM INAIR, #punch_clothesline ;2
|
|||
|
JJXM ATTACHED, #punch_clothesline ;3
|
|||
|
JJXM ONGROUND, 176,176,#punch_bellyflop,#punch_lbowdrop ;4
|
|||
|
JJXM BOUNCING, #punch_clothesline ;5
|
|||
|
JJXM ONTURNBKL, #punch_clothesline ;6
|
|||
|
JJXM BLOCK, #punch_clothesline ;7
|
|||
|
JJXM DIZZY, #punch_clothesline ;8
|
|||
|
JJXM DEAD, 176,176,#punch_bellyflop,#punch_lbowdrop ;9
|
|||
|
JJXM OPPOVERHEAD, #punch_clothesline ;10
|
|||
|
JJXM CLIMBTURNBKL, #punch_clothesline ;11
|
|||
|
JJXM WAITANIM, #punch_clothesline ;12
|
|||
|
JJXM GRAPPLE, #punch_clothesline ;13
|
|||
|
JJXM MASTER, #punch_clothesline ;14
|
|||
|
JJXM SLAVE, #punch_clothesline ;15
|
|||
|
JJXM HEADHOLD, #punch_clothesline ;16
|
|||
|
JJXM HEADHELD, #punch_clothesline ;19
|
|||
|
JJXM PUPPET, #punch_clothesline ;20
|
|||
|
JJXM INAIR2, #punch_clothesline ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
|
|||
|
*****
|
|||
|
#punch_clothesline
|
|||
|
|
|||
|
;Only allow clothesline if near center of ring, and running toward opponent
|
|||
|
move *a13(MOVE_DIR),a1
|
|||
|
btst MOVE_LEFT_BIT,a1
|
|||
|
jrnz #lft
|
|||
|
;Moving right
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a0
|
|||
|
cmpi RING_X_MID+70h,a0
|
|||
|
jrlt #ok
|
|||
|
|
|||
|
; LOCKUP
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#lft
|
|||
|
;Moving left
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a0
|
|||
|
cmpi RING_X_MID-70h,a0
|
|||
|
jrgt #ok
|
|||
|
|
|||
|
; LOCKUP
|
|||
|
|
|||
|
rets
|
|||
|
#ok
|
|||
|
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
|
|||
|
jrz #yes
|
|||
|
|
|||
|
; LOCKUP
|
|||
|
|
|||
|
rets
|
|||
|
#yes
|
|||
|
|
|||
|
;Will lunge toward opponent
|
|||
|
;Is facing opponent - nt running away from him!
|
|||
|
movi dnk_fly_cline_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE INAIR
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(RUN_TIME)
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#mv_tbl .long 0,0,0,0,0,MOVE_RIGHT_BIT,MOVE_RIGHT_BIT
|
|||
|
.long 0,0,MOVE_LEFT_BIT,MOVE_LEFT_BIT
|
|||
|
|
|||
|
*****
|
|||
|
#punch_lbowdrop
|
|||
|
#punch_bellyflop
|
|||
|
|
|||
|
movi dnk_belly_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE INAIR
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(RUN_TIME)
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
;#punch_lbowdrop
|
|||
|
;
|
|||
|
; FACE24 dnk,lbowdrop_anim
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; WRSND W_DOINK,LBOWDROP_T1,LBOWDROP_T2
|
|||
|
;
|
|||
|
; rets
|
|||
|
|
|||
|
************
|
|||
|
#block ;2
|
|||
|
move *a13(OBJ_XVEL),a0,L
|
|||
|
sra 1,a0
|
|||
|
move a0,*a13(OBJ_XVEL),L
|
|||
|
SETMODE NORMAL
|
|||
|
jruc std_block
|
|||
|
|
|||
|
************
|
|||
|
#kick ;8
|
|||
|
#super_kick ;16
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* normal flying kick
|
|||
|
* dizzy "
|
|||
|
*
|
|||
|
* onground < 176 176 running stomp
|
|||
|
* onground > nothing
|
|||
|
*
|
|||
|
* running flying kick
|
|||
|
* bouncing flying kick
|
|||
|
*
|
|||
|
* onturnbkl flying kick
|
|||
|
* climbturnbkl flying kick
|
|||
|
*
|
|||
|
JJXM_INIT
|
|||
|
JJXM NORMAL, #kick_flyingkick ;0
|
|||
|
JJXM RUNNING, #kick_flyingkick ;1
|
|||
|
JJXM INAIR, #kick_flyingkick ;2
|
|||
|
JJXM ATTACHED, #kick_flyingkick ;3
|
|||
|
JJXM ONGROUND, 176,176,#kick_runstomp,#kick_runstomp ;4
|
|||
|
JJXM BOUNCING, #kick_flyingkick ;5
|
|||
|
JJXM ONTURNBKL, #kick_flyingkick ;6
|
|||
|
JJXM BLOCK, #kick_flyingkick ;7
|
|||
|
JJXM DIZZY, #kick_flyingkick ;8
|
|||
|
JJXM DEAD, 176,176,#kick_runstomp,#kick_runstomp ;9
|
|||
|
JJXM OPPOVERHEAD, #kick_flyingkick ;10
|
|||
|
JJXM CLIMBTURNBKL, #kick_flyingkick ;11
|
|||
|
JJXM WAITANIM, #kick_flyingkick ;12
|
|||
|
JJXM GRAPPLE, #kick_flyingkick ;13
|
|||
|
JJXM MASTER, #kick_flyingkick ;14
|
|||
|
JJXM SLAVE, #kick_flyingkick ;15
|
|||
|
JJXM HEADHOLD, #kick_flyingkick ;16
|
|||
|
JJXM HEADHELD, #kick_flyingkick ;19
|
|||
|
JJXM PUPPET, #kick_flyingkick ;20
|
|||
|
JJXM INAIR2, #kick_flyingkick ;21
|
|||
|
JJXM_END
|
|||
|
|
|||
|
*****
|
|||
|
#kick_flyingkick
|
|||
|
|
|||
|
movi dnk_flying_kick_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE INAIR
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
*****
|
|||
|
#kick_runstomp
|
|||
|
movi dnk_belly_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE INAIR
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(RUN_TIME)
|
|||
|
|
|||
|
WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
; FACE24 dnk,run_stomp_anim
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
; clr a0
|
|||
|
; move a0,*a13(RUN_TIME)
|
|||
|
;
|
|||
|
; WRSND W_DOINK,FLYKICK_T1,FLYKICK_T2
|
|||
|
; rets
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
|
|||
|
mode_inair ;2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
|
|||
|
mode_attached ;3
|
|||
|
|
|||
|
calla keep_attached
|
|||
|
jrnz #still_attached
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(ATTACH_PROC),L
|
|||
|
|
|||
|
SETMODE NORMAL
|
|||
|
|
|||
|
movi MODE_NORMAL,a0
|
|||
|
move a0,*a13(ANIMODE)
|
|||
|
|
|||
|
#still_attached
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_onground ;4
|
|||
|
|
|||
|
; move *a13(GETUP_TIME),a0
|
|||
|
; jrnz #exit
|
|||
|
;
|
|||
|
; move *a13(ANIBASE),a0,L
|
|||
|
; cmpi dnk_2_faceup_getup_anim,a0
|
|||
|
; jrz #exit
|
|||
|
; cmpi dnk_4_faceup_getup_anim,a0
|
|||
|
; jrz #exit
|
|||
|
;
|
|||
|
; calla do_roll
|
|||
|
; jrnz #exit ;did roll
|
|||
|
;
|
|||
|
; FACE24 dnk,faceup_getup_anim
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
;#exit
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
* bouncing off ropes while running
|
|||
|
|
|||
|
mode_bouncing ;5
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(OBJ_XVEL),L
|
|||
|
move a0,*a13(OBJ_ZVEL),L
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_END_BIT,a0
|
|||
|
jrz #not_ended
|
|||
|
|
|||
|
move *a13(MOVE_DIR),a0
|
|||
|
xori MOVE_LEFT+MOVE_RIGHT,a0 ;flip LEFT/RIGHT
|
|||
|
move a0,*a13(MOVE_DIR)
|
|||
|
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi MOVE_UP+MOVE_DOWN,a1
|
|||
|
or a0,a1 ;LEFT or RIGHT
|
|||
|
move a1,*a13(FACING_DIR) ;face same dir as run
|
|||
|
|
|||
|
movi dnk_run2_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE RUNNING
|
|||
|
|
|||
|
; clr a0
|
|||
|
; move a0,*a13(GETUP_TIME) ;in control
|
|||
|
|
|||
|
#not_ended
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
* STANDING ON TOP OF TURNBUCKLE
|
|||
|
|
|||
|
mode_onturnbkl ;6
|
|||
|
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
btst PLAYER_DOWN_BIT,a0
|
|||
|
jrz #no_climbdown
|
|||
|
|
|||
|
;this is so an attack isn't turned into a climbdown
|
|||
|
; in those 5-10 ticks before MODE_INAIR2 is set...
|
|||
|
move *a13(ANIBASE),a14,L
|
|||
|
cmpi dnk_climb_up_anim,a14
|
|||
|
jrne #no_climbdown
|
|||
|
|
|||
|
movi dnk_climb_down_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
SETMODE CLIMBTURNBKL
|
|||
|
|
|||
|
#no_interrupt
|
|||
|
rets
|
|||
|
|
|||
|
#no_climbdown
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_down
|
|||
|
andi 011111b,a0
|
|||
|
jrz #z
|
|||
|
|
|||
|
X32 a0
|
|||
|
addi #action_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
MOVE *A13(PLYRNUM),A5
|
|||
|
movi JUMP_ROPES,a2
|
|||
|
MOVI 1000,A0
|
|||
|
calla ADD_IF_SILENT
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
;For standing on top of turnbuckles
|
|||
|
|
|||
|
#action_table
|
|||
|
.long #z ;0
|
|||
|
.long #punch ;1
|
|||
|
.long #block ;2
|
|||
|
.long #z ;3
|
|||
|
.long #super_punch ;4
|
|||
|
.long #super_punch,#z,#z ;5-7
|
|||
|
.long #kick ;8
|
|||
|
.long #punchkick,#z,#z,#kick,#z,#z,#z ;9-15
|
|||
|
.long #super_kick ;16
|
|||
|
.long #z,#z,#z,#graboh,#z,#z,#z ;17-23
|
|||
|
.long #kick,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
************
|
|||
|
#z
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#punch ;1
|
|||
|
#punchkick ;1
|
|||
|
|
|||
|
movi dnk_4_blbowdrop_anim,a0 ;Buckle
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#block ;2
|
|||
|
|
|||
|
movi dnk_4_bjump_anim,a0 ;Buckle
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#super_punch ;4
|
|||
|
;If stick is toward opponent, then do hammer pound move
|
|||
|
; move a13,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
; move *a13(NEW_FACING_DIR),a1
|
|||
|
; andi 0ch,a1
|
|||
|
; cmp a0,a1
|
|||
|
|
|||
|
; xor a0,a1
|
|||
|
; andi MOVE_LEFT|MOVE_RIGHT,a1
|
|||
|
; cmpi MOVE_LEFT|MOVE_RIGHT,a1
|
|||
|
|
|||
|
; jrnz #graboh ;Br=regular
|
|||
|
;
|
|||
|
;;Do hammer pound
|
|||
|
; movi dnk_4_bhammer_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
; rets
|
|||
|
;
|
|||
|
;
|
|||
|
#graboh ;1
|
|||
|
|
|||
|
movi dnk_diveofftb_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#kick ;8
|
|||
|
#super_kick ;16
|
|||
|
|
|||
|
movi dnk_4_bstomp_anim,a0 ;Buckle
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
* blocking
|
|||
|
|
|||
|
mode_block ;7
|
|||
|
;check unint
|
|||
|
; move *a13(ANIMODE),a0
|
|||
|
; btst MODE_UNINT_BIT,a0
|
|||
|
; jrnz #no_interrupt
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_down
|
|||
|
andi 011111b,a0
|
|||
|
jrz #no_interrupt
|
|||
|
|
|||
|
X32 a0
|
|||
|
addi #action_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
#no_interrupt
|
|||
|
rets
|
|||
|
|
|||
|
#action_table
|
|||
|
.long #z,#punchblock,#z ;0-2
|
|||
|
.long #punchblock ;3
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;4-10
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;11-17
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;18-24
|
|||
|
.long #z,#z,#z,#z,#z,#z,#z ;25-31
|
|||
|
|
|||
|
; .long #z ;0
|
|||
|
; .long #punch ;1
|
|||
|
; .long #block ;2
|
|||
|
; .long #punchblock ;3
|
|||
|
; .long #super_punch ;4
|
|||
|
; .long #super_punch,#z,#z ;5-7
|
|||
|
; .long #kick ;8
|
|||
|
; .long #punchkick,#z,#z,#kick,#z,#z,#z ;9-15
|
|||
|
; .long #super_kick ;16
|
|||
|
; .long #z,#z,#z,#graboh,#z,#z,#z ;17-23
|
|||
|
; .long #kick,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#z
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#punchblock ;3
|
|||
|
*
|
|||
|
* MODE DX DZ ACTION
|
|||
|
* ----------------------------------------------------
|
|||
|
* all push
|
|||
|
*
|
|||
|
|
|||
|
;This push has no collisions set!
|
|||
|
|
|||
|
SETMODE NORMAL
|
|||
|
|
|||
|
FACE24 dnk,push_anim
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
WRSND W_DOINK,PUSH_T1,PUSH_T2
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
|
|||
|
mode_dizzy ;8
|
|||
|
|
|||
|
move *a13(GETUP_TIME),a0
|
|||
|
jrnz #still_going
|
|||
|
|
|||
|
calla clear_damage_log
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(STARS_FLAG)
|
|||
|
|
|||
|
SETMODE NORMAL
|
|||
|
|
|||
|
#still_going
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
mode_dead ;9
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
* opponent held overhead
|
|||
|
|
|||
|
mode_oppoverhead ;10
|
|||
|
;
|
|||
|
;
|
|||
|
; move *a13(ATTACH_PROC),a2,L ;proc attached to
|
|||
|
; jrz #not_attached
|
|||
|
; move *a2(ATTACH_PROC),a0,L
|
|||
|
; jrnz #still_attached
|
|||
|
;
|
|||
|
;#not_attached
|
|||
|
;
|
|||
|
; move *a13(ANIMODE),a0 ;* remove this????
|
|||
|
; btst MODE_UNINT_BIT,a0 ;*
|
|||
|
; jrnz #no_interrupt ;*
|
|||
|
;
|
|||
|
; clr a0
|
|||
|
; move a0,*a13(ATTACH_PROC),L
|
|||
|
;
|
|||
|
; SETMODE NORMAL
|
|||
|
;
|
|||
|
; movi MODE_NORMAL,a0
|
|||
|
; move a0,*a13(ANIMODE)
|
|||
|
;
|
|||
|
; rets
|
|||
|
;
|
|||
|
;#still_attached
|
|||
|
; move *a13(ANIMODE),a0
|
|||
|
; btst MODE_UNINT_BIT,a0
|
|||
|
; jrnz #no_interrupt
|
|||
|
;
|
|||
|
; move *a13(FACING_DIR),a0
|
|||
|
; andni MOVE_UP,a0
|
|||
|
; ori MOVE_DOWN,a0
|
|||
|
; move a0,*a13(FACING_DIR)
|
|||
|
; move a0,*a13(NEW_FACING_DIR)
|
|||
|
;
|
|||
|
; move a13,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
; jrz #stand
|
|||
|
;
|
|||
|
; move a0,*a13(MOVE_DIR)
|
|||
|
; calla execute_walk
|
|||
|
;
|
|||
|
; movi dnk_holdoh_anim,a0
|
|||
|
; calla change_anim2
|
|||
|
; jruc #ck_butns
|
|||
|
;#stand
|
|||
|
; clr a0
|
|||
|
; move a0,*a13(MOVE_DIR)
|
|||
|
; move a0,*a13(OBJ_XVEL),L
|
|||
|
; move a0,*a13(OBJ_ZVEL),L
|
|||
|
;
|
|||
|
; movi dnk_stndholdoh_anim,a0
|
|||
|
; calla change_anim1
|
|||
|
;
|
|||
|
;#ck_butns
|
|||
|
;
|
|||
|
;
|
|||
|
; move a13,a0
|
|||
|
; calla wres_get_but_val_down
|
|||
|
; andi 011111b,a0
|
|||
|
; X32 a0
|
|||
|
; addi #action_table,a0
|
|||
|
; move *a0,a0,L
|
|||
|
; call a0
|
|||
|
;
|
|||
|
;#no_interrupt
|
|||
|
; rets
|
|||
|
;
|
|||
|
;#action_table
|
|||
|
; .long #z ;0
|
|||
|
; .long #punch ;1
|
|||
|
; .long #block ;2
|
|||
|
; .long #z ;3
|
|||
|
; .long #super_punch ;4
|
|||
|
; .long #z,#z,#z ;5-7
|
|||
|
; .long #kick ;8
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z ;9-15
|
|||
|
; .long #super_kick ;16
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z ;17-23
|
|||
|
; .long #z,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
;
|
|||
|
;************
|
|||
|
;#z ;0
|
|||
|
; rets
|
|||
|
;
|
|||
|
;************
|
|||
|
;#punch ;1
|
|||
|
;#block ;2
|
|||
|
;#super_punch ;4
|
|||
|
;#kick ;8
|
|||
|
;#super_kick ;16
|
|||
|
;
|
|||
|
; movi dnk_ohthrow1_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
* CLIMBING UP OR DOWN THE TURNBUCKLE
|
|||
|
|
|||
|
mode_climbturnbkl ;11
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_waitanim ;12
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_END_BIT,a0
|
|||
|
jrz #not_ended
|
|||
|
|
|||
|
move *a13(CODE_ADDR),a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
#not_ended
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_grapple ;13
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_master ;14
|
|||
|
|
|||
|
.ref master_keep_attached
|
|||
|
calla master_keep_attached ;keep slave attached to me
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_slave ;15
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_headhold ;16
|
|||
|
|
|||
|
move *a13(ATTACH_PROC),a10,L
|
|||
|
jrz #exit
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #no_interrupt
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_but_val_down
|
|||
|
andi 011111b,a0
|
|||
|
X32 a0
|
|||
|
addi #action_table,a0
|
|||
|
move *a0,a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
#no_interrupt
|
|||
|
rets
|
|||
|
|
|||
|
#exit
|
|||
|
movk MOVE_DOWN_RIGHT,a1
|
|||
|
move *a13(OBJ_CONTROL),a0
|
|||
|
btst B_FLIPH,a0
|
|||
|
jrz #right
|
|||
|
movk MOVE_DOWN_LEFT,a1
|
|||
|
#right move a1,*a13(FACING_DIR)
|
|||
|
move a1,*a13(NEW_FACING_DIR)
|
|||
|
|
|||
|
SETMODE NORMAL
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#action_table
|
|||
|
.long #z ;0
|
|||
|
.long #punch ;1
|
|||
|
.long #block ;2
|
|||
|
.long #z ;3
|
|||
|
.long #super_punch ;4
|
|||
|
.long #super_punch,#z,#z ;5-7
|
|||
|
.long #kick ;8
|
|||
|
.long #punchkick,#z,#z,#kick,#z,#z,#z ;9-15
|
|||
|
.long #super_kick ;16
|
|||
|
.long #z,#z,#z,#graboh,#z,#z,#z ;17-23
|
|||
|
.long #kick,#z,#z,#z,#z,#z,#z,#z ;24-31
|
|||
|
|
|||
|
|
|||
|
************
|
|||
|
#block
|
|||
|
#z ;0
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
|
|||
|
#punch ;1
|
|||
|
;If stick is toward opponent, then do quick punches
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi 0ch,a1
|
|||
|
cmp a0,a1
|
|||
|
jrnz #tag
|
|||
|
movi dnk_uppercuts_to_head_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
#tag movi dnk_uppercut_to_head_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
************
|
|||
|
#super_punch ;4
|
|||
|
|
|||
|
do_pile
|
|||
|
;This flag is only set if doink has done repeated uppercuts!
|
|||
|
move *a13(USR_VAR2),a0
|
|||
|
jrz #z
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
|
|||
|
btst PLAYER_DOWN_BIT,a0
|
|||
|
jrz #punch
|
|||
|
|
|||
|
movi dnk_3_pile_driver_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
#punchkick
|
|||
|
#graboh
|
|||
|
#kick
|
|||
|
movi dnk_3_knee_to_head_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
#super_kick ;16
|
|||
|
;If stick is toward opponent, then do quick knees
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
move *a13(NEW_FACING_DIR),a1
|
|||
|
andi 0ch,a1
|
|||
|
cmp a0,a1
|
|||
|
jrnz #z
|
|||
|
|
|||
|
;Quick knees
|
|||
|
movi dnk_3_knees_to_head_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
mode_headheld ;19
|
|||
|
|
|||
|
;He may have let me go by hitting his block butn!
|
|||
|
move *a13(ATTACH_PROC),a0,L
|
|||
|
jrnz #no_luck
|
|||
|
|
|||
|
;Make sure this guy is on ground
|
|||
|
move *a13(OBJ_YPOSINT),a0
|
|||
|
move *a13(GROUND_Y),a1
|
|||
|
cmp a1,a0 ;a0-a1
|
|||
|
jrgt #no_luck
|
|||
|
|
|||
|
;hit_gnd
|
|||
|
|
|||
|
.ref dnk_3_head_held_stand_anim
|
|||
|
movi dnk_3_head_held_stand_anim,a0
|
|||
|
calla change_anim1a
|
|||
|
|
|||
|
#no_luck
|
|||
|
rets
|
|||
|
;
|
|||
|
;;No reversal if getup_time is set
|
|||
|
; move *a13(GETUP_TIME),a0
|
|||
|
; jrnz #out
|
|||
|
;
|
|||
|
;;If stick is toward opponent, then do reversal
|
|||
|
;
|
|||
|
;
|
|||
|
; move a13,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
; move *a13(NEW_FACING_DIR),a1
|
|||
|
; andi 0ch,a1
|
|||
|
; cmp a0,a1
|
|||
|
; jrnz #out
|
|||
|
;
|
|||
|
; move a13,a0
|
|||
|
; calla wres_get_but_val_down
|
|||
|
; btst PLAYER_SPUNCH_BIT,a0
|
|||
|
; jrz #out
|
|||
|
;
|
|||
|
; CALLA DO_REVERSAL
|
|||
|
; CALLA DO_REVERSAL_MESS
|
|||
|
;
|
|||
|
;;Successful reversal pile drive
|
|||
|
; move *a13(OBJ_ZPOS),a0,L
|
|||
|
; addi [5,0],a0
|
|||
|
; move a0,*a13(OBJ_ZPOS),L
|
|||
|
;
|
|||
|
; movi dnk_3_pile_driver_anim,a0
|
|||
|
; calla change_anim1a
|
|||
|
;
|
|||
|
;#out
|
|||
|
; rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
mode_puppet ;20
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
mode_chokehold ;24
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
*
|
|||
|
SUBR mode_inair2 ;21
|
|||
|
|
|||
|
;Read joystick for floating off from turnbuckle moves
|
|||
|
|
|||
|
;Perhaps each wrestler will have a different drift value
|
|||
|
#ZDRIFT2_VAL equ 58000h
|
|||
|
#XDRIFT_VAL equ 30000h
|
|||
|
|
|||
|
move a13,a0
|
|||
|
calla wres_get_stick_val_cur
|
|||
|
clr a1
|
|||
|
|
|||
|
movi -#ZDRIFT2_VAL,a1
|
|||
|
btst PLAYER_UP_BIT,a0
|
|||
|
jrnz #setvel
|
|||
|
|
|||
|
movi #ZDRIFT2_VAL,a1
|
|||
|
btst PLAYER_DOWN_BIT,a0
|
|||
|
jrnz #setvel
|
|||
|
|
|||
|
clr a1
|
|||
|
#setvel
|
|||
|
; move *a13(OBJ_ZVEL),a14,L
|
|||
|
; add a1,a14
|
|||
|
; move a14,*a13(OBJ_ZVEL),L
|
|||
|
|
|||
|
move *a13(OBJ_ZPOS),a14,L
|
|||
|
add a1,a14
|
|||
|
move a14,*a13(OBJ_ZPOS),L
|
|||
|
|
|||
|
|
|||
|
clr a1
|
|||
|
|
|||
|
movi -#XDRIFT_VAL,a1
|
|||
|
btst PLAYER_LEFT_BIT,a0
|
|||
|
jrnz #setvel2
|
|||
|
|
|||
|
movi #XDRIFT_VAL,a1
|
|||
|
btst PLAYER_RIGHT_BIT,a0
|
|||
|
jrnz #setvel2
|
|||
|
|
|||
|
clr a1
|
|||
|
#setvel2
|
|||
|
; move *a13(OBJ_XVEL),a14,L
|
|||
|
; add a1,a14
|
|||
|
; move a14,*a13(OBJ_XVEL),L
|
|||
|
|
|||
|
move *a13(OBJ_XPOS),a14,L
|
|||
|
add a1,a14
|
|||
|
move a14,*a13(OBJ_XPOS),L
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
|
|||
|
#VEL equ 30000h ;38000h ;30000h
|
|||
|
#DVEL equ 21f0eh ;27978h ;21f0eh
|
|||
|
|
|||
|
|
|||
|
SUBR dnk_velocity_table
|
|||
|
|
|||
|
; X, Z
|
|||
|
|
|||
|
.long 0, -#VEL ;0 UP
|
|||
|
|
|||
|
.long #DVEL, -#DVEL ;1 UP-RIGHT
|
|||
|
|
|||
|
.long #VEL, 0 ;2 RIGHT
|
|||
|
|
|||
|
.long #DVEL, #DVEL ;3 DOWN-RIGHT
|
|||
|
|
|||
|
.long 0, #VEL ;4 DOWN
|
|||
|
|
|||
|
.long -#DVEL, #DVEL ;5 DOWN-LEFT
|
|||
|
|
|||
|
.long -#VEL, 0 ;6 LEFT
|
|||
|
|
|||
|
.long -#DVEL, -#DVEL ;7 UP-LEFT
|
|||
|
|
|||
|
|
|||
|
#*****************************************************************************
|
|||
|
|
|||
|
SUBR dnk_rotate_anims_table
|
|||
|
; old = up right
|
|||
|
.long dnk_stand2_anim ;new = up right
|
|||
|
.long dnk_2_to_4_turn_anim ; = down right
|
|||
|
.long dnk_2_to_6_turn_anim ; = down left ***
|
|||
|
.long dnk_2_to_8_turn_anim ; = up left
|
|||
|
|
|||
|
; old = down right
|
|||
|
.long dnk_4_to_2_turn_anim ;new = up right
|
|||
|
.long dnk_stand4_anim ; = down right
|
|||
|
.long dnk_4_to_6_turn_anim ; = down left
|
|||
|
.long dnk_4_to_8_turn_anim ; = up left ***
|
|||
|
|
|||
|
; old = down left
|
|||
|
.long dnk_6_to_2_turn_anim ;new = up right ***
|
|||
|
.long dnk_6_to_4_turn_anim ; = down right
|
|||
|
.long dnk_stand6_anim ; = down left
|
|||
|
.long dnk_6_to_8_turn_anim ; = up left
|
|||
|
|
|||
|
; old = up left
|
|||
|
.long dnk_8_to_2_turn_anim ;new = up right
|
|||
|
.long dnk_8_to_4_turn_anim ; = down right ***
|
|||
|
.long dnk_8_to_6_turn_anim ; = down left
|
|||
|
.long dnk_stand8_anim ; = up left
|
|||
|
|
|||
|
|
|||
|
SUBR dnk_leg_anims_table
|
|||
|
; MOVE
|
|||
|
;(#1 - UP) FACING
|
|||
|
.long dnk_walk1_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk1_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk1_f4_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk1_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk1_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk1_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk1_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk1_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#2 - UP-RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk2_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk2_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk8_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk8_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk4_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk4_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#3 - RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk2_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk4_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk4_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk8_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk6_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk6_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
|
|||
|
;(#4 - DOWN-RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk8_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk4_f4_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk4_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk2_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk6_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk6_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#5 - DOWN)
|
|||
|
.long dnk_walk5_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk5_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk5_f4_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk5_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk5_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk5_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk5_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk5_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#6 - DOWN-LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk6_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk2_f2_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk6_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk2_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk4_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk8_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#7 - LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk6_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk6_f2_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk8_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk4_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk4_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
;(#8 - UP-LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;1 (UP)
|
|||
|
.long dnk_walk4_f2_anim ;2 (UP_RIGHT)
|
|||
|
.long dnk_walk6_f2_anim ;3 (RIGHT)
|
|||
|
.long dnk_walk8_f4_anim ;4 (DOWN_RIGHT)
|
|||
|
.long dnk_walk6_f4_anim ;5 (DOWN)
|
|||
|
.long dnk_walk2_f4_anim ;6 (DOWN_LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;7 (LEFT)
|
|||
|
.long dnk_walk2_f2_anim ;8 (UP-LEFT)
|
|||
|
|
|||
|
|
|||
|
SUBR dnk_torso_anims_table
|
|||
|
; old = up right
|
|||
|
.long dnk_torso2_anim ;new = up right
|
|||
|
.long dnk_2_to_4_turn2_anim ; = down right
|
|||
|
.long dnk_2_to_6_turn2_anim ; = down left ***
|
|||
|
.long dnk_2_to_8_turn2_anim ; = up left
|
|||
|
|
|||
|
; old = down right
|
|||
|
.long dnk_4_to_2_turn2_anim ;new = up right
|
|||
|
.long dnk_torso4_anim ; = down right
|
|||
|
.long dnk_4_to_6_turn2_anim ; = down left
|
|||
|
.long dnk_4_to_8_turn2_anim ; = up left ***
|
|||
|
|
|||
|
; old = down left
|
|||
|
.long dnk_6_to_2_turn2_anim ;new = up right ***
|
|||
|
.long dnk_6_to_4_turn2_anim ; = down right
|
|||
|
.long dnk_torso6_anim ; = down left
|
|||
|
.long dnk_6_to_8_turn2_anim ; = up left
|
|||
|
|
|||
|
; old = up left
|
|||
|
.long dnk_8_to_2_turn2_anim ;new = up right
|
|||
|
.long dnk_8_to_4_turn2_anim ; = down right ***
|
|||
|
.long dnk_8_to_6_turn2_anim ; = down left
|
|||
|
.long dnk_torso8_anim ; = up left
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;
|
|||
|
; STRUCTPD
|
|||
|
; WORD #CHARGE_TIME ;UDW
|
|||
|
; WORD #TIMEOUT ;UDW
|
|||
|
;
|
|||
|
;
|
|||
|
; SUBRP dnk_hammer_mv
|
|||
|
;
|
|||
|
;;in:
|
|||
|
;;a8 = wrestler process address
|
|||
|
;
|
|||
|
;;Hammer pound opponent
|
|||
|
;;Charge away for 30 ticks
|
|||
|
;;Toward & Super punch
|
|||
|
;
|
|||
|
;#start_over
|
|||
|
; ;charge on stick away
|
|||
|
; clr a14
|
|||
|
; move a14,*a13(#CHARGE_TIME),W
|
|||
|
;#loop1
|
|||
|
; SLEEPK 1
|
|||
|
;
|
|||
|
;;Disallow these type of moves if out of control
|
|||
|
; move *a8(GETUP_TIME),a0
|
|||
|
; jrnz #loop1
|
|||
|
;
|
|||
|
; move *a13(#CHARGE_TIME),a14,W
|
|||
|
; inc a14
|
|||
|
; move a14,*a13(#CHARGE_TIME),W
|
|||
|
;
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
;
|
|||
|
; ;arbitrarily define TOWARD to be RIGHT. So if the opponent is to
|
|||
|
; ; our left, flip the L|R direction bits...
|
|||
|
;
|
|||
|
; ;...however, if the stick isn't pointed left or right, don't do
|
|||
|
; ;anything.
|
|||
|
; move a0,a14
|
|||
|
; andi MOVE_LEFT|MOVE_RIGHT,a14
|
|||
|
; jrz #no_flip
|
|||
|
;
|
|||
|
; move *a8(NEW_FACING_DIR),a14
|
|||
|
; btst MOVE_LEFT_BIT,a14
|
|||
|
; jrz #no_flip
|
|||
|
; xori MOVE_LEFT|MOVE_RIGHT,a0
|
|||
|
;#no_flip
|
|||
|
;
|
|||
|
; ;if we're still holding away, jump back to #loop1
|
|||
|
; btst MOVE_LEFT_BIT,a0
|
|||
|
; jrnz #loop1
|
|||
|
;
|
|||
|
; ;no longer holding away...
|
|||
|
; move *a13(#CHARGE_TIME),a14
|
|||
|
;
|
|||
|
;;x seconds held stick is away
|
|||
|
;
|
|||
|
; cmpi 15,a14
|
|||
|
; jrlt #start_over
|
|||
|
;
|
|||
|
; ;okay, they released after holding away for 2 seconds. Give them
|
|||
|
; ;half a second to push forward + super_punch
|
|||
|
;
|
|||
|
;; movi TSEC/2,a14
|
|||
|
; movk 20,a14
|
|||
|
; move a14,*a13(#TIMEOUT)
|
|||
|
;#loop2
|
|||
|
; SLEEPK 1
|
|||
|
;
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_but_val_down
|
|||
|
; move a0,a0
|
|||
|
; jrnz #press
|
|||
|
;
|
|||
|
; move *a13(#TIMEOUT),a14
|
|||
|
; dec a14
|
|||
|
; jrz #start_over
|
|||
|
; move a14,*a13(#TIMEOUT)
|
|||
|
; jruc #loop2
|
|||
|
;
|
|||
|
;#press
|
|||
|
; ;we have a button press. Is it super punch?
|
|||
|
; btst PLAYER_PUNCH_BIT,a0
|
|||
|
; jrz #start_over ;wrong button. No good.
|
|||
|
;
|
|||
|
; ;Check for a towards on the stick.
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
; move a0,a0
|
|||
|
; jrz #start_over ;no stick at all. No good.
|
|||
|
;
|
|||
|
; move *a8(NEW_FACING_DIR),a14
|
|||
|
; btst MOVE_LEFT_BIT,a14
|
|||
|
; jrz #no_flip2
|
|||
|
; xori MOVE_LEFT|MOVE_RIGHT,a0
|
|||
|
;#no_flip2
|
|||
|
; btst MOVE_RIGHT_BIT,a0
|
|||
|
; jrz #start_over ;pooched it
|
|||
|
;
|
|||
|
;;success! Check for the UNINT bit, then queue it up.
|
|||
|
; move *a8(ANIMODE),a14
|
|||
|
; btst MODE_UNINT_BIT,a14
|
|||
|
; jrnz #start_over
|
|||
|
;
|
|||
|
; movi dnk_4_hammer_anim,a14
|
|||
|
;
|
|||
|
; move *a13(PLYRMODE),a0
|
|||
|
; cmpi MODE_ONTURNBKL,a0
|
|||
|
; jrz #start_over
|
|||
|
;
|
|||
|
;; move *a13(PLYRMODE),a0
|
|||
|
;; cmpi MODE_ONTURNBKL,a0
|
|||
|
;; jrnz #do
|
|||
|
;; movi dnk_4_bhammer_anim,a14
|
|||
|
;;#do
|
|||
|
; move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
; jruc #start_over
|
|||
|
;
|
|||
|
;; .endif
|
|||
|
;
|
|||
|
;#*
|
|||
|
;
|
|||
|
; SUBRP dnk_earslap_mv
|
|||
|
;
|
|||
|
; STRUCTPD
|
|||
|
; WORD #CHARGE_TIME ;UDW
|
|||
|
; WORD #TIMEOUT ;UDW
|
|||
|
;
|
|||
|
;
|
|||
|
;;in:
|
|||
|
;;a8 = wrestler process address
|
|||
|
;
|
|||
|
;;Ear slap opponent
|
|||
|
;;Charge away for 30 ticks
|
|||
|
;;Toward & Super punch
|
|||
|
;
|
|||
|
;#start_over
|
|||
|
; ;charge on stick away
|
|||
|
; clr a14
|
|||
|
; move a14,*a13(#CHARGE_TIME),W
|
|||
|
;#loop1
|
|||
|
; SLEEPK 1
|
|||
|
;
|
|||
|
;;Disallow these type of moves if out of control
|
|||
|
; move *a8(GETUP_TIME),a0
|
|||
|
; jrnz #loop1
|
|||
|
; calla get_opp_plyrmode
|
|||
|
; cmpi MODE_ONGROUND,a0
|
|||
|
; jrz #loop1
|
|||
|
; cmpi MODE_DEAD,a0
|
|||
|
; jrz #loop1
|
|||
|
;
|
|||
|
; move *a13(#CHARGE_TIME),a14,W
|
|||
|
; inc a14
|
|||
|
; move a14,*a13(#CHARGE_TIME),W
|
|||
|
;
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
;
|
|||
|
; ;arbitrarily define TOWARD to be RIGHT. So if the opponent is to
|
|||
|
; ; our left, flip the L|R direction bits...
|
|||
|
;
|
|||
|
; ;...however, if the stick isn't pointed left or right, don't do
|
|||
|
; ;anything.
|
|||
|
; move a0,a14
|
|||
|
; andi MOVE_LEFT|MOVE_RIGHT,a14
|
|||
|
; jrz #no_flip
|
|||
|
;
|
|||
|
; move *a8(NEW_FACING_DIR),a14
|
|||
|
; btst MOVE_LEFT_BIT,a14
|
|||
|
; jrz #no_flip
|
|||
|
; xori MOVE_LEFT|MOVE_RIGHT,a0
|
|||
|
;#no_flip
|
|||
|
;
|
|||
|
; ;if we're still holding away, jump back to #loop1
|
|||
|
; btst MOVE_LEFT_BIT,a0
|
|||
|
; jrnz #loop1
|
|||
|
;
|
|||
|
; ;no longer holding away...
|
|||
|
; move *a13(#CHARGE_TIME),a14
|
|||
|
;
|
|||
|
;;x seconds held stick is away
|
|||
|
;
|
|||
|
; cmpi 20,a14
|
|||
|
; jrlt #start_over
|
|||
|
;
|
|||
|
; ;okay, they released after holding away for 2 seconds. Give them
|
|||
|
; ;half a second to push forward + super_punch
|
|||
|
;
|
|||
|
;; movi TSEC/2,a14
|
|||
|
; movk 15,a14
|
|||
|
; move a14,*a13(#TIMEOUT)
|
|||
|
;#loop2
|
|||
|
; SLEEPK 1
|
|||
|
;
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_but_val_down
|
|||
|
; move a0,a0
|
|||
|
; jrnz #press
|
|||
|
;
|
|||
|
; move *a13(#TIMEOUT),a14
|
|||
|
; dec a14
|
|||
|
; jrz #start_over
|
|||
|
; move a14,*a13(#TIMEOUT)
|
|||
|
; jruc #loop2
|
|||
|
;
|
|||
|
;#press
|
|||
|
; ;we have a button press. Is it super punch?
|
|||
|
; btst PLAYER_SPUNCH_BIT,a0
|
|||
|
;; jrz #start_over ;wrong button. No good.
|
|||
|
; jrz #loop2
|
|||
|
; btst PLAYER_PUNCH_BIT,a0
|
|||
|
; jrz #loop2
|
|||
|
;
|
|||
|
; ;Check for a towards on the stick.
|
|||
|
; move a8,a0
|
|||
|
; calla wres_get_stick_val_cur
|
|||
|
; move a0,a0
|
|||
|
;; jrz #start_over ;no stick at all. No good.
|
|||
|
; jrz #loop2
|
|||
|
;
|
|||
|
; move *a8(NEW_FACING_DIR),a14
|
|||
|
; btst MOVE_LEFT_BIT,a14
|
|||
|
; jrz #no_flip2
|
|||
|
; xori MOVE_LEFT|MOVE_RIGHT,a0
|
|||
|
;#no_flip2
|
|||
|
; btst MOVE_RIGHT_BIT,a0
|
|||
|
;; jrz #start_over ;pooched it
|
|||
|
; jrz #loop2
|
|||
|
;
|
|||
|
;;success! Check for the UNINT bit, then queue it up.
|
|||
|
; move *a8(ANIMODE),a14
|
|||
|
; btst MODE_UNINT_BIT,a14
|
|||
|
; jrnz #start_over
|
|||
|
;
|
|||
|
; movi dnk_4_earslap_anim,a14
|
|||
|
;
|
|||
|
; move *a13(PLYRMODE),a0
|
|||
|
; cmpi MODE_ONTURNBKL,a0
|
|||
|
; jrz #start_over
|
|||
|
;
|
|||
|
; move a14,*a8(SPECIAL_MOVE_ADDR),L
|
|||
|
; jruc #start_over
|
|||
|
;
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
|
|||
|
.end
|
|||
|
|