4524 lines
75 KiB
NASM
4524 lines
75 KiB
NASM
|
.FILE 'MUTOID.ASM'
|
|||
|
.TITLE 'ROBO-RAMA GAME PROGRAM'
|
|||
|
.WIDTH 132
|
|||
|
.OPTION B,D,L,T
|
|||
|
.MNOLIST
|
|||
|
|
|||
|
|
|||
|
;CHANGE TO RED PAL WHEN DAMAGED
|
|||
|
|
|||
|
;
|
|||
|
; INITIATED: APRIL 26,1989
|
|||
|
; MODIFIED: !
|
|||
|
; SOFTWARE: MARK TURMELL
|
|||
|
;
|
|||
|
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
;
|
|||
|
;
|
|||
|
; GET THE SYSTEM STUFF
|
|||
|
|
|||
|
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
|||
|
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
|||
|
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
|||
|
.INCLUDE "IMGTBL.GLO"
|
|||
|
.INCLUDE "ROBO.EQU"
|
|||
|
.INCLUDE "MUTEXP.TBL"
|
|||
|
.INCLUDE "MAC2.ASM" ;MACRO 2 DEFINITIONS
|
|||
|
.INCLUDE "AUDIT.EQU"
|
|||
|
|
|||
|
;
|
|||
|
;SOUND HEADERS USED HERE
|
|||
|
;
|
|||
|
.REF MBANG,BUBL,EXP3,YAMOFF,EXP3HI,LAZSND,VICMSC,EXP3HIA
|
|||
|
.REF AWWSND,EESND,ONOSND,WPWPSND,WPSSND,NOWAY,OUCH,CROWD1
|
|||
|
.REF MCSPK7
|
|||
|
.REF AWWSND2,SOUNDSUP,GOGO,BINGO,MCSPK4,MCSPK8,CIRCUIT
|
|||
|
|
|||
|
;
|
|||
|
;SYMBOLS EXTERNALLY DEFINED
|
|||
|
;
|
|||
|
.REF CLNPAL,WAVEYX,CHKFREE,O_ITEMS2,BAD0,GET_ADJ
|
|||
|
.REF EXPTLXY,EXPLRXY,DEXIT,BOSSON,GAMSTATE,ENDON,BOOM3
|
|||
|
.REF GPALOBJ,TTORSO,FRANIM,RANGRAND,SHAKER,XYSKOBJ,CVRT
|
|||
|
.REF GETHDR,RANDPER,PLYROBJS,STATUS,SHK_ON,NEWV
|
|||
|
.REF KP_TS,HALT,PCNT,FLASHME,OBJOFF,OBJON,ARMOFF
|
|||
|
.REF SCRTSTG,BOOM2,XVEL,YVEL,P1DATA,P2DATA,SCRADD2
|
|||
|
.REF ARMOFF2,ADDPCS2,OVALBLD,CLUSTER,KILL_F2_NO,SCRTST
|
|||
|
;
|
|||
|
;SYMBOLS DEFINED IN THIS FILE
|
|||
|
;
|
|||
|
.DEF O_MUT,TOID_ON,KIL_SNK,BOOMN,MARM6A,DOSHK0,MUTPTR
|
|||
|
.DEF MUT_HIT,EXP_BULL,EXP_BULL2,GETSPK,MCON
|
|||
|
;
|
|||
|
;UNINITIALIZED RAM DEFINITIONS
|
|||
|
;
|
|||
|
.BSS MCON,16
|
|||
|
.BSS KPPLYR,32
|
|||
|
.BSS SNDCNT,16
|
|||
|
.BSS POPFLG,8
|
|||
|
.BSS POP,8
|
|||
|
.BSS DMGSK,16
|
|||
|
.BSS DMGPNT,8
|
|||
|
.BSS DMG,16
|
|||
|
.BSS KPA10,8
|
|||
|
.BSS PLYRAD,8
|
|||
|
.BSS INAIR,8
|
|||
|
.BSS FISTDN,8
|
|||
|
.BSS MEMAD,16
|
|||
|
.BSS MEROAR,16
|
|||
|
.BSS TOTLZRS,8
|
|||
|
.BSS HEADV,8
|
|||
|
.BSS SKVW,8
|
|||
|
.BSS SCNTR,8
|
|||
|
.BSS UPDT,16
|
|||
|
.BSS MDIR,8
|
|||
|
.BSS TIMES,8
|
|||
|
.BSS PLS,8 ;SLEEP CNTR USED FOR BOTH FAST AND SLOW POUND
|
|||
|
.BSS PRS,8
|
|||
|
.BSS FISTLP,32
|
|||
|
.BSS FISTRP,32
|
|||
|
.BSS PNDRP,32
|
|||
|
.BSS PNDLP,32
|
|||
|
.BSS POSEL,32
|
|||
|
.BSS POSER,32
|
|||
|
.BSS FPNDRP,32
|
|||
|
.BSS FPNDLP,32
|
|||
|
.BSS TOID_ON,8
|
|||
|
.BSS TRDSLP,8
|
|||
|
.BSS TRDFTRP,32
|
|||
|
.BSS TRDFTLP,32
|
|||
|
.BSS TRDSDLP,32
|
|||
|
.BSS TRDSDRP,32
|
|||
|
.BSS MACTION,8
|
|||
|
.BSS MTIME,16
|
|||
|
.BSS KP_BELL,32
|
|||
|
.BSS SNKOUT,8
|
|||
|
.BSS MUTPTR,32
|
|||
|
;
|
|||
|
;EQUATES FOR THIS FILE
|
|||
|
;
|
|||
|
DNYVEL .EQU 0E000H
|
|||
|
DNYVEL2 .EQU 01A000H ;01C000H
|
|||
|
UPYVEL .EQU -09000H
|
|||
|
UPYVEL2 .EQU -01A000H ;-01C000H
|
|||
|
;
|
|||
|
;BEAM DATA STRUCTURE
|
|||
|
;
|
|||
|
PCS .EQU PDATA ;UHB TIMES TO LAY THIS BEAM DOWN
|
|||
|
SLP .EQU PDATA+8
|
|||
|
;
|
|||
|
;MUTOID DATA STRUCTURE
|
|||
|
;
|
|||
|
TNKL .EQU PDATA ;UHL TANK LEFT PTR
|
|||
|
TNKR .EQU PDATA+32 ;UHL TANK RGT PTR
|
|||
|
TRSL .EQU PDATA+64 ;UHL TORSO LEFT PTR
|
|||
|
TRSR .EQU PDATA+96 ;UHL TORSO RGT PTR
|
|||
|
ARML .EQU PDATA+128 ;UHL ARM LEFT PTR
|
|||
|
ARMR .EQU PDATA+160 ;UHL ARM RGT PTR
|
|||
|
TRDLF .EQU PDATA+192 ;UHL TANK LEFT/FRONT TREAD
|
|||
|
TRDRF .EQU PDATA+224 ;UHL TANK RGT/FRONT TREAD
|
|||
|
TRDLS .EQU PDATA+256 ;UHL TANK LEFT/SIDE TREAD
|
|||
|
TRDRS .EQU PDATA+288 ;UHL TANK RGT/SIDE TREAD
|
|||
|
SHADR .EQU PDATA+320 ;UHL SHADOW ON RIGHT SIDE OF TANK
|
|||
|
SHADF .EQU PDATA+352 ;UHL SHADOW IN FRONT OF TANK
|
|||
|
MHEAD .EQU PDATA+384 ;UHL HEAD PTR
|
|||
|
;
|
|||
|
MAXPCS .EQU 10
|
|||
|
LSTPC .EQU MAXPCS-1
|
|||
|
;
|
|||
|
;DATA STRUCTURE OF MASTER PIECE POINTER
|
|||
|
;
|
|||
|
BLDVW .EQU PDATA ;UHB BLADE VIEW 0-3
|
|||
|
CDELAY .EQU PDATA+8 ;UHB DELAY BEFORE UPDATING
|
|||
|
DLY .EQU PDATA+16 ;UHL DLY VEL UPDATE FOR THIS CNT
|
|||
|
GDIE .EQU PDATA+48 ;UHB GONNA DIE FLAG
|
|||
|
SKTM .EQU PDATA+56 ;UHW
|
|||
|
SKHITS .EQU PDATA+72 ;UHB
|
|||
|
;
|
|||
|
;UNINITIALIZED RAM DEFINITIONS
|
|||
|
;
|
|||
|
.BSS OOF,16
|
|||
|
.BSS CHEEK,16
|
|||
|
.BSS TRAM1,32*MAXPCS+32
|
|||
|
.BSS SCRL,8
|
|||
|
.BSS TRAM2,32*MAXPCS
|
|||
|
.TEXT
|
|||
|
;
|
|||
|
O_MUT
|
|||
|
CREATE DUM_ID,MUTOID
|
|||
|
RETS
|
|||
|
OCH SLEEP 23
|
|||
|
MOVI OUCH,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ OCH1
|
|||
|
MOVI MCSPK7,A0
|
|||
|
OCH1
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
MUTOID:
|
|||
|
;SHAKE SCREEN
|
|||
|
CLR A1
|
|||
|
MOVE @CIRCUIT,A0
|
|||
|
CMPI 2,A0
|
|||
|
JRNZ JJ1
|
|||
|
MOVK 1,A1
|
|||
|
JJ1 MOVE A1,@MCON
|
|||
|
MOVI EXP3HI,A0
|
|||
|
CALLA ONESND
|
|||
|
CALLR DOSHK0
|
|||
|
SLEEP 5
|
|||
|
CALLR DOSHK0
|
|||
|
SLEEP 5
|
|||
|
MOVI EXP3HI,A0
|
|||
|
CALLA ONESND
|
|||
|
CALLR DOSHK0
|
|||
|
SLEEP 5
|
|||
|
CALLR DOSHK0
|
|||
|
MOVI EXP3HI,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 5
|
|||
|
CALLR DOSHK0
|
|||
|
CREATE 0,OCH
|
|||
|
MOVE @GAMSTATE,A0,W
|
|||
|
MOVI 300+400-90+180,A9
|
|||
|
CMPI INAMODE,A0
|
|||
|
JRNZ MD1
|
|||
|
;NO WAY SOUND CALL
|
|||
|
CLR A0
|
|||
|
MOVE A0,@SOUNDSUP
|
|||
|
;SOUNDS OFF IN DEMO
|
|||
|
ADJUST ADJMUSIC ;GET MUSIC ON OFF FOR DEMO
|
|||
|
MOVE A0,A0
|
|||
|
JRNZ NONO
|
|||
|
MOVI NOWAY,A0
|
|||
|
CALLA ONESND
|
|||
|
NONO MOVI 0FDH,A9
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@SOUNDSUP
|
|||
|
MD1
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVB A0,@KP_TS
|
|||
|
SLEEP 1
|
|||
|
DSJS A9,MD1
|
|||
|
|
|||
|
; MOVI DLSTZ,A1
|
|||
|
; CALLA UNGET
|
|||
|
CALLA CLNPAL
|
|||
|
SLEEP 1
|
|||
|
|
|||
|
;TURN ON ALL PIECES
|
|||
|
MOVK 13,A9
|
|||
|
TP MOVE A9,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMC
|
|||
|
ADDI MCLIST,A0
|
|||
|
JRUC MC
|
|||
|
NOMC ADDI ONLIST,A0
|
|||
|
MC MOVE *A0,A14,L
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVI 173,A11 ;X
|
|||
|
MOVI -70,A10 ;Y
|
|||
|
MOVE A10,*A8(OYPOS),W
|
|||
|
MOVE A11,*A8(OXPOS),W
|
|||
|
CALLA ADJSTWTL
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A9,A0
|
|||
|
DEC A0
|
|||
|
SLL 5,A0
|
|||
|
ADD A13,A0
|
|||
|
ADDI TNKL,A0
|
|||
|
MOVE A8,*A0,L
|
|||
|
DEC A9
|
|||
|
JRNZ TP
|
|||
|
;OBJECTS ALL ON
|
|||
|
MOVB A9,@TOTLZRS
|
|||
|
MOVE A9,@DMGPNT
|
|||
|
MOVE A9,@DMG
|
|||
|
MOVI 150,A9 ;200 ;FIRST LEVEL OF DAMAGE TO GET TO.
|
|||
|
MOVE A9,@DMGSK
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@TOID_ON
|
|||
|
MOVB A0,@BOSSON
|
|||
|
MOVE A13,@MUTPTR,L
|
|||
|
|
|||
|
MOVE *A13(TNKL),A8,L
|
|||
|
MOVE A13,A10
|
|||
|
CLR A9 ;TORSO ON LEFT OF TANK
|
|||
|
CREATE TNKPID,TTORSO
|
|||
|
MOVE A13,A10
|
|||
|
MOVK 1,A9
|
|||
|
CREATE TNKPID,TTORSO
|
|||
|
CREATE BONPID,BELLY
|
|||
|
MOVE *A13(MHEAD),A9,L
|
|||
|
CREATE BONPID,DO_HEAD
|
|||
|
CREATE BONPID,SKPLYR
|
|||
|
CREATE BONPID,GETDOWN
|
|||
|
CLR A0 ;ROLL IN FROM DOOR
|
|||
|
CALLA GET_ST ;SET INITIAL ACTION
|
|||
|
|
|||
|
SLEEP 3
|
|||
|
TOID_TOP
|
|||
|
MOVE @HALT,A0
|
|||
|
JRZ TT2
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,*A8(OXVEL),L
|
|||
|
; MOVE A0,*A8(OYVEL),L
|
|||
|
; CALLR MOD_VELS
|
|||
|
CALLR LINE_UP ;ADJUST ALL PARTS TO MATCH TANK LEFT
|
|||
|
SLEEP 1
|
|||
|
JRUC TOID_TOP
|
|||
|
TT2
|
|||
|
CALLR LINE_UP ;ADJUST ALL PARTS TO MATCH TANK LEFT
|
|||
|
CALLR MV_TNK
|
|||
|
MOVE A8,*A13(TNKL),L
|
|||
|
SLEEP 1
|
|||
|
JRUC TOID_TOP
|
|||
|
|
|||
|
GETDOWN
|
|||
|
MOVI 180,A9
|
|||
|
GETD SLEEP 1
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ GETD
|
|||
|
MOVE @MUTPTR,A1,L
|
|||
|
MOVE *A1(TNKL),A8,L
|
|||
|
MOVI DNYVEL,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
DSJ A9,GETD
|
|||
|
DIE
|
|||
|
|
|||
|
SKPLYR
|
|||
|
SLEEP 24*60
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ SKPLYR
|
|||
|
SKTP
|
|||
|
;MAYBE JERK TOWARD PLAYER
|
|||
|
MOVE @PLYROBJS,A0,L
|
|||
|
MOVB @PCNT,A1
|
|||
|
ANDI 1,A1
|
|||
|
JREQ COP1
|
|||
|
MOVE @PLYROBJS+32,A0,L
|
|||
|
COP1 MOVE @MUTPTR,A1,L
|
|||
|
MOVE *A1(TNKL),A8,L
|
|||
|
CALLA PLTLINE
|
|||
|
MOVE A5,A9 ;X
|
|||
|
MOVE A6,A10 ;Y
|
|||
|
;SHAKE MUTOID MAN
|
|||
|
CREATE BONPID,XYADJ
|
|||
|
MOVI 30,A11
|
|||
|
COP2
|
|||
|
MOVE A9,*A8(OXVEL),L
|
|||
|
MOVE A10,*A8(OYVEL),L
|
|||
|
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
MOVE @WORLDTLX,A2,L
|
|||
|
SUB A2,A1
|
|||
|
CMPI [90,0],A1
|
|||
|
;HAS IS HIT LEFT, STOP IT FROM MOVING MORE TO LEFT
|
|||
|
JRNC RTGOR
|
|||
|
MOVI 020000H,A9
|
|||
|
MOVK 1,A11
|
|||
|
RTGOR
|
|||
|
CMPI [245,0],A1
|
|||
|
JRC RTOK
|
|||
|
MOVI -020000H,A9
|
|||
|
MOVK 1,A11
|
|||
|
RTOK
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVE @WORLDTLY,A2,L
|
|||
|
SUB A2,A1
|
|||
|
CMPI [40,0],A1
|
|||
|
;HAS IS HIT LEFT, STOP IT FROM MOVING MORE TO LEFT
|
|||
|
JRNC RTYGO
|
|||
|
MOVI 18000H,A10
|
|||
|
; MOVK 1,A11
|
|||
|
RTYGO
|
|||
|
CMPI [170,0],A1
|
|||
|
JRC CONT
|
|||
|
MOVI -18000H,A10
|
|||
|
MOVK 1,A11
|
|||
|
CONT
|
|||
|
SLEEP 2
|
|||
|
|
|||
|
DEC A11
|
|||
|
JRNZ COP2
|
|||
|
MOVE A11,*A8(OXVEL),L
|
|||
|
MOVE A11,*A8(OYVEL),L
|
|||
|
SLEEP 5*60
|
|||
|
JRUC SKTP
|
|||
|
;
|
|||
|
MUT_HIT
|
|||
|
;A8=PIECE HIT
|
|||
|
;A0=BULLET PNTR
|
|||
|
;
|
|||
|
;IF GRENADE, DO DAMAGE
|
|||
|
;IF SPEW, DO DAMAGE
|
|||
|
;IF LAZER WEAPON, DO NOTHING
|
|||
|
;IF NOT JUST FLASH IMAGE
|
|||
|
MMTM SP,A1,A2,A7,A9,A10
|
|||
|
MOVE *A8(OID),A1
|
|||
|
ANDI 0FFFFH,A1
|
|||
|
CMPI CLSENMY|TYPMUT|SUBSNK,A1
|
|||
|
JREQ SNKHIT
|
|||
|
MOVE *A0(OID),A1
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBLZR,A1
|
|||
|
JREQ NADA2
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBGRND,A1
|
|||
|
JREQ NF2
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBSPEW,A1
|
|||
|
JREQ NADA
|
|||
|
;MORE DAMAGE IF SPEW2!
|
|||
|
MOVE *A8(OID),A1
|
|||
|
ANDI 0FFFFH,A1
|
|||
|
CMPI CLSENMY|TYPMUT|SUBHD,A1
|
|||
|
JREQ NADA
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVE *A0(OPLINK),A0,L
|
|||
|
MOVB *A0(MYPLYR),A0
|
|||
|
MOVI P1DATA,A2
|
|||
|
CMPI 1,A0
|
|||
|
JREQ YU7
|
|||
|
CMPI 2,A0
|
|||
|
JRNZ YU7A
|
|||
|
MOVI P2DATA,A2
|
|||
|
YU7
|
|||
|
MOVI MUTPT,A1 ;AMOUNT OF SCORE
|
|||
|
MOVE A2,@KPPLYR,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
;
|
|||
|
YU7A MOVI 2,A0
|
|||
|
CALLR DAMAGE
|
|||
|
NF
|
|||
|
MOVI 03F3F0000H,A9
|
|||
|
CREATE 0,FLASHME
|
|||
|
;
|
|||
|
NADA MMFM SP,A1,A2,A7,A9,A10
|
|||
|
RETS
|
|||
|
NADA2
|
|||
|
MOVK 15,A0 ;50 ;90 ;60
|
|||
|
CALLA RANDPER
|
|||
|
JRNC NADA
|
|||
|
MOVE @DMG,A2
|
|||
|
MOVE @DMGSK,A1
|
|||
|
CMP A1,A2
|
|||
|
JRNC AHITU
|
|||
|
|
|||
|
ADDK 1,A2
|
|||
|
MOVE A2,@DMG
|
|||
|
CMPI 3,A0
|
|||
|
JRNC NADA
|
|||
|
AHITU
|
|||
|
MOVI 5,A0
|
|||
|
MOVE A0,@MEMAD
|
|||
|
MOVI 15,A0
|
|||
|
MOVE A0,@OOF
|
|||
|
MOVI EESND,A0
|
|||
|
CALLA ONESND
|
|||
|
JRUC NADA
|
|||
|
NF2
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVE *A0(OPLINK),A0,L
|
|||
|
MOVB *A0(MYPLYR),A0
|
|||
|
MOVI P1DATA,A2
|
|||
|
CMPI 1,A0
|
|||
|
JREQ YU8
|
|||
|
CMPI 2,A0
|
|||
|
JRNZ YU8A
|
|||
|
MOVI P2DATA,A2
|
|||
|
YU8
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVE A2,@KPPLYR,L
|
|||
|
MOVI MUTPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
;TELL HEAD TO OOF!
|
|||
|
YU8A MOVI 15,A0
|
|||
|
MOVE A0,@OOF
|
|||
|
MOVI 15,A0
|
|||
|
CALLR DAMAGE
|
|||
|
CALLR GETSPK
|
|||
|
|
|||
|
JRUC NF
|
|||
|
|
|||
|
GETSPK
|
|||
|
MOVE @SNDCNT,A0
|
|||
|
INC A0
|
|||
|
MOVE A0,@SNDCNT
|
|||
|
ANDI 03H,A0
|
|||
|
JRZ S2
|
|||
|
SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ KOP
|
|||
|
ADDI SNDLSTZ,A0
|
|||
|
JRUC KOP2
|
|||
|
KOP ADDI SNDLST,A0
|
|||
|
KOP2 MOVE *A0,A0,L
|
|||
|
CALLA ONESND
|
|||
|
RETS
|
|||
|
S2 MOVI 250,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRC S3
|
|||
|
MOVI AWWSND2,A0
|
|||
|
CALLA ONESND
|
|||
|
RETS
|
|||
|
S3 MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
RETS
|
|||
|
SNDLST .LONG AWWSND,OUCH,EXP3HIA,ONOSND
|
|||
|
SNDLSTZ .LONG MCSPK7,GOGO,MCSPK4,MCSPK8
|
|||
|
DAMAGE
|
|||
|
MOVE A0,A2
|
|||
|
MOVE @DMG,A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,@DMG
|
|||
|
MOVE @DMGSK,A0
|
|||
|
CMP A0,A1
|
|||
|
JRNC AHIT
|
|||
|
CMPI 15,A2
|
|||
|
JRZ DF4
|
|||
|
MOVI 500,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC DF5
|
|||
|
DF4
|
|||
|
PUSH A0
|
|||
|
CREATE BONPID,XYADJ
|
|||
|
PULL A0
|
|||
|
CMPI 200,A0
|
|||
|
JRNC DF5
|
|||
|
ANDI 03,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NN1
|
|||
|
ADDI SNDLSTZ,A0
|
|||
|
JRUC NN2
|
|||
|
NN1
|
|||
|
ADDI OTBL,A0
|
|||
|
NN2 MOVE *A0,A0,L
|
|||
|
CALLA ONESND
|
|||
|
MOVI 20,A0
|
|||
|
MOVE A0,@MEMAD
|
|||
|
DF5
|
|||
|
RETS
|
|||
|
OTBL .LONG OUCH,AWWSND,EESND,ONOSND
|
|||
|
XYADJ
|
|||
|
;ADJUST MUTOID X/Y
|
|||
|
MOVK 10,A9 ;14
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ I80
|
|||
|
MOVK 20,A9 ;14
|
|||
|
I80
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TNKL),A8,L
|
|||
|
; MOVE *A0(TNKR),A10,L
|
|||
|
XY2
|
|||
|
MOVE @DMGSK,A0
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
CMPI 0FFFFH,A0
|
|||
|
JREQ DI
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ I801
|
|||
|
MOVI -5,B0 ;-4
|
|||
|
MOVI 5,B1 ;4
|
|||
|
JRUC FOUT
|
|||
|
I801
|
|||
|
MOVI -3,B0 ;-4
|
|||
|
MOVI 3,B1 ;4
|
|||
|
FOUT CALLA RANGRAND
|
|||
|
MOVE *A8(OXPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
CALLA CKBNDX
|
|||
|
JRC HITX
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
HITX
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ I802
|
|||
|
MOVI -5,B0 ;-4
|
|||
|
MOVI 5,B1 ;4
|
|||
|
JRUC FOUT1
|
|||
|
I802
|
|||
|
MOVI -3,B0 ;-4
|
|||
|
MOVI 3,B1 ;4
|
|||
|
FOUT1 CALLA RANGRAND
|
|||
|
MOVE *A8(OYPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
CALLA CKBNDY
|
|||
|
JRC HITY
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
HITY
|
|||
|
; MOVE *A8(OYPOS),A0
|
|||
|
; MOVE A0,*A10(OYPOS)
|
|||
|
SLEEP 3
|
|||
|
DEC A9
|
|||
|
JRNZ XY2
|
|||
|
DI DIE
|
|||
|
XYADJ2
|
|||
|
;ADJUST MUTOID X/Y
|
|||
|
MOVK 10,A9 ;14
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ I90
|
|||
|
MOVK 20,A9 ;14
|
|||
|
I90
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TNKL),A8,L
|
|||
|
; MOVE *A0(TNKR),A10,L
|
|||
|
XY22
|
|||
|
MOVI -8,B0 ;-4
|
|||
|
MOVI 8,B1 ;4
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE *A8(OXPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
CALLA CKBNDX
|
|||
|
JRC HITX2
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
HITX2 MOVI -8,B0 ;-4
|
|||
|
MOVI 8,B1 ;4
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE *A8(OYPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
CALLA CKBNDY
|
|||
|
JRC HITY2
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
HITY2
|
|||
|
; MOVE *A8(OYPOS),A0
|
|||
|
; MOVE A0,*A10(OYPOS)
|
|||
|
SLEEP 3
|
|||
|
DEC A9
|
|||
|
JRNZ XY22
|
|||
|
DIE
|
|||
|
CKBNDX
|
|||
|
PUSH A1
|
|||
|
MOVE @WORLDTLX,A2,L
|
|||
|
SLL 16,A1
|
|||
|
SUB A2,A1
|
|||
|
CMPI [100,0],A1
|
|||
|
;HAS IS HIT LEFT, STOP IT FROM MOVING MORE TO LEFT
|
|||
|
JRC RTBAD
|
|||
|
CMPI [235,0],A1
|
|||
|
JRNC RTBAD
|
|||
|
PULL A1
|
|||
|
CLRC
|
|||
|
RETS
|
|||
|
RTBAD PULL A1
|
|||
|
SETC
|
|||
|
RETS
|
|||
|
CKBNDY
|
|||
|
PUSH A1
|
|||
|
MOVE @WORLDTLY,A2,L
|
|||
|
SLL 16,A1
|
|||
|
SUB A2,A1
|
|||
|
CMPI [40,0],A1
|
|||
|
;HAS IS HIT LEFT, STOP IT FROM MOVING MORE TO LEFT
|
|||
|
JRC RTBAD
|
|||
|
CMPI [160,0],A1
|
|||
|
JRNC RTBAD
|
|||
|
PULL A1
|
|||
|
CLRC
|
|||
|
RETS
|
|||
|
AHIT
|
|||
|
ADDI 40,A0 ;55
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ AHIY
|
|||
|
ADDI 35,A0 ;25
|
|||
|
AHIY
|
|||
|
MOVE A0,@DMGSK
|
|||
|
CREATE 0,AHITPRC
|
|||
|
RETS
|
|||
|
AHITPRC
|
|||
|
CALLR HITRC2
|
|||
|
DIE
|
|||
|
HITRC2
|
|||
|
MOVB @DMGPNT,A0
|
|||
|
INC A0
|
|||
|
MOVB A0,@DMGPNT
|
|||
|
SLL 5,A0
|
|||
|
ADDI JPTBLH,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
JPTBLH .LONG 0,LFARM,RGTARM,BLOCHST,BLOHD,BLOCHST2,KILLMUT,TAG,TAG
|
|||
|
TAG RETS
|
|||
|
GETDMGSK
|
|||
|
MOVI 0250,A1 ;300
|
|||
|
MOVE @STATUS,A0
|
|||
|
CMPI 3,A0
|
|||
|
JRNZ ONEP
|
|||
|
MOVI 300,A1 ;400
|
|||
|
ONEP
|
|||
|
MOVE @DMGSK,A0
|
|||
|
ADD A1,A0
|
|||
|
MOVE A0,@DMGSK
|
|||
|
RETS
|
|||
|
LFARM
|
|||
|
CREATE 0,TAG1
|
|||
|
CALLR GETDMGSK
|
|||
|
|
|||
|
MOVI MUTPT3,A1 ;AMOUNT OF SCORE FOR ARMS ETC
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
|
|||
|
RETS
|
|||
|
TAG1
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
;COVER ARM WITH SMALL EXP
|
|||
|
MOVI 105,A10
|
|||
|
TL0 CREATE 0,COVER
|
|||
|
SLEEP 3
|
|||
|
DSJS A10,TL0
|
|||
|
MOVI ONOSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 25
|
|||
|
;BLOW OFF LEFT ARM
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(ARML),A10,L ;ARML
|
|||
|
CREATE 0,TURN1
|
|||
|
CREATE 0,THROWL
|
|||
|
SLEEP 40
|
|||
|
MOVI EESND,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
TAG2
|
|||
|
MOVI ONOSND,A0
|
|||
|
CALLA ONESND
|
|||
|
;COVER ARM WITH SMALL EXP
|
|||
|
MOVI 105,A10
|
|||
|
TL01 CREATE 0,COVER2 ;COVER2
|
|||
|
SLEEP 3
|
|||
|
DSJS A10,TL01
|
|||
|
SLEEP 25
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
;BLOW OFF RGT ARM
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(ARMR),A10,L ;ARMR
|
|||
|
CREATE 0,TURN1
|
|||
|
CREATE 0,THROWR
|
|||
|
SLEEP 60
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
RGTARM
|
|||
|
CREATE 0,TAG2
|
|||
|
CALLR GETDMGSK
|
|||
|
|
|||
|
MOVI MUTPT3,A1 ;AMOUNT OF SCORE FOR ARMS ETC
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
RETS
|
|||
|
BLOCHST
|
|||
|
CREATE 0,THROWC
|
|||
|
|
|||
|
CALLR GETDMGSK
|
|||
|
|
|||
|
MOVI ONOSND,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI MUTPT3,A1 ;AMOUNT OF SCORE FOR ARMS ETC
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
|
|||
|
RETS
|
|||
|
BLOHD
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(MHEAD),A10,L ;MHEAD
|
|||
|
CREATE 0,TURN1
|
|||
|
CREATE 0,THROWH
|
|||
|
CALLR GETDMGSK
|
|||
|
MOVI MUTPT3,A1 ;AMOUNT OF SCORE FOR ARMS ETC
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
RETS
|
|||
|
BLOCHST2
|
|||
|
MOVI NOWAY,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TRSL),A10,L ;TRSL
|
|||
|
CREATE 0,TURN1
|
|||
|
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TRSR),A10,L ;TRSR
|
|||
|
CREATE 0,TURN1
|
|||
|
CREATE 0,THROWC2
|
|||
|
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(MHEAD),A0,L ;MHEAD
|
|||
|
MOVE *A0(OFLAGS),A1
|
|||
|
ORI M_NOCOLL,A1
|
|||
|
MOVE A1,*A0(OFLAGS)
|
|||
|
CALLA OBJON
|
|||
|
|
|||
|
MOVI 131,A1
|
|||
|
MOVE A1,*A0(OZPOS)
|
|||
|
|
|||
|
CALLR GETDMGSK
|
|||
|
|
|||
|
MOVI MUTPT3,A1 ;AMOUNT OF SCORE FOR ARMS ETC
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVB A0,@TOTLZRS ;TOTAL LAZER SHOTS HE WILL SHOOT
|
|||
|
RETS
|
|||
|
|
|||
|
KILLMUT
|
|||
|
;KILL MUTOID PROCESS
|
|||
|
;BLOW UP FATMEN REMAINING!
|
|||
|
;KILL SNAKE, LAZERS
|
|||
|
|
|||
|
MOVI MUTPT2,A1 ;AMOUNT OF SCORE AT END
|
|||
|
MOVE @KPPLYR,A2,L
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@ENDON
|
|||
|
MOVI CLSENMY|TYPORBL,A0
|
|||
|
MOVI 0FFFFH,A1
|
|||
|
CALLA KILOBJ
|
|||
|
MOVI CLSENMY|TYPMUT|SUBSNK,A0
|
|||
|
CALLA KILOBJ
|
|||
|
BAD1
|
|||
|
MOVI CLSENMY|TYPFAT,A0
|
|||
|
MOVI 0FFFFH,A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRZ BAD2
|
|||
|
;FOUND A FAT
|
|||
|
MOVE A0,A8
|
|||
|
;NO SCORE FOR THESE FAT GUYS
|
|||
|
CALLA KILL_F2_NO ;KILL_FAT
|
|||
|
JRUC BAD1
|
|||
|
BAD2
|
|||
|
MOVI BONPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
MOVI LORDPID,A0
|
|||
|
CALLA KILALL
|
|||
|
|
|||
|
MOVI CLSNEUT|TYPNEUT|SUBCHNK2,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
CREATE 0,SPW2
|
|||
|
MOVI 0FFFFH,A0
|
|||
|
MOVE A0,@DMGSK
|
|||
|
CREATE 0,VIC
|
|||
|
|
|||
|
RETS
|
|||
|
VIC SLEEP 30
|
|||
|
;TURN ON VICTORY MUSIC!
|
|||
|
MOVI VICMSC,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
SPW2
|
|||
|
;SPEW BIG
|
|||
|
CALLA DOSHK0
|
|||
|
CLR A0
|
|||
|
MOVE @MUTPTR,A9,L
|
|||
|
MOVE *A9(TNKL),A8,L
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
PUSH A13
|
|||
|
MOVE A9,A13
|
|||
|
CALLR MOD_VELS
|
|||
|
PULL A13
|
|||
|
MOVI DUM_ID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILALL
|
|||
|
PUSH A8
|
|||
|
MOVE *A9(MHEAD),A8,L
|
|||
|
MOVI -01B000H,B0
|
|||
|
MOVI 01B000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVI -012000H,B0
|
|||
|
MOVI 012000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVI MUG1B,A1
|
|||
|
MOVE @MCON,A4
|
|||
|
JRZ NOBB
|
|||
|
MOVI MUG1BZ,A1
|
|||
|
NOBB
|
|||
|
MOVE *A8(OFLAGS),A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
MOVI 400,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
PULL A8
|
|||
|
|
|||
|
MOVI 180,A9
|
|||
|
KM1
|
|||
|
MOVK 20,A0
|
|||
|
CALLA CHKFREE
|
|||
|
JRNE SPEWL0
|
|||
|
CREATE 0,SPEW
|
|||
|
CREATE 0,SPEW
|
|||
|
CREATE 0,SPEW
|
|||
|
CREATE 0,SPEW
|
|||
|
CREATE 0,SPEW
|
|||
|
MOVI BUBL,A0
|
|||
|
CALLA ONESND
|
|||
|
SPEWL0
|
|||
|
SLEEP 1
|
|||
|
DEC A9
|
|||
|
JRNZ KM1
|
|||
|
|
|||
|
SLEEP 15H ;55
|
|||
|
MOVI YAMOFF,A0
|
|||
|
CALLA ONESND
|
|||
|
;
|
|||
|
;BLOW TANK PIECES OUT TO EDGES!
|
|||
|
;
|
|||
|
; MOVI CROWD1,A0
|
|||
|
; CALLA ONESND
|
|||
|
|
|||
|
CALLA DOSHK0
|
|||
|
SLEEP 10
|
|||
|
CREATE 0,SHAKEME
|
|||
|
CREATE 0,SMLEXP
|
|||
|
SLEEP 3*60
|
|||
|
CALLA DOSHK0
|
|||
|
CREATE 0,BLOW1
|
|||
|
CREATE 0,BLOW2
|
|||
|
CREATE 0,BLOW3
|
|||
|
CREATE 0,BLOW4
|
|||
|
CREATE 0,BLOW5
|
|||
|
|
|||
|
SLEEP 60*1
|
|||
|
|
|||
|
CALLA DOSHK0
|
|||
|
;WHEN DONE, WE WILL COVER OLD TANK AREA!
|
|||
|
MOVE *A8(OYVAL),A0,L
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A0
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
MOVE @WORLDTLX,A4,L
|
|||
|
SUB A4,A1
|
|||
|
SRL 16,A1
|
|||
|
MOVX A1,A0
|
|||
|
MOVI [10H,10H],A1
|
|||
|
SUBXY A1,A0
|
|||
|
MOVE A0,@EXPTLXY,L
|
|||
|
MOVI [060H,050H],A1
|
|||
|
ADDXY A1,A0
|
|||
|
MOVE A0,@EXPLRXY,L
|
|||
|
MOVI 120H,A10
|
|||
|
CALLA CLUSTER
|
|||
|
|
|||
|
SLEEP 60
|
|||
|
|
|||
|
CREATE 0,BAD0 ;SMART BOMB AND GET RID OF EVERYONE!
|
|||
|
|
|||
|
;KILL OFF ALL MUTOID OBJECTS
|
|||
|
MOVI CLSNEUT|TYPNEUT|SUBCHNK,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA KILOBJ
|
|||
|
MOVI CLSENMY|TYPMUT,A0
|
|||
|
MOVI F_TYPE,A1
|
|||
|
CALLA KILOBJ
|
|||
|
|
|||
|
SLEEP 3*60
|
|||
|
CLR A0
|
|||
|
MOVB A0,@ENDON
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ PIPPEN
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
CALLA O_ITEMS2
|
|||
|
SLEEP 5*60-30
|
|||
|
PIPPEN CREATE 0,DEXIT
|
|||
|
|
|||
|
SLEEP 360*60
|
|||
|
DIE
|
|||
|
SMLEXP MOVI 186H,A9
|
|||
|
SM1 SLEEP 1
|
|||
|
MOVK 20,A0
|
|||
|
CALLA CHKFREE
|
|||
|
JRNE DONOT
|
|||
|
CREATE 0,SMLE
|
|||
|
MOVI EXP3HI,A0
|
|||
|
CALLA ONESND
|
|||
|
DONOT
|
|||
|
DSJ A9,SM1
|
|||
|
DIE
|
|||
|
SMLE
|
|||
|
CALLR SETKBM
|
|||
|
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
ADDI 0020000H,A3
|
|||
|
ADDI 03A0000H,A2
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
|
|||
|
MOVI -060000H,B0
|
|||
|
MOVI 060000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVI -060000H,B0
|
|||
|
MOVI 060000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
|
|||
|
|
|||
|
MOVI BOOMN,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
SETKBM
|
|||
|
MOVI KBM,A14 ;BLOOD
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
RETS
|
|||
|
|
|||
|
SHAKEME MOVI 25,A9 ;25
|
|||
|
SH1 CREATE 0,XYADJ2
|
|||
|
MOVK 10,A10
|
|||
|
SH2
|
|||
|
PUSH A13
|
|||
|
MOVE @MUTPTR,A13,L
|
|||
|
MOVE *A13(TNKL),A8,L
|
|||
|
CALLR LINEBLY
|
|||
|
CALLA L2UP
|
|||
|
PULL A13
|
|||
|
SLEEP 1
|
|||
|
DSJ A10,SH2
|
|||
|
DSJ A9,SH1
|
|||
|
DIE
|
|||
|
|
|||
|
BLOW1
|
|||
|
SLEEP 60
|
|||
|
MOVK 5,A9
|
|||
|
MB1 CREATE 0,BLW1
|
|||
|
SLEEP 2
|
|||
|
DSJS A9,MB1
|
|||
|
DIE
|
|||
|
|
|||
|
BLOW2
|
|||
|
MOVK 9,A9
|
|||
|
MB2 CREATE 0,BLW2
|
|||
|
SLEEP 10
|
|||
|
DSJS A9,MB2
|
|||
|
DIE
|
|||
|
BLOW3
|
|||
|
MOVK 9,A9
|
|||
|
MB3 CREATE 0,BLW3
|
|||
|
SLEEP 10
|
|||
|
DSJS A9,MB3
|
|||
|
DIE
|
|||
|
BLOW4
|
|||
|
MOVK 9,A9
|
|||
|
MB4 CREATE 0,BLW4
|
|||
|
SLEEP 10
|
|||
|
DSJS A9,MB4
|
|||
|
DIE
|
|||
|
BLOW5
|
|||
|
SLEEP 60
|
|||
|
MOVK 5,A9
|
|||
|
MB5 CREATE 0,BLW5
|
|||
|
SLEEP 2
|
|||
|
DSJS A9,MB5
|
|||
|
DIE
|
|||
|
BLW1
|
|||
|
;TURN ON OBJECT
|
|||
|
;GIVE VELOCITY OUT AWAY FROM TANK
|
|||
|
;STOP IT
|
|||
|
;BLOW IT UP
|
|||
|
;DIE
|
|||
|
MOVI TKPC1,A14 ;BLOOD
|
|||
|
CALLA BLWON
|
|||
|
MOVI -80000H,B0
|
|||
|
MOVI 80000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEP 25
|
|||
|
JRUC BLWOFF
|
|||
|
BLW2
|
|||
|
MOVI TKPC2,A14 ;BLOOD
|
|||
|
CALLA BLWON
|
|||
|
SLEEP 15
|
|||
|
JRUC BLWOFF
|
|||
|
BLW5
|
|||
|
MOVI TKPC5,A14 ;BLOOD
|
|||
|
CALLA BLWON
|
|||
|
MOVI -80000H,B0
|
|||
|
MOVI 80000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEP 25
|
|||
|
JRUC BLWOFF
|
|||
|
BLW4
|
|||
|
MOVI TKPC4,A14 ;BLOOD
|
|||
|
CALLA BLWON
|
|||
|
SLEEP 15
|
|||
|
JRUC BLWOFF
|
|||
|
BLW3
|
|||
|
MOVI TKPC3,A14 ;BLOOD
|
|||
|
CALLA BLWON
|
|||
|
SLEEP 15
|
|||
|
JRUC BLWOFF
|
|||
|
BLWOFF
|
|||
|
; CLR A0
|
|||
|
; MOVE A0,*A8(OXVEL),L
|
|||
|
; MOVE A0,*A8(OYVEL),L
|
|||
|
;FRANIM LIST OF EXPLOSION
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
ADDI 3AH,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
MOVI BOOM3,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
BLWON
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
;ALIGN WITH TANK
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
ADDI 010000H,A3
|
|||
|
ADDI 010000H,A2
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
RETS
|
|||
|
|
|||
|
;SPWAGN SLEEP 5
|
|||
|
SPEW
|
|||
|
MOVI BLD,A14 ;BLOOD
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ SPEWA
|
|||
|
MOVI PRZBLD,A14
|
|||
|
SPEWA
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
; JRZ SPWAGN
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
ADDI 0020000H,A3
|
|||
|
ADDI 0260000H,A2
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
|
|||
|
MOVI -010000H,B0
|
|||
|
MOVI 010000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVI -010000H,B0
|
|||
|
MOVI 010000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
|
|||
|
|
|||
|
MOVI OVALBLD2,A9
|
|||
|
; MOVE @MCON,A0
|
|||
|
; JRZ SPEWB
|
|||
|
; MOVI OVALPRZ,A9
|
|||
|
;SPEWB
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
OVALBLD2:
|
|||
|
;OVAL BLOOD EXPLOSION
|
|||
|
.LONG bldclt1
|
|||
|
.WORD NEWPALET|1
|
|||
|
.LONG nup1
|
|||
|
.LONG bldclt2
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt3
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt4
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt5
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt6
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt7
|
|||
|
.WORD 3
|
|||
|
.LONG bldclt8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
;OVALPRZ:
|
|||
|
;PRIZE
|
|||
|
; .LONG PRZ1
|
|||
|
; .WORD 1
|
|||
|
; .LONG PRZ2
|
|||
|
; .WORD 3
|
|||
|
; .LONG CNS
|
|||
|
; .WORD 3
|
|||
|
; .LONG GLD
|
|||
|
; .WORD 3
|
|||
|
; .LONG PRZ3
|
|||
|
; .WORD 3
|
|||
|
; .LONG CASH
|
|||
|
; .WORD 3
|
|||
|
; .LONG GLD
|
|||
|
; .WORD 3
|
|||
|
; .LONG PRZ1
|
|||
|
; .WORD 3
|
|||
|
; .LONG 0
|
|||
|
BLOSND
|
|||
|
SLEEP 60
|
|||
|
MOVI WPSSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 60
|
|||
|
MOVI WPSSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 60
|
|||
|
MOVI WPSSND,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
OHSND
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 30 ;60
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 20 ;80
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
|
|||
|
THROWL
|
|||
|
|
|||
|
CREATE 0,OHSND
|
|||
|
;CREATE SEVERAL ARMS BLOWING OFF BODY TO LEFT
|
|||
|
MOVK 9,A10
|
|||
|
TL1
|
|||
|
CREATE 0,SENDL
|
|||
|
SLEEP 10
|
|||
|
PUSH A10
|
|||
|
CALLA DOSHK0
|
|||
|
PULL A10
|
|||
|
DSJS A10,TL1
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
DIE
|
|||
|
COVER2
|
|||
|
MOVI KBM,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;ARML
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
ADDI 0240000H,A2
|
|||
|
ADDI 01F0000H,A3 ;X
|
|||
|
JRUC FRT
|
|||
|
COVER
|
|||
|
MOVI KBM,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;ARML
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
ADDI 0240000H,A2
|
|||
|
SUBI 01F0000H,A3
|
|||
|
FRT
|
|||
|
CALLA GANISAG
|
|||
|
MOVE *A8(OXVEL),A0,L
|
|||
|
MOVE *A8(OYVEL),A1,L
|
|||
|
MOVE A1,*A9(OYVEL),L
|
|||
|
MOVE A0,*A9(OXVEL),L
|
|||
|
|
|||
|
MOVE A9,A8
|
|||
|
|
|||
|
MOVI -0F0000H,B0
|
|||
|
MOVI 0F0000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OXVAL),L
|
|||
|
MOVI -0F0000H,B0
|
|||
|
MOVI 0F0000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OYVAL),L
|
|||
|
|
|||
|
MOVI BOOMN,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
SENDL
|
|||
|
;BEGIN OBJ
|
|||
|
;ALIGN WITH OLD LEFT ARM
|
|||
|
;GIVE VELOCITIES
|
|||
|
;FRANIM
|
|||
|
;DELOBJ
|
|||
|
MOVI ST5,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA
|
|||
|
MOVI ST5Z,A14
|
|||
|
NOMCA CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L
|
|||
|
AGA
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALLL
|
|||
|
CREATE 0,FRBALL2L
|
|||
|
CREATE 0,FRBALL2L
|
|||
|
CREATE 0,FRBALL2L
|
|||
|
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVI FLIPL,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA1
|
|||
|
MOVI FLIPLZ,A9
|
|||
|
NOMCA1 MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STILL SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STILL
|
|||
|
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
FRBALL
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVE *A8(OYVEL),A7,L
|
|||
|
JAUC ARMOFF
|
|||
|
FRBALL2
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
ADD A0,A6
|
|||
|
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A7
|
|||
|
JAUC ARMOFF
|
|||
|
FRBALLR
|
|||
|
; MOVE *A8(OXPOS),A0
|
|||
|
; ADDI 15,A0
|
|||
|
; MOVE A0,*A8(OXPOS)
|
|||
|
; JRUC X1
|
|||
|
FRBALLL
|
|||
|
; MOVE *A8(OXPOS),A0
|
|||
|
; SUBI 15,A0
|
|||
|
; MOVE A0,*A8(OXPOS)
|
|||
|
;X1
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVE *A8(OYVEL),A7,L
|
|||
|
JAUC ARMOFF
|
|||
|
FRBALL2R
|
|||
|
; MOVE *A8(OXPOS),A0
|
|||
|
; SUBI 15,A0
|
|||
|
; MOVE A0,*A8(OXPOS)
|
|||
|
; JRUC X2
|
|||
|
FRBALL2L
|
|||
|
; MOVE *A8(OXPOS),A0
|
|||
|
; SUBI 15,A0
|
|||
|
; MOVE A0,*A8(OXPOS)
|
|||
|
;X2
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
ADD A0,A6
|
|||
|
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A7
|
|||
|
JAUC ARMOFF
|
|||
|
FRBALL1
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVE *A8(OYVEL),A7,L
|
|||
|
JAUC ARMOFF2
|
|||
|
FRBALL3
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
ADD A0,A6
|
|||
|
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A7
|
|||
|
JAUC ARMOFF2
|
|||
|
|
|||
|
THROWR
|
|||
|
CREATE 0,OHSND
|
|||
|
;CREATE SEVERAL ARMS BLOWING OFF BODY TO LEFT
|
|||
|
MOVK 9,A10
|
|||
|
TL2
|
|||
|
CREATE 0,SENDR
|
|||
|
SLEEP 10
|
|||
|
PUSH A10
|
|||
|
CALLA DOSHK0
|
|||
|
PULL A10
|
|||
|
DSJS A10,TL2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
DIE
|
|||
|
SENDR
|
|||
|
;BEGIN OBJ
|
|||
|
;ALIGN WITH OLD LEFT ARM
|
|||
|
;GIVE VELOCITIES
|
|||
|
;FRANIM
|
|||
|
;DELOBJ
|
|||
|
MOVI ST6,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCB
|
|||
|
MOVI ST6Z,A14
|
|||
|
NOMCB CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;ARMR
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALLR
|
|||
|
CREATE 0,FRBALL2R
|
|||
|
CREATE 0,FRBALL3
|
|||
|
CREATE 0,FRBALL2R
|
|||
|
|
|||
|
MOVI -020000H,B0
|
|||
|
MOVI 020000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVI FLIPR,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA3
|
|||
|
MOVI FLIPRZ,A9
|
|||
|
NOMCA3 MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL1 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL1
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
|
|||
|
ST5 ;ARM LEFT
|
|||
|
.LONG 0,0,MARM1
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -40000H,-10000H
|
|||
|
ST5Z ;ARM LEFT
|
|||
|
.LONG 0,0,MARM1Z
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -40000H,-10000H
|
|||
|
ST6 ;ARM RGT
|
|||
|
.LONG 0,0,MARM1
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 040000H,-10000H
|
|||
|
ST6Z ;ARM RGT
|
|||
|
.LONG 0,0,MARM1Z
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 040000H,-10000H
|
|||
|
STCR ;ARM RGT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 050000H,0H
|
|||
|
STCRZ ;ARM RGT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 050000H,0H
|
|||
|
TKPC1 ;
|
|||
|
.LONG 0,0,MTNK1A
|
|||
|
.WORD 328,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -50000H,0H
|
|||
|
TKPC2
|
|||
|
.LONG 0,0,TRD2
|
|||
|
.WORD 328,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -40000H,30000H
|
|||
|
TKPC3
|
|||
|
.LONG 0,0,BELLY2
|
|||
|
.WORD 328,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,38000H
|
|||
|
TKPC4
|
|||
|
.LONG 0,0,TRD2
|
|||
|
.WORD 328,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 40000H,30000H
|
|||
|
TKPC5
|
|||
|
.LONG 0,0,MTNK1A
|
|||
|
.WORD 328,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 50000H,0H
|
|||
|
|
|||
|
BLD ;ARM RGT
|
|||
|
.LONG 0,0,bldclt1
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,0H
|
|||
|
PRZBLD ;ARM RGT
|
|||
|
.LONG 0,0,CASH
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,0H
|
|||
|
KBM ;ARM RGT
|
|||
|
.LONG 0,0,KBM1
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,0H
|
|||
|
STCL ;ARM RGT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -050000H,0H
|
|||
|
STCLZ ;ARM RGT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -050000H,0H
|
|||
|
STCR2 ;ARM RGT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 050000H,0H
|
|||
|
STCR2Z ;ARM RGT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 228,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 050000H,0H
|
|||
|
STCL2 ;ARM RGT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -050000H,0H
|
|||
|
STCL2Z ;ARM RGT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 228,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG -050000H,0H
|
|||
|
STCH
|
|||
|
.LONG 0,0,MUG1
|
|||
|
.WORD 231,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,-20000H
|
|||
|
STCHZ
|
|||
|
.LONG 0,0,MUG1Z
|
|||
|
.WORD 231,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT
|
|||
|
.LONG 0H,-20000H
|
|||
|
|
|||
|
THROWC
|
|||
|
CREATE 0,BLOSND
|
|||
|
;CREATE SEVERAL CHESTS BLOWING OFF BODY TO LEFT AND RIGHT
|
|||
|
MOVK 15,A10
|
|||
|
TL22
|
|||
|
CREATE 0,SENDCL
|
|||
|
CREATE 0,SENDCR
|
|||
|
SLEEP 10
|
|||
|
MOVI EXP3HIA,A0
|
|||
|
CALLA ONESND
|
|||
|
PUSH A10
|
|||
|
CALLA DOSHK0
|
|||
|
PULL A10
|
|||
|
DSJ A10,TL22
|
|||
|
MOVI WPSSND,A0
|
|||
|
CALLA ONESND
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TRSL),A8,L
|
|||
|
MOVI TRS1A,A1
|
|||
|
MOVE @MCON,A4
|
|||
|
JRZ NOVV
|
|||
|
MOVI TRS1AZ,A1
|
|||
|
NOVV
|
|||
|
MOVE *A8(OFLAGS),A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
|
|||
|
MOVE @MUTPTR,A0,L
|
|||
|
MOVE *A0(TRSR),A8,L
|
|||
|
MOVI TRS1A,A1
|
|||
|
MOVE @MCON,A4
|
|||
|
JRZ NOBBA
|
|||
|
MOVI TRS1AZ,A1
|
|||
|
NOBBA
|
|||
|
MOVE *A8(OFLAGS),A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
DIE
|
|||
|
SENDCR
|
|||
|
MOVI STCR,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCC
|
|||
|
MOVI STCRZ,A14
|
|||
|
NOMCC CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;TRSR
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALL
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL3
|
|||
|
CREATE 0,FRBALL2
|
|||
|
|
|||
|
MOVI FLIPCR,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA4
|
|||
|
MOVI FLIPCRZ,A9
|
|||
|
NOMCA4 MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL2 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL2
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
SENDCL
|
|||
|
MOVI STCL,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCD
|
|||
|
MOVI STCLZ,A14
|
|||
|
NOMCD CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;TRSL
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALL
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL3
|
|||
|
CREATE 0,FRBALL2
|
|||
|
|
|||
|
MOVI FLIPCL,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA5
|
|||
|
MOVI FLIPCLZ,A9
|
|||
|
NOMCA5 MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL3 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL3
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
THROWH
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
MOVK 20,A10
|
|||
|
TL23
|
|||
|
CREATE 0,SENDH
|
|||
|
CREATE 0,SENDH
|
|||
|
CREATE 0,SENDH
|
|||
|
SLEEP 10
|
|||
|
PUSH A10
|
|||
|
CALLA DOSHK0
|
|||
|
PULL A10
|
|||
|
DSJ A10,TL23
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
DIE
|
|||
|
SENDH
|
|||
|
MOVI STCH,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCE
|
|||
|
MOVI STCHZ,A14
|
|||
|
NOMCE CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;MHEAD
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALL1
|
|||
|
CREATE 0,FRBALL3
|
|||
|
|
|||
|
MOVI -040000H,B0
|
|||
|
MOVI 040000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVI FLIPH,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA6
|
|||
|
MOVI FLIPHZ,A9
|
|||
|
NOMCA6 MOVK 1,A1
|
|||
|
MOVE A9,A10
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL4 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL4
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
THROWC2
|
|||
|
;COVER TANK WITH EXPLOSIONS, THEN BLOW OFF
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
|
|||
|
|
|||
|
;CREATE SEVERAL CHESTS BLOWING OFF BODY TO LEFT AND RIGHT
|
|||
|
CREATE 0,SENDCL2
|
|||
|
CREATE 0,SENDCR2
|
|||
|
CALLA DOSHK0
|
|||
|
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
CREATE 0,ADDPCS2
|
|||
|
SLEEP 60
|
|||
|
MOVI NOWAY,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
SENDCR2
|
|||
|
MOVI STCR2,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCF
|
|||
|
MOVI STCR2Z,A14
|
|||
|
NOMCF CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;TRSR
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALL
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL2
|
|||
|
|
|||
|
MOVI FLIPCR2,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA7
|
|||
|
MOVI FLIPCR2Z,A9
|
|||
|
NOMCA7
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL5 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL5
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
SENDCL2
|
|||
|
MOVI STCL2,A14
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCG
|
|||
|
MOVI STCL2Z,A14
|
|||
|
NOMCG CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A8(OPAL),A0,L
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE A0,*A8(OPAL),L
|
|||
|
MOVE A8,A9
|
|||
|
MOVE @MUTPTR,A8,L
|
|||
|
MOVE *A8(TNKL),A8,L ;TRSL
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE A9,A0
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
MOVE A9,A8
|
|||
|
CREATE 0,FRBALL
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL2
|
|||
|
CREATE 0,FRBALL2
|
|||
|
|
|||
|
MOVI FLIPCL2,A9
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCA8
|
|||
|
MOVI FLIPCL2Z,A9
|
|||
|
NOMCA8
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
STL6 SLEEP 40
|
|||
|
CALLA SCRTST
|
|||
|
JRZ STL6
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
TURN1 MOVI 30,A9
|
|||
|
TX1
|
|||
|
MOVE *A10(OFLAGS),A1
|
|||
|
ORI M_NOCOLL,A1
|
|||
|
MOVE A1,*A10(OFLAGS)
|
|||
|
MOVE A10,A0
|
|||
|
CALLA OBJOFF
|
|||
|
SLEEP 1
|
|||
|
DSJS A9,TX1
|
|||
|
DIE
|
|||
|
|
|||
|
SNKHIT
|
|||
|
MOVE *A0(OXVEL),A9,L
|
|||
|
MOVE *A0(OYVEL),A10,L
|
|||
|
CREATE 0,SHIFTIT
|
|||
|
JRUC NADA
|
|||
|
|
|||
|
SHIFTIT MOVK 4,A11
|
|||
|
SRA 2,A9
|
|||
|
SRA 2,A10
|
|||
|
SHF
|
|||
|
MOVE A9,*A8(OXVEL),L
|
|||
|
MOVE A10,*A8(OYVEL),L
|
|||
|
SLEEP 1
|
|||
|
DSJS A11,SHF
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVB *A0(SKHITS),A1
|
|||
|
INC A1
|
|||
|
MOVB A1,*A0(SKHITS)
|
|||
|
D DIE
|
|||
|
;
|
|||
|
EXP_BULL2
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
EXP_BULL
|
|||
|
MMTM SP,A1,A7
|
|||
|
;A8=BULLET TO BLOW UP
|
|||
|
CLR A1
|
|||
|
MOVE *A8(OID),A0
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBGRND,A0
|
|||
|
JRNE EXB
|
|||
|
;GRENADE TO EXPLODE
|
|||
|
MOVE A1,*A8(OID),W
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
CALLA GETA9
|
|||
|
CALLA KILL ;KILLS PROCESS IN A0
|
|||
|
MOVE A9,A0
|
|||
|
CALLA DELOBJ
|
|||
|
CREATE 0,GRNDEXP
|
|||
|
MMFM SP,A1,A7
|
|||
|
RETS
|
|||
|
;
|
|||
|
EXB
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBNOSTP,A0
|
|||
|
JRNE EXA
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A1,*A8(OYVEL),L
|
|||
|
EXA MOVE A1,*A8(OID)
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
CALLA KILL ;KILLS PROCESS IN A0
|
|||
|
CREATE 0,BULEXP
|
|||
|
MMFM SP,A1,A7
|
|||
|
RETS
|
|||
|
;
|
|||
|
GRNDEXP
|
|||
|
;GRENADE EXPLOSION!
|
|||
|
MOVI BOOM2,A9
|
|||
|
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA NEWV
|
|||
|
MOVE @YVEL,A0,L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE @XVEL,A0,L
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
JRUC BTR
|
|||
|
BULEXP
|
|||
|
MOVI BOOMN,A9 ;BOOM3 CHANGES PALETTE TO EXPLOSION!
|
|||
|
MOVI 160,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
BTR
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
SUBI 4,A0
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
SUBI 1,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
;
|
|||
|
BOOMN2:
|
|||
|
.LONG KBM1
|
|||
|
.WORD 4
|
|||
|
.LONG KBM2
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
BOOMN:
|
|||
|
.LONG KBM1
|
|||
|
.WORD 4
|
|||
|
.LONG KBM2
|
|||
|
.WORD 4
|
|||
|
.LONG KBM3
|
|||
|
.WORD 4
|
|||
|
.LONG KBM4
|
|||
|
.WORD 4
|
|||
|
.LONG KBM5
|
|||
|
.WORD 4
|
|||
|
.LONG KBM6
|
|||
|
.WORD 4
|
|||
|
.LONG KBM7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;
|
|||
|
MV_TNK
|
|||
|
;MOVE LOGIC
|
|||
|
;HANDLE MOVE DIR, SPEED, LENGTH OF MOVE
|
|||
|
;WHEN MOVE IS DONE, TANK STOPS FOR A SHORT TIME
|
|||
|
;THEN GET NEW ACTION FROM THE FOLLOWING:
|
|||
|
|
|||
|
;ACTION
|
|||
|
; 0=ROLLIN FROM TOP OF SCREEN
|
|||
|
; 1=MOVE DOWN SCREEN FOR X TIME
|
|||
|
; 2=MOVE UP SCREEN FOR X TIME
|
|||
|
; 3=POUND RIGHT/LFT ARM FAST AND SKIP TANK TO LEFT
|
|||
|
; 4=POUND RIGHT/LFT ARM FAST AND SKIP TANK TO RIGHT
|
|||
|
; 5=MOVE HEAD AROUND AND TRY TO LASER AT PLAYERS
|
|||
|
; 6=POUND LEFT ARM SLOW/SHAKE SCREEN ON IMPACT/SMILE FACE
|
|||
|
; 7=POUND RIGHT ARM SLOW/SHAKE SCREEN ON IMPACT/SMILE FACE
|
|||
|
; 8=DO MUSCLE POSE FOR A MOMENT THEN RELAX ARMS/SMILE FACE
|
|||
|
; 9=BOTH ARMS FLAILING WITH POUNDS INTO GROUND NO X MOVE
|
|||
|
; 10=STOP
|
|||
|
; 11=BRING RANDOM ARM UP TO MARM3 POSITION
|
|||
|
; 12=LUNGE BACKWARD INTO PLAYER
|
|||
|
; 13=LUNGE FORWARD INTO PLAYER
|
|||
|
|
|||
|
MOVB @MACTION,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI JPTBL,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
|
|||
|
;JPTBLF .LONG ROLLINF,MDNF,MUPF,FPNDRGTF,FPNDLFTF,MVHDF,PNDLFTF,PNDRGTF,POSEF
|
|||
|
; .LONG FLAILF,STOPF,FISTF,LUNGEF,LUNGEDF
|
|||
|
ACTIONS
|
|||
|
.BYTE 1,1,1,1,1,1
|
|||
|
.BYTE 2,2,2,2,2,2
|
|||
|
.BYTE 3,3,3,3,3,3,3
|
|||
|
.BYTE 4,4,4,4,4,4,4
|
|||
|
.BYTE 5,5,5,5,5,5,5,5
|
|||
|
.BYTE 6,6
|
|||
|
.BYTE 7,7
|
|||
|
.BYTE 8,8,8
|
|||
|
.BYTE 11,11,11,11 ;JUST IN CASE
|
|||
|
|
|||
|
.EVEN
|
|||
|
GET_ACT
|
|||
|
MOVI 800,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC NO1
|
|||
|
;MAYBE DO A LUNGE
|
|||
|
CALLA RANDPL
|
|||
|
MOVB @PLYRAD,A0
|
|||
|
ADDI PLYROBJS,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
MOVE *A0(OYPOS),A2
|
|||
|
MOVE *A0(OXPOS),A1
|
|||
|
;IF PLAYER IS DIRECTLY ABOVE MUTOID MAN, LUNGE BACKWARD!
|
|||
|
;IF PLAYER IS DIRECTLY BELOW MUTOID MAN, LUNGE BACKWARD!
|
|||
|
MOVE *A8(OXPOS),A3
|
|||
|
SUB A1,A3
|
|||
|
ABS A3
|
|||
|
CMPI 40,A3
|
|||
|
JRNC NO1
|
|||
|
;YES PLYR IS IN X RANGE
|
|||
|
MOVE *A8(OYPOS),A3
|
|||
|
ADDI 110,A3
|
|||
|
SUB A2,A3
|
|||
|
ABS A3
|
|||
|
CMPI 20,A3 ;10
|
|||
|
JRC HT2 ;BR=LUNGE DOWN SCREEN
|
|||
|
|
|||
|
MOVE *A8(OYPOS),A3
|
|||
|
CMP A2,A3
|
|||
|
JRNC HT
|
|||
|
SUB A2,A3
|
|||
|
ABS A3
|
|||
|
CMPI 60,A3 ;50
|
|||
|
JRNC NO1
|
|||
|
;YES A HIT!
|
|||
|
HT MOVK 12,A0
|
|||
|
JRUC GET_ST
|
|||
|
HT2 MOVK 13,A0
|
|||
|
JRUC GET_ST
|
|||
|
|
|||
|
NO1
|
|||
|
MOVI 1,B0
|
|||
|
MOVI 43,B1
|
|||
|
MOVE @DMGPNT,A0
|
|||
|
CMPI 4,A0
|
|||
|
JRNE NO1A
|
|||
|
MOVI 28,B1
|
|||
|
NO1A CALLA RANGRAND
|
|||
|
DEC A0
|
|||
|
SLL 3,A0
|
|||
|
ADDI ACTIONS,A0
|
|||
|
MOVB *A0,A0
|
|||
|
GET_ST
|
|||
|
MOVB @DMGPNT,A1
|
|||
|
CMPI 5,A1
|
|||
|
JRNZ HJ
|
|||
|
MOVB @TOTLZRS,A1
|
|||
|
JRNZ HJ
|
|||
|
;START LAZER RIGHT AWAY!
|
|||
|
MOVK 5,A0 ;STOP
|
|||
|
JRUC GETY
|
|||
|
HJ MOVB @SNKOUT,A1
|
|||
|
JRZ GETY
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVK 10,A0 ;STOP
|
|||
|
|
|||
|
;
|
|||
|
GETY MOVB A0,@MACTION
|
|||
|
SLL 5,A0
|
|||
|
ADDI JPTBLF,A0 ;WHAT TO DO FIRST
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
|
|||
|
LUNGEF
|
|||
|
MOVI UPYVEL2,A0
|
|||
|
JRUC MUPF2
|
|||
|
LUNGEDF
|
|||
|
MOVI DNYVEL2,A0
|
|||
|
JRUC MDNF2
|
|||
|
STOPF
|
|||
|
;DO NOTHING!
|
|||
|
CLR A0
|
|||
|
CALLA MOD_VELS
|
|||
|
MOVI 8,A0 ;10
|
|||
|
MOVE A0,@MTIME
|
|||
|
RETS
|
|||
|
|
|||
|
RORSND
|
|||
|
SLEEP 60
|
|||
|
MOVI AWWSND2,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 100
|
|||
|
MOVI AWWSND2,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 100
|
|||
|
MOVI EESND,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
|
|||
|
ROLLINF
|
|||
|
MOVK 1,A0 ;TELL TANK TO ROLL DOWN SCRN
|
|||
|
MOVB A0,@TRDSLP
|
|||
|
MOVB A0,@MACTION
|
|||
|
MOVI 0100,A0
|
|||
|
MOVE A0,@MEROAR ;TELL FACE TO ROAR
|
|||
|
;@MEROAR
|
|||
|
MOVI AWWSND2,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVI DNYVEL,A0
|
|||
|
CALLA MOD_VELS
|
|||
|
CREATE 0,RORSND
|
|||
|
MOVI 800,A0
|
|||
|
JRUC INH
|
|||
|
FPNDLFTF ;FAST PND LEFT FIRST
|
|||
|
;SETUP FRANIM PNTR
|
|||
|
;THIS ARM WILL POUND X TIMES AS WILL THE RIGHT ARM.
|
|||
|
;SKIP TANK TO LEFT EACH TIME X PIXELS
|
|||
|
CLR A0 ;LEFT
|
|||
|
MOVB A0,@MDIR ;MUTOID DIR
|
|||
|
ALL
|
|||
|
MOVI 10,B0
|
|||
|
MOVI 40,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,@UPDT
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@TIMES ;POUND TIMES
|
|||
|
MOVI FPNDRARM,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCB1
|
|||
|
MOVI FPNDRARMZ,A0
|
|||
|
NOMCB1 MOVE A0,@FPNDRP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PLS ;THIS WILL HANDLE BOTH ARMS
|
|||
|
MOVI FPNDLARM,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCB1A
|
|||
|
MOVI FPNDLARMZ,A0
|
|||
|
NOMCB1A
|
|||
|
MOVE A0,@FPNDLP,L
|
|||
|
CREATE 0,SHKIT
|
|||
|
RETS
|
|||
|
FPNDRGTF
|
|||
|
;THIS ARM WILL POUND X TIMES AS WILL THE RIGHT ARM.
|
|||
|
;SKIP TANK TO RIGHT EACH TIME X PIXELS
|
|||
|
MOVK 4,A0
|
|||
|
MOVB A0,@MACTION ;POUND LEFT
|
|||
|
MOVK 1,A0 ;RIGHT
|
|||
|
MOVB A0,@MDIR ;MUTOID DIR
|
|||
|
JRUC ALL
|
|||
|
|
|||
|
MVHDF
|
|||
|
;STOP TANK
|
|||
|
;TELL HEAD PROC TO AIM AND FIRE
|
|||
|
; MOVB @PCNT,A0
|
|||
|
; ANDI 07H,A0
|
|||
|
; JRZ MO0
|
|||
|
; MOVI CLSENMY|TYPTORSO,A0
|
|||
|
; MOVI 0FFFFH,A1
|
|||
|
; CALLA EXISTOBJ
|
|||
|
; JRNZ LOP
|
|||
|
;MO0
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
JRZ OKC
|
|||
|
JRNZ LOP2
|
|||
|
;ALREADY IN LAZER MODE
|
|||
|
;LOP
|
|||
|
MOVB @PCNT,A0
|
|||
|
LOP2 ANDI 1,A0
|
|||
|
INC A0
|
|||
|
MOVB A0,@MACTION
|
|||
|
CMPI 1,A0
|
|||
|
JREQ MDNF
|
|||
|
JRUC MUPF
|
|||
|
OKC CLR A0
|
|||
|
MOVB A0,@INAIR
|
|||
|
MOVI 500,A0
|
|||
|
MOVB @DMGPNT,A1
|
|||
|
CMPI 5,A1
|
|||
|
JRZ DA1
|
|||
|
|
|||
|
MOVI 5,B0
|
|||
|
MOVI 25,B1 ;20
|
|||
|
CALLA RANGRAND
|
|||
|
DA1 MOVB A0,@TOTLZRS ;TOTAL LAZER SHOTS HE WILL SHOOT
|
|||
|
RANDPL
|
|||
|
BTST 0,A0
|
|||
|
JRZ PLY1
|
|||
|
;WILL TRY TO LAZER PLAYER 2
|
|||
|
MOVE @PLYROBJS+32,A1,L
|
|||
|
JRZ PLY3
|
|||
|
PLY2 MOVK 32,A0
|
|||
|
MOVB A0,@PLYRAD
|
|||
|
RETS
|
|||
|
PLY1 MOVE @PLYROBJS,A1,L
|
|||
|
JRZ PLY2
|
|||
|
PLY3 CLR A0
|
|||
|
MOVB A0,@PLYRAD
|
|||
|
RETS
|
|||
|
PNDLFTF
|
|||
|
;SETUP FRANIM PNTR
|
|||
|
MOVI 1,B0
|
|||
|
MOVI 3,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVB A0,@TIMES
|
|||
|
SETL
|
|||
|
MOVI PNDLARM,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCB2
|
|||
|
MOVI PNDLARMZ,A0
|
|||
|
NOMCB2
|
|||
|
MOVE A0,@PNDLP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PLS
|
|||
|
CREATE 0,SHKIT
|
|||
|
RETS
|
|||
|
FISTF
|
|||
|
;BRING RANDOM ARM UP TO MARM3 POSITION
|
|||
|
;SETUP FRANIM PNTR
|
|||
|
CLR A0
|
|||
|
MOVE A0,@FISTRP,L
|
|||
|
MOVE A0,@FISTLP,L
|
|||
|
MOVB A0,@FISTDN
|
|||
|
MOVI 60,B0
|
|||
|
MOVI 300,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,@UPDT ;TIME ARM HELD IN AIR
|
|||
|
BTST 0,A0
|
|||
|
JRZ W1
|
|||
|
MOVI FISTR,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCC2
|
|||
|
MOVI FISTRZ,A0
|
|||
|
NOMCC2
|
|||
|
MOVE A0,@FISTRP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PRS
|
|||
|
RETS
|
|||
|
W1
|
|||
|
MOVI FISTL,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCC3
|
|||
|
MOVI FISTLZ,A0
|
|||
|
NOMCC3
|
|||
|
MOVE A0,@FISTLP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PLS
|
|||
|
RETS
|
|||
|
|
|||
|
PNDRGTF
|
|||
|
MOVI 1,B0
|
|||
|
MOVI 3,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVB A0,@TIMES
|
|||
|
SETR
|
|||
|
MOVI PNDRARM,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCC4
|
|||
|
MOVI PNDRARMZ,A0
|
|||
|
NOMCC4
|
|||
|
MOVE A0,@PNDRP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PRS
|
|||
|
CREATE 0,SHKIT
|
|||
|
RETS
|
|||
|
POSEF
|
|||
|
MOVI 2,B0
|
|||
|
MOVI 4,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVB A0,@TIMES
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
JRNZ PSET ;BR=LAZERS ARE ON
|
|||
|
MOVI 800,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC PSET
|
|||
|
|
|||
|
MOVI 30,B0
|
|||
|
MOVI 140,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,@MEROAR ;TIME TO ROAR
|
|||
|
CREATE 0,RORS
|
|||
|
|
|||
|
PSET
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCC1
|
|||
|
MOVI POSEMELZ,A0
|
|||
|
MOVE A0,@POSEL,L
|
|||
|
MOVI POSEMERZ,A0
|
|||
|
JRUC CONTA
|
|||
|
|
|||
|
NOMCC1 MOVI POSEMEL,A0
|
|||
|
MOVE A0,@POSEL,L
|
|||
|
MOVI POSEMER,A0
|
|||
|
CONTA MOVE A0,@POSER,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PLS
|
|||
|
RETS
|
|||
|
FLAILF
|
|||
|
RETS
|
|||
|
RORS SLEEP 40
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 60
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 80
|
|||
|
MOVI OUCH,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
MUPF
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ FLAILF
|
|||
|
;MAKE SURE ARMS ARE NOT ON GROUND
|
|||
|
MOVI UPYVEL,A0
|
|||
|
MUPF2 ;FAST UP SCREEN
|
|||
|
CALLA MOD_VELS
|
|||
|
CALLR CK_KNUCK
|
|||
|
CALLR GET_TIME
|
|||
|
MOVE A0,@MTIME
|
|||
|
;TELL LEGS TO ANIMATE BACKWARD
|
|||
|
MOVI BTRDSDLL,A0 ;TREAD SIDE LFT ANI LIST
|
|||
|
MOVE A0,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVI BTRDSDRL,A0 ;TREAD SIDE RGT ANI LIST
|
|||
|
MOVE A0,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVI BTRDFTLL,A0 ;TREAD FRONT ANI LIST LEFT
|
|||
|
MOVE A0,@TRDFTLP,L ;PNTR FOR TREAD FRONT LEFT LIST
|
|||
|
MOVI BTRDFTRL,A0 ;TREAD FRONT ANI LIST RIGHT
|
|||
|
MOVE A0,@TRDFTRP,L ;PNTR FOR TREAD FRONT RGT LIST
|
|||
|
;FRANIM LISTS ARE SET FOR TREADS
|
|||
|
RYT RETS
|
|||
|
MDNF
|
|||
|
;CHECK TO SEE IF DOWN IS OKAY!
|
|||
|
;MAKE SURE ARMS ARE NOT ON GROUND
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ RYT
|
|||
|
MOVI DNYVEL,A0
|
|||
|
MDNF2
|
|||
|
CALLA MOD_VELS
|
|||
|
CALLR CK_KNUCK
|
|||
|
CALLR GET_TIME
|
|||
|
INH MOVE A0,@MTIME
|
|||
|
;TELL LEGS TO ANIMATE FORWARD
|
|||
|
MOVI TRDSDLL,A0 ;TREAD SIDE LFT ANI LIST
|
|||
|
MOVE A0,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVI TRDSDRL,A0 ;TREAD SIDE RGT ANI LIST
|
|||
|
MOVE A0,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVI TRDFTLL,A0 ;TREAD FRONT ANI LIST LEFT
|
|||
|
MOVE A0,@TRDFTLP,L ;PNTR FOR TREAD FRONT LEFT LIST
|
|||
|
MOVI TRDFTRL,A0 ;TREAD FRONT ANI LIST RIGHT
|
|||
|
MOVE A0,@TRDFTRP,L ;PNTR FOR TREAD FRONT RGT LIST
|
|||
|
;FRANIM LISTS ARE SET FOR TREADS
|
|||
|
RETS
|
|||
|
CK_KNUCK
|
|||
|
MOVB @DMGPNT,A0
|
|||
|
JRZ CK1
|
|||
|
CMPI 1,A0
|
|||
|
JRZ MD2
|
|||
|
JRUC MD3
|
|||
|
CK1 MOVE *A13(ARML),A0,L
|
|||
|
MOVE *A0(OIMG),A0,L
|
|||
|
CMPI MARM6AZ,A0
|
|||
|
JRZ CONTZ
|
|||
|
CMPI MARM6A,A0
|
|||
|
JRNE MD2
|
|||
|
CONTZ
|
|||
|
;ARM IS ON GROUND-ANI IN REGULAR ARM
|
|||
|
PUSH A8
|
|||
|
MOVE *A13(ARML),A8,L
|
|||
|
; MOVI CLSENMY|TYPMUT|SUBARML,A3
|
|||
|
; MOVE A3,*A8(OID)
|
|||
|
MOVI MARM1,A1
|
|||
|
MOVE @MCON,A4
|
|||
|
JRZ NODD
|
|||
|
MOVI MARM1Z,A1
|
|||
|
NODD
|
|||
|
MOVI DMAWNZ+M_PIXSCAN,A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
PULL A8
|
|||
|
MD2
|
|||
|
MOVE *A13(ARMR),A0,L
|
|||
|
MOVE *A0(OIMG),A0,L
|
|||
|
CMPI MARM6AZ,A0
|
|||
|
JRZ CONTZ1
|
|||
|
CMPI MARM6A,A0
|
|||
|
JRNE MD3
|
|||
|
CONTZ1
|
|||
|
;ARM IS ON GROUND-ANI IN REGULAR ARM
|
|||
|
PUSH A8
|
|||
|
MOVE *A13(ARMR),A8,L
|
|||
|
; MOVI CLSENMY|TYPMUT|SUBARMR,A3
|
|||
|
; MOVE A3,*A8(OID)
|
|||
|
MOVI MARM1,A1
|
|||
|
MOVE @MCON,A4
|
|||
|
JRZ NOMCD1
|
|||
|
MOVI MARM1Z,A1
|
|||
|
NOMCD1
|
|||
|
MOVI DMAWNZ+M_FLIPH+M_PIXSCAN,A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
PULL A8
|
|||
|
MD3 RETS
|
|||
|
|
|||
|
GET_TIME
|
|||
|
;GET TIME TO TRAVEL IN DOWN DIRECTION
|
|||
|
MOVI 50,B0
|
|||
|
MOVI 100,B1
|
|||
|
CALLA RANGRAND
|
|||
|
RETS
|
|||
|
DO_TIME
|
|||
|
MOVE @MTIME,A0
|
|||
|
; ANDI 03FFH,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@MTIME
|
|||
|
JRN DT3
|
|||
|
RETS
|
|||
|
DT3 MOVK 1,A0
|
|||
|
MOVE A0,@MTIME
|
|||
|
RETS
|
|||
|
LUNGE
|
|||
|
JRUC MUP
|
|||
|
LUNGED
|
|||
|
JRUC MDN
|
|||
|
|
|||
|
STOP
|
|||
|
;TANK STOPPED
|
|||
|
CALLR DO_TIME
|
|||
|
JRNZ SKIPS
|
|||
|
;STOP TANK FOR A MOMENT
|
|||
|
CALLR GET_ACT
|
|||
|
RETS
|
|||
|
SKIPS
|
|||
|
RETS
|
|||
|
|
|||
|
FPNDLFT ;FAST PND LEFT $ RIGHT
|
|||
|
MOVB @TIMES,A0
|
|||
|
JRNZ STIL ;BR=STILL MOVING ARMS
|
|||
|
;POUND DONE, WE ARE UPDATING X
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
MOVE @WORLDTLX,A4,L
|
|||
|
SUB A4,A1
|
|||
|
MOVB @MDIR,A0
|
|||
|
JRNZ CKR
|
|||
|
;CK LEFT
|
|||
|
CMPI [115,0],A1 ;100,135
|
|||
|
;HAS IS HIT LEFT, STOP IT FROM MOVING MORE TO LEFT
|
|||
|
JRNC MOK
|
|||
|
JRUC RTS
|
|||
|
CKR CMPI [215,0],A1
|
|||
|
JRNC RTS
|
|||
|
;OKAY TO UPDATE X POS
|
|||
|
; MOVB @MDIR,A0
|
|||
|
MOK SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCD2
|
|||
|
ADDI ADSUZ,A0
|
|||
|
JRUC NOMCD3
|
|||
|
NOMCD2
|
|||
|
ADDI ADSU,A0
|
|||
|
NOMCD3 MOVE *A0,A0,L
|
|||
|
MOVE *A8(OXVAL),A1,L
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OXVAL),L
|
|||
|
RTS
|
|||
|
MOVE @UPDT,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@UPDT
|
|||
|
JRNZ RT
|
|||
|
MOVK 10,A0 ;STOP MUTOID MAN
|
|||
|
CALLR GET_ST
|
|||
|
RT
|
|||
|
MOVE @UPDT,A0
|
|||
|
ANDI 07H,A0
|
|||
|
SLL 4,A0
|
|||
|
ADDI YADJ,A0
|
|||
|
MOVE *A0,A0,W
|
|||
|
SLL 16,A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OYVAL),L
|
|||
|
RETS
|
|||
|
YADJ .WORD 3,-2,-4,4,-5,3,4,-3
|
|||
|
|
|||
|
STIL MOVB @PLS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PLS
|
|||
|
JRNZ PEX
|
|||
|
PUSH A8
|
|||
|
;DO RIGHT ARM
|
|||
|
MOVE @FPNDRP,A9,L
|
|||
|
MOVE *A13(ARMR),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@FPNDRP,L
|
|||
|
;DO LEFT
|
|||
|
MOVE @FPNDLP,A9,L
|
|||
|
MOVE *A13(ARML),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PLS
|
|||
|
MOVE A9,@FPNDLP,L
|
|||
|
JRNC PL8X ;BR=DO RIGHT ARM
|
|||
|
;
|
|||
|
;POUND BY BOTH ARMS IS DONE
|
|||
|
PULL A8
|
|||
|
MOVB @TIMES,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TIMES
|
|||
|
DOSHK0
|
|||
|
;START SHAKE
|
|||
|
MOVI MBANG,A0 ;MBANG
|
|||
|
CALLA ONESND
|
|||
|
MOVB @SHK_ON,A0
|
|||
|
JRNZ PEX
|
|||
|
MOVI 15,A10
|
|||
|
CALLA SHAKER
|
|||
|
RETS
|
|||
|
PL8X PULL A8
|
|||
|
PEX
|
|||
|
RETS
|
|||
|
;
|
|||
|
ADSU: .LONG -020000H,020000H ;3,3
|
|||
|
ADSUZ: .LONG -048000H,048000H ;3,3
|
|||
|
MVHD
|
|||
|
;LAZER MODE IS ON FOR HEAD. HEAD IS TRYING TO LASER PLAYERS TO DEATH
|
|||
|
;DELAY FOR AWHILE, THEN GET A NEW ACTION
|
|||
|
JRUC DN1
|
|||
|
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
JRZ DN1 ;NEW MODE
|
|||
|
RETS
|
|||
|
|
|||
|
PNDLFT ;POUND LEFT
|
|||
|
MOVB @PLS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PLS
|
|||
|
JRNZ PEXA
|
|||
|
PUSH A8
|
|||
|
;DO LEFT
|
|||
|
MOVE @PNDLP,A9,L
|
|||
|
MOVE *A13(ARML),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PLS
|
|||
|
MOVE A9,@PNDLP,L
|
|||
|
JRNC PL8XA
|
|||
|
|
|||
|
;POUND BY LEFT ARM IS DONE
|
|||
|
PULL A8
|
|||
|
|
|||
|
MOVB @TIMES,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TIMES
|
|||
|
JRZ DN1
|
|||
|
CALLA SETL
|
|||
|
RETS
|
|||
|
|
|||
|
DN1 MOVK 10,A0 ;STOP MUTOID MAN
|
|||
|
CALLR GET_ST
|
|||
|
RETS
|
|||
|
PL8XA PULL A8
|
|||
|
PEXA
|
|||
|
RETS
|
|||
|
PNDRGT
|
|||
|
MOVB @PRS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PRS
|
|||
|
JRNZ PEXB
|
|||
|
PUSH A8
|
|||
|
;DO RGT
|
|||
|
MOVE @PNDRP,A9,L
|
|||
|
MOVE *A13(ARMR),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PRS
|
|||
|
MOVE A9,@PNDRP,L
|
|||
|
JRNC PL8XB
|
|||
|
;POUND BY RGT ARM IS DONE
|
|||
|
PULL A8
|
|||
|
|
|||
|
MOVB @TIMES,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TIMES
|
|||
|
JRZ DN1B
|
|||
|
CALLA SETR
|
|||
|
RETS
|
|||
|
|
|||
|
DN1B MOVK 10,A0 ;STOP MUTOID MAN
|
|||
|
CALLR GET_ST
|
|||
|
RETS
|
|||
|
PL8XB PULL A8
|
|||
|
PEXB
|
|||
|
RETS
|
|||
|
|
|||
|
SHKIT
|
|||
|
;SPAWNED FROM FRANIM
|
|||
|
;START SHAKE
|
|||
|
;TURN ON ID THAT SAYS ARM CAN KILL PLAYERS!
|
|||
|
SLEEP 35
|
|||
|
MOVI MBANG,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVB @SHK_ON,A0
|
|||
|
JRNZ PXD
|
|||
|
MOVI 10,A10
|
|||
|
CALLA SHAKER
|
|||
|
PXD DIE
|
|||
|
|
|||
|
FIST
|
|||
|
MOVE @FISTLP,A0,L
|
|||
|
JRNZ DLFT ;BR=LEFT FIST INTO AIR
|
|||
|
;RIGHT FIST INTO AIR
|
|||
|
MOVB @FISTDN,A0
|
|||
|
JRZ GUP
|
|||
|
;FIST IN AIR
|
|||
|
MOVE @UPDT,A0
|
|||
|
JREQ GUP
|
|||
|
DEC A0
|
|||
|
MOVE A0,@UPDT
|
|||
|
JRNZ NY
|
|||
|
;BRING IT DOWN
|
|||
|
MOVI FISTR2,A0 ;COME DOWN LIST
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCE1
|
|||
|
MOVI FISTR2Z,A0 ;COME DOWN LIST
|
|||
|
NOMCE1
|
|||
|
MOVE A0,@FISTRP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PRS
|
|||
|
|
|||
|
GUP MOVB @PRS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PRS
|
|||
|
JRNZ NY
|
|||
|
|
|||
|
PUSH A8
|
|||
|
MOVE @FISTRP,A9,L
|
|||
|
MOVE *A13(ARMR),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PRS
|
|||
|
MOVE A9,@FISTRP,L
|
|||
|
JRNC NY0
|
|||
|
;FIST UP INTO AIR
|
|||
|
MOVB @FISTDN,A0
|
|||
|
JRNZ ITDWN
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@FISTDN ;SET FLAG IT IS UP
|
|||
|
|
|||
|
NY0 PULL A8
|
|||
|
NY RETS
|
|||
|
ITDWN
|
|||
|
;FIST HAS COME BACK DOWN
|
|||
|
PULL A8
|
|||
|
JRUC DN1C
|
|||
|
DLFT
|
|||
|
;LEFT FIST INTO AIR
|
|||
|
MOVB @FISTDN,A0
|
|||
|
JRZ GUPB
|
|||
|
;FIST IN AIR
|
|||
|
MOVE @UPDT,A0
|
|||
|
JREQ GUPB
|
|||
|
DEC A0
|
|||
|
MOVE A0,@UPDT
|
|||
|
JRNZ NYB
|
|||
|
;BRING IT DOWN
|
|||
|
MOVI FISTL2,A0 ;COME DOWN LIST
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMCB3
|
|||
|
MOVI FISTL2Z,A0 ;COME DOWN LIST
|
|||
|
NOMCB3
|
|||
|
MOVE A0,@FISTLP,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@PLS
|
|||
|
|
|||
|
GUPB MOVB @PLS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PLS
|
|||
|
JRNZ NYB
|
|||
|
|
|||
|
PUSH A8
|
|||
|
MOVE @FISTLP,A9,L
|
|||
|
MOVE *A13(ARML),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PLS
|
|||
|
MOVE A9,@FISTLP,L
|
|||
|
JRNC NY0B
|
|||
|
;FIST UP INTO AIR
|
|||
|
MOVB @FISTDN,A0
|
|||
|
JRNZ ITDWN
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@FISTDN ;SET FLAG IT IS UP
|
|||
|
|
|||
|
NY0B PULL A8
|
|||
|
NYB RETS
|
|||
|
|
|||
|
POSE
|
|||
|
MOVB @PLS,A0 ;POUND LEFT SLEEP
|
|||
|
DEC A0
|
|||
|
MOVB A0,@PLS
|
|||
|
JRNZ TY1
|
|||
|
PUSH A8
|
|||
|
;DO RGT ARM FIRST
|
|||
|
MOVE @POSER,A9,L
|
|||
|
MOVE *A13(ARMR),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@POSER,L
|
|||
|
;DO LFT
|
|||
|
MOVE @POSEL,A9,L
|
|||
|
MOVE *A13(ARML),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVB A0,@PLS
|
|||
|
MOVE A9,@POSEL,L
|
|||
|
JRNC TY2
|
|||
|
;POSE ARMS DONE
|
|||
|
PULL A8
|
|||
|
MOVB @TIMES,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TIMES
|
|||
|
JRZ DN1C
|
|||
|
CALLA PSET
|
|||
|
RETS
|
|||
|
|
|||
|
TY2 PULL A8
|
|||
|
TY1
|
|||
|
RETS
|
|||
|
|
|||
|
DN1C MOVK 10,A0 ;STOP MUTOID MAN
|
|||
|
CALLR GET_ST
|
|||
|
RETS
|
|||
|
FLAIL
|
|||
|
RETS
|
|||
|
MUP
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ FLAIL
|
|||
|
;TANK MOVING UP FOR X TIME
|
|||
|
CALLR DO_TIME
|
|||
|
JRNZ SKIPU
|
|||
|
;TIME TO STOP AND GET NEW ACTION
|
|||
|
;STOP TANK FOR A MOMENT
|
|||
|
|
|||
|
MOVK 10,A0
|
|||
|
CALLR GET_ST
|
|||
|
RETS
|
|||
|
SKIPU
|
|||
|
;FLOATING UP
|
|||
|
;CHECK FOR TOP BOUNDARY
|
|||
|
;FRANIM 4 TREADS
|
|||
|
MOVE *A8(OYVAL),A2,L
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A2
|
|||
|
CMPI [40,0],A2
|
|||
|
JRNC OKU
|
|||
|
;HAS HIT TOP, STOP IT
|
|||
|
;MAKE ALL TREADS STOP ON 1 CORRECT VIEW!
|
|||
|
MOVK 1,A0
|
|||
|
JRUC GET_ST
|
|||
|
|
|||
|
OKU MOVB @TRDSLP,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TRDSLP
|
|||
|
JRNZ SKP1U
|
|||
|
;TIME TO UPDATE ALL TREADS!
|
|||
|
|
|||
|
PUSH A8
|
|||
|
MOVE @TRDSDLP,A9,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVE *A13(TRDLS),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVB A0,@TRDSLP ;USE SLEEP FROM FIRST TREAD FOR ALL
|
|||
|
JRNC NX1U
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@TRDSLP
|
|||
|
MOVI BTRDSDLL,A0 ;TREAD SIDE LFT ANI LIST
|
|||
|
MOVE A0,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
NX1U MOVE @TRDSDRP,A9,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVE *A13(TRDRS),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
JRNC NX2U
|
|||
|
MOVI BTRDSDRL,A0 ;TREAD SIDE RGT ANI LIST
|
|||
|
MOVE A0,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
NX2U MOVE @TRDFTLP,A9,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVE *A13(TRDLF),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDFTLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
JRNC NX3U
|
|||
|
MOVI BTRDFTLL,A0 ;TREAD FRONT ANI LIST LEFT
|
|||
|
MOVE A0,@TRDFTLP,L ;PNTR FOR TREAD FRONT LEFT LIST
|
|||
|
NX3U MOVE @TRDFTRP,A9,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVE *A13(TRDRF),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDFTRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
JRNC NX4U
|
|||
|
MOVI BTRDFTRL,A0 ;TREAD FRONT ANI LIST RIGHT
|
|||
|
MOVE A0,@TRDFTRP,L ;PNTR FOR TREAD FRONT RGT LIST
|
|||
|
NX4U PULL A8
|
|||
|
SKP1U
|
|||
|
RETS
|
|||
|
MDN
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ SKP1U
|
|||
|
;TANK MOVING DOWN FOR X TIME
|
|||
|
CALLR DO_TIME
|
|||
|
JRNZ SKIP
|
|||
|
;TIME TO STOP AND GET NEW ACTION
|
|||
|
;STOP TANK FOR A MOMENT
|
|||
|
MOVK 10,A0
|
|||
|
CALLR GET_ST
|
|||
|
RETS
|
|||
|
SKIP
|
|||
|
;FLOATING DOWN
|
|||
|
;CHECK FOR BOTTOM BOUNDARY
|
|||
|
;FRANIM 4 TREADS
|
|||
|
CMPI 650,A0 ;IF A0>700 THEN TANK MUST BE ROLLING IN
|
|||
|
JRNC OK
|
|||
|
MOVE *A8(OYVAL),A2,L
|
|||
|
MOVE @WORLDTLY,A4,L
|
|||
|
SUB A4,A2
|
|||
|
CMPI [170,0],A2 ;140,160
|
|||
|
JRC OK
|
|||
|
;HAS HIT BOTTOM, STOP IT
|
|||
|
;MAKE ALL TREADS STOP ON 1 CORRECT VIEW!
|
|||
|
MOVK 2,A0
|
|||
|
JRUC GET_ST
|
|||
|
|
|||
|
OK MOVB @TRDSLP,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TRDSLP
|
|||
|
JRNZ SKP1
|
|||
|
;TIME TO UPDATE ALL TREADS!
|
|||
|
|
|||
|
PUSH A8
|
|||
|
MOVE @TRDSDLP,A9,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVE *A13(TRDLS),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVB A0,@TRDSLP ;USE SLEEP FROM FIRST TREAD FOR ALL
|
|||
|
JRNC NX1
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@TRDSLP
|
|||
|
MOVI TRDSDLL,A0 ;TREAD SIDE LFT ANI LIST
|
|||
|
MOVE A0,@TRDSDLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
NX1 MOVE @TRDSDRP,A9,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVE *A13(TRDRS),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
JRNC NX2
|
|||
|
MOVI TRDSDRL,A0 ;TREAD SIDE RGT ANI LIST
|
|||
|
MOVE A0,@TRDSDRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
NX2 MOVE @TRDFTLP,A9,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
MOVE *A13(TRDLF),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDFTLP,L ;PNTR FOR TREAD SIDE LEFT LIST
|
|||
|
JRNC NX3
|
|||
|
MOVI TRDFTLL,A0 ;TREAD FRONT ANI LIST LEFT
|
|||
|
MOVE A0,@TRDFTLP,L ;PNTR FOR TREAD FRONT LEFT LIST
|
|||
|
NX3 MOVE @TRDFTRP,A9,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
MOVE *A13(TRDRF),A8,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,@TRDFTRP,L ;PNTR FOR TREAD SIDE RGT LIST
|
|||
|
JRNC NX4
|
|||
|
MOVI TRDFTRL,A0 ;TREAD FRONT ANI LIST RIGHT
|
|||
|
MOVE A0,@TRDFTRP,L ;PNTR FOR TREAD FRONT RGT LIST
|
|||
|
NX4 PULL A8
|
|||
|
SKP1
|
|||
|
RETS
|
|||
|
|
|||
|
|
|||
|
EYES
|
|||
|
;A11=HEAD POINTER
|
|||
|
;A9=HEADV
|
|||
|
;THIS WILL CREATE X NEW PROCESSES OF PROPER IMAGE STARTING AT EYES
|
|||
|
;AND ANGLING DOWN TOWARD THE GROUND. EACH IMAGE WILL ACT IDENTICALLY
|
|||
|
; MOVK 2,A8
|
|||
|
; MOVB @PCNT,A0
|
|||
|
; BTST 0,A0
|
|||
|
; JRZ ET1
|
|||
|
; MOVK 4,A8
|
|||
|
;ET1
|
|||
|
MOVI LAZSND,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVK 9,A10
|
|||
|
ELP
|
|||
|
CREATE BONPID,BOLT
|
|||
|
SLEEP 2
|
|||
|
DSJS A10,ELP
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
ANDI 07FH,A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,@TOTLZRS
|
|||
|
DIE
|
|||
|
BMLIST .LONG BM6,BM7,BM8,BM9,BM10,BM11,BM12
|
|||
|
BMLISTZ .LONG BM6Z,BM7Z,BM8Z,BM9Z,BM10Z,BM11Z,BM12Z
|
|||
|
YOFS: .WORD 0CH,0BH,0FH,0FH,0FH,0BH,0CH
|
|||
|
YOFSZ: .WORD 0CH+6,0BH+6,0FH+6,0FH+6,0FH+6,0BH+6,0CH+6
|
|||
|
XOFS: .WORD 011H,011H,09H,06H,-3,-9,-8
|
|||
|
BLTX: .WORD 12,11,4,0,-4,-11,-12
|
|||
|
BLTY: .WORD 6,11,15,15,15,11,6
|
|||
|
BOLT:
|
|||
|
;TURN ON NEW IMAGE
|
|||
|
;A9= 6-12
|
|||
|
; MOVB A8,*A13(SLP)
|
|||
|
|
|||
|
SUBI 6,A9
|
|||
|
MOVE A9,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ MCON2
|
|||
|
ADDI BMLISTZ,A0
|
|||
|
JRUC MCON3
|
|||
|
MCON2 ADDI BMLIST,A0
|
|||
|
MCON3 MOVE *A0,A14,L
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE *A11(OYPOS),A0
|
|||
|
MOVE *A11(OXPOS),A1
|
|||
|
SLL 4,A9
|
|||
|
MOVI XOFS,A2
|
|||
|
ADD A9,A2
|
|||
|
MOVE *A2,A2,W
|
|||
|
ADD A2,A1
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
|
|||
|
MOVI YOFS,A2
|
|||
|
MOVE @MCON,A3
|
|||
|
JRZ NOMCF1
|
|||
|
MOVI YOFSZ,A2
|
|||
|
NOMCF1
|
|||
|
ADD A9,A2
|
|||
|
MOVE *A2,A2,W
|
|||
|
ADD A2,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,*A13(PCS)
|
|||
|
|
|||
|
|
|||
|
BOLTT
|
|||
|
; MOVB *A13(SLP),A0
|
|||
|
MOVK 2,A0
|
|||
|
; MOVE @MCON,A1
|
|||
|
; JRZ MCON4
|
|||
|
; MOVK 1,A0
|
|||
|
;MCON4
|
|||
|
CALLA PRCSLP
|
|||
|
; SLEEP 4
|
|||
|
MOVI BLTX,A0
|
|||
|
ADD A9,A0
|
|||
|
MOVE *A0,A0,W
|
|||
|
MOVE *A8(OXPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
|
|||
|
MOVI BLTY,A0
|
|||
|
ADD A9,A0
|
|||
|
MOVE *A0,A0,W
|
|||
|
MOVE *A8(OYPOS),A1
|
|||
|
ADD A0,A1
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
|
|||
|
MOVB *A13(PCS),A0
|
|||
|
DEC A0
|
|||
|
MOVB A0,*A13(PCS)
|
|||
|
JRZ ENDIT ;BOLTT
|
|||
|
CMPI 1,A0
|
|||
|
JRNE BOLTT
|
|||
|
;SET Z LOW
|
|||
|
MOVI 100,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
JRNE BOLTT
|
|||
|
ENDIT
|
|||
|
CMPI 3,A10
|
|||
|
JRLO OP
|
|||
|
MOVB @PCNT,A0
|
|||
|
ANDI 03H,A0
|
|||
|
JRZ OP
|
|||
|
|
|||
|
MOVI CLSENMY|TYPORBL,A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
OP
|
|||
|
MOVI 1,B0
|
|||
|
MOVI 8,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SUBI 4,A0
|
|||
|
MOVE *A8(OYPOS),A1
|
|||
|
SUB A0,A1
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
|
|||
|
MOVI 1,B0
|
|||
|
MOVI 8,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SUBI 4,A0
|
|||
|
MOVE *A8(OXPOS),A1
|
|||
|
SUB A0,A1
|
|||
|
MOVE A1,*A8(OXPOS)
|
|||
|
;HAVE MOVED BOLT ENOUGH TIMES
|
|||
|
MOVI LZDIE,A9
|
|||
|
MOVE @MCON,A0
|
|||
|
JRZ NOMC1
|
|||
|
MOVI LZDIEZ,A9
|
|||
|
NOMC1
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
|
|||
|
CMPI 1,A10
|
|||
|
JRNE L1
|
|||
|
;THIS IS LAST BEAM OF LAZER
|
|||
|
CLR A0
|
|||
|
MOVB A0,@INAIR
|
|||
|
|
|||
|
;LAZER FIZZLED OUT
|
|||
|
L1 DIE
|
|||
|
|
|||
|
LZDIE
|
|||
|
.LONG BEAMH1
|
|||
|
.WORD 04
|
|||
|
.LONG BEAMH2
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
LZDIEZ
|
|||
|
.LONG BEAMH1Z
|
|||
|
.WORD 04
|
|||
|
.LONG BEAMH2Z
|
|||
|
.WORD 04
|
|||
|
.LONG BEAMH3Z
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DO_HEAD
|
|||
|
MOVE A9,A8
|
|||
|
;SPIN HEAD AROUND
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
;
|
|||
|
HEADT
|
|||
|
MOVE @OOF,A0
|
|||
|
JRZ NOL2
|
|||
|
;HEAD IS OOF VIEW!
|
|||
|
SLEEP 1
|
|||
|
MOVB @HEADV,A0
|
|||
|
CMPI 16,A0
|
|||
|
JRZ PRR2O
|
|||
|
; CMPI 9,A0
|
|||
|
; JREQ PRRO ;PASTE ROAR
|
|||
|
; MOVK 9,A0
|
|||
|
; MOVB A0,@SKVW
|
|||
|
; JRUC NOR2
|
|||
|
;PRRO
|
|||
|
MOVI 16,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
PRR2O MOVE @OOF,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@OOF
|
|||
|
JRNZ KP_GO
|
|||
|
|
|||
|
MOVB A0,@SKVW
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
CREATE 0,DOCHK
|
|||
|
JRUC KP_GO
|
|||
|
DOCHK
|
|||
|
SLEEP 30
|
|||
|
MOVI 20,A0
|
|||
|
MOVE A0,@CHEEK
|
|||
|
|
|||
|
MOVI WPSSND,A0
|
|||
|
CALLA ONESND
|
|||
|
|
|||
|
MOVI 650,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRC ADAD
|
|||
|
|
|||
|
MOVI 1,A0
|
|||
|
MOVB A0,@POPFLG
|
|||
|
ADAD
|
|||
|
DIE
|
|||
|
|
|||
|
CHKVW: .BYTE 11,9,7,9
|
|||
|
POPTBL .BYTE 0,2,4,6,8,10,12,14,16
|
|||
|
.BYTE 0,0,0,0,0,0,0,0,0,0
|
|||
|
.BYTE 0,0,0,0,0,16,14,12,10,8
|
|||
|
.BYTE 6,4,2,0,0FFH
|
|||
|
.EVEN
|
|||
|
NOL2
|
|||
|
MOVB @POPFLG,A0
|
|||
|
JRZ NOL2B
|
|||
|
CMPI 33,A0
|
|||
|
JRNC CLRIT
|
|||
|
INC A0
|
|||
|
MOVB A0,@POPFLG
|
|||
|
SLL 3,A0
|
|||
|
ADDI POPTBL,A0
|
|||
|
MOVB *A0,A0
|
|||
|
JRNN NT6
|
|||
|
CLRIT
|
|||
|
CLR A0
|
|||
|
MOVB A0,@POPFLG
|
|||
|
NT6 MOVB A0,@POP
|
|||
|
SLEEP 3
|
|||
|
|
|||
|
NOL2B
|
|||
|
MOVE @CHEEK,A0
|
|||
|
JRZ NOL2A
|
|||
|
;HEAD IS CHEEKS VIEW!
|
|||
|
ANDI 03,A0
|
|||
|
SLL 3,A0
|
|||
|
ADDI CHKVW,A0
|
|||
|
MOVB *A0,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
PRR2C MOVE @CHEEK,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@CHEEK
|
|||
|
JRNZ KP_GO
|
|||
|
;
|
|||
|
MOVB A0,@SKVW
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
MOVI 20,A0
|
|||
|
MOVE A0,@MEMAD
|
|||
|
MOVI AWWSND,A0
|
|||
|
CALLA ONESND
|
|||
|
JRUC KP_GO
|
|||
|
|
|||
|
NOL2A
|
|||
|
;IS HEAD IN LAZER MODE?
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
JRZ NOL
|
|||
|
;YES IN LAZER MODE
|
|||
|
;AIM AT PLAYER
|
|||
|
;SHOOT/DEC TOTLZR
|
|||
|
MOVB @INAIR,A0
|
|||
|
JRNZ KP_GO
|
|||
|
;NO LASER IN AIR
|
|||
|
CALLR INSK
|
|||
|
;A MATCH AFTER SEEK?
|
|||
|
;YES, THEN FIRE
|
|||
|
MOVB @SKVW,A0
|
|||
|
;THIS HEAD HAS A PLAN
|
|||
|
;WHICH DIR
|
|||
|
JREQ SHOOT
|
|||
|
MOVB @HEADV,A1 ;CURRENT VIEW
|
|||
|
CMP A0,A1
|
|||
|
JREQ SHOOT
|
|||
|
|
|||
|
JRC INCB ;INC TO GET THERE
|
|||
|
;DEC HEADV TO GET TO SKVW!
|
|||
|
DEC A1
|
|||
|
JRUC GOALB
|
|||
|
INCB INC A1
|
|||
|
GOALB MOVB A1,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
|
|||
|
MOVB @HEADV,A1
|
|||
|
MOVB @SKVW,A0
|
|||
|
CMP A0,A1
|
|||
|
JRNE KP_GO
|
|||
|
|
|||
|
;I HAVE REACHED MY GOAL
|
|||
|
SHOOT
|
|||
|
CLR A0
|
|||
|
MOVB A0,@SKVW ;STOP HEAD FROM MOVING
|
|||
|
;PAUSE FOR AWHILE
|
|||
|
;IF YES, STOP AND SHOOT?
|
|||
|
;IF NO, LOOP BACK AROUND
|
|||
|
MOVB @HEADV,A9
|
|||
|
MOVB A9,@INAIR
|
|||
|
MOVE A8,A11 ;PASS ALONG MY HEAD PTR
|
|||
|
MOVB @DMGPNT,A0
|
|||
|
CMPI 4,A0
|
|||
|
JRZ KP_GO
|
|||
|
CREATE BONPID,EYES
|
|||
|
JRUC KP_GO
|
|||
|
;
|
|||
|
NOL
|
|||
|
|
|||
|
;IS HEAD ROARING
|
|||
|
MOVE @MEMAD,A0
|
|||
|
JRZ NOR22
|
|||
|
;YES A MAD
|
|||
|
SLEEP 1
|
|||
|
MOVB @HEADV,A0
|
|||
|
CMPI 15,A0
|
|||
|
JRZ PRR2X
|
|||
|
CMPI 9,A0
|
|||
|
JREQ PRRX ;PASTE ROAR
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@SKVW
|
|||
|
JRUC NOR2
|
|||
|
PRRX
|
|||
|
MOVK 15,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
PRR2X MOVE @MEMAD,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@MEMAD
|
|||
|
JRNZ KP_GO
|
|||
|
;
|
|||
|
MOVB A0,@SKVW
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
JRUC KP_GO
|
|||
|
|
|||
|
|
|||
|
NOR22
|
|||
|
;IS HEAD ROARING
|
|||
|
MOVE @MEROAR,A0
|
|||
|
JRZ NOR
|
|||
|
;YES A ROAR
|
|||
|
SLEEP 1
|
|||
|
MOVB @HEADV,A0
|
|||
|
JRZ PRR2
|
|||
|
CMPI 9,A0
|
|||
|
JREQ PRR ;PASTE ROAR
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@SKVW
|
|||
|
JRUC NOR2
|
|||
|
PRR
|
|||
|
CLR A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
PRR2 MOVE @MEROAR,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@MEROAR
|
|||
|
JRNZ KP_GO
|
|||
|
;
|
|||
|
MOVB A0,@SKVW
|
|||
|
MOVK 9,A0
|
|||
|
MOVB A0,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
JRUC KP_GO
|
|||
|
|
|||
|
NOR
|
|||
|
;IS HEAD SEEKING?
|
|||
|
MOVB @SKVW,A0 ;0 IF NO SEEK, OTHERWISE THE SEEKED VIEW!
|
|||
|
JRNZ NOR2
|
|||
|
CALLA SEEK
|
|||
|
JRUC KP_GO
|
|||
|
; JRZ SEEK ;GO SEE IF I SHOULD SEEK
|
|||
|
;THIS HEAD HAS A PLAN
|
|||
|
;WHICH DIR
|
|||
|
NOR2 MOVB @HEADV,A1 ;CURRENT VIEW
|
|||
|
CMP A0,A1
|
|||
|
JRC INCI ;INC TO GET THERE
|
|||
|
;DEC HEADV TO GET TO SKVW!
|
|||
|
DEC A1
|
|||
|
JRUC GOAL
|
|||
|
INCI INC A1
|
|||
|
GOAL MOVB A1,@HEADV
|
|||
|
CALLA ANIHEAD
|
|||
|
MOVB @HEADV,A1
|
|||
|
MOVB @SKVW,A0
|
|||
|
CMP A0,A1
|
|||
|
JRNE KP_GO
|
|||
|
;I HAVE REACHED MY GOAL
|
|||
|
CLR A0
|
|||
|
MOVB A0,@SKVW ;STOP HEAD FROM MOVING
|
|||
|
;PAUSE FOR AWHILE
|
|||
|
;IF YES, STOP AND SHOOT?
|
|||
|
;IF NO, LOOP BACK AROUND
|
|||
|
SLEEP 30 ;60
|
|||
|
KP_GO
|
|||
|
SLEEP 1 ;1
|
|||
|
JRUC HEADT
|
|||
|
|
|||
|
SEEK
|
|||
|
MOVE @STATUS,A4
|
|||
|
CMPI 3,A4
|
|||
|
JREQ SK2
|
|||
|
|
|||
|
MOVI 20,A0 ;100
|
|||
|
CALLA RANDPER
|
|||
|
JRC INSK
|
|||
|
RETS
|
|||
|
|
|||
|
INSK
|
|||
|
MOVB @SCNTR,A3
|
|||
|
INC A3
|
|||
|
MOVB A3,@SCNTR
|
|||
|
ANDI 01,A3
|
|||
|
SLL 5,A3
|
|||
|
|
|||
|
MOVB @TOTLZRS,A0
|
|||
|
JRZ IN1
|
|||
|
;LAZERS ON, DO NOT CHANGE WHO I AM LOOKING AT
|
|||
|
MOVI PLYROBJS,A2
|
|||
|
MOVB @PLYRAD,A3 ;0 OR 32 - EYES DECIDED WHOM TO LAZER
|
|||
|
ADD A3,A2
|
|||
|
MOVE *A2,A0,L
|
|||
|
;IF THIS PLAYER HAS JUST DIED, LAZERS WILL STILL BE AIMED AT HIM!
|
|||
|
JRUC PX
|
|||
|
|
|||
|
IN1 XORI 32,A3
|
|||
|
ADDI PLYROBJS,A3
|
|||
|
MOVE *A3,A0,L
|
|||
|
JRZ QZP
|
|||
|
JRUC PX
|
|||
|
|
|||
|
SK2 MOVI 40,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRC J8
|
|||
|
RETS
|
|||
|
|
|||
|
J8
|
|||
|
;SEEK PLAYER
|
|||
|
MOVB @SCNTR,A3
|
|||
|
INC A3
|
|||
|
MOVB A3,@SCNTR
|
|||
|
ANDI 01,A3
|
|||
|
SLL 5,A3
|
|||
|
MOVE A3,A2
|
|||
|
ADDI PLYROBJS,A2
|
|||
|
MOVE *A2,A0,L ;GET FIRST ENTRY
|
|||
|
JRNZ PX
|
|||
|
XORI 32,A3
|
|||
|
ADDI PLYROBJS,A3
|
|||
|
MOVE *A3,A0,L
|
|||
|
JRNE PX
|
|||
|
|
|||
|
QZP MOVI 600,A0 ;800
|
|||
|
CALLA RANDPER
|
|||
|
JRC AG1
|
|||
|
MOVI 0,B0
|
|||
|
MOVI 0FFFFFFFFH,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A1
|
|||
|
MOVI 0,B0
|
|||
|
MOVI 0FFFFFFFFH,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A2
|
|||
|
JRUC PXC
|
|||
|
AG1 MOVK 6,A1
|
|||
|
MOVI 500,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRC AG
|
|||
|
MOVK 12,A1
|
|||
|
AG
|
|||
|
MOVE A1,A0
|
|||
|
JRUC OKJ
|
|||
|
PX CALLA XYSKOBJ
|
|||
|
MOVE A5,A1
|
|||
|
MOVE A6,A2
|
|||
|
PXC CALLA GETHDR
|
|||
|
SLL 3,A0
|
|||
|
ADDI CVRT,A0
|
|||
|
MOVB *A0,A0
|
|||
|
;DIR TO FACE IN A0
|
|||
|
CMPI 6,A0
|
|||
|
JRNC OKJ1
|
|||
|
MOVK 6,A0
|
|||
|
JRUC OKJ2
|
|||
|
OKJ1 CMPI 13,A0
|
|||
|
JRC OKJ
|
|||
|
MOVK 12,A0
|
|||
|
OKJ
|
|||
|
OKJ2 MOVB A0,@SKVW
|
|||
|
MOVB @HEADV,A1
|
|||
|
CMP A1,A0
|
|||
|
JREQ OKJ8
|
|||
|
RETS
|
|||
|
; JRNE KP_GO
|
|||
|
OKJ8 CLR A0
|
|||
|
MOVB A0,@SKVW
|
|||
|
RETS
|
|||
|
; JRUC KP_GO
|
|||
|
|
|||
|
; 01
|
|||
|
; 16 02
|
|||
|
; 15 03
|
|||
|
; 14 04
|
|||
|
; 13 05
|
|||
|
; 12 06
|
|||
|
; 11 07
|
|||
|
; 10 08
|
|||
|
; 09
|
|||
|
; 04
|
|||
|
; 12 11
|
|||
|
; 08 07
|
|||
|
; 16 15
|
|||
|
; 02 01
|
|||
|
; 10 09
|
|||
|
; 06 05
|
|||
|
; 14 13
|
|||
|
; 03
|
|||
|
ANIHEAD
|
|||
|
;ANI ONTO SCREEN THIS HEAD
|
|||
|
MOVB @DMGPNT,A0
|
|||
|
CMPI 4,A0
|
|||
|
JRZ REY
|
|||
|
MOVB @HEADV,A0
|
|||
|
MOVE A0,A2
|
|||
|
SLL 5,A0
|
|||
|
MOVE @MCON,A1
|
|||
|
JRZ NOMC5
|
|||
|
ADDI HEADVWZ,A0
|
|||
|
JRUC NOMC6
|
|||
|
NOMC5 ADDI HEADVW,A0
|
|||
|
NOMC6 MOVE *A0,A1,L ;NEW OIMG
|
|||
|
SLL 4,A2
|
|||
|
ADDI HFLAG,A2
|
|||
|
MOVE *A2,A4,W ;NEW OFLAGS
|
|||
|
CALLA ANI
|
|||
|
REY RETS
|
|||
|
; 01
|
|||
|
; 16 02
|
|||
|
; 15 03
|
|||
|
; 14 04
|
|||
|
; 13 05
|
|||
|
; 12 06
|
|||
|
; 11 07
|
|||
|
; 10 08
|
|||
|
; 09
|
|||
|
HEADVW .LONG MUG1A,MUG4,MUG4,MUG4,MUG4,MUG4,MUG4,MUG3
|
|||
|
.LONG MUG2,MUG1,MUG2,MUG3,MUG4,MUG4,MUG4,MUG1C,MUG1B
|
|||
|
HEADVWZ .LONG MUG1AZ,MUG4Z,MUG4Z,MUG4Z,MUG4Z,MUG4Z,MUG4Z,MUG3Z
|
|||
|
.LONG MUG2Z,MUG1Z,MUG2Z,MUG3Z,MUG4Z,MUG4Z,MUG4Z,MUG1CZ,MUG1BZ
|
|||
|
HFLAG .WORD DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ
|
|||
|
.WORD DMAWNZ+M_FLIPH,DMAWNZ+M_FLIPH,DMAWNZ+M_FLIPH
|
|||
|
.WORD DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ,DMAWNZ
|
|||
|
.WORD DMAWNZ,DMAWNZ,DMAWNZ
|
|||
|
|
|||
|
BELLY
|
|||
|
;BELLY DOOR OPENS AND CLOSES
|
|||
|
;BEGIN NEW OBJECT
|
|||
|
MOVE A8,A10
|
|||
|
MOVI BLYIMG,A14
|
|||
|
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
|||
|
CALLA STFOBJ ;STUFF OBJECT DATA
|
|||
|
MOVE A13,*A0(OPLINK),L
|
|||
|
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
|||
|
MOVE A0,A8
|
|||
|
MOVE A8,@KP_BELL,L
|
|||
|
;
|
|||
|
CALLA OBJOFF
|
|||
|
;WHEN CLOSED, OBJOFF
|
|||
|
;WHEN ON, OBJON AND FRANIM LIST
|
|||
|
;RELEASE SNAKE
|
|||
|
;FRANIM CLOSED (CONT 1ST SCRIPT)
|
|||
|
;OBJOFF
|
|||
|
MOVE A10,A11
|
|||
|
B_TOP
|
|||
|
SLEEP 30
|
|||
|
MOVB @DMGPNT,A0
|
|||
|
CMPI 4,A0
|
|||
|
JRNC BBT
|
|||
|
MOVE *A11(OXVEL),A0,L
|
|||
|
MOVE *A11(OYVEL),A1,L
|
|||
|
OR A0,A1
|
|||
|
JRNZ B_TOP
|
|||
|
|
|||
|
MOVI CLSENMY|TYPTORSO,A0
|
|||
|
MOVI 0FFFFH,A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRNZ B_TOP
|
|||
|
|
|||
|
MOVB @MACTION,A0
|
|||
|
CMPI 6,A0
|
|||
|
JRLO B_TOP
|
|||
|
CMPI 11,A0
|
|||
|
JRHI B_TOP
|
|||
|
|
|||
|
BBT MOVI 400,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC B_TOP
|
|||
|
;CHECK TO SEE IF ANYONE IS BELOW ME
|
|||
|
ANDI 01,A0
|
|||
|
JRZ P1SK
|
|||
|
;TRY TO SEEK PLYR 2 FIRST!
|
|||
|
CLR A1
|
|||
|
MOVI 32,A10
|
|||
|
MOVE @PLYROBJS+32,A0,L
|
|||
|
JRNZ CK
|
|||
|
|
|||
|
MOVI 32,A1
|
|||
|
CLR A10
|
|||
|
MOVE @PLYROBJS,A0,L
|
|||
|
JRZ B_TOP
|
|||
|
JRUC CK
|
|||
|
P1SK
|
|||
|
;TRY P1 FIRST!
|
|||
|
MOVI 32,A1
|
|||
|
CLR A10
|
|||
|
MOVE @PLYROBJS,A0,L
|
|||
|
JRNZ CK
|
|||
|
CLR A1
|
|||
|
MOVE @PLYROBJS+32,A0,L
|
|||
|
JRZ B_TOP
|
|||
|
MOVI 32,A10
|
|||
|
CK
|
|||
|
MOVE *A0(OYPOS),A2
|
|||
|
MOVE *A8(OYPOS),A3
|
|||
|
ADDI 30,A3
|
|||
|
CMP A2,A3
|
|||
|
JRLT AHIT0
|
|||
|
MOVI PLYROBJS,A0
|
|||
|
ADD A1,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JRZ B_TOP ;AHIT0 ;B_TOP
|
|||
|
XORI 32,A10
|
|||
|
MOVE *A0(OYPOS),A2
|
|||
|
CMP A2,A3
|
|||
|
JRLT AHIT0
|
|||
|
;NOPE, BOTH PLAYERS ARE ABOVE ME
|
|||
|
JRUC B_TOP
|
|||
|
|
|||
|
AHIT0
|
|||
|
MOVI CLSENMY|TYPMUT|SUBSNK,A0
|
|||
|
MOVI 0FFFFH,A1
|
|||
|
CALLA EXISTOBJ
|
|||
|
JRNZ B_TOP
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,@SNKOUT
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON
|
|||
|
MOVB A10,@KPA10
|
|||
|
;START FRANIM LIST
|
|||
|
CREATE 0,SNAKE
|
|||
|
MOVI OPNCLS,A9 ;OPEN AND CLOSE BELLY
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJOFF
|
|||
|
SLEEP 1*60
|
|||
|
JRUC B_TOP
|
|||
|
;
|
|||
|
OPNCLS .LONG BELLY1
|
|||
|
.WORD 6
|
|||
|
.LONG BELLY2
|
|||
|
; .WORD SPAWNP|1*60+30
|
|||
|
; .WORD 0,0,0
|
|||
|
; .LONG SNAKE
|
|||
|
.WORD 90
|
|||
|
.LONG BELLY1
|
|||
|
.WORD 6
|
|||
|
.LONG 0
|
|||
|
;
|
|||
|
SNAKE
|
|||
|
SLEEP 6
|
|||
|
MOVI BONPID,A0
|
|||
|
MOVE A0,*A13(PROCID)
|
|||
|
MOVB @KPA10,A10
|
|||
|
;0 FOR PLAYER 1 SEEK SNAKE
|
|||
|
MOVI TRAM1,A11
|
|||
|
CMPI 32,A10
|
|||
|
JRNE TRW
|
|||
|
MOVI TRAM2,A11
|
|||
|
|
|||
|
TRW MOVI PLYROBJS,A0
|
|||
|
ADD A10,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
MOVE A0,*A11,L ;MOVE OBJECT BLOCK PTR INTO TOP OF RAM STACK
|
|||
|
|
|||
|
MOVI MAXPCS,A9 ;CHASER LENGTH
|
|||
|
MOVK 1,A10
|
|||
|
LPA:
|
|||
|
CREATE BONPID,CHASER
|
|||
|
SLEEP 2
|
|||
|
INC A10
|
|||
|
CMP A9,A10
|
|||
|
JRLE LPA
|
|||
|
SLEEP 1*60
|
|||
|
CLR A0
|
|||
|
MOVB A0,@SNKOUT
|
|||
|
DIE
|
|||
|
|
|||
|
CHASER:
|
|||
|
MOVE @KP_BELL,A8,L
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
ADDI 0F0000H,A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
ADDI 0F0000H,A1
|
|||
|
MOVI HLPR1,A2
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSENMY|TYPMUT|SUBSNK,A5
|
|||
|
MOVE *A8(OXVEL),A6,L
|
|||
|
MOVE *A8(OYVEL),A7,L
|
|||
|
MOVE A7,*A13(DLY),L
|
|||
|
CALLA BEGINOBJ2
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
;A11=TRAM PTR
|
|||
|
ADD A11,A0
|
|||
|
MOVE A8,*A0,L
|
|||
|
MOVK 1,A0
|
|||
|
MOVB A0,*A13(CDELAY)
|
|||
|
MOVB A0,*A13(BLDVW)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(SKTM)
|
|||
|
MOVB A7,*A13(GDIE)
|
|||
|
MOVB A0,*A13(SKHITS)
|
|||
|
; SLEEP 2
|
|||
|
LPTP:
|
|||
|
MOVB *A13(SKHITS),A0
|
|||
|
CMPI 3,A0
|
|||
|
JRC LO0
|
|||
|
;KILL PC
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADD A11,A0
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0,L
|
|||
|
DIE
|
|||
|
LO0
|
|||
|
MOVB *A13(CDELAY),A1
|
|||
|
ANDI 07H,A1
|
|||
|
DEC A1
|
|||
|
MOVB A1,*A13(CDELAY)
|
|||
|
JRNE NO_SK
|
|||
|
MOVI 1,A1
|
|||
|
CMPI 1,A10
|
|||
|
JRNE U2
|
|||
|
MOVE *A13(SKTM),A0
|
|||
|
INC A0
|
|||
|
MOVE A0,*A13(SKTM)
|
|||
|
CMPI 028H,A0
|
|||
|
JRHI OUT1
|
|||
|
MOVI 5,A1
|
|||
|
U2
|
|||
|
MOVB A1,*A13(CDELAY)
|
|||
|
MOVE A10,A1
|
|||
|
LPTP2 DEC A1
|
|||
|
MOVE A1,A0
|
|||
|
SLL 5,A0
|
|||
|
ADD A11,A0
|
|||
|
MOVE *A0,A0,L ;OBJ TO SK
|
|||
|
JRZ OUT1
|
|||
|
JRZ LPTP2
|
|||
|
CALLR PLTLINE
|
|||
|
MOVE A5,*A8(OXVEL),L
|
|||
|
MOVE A6,*A8(OYVEL),L
|
|||
|
NO_SK
|
|||
|
;UPDATE VIEW OF BLADE
|
|||
|
MOVB *A13(BLDVW),A0
|
|||
|
ANDI 07H,A0
|
|||
|
INC A0
|
|||
|
MOVB A0,*A13(BLDVW)
|
|||
|
CMPI 6,A0
|
|||
|
JRNE KPG
|
|||
|
CLR A0
|
|||
|
MOVB A0,*A13(BLDVW)
|
|||
|
KPG
|
|||
|
MOVI CHSRIMG,A1
|
|||
|
SLL 5,A0
|
|||
|
ADD A0,A1
|
|||
|
MOVE *A1,A1,L ;GET NEW OIMG FOR THIS CHASER PIECE
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI
|
|||
|
OUT SLEEP 2
|
|||
|
JRUC LPTP
|
|||
|
OUT1
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADD A11,A0
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0,L
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
|
|||
|
; MOVE A8,A0
|
|||
|
; CALLA DELOBJ
|
|||
|
; DIE
|
|||
|
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
SUBI 1,A0
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
SUBI 1,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
MOVI BOOMN2,A9 ;BOOM3 CHANGES PALETTE TO EXPLOSION!
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
KIL_SNK
|
|||
|
;A8=PC PNTR
|
|||
|
MMTM SP,A1,A9,A10,A11
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
CALLA GETA10
|
|||
|
CALLA GETA11
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADD A11,A0
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0,L
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
CALLA KILL
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
MMFM SP,A1,A9,A10,A11
|
|||
|
RETS
|
|||
|
|
|||
|
CHSRIMG:
|
|||
|
.LONG HLPR1,HLPR2,HLPR3,HLPR4,HLPR5,HLPR6
|
|||
|
;
|
|||
|
JPTBL .LONG 0,MDN,MUP,0,FPNDLFT,MVHD,PNDLFT,PNDRGT,POSE
|
|||
|
.LONG FLAIL,STOP,FIST,LUNGE,LUNGED
|
|||
|
JPTBLF .LONG ROLLINF,MDNF,MUPF,FPNDRGTF,FPNDLFTF,MVHDF,PNDLFTF,PNDRGTF,POSEF
|
|||
|
.LONG FLAILF,STOPF,FISTF,LUNGEF,LUNGEDF
|
|||
|
;
|
|||
|
MOD_VELS
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE *A13(TNKR),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRSL),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRSR),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TNKR),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(ARML),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(ARMR),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRDLF),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRDRF),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRDRS),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(TRDLS),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(SHADR),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(SHADF),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
MOVE *A13(MHEAD),A1,L
|
|||
|
MOVE A0,*A1(OYVEL),L
|
|||
|
RETS
|
|||
|
|
|||
|
LINEBLY
|
|||
|
;LINE UP BELLY
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE @KP_BELL,A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 020000H,A3 ;SUB 1 FROM X
|
|||
|
SUBI 010000H,A2 ;ADD 1 TO Y
|
|||
|
CALLA GANISAG
|
|||
|
RETS
|
|||
|
LINE_UP
|
|||
|
CALLR LINEBLY
|
|||
|
;DO HEAD
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(MHEAD),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
|
|||
|
ADDI 020000H,A2 ;Y
|
|||
|
MOVB @DMGPNT,A5
|
|||
|
CMPI 5,A5
|
|||
|
JRLO AU
|
|||
|
;HEAD ON TANK
|
|||
|
ADDI 0210000H,A2
|
|||
|
JRUC P0
|
|||
|
AU MOVB @POP,A5
|
|||
|
JRZ P0
|
|||
|
SLL 16,A5
|
|||
|
SUB A5,A2
|
|||
|
P0
|
|||
|
CALLA GANISAG
|
|||
|
|
|||
|
L2UP
|
|||
|
;RIGHT SIDE OF TANK
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TNKR),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST LEFT SIDE TORSO
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRSL),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST RGT TORSO
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRSR),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 010000H,A3 ;SUB 1 FROM X
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST LEFT SIDE ARM
|
|||
|
; MOVB @DMGPNT,A0
|
|||
|
; JRNZ SKPIT
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(ARML),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST RIGHT SIDE ARM
|
|||
|
;SKPIT
|
|||
|
; MOVB @DMGPNT,A0
|
|||
|
; CMPI 2,A0
|
|||
|
; JRGE SKPIT2
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(ARMR),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 010000H,A3 ;SUB 1 FROM X
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST LEFT SIDE TREAD
|
|||
|
;SKPIT2
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRDLS),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST RIGHT SIDE TREAD
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRDRS),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST LEFT FRONT TREAD
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRDLF),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 010000H,A2 ;SUB 1 FROM Y
|
|||
|
CALLA GANISAG
|
|||
|
;ADJUST RIGHT FRONT TREAD
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(TRDRF),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 010000H,A2 ;SUB 1 FROM Y
|
|||
|
CALLA GANISAG
|
|||
|
;DO RIGHT SIDE SHADOW
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(SHADR),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
CALLA GANISAG
|
|||
|
;DO FRONT SHADOW
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(SHADF),A0,L
|
|||
|
MOVE *A0(OFLAGS),A4,W ;SAME FLAGS AS BEFORE
|
|||
|
SUBI 010000H,A3 ;SUB 1 FROM X
|
|||
|
SUBI 010000H,A2 ;SUB 1 FROM Y
|
|||
|
CALLA GANISAG
|
|||
|
RETS
|
|||
|
|
|||
|
|
|||
|
; PLTLINE - MAKE AN OBJECT TRAVEL FROM PNT. A TO PNT. B
|
|||
|
;
|
|||
|
; A8 = OBJECT SEEKING
|
|||
|
; A0 = OBJECT SEEKED
|
|||
|
; RETURNS:
|
|||
|
; A5 = X VEL UHL
|
|||
|
; A6 = Y VEL UHL
|
|||
|
PLTLINE:
|
|||
|
MOVE *A0(OXPOS),A5,W
|
|||
|
MOVE *A0(OYPOS),A6,W
|
|||
|
CMPI 1,A10
|
|||
|
JRNE GRGR
|
|||
|
ADDI 10,A6
|
|||
|
GRGR MOVE *A8(OXPOS),A3,W
|
|||
|
MOVE *A8(OYPOS),A4,W
|
|||
|
SUB A3,A5 ;FIND DIFFERENCE
|
|||
|
SUB A4,A6
|
|||
|
MOVE A6,A3 ;
|
|||
|
MOVE A5,A1
|
|||
|
ABS A5
|
|||
|
ABS A6
|
|||
|
ADD A5,A6 ;CALC SUM ABS(DX+DY)
|
|||
|
SLL 16,A1 ;SHIFT TO ACCOMODATE FRACTIONAL VELOCITY
|
|||
|
SLL 16,A3
|
|||
|
DIVS A6,A1 ;GENERATE SPEED RATIOS
|
|||
|
DIVS A6,A3
|
|||
|
|
|||
|
MOVI 18H,A5
|
|||
|
|
|||
|
MPYS A5,A3
|
|||
|
MPYS A1,A5 ;FINAL X VEL
|
|||
|
SRA 4,A3
|
|||
|
SRA 4,A5
|
|||
|
MOVE A3,A6 ;FINAL Y VEL
|
|||
|
RETS
|
|||
|
;
|
|||
|
ONLIST .LONG 0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13
|
|||
|
MCLIST .LONG 0,T1,T2,T3Z,T4Z,T5Z,T6Z,T7,T8,T9,T10,T11,T12,T13Z
|
|||
|
T1 ;TANK LEFT
|
|||
|
.LONG 0,0,MTNK1A
|
|||
|
.WORD 130,DMAWNZ,CLSENMY|TYPMUT|SUBTKL
|
|||
|
.LONG 0,0
|
|||
|
T2 ;TANK RGT
|
|||
|
.LONG 0,0,MTNK1A
|
|||
|
.WORD 130,DMAWNZ+M_FLIPH,CLSENMY|TYPMUT|SUBTKR
|
|||
|
.LONG 0,0
|
|||
|
T3 ;TORSO LEFT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 201,DMAWNZ+M_PIXSCAN,CLSENMY|TYPMUT|SUBTSL
|
|||
|
.LONG 0,0
|
|||
|
T4 ;TORSO RGT
|
|||
|
.LONG 0,0,TRS1
|
|||
|
.WORD 201,DMAWNZ+M_FLIPH+M_PIXSCAN,CLSENMY|TYPMUT|SUBTSR
|
|||
|
.LONG 0,0
|
|||
|
T5 ;ARM LEFT
|
|||
|
.LONG 0,0,MARM1
|
|||
|
.WORD 202,DMAWNZ+M_PIXSCAN,CLSENMY|TYPMUT|SUBARML
|
|||
|
.LONG 0,0
|
|||
|
T6 ;ARM RGT
|
|||
|
.LONG 0,0,MARM1
|
|||
|
.WORD 202,DMAWNZ+M_FLIPH+M_PIXSCAN,CLSENMY|TYPMUT|SUBARMR
|
|||
|
.LONG 0,0
|
|||
|
T3Z ;TORSO LEFT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 201,DMAWNZ+M_PIXSCAN,CLSENMY|TYPMUT|SUBTSL
|
|||
|
.LONG 0,0
|
|||
|
T4Z ;TORSO RGT
|
|||
|
.LONG 0,0,TRS1Z
|
|||
|
.WORD 201,DMAWNZ+M_FLIPH+M_PIXSCAN,CLSENMY|TYPMUT|SUBTSR
|
|||
|
.LONG 0,0
|
|||
|
T5Z ;ARM LEFT
|
|||
|
.LONG 0,0,MARM1Z
|
|||
|
.WORD 202,DMAWNZ+M_PIXSCAN,CLSENMY|TYPMUT|SUBARML
|
|||
|
.LONG 0,0
|
|||
|
T6Z ;ARM RGT
|
|||
|
.LONG 0,0,MARM1Z
|
|||
|
.WORD 202,DMAWNZ+M_FLIPH+M_PIXSCAN,CLSENMY|TYPMUT|SUBARMR
|
|||
|
.LONG 0,0
|
|||
|
T7 ;TREAD LFT FRONT
|
|||
|
.LONG 0,0,TRD1
|
|||
|
.WORD 130,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T8 ;TREAD RGT FRONT
|
|||
|
.LONG 0,0,TRD1
|
|||
|
.WORD 130,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T9 ;TREAD LEFT SIDE
|
|||
|
.LONG 0,0,TRD1A
|
|||
|
.WORD 130,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T10 ;TREAD RGT SIDE
|
|||
|
.LONG 0,0,TRD1A
|
|||
|
.WORD 130,DMAWNZ+M_FLIPH+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T11 ;SHAD RGT
|
|||
|
.LONG 0,0,SHAD
|
|||
|
.WORD 129,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T12 ;SHAD FRONT
|
|||
|
.LONG 0,0,SHAD2
|
|||
|
.WORD 129,DMAWNZ+M_NOCOLL,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
T13 ;HEAD
|
|||
|
.LONG 0,0,MUG1
|
|||
|
.WORD 203,DMAWNZ,CLSENMY|TYPMUT|SUBHD
|
|||
|
.LONG 0,0
|
|||
|
T13Z ;HEAD
|
|||
|
.LONG 0,0,MUG1Z
|
|||
|
.WORD 203,DMAWNZ,CLSENMY|TYPMUT|SUBHD
|
|||
|
.LONG 0,0
|
|||
|
BM6 ;BEAM 6
|
|||
|
.LONG 0,0,BEAM4
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM7 ;BEAM 7
|
|||
|
.LONG 0,0,BEAM3
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM8 ;BEAM 8
|
|||
|
.LONG 0,0,BEAM2
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM9 ;BEAM 9
|
|||
|
.LONG 0,0,BEAM1
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM10 ;BEAM 10
|
|||
|
.LONG 0,0,BEAM2
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM11 ;BEAM 11
|
|||
|
.LONG 0,0,BEAM3
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM12 ;BEAM 12
|
|||
|
.LONG 0,0,BEAM4
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM6Z ;BEAM 6
|
|||
|
.LONG 0,0,BEAM4Z
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM7Z ;BEAM 7
|
|||
|
.LONG 0,0,BEAM3Z
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM8Z ;BEAM 8
|
|||
|
.LONG 0,0,BEAM2Z
|
|||
|
.WORD 213,DMAWNZ+M_FLIPH,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM9Z ;BEAM 9
|
|||
|
.LONG 0,0,BEAM1Z
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM10Z ;BEAM 10
|
|||
|
.LONG 0,0,BEAM2Z
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM11Z ;BEAM 11
|
|||
|
.LONG 0,0,BEAM3Z
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BM12Z ;BEAM 12
|
|||
|
.LONG 0,0,BEAM4Z
|
|||
|
.WORD 213,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK2
|
|||
|
.LONG 0,0
|
|||
|
BLYIMG ;BEAM 12
|
|||
|
.LONG 0,0,BELLY1
|
|||
|
.WORD 131,DMAWNZ,CLSNEUT|TYPNEUT|SUBCHNK
|
|||
|
.LONG 0,0
|
|||
|
;
|
|||
|
;TREAD ANIMATION TABLES
|
|||
|
;
|
|||
|
TRDSDLL
|
|||
|
.LONG TRD2A
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG TRD3A
|
|||
|
.WORD 02
|
|||
|
.LONG TRD1A
|
|||
|
.WORD 02
|
|||
|
.LONG 0
|
|||
|
TRDSDRL
|
|||
|
.LONG TRD2A
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG TRD3A
|
|||
|
.WORD 02
|
|||
|
.LONG TRD1A
|
|||
|
.WORD 02
|
|||
|
.LONG 0
|
|||
|
TRDFTLL
|
|||
|
.LONG TRD2
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG TRD3
|
|||
|
.WORD 02
|
|||
|
.LONG TRD1
|
|||
|
.WORD 02
|
|||
|
.LONG 0
|
|||
|
TRDFTRL
|
|||
|
.LONG TRD2
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG TRD3
|
|||
|
.WORD 02
|
|||
|
.LONG TRD1
|
|||
|
.WORD 02
|
|||
|
.LONG 0
|
|||
|
;UP SCREEN
|
|||
|
BTRDSDLL
|
|||
|
.LONG TRD3A
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG TRD2A
|
|||
|
.WORD 03
|
|||
|
.LONG TRD1A
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
BTRDSDRL
|
|||
|
.LONG TRD3A
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG TRD2A
|
|||
|
.WORD 03
|
|||
|
.LONG TRD1A
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
BTRDFTLL
|
|||
|
.LONG TRD3
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG TRD2
|
|||
|
.WORD 03
|
|||
|
.LONG TRD1
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
BTRDFTRL
|
|||
|
.LONG TRD3
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG TRD2
|
|||
|
.WORD 03
|
|||
|
.LONG TRD1
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
PNDLARM
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1
|
|||
|
.WORD 05
|
|||
|
.LONG MARM6A
|
|||
|
; .WORD SPAWNP|50
|
|||
|
; .WORD 0,0,0
|
|||
|
; .LONG SHKIT
|
|||
|
.WORD 50
|
|||
|
.LONG 0
|
|||
|
PNDRARM
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1
|
|||
|
.WORD 05
|
|||
|
.LONG MARM6A
|
|||
|
; .WORD SPAWNP|50
|
|||
|
; .WORD 0,0,0
|
|||
|
; .LONG SHKIT
|
|||
|
.WORD 50
|
|||
|
.LONG 0
|
|||
|
FISTL
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM3
|
|||
|
.WORD FLIPBITS|01,0
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FISTL2 ;COMING BACK DOWN
|
|||
|
.LONG MARM2
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|01,0
|
|||
|
.LONG 0
|
|||
|
FISTR
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FISTR2 ;COMING BACK DOWN
|
|||
|
.LONG MARM2
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM1
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
PNDLARMZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM6AZ
|
|||
|
; .WORD SPAWNP|50
|
|||
|
; .WORD 0,0,0
|
|||
|
; .LONG SHKIT
|
|||
|
.WORD 50
|
|||
|
.LONG 0
|
|||
|
PNDRARMZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM6AZ
|
|||
|
; .WORD SPAWNP|50
|
|||
|
; .WORD 0,0,0
|
|||
|
; .LONG SHKIT
|
|||
|
.WORD 50
|
|||
|
.LONG 0
|
|||
|
FISTLZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD FLIPBITS|01,0
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FISTL2Z ;COMING BACK DOWN
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|01,0
|
|||
|
.LONG 0
|
|||
|
FISTRZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FISTR2Z ;COMING BACK DOWN
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
POSEMEL
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4
|
|||
|
.WORD 90
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
POSEMER
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4
|
|||
|
.WORD 90
|
|||
|
.LONG MARM3
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
POSEMELZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 90
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
POSEMERZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|05,(M_FLIPH)
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 90
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 05
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FPNDLARM:
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG MARM2
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3
|
|||
|
.WORD 03
|
|||
|
.LONG MARM4
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3
|
|||
|
.WORD 03
|
|||
|
.LONG MARM2
|
|||
|
.WORD 03
|
|||
|
.LONG MARM1
|
|||
|
.WORD 03
|
|||
|
.LONG MARM6A
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
FPNDLARMZ
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM6AZ
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
FLIPL
|
|||
|
.LONG MARM3
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPLZ
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPH
|
|||
|
.LONG MUG1
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG MUG2
|
|||
|
.WORD 3
|
|||
|
.LONG MUG3
|
|||
|
.WORD 3
|
|||
|
.LONG MUG4
|
|||
|
.WORD 3
|
|||
|
.LONG MUG1C
|
|||
|
.WORD 3
|
|||
|
.LONG MUG4
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG MUG3
|
|||
|
.WORD 3
|
|||
|
.LONG MUG2
|
|||
|
.WORD 3
|
|||
|
.LONG MUG1
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
FLIPHZ
|
|||
|
.LONG MUG1Z
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG MUG2Z
|
|||
|
.WORD 3
|
|||
|
.LONG MUG3Z
|
|||
|
.WORD 3
|
|||
|
.LONG MUG4Z
|
|||
|
.WORD 3
|
|||
|
.LONG MUG1CZ
|
|||
|
.WORD 3
|
|||
|
.LONG MUG4Z
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG MUG3Z
|
|||
|
.WORD 3
|
|||
|
.LONG MUG2Z
|
|||
|
.WORD 3
|
|||
|
.LONG MUG1Z
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FLIPCR
|
|||
|
.LONG TRS1
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
FLIPCL
|
|||
|
.LONG TRS1
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPCR2
|
|||
|
.LONG TRS1A
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
FLIPCL2
|
|||
|
.LONG TRS1A
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPR
|
|||
|
.LONG MARM3
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
FLIPCRZ
|
|||
|
.LONG TRS1Z
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
FLIPCLZ
|
|||
|
.LONG TRS1Z
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPCR2Z
|
|||
|
.LONG TRS1AZ
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
FLIPCL2Z
|
|||
|
.LONG TRS1AZ
|
|||
|
.WORD FLIPBITS|02,0
|
|||
|
.LONG 0
|
|||
|
FLIPRZ
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD FLIPBITS|02,(M_FLIPH)
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FPNDRARM:
|
|||
|
.LONG MARM1
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG MARM2
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3
|
|||
|
.WORD 03
|
|||
|
.LONG MARM4
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3
|
|||
|
.WORD 03
|
|||
|
.LONG MARM2
|
|||
|
.WORD 03
|
|||
|
.LONG MARM1
|
|||
|
.WORD 03
|
|||
|
.LONG MARM6A
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
FPNDRARMZ:
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM4Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM3Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM2Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM1Z
|
|||
|
.WORD 03
|
|||
|
.LONG MARM6AZ
|
|||
|
.WORD 01
|
|||
|
.LONG 0
|
|||
|
|
|||
|
.END
|
|||
|
|
|||
|
|
|||
|
|