360 lines
7.0 KiB
NASM
Executable File
360 lines
7.0 KiB
NASM
Executable File
**************************************************************
|
||
*
|
||
* Software: Jamie Rivett
|
||
* Initiated: 5/12/94
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
**************************************************************
|
||
|
||
.file "admseq3.asm"
|
||
.title "Adam Bomb animation sequences"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "macros.h"
|
||
.include "mproc.equ" ;Mproc equates
|
||
.include "sys.equ"
|
||
.include "display.equ"
|
||
.include "game.equ"
|
||
.include "plyr.equ"
|
||
.include "anim.equ"
|
||
.include "sound.h"
|
||
.include "ring.equ"
|
||
|
||
.include "adamimg.h"
|
||
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
|
||
.ref wres_get_stick_val_cur
|
||
.ref RNDRNG0
|
||
.ref set_target_offsets
|
||
.ref get_opp_process
|
||
|
||
.ref get_leap
|
||
.ref shake_all_ropes
|
||
|
||
******************************************************************************
|
||
* SYMBOLS DEFINED IN THIS FILE
|
||
|
||
******************************************************************************
|
||
* EQUATES FOR THIS FILE
|
||
|
||
TSEC equ 53
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR adm_2_break_lockup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WLW ANI_SET_XVEL,-30000h,1 ;facing relative
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,A2FG3A+FR4
|
||
WL 3,A2FG3A+FR3
|
||
WL 3,A2FG3A+FR2
|
||
WL 3,A2FG3A+FR1
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR adm_2_lockup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 4,A2FG3A+FR1
|
||
WL 4,A2FG3A+FR2
|
||
WL 4,A2FG3A+FR3
|
||
WL 4,A2FG3A+FR4
|
||
WL 4,A2FG3A+FR5
|
||
.word ANI_ATTACK_ON, AMODE_GRAPPLE,24,-100,48,28 ;mode,x,y,w,h
|
||
WL 4,A2FG3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFSTATUS,#grapple
|
||
WL 4,A2FG3A+FR5
|
||
WL 4,A2FG3A+FR4
|
||
WL 4,A2FG3A+FR3
|
||
WL 4,A2FG3A+FR2
|
||
WL 4,A2FG3A+FR1
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#grapple
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_SLAVE,S4_GRAPPLE,3
|
||
WL 8,A2GR3Z+FR5
|
||
|
||
.word ANI_SLAVE,S4_GRAPPLE,2
|
||
WL 8,A2GR3Z+FR6
|
||
|
||
.word ANI_SLAVE,S4_GRAPPLE,1
|
||
WL 8,A2GR3Z+FR7
|
||
|
||
.word ANI_SLAVE,S4_GRAPPLE,0
|
||
WL 8,A2GR3Z+FR8
|
||
|
||
.word ANI_SLAVE,S4_GRAPPLE,1
|
||
WL 8,A2GR3Z+FR7
|
||
|
||
.word ANI_SLAVE,S4_GRAPPLE,2
|
||
WL 8,A2GR3Z+FR6
|
||
|
||
WL ANI_GOTO,#grapple
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR adm_4_break_lockup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WLW ANI_SET_XVEL,-30000h,1 ;facing relative
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,A4FG3A+FR4
|
||
WL 3,A4FG3A+FR3
|
||
WL 3,A4FG3A+FR2
|
||
WL 3,A4FG3A+FR1
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR adm_4_lockup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 4,A4FG3A+FR1
|
||
WL 4,A4FG3A+FR2
|
||
WL 4,A4FG3A+FR3
|
||
WL 4,A4FG3A+FR4
|
||
WL 4,A4FG3A+FR5
|
||
.word ANI_ATTACK_ON, AMODE_GRAPPLE,24,-100,48,28 ;mode,x,y,w,h
|
||
WL 4,A4FG3A+FR6
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFSTATUS,#grapple
|
||
WL 4,A4FG3A+FR5
|
||
WL 4,A4FG3A+FR4
|
||
WL 4,A4FG3A+FR3
|
||
WL 4,A4FG3A+FR2
|
||
WL 4,A4FG3A+FR1
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#grapple
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_SLAVE,S2_GRAPPLE,3
|
||
WL 8,A4GR3B+FR7
|
||
|
||
.word ANI_SLAVE,S2_GRAPPLE,2
|
||
WL 8,A4GR3B+FR6
|
||
|
||
.word ANI_SLAVE,S2_GRAPPLE,1
|
||
WL 8,A4GR3B+FR5
|
||
|
||
.word ANI_SLAVE,S2_GRAPPLE,0
|
||
WL 8,A4GR3B+FR4
|
||
|
||
.word ANI_SLAVE,S2_GRAPPLE,1
|
||
WL 8,A4GR3B+FR5
|
||
|
||
.word ANI_SLAVE,S2_GRAPPLE,2
|
||
WL 8,A4GR3B+FR6
|
||
|
||
WL ANI_GOTO,#grapple
|
||
|
||
|
||
.if 0
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_head_hold_anim
|
||
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 1,D3PG3A01
|
||
.word ANI_ATTACHZ,45-5,0,0
|
||
WL 3,D3PG3A01
|
||
WL 4,D3PG3A02
|
||
|
||
WL 4+50,D3PG3A02
|
||
.word ANI_END
|
||
|
||
|
||
SUBR dnk_3_head_held_anim
|
||
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 4,D3BF3Z01
|
||
WL 4,D3BF3Z02
|
||
#loop
|
||
WL 4,D3BF3A01
|
||
WL 4,D3BF3A02
|
||
WL 4,D3BF3A03
|
||
WL 4,D3BF3A04
|
||
WL 4,D3BF3A05
|
||
WL 4,D3BF3A06
|
||
WL 4,D3BF3A07
|
||
WL 4,D3BF3A08
|
||
WL ANI_GOTO,#loop
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_pile_driver_anim
|
||
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
#lp
|
||
.word ANI_ATTACHZ,45-5,0,0
|
||
;;; WL ANI_CODE,temp_shit0
|
||
;;; .word ANI_SLAVE,S3_GRAP_TO_HH,0
|
||
WL 63+00,D3PG3A01
|
||
.word ANI_SLAVE,S3_GRAP_TO_HH,1
|
||
WL 3+60,D3PG3A01
|
||
.word ANI_SLAVE,S3_GRAP_TO_HH,2
|
||
WL 3+60,D3PG3A02
|
||
.word ANI_SLAVE,S3_GRAP_TO_HH,3
|
||
WL 10+60,D3PG3A03
|
||
WL 3+60,D3PG3A05
|
||
|
||
|
||
|
||
;;; WL ANI_CODE,temp_shit
|
||
|
||
.word ANI_ATTACHZ,27-10,61-7,0
|
||
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,1
|
||
|
||
WL 3+60,D3PG3A05
|
||
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,2
|
||
WL 2+60,D3PG3A06
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,3
|
||
WL 2+60,D3PG3A06
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,4
|
||
WL 2+60,D3PG3A06A
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,5
|
||
WL 2+60,D3PG3A06A
|
||
.word ANI_SLAVE,S3_PILE_DRIVEN,6
|
||
WL 64+60,D3PG3A07
|
||
|
||
WL ANI_SET_YVEL,90000h
|
||
.word ANI_OFFSET,0,47,0 ;x,y,z
|
||
|
||
.word ANI_ATTACHZ,27-10,0,0
|
||
|
||
WL 4+00,D3PG3A08
|
||
WL 4+00,D3PG3A09
|
||
.word ANI_WAITHITGND
|
||
|
||
|
||
WL 4+60,D3PG3A10
|
||
WL ANI_GOTO,#lp
|
||
|
||
|
||
temp_shit0
|
||
move *a13(ATTACH_PROC),a2,L
|
||
|
||
move *a13(OBJ_XPOSINT),a0
|
||
addi 45,a0
|
||
move a0,*a2(OBJ_XPOSINT)
|
||
|
||
move *a13(OBJ_YPOS),*a2(OBJ_YPOS),L
|
||
|
||
rets
|
||
|
||
|
||
|
||
temp_shit
|
||
move *a13(ATTACH_PROC),a2,L
|
||
move *a2(OBJ_XPOSINT),a0
|
||
subi 27,a0
|
||
move a0,*a2(OBJ_XPOSINT)
|
||
|
||
move *a2(OBJ_YPOSINT),a0
|
||
addi 61-7,a0
|
||
move a0,*a2(OBJ_YPOSINT)
|
||
|
||
rets
|
||
|
||
|
||
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
;#lp
|
||
.word ANI_ATTACHZ,44,0,-4
|
||
WL 4+60,D3PG3A01
|
||
|
||
WL 4+6,D3PG3A01
|
||
.word ANI_ATTACHZ,18,54,-4
|
||
WL 4+6,D3PG3A02
|
||
WL 4+6,D3PG3A03
|
||
WL 4+6,D3PG3A04
|
||
WL 4+6,D3PG3A05
|
||
WL 4+6,D3PG3A06
|
||
.word ANI_ATTACHZ,18,54,-4
|
||
WL 4+140,D3PG3A07
|
||
;;; WL ANI_GOTO,#lp
|
||
|
||
WL ANI_CODE,clear_link
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_3_pile_driven
|
||
|
||
.word ANI_SETMODE,MODE_UNINT+MODE_NOAUTOFLIP ;uninterruptable
|
||
#lp
|
||
WL 4+60,D3BF3Z01
|
||
WL 4+6,D3BF3Z02
|
||
WL 4+6,D3BF3A01
|
||
WL 4+6,D3PD3C01
|
||
WL 4+6,D3PD3C02
|
||
WL 4+6,D3PD3C02
|
||
WL 4+6,D3PD3C03
|
||
WL 4+6,D3PD3C04
|
||
WL 4+6,D3PD3C04
|
||
WL 4+140,D3PD3C05
|
||
;;; WL ANI_GOTO,#lp
|
||
|
||
WL ANI_CODE,clear_link
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
clear_link
|
||
clr a0
|
||
move a0,*a13(ATTACH_PROC),L
|
||
rets
|
||
|
||
|
||
.endif
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|