wwf-wrestlemania/DNKSEQ1.ASM

626 lines
13 KiB
NASM
Raw Normal View History

2021-04-06 15:21:54 -07:00
**************************************************************
*
* Software: Jamie Rivett
* Initiated: 10/12/93
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "dnkseq1.asm"
.title "Krusty the Clown animation sequences"
.width 132
.option b,d,l,t
.mnolist
.include "macros.h"
.include "mproc.equ" ;Mproc equates
.include "sys.equ"
.include "game.equ"
.include "plyr.equ"
.include "anim.equ"
.include "sound.h"
.include "doinkimg.h"
.include "display.equ" ;Display proc equates
.include "ring.equ"
******************************************************************************
* EXTERNAL REFERENCES
.REF SMALL_RUN
.REF MAYBE_BOUNCE_ROPE
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
******************************************************************************
* EQUATES FOR THIS FILE
TSEC equ 53
#*****************************************************************************
*
* STANDS
SUBR dnk_zip_anim
WL TSEC*60,D2ST2B+FR3
.word ANI_END
SUBR dnk_stand2_anim
SUBR dnk_stand8_anim
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
WL 6,D2ST2B+FR3
WL 6,D2ST2B+FR4
WL 6,D2ST2B+FR5
WL 6,D2ST2B+FR6
WL 6,D2ST2B+FR5
WL 6,D2ST2B+FR4
.word ANI_REPEAT
SUBR dnk_stand4_anim
SUBR dnk_stand6_anim
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
WL 6,D4ST4E+FR3
WL 6,D4ST4E+FR4
WL 6,D4ST4E+FR5
WL 6,D4ST4E+FR6
WL 6,D4ST4E+FR5
WL 6,D4ST4E+FR4
.word ANI_REPEAT
#*****************************************************************************
*
* WALKING TORSOS
SUBR dnk_torso2_anim
SUBR dnk_torso8_anim
WL 4,D2TW2B+FR1
WL 4,D2TW2B+FR2
WL 4,D2TW2B+FR3
WL 4,D2TW2B+FR4
WL 4,D2TW2B+FR3
WL 4,D2TW2B+FR2
.word ANI_REPEAT
SUBR dnk_torso4_anim
SUBR dnk_torso6_anim
WL 4,D4TW4B+FR1
WL 4,D4TW4B+FR2
WL 4,D4TW4B+FR3
WL 4,D4TW4B+FR4
WL 4,D4TW4B+FR3
WL 4,D4TW4B+FR2
.word ANI_REPEAT
SUBR dnk_holdoh_anim
WL 999,D4TH4A+FR1
.word ANI_REPEAT
#*****************************************************************************
*
* WALKS FACING #2
SUBR dnk_walk1_f2_anim
WL 2,D2WL1A+FR1
WL 2,D2WL1A+FR2
WL 2,D2WL1A+FR3
WL 2,D2WL1A+FR4
WL 2,D2WL1A+FR5
WL 2,D2WL1A+FR6
WL 2,D2WL1A+FR7
WL 2,D2WL1A+FR8
WL 2,D2WL1A+FR9
WL 2,D2WL1A+FR10
WL 2,D2WL1A+FR11
WL 2,D2WL1A+FR12
WL 2,D2WL1A+FR13
WL 2,D2WL1A+FR14
WL 2,D2WL1A+FR15
WL 2,D2WL1A+FR16
WL 2,D2WL1A+FR17
WL 2,D2WL1A+FR18
.word ANI_REPEAT
SUBR dnk_walk2_f2_anim
WL 2,D2WL2A+FR1
WL 2,D2WL2A+FR2
WL 2,D2WL2A+FR3
WL 2,D2WL2A+FR4
WL 2,D2WL2A+FR5
WL 2,D2WL2A+FR6
WL 2,D2WL2A+FR7
WL 2,D2WL2A+FR8
WL 2,D2WL2A+FR9
WL 2,D2WL2A+FR10
WL 2,D2WL2A+FR11
WL 2,D2WL2A+FR12
WL 2,D2WL2A+FR13
WL 2,D2WL2A+FR14
WL 2,D2WL2A+FR15
WL 2,D2WL2A+FR16
WL 2,D2WL2A+FR17
.word ANI_REPEAT
SUBR dnk_walk4_f2_anim
WL 2,D2WL4B+FR1
WL 2,D2WL4B+FR2
WL 2,D2WL4B+FR3
WL 2,D2WL4B+FR4
WL 2,D2WL4B+FR5
WL 2,D2WL4B+FR6
WL 2,D2WL4B+FR7
WL 2,D2WL4B+FR8
WL 2,D2WL4B+FR9
WL 2,D2WL4B+FR10
WL 2,D2WL4B+FR11
WL 2,D2WL4B+FR12
WL 2,D2WL4B+FR13
WL 2,D2WL4B+FR14
WL 2,D2WL4B+FR15
WL 2,D2WL4B+FR16
WL 2,D2WL4B+FR17
WL 2,D2WL4B+FR18
.word ANI_REPEAT
SUBR dnk_walk5_f2_anim
WL 2,D2WL1A+FR18
WL 2,D2WL1A+FR17
WL 2,D2WL1A+FR16
WL 2,D2WL1A+FR15
WL 2,D2WL1A+FR14
WL 2,D2WL1A+FR13
WL 2,D2WL1A+FR12
WL 2,D2WL1A+FR11
WL 2,D2WL1A+FR10
WL 2,D2WL1A+FR9
WL 2,D2WL1A+FR8
WL 2,D2WL1A+FR7
WL 2,D2WL1A+FR6
WL 2,D2WL1A+FR5
WL 2,D2WL1A+FR4
WL 2,D2WL1A+FR3
WL 2,D2WL1A+FR2
WL 2,D2WL1A+FR1
.word ANI_REPEAT
SUBR dnk_walk6_f2_anim
WL 2,D2WL2A+FR17
WL 2,D2WL2A+FR16
WL 2,D2WL2A+FR15
WL 2,D2WL2A+FR14
WL 2,D2WL2A+FR13
WL 2,D2WL2A+FR12
WL 2,D2WL2A+FR11
WL 2,D2WL2A+FR10
WL 2,D2WL2A+FR9
WL 2,D2WL2A+FR8
WL 2,D2WL2A+FR7
WL 2,D2WL2A+FR6
WL 2,D2WL2A+FR5
WL 2,D2WL2A+FR4
WL 2,D2WL2A+FR3
WL 2,D2WL2A+FR2
WL 2,D2WL2A+FR1
.word ANI_REPEAT
SUBR dnk_walk8_f2_anim
WL 2,D2WL4B+FR18
WL 2,D2WL4B+FR17
WL 2,D2WL4B+FR16
WL 2,D2WL4B+FR15
WL 2,D2WL4B+FR14
WL 2,D2WL4B+FR13
WL 2,D2WL4B+FR12
WL 2,D2WL4B+FR11
WL 2,D2WL4B+FR10
WL 2,D2WL4B+FR9
WL 2,D2WL4B+FR8
WL 2,D2WL4B+FR7
WL 2,D2WL4B+FR6
WL 2,D2WL4B+FR5
WL 2,D2WL4B+FR4
WL 2,D2WL4B+FR3
WL 2,D2WL4B+FR2
WL 2,D2WL4B+FR1
.word ANI_REPEAT
#*****************************************************************************
*
* WALKS FACING #4
SUBR dnk_walk1_f4_anim
WL 2,D4WL5A+FR18
WL 2,D4WL5A+FR17
WL 2,D4WL5A+FR16
WL 2,D4WL5A+FR15
WL 2,D4WL5A+FR14
WL 2,D4WL5A+FR13
WL 2,D4WL5A+FR12
WL 2,D4WL5A+FR11
WL 2,D4WL5A+FR10
WL 2,D4WL5A+FR9
WL 2,D4WL5A+FR8
WL 2,D4WL5A+FR7
WL 2,D4WL5A+FR6
WL 2,D4WL5A+FR5
WL 2,D4WL5A+FR4
WL 2,D4WL5A+FR3
WL 2,D4WL5A+FR2
WL 2,D4WL5A+FR1
.word ANI_REPEAT
SUBR dnk_walk2_f4_anim
WL 2,D4WL2A+FR1
WL 2,D4WL2A+FR2
WL 2,D4WL2A+FR3
WL 2,D4WL2A+FR4
WL 2,D4WL2A+FR5
WL 2,D4WL2A+FR6
WL 2,D4WL2A+FR7
WL 2,D4WL2A+FR8
WL 2,D4WL2A+FR9
WL 2,D4WL2A+FR10
WL 2,D4WL2A+FR11
WL 2,D4WL2A+FR12
WL 2,D4WL2A+FR13
WL 2,D4WL2A+FR14
WL 2,D4WL2A+FR15
WL 2,D4WL2A+FR16
WL 2,D4WL2A+FR17
WL 2,D4WL2A+FR18
.word ANI_REPEAT
SUBR dnk_walk4_f4_anim
WL 2,D4WL4A+FR1
WL 2,D4WL4A+FR2
WL 2,D4WL4A+FR3
WL 2,D4WL4A+FR4
WL 2,D4WL4A+FR5
WL 2,D4WL4A+FR6
WL 2,D4WL4A+FR7
WL 2,D4WL4A+FR8
WL 2,D4WL4A+FR9
WL 2,D4WL4A+FR10
WL 2,D4WL4A+FR11
WL 2,D4WL4A+FR12
WL 2,D4WL4A+FR13
WL 2,D4WL4A+FR14
WL 2,D4WL4A+FR15
WL 2,D4WL4A+FR16
WL 2,D4WL4A+FR17
WL 2,D4WL4A+FR18
.word ANI_REPEAT
SUBR dnk_walk5_f4_anim
WL 2,D4WL5A+FR1
WL 2,D4WL5A+FR2
WL 2,D4WL5A+FR3
WL 2,D4WL5A+FR4
WL 2,D4WL5A+FR5
WL 2,D4WL5A+FR6
WL 2,D4WL5A+FR7
WL 2,D4WL5A+FR8
WL 2,D4WL5A+FR9
WL 2,D4WL5A+FR10
WL 2,D4WL5A+FR11
WL 2,D4WL5A+FR12
WL 2,D4WL5A+FR13
WL 2,D4WL5A+FR14
WL 2,D4WL5A+FR15
WL 2,D4WL5A+FR16
WL 2,D4WL5A+FR17
WL 2,D4WL5A+FR18
.word ANI_REPEAT
SUBR dnk_walk6_f4_anim
WL 2,D4WL2A+FR18
WL 2,D4WL2A+FR17
WL 2,D4WL2A+FR16
WL 2,D4WL2A+FR15
WL 2,D4WL2A+FR14
WL 2,D4WL2A+FR13
WL 2,D4WL2A+FR12
WL 2,D4WL2A+FR11
WL 2,D4WL2A+FR10
WL 2,D4WL2A+FR9
WL 2,D4WL2A+FR8
WL 2,D4WL2A+FR7
WL 2,D4WL2A+FR6
WL 2,D4WL2A+FR5
WL 2,D4WL2A+FR4
WL 2,D4WL2A+FR3
WL 2,D4WL2A+FR2
WL 2,D4WL2A+FR1
.word ANI_REPEAT
SUBR dnk_walk8_f4_anim
WL 2,D4WL4A+FR18
WL 2,D4WL4A+FR17
WL 2,D4WL4A+FR16
WL 2,D4WL4A+FR15
WL 2,D4WL4A+FR14
WL 2,D4WL4A+FR13
WL 2,D4WL4A+FR12
WL 2,D4WL4A+FR11
WL 2,D4WL4A+FR10
WL 2,D4WL4A+FR9
WL 2,D4WL4A+FR8
WL 2,D4WL4A+FR7
WL 2,D4WL4A+FR6
WL 2,D4WL4A+FR5
WL 2,D4WL4A+FR4
WL 2,D4WL4A+FR3
WL 2,D4WL4A+FR2
WL 2,D4WL4A+FR1
.word ANI_REPEAT
;2 TICKS = 1
#*****************************************************************************
*
* TURNS (STANDS)
SUBR dnk_2_to_4_turn_anim
SUBR dnk_8_to_6_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR2 ;2.5
WL 3,D1TT5Z+FR3 ;3.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_2_turn_anim
SUBR dnk_6_to_8_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR3 ;3.5
WL 3,D1TT5Z+FR2 ;2.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_6_turn_anim
SUBR dnk_6_to_4_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR4 ;4.5
.word ANI_XFLIP
WL 3,D1TT5Z+FR4 ;4.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_2_to_8_turn_anim
SUBR dnk_8_to_2_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR1 ;1.5
.word ANI_XFLIP
WL 3,D1TT5Z+FR1 ;1.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_8_turn_anim
SUBR dnk_6_to_2_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR3 ;3.5
WL 3,D1TT5Z+FR2 ;2.5
WL 3,D1TT5Z+FR1 ;1.5
.word ANI_XFLIP
WL 3,D1TT5Z+FR1 ;1.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_2_to_6_turn_anim
SUBR dnk_8_to_4_turn_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TT5Z+FR2 ;2.5
WL 3,D1TT5Z+FR3 ;3.5
WL 3,D1TT5Z+FR4 ;4.5
.word ANI_XFLIP
WL 3,D1TT5Z+FR4 ;4.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* TURNS (TORSOS)
SUBR dnk_2_to_4_turn2_anim
SUBR dnk_8_to_6_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR2 ;2.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR3 ;3.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_2_turn2_anim
SUBR dnk_6_to_8_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR3 ;3.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR2 ;2.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_6_turn2_anim
SUBR dnk_6_to_4_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR4 ;4.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR4 ;4.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_2_to_8_turn2_anim
SUBR dnk_8_to_2_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR1 ;1.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR1 ;1.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_4_to_8_turn2_anim
SUBR dnk_6_to_2_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR4 ;4.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR4 ;4.5
WL 3,D1TR5Z+FR3 ;3.5
.word ANI_SETFACING
WL 3,D1TR5Z+FR2 ;2.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR dnk_2_to_6_turn2_anim
SUBR dnk_8_to_4_turn2_anim
.word ANI_SETMODE,MODE_INTURN|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,D1TR5Z+FR2 ;2.5
.word ANI_SETFACING
WL 3,D1TR5Z+FR3 ;3.5
WL 3,D1TR5Z+FR4 ;4.5
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 3,D1TR5Z+FR4 ;4.5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* RUNNING IN #3
SUBR dnk_run2_anim
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
;I'm turning on an attack box for the entire run sequence.
;I never turn it off.
.word ANI_ATTACK_ON,AMODE_RUN,-3,29,16,71 ;mode,x,y,w,h
WL ANI_GOTO,#run2
SUBR dnk_run_anim
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ATTACK_ON,AMODE_RUN,-3,29,16,71 ;mode,x,y,w,h
#lp1
WL 1,D3RN3B+FR1
; .word ANI_SOUND,run_snd
WL ANI_CODE,SMALL_RUN
WL 1,D3RN3B+FR1
WL 3,D3RN3B+FR2
WL 2,D3RN3B+FR3
WL 3,D3RN3B+FR4
WL 2,D3RN3B+FR5
#run2
.word ANI_SETMODE,MODE_NORMAL ;clear UNINT bit
.word ANI_ATTACK_ON,AMODE_RUN,-3,29,16,71 ;mode,x,y,w,h
WL 2,D3RN3B+FR6
; .word ANI_SOUND,run_snd
WL ANI_CODE,SMALL_RUN
WL 1,D3RN3B+FR6
WL 2,D3RN3B+FR7
WL 3,D3RN3B+FR8
WL 2,D3RN3B+FR9
WL 3,D3RN3B+FR10
WL 2,D3RN3B+FR11
WL ANI_GOTO,#lp1
#*****************************************************************************
*
* BOUNCE OFF ROPES
SUBR dnk_bounce_anim
.word ANI_SETMODE,MODE_UNINT|MODE_OVERLAP|MODE_NOAUTOFLIP| MODE_NOCONFINE ;uninterruptable
WL ANI_CODE,fix_bnc_flip
WL ANI_CODE,MAYBE_BOUNCE_ROPE
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL 2,D3BO3B+FR2
.word ANI_BOUNCEROPE,0
WL 1,D3BO3B+FR2
WL 2,D3BO3B+FR3
.word ANI_BOUNCEROPE,1
WL ANI_CODE,SMALL_RUN
; .word ANI_SOUND,run_snd
WL 1,D3BO3B+FR3
WL 2,D3BO3B+FR4
.word ANI_BOUNCEROPE,2
WL 1,D3BO3B+FR4
WL 2,D3BO3B+FR5
.word ANI_BOUNCEROPE,3
WL 1,D3BO3B+FR5
.word ANI_ZEROVELS
WL 2,D3BO3B+FR6
.word ANI_BOUNCEROPE,4
WL 1,D3BO3B+FR6
WL 3,D3BO3B+FR7
WL 2,D3BO3B+FR8
.word ANI_BOUNCEROPE,0
WL 1,D3BO3B+FR8
WL 2,D3BO3B+FR9
.word ANI_BOUNCEROPE,-1
WL ANI_CODE,SMALL_RUN
; .word ANI_SOUND,run_snd
WL 1,D3BO3B+FR9
WL 3,D3BO3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
SUBR fix_bnc_flip
;Check to see if I'm against ropes
move *a13(OBJ_XPOSINT),a14
cmpi RING_X_CENTER,a14
jrlt #onlft
;On right side
move *a13(OBJ_CONTROL),a14
andni M_FLIPH,a14
move a14,*a13(OBJ_CONTROL)
rets
#onlft
move *a13(OBJ_CONTROL),a14
ori M_FLIPH,a14
move a14,*a13(OBJ_CONTROL)
rets
******************************************************************************
.end