revolution-x/GXAERO2.ASM

687 lines
13 KiB
NASM
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

.MLIB "GXMACS.LIB"
.FILE "GXAERO.ASM"
.TITLE "<<< REVOLUTION X -- Aerosmith related material >>>"
.WIDTH 132
.OPTION B,D,L,T
.MNOLIST
**************************************************************************
* *
* COPYRIGHT (C) 1993 MIDWAY MANUFACTURING COMPANY. *
* ALL RIGHTS RESERVED. *
* *
**************************************************************************
.INCLUDE "GX.INC"
.INCLUDE "IMGTBL.GLO"
.INCLUDE "GXCONTRL.H"
.INCLUDE "GXWALK.TBL"
.DEF CREATE_AEROSMITH_WALK
.DEF WHICH_SET_W
.DEF CREATE_OUR_KERRI
.REF DRUMKIT
.REF CYMRODS
.REF NAEROPT1
.REF NAEROPT2
.REF MAKE_NOSCALE
.REF SET_ANIPU
.REF CYMBOL1_OBJ
.REF CYMBOL2_OBJ
.REF BEAT_COUNT
.REF LAST_RX
.REF SOUND_RX
.REF STEVEN_SOLO_LOOP, STEVEN_SOLO_ANIM
.REF CYMBOL_1_INIT
.REF CYMBOL_2_INIT
.REF CYMBOL_1L_INIT
.REF CYMBOL_2R_INIT
.REF STYLER_INIT
.REF JOEP_INIT
.REF TOM_INIT
.REF SYNC_TOM
.REF BRAD_INIT
.REF SYNC_BRAD
.REF JOEK_INIT
.REF HIT_TWO_CYMBOL
.REF HIT_CYMBOL
.REF SYNC_KRAMER_WALK
.REF NEXT_BEAT
.REF SYNC_PERRY
.REF KRHUG06, KRHUG07, KRHUG08
***** from GXKERRI.ASM
.REF RN3B01, RN3B02, RN3B03, RN3B04, RN3B05, RN3B06, RN3B07
.REF RN3B08
.TEXT
KERRI_HUG
LWL KRHUG06,6|AFunc,CHANGE_KERRI_PAL
LW KRHUG07,6
LWL KRHUG08,6|AFunc,PULL_ANIM
.LONG 0
CHANGE_KERRI_PAL
MOVI KRHUG_P,A0
JAUC CHANGE_PAL
WAIT_FOR_KERRI
SLEEP 82+64
MOVI KERRI_HUG,A0
MOVE A0,*A8(AnimFrm),L
MOVE A0,*A8(AnimScr),L
MOVE A0,*A9(AnimFrm),L
MOVE A0,*A9(AnimScr),L
MOVE A0,*A10(AnimFrm),L
MOVE A0,*A10(AnimScr),L
MOVE A0,*A11(AnimFrm),L
MOVE A0,*A11(AnimScr),L
CLR A0
MOVE A0,*A8(AnimSLP)
MOVE A0,*A9(AnimSLP)
MOVE A0,*A10(AnimSLP)
MOVE A0,*A11(AnimSLP)
MOVE A0,*A8(OXVEL),L
MOVE A0,*A9(OXVEL),L
MOVE A0,*A10(OXVEL),L
MOVE A0,*A11(OXVEL),L
DIE
CREATE_OUR_KERRI
MOVI KERRI_1_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI 01000000H,A1
MOVI 3F0000H,A2
MOVI -0102CH,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
MOVI -10000H,A0
MOVE A0,*A8(OXVEL),L
PUSH A8
MOVI KERRI_2_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI -0660000H,A1
MOVI 3F0000H,A2
MOVI -0102CH,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
MOVI 10000H,A0
MOVE A0,*A8(OXVEL),L
PUSH A8
MOVI KERRI_1_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI 0F00000H,A1
MOVI 3F0000H,A2
MOVI -0102BH,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
MOVI -10000H,A0
MOVE A0,*A8(OXVEL),L
PUSH A8
MOVI KERRI_2_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI -0560000H,A1
MOVI 3F0000H,A2
MOVI -0102BH,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
MOVI 10000H,A0
MOVE A0,*A8(OXVEL),L
PULL A9
PULL A10
PULL A11
CREATE PID_IND,WAIT_FOR_KERRI
RETS
KERRI_1_INIT
.LONG RN3B01
.WORD DMAWNZ|DMAHFL,M_NOSCALE,OM_ANIM|OM_INSERT
.LONG KERRI_RUNS_TO_STEVEN
KERRI_2_INIT
.LONG RN3B01
.WORD DMAWNZ,M_NOSCALE,OM_ANIM|OM_INSERT
.LONG KERRI_RUNS_TO_STEVEN
KERRI_RUNS_TO_STEVEN
LW RN3B02,5
LW RN3B03,5
LW RN3B04,5
LW RN3B05,5
LW RN3B06,5
LW RN3B07,5
LW RN3B08,5
LW RN3B01,5
.LONG 0
*THIS IS WARRENS KLUDGE OFFSET TO OFFSET AEROSMITH IN Z
WARREN_OFF .EQU 0
DOWN_OFF .EQU 09E0000H
UP_SPEED .EQU DOWN_OFF/128
;SND_WALK_THIS_WAY
; .WORD 0F0FDH,1,0801AH,0 ;Walk this way
CREATE_AEROSMITH_WALK
CREATE PID_JUNK,NEXT_BEAT
; SOUND1 SND_WALK_THIS_WAY
MOVI STYLER_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
CREATEP PID_JUNK,SYNC_STEVEN_W
MOVI 01B00000H,A1
MOVI -300000H+DOWN_OFF,A2
MOVI 0FFFed146H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI STEVEN_LOOK,A4
MOVE A4,*A8(AnimFrm),L
MOVE A4,*A8(AnimScr),L
MOVI JOEP_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
CREATEP PID_JUNK,SYNC_PERRY
MOVI 01F00000H,A1
MOVI -300000H+DOWN_OFF,A2
MOVI 0FFFed146H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI JOEK_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
CREATEP PID_JUNK,SYNC_KRAMER_WALK
MOVI 1980000H,A1
MOVI -400000H+DOWN_OFF,A2
MOVI 0FFFF0151H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI BRAD_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
CREATEP PID_JUNK,SYNC_BRAD
MOVI 01380000H,A1
MOVI -300000H+DOWN_OFF,A2
MOVI 0FFFed146H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI TOM_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
CREATEP PID_JUNK,SYNC_TOM
MOVI 01680000H,A1
MOVI -300000H+DOWN_OFF,A2
MOVI 0FFFed146H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI CYMBOL_1_INIT,B0
CALLA EASYMAKE
MOVE A0,@CYMBOL1_OBJ,L
MOVE A0,A8
MOVI 16A0000H,A1
MOVI -9E0000H+DOWN_OFF,A2
MOVI 0FFFF0151H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI CYMBOL_2_INIT,B0
CALLA EASYMAKE
MOVE A0,@CYMBOL2_OBJ,L
MOVE A0,A8
MOVI 1C60000H,A1
MOVI -9E0000H+DOWN_OFF,A2
MOVI 0FFFF0151H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI CYMBOL_1L_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI 1600000H,A1
MOVI -900000H+DOWN_OFF,A2
MOVI 0FFFF0151H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI CYMBOL_2R_INIT,B0
CALLA EASYMAKE
MOVE A0,A8
MOVI 1D20000H,A1
MOVI -900000H+DOWN_OFF,A2
MOVI 0FFFF0151H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI DRUM_KIT_INIT,B0
CALLA MULTIMAKE
MOVE A0,A8
MOVI 1980000H,A1
MOVI -300000H+DOWN_OFF,A2
MOVI 0FFFF0150H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
NEG A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
MOVI AERO_SIGN,B0
CALLA MULTIMAKE
MOVE A0,A8
MOVI 1980000H,A1
MOVI -500000H-DOWN_OFF,A2
MOVI 0FFFFD150H+WARREN_OFF,A3
MOVE @ZREL_OFF,A4,L
SRA ZFRAC,A4
ADD A4,A3
CALLA SET_ANIPU
CALLA MAKE_NOSCALE
MOVE *A8(OPART1),A8,L
MOVI UP_SPEED,A0
MOVE A0,*A8(OYVEL),L
CREATE PID_JUNK,WAIT_UNITL_ON_STAGE
RETS
AERO_SIGN
.BYTE 3,0,0,2
.LONG P_NAERtop
.LONG P_NAEROLG
.WORD OID_JUNK,OM_DUMCOLL|OM_INSERT
.LONG NAEROPT1
.WORD DMAWNZ, 0, 0, 0
.LONG NAEROPT1
.WORD DMAWNZ|DMAHFL, 0, 0, 0
.LONG NAEROPT2
.WORD DMAWNZ, 0, 0, 0
WAIT_UNITL_ON_STAGE
SLEEP 128
CLR A0
MOVE A0,*A8(OYVEL),L
DIE
DRUM_KIT_INIT
.BYTE 4,0,0,2
.LONG DRUMS
.LONG DRUMS2
.WORD OID_JUNK,OM_DUMCOLL|OM_INSERT
.LONG DRUMKIT
.WORD DMAWNZ, 0, 0, 0
.LONG DRUMKIT
.WORD DMAWNZ|DMAHFL, 0, 0, 0
.LONG CYMRODS
.WORD DMAWNZ, 0, 0, 0
.LONG CYMRODS
.WORD DMAWNZ|DMAHFL, 0, 0, 0
.LONG SEG_1
WHICH_SET_W
.LONG SEG_1
.LONG SEG_2
.LONG SEG_3
.LONG SEG_4
.LONG SEG_5
SEG_1
.LONG 0,0,0,0,0,0,0,HIT_CYMBOL,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
SEG_2
.LONG 0,0,0,HIT_CYMBOL,0,0,HIT_TWO_CYMBOL,0,0,0,0,HIT_CYMBOL,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
SEG_3
.LONG 0,HIT_CYMBOL,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,HIT_CYMBOL
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
SEG_4
.LONG 0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL
.LONG 0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL,0,0,0,HIT_CYMBOL
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
SEG_5
.LONG 0,0,0,0,0,0,0,0,0,0,0,HIT_CYMBOL,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STEVEN_BELT
LW S101_a6A,8|AMulti
LW S101_a6B,8|AMulti
LW S101_a6C,8|AMulti
LW S101_a6C,8
LW S101_a7A,8|AMulti
LW S101_a7B,8|AMulti
LW S101_a7C,8|AMulti
LW S101_a7C,8
LW S101_a6A,8|AMulti
LW S101_a6B,8|AMulti
LW S101_a6C,8|AMulti
LW S101_a6C,8
LW S101_a7A,8|AMulti
LW S101_a7B,8|AMulti
LW S101_a7C,8|AMulti
LW S101_a7C,8
LW S101_a6A,8|AMulti
LW S101_a6B,8|AMulti
LW S101_a6C,8|AMulti
LW S101_a6C,8
LW S101_a7A,8|AMulti
LW S101_a7B,8|AMulti
LW S101_a7C,8|AMulti
LW S101_a7C,8
LW S101_a6A,8|AMulti
LW S101_a6B,8|AMulti
LW S101_a6C,8|AMulti
LW S101_a6C,8
LW S101_a7A,8|AMulti
LW S101_a7B,8|AMulti
LW S101_a7C,8|AMulti
LW S101_a7C,8
LW S101_a8A,7|AMulti
LW S101_a8B,7|AMulti
LW S101_a8C,7|AMulti
LW S101_a8C,7
LW S101_a1A,7|AMulti
LW S101_a1B,7|AMulti
LW S101_a1C,7|AMulti
LW S101_a1C,7
LW S101_a2A,6|AMulti
LW S101_a2B,6|AMulti
LW S101_a2C,6|AMulti
LW S101_a2C,6
LW S101_a3A,7|AMulti
LW S101_a3B,7|AMulti
LW S101_a3C,7|AMulti
LW S101_a3C,7
LW S101_a4A,6|AMulti
LW S101_a4B,6|AMulti
LW S101_a4C,6|AMulti
LW S101_a4C,6
LW S101_a5A,7|AMulti
LW S101_a5B,7|AMulti
LW S101_a5C,7|AMulti
LW S101_a5C,7
.LONG 0
STEVEN_SING
LW S091_a1A,7|AMulti
LW S091_a1B,7|AMulti
LW S091_a1C,7|AMulti
LW S091_a1C,7
LW S091_a2A,7|AMulti
LW S091_a2B,7|AMulti
LW S091_a2C,7|AMulti
LW S091_a2C,7
LW S091_a3A,7|AMulti
LW S091_a3B,7|AMulti
LW S091_a3C,7|AMulti
LW S091_a3C,7
LW S091_a4A,7|AMulti
LW S091_a4B,7|AMulti
LW S091_a4C,7|AMulti
LW S091_a4C,7
LW S091_a5A,7|AMulti
LW S091_a5B,7|AMulti
LW S091_a5C,7|AMulti
LW S091_a5C,7
LW S091_a6A,7|AMulti
LW S091_a6B,7|AMulti
LW S091_a6C,7|AMulti
LW S091_a6C,7
.LONG 0
STEVEN_LOOK
LW S021_a6A,7|AMulti
LW S021_a6B,7|AMulti
LW S021_a6C,7|AMulti
LW S021_a6D,7
LW S021_a7A,7|AMulti
LW S021_a7B,7|AMulti
LW S021_a7C,7|AMulti
LW S021_a7D,7
LW S021_a8A,7|AMulti
LW S021_a8B,7|AMulti
LW S021_a8C,7|AMulti
LW S021_a8C,7
LW S021_a9A,7|AMulti
LW S021_a9B,7|AMulti
LW S021_a9C,7|AMulti
LW S021_a9C,7
STEVEN_LOOK_2
LW S021_a10A,7|AMulti
LW S021_a10B,7|AMulti
LW S021_a10C,7|AMulti
LW S021_a10D,7
LW S021_a11A,7|AMulti
LW S021_a11B,7|AMulti
LW S021_a11C,7|AMulti
LW S021_a11C,7
LW S021_a4A,7|AMulti
LW S021_a4B,7|AMulti
LW S021_a4C,7|AMulti
LW S021_a4C,7
LW S021_a5A,7|AMulti
LW S021_a5B,7|AMulti
LW S021_a5C,7|AMulti
LW S021_a5C,7
.LONG 0
SYNC_STEVEN_W
MOVE *A8(OPART1),A8,L
MOVE @LAST_RX,A3
MOVE A3,A4
MOVE @SOUND_RX,A1
MOVE A1,A5
SLL 28,A5
SLL 28,A3
CMP A3,A5
JREQ IGNORE_NEW_ANIM_W
SLL 24,A4
SRL 25,A4
SLL 2,A4
ADDI WHICH_SET_STEVEN_W-020h,A4
MOVE *A4,A4,L
MOVE @BEAT_COUNT,A5
SLL 5,A5
ADD A5,A4
MOVE *A4,A4,L
JRZ CHECK_IF_WE_ARE_BOUNCING_W
MOVE A4,*A8(AnimFrm),L
MOVE A4,*A8(AnimScr),L
CLR A4
MOVE A4,*A8(AnimSLP)
IGNORE_NEW_ANIM_W
SLOOP 1,SYNC_STEVEN_W
CHECK_IF_WE_ARE_BOUNCING_W
MOVI STEVEN_SOLO_LOOP,A2
MOVE *A8(AnimScr),A1,L
CMP A2,A1
JRNE STEVEN_LEFT_RIGHT
NEW_ANIM
MOVE A2,*A8(AnimFrm),L
CLR A4
MOVE A4,*A8(AnimSLP)
SLOOP 1,SYNC_STEVEN_W
STEVEN_LEFT_RIGHT
MOVI STEVEN_LOOK,A2
CMP A2,A1
JRNE IGNORE_NEW_ANIM_W
MOVE @SOUND_RX,A1
SLL 28,A1
JRZ NEW_ANIM
MOVI STEVEN_LOOK_2,A2
JRUC NEW_ANIM
.LONG STEVEN_SET_1
WHICH_SET_STEVEN_W
.LONG STEVEN_SET_1
.LONG STEVEN_SET_2
.LONG STEVEN_SET_3
.LONG STEVEN_SET_4
.LONG STEVEN_SET_5
STEVEN_SET_1
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STEVEN_SET_2
.LONG 0,STEVEN_LOOK,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STEVEN_SET_3
.LONG 0,STEVEN_SING,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STEVEN_SET_4
.LONG 0,STEVEN_BELT,0,0,STEVEN_BELT,0,0,0,STEVEN_BELT,0,0,0,STEVEN_BELT,0,0,0,STEVEN_BELT,0,0
.LONG 0,STEVEN_BELT,0,0,0,STEVEN_BELT,0,0,0,STEVEN_BELT,0,0,STEVEN_BELT
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STEVEN_SET_5
.LONG 0,0,STEVEN_SOLO_ANIM,0,0,0,0,0,0,0,0,STEVEN_LOOK,0,0,0,0
.LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.END