6279 lines
110 KiB
NASM
6279 lines
110 KiB
NASM
|
.FILE 'NEWHULK.ASM'
|
|||
|
.TITLE 'TOTAL CARNAGE GAME PROGRAM'
|
|||
|
.WIDTH 132
|
|||
|
.OPTION B,D,L,T
|
|||
|
.MNOLIST
|
|||
|
|
|||
|
;
|
|||
|
; INITIATED: NOV 6,1990
|
|||
|
; 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\gsp.inc"
|
|||
|
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
|||
|
.INCLUDE "IMGTBL.GLO"
|
|||
|
.INCLUDE "GAME.EQU"
|
|||
|
.INCLUDE "FINGRNT.TBL"
|
|||
|
|
|||
|
;
|
|||
|
;SOUNDS EXTERNAL
|
|||
|
;
|
|||
|
.REF EXP2,GRNTSHT,EXP4,ALTEXP1,EXP1L,TORCH,GUYDI,HELP
|
|||
|
;
|
|||
|
;SYMBOLS EXTERNALLY DEFINED
|
|||
|
;
|
|||
|
.REF INST_WARP
|
|||
|
.REF HSTGS_LOST,JEPCYC,AOF,RNDRNG0
|
|||
|
.REF SETC2,STRT_G,STRT_D,CRSRAM,ICONS_DN,HZSPD
|
|||
|
.REF TARGET
|
|||
|
.REF START_SKIP,SEND_ICON
|
|||
|
.REF WAVE_RAM,EHALT,GETANIX,GETFPAL,PLYROBJS,PLYRPRCS,OUT_FLG
|
|||
|
.REF P1DATA,P2DATA,RANDPER,FRANIM,RANGRAND,HALT,SCRADD2,PCTOT
|
|||
|
.REF ENEMY_RECT,RANDOM,TAKEEL,SCRTST,XBOOM2,WAVE,DOLORD,ENDWV
|
|||
|
.REF CHUNK_OBJ,PCNT,START_PJ2,FLASHME,ONARRW
|
|||
|
.REF PUSHME,DO_PUNISH,HSTGSET,OBJON,OBJOFF,FAKET,EXPCNT,BTR60A
|
|||
|
.REF ONE_FND,FND_CNT,MAXFND,WAITTNT,GOBACK,CLNPAL
|
|||
|
;
|
|||
|
;SYMBOLS DEFINED IN THIS FILE
|
|||
|
;
|
|||
|
.DEF ENRECT13,ENRECT14,SPAWN_RUNNR,ERECT13,LHLPS
|
|||
|
.DEF ERECT11,ENRECT11,CRT_AHMD,SPAWN_FND,SPAWN_SKIPR,ENRECT12
|
|||
|
.DEF SEND_GROUP,SPAWN_HULKS,BAT_PLYR,KILL_HULK,KILL_H1,FRANIM_DIE
|
|||
|
.DEF ERECT1,MAXHULK,HULK_CNT,ENRECT1,EN_CURRENT,ERECT2,HULK_DN
|
|||
|
.DEF ERECT3,ENRECT3,ENRECT4,ERECT4,SENDH_TOP,SENDH_GROUP,INTO
|
|||
|
.DEF DO_DIFF2,SPINFLGS,BOOM3,KILL_HULKZ,ERECT5,ENRECT5,JUMPER
|
|||
|
.DEF ERECT7,ERECT8,BLSTS,ERECT10,ENRECT10,SPAWN_AHMD,ERECT12,SHULK
|
|||
|
.DEF SOLDR,SOLDRD,SOLDRDL,INTO12,MAXAHMD,AHMD_CNT,SITLST,ANI_STEEL
|
|||
|
.DEF JUMPXY,JUMPXY2,GET_WVADDR,BOOM2,PBLSTS
|
|||
|
.DEF KILL_AHMDZ,KILL_AHMD,I_FLM,HTYPE
|
|||
|
.DEF SKIPR_DN,SKIPR_CNT,MAXSKPR,SHSTG
|
|||
|
******************JARV PATCH
|
|||
|
.DEF DOIT
|
|||
|
*******************************************
|
|||
|
;
|
|||
|
;UNINITIALIZED RAM DEFINITIONS
|
|||
|
;
|
|||
|
.BSS HULK_DN,16
|
|||
|
.BSS AHMD_CNT,16 ;TOTAL AHMEDS ON SCREEN
|
|||
|
.BSS MAXHULK,16
|
|||
|
.BSS MAXAHMD,16
|
|||
|
.BSS JUMPER,16
|
|||
|
.BSS JUMPXY,16
|
|||
|
.BSS JUMPXY2,16
|
|||
|
.BSS EN_CURRENT,32 ;COLLISION RECTANGLES
|
|||
|
.BSS SITLST,32 ;FOR AHMED SITTING SPOTS
|
|||
|
.BSS HTYPE,16
|
|||
|
; .BSS KILLER,32
|
|||
|
.BSS MAXSKPR,16
|
|||
|
.BSS SKIPR_CNT,16
|
|||
|
.BSS SKIPR_DN,16
|
|||
|
.BSS SNDCNT,16
|
|||
|
.BSS HULK_CNT,16 ;TOTAL HULKS ON SCREEN
|
|||
|
;
|
|||
|
;EQUATES FOR THIS FILE
|
|||
|
;
|
|||
|
XX .EQU 241
|
|||
|
YY .EQU 202
|
|||
|
|
|||
|
MAXLEVEL .EQU 10
|
|||
|
HSPEED .EQU 08000H
|
|||
|
HITAHMD .EQU 25*30 ;BTR60 TURRET
|
|||
|
|
|||
|
;
|
|||
|
;STRUCTURES
|
|||
|
;
|
|||
|
;
|
|||
|
;HSTG DATA STRUCTURE
|
|||
|
;
|
|||
|
;CYCLES .EQU PDATA ;ANIMATION CYCLES BEFORE TURN
|
|||
|
;OLDDIR .EQU PDATA+16 ;OLD DIR BEFORE TURN
|
|||
|
;
|
|||
|
|
|||
|
;HULK DATA STRUCTURE
|
|||
|
;
|
|||
|
HAGE .EQU PDATA ;OBJECT AGE
|
|||
|
DIR .EQU PDATA+16 ;OBJECT DIRECTION
|
|||
|
DIS .EQU PDATA+32 ;OBJECT DISTANCE COUNT
|
|||
|
;MYPLYR .EQU PDATA+48 ;UHW PLAYER 1 OR 2 FIRED ME=1 OR 2
|
|||
|
KPAGE .EQU PDATA+48 ;UHW
|
|||
|
SK_DIR .EQU PDATA+64 ;SEEK DIR FOR SPIN
|
|||
|
LEVEL .EQU PDATA+80 ;DIFFICULTY LEVEL FOR SPEEDS ETC.
|
|||
|
HSPD .EQU PDATA+96
|
|||
|
H2SPD .EQU PDATA+128
|
|||
|
VSPD .EQU PDATA+160
|
|||
|
V2SPD .EQU PDATA+192 ;UHL
|
|||
|
SKPLYR .EQU PDATA+224 ;UHW PLAYER # TO PURSUE 0 OR 1
|
|||
|
OSCILLATE .EQU PDATA+240 ;UHW
|
|||
|
ABSRB .EQU PDATA+256 ;UHW
|
|||
|
;ABSRB IS DEFINED IN FIEND.ASM AND IT MUST STAY HERE
|
|||
|
BOXCK .EQU PDATA+272 ;UHW CNTR FOR TIMING BOX CHECKS
|
|||
|
BNCING .EQU PDATA+288 ;UHW FLAG 0=NO,1=YES BNCING OFF
|
|||
|
JUMPF .EQU PDATA+304 ;UHW FLAG 1=DWN,2=LFT,3=RGT
|
|||
|
HULKTYP .EQU PDATA+320 ;UHW 0=NORM W/GUN,1=DEMON W/AXE
|
|||
|
STCNT .EQU PDATA+336 ;UHW SHOOT AT PLAYER CNTR
|
|||
|
BULPRC .EQU PDATA+352 ;UHL BULLET PROCESS FIRING BULLS!
|
|||
|
GOCRNR .EQU PDATA+384 ;UHL [Y,X] OF CORNER FOR AHMD
|
|||
|
CFLAGS .EQU PDATA+416 ;UHW CONTROL FLAGS FOR OBJECT
|
|||
|
NOFLMS .EQU PDATA+432 ;UHW
|
|||
|
BNCCNT .EQU PDATA+448 ;UHW BOUNCE OFF RECT CNT
|
|||
|
IBAT .EQU PDATA+464 ;UHW BAT FLAG 0=OFF, 1=ON
|
|||
|
;
|
|||
|
|
|||
|
.TEXT
|
|||
|
|
|||
|
ANI_STEEL
|
|||
|
;A8=STEEL DOOR IMAGE FROM BACKGROUND UPDATER
|
|||
|
;ANIMATE, THEN KILL OFF ONCE IT IS OFF SCREEN
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PDATA) ;GRUNTS SPAWNED FROM THIS TRAP DOOR
|
|||
|
SLEEP 4*60
|
|||
|
ANIST
|
|||
|
MOVI 20,B0
|
|||
|
MOVI 2*60,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
|
|||
|
MOVE @WORLDTLY,A0,L
|
|||
|
ADDI [250,0],A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
CMP A0,A1
|
|||
|
JRC ANI_S2
|
|||
|
;FALLS IN HERE IF PIT IS DOWN BELOW SCREEN
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
ANI_S2
|
|||
|
;CHECK TO SEE IF I CAN GENERATE A GRUNT
|
|||
|
;IF SO, OPEN DOOR AND SEND X # OF GRUNTS OUT
|
|||
|
;SEND GRUNT AT PROPER DIRECTION
|
|||
|
MOVE @HULK_CNT,A2 ;MOVE BYTE (# HULKS ON SCRN) TO A2
|
|||
|
MOVE @MAXHULK,A3
|
|||
|
SUBK 7,A3
|
|||
|
CMP A3,A2 ;HULKS MAXED OUT?
|
|||
|
JRGT ANIST
|
|||
|
MOVE *A13(PDATA),A0
|
|||
|
CMPI 75,A0
|
|||
|
JRGT ANIST
|
|||
|
MOVI PITDR2,A1 ;HALFWAY
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 2
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJOFF ;OPEN ALL THE WAY
|
|||
|
MOVE @PCNT,A9
|
|||
|
ANDI 07H,A9
|
|||
|
INC A9
|
|||
|
ANS3 SLEEPK 1
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ ANS3
|
|||
|
;TURN ON GRUNT AND SEND HIM OUT!
|
|||
|
MJP CREATE HULKPID,JUMPOUT
|
|||
|
MOVE @HTYPE,A1
|
|||
|
MOVE A1,*A0(HULKTYP)
|
|||
|
MOVE *A13(PDATA),A0
|
|||
|
INC A0
|
|||
|
MOVE A0,*A13(PDATA) ;HULKS RELEASED FROM THIS PIT!
|
|||
|
MOVK 1,B0
|
|||
|
MOVK 23,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
DSJS A9,MJP
|
|||
|
SLEEPK 15
|
|||
|
MOVE A8,A0
|
|||
|
CALLA OBJON ;HALFWAY
|
|||
|
SLEEPK 2
|
|||
|
MOVI PITDR1,A1
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
CALLA ANI ;CLOSED
|
|||
|
JRUC ANIST
|
|||
|
|
|||
|
SOLDRD:
|
|||
|
;A8=SOLDIER FROM BACKGROUND TABLE
|
|||
|
;A HULK CREATED FROM BACKGROUND MODULE
|
|||
|
;PAUSE, COME ALIVE AND JUMP STRAIGHT DOWN TOWARD PLAYER
|
|||
|
CALLR GETPSK
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(HULKTYP) ;REGULAR SOLDIER FROM BGND
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVI ZEROS,A9
|
|||
|
MOVI DGSTND1,A1
|
|||
|
CALLR SOLD
|
|||
|
JRZ NOSP0
|
|||
|
;ODD Y LINE, PAUSE A MOMENT
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVI 200,B0
|
|||
|
MOVI 450,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
NOSP0
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVK 5,A0
|
|||
|
MOVK 1,A11
|
|||
|
NOSP00 MOVE A0,*A13(DIR)
|
|||
|
MOVE A0,*A13(BOXCK)
|
|||
|
MOVK 3,A1
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
CALLR DO_DIFF
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
CALLR INTO
|
|||
|
CALLR GET_RUN ;GET FIRST FRANIM PNTR FOR
|
|||
|
MOVE A11,*A13(JUMPF) ;STRAIGHT DOWN FLAG
|
|||
|
JRUC BIN
|
|||
|
|
|||
|
SOLDRDL:
|
|||
|
;A8=SOLDIER FROM BACKGROUND TABLE
|
|||
|
;A HULK CREATED FROM BACKGROUND MODULE
|
|||
|
;PAUSE, COME ALIVE AND JUMPD DOWN TO LEFT AND RUN TOWARD PLAYER
|
|||
|
CALLR GETPSK
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(HULKTYP) ;REGULAR SOLDIER FROM BGND
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVI ZEROS,A9
|
|||
|
MOVI DSWINGa,A1
|
|||
|
CALLR SOLD
|
|||
|
JRZ NOSP1
|
|||
|
;ODD Y LINE, PAUSE A MOMENT
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVI 250,B0
|
|||
|
MOVI 400,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
NOSP1 CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVK 7,A0
|
|||
|
MOVK 3,A11
|
|||
|
JRUC NOSP00
|
|||
|
|
|||
|
SHULK
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION OF GROW FROM SLIME
|
|||
|
;A10=0=UPLFT
|
|||
|
;A10=1=UPRGT
|
|||
|
;A10=2=BTMLFT
|
|||
|
;A10=3=BTMRGT
|
|||
|
CALLR GETPSK
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVK 1,A0 ;DEMON
|
|||
|
MOVE A0,*A13(HULKTYP) ;REGULAR SOLDIER FROM BGND
|
|||
|
MOVE A0,*A13(BOXCK)
|
|||
|
MOVK 3,A1
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(DIS) ;TIME BEFORE WE GET NEW VELOCITIES
|
|||
|
MOVE A9,A1
|
|||
|
MOVX A9,A0
|
|||
|
SLL 16,A0
|
|||
|
SLL 6,A10
|
|||
|
ADDI GRWINFO,A10
|
|||
|
MOVE *A10+,A9,L
|
|||
|
MOVE *A10,A10
|
|||
|
MOVE A10,*A13(DIR)
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
;A9=FRANIM GROW FROM SLIME
|
|||
|
|
|||
|
MOVI gb6w5a,A2 ;DEMON START
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSENMY|TYPGRW,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
MOVI GRNTB,A0
|
|||
|
CALLA GETFPAL ;GET A COLOR MAP ASSIGNMENT
|
|||
|
MOVE A0,*A8(OPAL),W ;STORE THE NEW PALETTE
|
|||
|
;GROW UP FROM SLIME
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVI CLSENMY|TYPHULK,A5
|
|||
|
MOVE A5,*A8(OID)
|
|||
|
;THEN START WITH A VELOCITY!
|
|||
|
CALLR OKVA
|
|||
|
MOVK 6,A3
|
|||
|
MOVE A3,*A13(DIS)
|
|||
|
JRUC LUP_ST
|
|||
|
|
|||
|
GRWINFO .LONG GR10,8,GR2,2,GR8,6,GR5,4
|
|||
|
|
|||
|
SOLDR:
|
|||
|
;A8=SOLDIER FROM BACKGROUND TABLE
|
|||
|
;A HULK CREATED FROM BACKGROUND MODULE
|
|||
|
;PAUSE, COME ALIVE AND RUN TOWARD PLAYER
|
|||
|
;NOW POINT THIS HULK AT CURRENT POSITION OF PLAYER
|
|||
|
CALLR GETPSK
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVE A0,*A13(HULKTYP) ;REGULAR SOLDIER FROM BGND
|
|||
|
MOVI ZEROS,A9
|
|||
|
MOVI DGSTND1,A1
|
|||
|
CALLR SOLD
|
|||
|
JRZ NOSP
|
|||
|
;ODD Y LINE, PAUSE A MOMENT
|
|||
|
MOVI 0FFH,A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVI 200,B0
|
|||
|
MOVI 900,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
NOSP
|
|||
|
MOVK 5,A0
|
|||
|
MOVE A0,*A13(DIR)
|
|||
|
MOVE A0,*A13(BOXCK)
|
|||
|
MOVK 2,A1
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(DIS) ;TIME BEFORE WE GET NEW VELOCITIES
|
|||
|
CALLR DO_DIFF
|
|||
|
JRUC LUP_ST
|
|||
|
|
|||
|
LHLPS
|
|||
|
MOVI HELP,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 40
|
|||
|
MOVI HELP,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 40
|
|||
|
MOVI HELP,A0
|
|||
|
CALLA ONESND
|
|||
|
SLEEP 40
|
|||
|
MOVI HELP,A0
|
|||
|
CALLA ONESND
|
|||
|
DIE
|
|||
|
|
|||
|
SPAWN_RUNNR
|
|||
|
;SEND HOSTAGES DOWN SCREEN
|
|||
|
MOVE @HALT,A0
|
|||
|
JRNZ SPRET
|
|||
|
MOVI 150,A0
|
|||
|
CALLA RANDPER
|
|||
|
JRNC SPRET
|
|||
|
MOVI JEEPID,A0
|
|||
|
CLR A1
|
|||
|
NOT A1
|
|||
|
CALLA EXISTP
|
|||
|
JRNZ SPRET ;BR=JEEP OUT!
|
|||
|
|
|||
|
CREATE 0,LHLPS
|
|||
|
MOVI RUNNRS,A2
|
|||
|
CALLR GET_WVADDR
|
|||
|
MOVE *A0(16),A1,W ;DEC WAVE RAM CNT FOR THIS HSTG GROUP
|
|||
|
DEC A1
|
|||
|
MOVE A1,*A0(16),W
|
|||
|
; MOVE *A0(32),A0 ;GET HSTG RANGE PNTR
|
|||
|
; SLL 5,A0
|
|||
|
|
|||
|
MOVE @ENEMY_RECT,A0,L
|
|||
|
SPR MOVE *A0(16),A1
|
|||
|
CMPI 5,A1
|
|||
|
JRZ GOTSPT
|
|||
|
ADDI 6*16,A0
|
|||
|
JRUC SPR
|
|||
|
GOTSPT
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
MOVE *A0(64),A1
|
|||
|
MOVE *A0(32),A9
|
|||
|
SUB A9,A1
|
|||
|
SRL 1,A1
|
|||
|
ADD A1,A9 ;X IS SET UP
|
|||
|
MOVE *A0(80),A1
|
|||
|
MOVE *A0(48),A2
|
|||
|
SUB A2,A1
|
|||
|
SRL 1,A1
|
|||
|
ADD A1,A2 ;Y IS SET UP
|
|||
|
SLL 16,A2
|
|||
|
SUBI [20,0],A2
|
|||
|
MOVY A2,A9
|
|||
|
CREATE FUTUREPID,SENDRUN
|
|||
|
SPRET RETS
|
|||
|
SENDRUN
|
|||
|
MOVK 3,A8
|
|||
|
RUN1 SLEEPK 30
|
|||
|
CALLR SENDH_GROUP
|
|||
|
DSJ A8,RUN1
|
|||
|
DIE
|
|||
|
; .WORD 0,5,595-XX2+25,4356-YY2-36,605-XX2+25,4351-YY2-20
|
|||
|
|
|||
|
;SEND HOSTAGES DOWN SCREEN
|
|||
|
SENDH_TOP:
|
|||
|
;SEND FIRST GROUP OF HOSTAGES DOWN AT PLAYER
|
|||
|
; MOVK 2,A8
|
|||
|
SEND1
|
|||
|
SLEEP >35
|
|||
|
MOVE @WORLDTLY,A0,L
|
|||
|
SUBI [50,0],A0
|
|||
|
MOVE @WORLDTLX,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 160,A9
|
|||
|
MOVY A0,A9
|
|||
|
CALLR SENDH_GROUP
|
|||
|
; DSJ A8,SEND1
|
|||
|
DIE
|
|||
|
SENDH_GROUP:
|
|||
|
;SEND GROUP OF HULKS FROM SPECIFIC SPOT
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
CALLA RANDOM
|
|||
|
ANDI 07H,A0
|
|||
|
ADDK 2,A0 ;1
|
|||
|
MOVE A0,A5
|
|||
|
;A11=0 TO SPREAD THEM OUT A BIT
|
|||
|
SG1H
|
|||
|
CREATE FUTUREPID,AHSTG ;START ONE HSTG
|
|||
|
DSJS A5,SG1H
|
|||
|
RETS
|
|||
|
|
|||
|
HSLST .LONG HSTGDWN,HSTGDWNA,HSTGDWNA2,HSTGDWN2
|
|||
|
|
|||
|
AHSTG:
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A11=1 IF FIXED AREA FOR RELEASE
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;THIS HSTG WAS SPAWNED FROM SEND_GROUP
|
|||
|
CLR B0
|
|||
|
MOVK 19,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SLL 16,A0
|
|||
|
ADD A9,A0
|
|||
|
MOVE A0,A1
|
|||
|
CLR B0
|
|||
|
MOVI 60,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVX A9,A2
|
|||
|
ADD A0,A2
|
|||
|
SLL 16,A2
|
|||
|
MOVE A2,A0
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
MOVI GRL1,A2 ;DOES NOT MATTER
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSNEUT|TYPHSTG|SUBRUN,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
|
|||
|
CALLA RANDOM
|
|||
|
ANDI 03H,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI HSLST,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
|
|||
|
MOVI 0B000H,B0
|
|||
|
MOVI 14000H,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A9,A10
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
;GET ME ON SCRN
|
|||
|
HTOP
|
|||
|
;GO THROUGH ANIMATION LIST
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
CALLA SCRTST
|
|||
|
JRNZ KILOFF
|
|||
|
MOVE A10,A9
|
|||
|
JRUC HTOP
|
|||
|
|
|||
|
KILOFF MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
;TOTAL MISSED HOSTAGES HERE FOR RACKUP
|
|||
|
MOVE @HSTGS_LOST,A0
|
|||
|
INC A0
|
|||
|
MOVE A0,@HSTGS_LOST
|
|||
|
DIE
|
|||
|
|
|||
|
CRT_AHMD:
|
|||
|
;AHMED FLAME THROWER DUDE SPAWNED FROM A CRATE
|
|||
|
;AAHMED:
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVK 3,A10
|
|||
|
MOVE *A8(OFLAGS),A0 ;A8=CRATE
|
|||
|
BTST B_FLIPH,A0
|
|||
|
JRZ FND1
|
|||
|
MOVK 7,A10 ;A10=DIR
|
|||
|
FND1 MOVE *A8(OXPOS),A0,L
|
|||
|
; ADDK 15,A0
|
|||
|
MOVE *A8(OYVAL),A9,L
|
|||
|
SUBI [20,0],A9
|
|||
|
MOVX A0,A9
|
|||
|
MOVK 4,A1 ;LEVEL FOR CRATE AHMEDS
|
|||
|
CALLR START_AHMD
|
|||
|
MOVK 25,A3 ;20
|
|||
|
MOVE A3,*A13(DIS) ;CHANGE BASED ON HULKS SPEED?
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
MOVE A0,*A13(GOCRNR),L
|
|||
|
JRUC CRATE_IN
|
|||
|
|
|||
|
SPAWN_FND:
|
|||
|
;SPAWN FIEND
|
|||
|
MOVE @FND_CNT,A2 ;MOVE BYTE (# FNDS ON SCRN) TO A2
|
|||
|
MOVE @MAXFND,A3
|
|||
|
CMP A3,A2 ;FNDS MAXED OUT?
|
|||
|
JRGT HULK_OUT
|
|||
|
CALLR FIXEDA
|
|||
|
CMPI 5,A10
|
|||
|
JRNZ SPF
|
|||
|
ADDI [-25,42],A9
|
|||
|
;A8=CHOSEN RECTANGLE INFO
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
SPF CREATE FNDPID,ONE_FND ;START ONE FND
|
|||
|
RETS
|
|||
|
SPAWN_AHMD:
|
|||
|
;SPAWN AHMED IS CALLED FROM 'WAVE OVERLORD' CODE WHICH DISPERSES
|
|||
|
;BAD GUYS THROUGHOUT A WAVE
|
|||
|
MOVE @AHMD_CNT,A2 ;MOVE BYTE (# HULKS ON SCRN) TO A2
|
|||
|
MOVE @MAXAHMD,A3
|
|||
|
CMP A3,A2 ;HULKS MAXED OUT?
|
|||
|
JRGT HULK_OUT
|
|||
|
;SELECT RECTANGLE FROM CURRENT LIST
|
|||
|
;GET RANDOM [Y,X] WITHIN CHOSEN RECTANGLE INTO A9
|
|||
|
;GET DIRECTION FOR THAT RECTANGLE INTO A10
|
|||
|
;JUMP INTO SEND_GROUP CODE
|
|||
|
CALLR FIXEDA
|
|||
|
;A8=CHOSEN RECTANGLE INFO
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
CREATE AHMDPID,AAHMED ;START ONE AHMED
|
|||
|
RETS
|
|||
|
|
|||
|
SPAWN_HULKS:
|
|||
|
;SPAWN HULKS IS CALLED FROM 'WAVE OVERLORD' CODE WHICH DISPERSES
|
|||
|
;BAD GUYS THROUGHOUT A WAVE
|
|||
|
MOVE @HULK_DN,A0
|
|||
|
JRNZ HULK_OUT
|
|||
|
MOVE @HULK_CNT,A2 ;MOVE BYTE (# HULKS ON SCRN) TO A2
|
|||
|
MOVE @MAXHULK,A3
|
|||
|
CMP A3,A2 ;HULKS MAXED OUT?
|
|||
|
JRGT HULK_OUT
|
|||
|
;SELECT RECTANGLE FROM CURRENT LIST
|
|||
|
;GET RANDOM [Y,X] WITHIN CHOSEN RECTANGLE INTO A9
|
|||
|
;GET DIRECTION FOR THAT RECTANGLE INTO A10
|
|||
|
;JUMP INTO SEND_GROUP CODE
|
|||
|
CALLA RANDOM
|
|||
|
ANDI 07H,A0
|
|||
|
; MOVI 0,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI INTOL,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
MOVE @ENEMY_RECT,A8,L
|
|||
|
ADD A0,A8
|
|||
|
MOVE *A8+,A0,W
|
|||
|
SLL 5,A0
|
|||
|
ADDI JLST,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
SPAWN_SKIPR:
|
|||
|
MOVE @SKIPR_DN,A0
|
|||
|
JRNZ HULK_OUT
|
|||
|
MOVE @SKIPR_CNT,A2 ;MOVE BYTE (# HULKS ON SCRN) TO A2
|
|||
|
MOVE @MAXSKPR,A3
|
|||
|
CMP A3,A2 ;HULKS MAXED OUT?
|
|||
|
JRGT HULK_OUT
|
|||
|
;SELECT RECTANGLE FROM CURRENT LIST
|
|||
|
;GET RANDOM [Y,X] WITHIN CHOSEN RECTANGLE INTO A9
|
|||
|
;GET DIRECTION FOR THAT RECTANGLE INTO A10
|
|||
|
;JUMP INTO SEND_GROUP CODE
|
|||
|
CALLA RANDOM
|
|||
|
ANDI 03H,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI INTOL,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
MOVE @ENEMY_RECT,A8,L
|
|||
|
ADD A0,A8
|
|||
|
MOVE *A8+,A0,W
|
|||
|
SLL 5,A0
|
|||
|
ADDI JLST2,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
INTOL .LONG 0,60H,0C0H,120H,180H,1E0H,240H,2A0H
|
|||
|
HULK_OUT:
|
|||
|
RETS
|
|||
|
|
|||
|
JLST .LONG FIXED,FLTL,FLTR,FLTT,FLTB,FIXED2,JUMPD,JUMPR
|
|||
|
JLST2 .LONG SFIXED,FLTL,FLTR,SFLTT,FLTB,FIXED2,JUMPD,JUMPR
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;RECTANGLE TYPE,DIRECTION ENEMY WILL MOVE,RECT [X,Y],[X,Y]
|
|||
|
;TYPE=0 FOR FIXED RECTANGLE,1=FLOATING LFT RECT,2=FLOATING RGT,3=FLOATING TOP
|
|||
|
;4=FLOATING BOTM,5=FIXED WITHOUT LOTS OF RANGE,6=FROM TOP ROOF,7=FROM RIGHT
|
|||
|
;ROOF
|
|||
|
ERECT1
|
|||
|
.WORD 0,7,645-XX,1225-YY,650-XX,1268-YY ;FOR SPAWNING
|
|||
|
.WORD 0,7,645-XX,1225-YY,650-XX,1268-YY
|
|||
|
.WORD 0,7,645-XX,1225-YY,650-XX,1268-YY
|
|||
|
.WORD 0,7,645-XX,1000-YY,650-XX,1110-YY
|
|||
|
.WORD 0,7,645-XX,1000-YY,650-XX,1110-YY
|
|||
|
.WORD 0,3,200-XX,1000-YY,205-XX,1025-YY
|
|||
|
.WORD 0,3,200-XX,1000-YY,205-XX,1025-YY
|
|||
|
.WORD 0,3,200-XX,1000-YY,205-XX,1025-YY
|
|||
|
ERECT2 .WORD 0,3,200-XX,779-YY,205-XX,789-YY ;FOR SPAWNING
|
|||
|
.WORD 0,7,645-XX,779-YY,663-XX,780-YY
|
|||
|
.WORD 5,7,600-XX,535-YY,640-XX,555-YY ;HUT
|
|||
|
.WORD 5,7,600-XX,535-YY,640-XX,555-YY
|
|||
|
.WORD 5,7,600-XX,665-YY,640-XX,670-YY ;HUT SPAWN
|
|||
|
.WORD 3,5,150,-60,210,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,150,-60,210,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,150,-60,210,-45 ;FLOATING IN FROM TOP
|
|||
|
ERECT3 .WORD 0,3,368-XX,327-YY,383-XX,342-YY ;FOR REACTOR AREA
|
|||
|
.WORD 0,3,368-XX,327-YY,383-XX,342-YY ;FOR REACTOR AREA
|
|||
|
.WORD 0,1,463-XX,443-YY,483-XX,453-YY
|
|||
|
.WORD 0,1,463-XX,443-YY,483-XX,453-YY
|
|||
|
.WORD 0,7,611-XX,318-YY,631-XX,336-YY
|
|||
|
.WORD 0,7,611-XX,318-YY,631-XX,336-YY
|
|||
|
.WORD 0,4,277-XX,395-YY,299-XX,405-YY ;BOTM OF REACTOR
|
|||
|
.WORD 6,5,415-XX,145-YY,425-XX,155-YY ;FROM ROOF
|
|||
|
ERECT4
|
|||
|
.WORD 7,7,0380H,325-YY,0390H,340-YY ;FROM ROOF
|
|||
|
.WORD 7,7,0380H,325-YY,0390H,340-YY ;FROM ROOF
|
|||
|
.WORD 0,1,895-XX,463-YY,910-XX,469-YY
|
|||
|
.WORD 0,1,895-XX,463-YY,910-XX,469-YY
|
|||
|
.WORD 0,3,690-XX,335-YY,705-XX,350-YY
|
|||
|
.WORD 0,3,690-XX,335-YY,705-XX,350-YY
|
|||
|
.WORD 6,5,880-XX,145-YY,970-XX,165-YY ;ROOF
|
|||
|
.WORD 6,5,880-XX,145-YY,970-XX,165-YY
|
|||
|
ERECT5 .WORD 0,3,369-XX,2564-YY,384-XX,2579-YY ;SECRET PATH #1 LOWER
|
|||
|
.WORD 0,3,369-XX,2564-YY,384-XX,2579-YY ;SECRET PATH #1 LOWER
|
|||
|
.WORD 0,7,457-XX,2335-YY,466-XX,2410-YY
|
|||
|
.WORD 0,7,457-XX,2335-YY,466-XX,2410-YY
|
|||
|
.WORD 0,7,457-XX,2335-YY,466-XX,2410-YY
|
|||
|
.WORD 3,5,110,-60,170,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,110,-60,170,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,110,-60,170,-45 ;FLOATING IN FROM TOP
|
|||
|
ERECT6 .WORD 7,7,640-XX,1824-YY,665-XX,1850-YY ;SECRET PATH #1 MIDDLE
|
|||
|
.WORD 7,7,640-XX,1824-YY,665-XX,1850-YY
|
|||
|
.WORD 7,7,640-XX,1824-YY,665-XX,1850-YY
|
|||
|
.WORD 7,7,640-XX,1824-YY,665-XX,1850-YY
|
|||
|
.WORD 3,5,110,-60,170,-45
|
|||
|
.WORD 3,5,110,-60,170,-45
|
|||
|
.WORD 3,5,110,-60,170,-45
|
|||
|
.WORD 3,5,110,-60,170,-45
|
|||
|
ERECT7 ;ROADWAY AREA
|
|||
|
.WORD 1,3,-50,70,-35,110
|
|||
|
.WORD 1,3,-50,70,-35,110
|
|||
|
.WORD 2,7,410,70,430,110
|
|||
|
.WORD 2,7,410,70,430,110
|
|||
|
.WORD 2,7,410,70,430,110
|
|||
|
.WORD 3,5,80,-60,270,-45
|
|||
|
.WORD 3,5,80,-60,270,-45
|
|||
|
.WORD 3,5,80,-60,270,-45
|
|||
|
ERECT8 ;TOP OF SECRET AREA #1
|
|||
|
.WORD 0,1,463-XX,443-YY,483-XX,453-YY
|
|||
|
.WORD 0,7,605-XX,358-YY,620-XX,372-YY
|
|||
|
.WORD 0,7,605-XX,358-YY,620-XX,372-YY
|
|||
|
.WORD 0,3,220-XX,358-YY,232-XX,372-YY
|
|||
|
.WORD 0,3,220-XX,358-YY,232-XX,372-YY
|
|||
|
.WORD 6,5,291-XX,145-YY,326-XX,165-YY ;ROOF
|
|||
|
.WORD 6,5,491-XX,145-YY,530-XX,165-YY
|
|||
|
.WORD 6,5,491-XX,145-YY,530-XX,165-YY
|
|||
|
|
|||
|
|
|||
|
XX2 .EQU 241-13 ;FOR LOWER DESERT MODULE
|
|||
|
YY2 .EQU 202+48H
|
|||
|
ERECT10 ;1ST LOCKDOWN IN DESERT
|
|||
|
.WORD 0,1,621-XX2+22,4610-YY2+52,631-XX2+22,4625-YY2+52
|
|||
|
.WORD 0,3,447-XX2-50,4438-YY2+43,457-XX2-50,4455-YY2+43
|
|||
|
.WORD 0,7,839-XX2+25,4438-YY2+43,849-XX2+25,4453-YY2+43
|
|||
|
.WORD 0,5,595-XX2+25,4356-YY2-36,605-XX2+25,4351-YY2-20
|
|||
|
.WORD 0,1,621-XX2+22,4610-YY2+52,631-XX2+22,4625-YY2+52
|
|||
|
.WORD 0,3,447-XX2-50,4438-YY2+43,457-XX2-50,4455-YY2+43
|
|||
|
.WORD 0,7,839-XX2+25,4438-YY2+43,849-XX2+25,4453-YY2+43
|
|||
|
.WORD 0,5,595-XX2+25,4356-YY2-36,605-XX2+25,4351-YY2-20
|
|||
|
ERECT11 ;PATH A AND B AFTER FIRST LOCKDOWN
|
|||
|
;ALSO USED FOR WAVE 13 FAST GUYS COMING DOWN AND WAVE 16
|
|||
|
.WORD 3,5,190,-60,250,-45 ;110! 250 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
.WORD 3,5,190,-60,250,-45 ;FLOATING IN FROM TOP
|
|||
|
ERECT12 ;2ND DESERT LOCKDOWN WITH HUT ON LEFT
|
|||
|
.WORD 0,1,403-XX2+22,3185-YY2+52,413-XX2+22,3200-YY2+52
|
|||
|
.WORD 0,1,403-XX2+22,3185-YY2+52,413-XX2+22,3200-YY2+52
|
|||
|
.WORD 0,7,642-XX2+25,3019-YY2+43,648-XX2+25,3035-YY2+43
|
|||
|
.WORD 0,5,417-XX2+25,2935-YY2-36,427-XX2+25,2930-YY2-20
|
|||
|
.WORD 0,3,325-XX2-50,2985-YY2+43,335-XX2-50,2997-YY2+43
|
|||
|
.WORD 0,3,325-XX2-50,2985-YY2+43,335-XX2-50,2997-YY2+43
|
|||
|
.WORD 0,7,642-XX2+25,3019-YY2+43,648-XX2+25,3035-YY2+43
|
|||
|
.WORD 0,5,417-XX2+25,2935-YY2-36,427-XX2+25,2930-YY2-20
|
|||
|
ERECT13 ;1ST AIRPORT LOCKDOWN
|
|||
|
.WORD 0,1,0D32H,1118H,0D4CH,1120H
|
|||
|
.WORD 0,3,0C61H,1070H,0C6BH,10A0H
|
|||
|
.WORD 0,5,0D3FH,0FECH,0D42H,0FF6H
|
|||
|
.WORD 0,7,0E10H,1088H,0E20H,108CH
|
|||
|
.WORD 0,1,0D32H,1118H,0D4CH,1120H
|
|||
|
.WORD 0,3,0C61H,1070H,0C6BH,10A0H
|
|||
|
.WORD 0,5,0D3FH,0FECH,0D42H,0FF6H
|
|||
|
.WORD 0,7,0E10H,1088H,0E20H,108CH
|
|||
|
|
|||
|
ENRECT1 .WORD 240-XX,948-YY,378-XX,983-YY+10,4 ;DIR TO TURN TOWARD
|
|||
|
;FOR HULK COLLISIONS WITH BOX
|
|||
|
.WORD 501-XX-20,948-YY,620-XX,983-YY+10,6
|
|||
|
.WORD 0
|
|||
|
ENRECT3 .WORD 280-XX,304-YY,367-XX,381-YY,3 ;REACTOR AREA
|
|||
|
.WORD 0
|
|||
|
ENRECT4 .WORD 836-XX,210-YY,1064-XX,300-YY,6 ;ELEVATOR DOWN AREA
|
|||
|
.WORD 0
|
|||
|
ENRECT5 .WORD 268-XX,2525-YY,365-XX,2617-YY,3 ;SECRET PATH LOWER AREA
|
|||
|
.WORD 518-XX,2324-YY,609-XX,2471-YY,7 ;
|
|||
|
.WORD 541-XX,2152-YY,640-XX,2223-YY,7 ;NEAR BOXES
|
|||
|
ENRECT6 .WORD 546-XX,1792-YY,656-XX,1999-YY,7 ;SECRET PATH UPPER AREA
|
|||
|
.WORD 251-XX,1611-YY,352-XX,1703-YY,4
|
|||
|
.WORD 518-XX,1635-YY,627-XX,1701-YY,6
|
|||
|
.WORD 0
|
|||
|
|
|||
|
ENRECT10 ;START OF DESERT
|
|||
|
;PIT ON LEFT AT START OF DESERT
|
|||
|
.WORD 09EH,126DH-3AH-20,122H,131CH-3AH,3 ;9E=CE
|
|||
|
.WORD 122H,127FH-3AH-20,145H,1314H-3AH,3
|
|||
|
.WORD 146H,128DH-3AH-20,155H,1310H-3AH,3
|
|||
|
.WORD 155H,12A6H-3AH-20,168H,1308H-3AH,3
|
|||
|
.WORD 168H,12C8H-3AH-20,17CH,12F0H-3AH,3
|
|||
|
;MOUND ON RIGHT
|
|||
|
.WORD 675-XX2-20,4849+11-YY2-20,870-XX2,4917+32-YY2-16,7
|
|||
|
;FIRST BARBED WIRE LINE
|
|||
|
.WORD 226+6-XX2-20,4600+17-YY2-20,603+25-XX2,4635+27-YY2,1
|
|||
|
.WORD 733+6-XX2-20,4600+17-YY2-20,1028+25-XX2,4635+27-YY2,1
|
|||
|
.WORD 0
|
|||
|
ENRECT11 ;START OF SCROLL PATHB AND PATHA!
|
|||
|
.WORD 758+6-XX2-30,4370+20-YY2-35,864+25-45-XX2+15,4407+25-YY2+10,7 ;WALL TOPRGT
|
|||
|
.WORD 590+3-XX2-30,3891+20-YY2-35,776+20-XX2+15,3869+61+25-YY2+10,2 ;MID SCRN WAL
|
|||
|
.WORD 586+3-XX2-30,3669+20-YY2-35,682+20-XX2+15,3647+61+25-YY2+10,7 ;MID TURT WAL
|
|||
|
.WORD 372+3-XX2-30,3255+20-YY2-35,1044+25-XX2+15,3263+61+25-YY2+10,6 ;LONG WALL
|
|||
|
.WORD 490+3-XX2-30,3891+20-YY2-35,656+20-XX2+15,3869+61+25-YY2+10,6 ;MID SCRN WAL LFT SIDE
|
|||
|
.WORD 0
|
|||
|
ENRECT12 ;2ND DESERT LOCKDOWN AT HUT
|
|||
|
.WORD 248-XX2,2964-YY2,338+28-XX2,3099+32-YY2,4 ;HUT AT LK DWN
|
|||
|
.WORD 0
|
|||
|
ENRECT13 ;NEAR HUT 2 DISHES
|
|||
|
;SCROLLING UP INTO NEW DESERT AREA FOR HULKS NEAR BIG HUTS
|
|||
|
.WORD 139H,5ECH-16,205H,692H+20,3 ;SQR HUT
|
|||
|
.WORD 0
|
|||
|
ENRECT14 ;FROM TRIPLE GUNNERS UP
|
|||
|
;SCROLLING UP INTO NEW DESERT AREA FOR PLAYERS NEAR BIG HUTS
|
|||
|
.WORD 97H,368H,35FH,395H,5 ;TRIPLE WALL
|
|||
|
.WORD 9H,227H+30,18CH,268H,3 ;LOWER CLIFF
|
|||
|
.WORD 100H,198H,2C5H,1E4H,6 ;UPPER CLIFF
|
|||
|
.WORD 0
|
|||
|
FLTL
|
|||
|
FLTR
|
|||
|
FLTB
|
|||
|
; RETS
|
|||
|
SFLTT
|
|||
|
CALLR POSITN
|
|||
|
JRUC SPAWN_GROUPS
|
|||
|
FLTT
|
|||
|
;.WORD 3,5,150,-10,250,0 ;FLOATING IN FROM TOP
|
|||
|
;FLOATING RECT AT TOP
|
|||
|
CLR A11
|
|||
|
MOVE A11,@JUMPER
|
|||
|
CALLR POSITN
|
|||
|
JRUC SPAWN_GROUP
|
|||
|
POSITN
|
|||
|
MOVE *A8+,A10,W ;DIRECTION
|
|||
|
MOVE @WORLDTLX+16,A3
|
|||
|
MOVE *A8+,A0,W
|
|||
|
ADD A3,A0
|
|||
|
MOVE A0,B0
|
|||
|
MOVE *A8+,A2
|
|||
|
MOVE *A8+,A0
|
|||
|
ADD A3,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A9
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A8,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE @WORLDTLY+16,A3
|
|||
|
ADD A3,A0
|
|||
|
SLL 16,A0
|
|||
|
MOVY A0,A9
|
|||
|
;A8=CHOSEN RECTANGLE INFO
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
RETS
|
|||
|
FIXED2
|
|||
|
MOVK 1,A11 ;NOT LOTS OF RANGE
|
|||
|
JRUC FIXA
|
|||
|
JUMPR
|
|||
|
;JUMP DOWN FROM RIGHT WALL
|
|||
|
MOVK 3,A0 ;A0=3=JUMP DOWN FROM RGT WALL
|
|||
|
JRUC FIXAB
|
|||
|
JUMPD MOVK 1,A0 ;A0=1=JUMP DOWN FROM ROOF
|
|||
|
JRUC FIXAB
|
|||
|
|
|||
|
FIXEDA
|
|||
|
MOVE @HCOUNT,A0
|
|||
|
ANDI 03H,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI INTOL,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
MOVE @ENEMY_RECT,A8,L
|
|||
|
ADD A0,A8
|
|||
|
MOVE *A8+,A0,W
|
|||
|
;FIXED RECTANGLE FOR ALL AHMEDS/FNDS
|
|||
|
CLR A11
|
|||
|
MOVE *A8+,A10,W ;DIRECTION
|
|||
|
MOVE *A8+,A0,W
|
|||
|
MOVE A0,B0
|
|||
|
MOVE *A8+,A2
|
|||
|
MOVE *A8+,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A9
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A8,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SLL 16,A0
|
|||
|
MOVY A0,A9
|
|||
|
;A8=CHOSEN RECTANGLE INFO
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
RETS
|
|||
|
SFIXED
|
|||
|
CALLR POSITN2
|
|||
|
JRUC SPAWN_GROUPS ;SKIPPER
|
|||
|
FIXED
|
|||
|
;FIXED RECTANGLE
|
|||
|
CLR A11
|
|||
|
FIXA CLR A0
|
|||
|
FIXAB MOVE A0,@JUMPER
|
|||
|
CALLR POSITN2
|
|||
|
JRUC SPAWN_GROUP
|
|||
|
POSITN2 MOVE *A8+,A10,W ;DIRECTION
|
|||
|
MOVE *A8+,A0,W
|
|||
|
MOVE A0,B0
|
|||
|
MOVE *A8+,A2
|
|||
|
MOVE *A8+,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,A9
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A8,A0
|
|||
|
MOVE A0,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SLL 16,A0
|
|||
|
MOVY A0,A9
|
|||
|
;A8=CHOSEN RECTANGLE INFO
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
RETS
|
|||
|
|
|||
|
SEND_GROUP:
|
|||
|
;SEND GROUP OF HULKS FROM SPECIFIC SPOT
|
|||
|
;A9=[Y,X] OF SPOT TO START FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVE @HULK_DN,A0
|
|||
|
JRNZ ROUT
|
|||
|
CLR A11
|
|||
|
SPAWN_GROUP:
|
|||
|
;@JUMPER=0 FOR NORM, 1=FROM ROOFTOP
|
|||
|
MOVI 100,A0 ;140
|
|||
|
CALLA RANDPER
|
|||
|
JRC GANG
|
|||
|
REGG ANDI 03H,A0
|
|||
|
ADDK 1,A0
|
|||
|
MOVE A0,A8
|
|||
|
SG1
|
|||
|
CREATE HULKPID,AHULK ;START ONE HULK
|
|||
|
MOVE @HTYPE,A1
|
|||
|
MOVE A1,*A0(HULKTYP)
|
|||
|
DSJS A8,SG1
|
|||
|
ROUT
|
|||
|
RETS
|
|||
|
SPAWN_GROUPS:
|
|||
|
;FOR SKIPPERS
|
|||
|
MOVI 260,A0 ;140
|
|||
|
CALLA RANDPER
|
|||
|
JRC SKGANG
|
|||
|
MOVE @RAND,A0
|
|||
|
ANDI 03H,A0
|
|||
|
ADDK 1,A0
|
|||
|
MOVE A0,A8
|
|||
|
G2 CREATE HULKPID,ASKIPR
|
|||
|
DSJS A8,G2
|
|||
|
RETS
|
|||
|
SKGANG:
|
|||
|
MOVI SKIPR,A2
|
|||
|
CALLR GET_WVADDR
|
|||
|
MOVE *A0(16),A0 ;GET HULKS LEFT TO RELEASE THIS WAVE!
|
|||
|
CMPI 16,A0 ;MIN HULKS BEFORE GANG
|
|||
|
JRLT SNH1 ;RELEASE ALL OF THEM!
|
|||
|
MOVK 7,B0 ;5 ;# OF HULKS IN A GANG
|
|||
|
MOVK 14,B1 ;13
|
|||
|
CALLA RANGRAND
|
|||
|
SNH1: PUSH A0
|
|||
|
CREATE HULKPID,GSKIPR
|
|||
|
PULL A0
|
|||
|
DSJ A0,SNH1
|
|||
|
RETS
|
|||
|
|
|||
|
GANG:
|
|||
|
;@JUMPER=0 FOR NORM, 1=FROM ROOFTOP
|
|||
|
MOVE A11,A11
|
|||
|
JRNZ REGG
|
|||
|
;BTST FOR SEVERAL WAVES HERE!
|
|||
|
; MOVE @WAVE,A2
|
|||
|
; CMPI 1,A2
|
|||
|
; JRZ REGG
|
|||
|
MOVI HULK,A2
|
|||
|
CALLR GET_WVADDR
|
|||
|
MOVE *A0(16),A0 ;GET HULKS LEFT TO RELEASE THIS WAVE!
|
|||
|
CMPI 16,A0 ;MIN HULKS BEFORE GANG
|
|||
|
JRLT GNH1 ;RELEASE ALL OF THEM!
|
|||
|
MOVK 7,B0 ;5 ;# OF HULKS IN A GANG
|
|||
|
MOVK 15,B1 ;13
|
|||
|
CALLA RANGRAND
|
|||
|
GNH1: PUSH A0
|
|||
|
CREATE HULKPID,GHULK
|
|||
|
MOVE @HTYPE,A1
|
|||
|
MOVE A1,*A0(HULKTYP)
|
|||
|
PULL A0
|
|||
|
DSJ A0,GNH1
|
|||
|
RETS
|
|||
|
|
|||
|
GHULK:
|
|||
|
;GHULK PUTS X # OF HULKS BEHIND SPOT IN GANG FORMATION!
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
CALLR SETUP_HULK
|
|||
|
MOVE A10,*A13(DIR)
|
|||
|
MOVK 30,A1
|
|||
|
MOVE A1,*A13(DIS)
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI GHXT,A0
|
|||
|
MOVE *A0,A4,L
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SLL 16,A0
|
|||
|
ADD A9,A0
|
|||
|
MOVE A0,A1
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVX A9,A2
|
|||
|
ADD A0,A2
|
|||
|
SLL 16,A2
|
|||
|
MOVE A2,A0
|
|||
|
SLL 5,A10
|
|||
|
ADDI GHXTF,A10
|
|||
|
MOVE *A10,A9,L
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A3
|
|||
|
SLL 5,A3
|
|||
|
ADDI HULTP,A3
|
|||
|
MOVE *A3,A2,L
|
|||
|
|
|||
|
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSENMY|TYPGRW,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
|
|||
|
MOVK 1,B0 ;CLR B0
|
|||
|
MOVK 6,B1 ;5
|
|||
|
CALLA RANGRAND
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(LEVEL)
|
|||
|
MOVE *A13(CFLAGS),A0 ;INDICATE GANG MEMBER FOR RUN IN
|
|||
|
ORI 012H,A0 ;10
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
JRUC OKZ0
|
|||
|
|
|||
|
HULTP .LONG DUM2,BOY1,AHMED10
|
|||
|
|
|||
|
GHXT .LONG 0,GBTML,GBTML,GLFTL,GTOPL,GTOPL,GTOPL,GRGTL,GRGTL
|
|||
|
GHXTF .LONG 0,GR10,GR2,GR5,GR5,GR8,GR8,GR8,GR10
|
|||
|
DGHXTF .LONG 0,DGR10,DGR2,DGR5,DGR5,DGR8,DGR8,DGR8,DGR10
|
|||
|
GTOPL .WORD -30,-15,-10,65 ;Y,Y,X,X
|
|||
|
GBTML .WORD -5,50,-15,55
|
|||
|
GLFTL .WORD -30,11,0,25
|
|||
|
GRGTL .WORD -30,11,5,30
|
|||
|
SKGLFTL .WORD -45,-5,0,25
|
|||
|
SKGRGTL .WORD -45,-5,5,30
|
|||
|
|
|||
|
FLD1 .LONG DBAT1,gb6w5a,AHMED10 ;ADETH81B
|
|||
|
FLD2 .LONG DHXTF,HXTF,DHXTFA
|
|||
|
|
|||
|
HXT .LONG 0,BTML,BTML,LFTL,TOPL,TOPL,TOPL,RGTL,RGTL
|
|||
|
SHXT .LONG 0,BTML,BTML,SLFTL,TOPL,TOPL,TOPL,SRGTL,SRGTL
|
|||
|
;DEMON GRUNT
|
|||
|
HXTF .LONG 0,BTMLF,BTMLF,LFTLF,TOPLF,TOPLF,TOPLF,RGTLF,RGTLF ;AXE
|
|||
|
;SOLDIER
|
|||
|
DHXTF .LONG 0,DBTMLF,DBTMLF,DLFTLF,DTOPLF,DTOPLF,DTOPLF,DRGTLF,DRGTLF
|
|||
|
;AHMED GRUNT
|
|||
|
DHXTFA .LONG 0,DBTMLFA,DBTMLFA,DLFTLFA,DTOPLFA,DTOPLFA,DTOPLFA,DRGTLFA,DRGTLFA
|
|||
|
;[Y],[X] OF PLACEMENT
|
|||
|
BTML .LONG 0,0,[-15,0],[24,0],[-15,0],[48,0],[-5,0],[00,0],[-5,0],[72,0]
|
|||
|
LFTL .LONG 0,0,[-10,0],[25,0],[14,0],[5,0],[-34,0],[5,0],[-10,0],[-5,0]
|
|||
|
TOPL .LONG 0,0,[-20,0],[22,0],[-20,0],[44,0],[-30,0],[0,0],[-30,0],[66,0]
|
|||
|
RGTL .LONG 0,0,[-19,0],[20,0],[-2,0],[20,0],[-36,0],[32,0],[15,0],[32,0]
|
|||
|
;SKIPPERS
|
|||
|
SLFTL .LONG 0,0,[-10,0],[25,0],[0,0],[5,0],[-30,0],[5,0],[-10,0],[-5,0]
|
|||
|
SRGTL .LONG 0,0,[-19,0],[20,0],[-2,0],[20,0],[-30,0],[32,0],[0,0],[32,0]
|
|||
|
|
|||
|
FRMHUT .LONG 0,0,[0,0],[10,0],[0,0],[30,0],[0,0],[50,0],[0,0],[70,0]
|
|||
|
|
|||
|
|
|||
|
BTMLF .LONG 0,GR10,GR10,GR2,GR2
|
|||
|
LFTLF .LONG 0,GR2,GR5,GR2,GR5
|
|||
|
TOPLF .LONG 0,GR5,GR5,GR5,GR5
|
|||
|
RGTLF .LONG 0,GR10,GR8,GR10,GR8
|
|||
|
|
|||
|
;REGULAR GRUNT
|
|||
|
DBTMLF .LONG 0,DGR10,DGR10,DGR2,DGR2
|
|||
|
DLFTLF .LONG 0,DGR2,DGR5,DGR2,DGR5
|
|||
|
DTOPLF .LONG 0,DGR5,DGR5,DGR5,DGR5
|
|||
|
DRGTLF .LONG 0,DGR10,DGR8,DGR10,DGR8
|
|||
|
|
|||
|
;AHMED GRUNT
|
|||
|
DBTMLFA .LONG 0,DGR10A,DGR10A,DGR2A,DGR2A
|
|||
|
DLFTLFA .LONG 0,DGR2A,DGR5A,DGR2A,DGR5A
|
|||
|
DTOPLFA .LONG 0,DGR5A,DGR5A,DGR5A,DGR5A
|
|||
|
DRGTLFA .LONG 0,DGR10A,DGR8A,DGR10A,DGR8A
|
|||
|
|
|||
|
JUMPOUT
|
|||
|
;A8=STEEL DOOR IMG
|
|||
|
MOVE @PCNT,A1
|
|||
|
ANDI 03H,A1
|
|||
|
ADDK 2,A1
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
CALLR DO_DIFF
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(BULPRC),L ;BULLET FIRING PROCESS
|
|||
|
CALLR GETPSK
|
|||
|
MOVE *A8(OFLAGS),A0
|
|||
|
BTST B_FLIPH,A0
|
|||
|
JRNZ FLFT
|
|||
|
;FROM RIGHT TO LEFT JUMPER OUT OF PIT
|
|||
|
MOVE *A8(OXVAL),A0,L ;POSITION GRUNT UNDER PIT
|
|||
|
ADDI [22,0],A0
|
|||
|
MOVE @PCNT,A1
|
|||
|
ANDI 07H,A1
|
|||
|
SLL 16,A1
|
|||
|
ADD A1,A0
|
|||
|
MOVK 7,A4
|
|||
|
MOVI -0B800H,A11 ;12
|
|||
|
MOVI DMAWNZ,A5 ;NON-ZERO VALUE
|
|||
|
JRUC JALL
|
|||
|
FLFT
|
|||
|
;JUMP UP AND OUT FROM LEFT TO RIGHT
|
|||
|
MOVE *A8(OXVAL),A0,L ;POSITION GRUNT UNDER PIT
|
|||
|
ADDI [5,0],A0
|
|||
|
MOVE @PCNT,A1
|
|||
|
ANDI 07H,A1
|
|||
|
SLL 16,A1
|
|||
|
ADD A1,A0
|
|||
|
MOVK 3,A4
|
|||
|
MOVI 0B800H,A11 ;12
|
|||
|
MOVI DMAWNZ|M_FLIPH,A5 ;NON-ZERO VALUE
|
|||
|
JALL
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVE @HULK_CNT,A2
|
|||
|
ANDI 07H,A2
|
|||
|
SLL 16,A2
|
|||
|
ADD A2,A1
|
|||
|
ADDI [3,0],A1 ;6
|
|||
|
|
|||
|
MOVE A4,*A13(SK_DIR)
|
|||
|
MOVE A4,*A13(DIR)
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A3
|
|||
|
SLL 5,A3
|
|||
|
ADDI FLD1,A3
|
|||
|
MOVE *A3,A2,L ;GET IMG TO TURN ON
|
|||
|
|
|||
|
MOVI 30,A3 ;UNDER PIT WALLS
|
|||
|
MOVE A5,A4
|
|||
|
MOVI CLSENMY|TYPGRW,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
;OBJECT ON, NOW JUMP HIM OUT
|
|||
|
;READY FOR JUMP FROM RIGHT
|
|||
|
;CHANGE VELOCITY HERE
|
|||
|
CREATE 0,DOYVP ;FOR PIT JUMPERS
|
|||
|
MOVI JRDWNP,A9 ;DEMON
|
|||
|
MOVI JRDWN2,A10 ;NEXT PHASE
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
JRNZ RTAG4X
|
|||
|
MOVI DJRDWNP,A9 ;REGULAR SOLDIER
|
|||
|
MOVI DJRDWN2,A10 ;NEXT PHASE
|
|||
|
RTAG4X
|
|||
|
MOVE A11,*A8(OXVEL),L
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
;JUMP/LAND
|
|||
|
;TURN ON COLLISIONS
|
|||
|
MOVI CLSENMY|TYPHULK,A5 ;OR MAYBE IN JUMPING DOWN LOOP!
|
|||
|
MOVE A5,*A8(OID)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
CALLR INTO
|
|||
|
CALLR GET_RUN ;GET FIRST FRANIM PNTR FOR
|
|||
|
MOVK 2,A3 ;5
|
|||
|
MOVE A3,*A13(DIS) ;CHANGE BASED ON HULKS SPEED?
|
|||
|
MOVE A3,*A13(BOXCK)
|
|||
|
MOVE *A13(CFLAGS),A0 ;RUNNING OUT/ ANGLE OFF AFTER DIS=0
|
|||
|
ORI 2,A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
JRUC LUP_ST
|
|||
|
|
|||
|
;
|
|||
|
AHULK:
|
|||
|
;A8=1-4 FOR GRUNT # FOR THIS RELEASE
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;A11=1 IF FIXED AREA FOR RELEASE
|
|||
|
;@JUMPER=0 FOR NORM, 1=FROM ROOFTOP
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
CALLR SETUP_HULK ;INC CNT, SET DIR, SET DEATH FLAG
|
|||
|
MOVE A10,*A13(DIR)
|
|||
|
|
|||
|
;A8=1-4
|
|||
|
;A11=0 THEN SPREAD OUT
|
|||
|
MOVE A11,A11
|
|||
|
JRZ DOXY
|
|||
|
;FOR STACKING UP IN HUT
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
MOVI FRMHUT,A4 ;ADDI HXT2,A0
|
|||
|
JRUC DOX
|
|||
|
DOXY MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI HXT,A0
|
|||
|
MOVE *A0,A4,L
|
|||
|
;BTML .LONG 0,0,[08,0],[10,0],[08,0],[30,0],[08,0],[50,0],[17,0],[20,0]
|
|||
|
;[Y,X] OF PLACEMENT
|
|||
|
;A4=THIS
|
|||
|
;A8=1-4
|
|||
|
DOX SLL 6,A8
|
|||
|
ADD A8,A4
|
|||
|
MOVE *A4+,A1,L ;GET Y FIRST
|
|||
|
ADD A9,A1
|
|||
|
SLL 16,A9
|
|||
|
MOVE *A4,A0,L
|
|||
|
ADD A9,A0
|
|||
|
SLL 5,A10
|
|||
|
;BTMLF .LONG 0,GR10,GR10,GR2,GR2
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A3
|
|||
|
SLL 5,A3
|
|||
|
MOVI FLD1,A2
|
|||
|
ADD A3,A2
|
|||
|
MOVE *A2,A2,L
|
|||
|
ADDI FLD2,A3
|
|||
|
MOVE *A3,A3,L
|
|||
|
ADD A3,A10
|
|||
|
|
|||
|
RTAG3 MOVE *A10,A10,L
|
|||
|
SRL 1,A8
|
|||
|
ADD A8,A10
|
|||
|
MOVE *A10,A9,L
|
|||
|
;NEED A0=[X,0000],A1=[Y,0000]
|
|||
|
|
|||
|
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
;A9=FRANIM GROW FROM SLIME
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSENMY|TYPGRW,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
|
|||
|
MOVE *A13(CFLAGS),A0 ;RUNNING OUT
|
|||
|
ORI 2,A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
OKZ0
|
|||
|
MOVE @JUMPER,A11
|
|||
|
JRZ NOJMP
|
|||
|
MOVI 300,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
MOVK 5,A0
|
|||
|
MOVE A0,*A13(LEVEL)
|
|||
|
MOVE A11,*A13(JUMPF)
|
|||
|
CALLR SV ;STRTME
|
|||
|
|
|||
|
BIN
|
|||
|
;IN HERE FOR BACKGROUND JUMPER
|
|||
|
|
|||
|
;IF THIS IS A JUMPER DUDE, THEN
|
|||
|
;TURN OFF COLLISIONS
|
|||
|
MOVE *A8(OFLAGS),A0
|
|||
|
ORI M_NOCOLL,A0
|
|||
|
MOVE A0,*A8(OFLAGS)
|
|||
|
STPWLK SLEEPK 1
|
|||
|
;RUN UNTIL TIME TO JUMP
|
|||
|
CKXYTOP MOVE @HALT,A0
|
|||
|
JRNZ STPWLK
|
|||
|
CLR A1
|
|||
|
JSRP FRANIM
|
|||
|
JRNC CKY ;BR=NOT AT END OF SCRIPT YET
|
|||
|
CALLR GET_RUN
|
|||
|
CKY CMPI 1,A11
|
|||
|
JRNZ CKXL
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
MOVE @JUMPXY,A1
|
|||
|
CMP A0,A1
|
|||
|
JRGT CKXYTOP
|
|||
|
|
|||
|
;READY FOR JUMP DOWN
|
|||
|
;CHANGE VELOCITY HERE
|
|||
|
CREATE 0,DOYV1
|
|||
|
MOVI JDWN,A9 ;AXE GRUNT
|
|||
|
MOVI JDWN2,A10 ;NEXT PHASE
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
JRNZ RTAG6
|
|||
|
MOVI DJDWN,A9 ;SOLDIER GRUNT
|
|||
|
MOVI DJDWN2,A10 ;NEXT PHASE
|
|||
|
RTAG6 MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
; MOVI JDWN2,A9
|
|||
|
JINOUT
|
|||
|
;JUMP/LAND
|
|||
|
;TURN ON COLLISIONS
|
|||
|
MOVE *A8(OFLAGS),A0
|
|||
|
ANDI 0F7FFH,A0
|
|||
|
MOVE A0,*A8(OFLAGS)
|
|||
|
MOVI CLSENMY|TYPHULK,A5
|
|||
|
MOVE A5,*A8(OID)
|
|||
|
MOVI 159,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
SLEEPK 10
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
CALLR INTO
|
|||
|
CALLR GET_RUN ;GET FIRST FRANIM PNTR FOR
|
|||
|
MOVK 20,A3
|
|||
|
MOVE A3,*A13(DIS) ;CHANGE BASED ON HULKS SPEED?
|
|||
|
JRUC LUP_ST
|
|||
|
|
|||
|
CKXL CMPI 3,A11
|
|||
|
JRNZ CKXR
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
MOVE @JUMPXY2,A1
|
|||
|
CMP A0,A1
|
|||
|
JRLT CKXYTOP
|
|||
|
;READY FOR JUMP FROM RIGHT
|
|||
|
;CHANGE VELOCITY HERE
|
|||
|
CREATE 0,DOYV
|
|||
|
MOVI JRDWN,A9 ;DEMON
|
|||
|
MOVI JRDWN2,A10 ;NEXT PHASE
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
JRNZ RTAG4
|
|||
|
; CREATE 0,MYSHAD
|
|||
|
MOVI DJRDWN,A9 ;REGULAR SOLDIER
|
|||
|
MOVI DJRDWN2,A10 ;NEXT PHASE
|
|||
|
RTAG4
|
|||
|
MOVI -8800H,A0 ;12
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
JRUC JINOUT
|
|||
|
|
|||
|
DOYV1 ;FROM TOP OF SCRN DOWN
|
|||
|
MOVI -3000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 10
|
|||
|
MOVI -1000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 3
|
|||
|
MOVI 5000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
MOVI 0F000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
|
|||
|
SLEEPK 015H
|
|||
|
MOVI 016000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 0CH
|
|||
|
MOVI 01C000H,A0 ;12
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
DIE
|
|||
|
DOYV MOVI -8000H,A0 ;FROM RIGHT OF SCRN DOWN
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
MOVI -4000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
MOVI 3000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
MOVI 0C000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
|
|||
|
MOVI 15000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
DIE
|
|||
|
|
|||
|
DOYVP MOVI 0FFFE7000H,A0 ;FOR HULK JUMPING UP AND OUT OF PIT
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 18
|
|||
|
|
|||
|
MOVI 159,A0
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
SLEEPK 7
|
|||
|
MOVI 0FFFF6000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 15
|
|||
|
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 7
|
|||
|
MOVI 0F000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
SLEEPK 7
|
|||
|
MOVI 15000H,A0
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
DIE
|
|||
|
|
|||
|
|
|||
|
CKXR LOCKUP
|
|||
|
|
|||
|
SV
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI HPAL,A1
|
|||
|
MOVE *A1,A0,L
|
|||
|
|
|||
|
CALLA GETFPAL ;GET A COLOR MAP ASSIGNMENT
|
|||
|
MOVE A0,*A8(OPAL),W ;STORE THE NEW PALETTE
|
|||
|
OKVA
|
|||
|
CALLR DO_DIFF
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
MOVE A0,*A13(BOXCK)
|
|||
|
CALLR INTO
|
|||
|
JRUC GET_RUN ;CALLR GET_RUN ;GET FIRST FRANIM PNTR FOR
|
|||
|
|
|||
|
HPAL .LONG DGP2,GRNTB,AHMEDP
|
|||
|
|
|||
|
NOJMP
|
|||
|
;CHANGE PAL IF NEEDED
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
CMPI 4,A0 ;4
|
|||
|
JRLT OKVX
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI HPAL,A1
|
|||
|
MOVE *A1,A0,L
|
|||
|
CALLA GETFPAL ;GET A COLOR MAP ASSIGNMENT
|
|||
|
MOVE A0,*A8(OPAL),W ;STORE THE NEW PALETTE
|
|||
|
OKVX
|
|||
|
;GROW UP OUT OF SLIME
|
|||
|
; MOVK 1,A0
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVI CLSENMY|TYPHULK,A5
|
|||
|
MOVE A5,*A8(OID)
|
|||
|
;THEN START WITH A VELOCITY!
|
|||
|
CALLR OKVA
|
|||
|
MOVI 38,A3 ;38
|
|||
|
MOVE A3,*A13(DIS) ;CHANGE BASED ON HULKS SPEED?
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
SRL 16,A1
|
|||
|
ADDI 285,A1 ;275
|
|||
|
CMP A0,A1
|
|||
|
JRGT LUP_ST
|
|||
|
;THIS HULK STARTING LOWER THAN BOTTOM OF SCRN!
|
|||
|
;RESET ITS Y LINE
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
LUP_ST: MOVK 2,B0
|
|||
|
MOVI 12,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A13(STCNT)
|
|||
|
;
|
|||
|
; LOOP TOP FOR HULKS
|
|||
|
;
|
|||
|
LUP_TOP:
|
|||
|
;TOP OF HULK LOGIC
|
|||
|
MOVE @HALT,A0
|
|||
|
JRZ CONT0 ;IF HALT ON, LOOP BACK TO TOP
|
|||
|
SLEEPK 3
|
|||
|
JRUC LUP_TOP
|
|||
|
CONT0
|
|||
|
;
|
|||
|
; DO HULK MOVEMENT LOGIC A8=CURRENT OBJECT POINTER (HULK IMAGE)
|
|||
|
;
|
|||
|
;FIRST, DO AGE/LEVEL UPDATE
|
|||
|
MOVE *A13(HAGE),A0
|
|||
|
ANDI 03FFH,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(HAGE)
|
|||
|
JRNZ NONEW
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
CMPI MAXLEVEL,A0
|
|||
|
JREQ NONEW
|
|||
|
INC A0
|
|||
|
MOVE A0,*A13(LEVEL)
|
|||
|
CALLR DO_DIFF
|
|||
|
MOVE *A13(KPAGE),A0
|
|||
|
MOVE A0,*A13(HAGE)
|
|||
|
NONEW
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 1,A0
|
|||
|
JRNZ NOPROB ;IF JUST RUNNING IN, DON'T CHECK WALLS
|
|||
|
MOVE @EN_CURRENT,A0,L ;CURRENT RECT LIST
|
|||
|
JRZ NOPROB
|
|||
|
CALLR CK_RECT
|
|||
|
JRNC NOPROB
|
|||
|
;THIS GRUNT IS STUCK BNCING BETWEEN WALLS!
|
|||
|
;KILL ME!
|
|||
|
MOVK 1,A11
|
|||
|
JRUC BMPDI
|
|||
|
NOPROB MOVI SETUP_DIR,A10 ;ROUTINE TO CALL
|
|||
|
CALLR CK_SPIN
|
|||
|
MOVE A0,A0
|
|||
|
JRZ NOTSPIN
|
|||
|
CALLA PRCSLP
|
|||
|
JRUC LUP_TOP
|
|||
|
|
|||
|
NOTSPIN
|
|||
|
MOVE *A13(DIS),A0 ;UPDATE DISTANCE COUNT
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(DIS) ;STUFF NEW COUNT
|
|||
|
JRNZ DOHULK ;BR=CONTINUE CURRENT DIRECTION
|
|||
|
MOVE A0,*A13(BNCING)
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 4,A0
|
|||
|
JRZ NGNG ;BR=NOT A GANG MEMBER
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ANDI 0FFEDH,A0 ;I AM A GANG MEMBER ;FFEF
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
JRUC T3
|
|||
|
NGNG MOVE *A13(CFLAGS),A0
|
|||
|
BTST 1,A0
|
|||
|
JRZ T3
|
|||
|
;THIS HULK JUST RUNNING IN! GIVE THIS ONE A BOGUS SEEK DIR
|
|||
|
;IF WITHIN WALLS THEN CONT, OTHERWISE RESET DIS CNTR
|
|||
|
MOVE *A13(DIR),A3
|
|||
|
SLL 5,A3
|
|||
|
ADDI NEWANG,A3
|
|||
|
MOVK 1,B0
|
|||
|
MOVK 4,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE *A3,A3,L
|
|||
|
DEC A0
|
|||
|
SLL 4,A0
|
|||
|
ADD A0,A3
|
|||
|
MOVE *A3,A0 ;NEW SEEK DIR
|
|||
|
MOVE A0,*A13(SK_DIR)
|
|||
|
CALLR INTO
|
|||
|
JRUC T4
|
|||
|
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
NEWANGA:
|
|||
|
.LONG 0,ANG1A,ANG1A,ANG3A,ANG5A,ANG5A,ANG7A,ANG7A,ANG1A
|
|||
|
NEWANG: .LONG 0,ANG1,ANG1,ANG3,ANG5,ANG5,ANG7,ANG7,ANG1
|
|||
|
ANG5: .WORD 7,6,4,3
|
|||
|
ANG1: .WORD 7,3,8,2
|
|||
|
ANG3: .WORD 1,5,2,4
|
|||
|
ANG7: .WORD 8,6,1,5
|
|||
|
;
|
|||
|
ANG5A: .WORD 7,3,5,3
|
|||
|
ANG1A: .WORD 7,3,1,7
|
|||
|
ANG3A: .WORD 1,5,5,3
|
|||
|
ANG7A: .WORD 1,5,1,7
|
|||
|
;
|
|||
|
;NOW POINT THIS HULK AT CURRENT POSITION OF PLAYER
|
|||
|
T3: MOVE *A13(BNCING),A0
|
|||
|
JRNZ DOHULK
|
|||
|
MOVE *A13(SK_DIR),A7,W
|
|||
|
;IF NEW SEEK IS <> OLD SEEK, THEN SET STAND FLAG
|
|||
|
CALLR GET_DIS
|
|||
|
CALLR SETUP_DIR
|
|||
|
MOVE *A13(SK_DIR),A0
|
|||
|
CMP A0,A7 ;NEW CMP OLD SEEK
|
|||
|
JREQ DOHULK
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
JRNZ T4
|
|||
|
;MAYBE SHOOT AT PLAYER!
|
|||
|
MOVE *A13(STCNT),A0
|
|||
|
JRZ T4
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(STCNT)
|
|||
|
JRNZ T4
|
|||
|
;SHOOT AT PLAYER
|
|||
|
MOVK 2,B0
|
|||
|
MOVI 12,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A13(STCNT)
|
|||
|
;DOSHOOT
|
|||
|
;A9=PLAYER 1 OR 2
|
|||
|
;THIS HULK IS ABOUT TO SHOOT
|
|||
|
;START HULK SHOTS
|
|||
|
* ISOBJ - IS AN OBJECT ON THE OBJECT LIST? *
|
|||
|
* A0 = PTR TO OBJECT *
|
|||
|
* RETURNS: *
|
|||
|
* Z BIT SET = NO OBJECT, A0 = 0 *
|
|||
|
* Z BIT CLR = NO OBJECT, A0 = PTR TO OBJECT *
|
|||
|
MOVE A8,A0
|
|||
|
CALLA ISOBJ ;FIX BUG!
|
|||
|
JRZ HDI
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A1,*A8(OYVEL),L
|
|||
|
MOVE @HULK_CNT,A9
|
|||
|
MOVE @PCNT,A11
|
|||
|
ANDI 03H,A11
|
|||
|
INC A11 ;A11=FRANIM LIST CNT
|
|||
|
MOVE A11,*A13(IBAT)
|
|||
|
ANDI 01H,A9
|
|||
|
SLL 5,A9
|
|||
|
MOVI PLYROBJS,A2
|
|||
|
ADD A9,A2
|
|||
|
MOVE *A2,A0,L
|
|||
|
JRNZ DOS1
|
|||
|
XORI 32,A9
|
|||
|
MOVI PLYROBJS,A2
|
|||
|
ADD A9,A2
|
|||
|
MOVE *A2,A0,L
|
|||
|
DOS1 MOVE *A0(OYPOS),A2 ;A2=Y OF PLYR I HIT
|
|||
|
MOVE *A0(OXPOS),A1 ;A1=X
|
|||
|
MOVE *A8(OYPOS),A3 ;A3=THIS HULKS' Y
|
|||
|
MOVE *A8(OXPOS),A4 ;A4=THIS HULKS' X
|
|||
|
CMP A3,A2
|
|||
|
JRC XSUP ;BR=BAT UPWARD
|
|||
|
CMP A4,A1
|
|||
|
JRC XB8O ;BR=8 O'CLOCK SWING NEEDED
|
|||
|
;4 O'CLOCK
|
|||
|
MOVI SHOOT4O,A9 ;SOLDIER
|
|||
|
CLR A10
|
|||
|
JRUC GUNFIRE
|
|||
|
XB8O
|
|||
|
;8
|
|||
|
MOVI SHOOT8O,A9
|
|||
|
MOVK 1,A10
|
|||
|
JRUC GUNFIRE
|
|||
|
XSUP CMP A4,A1
|
|||
|
JRC XB10O
|
|||
|
;2 O'CLOCK
|
|||
|
MOVI SHOOT2O,A9
|
|||
|
MOVK 2,A10
|
|||
|
JRUC GUNFIRE
|
|||
|
XB10O
|
|||
|
MOVI SHOOT10O,A9
|
|||
|
MOVK 3,A10
|
|||
|
|
|||
|
GUNFIRE
|
|||
|
CREATE FLMPID,ABULLET ;HULKPID
|
|||
|
MOVE A0,*A13(BULPRC),L ;KEEP BULLET FIRING PROCESS
|
|||
|
SLL 5,A10 ;DISPLAY INITIAL SHOOTING FRAME
|
|||
|
MOVI GFA,A0
|
|||
|
ADD A10,A0
|
|||
|
MOVE *A0,A1,L
|
|||
|
ADDI GFF,A10
|
|||
|
MOVE *A10,A4,L
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 30
|
|||
|
MOVE A9,A10
|
|||
|
GF MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
DSJS A11,GF
|
|||
|
SLEEPK 30
|
|||
|
JRUC BATDN
|
|||
|
|
|||
|
ABULLET
|
|||
|
;A11=# OF BULLETS TO SHOOT/2
|
|||
|
;A10=0=4,1=8,2=2,3=10 = DIRECTIONS
|
|||
|
SLEEPK 30
|
|||
|
SLL 1,A11
|
|||
|
ABU CREATE FLMPID,BULL2 ;HULKPID
|
|||
|
SLEEPK 8
|
|||
|
DSJS A11,ABU
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE A11,*A0(BULPRC),L
|
|||
|
HDI DIE
|
|||
|
|
|||
|
GFA .LONG DSWINGa,DSWINGa,DBATa,DBATa
|
|||
|
GFF .LONG DMAWNZ|M_FLIPH,DMAWNZ,DMAWNZ|M_FLIPH,DMAWNZ
|
|||
|
|
|||
|
;A10=0=4,1=8,2=2,3=10 = DIRECTIONS
|
|||
|
;BLIMG .LONG GNTBUL8,GNTBUL8,GNTBUL10,GNTBUL10
|
|||
|
;BLIMG .LONG GNTBUL8,GNTBUL8,GNTBUL10,GNTBUL10
|
|||
|
;BLFLP .LONG DMAWNZ|M_FLIPH,DMAWNZ,DMAWNZ|M_FLIPH,DMAWNZ
|
|||
|
XVL .LONG 018000H,-18000H,018000H,-18000H
|
|||
|
YVL .LONG 0C000H,0C000H,-18000H,-18000H
|
|||
|
XOFSET .LONG [18H,0],[-4,0],[1BH,0],[-2,0]
|
|||
|
YOFSET .LONG [16H,0],[16H,0],[-2,0],[-2,0]
|
|||
|
BULL2
|
|||
|
SLL 5,A10
|
|||
|
|
|||
|
MOVI GFF,A3
|
|||
|
ADD A10,A3
|
|||
|
MOVE *A3,A4,W ;MAYBE LONG
|
|||
|
|
|||
|
MOVI XVL,A3
|
|||
|
ADD A10,A3
|
|||
|
MOVE *A3,A6,L
|
|||
|
MOVI YVL,A3
|
|||
|
ADD A10,A3
|
|||
|
MOVE *A3,A7,L
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVI XOFSET,A3
|
|||
|
MOVI YOFSET,A5
|
|||
|
ADD A10,A3
|
|||
|
MOVE *A3,A3,L
|
|||
|
ADD A3,A0
|
|||
|
ADD A10,A5
|
|||
|
MOVE *A5,A3,L
|
|||
|
ADD A3,A1
|
|||
|
MOVI CNNBLL2,A2
|
|||
|
MOVI CLSENMY|TYPGOO,A5 ;ENMY|TYPSHOT,A5
|
|||
|
MOVI 160,A3 ;133
|
|||
|
CALLA BEGINOBJ2
|
|||
|
|
|||
|
MOVI GRNTSHT,A0
|
|||
|
CALLA ONESND
|
|||
|
JAUC START_PJ2
|
|||
|
|
|||
|
|
|||
|
T4: MOVE *A13(CFLAGS),A0 ;SAYS I AM SPINNING
|
|||
|
ORI 01H,A0
|
|||
|
MOVE A0,*A13(CFLAGS),W
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,*A13(OSCILLATE)
|
|||
|
SLEEPK 3
|
|||
|
JRUC LUP_TOP
|
|||
|
DOHULK:
|
|||
|
CLR A1
|
|||
|
JSRP FRANIM
|
|||
|
JRNC CHECK_NEXT ;BR=NOT AT END OF SCRIPT YET
|
|||
|
CALLR GET_RUN
|
|||
|
|
|||
|
CHECK_NEXT:
|
|||
|
JRUC LUP_TOP
|
|||
|
|
|||
|
DOBAT:
|
|||
|
;A9=PLAYER 1 OR 2
|
|||
|
;THIS HULK IS BATTING
|
|||
|
;START BAT SWING
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ DBC
|
|||
|
;HULK WAS GOING UP, CHEAT HIM UP A LITTLE CLOSER TO PLAYER
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
SUBK 5,A0
|
|||
|
MOVE A0,*A8(OYPOS)
|
|||
|
DBC CALLR PHASE1
|
|||
|
JRC SUP ;BR=BAT UPWARD
|
|||
|
CMP A4,A1
|
|||
|
JRC B8O ;BR=8 O'CLOCK SWING NEEDED
|
|||
|
;4 O'CLOCK
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI ABAT,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
JRUC DOBT
|
|||
|
|
|||
|
ABAT .LONG BAT4OS,BAT4O,BAT4OA
|
|||
|
BBAT .LONG BAT8OS,BAT8O,BAT8OA
|
|||
|
CBAT .LONG BAT2OS,BAT2O,BAT2OA
|
|||
|
DBAT .LONG BAT10OS,BAT10O,BAT10OA
|
|||
|
|
|||
|
B8O
|
|||
|
;8
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI BBAT,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
JRUC DOBT
|
|||
|
SUP CMP A4,A1
|
|||
|
JRC B10O
|
|||
|
;2 O'CLOCK
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI CBAT,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
JRUC DOBT
|
|||
|
B10O
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI DBAT,A0
|
|||
|
MOVE *A0,A9,L
|
|||
|
DOBT MOVE A9,A10
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
|
|||
|
BATDN CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(DIS)
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
MOVI ZEROS,A9
|
|||
|
JRUC LUP_TOP
|
|||
|
;
|
|||
|
ZEROS .LONG 0,0
|
|||
|
|
|||
|
|
|||
|
GET_WVADDR:
|
|||
|
;A2=ENEMY TYPE LOOKING FOR
|
|||
|
;IE.HULK,TANK
|
|||
|
;PROBLEM WITH DUPLICATES!
|
|||
|
MOVI WAVE_RAM,A0
|
|||
|
HU1: MOVE *A0,A1,W ;TYPE
|
|||
|
CMP A2,A1
|
|||
|
JREQ YSID
|
|||
|
ADDI 6*16,A0
|
|||
|
JRUC HU1
|
|||
|
YSID: RETS
|
|||
|
|
|||
|
DO_DIFF:
|
|||
|
MOVI HSPEED,A1
|
|||
|
DO_DIFF2:
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
Z0 JRZ Z1
|
|||
|
ADDI 02000H,A1
|
|||
|
DEC A0
|
|||
|
JRUC Z0
|
|||
|
Z1 MOVE A1,*A13(HSPD),L
|
|||
|
MOVE A1,A5
|
|||
|
SUBI 01000H,A5
|
|||
|
MOVE A5,*A13(VSPD),L
|
|||
|
MOVK 10,A3
|
|||
|
DIVU A3,A1 ;DIVIDE A1 BY 10
|
|||
|
MOVK 8,A4
|
|||
|
MPYU A4,A1 ;A1 * .8
|
|||
|
MOVE A1,*A13(H2SPD),L
|
|||
|
DIVU A3,A5
|
|||
|
MPYU A4,A5
|
|||
|
MOVE A5,*A13(V2SPD),L
|
|||
|
RETS
|
|||
|
|
|||
|
LEVTBL:
|
|||
|
.WORD 11,10,9,8,7,7,6,6,5,5,4,4,3,3,3,3
|
|||
|
AGTBL: .WORD 160,300,180,220,280,420,500,100,140,250,90,160
|
|||
|
;
|
|||
|
GET_DIS:
|
|||
|
MOVK 1,B0
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
SLL 4,A0
|
|||
|
ADDI LEVTBL,A0
|
|||
|
MOVE *A0,A2
|
|||
|
MOVE A2,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVE A0,*A13(DIS) ;TIME BEFORE WE GET NEW VELOCITIES
|
|||
|
RETS
|
|||
|
|
|||
|
WAY:
|
|||
|
;A1=SEEK DIR
|
|||
|
;A0=DIR IMAGE IS FACING NOW
|
|||
|
SUB A0,A1
|
|||
|
MOVE A1,A2
|
|||
|
ABS A1
|
|||
|
CMPI 5,A1
|
|||
|
JRLT N0
|
|||
|
NEG A2
|
|||
|
N0: BTST 31,A2
|
|||
|
JRZ IC
|
|||
|
DEC A0
|
|||
|
JRP T1
|
|||
|
MOVK 8,A0
|
|||
|
JRUC T1
|
|||
|
IC: INC A0 ;ROTATE TOWARD PLAYER
|
|||
|
CMPI 9,A0
|
|||
|
JRNE T1
|
|||
|
MOVK 1,A0
|
|||
|
T1: MOVE A0,*A13(DIR),W
|
|||
|
;ANI ONTO SCREEN THIS HULKS STANDING POSITION
|
|||
|
MOVE *A13(DIR),A0 ;CURRENT DIR HULK IS FACING
|
|||
|
DEC A0
|
|||
|
MOVE A0,A2
|
|||
|
SLL 5,A0
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A4
|
|||
|
SLL 5,A4
|
|||
|
ADDI HSTND,A4
|
|||
|
MOVE *A4,A4,L
|
|||
|
ADD A4,A0
|
|||
|
|
|||
|
MOVE *A0,A1,L ;NEW OIMG
|
|||
|
SLL 4,A2
|
|||
|
ADDI SPINFLGS,A2
|
|||
|
MOVE *A2,A4,W ;NEW OFLAGS
|
|||
|
JAUC ANI ;CALLA ANI
|
|||
|
; RETS
|
|||
|
|
|||
|
;SWAPSK
|
|||
|
;;SEEK ANOTHER PLAYER ROUTINE
|
|||
|
;;A10=0 OR 1 FOR WHICH PLAYER DIED
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; MOVI HULKPID,A0
|
|||
|
; CALLA EXISTP
|
|||
|
; JRZ OUTZ
|
|||
|
;;FOUND HULK
|
|||
|
; MOVE *A0(SKPLYR),A1
|
|||
|
; CMP A1,A10
|
|||
|
; JRZ YES
|
|||
|
; MOVI TP2PID,A1
|
|||
|
; MOVE A1,*A0(PROCID),W
|
|||
|
; JRUC SWAPSK
|
|||
|
;
|
|||
|
;YES MOVI TEMPPID,A1
|
|||
|
; MOVI SWAPIT,A7
|
|||
|
; CALLA GETA8
|
|||
|
; CALLA GETA9
|
|||
|
; CALLA XFERPROC
|
|||
|
; JRUC SWAPSK
|
|||
|
;OUTZ
|
|||
|
; CLR A1
|
|||
|
; NOT A1
|
|||
|
; MOVI TP2PID,A0
|
|||
|
; CALLA EXISTP
|
|||
|
; JRZ OUTB
|
|||
|
;;FOUND TEMP HULK
|
|||
|
; MOVI HULKPID,A1
|
|||
|
; MOVE A1,*A0(PROCID),W
|
|||
|
; JRUC OUTZ
|
|||
|
;OUTB RETS
|
|||
|
;
|
|||
|
;SWAPIT
|
|||
|
;;HULKS FALL INTO HERE IF PLAYER THEY WERE SEEKING HAS DIED. THEY WILL
|
|||
|
;;NOW SEEK OTHER PLAYER
|
|||
|
; MOVI HULKPID,A0
|
|||
|
; MOVE A0,*A13(PROCID),W
|
|||
|
;
|
|||
|
; MOVE *A13(SKPLYR),A2
|
|||
|
; XORI 1,A2
|
|||
|
; MOVE A2,A1
|
|||
|
; SLL 5,A1
|
|||
|
; ADDI PLYROBJS,A1
|
|||
|
; MOVE *A1,A1,L
|
|||
|
; JRZ ZCT ;BR=OTHER PLAYER DOES NOT EXIST!
|
|||
|
; MOVE A2,*A13(SKPLYR)
|
|||
|
;ZCT
|
|||
|
; SLEEPK 1
|
|||
|
; JAUC LUP_TOP
|
|||
|
|
|||
|
SETUP_DIRA:
|
|||
|
MOVE *A13(GOCRNR),A0,L ;[Y,X]
|
|||
|
JRZ SETUP_DIR
|
|||
|
;THIS AHMED WILL SEEK TO A CORNER BEFORE SEEKING PLAYER
|
|||
|
;NEED 32 BIT Y/X [Y,X] IN A0
|
|||
|
JRUC DOGET
|
|||
|
|
|||
|
SETUP_DIR:
|
|||
|
;GET NEW VELOCITIES AND SEEK DIR FOR THIS HULK
|
|||
|
;SET SEEK DIR FOR THIS HULK
|
|||
|
;MAKE SURE THIS LEG_PTR HAS A VALID VALUE! THE PLAYER MUST BE INITIALIZED!
|
|||
|
;DETERMINE WHICH OF TWO PLAYERS THIS HULK IS SEEKING!
|
|||
|
;NORMAL
|
|||
|
MOVE *A13(SKPLYR),A2
|
|||
|
MOVE A2,A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI PLYROBJS,A1
|
|||
|
MOVE *A1,A1,L
|
|||
|
JRNZ ZCV
|
|||
|
;PLAYER NO LONGER EXISTS! GET OTHER
|
|||
|
WIT
|
|||
|
CMPI 3,A2
|
|||
|
JRLT WIT2
|
|||
|
;OH OH! BOTH ARE DEAD
|
|||
|
; MOVI >111,A0
|
|||
|
; MOVE A0,@EHALT
|
|||
|
RETS
|
|||
|
|
|||
|
WIT2 XORI 1,A2
|
|||
|
MOVE A2,*A13(SKPLYR)
|
|||
|
SLL 5,A2
|
|||
|
ADDI PLYROBJS,A2
|
|||
|
MOVE *A2,A1,L
|
|||
|
ZCV
|
|||
|
MOVE *A1(OXPOS),A0,W
|
|||
|
JRZ WIT
|
|||
|
MOVE *A1(OYPOS),A2,W
|
|||
|
SLL 16,A2
|
|||
|
MOVY A2,A0
|
|||
|
DOGET CALLA GETXY ;A8 TO SEEK A0
|
|||
|
INC A0
|
|||
|
MOVE A0,*A13(SK_DIR) ;DIR WE WANT TO BE FACING!
|
|||
|
;
|
|||
|
;NEEDED FOR WHEN BOTH PLAYERS ARE DEAD
|
|||
|
;
|
|||
|
MOVE @EHALT,A1 ;IN CASE HULKS MOVE SLIGHTLY
|
|||
|
JRNE NRM
|
|||
|
;FALLS INTO THIS
|
|||
|
INTO:
|
|||
|
;A0=DIR FROM 1-8
|
|||
|
SLL 5,A0
|
|||
|
ADDI JTBL,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
JTBL .LONG 0,IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8
|
|||
|
INTO16:
|
|||
|
;A0=DIR FROM 1-16
|
|||
|
SLL 5,A0
|
|||
|
ADDI JTBL16,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
|
|||
|
JTBL16 .LONG LK,IN1,LK,IN2,LK,IN3,LK,IN4,LK,IN5,LK,IN6,LK,IN7,LK,IN8,LK
|
|||
|
; 01
|
|||
|
; 16 02
|
|||
|
; 15 03
|
|||
|
; 14 04
|
|||
|
; 13 05
|
|||
|
; 12 06
|
|||
|
; 11 07
|
|||
|
; 10 08
|
|||
|
; 09
|
|||
|
;
|
|||
|
INTO12:
|
|||
|
;A0=DIR FROM 1-12
|
|||
|
SLL 5,A0
|
|||
|
ADDI JTBL12,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
|
|||
|
JTBL12 .LONG LK,IN1,LK,LK,IN3,LK,LK,IN5,LK,LK,IN7,LK,LK
|
|||
|
; 1
|
|||
|
; 12 2
|
|||
|
; 11 3
|
|||
|
; 10 4
|
|||
|
; 9 5
|
|||
|
; 8 6
|
|||
|
; 7
|
|||
|
|
|||
|
LK
|
|||
|
; LOCKUP
|
|||
|
IN1
|
|||
|
;IS 0 DIR
|
|||
|
MOVE *A13(VSPD),A0,L
|
|||
|
NEG A0
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
NRM RETS
|
|||
|
IN2
|
|||
|
MOVE *A13(V2SPD),A0,L
|
|||
|
NEG A0
|
|||
|
MOVE *A13(H2SPD),A1,L
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN3
|
|||
|
CLR A0
|
|||
|
MOVE *A13(HSPD),A1,L
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN4
|
|||
|
MOVE *A13(V2SPD),A0,L
|
|||
|
MOVE *A13(H2SPD),A1,L
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN5
|
|||
|
MOVE *A13(VSPD),A0,L
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN6
|
|||
|
MOVE *A13(V2SPD),A0,L
|
|||
|
MOVE *A13(H2SPD),A1,L
|
|||
|
NEG A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN7
|
|||
|
CLR A0
|
|||
|
MOVE *A13(HSPD),A1,L
|
|||
|
NEG A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
IN8
|
|||
|
MOVE *A13(H2SPD),A1,L
|
|||
|
NEG A1
|
|||
|
MOVE *A13(V2SPD),A0,L
|
|||
|
NEG A0
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
|
|||
|
SETUP_HULK:
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVE A10,*A13(SK_DIR)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(BULPRC),L ;BULLET FIRING PROCESS
|
|||
|
|
|||
|
CALLR GETPSK
|
|||
|
|
|||
|
MOVI HULK,A2
|
|||
|
CALLR GET_WVADDR
|
|||
|
|
|||
|
MOVE *A0(32),A1,W ;GET DIFFICULTY LEVEL
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
|
|||
|
MOVE *A0(16),A1,W ;DEC WAVE RAM CNT FOR THIS HULK
|
|||
|
DEC A1
|
|||
|
MOVE A1,*A0(16),W
|
|||
|
JRNZ BZ
|
|||
|
;END OF THIS WAVES HULK CNT
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,@HULK_DN
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 29,A0
|
|||
|
JRZ GOAGN
|
|||
|
CMPI 22,A0
|
|||
|
JRZ GB
|
|||
|
CMPI 21,A0
|
|||
|
JRZ GB
|
|||
|
CMPI 26,A0
|
|||
|
JRZ GB2
|
|||
|
CMPI 19,A0
|
|||
|
JRZ AWARP
|
|||
|
CMPI 16,A0
|
|||
|
JRZ TRY_RCK
|
|||
|
CMPI 13,A0
|
|||
|
JRZ TAUNT
|
|||
|
CMPI 14,A0
|
|||
|
JRZ SCRLAGN
|
|||
|
CMPI 20,A0
|
|||
|
JRZ BRING60
|
|||
|
CMPI 3,A0
|
|||
|
JRNZ NXC
|
|||
|
CREATE FUTUREPID,ENDWV
|
|||
|
RETS
|
|||
|
AWARP
|
|||
|
;CREATE A INSTANT WARP DISC
|
|||
|
;START SCROLL INTO AIRPORT
|
|||
|
MMTM SP,A8,A9,A10
|
|||
|
CREATE WARPPID,INST_WARP
|
|||
|
MOVI 08000H,A0
|
|||
|
MOVE A0,@HZSPD,L
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI PATHAIR,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
MOVE @WORLDTLX,A8,L
|
|||
|
SRL 16,A8
|
|||
|
ADDI 250,A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A9
|
|||
|
CREATE TARGPID,TARGET ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
CALLA CLNPAL
|
|||
|
MMFM SP,A8,A9,A10
|
|||
|
RETS
|
|||
|
PATHAIR
|
|||
|
.WORD 3,3D0H,15,1,2,700H,16,1,1,0F8H,3,320H
|
|||
|
.WORD 17,1,1,504H,19,1,0
|
|||
|
GOAGN
|
|||
|
;START SCROLL INTO END OF AIRPORT
|
|||
|
MMTM SP,A8,A9,A10
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI PATHEND,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
MOVE @WORLDTLX,A8,L
|
|||
|
SRL 16,A8
|
|||
|
ADDI 250,A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CLR A9
|
|||
|
CREATE TARGPID,TARGET ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
MOVK 1,A9 ;A9=0 FOR UP, 1 FOR RGT
|
|||
|
CREATE ARWPID,ONARRW ;TURN ON UP ARROW
|
|||
|
CREATE FUTUREPID,AOF ;ARROW OFF AFTER A TIME
|
|||
|
CALLA CLNPAL
|
|||
|
MMFM SP,A8,A9,A10
|
|||
|
RETS
|
|||
|
PATHEND .WORD 3,362H,1,290,0
|
|||
|
|
|||
|
SHSTG
|
|||
|
;SEND GROUP OF HOSTAGES DOWN AT PLAYER FROM ELEVATOR IN LOCKDOWN
|
|||
|
MOVK 5,A8
|
|||
|
CREATE 0,LHLPS
|
|||
|
XSEND1
|
|||
|
SLEEPK >1f
|
|||
|
MOVE @WORLDTLY,A0,L
|
|||
|
SUBI [34H,0],A0
|
|||
|
MOVE @WORLDTLX,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 162,A9
|
|||
|
MOVY A0,A9
|
|||
|
CALLR SENDH_GROUP
|
|||
|
DSJ A8,XSEND1
|
|||
|
DIE
|
|||
|
GB2
|
|||
|
CREATE0 SLOWBK
|
|||
|
RETS
|
|||
|
SLOWBK SLEEP 18*60
|
|||
|
;GO BACK FROM WARP LOCKDOWN #2
|
|||
|
CREATE WARPPID,GOBACK
|
|||
|
;SEND OUT CHASER!
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@ICONS_DN
|
|||
|
DIE
|
|||
|
GB
|
|||
|
;GO BACK FROM WARP LOCKDOWN #2
|
|||
|
CREATE WARPPID,GOBACK
|
|||
|
;SEND OUT CHASER!
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@ICONS_DN
|
|||
|
RETS
|
|||
|
TRY_RCK
|
|||
|
; RETS
|
|||
|
PUSH A10
|
|||
|
MOVK 1,A10 ;FIRST RACKUP
|
|||
|
CREATE 0,WAITTNT
|
|||
|
PULL A10
|
|||
|
RETS
|
|||
|
TAUNT
|
|||
|
PUSH A10
|
|||
|
CLR A10 ;0=FIRST TAUNT
|
|||
|
CREATE 0,WAITTNT
|
|||
|
PULL A10
|
|||
|
RETS
|
|||
|
SCRLAGN
|
|||
|
;START SCROLLING UP INTO DESERT AGAIN
|
|||
|
MMTM SP,A8,A9,A10
|
|||
|
CLR A0
|
|||
|
MOVE A0,@CRSRAM,L
|
|||
|
MOVI PATHC,A10 ;INDICATES NEW SCROLL WITH SCRL TABLE
|
|||
|
MOVE @WORLDTLY,A9,L
|
|||
|
SRL 16,A9
|
|||
|
ADDI 220,A9 ;A9=Y TARGET LINE TO TRIGGER SCROLL
|
|||
|
CLR A8 ;A8=0 MEANS NOT CHECKING FOR X TARGET
|
|||
|
CREATE TARGPID,TARGET
|
|||
|
;TURN ON COLOR CYCLES FOR THIS TOP PART OF DESERT
|
|||
|
CALLA CLNPAL
|
|||
|
CALLA SETC2 ;START LAND MINE COLOR CYCLE
|
|||
|
CALLA STRT_G ;CYCLE GOOB POOL
|
|||
|
CALLA STRT_D ;CYCLE SAT DISH
|
|||
|
CREATE 0,ICON_STOP
|
|||
|
MOVI 012BH,A0
|
|||
|
MOVE A0,@JUMPXY2 ;X JUMP COOR FOR TOP OF DESERT HILLS
|
|||
|
MOVI 021AH,A0 ;Y JUMP FOR TOP OF DESERT
|
|||
|
MOVE A0,@JUMPXY
|
|||
|
MMFM SP,A8,A9,A10
|
|||
|
MOVK 15,A0
|
|||
|
CALLA DOLORD
|
|||
|
CREATE 0,JEPCYC
|
|||
|
; .REF BEACONS
|
|||
|
; CREATE 0,BEACONS ;SHOW AREA AROUND DISHES ETC.
|
|||
|
MOVI TUNE5,A0
|
|||
|
CALLA ONESND
|
|||
|
RETS
|
|||
|
TUNE5 .WORD >F3F0,2,>8008,0 ;AIRPORT TUNE
|
|||
|
ICON_STOP
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@ICONS_DN
|
|||
|
SLEEP 15*60
|
|||
|
CREATE ICONPID,SEND_ICON
|
|||
|
DIE
|
|||
|
|
|||
|
PATHC ;DIR,CNT
|
|||
|
.WORD 1,190H,2,320H,10,1,1,1D8H,7,31FH,9,0B8H,1,10H,11,1,2,2E0H,1,1C0H
|
|||
|
.WORD 12,1,7,2D8H,1,1D0H,2,150H,3,1A0H,9,0C8H,7,188H,13,1,1,348H,8,16BH
|
|||
|
.WORD 1,1FAH,0
|
|||
|
|
|||
|
BRING60
|
|||
|
;WARP LOCKDOWN 1
|
|||
|
;BRING OUT A BTR60
|
|||
|
CREATE FUTUREPID,BTR60A
|
|||
|
RETS
|
|||
|
NXC CMPI 4,A0
|
|||
|
JRNZ NXW
|
|||
|
;WHEN WAVE IS FINISHED, CREATE A PROC TO BLINK ELEVATOR MESSAGE!
|
|||
|
CREATE DROPPID,TAKEEL
|
|||
|
RETS
|
|||
|
NXW CMPI 5,A0
|
|||
|
JRNZ BZ
|
|||
|
CREATE FUTUREPID,CKFORY
|
|||
|
BZ RETS
|
|||
|
CKFORY SLEEP 60
|
|||
|
MOVE @WORLDTLY,A0,L
|
|||
|
CMPI [679H,0],A0
|
|||
|
JRGT CKFORY
|
|||
|
;MIDDLE OF SECRET PATH! START NEW WAVE
|
|||
|
MOVI 0140H,A0 ;FOR JUMPING DOWN HORIZONTALLY
|
|||
|
MOVE A0,@JUMPXY2
|
|||
|
MOVK 6,A0
|
|||
|
CALLA DOLORD
|
|||
|
MOVI ERECT6,A0
|
|||
|
MOVE A0,@ENEMY_RECT,L ;FOR SPAWNING
|
|||
|
DIE
|
|||
|
|
|||
|
GET_RUN:
|
|||
|
;GET FRANIM BASE ADDRESS FOR THIS HULKS DIRECTION
|
|||
|
;
|
|||
|
MOVE *A13(DIR),A4
|
|||
|
DEC A4
|
|||
|
SLL 5,A4 ;*32 FOR LONG WORD LOOKUP TABLE
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI HLISTS,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
JUMP A0
|
|||
|
|
|||
|
HLISTS .LONG NORM,NORM1,NORM2
|
|||
|
|
|||
|
;FLAME THROWER CARRYING AHMED GRUNT
|
|||
|
NORM2
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
CMPI 2,A0 ;3
|
|||
|
JRLT SLOB
|
|||
|
CMPI 5,A0 ;6
|
|||
|
JRLT MEDB
|
|||
|
ADDI WALK_LISTFB,A4
|
|||
|
JRUC SPO
|
|||
|
MEDB ADDI WALK_LISTMB,A4
|
|||
|
JRUC SPO
|
|||
|
SLOB ADDI WALK_LISTB,A4 ;CALCULATE OFFSET IN TABLE
|
|||
|
JRUC SPO
|
|||
|
|
|||
|
|
|||
|
;AXE CARRYING DEMON GRUNT
|
|||
|
NORM1
|
|||
|
MOVE *A13(LEVEL),A0
|
|||
|
CMPI 2,A0 ;3
|
|||
|
JRLT SLOA
|
|||
|
CMPI 5,A0 ;6
|
|||
|
JRLT MEDA
|
|||
|
ADDI WALK_LISTFA,A4
|
|||
|
JRUC SPO
|
|||
|
MEDA ADDI WALK_LISTMA,A4
|
|||
|
JRUC SPO
|
|||
|
SLOA ADDI WALK_LISTA,A4 ;CALCULATE OFFSET IN TABLE
|
|||
|
JRUC SPO
|
|||
|
|
|||
|
;REGULAR SOLDIER GRUNT
|
|||
|
NORM MOVE *A13(LEVEL),A0
|
|||
|
CMPI 2,A0 ;3
|
|||
|
JRLT SLO
|
|||
|
CMPI 5,A0 ;6
|
|||
|
JRLT MED
|
|||
|
ADDI WALK_LISTF,A4
|
|||
|
JRUC SPO
|
|||
|
MED ADDI WALK_LISTM,A4
|
|||
|
JRUC SPO
|
|||
|
SLO ADDI WALK_LIST,A4 ;CALCULATE OFFSET IN TABLE
|
|||
|
SPO MOVE *A4,A9,L ;MOVE TABLE VALUE INTO A9
|
|||
|
;NEW ANIMATION SCRIPT
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ANDI 0FFFEH,A0 ;
|
|||
|
MOVE A0,*A13(CFLAGS) ;ZERO STANDING FLAG
|
|||
|
RETS
|
|||
|
|
|||
|
HSTND .LONG SPINFRMS2,SPINFRMS,SPINFRMSA
|
|||
|
|
|||
|
|
|||
|
|
|||
|
**************************************************************************
|
|||
|
GETXY:
|
|||
|
* gets direction from Obj in A8 to Z:X coors in A0, where dir
|
|||
|
* is expressed as
|
|||
|
* 7 0 1
|
|||
|
* 6 * 2
|
|||
|
* 5 4 3
|
|||
|
* The direction is returned in A0
|
|||
|
|
|||
|
mmtm SP,A2,A3,A4,A5
|
|||
|
|
|||
|
movy A0,A3
|
|||
|
srl 16,A3
|
|||
|
movx A0,A2
|
|||
|
zext A2,W
|
|||
|
|
|||
|
calla GETANIX ;A0 - MBIG X
|
|||
|
sub A0,A2 ;A2 = XDELTA
|
|||
|
; SHOULD BE ANIMATION Y COOR!
|
|||
|
move *A8(OYPOS),A0,W
|
|||
|
sub A0,A3 ;A3 = ZDELTA
|
|||
|
move A2,A4
|
|||
|
move A3,A5
|
|||
|
abs A4
|
|||
|
abs A5
|
|||
|
sll 16,A5
|
|||
|
clr A0 ;set Direction
|
|||
|
divu A4,A5 ;A5 = A5/A4 = ABS(ZDELTA)/ABS(XDELTA) = TAN(THETA)
|
|||
|
jrv GotD0 ;Overflow indicates XDELTA=0
|
|||
|
cmpi >269FB,A5 ;Tan(22.5deg) = 2.414 as 16.16
|
|||
|
jrgt GotD0
|
|||
|
inc A0
|
|||
|
cmpi >69FB,A5 ;Tan(67.5deg) = .414 as 16.16
|
|||
|
jrgt GotD0
|
|||
|
inc A0
|
|||
|
|
|||
|
GotD0:
|
|||
|
;* Must Adjust for Quadrant
|
|||
|
move A2,A2 ;check sign of XDELTA
|
|||
|
jrn Q34
|
|||
|
move A3,A3 ;ck sign of ZDELTA
|
|||
|
jrn Q1
|
|||
|
;* Quadrant 2, X+,Z+
|
|||
|
neg A0
|
|||
|
addk 4,A0
|
|||
|
jruc GotD1
|
|||
|
Q34:
|
|||
|
move A3,A3 ;ck sign of ZDELTA
|
|||
|
jrn Q4
|
|||
|
Q3:
|
|||
|
;* Quadrant 3, X-,Z+
|
|||
|
addk 4,A0
|
|||
|
jruc GotD1
|
|||
|
Q4:
|
|||
|
;* Quadrant 4, X-,Z-
|
|||
|
neg A0
|
|||
|
jrz GotD1
|
|||
|
addk 8,A0
|
|||
|
jruc GotD1
|
|||
|
Q1:
|
|||
|
;* Quadrant 1, X+,Z-
|
|||
|
GotD1:
|
|||
|
mmfm SP,A2,A3,A4,A5
|
|||
|
rets
|
|||
|
|
|||
|
;SX: .LONG -080000H,01980000H,0AD0000H,0AD0000H
|
|||
|
;SY: .LONG 05D0000H,05D0000H,-220000H,0F80000H
|
|||
|
;SOX: .LONG 0,0,0180000H,0180000H
|
|||
|
;SOY: .LONG 0130000H,0130000H,0,0
|
|||
|
;SD: .WORD 3,7,5,1
|
|||
|
;INFOTBL:
|
|||
|
; .LONG LDOOR_INFO,RDOOR_INFO,TDOOR_INFO,BDOOR_INFO
|
|||
|
|
|||
|
KILL_H1
|
|||
|
;A8=HULK IMAGE TO SMART BOMB ALSO KILL AHMED
|
|||
|
;A9=P1DATA OR P2DATA FOR SCORE UPDATE
|
|||
|
;SMART BOMB ENTRY
|
|||
|
;ENTER HERE WITH SMART BOMB
|
|||
|
MOVE *A8(OID),A0,W
|
|||
|
ZEXT A0
|
|||
|
CMPI CLSENMY|TYPAHMD,A0
|
|||
|
JRNZ AHLK
|
|||
|
MOVE @AHMD_CNT,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@AHMD_CNT
|
|||
|
JRUC ALO
|
|||
|
AHLK
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0(PROCID) ;SEPT 20
|
|||
|
MOVE @HULK_CNT,A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,@HULK_CNT
|
|||
|
JRNN ALO
|
|||
|
; LOCKUP
|
|||
|
; EINT
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HULK_CNT
|
|||
|
ALO CREATE 0,HSMRT ;BULLETS DIR WILL BE IN A10
|
|||
|
;HULK_EXP WHEN IT WAKES UP
|
|||
|
MOVI CLSDEAD,A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(BULPRC),A0,L
|
|||
|
JRZ KJ1
|
|||
|
CALLA PEXIST
|
|||
|
JRZ KJ1
|
|||
|
CALLA KILL ;KILLS BULLET PROCESS
|
|||
|
KJ1 MOVE *A8(OPLINK),A0,L
|
|||
|
CALLA KILL ;KILL GRUNT PROC
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
RETS
|
|||
|
HSMRT
|
|||
|
MOVE A9,A2
|
|||
|
;A2=P1DATA OR P2DATA
|
|||
|
MOVI HLKPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
MOVE *A8(OYPOS),A2
|
|||
|
ADDI 35,A2 ;A2=Y OFFSET ;30
|
|||
|
MOVE A2,*A8(OYPOS)
|
|||
|
MOVI 300,A0 ;200
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
MOVE @EXPCNT,A0 ;EXPS CAUSED BY SMART BOMB
|
|||
|
CMPI 25,A0
|
|||
|
JRNC HSO
|
|||
|
INC A0
|
|||
|
MOVE A0,@EXPCNT
|
|||
|
MOVI XBOOM2,A9 ;BOOM3 CHANGES PALETTE TO EXPLOSION!
|
|||
|
JAUC FRANIM_DIE
|
|||
|
HSO MOVE A8,A0 ;TO MANY EXPS CAUSE SCRN GLITCH
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
BAT_PLYR:
|
|||
|
;STOP HULK FROM MOVING
|
|||
|
;DECIDE WHICH OF FOUR SWING ANGLES TO USE
|
|||
|
;TELL MAIN LOGIC THIS HULK IS SWINGING
|
|||
|
MMTM SP,A1,A7
|
|||
|
MOVE *A0(OPLINK),A0,L
|
|||
|
MOVE *A0(PNUM),A9
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(IBAT),A7
|
|||
|
JRNZ FROMST
|
|||
|
MOVI DOBAT,A7
|
|||
|
MOVI HULKPID,A1
|
|||
|
MOVE A1,*A0(IBAT)
|
|||
|
CALLA XFERPROC
|
|||
|
BPO MMFM SP,A1,A7
|
|||
|
RETS
|
|||
|
FROMST
|
|||
|
;THIS GRUNT JUST STANDING AROUND!
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,*A0(PTIME)
|
|||
|
JRUC BPO
|
|||
|
|
|||
|
|
|||
|
KILL_HULKZ:
|
|||
|
;A8=HULK IMG PNTR, A0=KILLER IMG PNTR
|
|||
|
MMTM SP,A1,A2
|
|||
|
MOVE *A0(OID),A9,W ;KILLERS OID
|
|||
|
MOVE *A0(OPLINK),A10,L
|
|||
|
;WILL BE BOGUS IF SOMETHING OTHER THAN A BULLET STRUCK HULK!
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(DIR),A11 ;HULKS DIR
|
|||
|
MOVI HULK_EXPZ,A7
|
|||
|
JRUC ABC
|
|||
|
KILL_HULK:
|
|||
|
;A8=HULK IMG PNTR, A0=KILLER IMG PNTR
|
|||
|
MMTM SP,A1,A2
|
|||
|
; MOVE A0,@KILLER,L
|
|||
|
MOVE *A0(OID),A9,W ;KILLERS OID
|
|||
|
MOVE *A0(OPLINK),A10,L
|
|||
|
;WILL BE BOGUS IF SOMETHING OTHER THAN A BULLET STRUCK HULK!
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(DIR),A11 ;HULKS DIR
|
|||
|
MOVI HULK_EXP,A7
|
|||
|
ABC
|
|||
|
MOVI HULKPID,A1
|
|||
|
CALLA XFERPROC
|
|||
|
|
|||
|
|
|||
|
MOVE *A0(BULPRC),A0,L
|
|||
|
JRZ KJ2
|
|||
|
MOVE *A0(PROCID),A1
|
|||
|
|
|||
|
.IF DEBUG
|
|||
|
CMPI FLMPID,A1
|
|||
|
JRZ PAS
|
|||
|
LOCKUP
|
|||
|
EINT
|
|||
|
PAS
|
|||
|
.ENDIF
|
|||
|
|
|||
|
CALLA KILL ;KILLS BULLET PROCESS
|
|||
|
KJ2
|
|||
|
|
|||
|
MOVI P1DATA,A2 ;PLAYER 1 SCORE SELECT
|
|||
|
MOVE *A10(MYPLYR),A0 ;GET PLAYER #
|
|||
|
CMPI 1,A0
|
|||
|
JREQ CGA
|
|||
|
CMPI 2,A0
|
|||
|
JRNZ BMPDI0
|
|||
|
MOVI P2DATA,A2
|
|||
|
CGA
|
|||
|
MOVI HLKPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
BMPDI0
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@OUT_FLG
|
|||
|
MOVI 199,A0 ;259
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
MOVE *A8(OFLAGS),A1
|
|||
|
ORI M_NOCOLL,A1
|
|||
|
MOVE A1,*A8(OFLAGS)
|
|||
|
MOVI CLSDEAD,A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
MOVI ALTEXP1,A0
|
|||
|
MOVE @PCNT,A1
|
|||
|
BTST 0,A1
|
|||
|
JRZ DSA
|
|||
|
MOVI EXP1L,A0
|
|||
|
DSA CALLA ONESND
|
|||
|
MMFM SP,A1,A2
|
|||
|
RETS
|
|||
|
|
|||
|
HULK_EXPZ:
|
|||
|
;A10=PROCESS OF BULLET/BLADE THAT HIT THIS HULK
|
|||
|
;A11=HULKS DIR
|
|||
|
;A9=KILLERS OID
|
|||
|
MOVI P1DATA,A2 ;PLAYER 1 SCORE SELECT
|
|||
|
MOVE *A10(PNUM),A0 ;GET PLAYER #
|
|||
|
MOVI CLSPLYR|TYPPLBL|SUBNOSTP,A9
|
|||
|
HULK_EXP:
|
|||
|
;A10=PROCESS OF BULLET/BLADE THAT HIT THIS HULK
|
|||
|
;A11=HULKS DIR
|
|||
|
;A9=KILLERS OID
|
|||
|
BMPDI
|
|||
|
MOVE *A10(BLTDIR),A10 ;=BLTDIR!!! CAREFUL!!
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(PROCID) ;SEPT 20
|
|||
|
MOVE @HULK_CNT,A3
|
|||
|
DEC A3
|
|||
|
MOVE A3,@HULK_CNT
|
|||
|
JRNN NOBUG
|
|||
|
; LOCKUP
|
|||
|
; EINT
|
|||
|
CLR A0
|
|||
|
MOVE A0,@HULK_CNT
|
|||
|
NOBUG MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(HULKTYP),A0
|
|||
|
CMPI 2,A0
|
|||
|
JRZ AHMDDIE
|
|||
|
;NOT AN AHMED GRUNT
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBNOSTP,A9
|
|||
|
JREQ BIGEXP ;GO TO REGULAR FIRE BOMB EXPLOSION
|
|||
|
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;A10 SHOULD BE 1-8!
|
|||
|
DEC A10
|
|||
|
ANDI 07,A10 ;IN CASE A BLADE STRUCK HULK
|
|||
|
SLL 5,A10
|
|||
|
|
|||
|
MOVI RNGXL,A1
|
|||
|
ADD A10,A1
|
|||
|
MOVE *A1,A6,L
|
|||
|
MOVE A6,*A8(OXVEL),L
|
|||
|
|
|||
|
MOVI RNGYL,A1
|
|||
|
ADD A10,A1
|
|||
|
MOVE *A1,A10,L
|
|||
|
MOVE A10,*A8(OYVEL),L
|
|||
|
CMPI CLSPLYR|TYPPLBL|SUBSPRY,A9
|
|||
|
JRNE R1
|
|||
|
;PIECES OR BLOODY DEATH DECISION HERE!
|
|||
|
GR1 MOVE @PCTOT,A2
|
|||
|
CMPI 010H,A2 ;19
|
|||
|
JRLO ADDPCS
|
|||
|
R1: DEC A11
|
|||
|
ANDI 07H,A11
|
|||
|
SLL 5,A11 ;A11=HULKS FACE DIR
|
|||
|
SLL 5,A0 ;A0=HULKTYP
|
|||
|
ADDI DLTS,A0
|
|||
|
MOVE *A0,A0,L
|
|||
|
ADD A0,A11
|
|||
|
MOVE *A11,A9,L
|
|||
|
JAUC FRANIM_DIE
|
|||
|
|
|||
|
DLTS .LONG DDLIST,DLIST,DLISTA
|
|||
|
DCLTS .LONG DBLSTS,BLSTS,ALSTS
|
|||
|
|
|||
|
ADDPCS
|
|||
|
|
|||
|
MOVE *A13(HULKTYP),A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI DCLTS,A1
|
|||
|
MOVE *A1,A11,L
|
|||
|
|
|||
|
MOVE A6,A9
|
|||
|
;A10=Y VEL
|
|||
|
SLL 2,A9
|
|||
|
SLL 2,A10
|
|||
|
CREATE FUTUREPID,CHUNK_OBJ
|
|||
|
MOVE *A8(OPAL),A1,W
|
|||
|
MOVE A1,*A0(PDATA),W ;TELLS CHUNKS TO USE THIS PAL
|
|||
|
SLEEPK 1
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
BIGEXP:
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
CALLA GETANIXY
|
|||
|
ADDI 01F0000H,A2 ;A2=Y OFFSET
|
|||
|
SUBI 0C0000H,A3 ;A2=Y OFFSET
|
|||
|
MOVI BOOM2,A9
|
|||
|
MOVE A2,*A8(OYVAL),L
|
|||
|
MOVE A3,*A8(OXVAL),L
|
|||
|
|
|||
|
FRANIM_DIE
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A8,A0
|
|||
|
CALLA DELOBJ
|
|||
|
DIE
|
|||
|
|
|||
|
|
|||
|
KILL_AHMDZ:
|
|||
|
;A8=AHMD IMG PNTR, A0=KILLER IMG PNTR
|
|||
|
MMTM SP,A1,A2,A3,A4,A7,A9,A10
|
|||
|
MOVE *A0(OPLINK),A10,L
|
|||
|
;WILL BE BOGUS IF SOMETHING OTHER THAN A BULLET STRUCK HULK!
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(DIR),A11 ;HULKS DIR
|
|||
|
JRUC AABC
|
|||
|
KILL_AHMD:
|
|||
|
;A8=HULK IMG PNTR, A0=KILLER IMG PNTR
|
|||
|
MMTM SP,A1,A2,A3,A4,A7,A9,A10
|
|||
|
MOVI 03F3FH,A9 ;COLOR TO FLASH
|
|||
|
MOVI HITAHMD,A3
|
|||
|
CALLA DO_PUNISH
|
|||
|
JALT PUSHME ;PUSHME IN FIEND.ASM
|
|||
|
MOVE *A0(OPLINK),A10,L
|
|||
|
;WILL BE BOGUS IF SOMETHING OTHER THAN A BULLET STRUCK HULK!
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
;CHECK FOR TOTAL HITS HERE
|
|||
|
MOVE *A0(DIR),A11 ;HULKS DIR
|
|||
|
;KILL AHMED
|
|||
|
;YEAH, KILL AHMD
|
|||
|
;YES I WILL DIE
|
|||
|
AABC MOVI AHMD_EXP,A7
|
|||
|
MOVI AHMDPID,A1
|
|||
|
CALLA XFERPROC
|
|||
|
CALLR KIL_FLM
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,@OUT_FLG
|
|||
|
MOVI 199,A0 ;259
|
|||
|
MOVE A0,*A8(OZPOS)
|
|||
|
MOVE *A8(OFLAGS),A1
|
|||
|
ORI M_NOCOLL,A1
|
|||
|
MOVE A1,*A8(OFLAGS)
|
|||
|
MOVI CLSDEAD,A0
|
|||
|
MOVE A0,*A8(OID)
|
|||
|
MOVI GUYDI,A0
|
|||
|
CALLA ONESND
|
|||
|
MMFM SP,A1,A2,A3,A4,A7,A9,A10
|
|||
|
RETS
|
|||
|
|
|||
|
AHMD_EXP:
|
|||
|
;A10=PROCESS OF BULLET/BLADE THAT HIT THIS AHMD
|
|||
|
;A11=AHMD DIR
|
|||
|
;USED TO BE A9=KILLERS OID
|
|||
|
MOVI P1DATA,A2 ;PLAYER 1 SCORE SELECT
|
|||
|
MOVE *A10(MYPLYR),A0 ;GET PLAYER #
|
|||
|
DEC A0
|
|||
|
JREQ ACGA
|
|||
|
CMPI 1,A0
|
|||
|
JRNZ BMPDA
|
|||
|
MOVI P2DATA,A2
|
|||
|
ACGA
|
|||
|
MOVI AHMDPT,A1 ;AMOUNT OF SCORE
|
|||
|
CALLA SCRADD2 ;DO IT!
|
|||
|
BMPDA
|
|||
|
MOVE *A10(BLTDIR),A10 ;=BLTDIR!!! CAREFUL!!
|
|||
|
MOVE @AHMD_CNT,A3 ;DELETE A BNCR FROM CNT
|
|||
|
DEC A3
|
|||
|
MOVE A3,@AHMD_CNT
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;A10 SHOULD BE 1-8!
|
|||
|
AHMDDIE ;GRUNT AHMED COMES IN HERE
|
|||
|
DEC A10
|
|||
|
ANDI 07,A10 ;IN CASE A BLADE STRUCK HULK
|
|||
|
SLL 5,A10
|
|||
|
|
|||
|
MOVI RNGXL,A0
|
|||
|
ADD A10,A0
|
|||
|
MOVE *A0,A6,L
|
|||
|
MOVE A6,*A8(OXVEL),L
|
|||
|
|
|||
|
MOVI RNGYL,A0
|
|||
|
ADD A10,A0
|
|||
|
MOVE *A0,A10,L
|
|||
|
MOVE A10,*A8(OYVEL),L
|
|||
|
DEC A11
|
|||
|
ANDI 07H,A11
|
|||
|
SLL 5,A11 ;A11=HULKS FACE DIR
|
|||
|
; MOVE *A8(OPLINK),A0,L
|
|||
|
|
|||
|
ADDI DLISTA,A11
|
|||
|
MOVE *A11,A9,L
|
|||
|
JAUC FRANIM_DIE
|
|||
|
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
RNGXL:
|
|||
|
.LONG 0,05C00H*1,05C00H*1,05C00H*1,0,-5C00H*1,-5C00H*1,-5C00H*1
|
|||
|
RNGYL:
|
|||
|
.LONG -05000H*1,-05000H*1,0,05000H*1,05000H*1,05000H*1,0,-05000H*1
|
|||
|
;RNGXLA:
|
|||
|
; .LONG 0,05C00H*3,05C00H*3,05C00H*3,0,-5C00H*3,-5C00H*3,-5C00H*3
|
|||
|
;RNGYLA:
|
|||
|
; .LONG -05000H*3,-05000H*3,0,05000H*3,05000H*3,05000H*3,0,-05000H*3
|
|||
|
DLIST .LONG VDIE,HDIER,HDIER,HDIER,VDIE,HDIE,HDIE,HDIE
|
|||
|
DDLIST .LONG DVDIE,DHDIER,DHDIER,DHDIER,DVDIE,DHDIE,DHDIE,DHDIE
|
|||
|
;AHMED DIE LIST
|
|||
|
DLISTA .LONG AHDIE,AHDIER,AVDIE2,AVDIE2,AVDIE,AVDIE,AVDIE,AHDIE
|
|||
|
|
|||
|
|
|||
|
;FOR AHMED GRUNT
|
|||
|
AHDIE:
|
|||
|
.LONG ADETH101
|
|||
|
.WORD FLIPBITS|5,0
|
|||
|
.LONG ADETH102
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH103
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH104
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH84
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH85
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
AHDIER:
|
|||
|
.LONG ADETH101
|
|||
|
.WORD FLIPBITS|5,(M_FLIPH)
|
|||
|
.LONG ADETH102
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH103
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH104
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH84
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH85
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
AVDIE:
|
|||
|
.LONG ADETH81
|
|||
|
.WORD FLIPBITS|5,0
|
|||
|
.LONG AHDETH82
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH82
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH83
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH84
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH85
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH87
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
AVDIE2:
|
|||
|
.LONG ADETH81
|
|||
|
.WORD FLIPBITS|5,(M_FLIPH)
|
|||
|
.LONG AHDETH82
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH82
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH83
|
|||
|
.WORD 5
|
|||
|
.LONG ADETH84
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH85
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH86
|
|||
|
.WORD 3
|
|||
|
.LONG ADETH87
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;FOR DEMON GRUNT
|
|||
|
HDIE:
|
|||
|
.LONG HIT1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG HIT3
|
|||
|
.WORD 3
|
|||
|
.LONG HIT4
|
|||
|
.WORD 3
|
|||
|
.LONG HIT5
|
|||
|
.WORD 3
|
|||
|
.LONG HIT6
|
|||
|
.WORD 3
|
|||
|
.LONG HIT7
|
|||
|
.WORD 3
|
|||
|
.LONG HIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
HDIER:
|
|||
|
.LONG HIT1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG HIT3
|
|||
|
.WORD 3
|
|||
|
.LONG HIT4
|
|||
|
.WORD 3
|
|||
|
.LONG HIT5
|
|||
|
.WORD 3
|
|||
|
.LONG HIT6
|
|||
|
.WORD 3
|
|||
|
.LONG HIT7
|
|||
|
.WORD 3
|
|||
|
.LONG HIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
VDIE:
|
|||
|
.LONG VHIT1
|
|||
|
.WORD FLIPBITS|5,0
|
|||
|
.LONG VHIT2
|
|||
|
.WORD 4
|
|||
|
.LONG VHIT3
|
|||
|
.WORD 3
|
|||
|
.LONG VHIT4
|
|||
|
.WORD 3
|
|||
|
.LONG VHIT5
|
|||
|
.WORD 3
|
|||
|
.LONG HIT6
|
|||
|
.WORD 3
|
|||
|
.LONG HIT7
|
|||
|
.WORD 3
|
|||
|
.LONG HIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;FOR SOLDIER GRUNT
|
|||
|
DHDIE:
|
|||
|
.LONG DHIT1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG DHIT2
|
|||
|
.WORD 4
|
|||
|
.LONG DHIT3
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT4
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT5
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT6
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT7
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
DHDIER:
|
|||
|
.LONG DHIT1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG DHIT2
|
|||
|
.WORD 4
|
|||
|
.LONG DHIT3
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT4
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT5
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT6
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT7
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
DVDIE:
|
|||
|
.LONG DVHIT1
|
|||
|
.WORD FLIPBITS|5,0
|
|||
|
.LONG DVHIT2
|
|||
|
.WORD 4
|
|||
|
.LONG DVHIT3
|
|||
|
.WORD 3
|
|||
|
.LONG DVHIT4
|
|||
|
.WORD 3
|
|||
|
.LONG DVHIT5
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT6
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT7
|
|||
|
.WORD 3
|
|||
|
.LONG DHIT8
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;
|
|||
|
|
|||
|
;FOR FLAME THROWER CARRYING AHMED GRUNT
|
|||
|
WALK_LISTB:
|
|||
|
.LONG T3_PWK_UP,T3_PWK_UPRGT,T3_PWK_RGT,T3_PWK_DNRGT,T3_PWK_DN
|
|||
|
.LONG T3_PWK_DNLFT,T3_PWK_LFT,T3_PWK_UPLFT
|
|||
|
WALK_LISTMB:
|
|||
|
.LONG T3M_PWK_UP,T3M_PWK_UPRGT,T3M_PWK_RGT,T3M_PWK_DNRGT,T3M_PWK_DN
|
|||
|
.LONG T3M_PWK_DNLFT,T3M_PWK_LFT,T3M_PWK_UPLFT
|
|||
|
WALK_LISTFB:
|
|||
|
.LONG T3F_PWK_UP,T3F_PWK_UPRGT,T3F_PWK_RGT,T3F_PWK_DNRGT,T3F_PWK_DN
|
|||
|
.LONG T3F_PWK_DNLFT,T3F_PWK_LFT,T3F_PWK_UPLFT
|
|||
|
|
|||
|
|
|||
|
;FOR AXE CARRYING DEMON GRUNT
|
|||
|
WALK_LISTA:
|
|||
|
.LONG T_PWK_UP,T_PWK_UPRGT,T_PWK_RGT,T_PWK_DNRGT,T_PWK_DN
|
|||
|
.LONG T_PWK_DNLFT,T_PWK_LFT,T_PWK_UPLFT
|
|||
|
WALK_LISTMA:
|
|||
|
.LONG TM_PWK_UP,TM_PWK_UPRGT,TM_PWK_RGT,TM_PWK_DNRGT,TM_PWK_DN
|
|||
|
.LONG TM_PWK_DNLFT,TM_PWK_LFT,TM_PWK_UPLFT
|
|||
|
WALK_LISTFA:
|
|||
|
.LONG TF_PWK_UP,TF_PWK_UPRGT,TF_PWK_RGT,TF_PWK_DNRGT,TF_PWK_DN
|
|||
|
.LONG TF_PWK_DNLFT,TF_PWK_LFT,TF_PWK_UPLFT
|
|||
|
|
|||
|
;FOR DESERT SOLDIER
|
|||
|
WALK_LIST:
|
|||
|
.LONG T2_PWK_UP,T2_PWK_UPRGT,T2_PWK_RGT,T2_PWK_DNRGT,T2_PWK_DN
|
|||
|
.LONG T2_PWK_DNLFT,T2_PWK_LFT,T2_PWK_UPLFT
|
|||
|
WALK_LISTM:
|
|||
|
.LONG T2M_PWK_UP,T2M_PWK_UPRGT,T2M_PWK_RGT,T2M_PWK_DNRGT,T2M_PWK_DN
|
|||
|
.LONG T2M_PWK_DNLFT,T2M_PWK_LFT,T2M_PWK_UPLFT
|
|||
|
WALK_LISTF:
|
|||
|
.LONG T2F_PWK_UP,T2F_PWK_UPRGT,T2F_PWK_RGT,T2F_PWK_DNRGT,T2F_PWK_DN
|
|||
|
.LONG T2F_PWK_DNLFT,T2F_PWK_LFT,T2F_PWK_UPLFT
|
|||
|
|
|||
|
;
|
|||
|
;HULK ANIMATIONS TABLE 2
|
|||
|
;
|
|||
|
SPINFRMS: ;AXE DEMON GRUNT
|
|||
|
.LONG gb12w2a,gb10w3a,gb9w4a,gb8w3a,gb6w5a,gb8w3a,gb9w4a,gb10w3a
|
|||
|
SPINFRMS2: ;REGULAR SOLDIER GRUNT
|
|||
|
.LONG Dgb12w2a,Dgb10w3a,Dgb9w4a,Dgb8w3a,Dgb6w5a,Dgb8w3a,Dgb9w4a,Dgb10w3a
|
|||
|
SPINFRMSA: ;FLAME THROWING AHMED GRUNT
|
|||
|
.LONG AHMED12b,AHMED10e,AHMED9a,AHMED8f,AHMED6a,AHMED8f,AHMED9a,AHMED10e
|
|||
|
SPINFLGS:
|
|||
|
.WORD DMAWNZ,DMAWNZ+M_FLIPH,DMAWNZ+M_FLIPH,DMAWNZ+M_FLIPH,DMAWNZ
|
|||
|
.WORD DMAWNZ,DMAWNZ,DMAWNZ
|
|||
|
|
|||
|
;
|
|||
|
;GRUNT ANIMATION TABLES
|
|||
|
;
|
|||
|
|
|||
|
;FLAME THROWER CARRYING AHMED GRUNT
|
|||
|
T3_PWK_UP:
|
|||
|
.LONG AHMED12a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG AHMED12b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED12c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED12d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED12e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED12f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T3_PWK_DN:
|
|||
|
.LONG AHMED6a
|
|||
|
.WORD FLIPBITS|06,0
|
|||
|
.LONG AHMED6b
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6c
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6d
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6e
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6f
|
|||
|
.WORD 06
|
|||
|
.LONG 0
|
|||
|
T3_PWK_RGT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T3_PWK_LFT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3_PWK_UPRGT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3_PWK_DNLFT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T3_PWK_UPLFT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T3_PWK_DNRGT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 07
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;MEDIUM (4)
|
|||
|
T3M_PWK_UP:
|
|||
|
.LONG AHMED12a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG AHMED12b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED12c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED12d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED12e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED12f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T3M_PWK_DN:
|
|||
|
.LONG AHMED6a
|
|||
|
.WORD FLIPBITS|06,0
|
|||
|
.LONG AHMED6b
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6c
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6d
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6e
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6f
|
|||
|
.WORD 06
|
|||
|
.LONG 0
|
|||
|
T3M_PWK_RGT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T3M_PWK_LFT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3M_PWK_UPRGT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3M_PWK_DNLFT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T3M_PWK_UPLFT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T3M_PWK_DNRGT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 04
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
; FAST (3)
|
|||
|
T3F_PWK_UP:
|
|||
|
.LONG AHMED12a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG AHMED12b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED12c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED12d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED12e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED12f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T3F_PWK_DN:
|
|||
|
.LONG AHMED6a
|
|||
|
.WORD FLIPBITS|06,0
|
|||
|
.LONG AHMED6b
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6c
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6d
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6e
|
|||
|
.WORD 06
|
|||
|
.LONG AHMED6f
|
|||
|
.WORD 06
|
|||
|
.LONG 0
|
|||
|
T3F_PWK_RGT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T3F_PWK_LFT:
|
|||
|
.LONG AHMED9a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG AHMED9b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED9f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3F_PWK_UPRGT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T3F_PWK_DNLFT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T3F_PWK_UPLFT:
|
|||
|
.LONG AHMED10a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG AHMED10b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED10f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T3F_PWK_DNRGT:
|
|||
|
.LONG AHMED8a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG AHMED8b
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8c
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8d
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8e
|
|||
|
.WORD 03
|
|||
|
.LONG AHMED8f
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;AXE CARRYING DEMON GRUNT
|
|||
|
T_PWK_UP:
|
|||
|
.LONG gb12w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG gb12w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb12w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb12w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb12w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb12w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T_PWK_DN:
|
|||
|
.LONG gb6w1a
|
|||
|
.WORD FLIPBITS|06,0
|
|||
|
.LONG gb6w2a
|
|||
|
.WORD 06
|
|||
|
.LONG gb6w3a
|
|||
|
.WORD 06
|
|||
|
.LONG gb6w4a
|
|||
|
.WORD 06
|
|||
|
.LONG gb6w5a
|
|||
|
.WORD 06
|
|||
|
.LONG gb6w6a
|
|||
|
.WORD 06
|
|||
|
.LONG 0
|
|||
|
T_PWK_RGT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T_PWK_LFT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T_PWK_UPRGT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T_PWK_DNLFT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T_PWK_UPLFT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T_PWK_DNRGT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 07
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;MEDIUM
|
|||
|
TM_PWK_UP:
|
|||
|
.LONG gb12w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG gb12w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb12w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb12w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb12w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb12w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
TM_PWK_DN:
|
|||
|
.LONG gb6w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG gb6w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb6w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb6w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb6w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb6w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
TM_PWK_RGT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
TM_PWK_LFT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
TM_PWK_UPRGT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
TM_PWK_DNLFT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
TM_PWK_UPLFT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
TM_PWK_DNRGT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 04
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
; FAST
|
|||
|
TF_PWK_UP:
|
|||
|
.LONG gb12w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG gb12w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb12w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb12w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb12w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb12w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
TF_PWK_DN:
|
|||
|
.LONG gb6w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG gb6w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb6w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb6w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb6w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb6w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
TF_PWK_RGT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
TF_PWK_LFT:
|
|||
|
.LONG gb9w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG gb9w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb9w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
TF_PWK_UPRGT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
TF_PWK_DNLFT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
TF_PWK_UPLFT:
|
|||
|
.LONG gb10w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG gb10w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb10w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
TF_PWK_DNRGT:
|
|||
|
.LONG gb8w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG gb8w2a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w3a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w4a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w5a
|
|||
|
.WORD 03
|
|||
|
.LONG gb8w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;REGULAR SOLDIER GRUNT
|
|||
|
T2_PWK_UP:
|
|||
|
.LONG Dgb12w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG Dgb12w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb12w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb12w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb12w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb12w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T2_PWK_DN:
|
|||
|
.LONG Dgb6w1a
|
|||
|
.WORD FLIPBITS|06,0
|
|||
|
.LONG Dgb6w2a
|
|||
|
.WORD 06
|
|||
|
.LONG Dgb6w3a
|
|||
|
.WORD 06
|
|||
|
.LONG Dgb6w4a
|
|||
|
.WORD 06
|
|||
|
.LONG Dgb6w5a
|
|||
|
.WORD 06
|
|||
|
.LONG Dgb6w6a
|
|||
|
.WORD 06
|
|||
|
.LONG 0
|
|||
|
T2_PWK_RGT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T2_PWK_LFT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2_PWK_UPRGT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2_PWK_DNLFT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T2_PWK_UPLFT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|07,0
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
T2_PWK_DNRGT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|07,(M_FLIPH)
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 07
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 07
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;MEDIUM
|
|||
|
T2M_PWK_UP:
|
|||
|
.LONG Dgb12w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG Dgb12w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb12w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb12w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb12w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb12w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T2M_PWK_DN:
|
|||
|
.LONG Dgb6w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG Dgb6w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb6w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb6w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb6w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb6w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T2M_PWK_RGT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T2M_PWK_LFT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2M_PWK_UPRGT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2M_PWK_DNLFT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T2M_PWK_UPLFT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|04,0
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
T2M_PWK_DNRGT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|04,(M_FLIPH)
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 04
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 04
|
|||
|
.LONG 0
|
|||
|
; FAST
|
|||
|
T2F_PWK_UP:
|
|||
|
.LONG Dgb12w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG Dgb12w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb12w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb12w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb12w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb12w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T2F_PWK_DN:
|
|||
|
.LONG Dgb6w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG Dgb6w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb6w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb6w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb6w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb6w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T2F_PWK_RGT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T2F_PWK_LFT:
|
|||
|
.LONG Dgb9w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG Dgb9w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb9w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2F_PWK_UPRGT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
T2F_PWK_DNLFT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T2F_PWK_UPLFT:
|
|||
|
.LONG Dgb10w1a
|
|||
|
.WORD FLIPBITS|03,0
|
|||
|
.LONG Dgb10w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb10w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
T2F_PWK_DNRGT:
|
|||
|
.LONG Dgb8w1a
|
|||
|
.WORD FLIPBITS|03,(M_FLIPH)
|
|||
|
.LONG Dgb8w2a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w3a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w4a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w5a
|
|||
|
.WORD 03
|
|||
|
.LONG Dgb8w6a
|
|||
|
.WORD 03
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;FLAME THROWER CARRYING AHMED GRUNT WHEN HE PUNCHES
|
|||
|
BAT8OA
|
|||
|
.LONG AHMED8HIT1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG AHMED8HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED8HIT3
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED8HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BAT4OA
|
|||
|
.LONG AHMED8HIT1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG AHMED8HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED8HIT3
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED8HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BAT10OA
|
|||
|
.LONG AHMED10HIT1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG AHMED10HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED10HIT3
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED10HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BAT2OA
|
|||
|
.LONG AHMED10HIT1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG AHMED10HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED10HIT3
|
|||
|
.WORD 4
|
|||
|
.LONG AHMED10HIT2
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;AXE SWINGING GRUNT
|
|||
|
BAT8O ;.LONG GSTND2
|
|||
|
; .WORD FLIPBITS|4,0
|
|||
|
.LONG SWING1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG SWING2
|
|||
|
.WORD 4
|
|||
|
.LONG SWING3
|
|||
|
.WORD 4
|
|||
|
.LONG SWING4
|
|||
|
.WORD 4
|
|||
|
.LONG SWING5
|
|||
|
.WORD 4
|
|||
|
.LONG SWING6
|
|||
|
.WORD 4
|
|||
|
.LONG SWING5
|
|||
|
.WORD 4
|
|||
|
.LONG SWING4
|
|||
|
.WORD 4
|
|||
|
.LONG SWING3
|
|||
|
.WORD 4
|
|||
|
.LONG SWING2
|
|||
|
.WORD 4
|
|||
|
.LONG SWING1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
BAT4O ; .LONG GSTND2
|
|||
|
; .WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG SWING1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG SWING2
|
|||
|
.WORD 4
|
|||
|
.LONG SWING3
|
|||
|
.WORD 4
|
|||
|
.LONG SWING4
|
|||
|
.WORD 4
|
|||
|
.LONG SWING5
|
|||
|
.WORD 4
|
|||
|
.LONG SWING6
|
|||
|
.WORD 4
|
|||
|
.LONG SWING5
|
|||
|
.WORD 4
|
|||
|
.LONG SWING4
|
|||
|
.WORD 4
|
|||
|
.LONG SWING3
|
|||
|
.WORD 4
|
|||
|
.LONG SWING2
|
|||
|
.WORD 4
|
|||
|
.LONG SWING1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BAT10O
|
|||
|
; .LONG GSTND4
|
|||
|
; .WORD FLIPBITS|4,0
|
|||
|
.LONG BAT1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG BAT2
|
|||
|
.WORD 4
|
|||
|
.LONG BAT3
|
|||
|
.WORD 4
|
|||
|
.LONG BAT4
|
|||
|
.WORD 4
|
|||
|
.LONG BAT5
|
|||
|
.WORD 4
|
|||
|
.LONG BAT6
|
|||
|
.WORD 4
|
|||
|
.LONG BAT5
|
|||
|
.WORD 4
|
|||
|
.LONG BAT4
|
|||
|
.WORD 4
|
|||
|
.LONG BAT3
|
|||
|
.WORD 4
|
|||
|
.LONG BAT2
|
|||
|
.WORD 4
|
|||
|
.LONG BAT1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BAT2O ; .LONG GSTND4
|
|||
|
.LONG BAT1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG BAT2
|
|||
|
.WORD 4
|
|||
|
.LONG BAT3
|
|||
|
.WORD 4
|
|||
|
.LONG BAT4
|
|||
|
.WORD 4
|
|||
|
.LONG BAT5
|
|||
|
.WORD 4
|
|||
|
.LONG BAT6
|
|||
|
.WORD 4
|
|||
|
.LONG BAT5
|
|||
|
.WORD 4
|
|||
|
.LONG BAT4
|
|||
|
.WORD 4
|
|||
|
.LONG BAT3
|
|||
|
.WORD 4
|
|||
|
.LONG BAT2
|
|||
|
.WORD 4
|
|||
|
.LONG BAT1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;REGULAR SOLDIER SWING
|
|||
|
BAT8OS ;.LONG GSTND2
|
|||
|
; .WORD FLIPBITS|4,0
|
|||
|
.LONG DSWING1
|
|||
|
.WORD FLIPBITS|4,0
|
|||
|
.LONG DSWING2
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING3
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING4
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING5
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING6
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING5
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING4
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING3
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING2
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
BAT4OS ; .LONG GSTND2
|
|||
|
; .WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG DSWING1
|
|||
|
.WORD FLIPBITS|4,(M_FLIPH)
|
|||
|
.LONG DSWING2
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING3
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING4
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING5
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING6
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING5
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING4
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING3
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING2
|
|||
|
.WORD 4
|
|||
|
.LONG DSWING1
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
BAT10OS
|
|||
|
; .LONG GSTND4
|
|||
|
; .WORD FLIPBITS|4,0
|
|||
|
.LONG DBAT1
|
|||
|
.WORD FLIPBITS|5,0
|
|||
|
.LONG DBAT2
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT3
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT4
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT5
|
|||
|
.WORD 5
|
|||
|
; .LONG BAT6
|
|||
|
; .WORD 4
|
|||
|
; .LONG BAT5
|
|||
|
; .WORD 4
|
|||
|
.LONG DBAT4
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT3
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT2
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT1
|
|||
|
.WORD 5
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BAT2OS ; .LONG GSTND4
|
|||
|
.LONG DBAT1
|
|||
|
.WORD FLIPBITS|5,(M_FLIPH)
|
|||
|
.LONG DBAT2
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT3
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT4
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT5
|
|||
|
.WORD 5
|
|||
|
; .LONG BAT6
|
|||
|
; .WORD 4
|
|||
|
; .LONG BAT5
|
|||
|
; .WORD 4
|
|||
|
.LONG DBAT4
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT3
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT2
|
|||
|
.WORD 5
|
|||
|
.LONG DBAT1
|
|||
|
.WORD 5
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
BOOM2:
|
|||
|
.LONG EXPL1
|
|||
|
.WORD NEWPALET|3
|
|||
|
.LONG EORNGPAL ;EXPP
|
|||
|
.LONG EXPL2
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL3
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL4
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL5
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL6
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL7
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL8
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL9
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL10
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL11
|
|||
|
.WORD 3
|
|||
|
.LONG EXPL12
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
BOOM2Z:
|
|||
|
.LONG EXPb1
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb2
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb3
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb4
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb5
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb6
|
|||
|
.WORD 2
|
|||
|
.LONG EXPb7
|
|||
|
.WORD 3
|
|||
|
.LONG EXPb8
|
|||
|
.WORD 3
|
|||
|
.LONG EXPb9
|
|||
|
.WORD 3
|
|||
|
.LONG 0
|
|||
|
BOOM2A:
|
|||
|
.LONG EXPb1
|
|||
|
.WORD 4
|
|||
|
.LONG EXPb2
|
|||
|
.WORD 3
|
|||
|
.LONG EXPb3
|
|||
|
.WORD NEWPALET|4
|
|||
|
.LONG BULLET
|
|||
|
.LONG EXPb4
|
|||
|
.WORD 4
|
|||
|
.LONG EXPb5
|
|||
|
.WORD 4
|
|||
|
.LONG EXPb6
|
|||
|
.WORD 4
|
|||
|
.LONG EXPb7
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb8
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb9
|
|||
|
.WORD 5
|
|||
|
.LONG 0
|
|||
|
BOOM3:
|
|||
|
.LONG EXPb1
|
|||
|
.WORD NEWPALET|4
|
|||
|
.LONG BULLET
|
|||
|
.LONG EXPb2
|
|||
|
.WORD 4
|
|||
|
.LONG EXPb3
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb4
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb5
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb6
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb7
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb8
|
|||
|
.WORD 5
|
|||
|
.LONG EXPb9
|
|||
|
.WORD 5
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;SOLDIER GRUNT SHOOTING
|
|||
|
SHOOT8O
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG DSWINGb
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGb
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD 1
|
|||
|
.LONG 0
|
|||
|
|
|||
|
SHOOT4O
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DSWINGb
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGb
|
|||
|
.WORD 4
|
|||
|
.LONG DSWINGa
|
|||
|
.WORD 1
|
|||
|
.LONG 0
|
|||
|
|
|||
|
SHOOT10O
|
|||
|
.LONG DBATa
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG DBATb
|
|||
|
.WORD 4
|
|||
|
.LONG DBATa
|
|||
|
.WORD 4
|
|||
|
.LONG DBATb
|
|||
|
.WORD 4
|
|||
|
.LONG DBATa
|
|||
|
.WORD 1
|
|||
|
.LONG 0
|
|||
|
|
|||
|
SHOOT2O
|
|||
|
.LONG DBATa
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DBATb
|
|||
|
.WORD 4
|
|||
|
.LONG DBATa
|
|||
|
.WORD 4
|
|||
|
.LONG DBATb
|
|||
|
.WORD 4
|
|||
|
.LONG DBATa
|
|||
|
.WORD 1
|
|||
|
.LONG 0
|
|||
|
|
|||
|
HSTGDWN:
|
|||
|
.LONG GRL1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG GRL2
|
|||
|
.WORD 05
|
|||
|
.LONG GRL3
|
|||
|
.WORD 05
|
|||
|
.LONG GRL4
|
|||
|
.WORD 05
|
|||
|
.LONG GRL3
|
|||
|
.WORD 05
|
|||
|
.LONG GRL2
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
HSTGDWN2:
|
|||
|
.LONG NSDRRUN1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG NSDRRUN2
|
|||
|
.WORD 05
|
|||
|
.LONG NSDRRUN3
|
|||
|
.WORD 05
|
|||
|
.LONG NSDRRUN4
|
|||
|
.WORD 05
|
|||
|
.LONG NSDRRUN3
|
|||
|
.WORD 05
|
|||
|
.LONG NSDRRUN2
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
HSTGDWNA:
|
|||
|
.LONG BABE1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG BABE2
|
|||
|
.WORD 05
|
|||
|
.LONG BABE3
|
|||
|
.WORD 05
|
|||
|
.LONG BABE4
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
HSTGDWNA2:
|
|||
|
.LONG PILOT1
|
|||
|
.WORD FLIPBITS|05,0
|
|||
|
.LONG PILOT2
|
|||
|
.WORD 05
|
|||
|
.LONG PILOT3
|
|||
|
.WORD 05
|
|||
|
.LONG PILOT4
|
|||
|
.WORD 05
|
|||
|
.LONG PILOT3
|
|||
|
.WORD 05
|
|||
|
.LONG PILOT2
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;AXE CARRYING GRUNT
|
|||
|
JDWN:
|
|||
|
.LONG JUMP2
|
|||
|
.WORD 0AH
|
|||
|
.LONG JUMP3
|
|||
|
.WORD 022H
|
|||
|
.LONG JUMP2
|
|||
|
.WORD 0EH
|
|||
|
.LONG JUMP
|
|||
|
.WORD 016H
|
|||
|
.LONG 0
|
|||
|
JDWN2:
|
|||
|
.LONG JUMP1A
|
|||
|
.WORD 05
|
|||
|
.LONG JUMP1B
|
|||
|
.WORD 05
|
|||
|
.LONG GSTND1
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
JRDWN:
|
|||
|
.LONG HJUMP2
|
|||
|
.WORD 10
|
|||
|
.LONG HJUMP3
|
|||
|
.WORD 01FH
|
|||
|
.LONG HJUMP2
|
|||
|
.WORD 011H
|
|||
|
.LONG HJUMP1
|
|||
|
.WORD 02AH ;1BH
|
|||
|
.LONG 0
|
|||
|
JRDWN2:
|
|||
|
.LONG HJUMP1A
|
|||
|
.WORD 05
|
|||
|
.LONG GSTND3
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
JRDWNP:
|
|||
|
;FOR PIT JUMPERS
|
|||
|
.LONG HJUMP2
|
|||
|
.WORD 12H
|
|||
|
.LONG HJUMP3
|
|||
|
.WORD 0FH
|
|||
|
.LONG HJUMP2
|
|||
|
.WORD 0FH
|
|||
|
.LONG HJUMP1
|
|||
|
.WORD 0FH
|
|||
|
.LONG 0
|
|||
|
DJRDWNP:
|
|||
|
;FOR PIT JUMPERS
|
|||
|
.LONG DHJUMP2
|
|||
|
.WORD 12H
|
|||
|
.LONG DHJUMP3
|
|||
|
.WORD 0FH
|
|||
|
.LONG DHJUMP2
|
|||
|
.WORD 0FH
|
|||
|
.LONG DHJUMP1
|
|||
|
.WORD 0FH
|
|||
|
.LONG 0
|
|||
|
|
|||
|
;REGULAR SOLDIER GRUNT
|
|||
|
DJDWN:
|
|||
|
.LONG DJUMP2
|
|||
|
.WORD 0AH
|
|||
|
.LONG DJUMP3
|
|||
|
.WORD 022H
|
|||
|
.LONG DJUMP2
|
|||
|
.WORD 0EH
|
|||
|
.LONG DJUMP1
|
|||
|
.WORD 016H
|
|||
|
.LONG 0
|
|||
|
DJDWN2:
|
|||
|
.LONG DJUMP1A
|
|||
|
.WORD 05
|
|||
|
.LONG DJUMP1B
|
|||
|
.WORD 05
|
|||
|
.LONG DGSTND1
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
DJRDWN:
|
|||
|
.LONG DHJUMP2
|
|||
|
.WORD 10
|
|||
|
.LONG DHJUMP3
|
|||
|
.WORD 01FH
|
|||
|
.LONG DHJUMP2
|
|||
|
.WORD 011H
|
|||
|
.LONG DHJUMP1
|
|||
|
.WORD 02AH ;1BH
|
|||
|
.LONG 0
|
|||
|
DJRDWN2:
|
|||
|
.LONG DHJUMP1A
|
|||
|
.WORD 05
|
|||
|
.LONG DGSTND3
|
|||
|
.WORD 05
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;AXE CARRYING GRUNT
|
|||
|
GR10
|
|||
|
.LONG G10GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG G10GRW2
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW3
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW4
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW5
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW6
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW7
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW8
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW9
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW10
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW11
|
|||
|
.WORD 3
|
|||
|
.LONG GSTND4
|
|||
|
.WORD 12
|
|||
|
.LONG 0
|
|||
|
GR8
|
|||
|
.LONG G8GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG G8GRW2
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW3
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW4
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW5
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW6
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW7
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW8
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW9
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW10
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW11
|
|||
|
.WORD 3
|
|||
|
.LONG GSTND2
|
|||
|
.WORD 12
|
|||
|
.LONG 0
|
|||
|
GR5
|
|||
|
.LONG G8GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG G8GRW2
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW3
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW4
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW5
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW6
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW7
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW8
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW9
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW10
|
|||
|
.WORD 3
|
|||
|
.LONG G8GRW11
|
|||
|
.WORD 3
|
|||
|
.LONG GSTND2
|
|||
|
.WORD 12
|
|||
|
.LONG 0
|
|||
|
GR2
|
|||
|
.LONG G10GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG G10GRW2
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW3
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW4
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW5
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW6
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW7
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW8
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW9
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW10
|
|||
|
.WORD 3
|
|||
|
.LONG G10GRW11
|
|||
|
.WORD 3
|
|||
|
.LONG GSTND4
|
|||
|
.WORD 12
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;REGULAR SOLDIER GRUNT GROW
|
|||
|
DGR10
|
|||
|
.LONG Dgb10w3a ;G10GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG 0
|
|||
|
DGR8
|
|||
|
.LONG Dgb8w3a ;G8GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG 0
|
|||
|
DGR5
|
|||
|
.LONG Dgb8w3a ;G8GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG 0
|
|||
|
DGR2
|
|||
|
.LONG Dgb10w3a ;G10GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
;AHMED GRUNT GROW
|
|||
|
DGR10A
|
|||
|
.LONG AHMED10a ;G10GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG 0
|
|||
|
DGR8A
|
|||
|
.LONG AHMED8a ;G8GRW1
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG 0
|
|||
|
DGR5A
|
|||
|
.LONG AHMED8a ;G8GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG 0
|
|||
|
DGR2A
|
|||
|
.LONG AHMED10a ;G10GRW1
|
|||
|
.WORD FLIPBITS|3,M_FLIPH
|
|||
|
.LONG 0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
;AXE CARRYING GRUNT
|
|||
|
ARMUP .LONG GNTARM7
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG GNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM1
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG GNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
LEGUP .LONG GRNTLG7
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG GRNTLG6
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG5
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG4
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG3
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG2
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG1
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG1
|
|||
|
.WORD FLIPBITS|5,(M_FLIPH)
|
|||
|
.LONG GRNTLG2
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG3
|
|||
|
.WORD 5
|
|||
|
.LONG GRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FLSHA .LONG FLSHA6
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG FLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA1
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG FLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FLSHB .LONG FLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB3
|
|||
|
.WORD 5
|
|||
|
.LONG FLSHB2
|
|||
|
.WORD 5
|
|||
|
.LONG FLSHB1
|
|||
|
.WORD 5
|
|||
|
.LONG FLSHB2
|
|||
|
.WORD 5
|
|||
|
.LONG FLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
ARMUPZ .LONG GNTARM7
|
|||
|
.WORD FLIPBITS|18,0
|
|||
|
.LONG GNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM1
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG GNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG GNTARM7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
LEGUPZ .LONG GRNTLG7
|
|||
|
.WORD FLIPBITS|23,0
|
|||
|
.LONG GRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG3
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG2
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG1
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG GRNTLG2
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG3
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG GRNTLG7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FLSHAZ .LONG FLSHA6
|
|||
|
.WORD FLIPBITS|10,0
|
|||
|
.LONG FLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA1
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG FLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHA6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
FLSHBZ .LONG FLSHB6
|
|||
|
.WORD 16
|
|||
|
.LONG FLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB1
|
|||
|
.WORD 5
|
|||
|
.LONG FLSHB2
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG FLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
BLSTS .LONG FLSHA1,ARMUP,LEGUP,FLSHA,FLSHB,ARMUPZ,LEGUPZ,FLSHAZ,FLSHBZ,0
|
|||
|
;AHMED LIST
|
|||
|
ALSTS .LONG FLSHA1,ARMUP,LEGUP,FLSHA,FLSHB,ARMUPZ,LEGUPZ,FLSHAZ,FLSHBZ,0
|
|||
|
PBLSTS .LONG BOY3,ARMUP,LEGUP,FLSHA,FLSHB,ARMUPZ,LEGUPZ,FLSHAZ,FLSHBZ,0
|
|||
|
|
|||
|
|
|||
|
;SOLDIER GRUNT
|
|||
|
DARMUP .LONG DGNTARM7
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG DGNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM1
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DGNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DLEGUP .LONG DGRNTLG7
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG DGRNTLG6
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG5
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG4
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG3
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG2
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG1
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG1
|
|||
|
.WORD FLIPBITS|5,(M_FLIPH)
|
|||
|
.LONG DGRNTLG2
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG3
|
|||
|
.WORD 5
|
|||
|
.LONG DGRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DFLSHA .LONG DFLSHA6
|
|||
|
.WORD FLIPBITS|3,0
|
|||
|
.LONG DFLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA1
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DFLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DFLSHB .LONG DFLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB3
|
|||
|
.WORD 5
|
|||
|
.LONG DFLSHB2
|
|||
|
.WORD 5
|
|||
|
.LONG DFLSHB1
|
|||
|
.WORD 5
|
|||
|
.LONG DFLSHB2
|
|||
|
.WORD 5
|
|||
|
.LONG DFLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
DARMUPZ .LONG DGNTARM7
|
|||
|
.WORD FLIPBITS|18,0
|
|||
|
.LONG DGNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM1
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DGNTARM2
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM3
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM4
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM5
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM6
|
|||
|
.WORD 4
|
|||
|
.LONG DGNTARM7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DLEGUPZ .LONG DGRNTLG7
|
|||
|
.WORD FLIPBITS|23,0
|
|||
|
.LONG DGRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG3
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG2
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG1
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DGRNTLG2
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG3
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG4
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG5
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG6
|
|||
|
.WORD 4
|
|||
|
.LONG DGRNTLG7
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DFLSHAZ .LONG DFLSHA6
|
|||
|
.WORD FLIPBITS|10,0
|
|||
|
.LONG DFLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA1
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA1
|
|||
|
.WORD FLIPBITS|3,(M_FLIPH)
|
|||
|
.LONG DFLSHA2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHA6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DFLSHBZ .LONG DFLSHB6
|
|||
|
.WORD 16
|
|||
|
.LONG DFLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB1
|
|||
|
.WORD 5
|
|||
|
.LONG DFLSHB2
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB3
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB4
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB5
|
|||
|
.WORD 4
|
|||
|
.LONG DFLSHB6
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
|
|||
|
DBLSTS .LONG DFLSHA1,DARMUP,DLEGUP,DFLSHA,DFLSHB,DARMUPZ,DLEGUPZ
|
|||
|
.LONG DFLSHAZ,DFLSHBZ,0
|
|||
|
|
|||
|
GETPSK
|
|||
|
;UPDATE HULK COUNT
|
|||
|
MOVE @HULK_CNT,A0
|
|||
|
INC A0
|
|||
|
MOVE A0,@HULK_CNT
|
|||
|
;CHOOSE PLAYER TO SEEK
|
|||
|
ANDI 01,A0
|
|||
|
MOVE A0,*A13(SKPLYR)
|
|||
|
MOVE A0,A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI PLYROBJS,A1
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE *A1(OXPOS),A1
|
|||
|
JRNZ RZY ;BR=OKAY TO SEEK THIS PLAYER
|
|||
|
;PLAYER I AM SEEKING IS IN DIE MODE
|
|||
|
XORI 1,A0
|
|||
|
MOVE A0,*A13(SKPLYR)
|
|||
|
RZY
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(CFLAGS),W
|
|||
|
MOVE A0,*A13(IBAT) ;NO BATTING AT START!
|
|||
|
MOVE A0,*A13(BNCCNT) ;NOBNCCNT AT START
|
|||
|
MOVE A0,*A13(BNCING)
|
|||
|
|
|||
|
|
|||
|
CLR B0
|
|||
|
MOVK 10,B1
|
|||
|
CALLA RANGRAND ;TIE THIS IN WITH DIFFICULTY!
|
|||
|
SLL 4,A0
|
|||
|
ADDI AGTBL,A0
|
|||
|
MOVE *A0,A0
|
|||
|
MOVE A0,*A13(HAGE)
|
|||
|
MOVE A0,*A13(KPAGE)
|
|||
|
RETS
|
|||
|
SOLD
|
|||
|
MOVE A13,*A8(OPLINK),L
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
MOVE *A8(OXPOS),A0
|
|||
|
ADDK 16,A0
|
|||
|
MOVE A0,*A8(OXPOS)
|
|||
|
MOVE *A8(OYPOS),A10
|
|||
|
SUBK 9,A10
|
|||
|
MOVE A10,*A8(OYPOS)
|
|||
|
CALLA ANI
|
|||
|
BTST 0,A10
|
|||
|
RETS
|
|||
|
|
|||
|
|
|||
|
*****************************************************************************
|
|||
|
I_FLM
|
|||
|
;FROM COLLISION ROUTINE, TELL THIS AHMED TO FLAME - I AM TOUCHING A PLAYER
|
|||
|
;A8=AHMD IMG PNTR, A0=KILLER IMG PNTR
|
|||
|
;A9=0 OR 1
|
|||
|
MMTM SP,A1,A7
|
|||
|
MOVE *A0(OPLINK),A0,L
|
|||
|
MOVE *A0(PNUM),A9
|
|||
|
MOVE *A8(OPLINK),A0,L
|
|||
|
MOVE *A0(IBAT),A7
|
|||
|
;2=FLAMING,1=PUNCHING
|
|||
|
JRZ WLK0
|
|||
|
;THIS AHMED IS CURRENTLY FLAMING!
|
|||
|
;KILL OFF FLAME PROC
|
|||
|
;DELOBJ FLAME IMG
|
|||
|
MMTM SP,A0,A8
|
|||
|
CALLR KIL_FLM
|
|||
|
MMFM SP,A0,A8
|
|||
|
WLK0
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0(GOCRNR),L
|
|||
|
MOVE A1,*A0(CFLAGS)
|
|||
|
MOVK 1,A1
|
|||
|
MOVE A1,*A0(IBAT)
|
|||
|
MOVI DOPNCH,A7
|
|||
|
MOVI AHMDPID,A1
|
|||
|
CALLA XFERPROC
|
|||
|
MMFM SP,A1,A7
|
|||
|
RETS
|
|||
|
KIL_FLM
|
|||
|
;CLEAN UP FLAME FROM AHMED DUDE
|
|||
|
MOVE *A0(BULPRC),A0,L
|
|||
|
JRZ WLK ;BR=HE WAS LINING UP TO FLAME ME!
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A0(BULPRC),L
|
|||
|
MOVE *A0(PDATA+64),A1,L
|
|||
|
MOVE *A0(PDATA+128),A2,L
|
|||
|
MOVE *A0(PDATA+192),A3,L
|
|||
|
CALLA PEXIST
|
|||
|
JRZ WLK
|
|||
|
MOVE *A0(PROCID),A4
|
|||
|
CMPI FLMPID,A4
|
|||
|
JRNZ WLK
|
|||
|
CALLA KILL ;KILLS BULLET PROCESS
|
|||
|
MOVE A1,A0 ;KILL FLAME
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A2,A0 ;KILL FLAME
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE A3,A0 ;KILL FLAME
|
|||
|
CALLA DELOBJ
|
|||
|
WLK RETS
|
|||
|
|
|||
|
DOPNCH:
|
|||
|
;A9=PLAYER 1 OR 2
|
|||
|
;THIS AHMED IS PUNCHING
|
|||
|
;START PUNCH
|
|||
|
|
|||
|
CALLR PHASE1
|
|||
|
JRC PSUP ;BR=BAT UPWARD
|
|||
|
CMP A4,A1
|
|||
|
JRC PB8O ;BR=8 O'CLOCK SWING NEEDED
|
|||
|
;4 O'CLOCK
|
|||
|
MOVI BAT4OA,A9
|
|||
|
JRUC DOPN
|
|||
|
PB8O
|
|||
|
;8
|
|||
|
MOVI BAT8OA,A9 ;AHMED PUNCH
|
|||
|
JRUC DOPN
|
|||
|
|
|||
|
PSUP CMP A4,A1
|
|||
|
JRC PB10O
|
|||
|
;2 O'CLOCK
|
|||
|
MOVI BAT2OA,A9
|
|||
|
JRUC DOPN
|
|||
|
PB10O
|
|||
|
MOVI BAT10OA,A9
|
|||
|
DOPN
|
|||
|
MOVE A9,A10
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A10,A9
|
|||
|
MOVK 1,A1
|
|||
|
JSRP FRANIM
|
|||
|
PNCHDN
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(DIS)
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
MOVI ZEROS,A9
|
|||
|
JRUC ALUP_TOP
|
|||
|
|
|||
|
|
|||
|
AAHMED:
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVI AHMD,A2
|
|||
|
CALLR GET_WVADDR
|
|||
|
|
|||
|
MOVE *A0(16),A1,W ;DEC WAVE RAM CNT FOR THIS HULK
|
|||
|
DEC A1
|
|||
|
MOVE A1,*A0(16),W
|
|||
|
|
|||
|
MOVE *A0(32),A1,W ;GET DIFFICULTY LEVEL
|
|||
|
|
|||
|
CALLR START_AHMD
|
|||
|
|
|||
|
MOVE *A13(CFLAGS),A0 ;RUNNING OUT
|
|||
|
ORI 2,A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
|
|||
|
MOVK 4,A3 ;20
|
|||
|
MOVE A3,*A13(DIS) ;CHANGE BASED ON HULKS SPEED?
|
|||
|
|
|||
|
CRATE_IN
|
|||
|
;ENTRY POINT FOR CRATE AHMED DUDE
|
|||
|
;NOW START WITH A VELOCITY!
|
|||
|
CALLR OKVA
|
|||
|
|
|||
|
MOVE *A8(OYPOS),A0
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
SRL 16,A1
|
|||
|
ADDI 255,A1 ;275
|
|||
|
CMP A0,A1
|
|||
|
JRGT ALUP_TOP
|
|||
|
;THIS HULK STARTING LOWER THAN BOTTOM OF SCRN!
|
|||
|
;RESET ITS Y LINE
|
|||
|
MOVE A1,*A8(OYPOS)
|
|||
|
;
|
|||
|
; LOOP TOP FOR AHMED FLAME THROWER GRUNT
|
|||
|
;
|
|||
|
ALUP_TOP:
|
|||
|
;TOP OF HULK LOGIC
|
|||
|
MOVE @HALT,A0
|
|||
|
JRZ ACONT1 ;IF HALT ON, LOOP BACK TO TOP
|
|||
|
SLEEPK 3
|
|||
|
JRUC ALUP_TOP
|
|||
|
ACONT1
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 2,A0
|
|||
|
JRZ AC2
|
|||
|
;SEEKING SIT SPOT, AM I THERE?
|
|||
|
MOVE *A13(GOCRNR),A0,L
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
SUB A0,A1
|
|||
|
ABS A1
|
|||
|
CMPI [10,0],A1
|
|||
|
JRNC AC2
|
|||
|
ANDI 0FFFFH,A0
|
|||
|
MOVE *A8(OXPOS),A1
|
|||
|
SUB A0,A1
|
|||
|
ABS A1
|
|||
|
CMPI 15H,A1
|
|||
|
JRNC AC2
|
|||
|
;YES A HIT!
|
|||
|
;PAUSE HERE FOR X TIME
|
|||
|
;ALWAYS POINT TOWARD PLAYER I WILL SEEK!
|
|||
|
CALLR SETUP_DIR
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE A0,*A13(GOCRNR),L
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
GTO
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
MOVE *A13(SK_DIR),A1
|
|||
|
CMP A0,A1
|
|||
|
JRZ GTOO
|
|||
|
CALLR WAY
|
|||
|
SLEEPK 5
|
|||
|
JRUC GTO
|
|||
|
GTOO
|
|||
|
MOVK 1,B0 ;AHMED STAYS IN CORNER
|
|||
|
MOVI 60*6,B1
|
|||
|
CALLA RANGRAND
|
|||
|
CALLA PRCSLP
|
|||
|
MOVI ZEROS,A9
|
|||
|
AC2 MOVE *A13(NOFLMS),A0
|
|||
|
JRZ AC3
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(NOFLMS)
|
|||
|
JRNZ NOFL
|
|||
|
AC3
|
|||
|
MOVE *A13(SKPLYR),A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI PLYROBJS,A1
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE *A1(OXPOS),A2
|
|||
|
MOVE *A8(OXPOS),A3
|
|||
|
SUB A2,A3
|
|||
|
ABS A3
|
|||
|
CMPI 80,A3
|
|||
|
JRNC NOFL
|
|||
|
MOVE *A1(OYPOS),A2
|
|||
|
MOVE *A8(OYPOS),A3
|
|||
|
SUB A2,A3
|
|||
|
ABS A3
|
|||
|
CMPI 04CH,A3
|
|||
|
JRNC NOFL
|
|||
|
MOVE *A13(SKPLYR),A9
|
|||
|
;A9=PLAYER 0 OR 1
|
|||
|
;THIS AHMED IS FLAMING AT
|
|||
|
INC A9
|
|||
|
MOVK 2,A0 ;2=FLAMING,1=PUNCHING
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
CALLR PHASE1
|
|||
|
|
|||
|
JRC FSUP ;BR=BAT UPWARD
|
|||
|
CMP A4,A1
|
|||
|
JRC FB8O ;BR=8 O'CLOCK SWING NEEDED
|
|||
|
;4 O'CLOCK
|
|||
|
MOVI AHMED8,A1
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
ORI M_FLIPH,A4
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 10
|
|||
|
MOVI DMAWNZ|M_PIXSCAN|M_FLIPH,A4
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
ADDI [13H,0],A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
SUBI [12H,0],A1
|
|||
|
MOVK 2,A9
|
|||
|
JRUC FBATDN
|
|||
|
|
|||
|
FB8O
|
|||
|
MOVI AHMED8,A1
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
ANDI 0FFEFH,A4
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 10
|
|||
|
MOVI DMAWNZ|M_PIXSCAN,A4
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
ADDI [10H,0],A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
SUBI [12H,0],A1
|
|||
|
MOVK 3,A9
|
|||
|
JRUC FBATDN
|
|||
|
|
|||
|
FSUP CMP A4,A1
|
|||
|
JRC FB10O
|
|||
|
;2 O'CLOCK
|
|||
|
MOVI AHMED10,A1
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
ANDI 0FFEFH,A4 ;NO HZ FLIP BIT SET
|
|||
|
ORI M_FLIPH,A4
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 10
|
|||
|
MOVI DMAWNZ|M_PIXSCAN|M_FLIPH|M_FLIPV,A4
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
ADDI [019H,0],A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
ADDI [03CH,0],A1
|
|||
|
MOVK 1,A9
|
|||
|
JRUC FBATDN
|
|||
|
FB10O
|
|||
|
MOVI AHMED10,A1
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
ANDI 0FFEFH,A4 ;NO HZ FLIP BIT SET
|
|||
|
CALLA ANI
|
|||
|
SLEEPK 10
|
|||
|
MOVI DMAWNZ|M_PIXSCAN|M_FLIPV,A4
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
ADDI [0EH,0],A0
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
ADDI [03CH,0],A1
|
|||
|
CLR A9
|
|||
|
FBATDN
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
MOVI 160,A3
|
|||
|
MOVI AHMEDBLST1,A2
|
|||
|
MOVI CLSENMY|TYPLAYR|SUBFLM,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
MOVE A8,A10
|
|||
|
CALLA BEGINOBJ2
|
|||
|
CREATE FLMPID,FLAMING
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVE A10,A8
|
|||
|
SLEEP 10FH-120
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(IBAT)
|
|||
|
MOVE A0,*A13(GOCRNR),L
|
|||
|
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(DIS)
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
MOVI ZEROS,A9
|
|||
|
MOVK 1,B0
|
|||
|
MOVI 60,B1 ;120
|
|||
|
CALLA RANGRAND
|
|||
|
; MOVI 1,A0 ;80,A0
|
|||
|
MOVE A0,*A13(NOFLMS)
|
|||
|
JRUC ALUP_TOP
|
|||
|
|
|||
|
NOFL
|
|||
|
;CHECK FOR COLLISIONS WITH RECTANGLES ON THIS SCREEN
|
|||
|
MOVE @EN_CURRENT,A0,L ;CURRENT RECT LIST
|
|||
|
JRZ NOBOXS
|
|||
|
CALLR CK_RECT
|
|||
|
NOBOXS MOVI SETUP_DIRA,A10 ;ROUTINE TO CALL
|
|||
|
CALLR CK_SPIN
|
|||
|
MOVE A0,A0
|
|||
|
JRZ NOTSPINA
|
|||
|
CALLA PRCSLP
|
|||
|
JRUC ALUP_TOP
|
|||
|
|
|||
|
|
|||
|
FLAMING
|
|||
|
;MAYBE ALIGN WITH THIS (A10) AHMED GUY AS I FLAME
|
|||
|
;A10 IS FLAME THROWER AHMED PNTR
|
|||
|
MOVI TORCH,A0
|
|||
|
CALLA ONESND
|
|||
|
MOVE A9,*A13(PDATA)
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,*A13(PDATA+32)
|
|||
|
MOVE A8,*A13(PDATA+64),L ;STUB PC BASE
|
|||
|
MOVI BLASTA,A0
|
|||
|
MOVE A0,*A13(PDATA+96),L
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
MOVI AHMEDBLST1,A2
|
|||
|
MOVI 160,A3
|
|||
|
MOVI CLSENMY|TYPLAYR|SUBFLM,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
MOVE A8,*A13(PDATA+128),L
|
|||
|
MOVI BLASTA2,A0
|
|||
|
MOVE A0,*A13(PDATA+160),L
|
|||
|
MOVE *A8(OXVAL),A0,L
|
|||
|
MOVE *A8(OYVAL),A1,L
|
|||
|
MOVE *A8(OFLAGS),A4
|
|||
|
MOVI AHMEDBLST1,A2
|
|||
|
MOVI 160,A3
|
|||
|
MOVI CLSENMY|TYPLAYR|SUBFLM,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
MOVE A8,*A13(PDATA+192),L
|
|||
|
MOVI BLASTA3,A0
|
|||
|
MOVE A0,*A13(PDATA+224),L
|
|||
|
DSF0
|
|||
|
MOVE *A13(PDATA+64),A8,L
|
|||
|
MOVE *A13(PDATA+96),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+96),L
|
|||
|
MOVE *A13(PDATA+128),A8,L
|
|||
|
MOVE *A13(PDATA+160),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+160),L
|
|||
|
MOVE *A13(PDATA+192),A8,L
|
|||
|
MOVE *A13(PDATA+224),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+224),L
|
|||
|
JRC NXTF
|
|||
|
;A0=SLP TIME
|
|||
|
MOVE A0,A11
|
|||
|
DSF CALLR ALIGNF
|
|||
|
SLEEPK 1
|
|||
|
DSJS A11,DSF
|
|||
|
JRUC DSF0
|
|||
|
|
|||
|
|
|||
|
NXTF
|
|||
|
MOVI BLASTB,A9
|
|||
|
MOVE A9,*A13(PDATA+96),L
|
|||
|
MOVI BLASTB2,A9
|
|||
|
MOVE A9,*A13(PDATA+160),L
|
|||
|
MOVI BLASTB3,A9
|
|||
|
MOVE A9,*A13(PDATA+224),L
|
|||
|
NXTFA
|
|||
|
MOVE *A13(PDATA+64),A8,L
|
|||
|
MOVE *A13(PDATA+96),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+96),L
|
|||
|
MOVE *A13(PDATA+128),A8,L
|
|||
|
MOVE *A13(PDATA+160),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+160),L
|
|||
|
MOVE *A13(PDATA+192),A8,L
|
|||
|
MOVE *A13(PDATA+224),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+224),L
|
|||
|
JRC NXTF1
|
|||
|
MOVE A0,A11
|
|||
|
DSF2 CALLR ALIGNF
|
|||
|
SLEEPK 1
|
|||
|
DSJS A11,DSF2
|
|||
|
JRUC NXTFA
|
|||
|
NXTF1 MOVE *A13(PDATA+32),A0
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(PDATA+32)
|
|||
|
JRNZ NXTF
|
|||
|
|
|||
|
MOVI BLASTC,A9
|
|||
|
MOVE A9,*A13(PDATA+96),L
|
|||
|
MOVI BLASTC2,A9
|
|||
|
MOVE A9,*A13(PDATA+160),L
|
|||
|
MOVI BLASTC3,A9
|
|||
|
MOVE A9,*A13(PDATA+224),L
|
|||
|
DSF4
|
|||
|
; MOVK 4,A1
|
|||
|
; JSRP FRANIM
|
|||
|
MOVE *A13(PDATA+64),A8,L
|
|||
|
MOVE *A13(PDATA+96),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+96),L
|
|||
|
MOVE *A13(PDATA+128),A8,L
|
|||
|
MOVE *A13(PDATA+160),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+160),L
|
|||
|
MOVE *A13(PDATA+192),A8,L
|
|||
|
MOVE *A13(PDATA+224),A9,L
|
|||
|
MOVK 4,A1
|
|||
|
JSRP FRANIM
|
|||
|
MOVE A9,*A13(PDATA+224),L
|
|||
|
JRC NXTF2
|
|||
|
MOVE A0,A11
|
|||
|
DSF3 CALLR ALIGNF
|
|||
|
SLEEPK 1
|
|||
|
DSJS A11,DSF3
|
|||
|
JRUC DSF4
|
|||
|
|
|||
|
NXTF2
|
|||
|
MOVE *A13(PDATA+64),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+128),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
MOVE *A13(PDATA+192),A0,L
|
|||
|
CALLA DELOBJ
|
|||
|
****************JARV PATCH
|
|||
|
MOVE @WAVE,A0
|
|||
|
CMPI 16,A0 ;ORCUS WAVE USES FLAMES
|
|||
|
JAEQ SUCIDE
|
|||
|
******************************
|
|||
|
MOVE *A10(OPLINK),A10,L
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A10(BULPRC),L
|
|||
|
DIE
|
|||
|
|
|||
|
|
|||
|
**********************JARV PATCH
|
|||
|
DOIT
|
|||
|
MOVI 160,A3
|
|||
|
MOVI AHMEDBLST1,A2
|
|||
|
MOVI CLSENMY|TYPLAYR|SUBFLM,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
MOVE A8,A10
|
|||
|
CALLA BEGINOBJ2
|
|||
|
CREATE HULKPID,FLAMING
|
|||
|
******************WAITING FOR FLMPID ID***********
|
|||
|
; CREATE FLMPID,FLAMING
|
|||
|
DIE
|
|||
|
*************************************
|
|||
|
|
|||
|
ALIGNF
|
|||
|
; MOVE A8,A0
|
|||
|
MOVE *A13(PDATA+64),A0,L
|
|||
|
MOVE A10,A8
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(PDATA),A6
|
|||
|
SLL 5,A6
|
|||
|
ADDI FIREYX,A6
|
|||
|
MOVE *A6,A6,L
|
|||
|
ADD A6,A2
|
|||
|
SLL 16,A6
|
|||
|
ADD A6,A3
|
|||
|
;A2=Y,A3=X
|
|||
|
MOVE *A0(OFLAGS),A4,W
|
|||
|
CALLA GANISAG ;ADJUSTS TORSO
|
|||
|
; MOVE A0,A8
|
|||
|
MOVE *A13(PDATA+128),A0,L
|
|||
|
MOVE A10,A8
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(PDATA),A6
|
|||
|
SLL 5,A6
|
|||
|
ADDI FIREYX,A6
|
|||
|
MOVE *A6,A6,L
|
|||
|
ADD A6,A2
|
|||
|
SLL 16,A6
|
|||
|
ADD A6,A3
|
|||
|
;A2=Y,A3=X
|
|||
|
MOVE *A0(OFLAGS),A4,W
|
|||
|
CALLA GANISAG ;ADJUSTS TORSO
|
|||
|
; MOVE A0,A8
|
|||
|
MOVE *A13(PDATA+192),A0,L
|
|||
|
MOVE A10,A8
|
|||
|
CALLA GETANIXY
|
|||
|
MOVE *A13(PDATA),A6
|
|||
|
SLL 5,A6
|
|||
|
ADDI FIREYX,A6
|
|||
|
MOVE *A6,A6,L
|
|||
|
ADD A6,A2
|
|||
|
SLL 16,A6
|
|||
|
ADD A6,A3
|
|||
|
;A2=Y,A3=X
|
|||
|
MOVE *A0(OFLAGS),A4,W
|
|||
|
CALLA GANISAG ;ADJUSTS TORSO
|
|||
|
; MOVE A0,A8
|
|||
|
RETS
|
|||
|
|
|||
|
;2=4 OCLOCK
|
|||
|
;3=8 OCLOCK
|
|||
|
************************JARV PATCH
|
|||
|
FIREYX .LONG [52H,0FFF8H],[053H,7],[1,1],[1,-1],[29H,-8],[29H,8]
|
|||
|
;FIREYX .LONG [52H,0FFF8H],[053H,7],[29H,-8],[29H,8]
|
|||
|
***************************************
|
|||
|
|
|||
|
NOTSPINA:
|
|||
|
MOVE *A13(DIS),A0 ;UPDATE DISTANCE COUNT
|
|||
|
DEC A0
|
|||
|
MOVE A0,*A13(DIS) ;STUFF NEW COUNT
|
|||
|
JRNZ DOAHMD ;BR=CONTINUE CURRENT DIRECTION
|
|||
|
MOVE A0,*A13(BNCING)
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 1,A0
|
|||
|
JRZ T3A
|
|||
|
;THIS AHMD JUST RUNNING IN! GIVE THIS ONE A BOGUS SEEK DIR
|
|||
|
;IF WITHIN WALLS THEN CONT, OTHERWISE RESET DIS CNTR
|
|||
|
MOVE @WORLDTLX,A0,L
|
|||
|
MOVE @SITLST,A2,L
|
|||
|
MOVE @WORLDTLY,A1,L
|
|||
|
MOVE *A13(DIR),A3
|
|||
|
DEC A3
|
|||
|
SLL 6,A3
|
|||
|
ADD A3,A2
|
|||
|
MOVE @HCOUNT,A4 ;HULK_CNT,A4
|
|||
|
ANDI 01,A4
|
|||
|
SLL 5,A4
|
|||
|
ADD A4,A2
|
|||
|
MOVE *A2,A2,L
|
|||
|
ADD A2,A1
|
|||
|
SRL 16,A0
|
|||
|
ADD A2,A0
|
|||
|
MOVX A0,A1
|
|||
|
MOVE A1,*A13(GOCRNR),L
|
|||
|
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ORI 04,A0 ;INDICATE SEEKING SIT SPOT
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
|
|||
|
; MOVE *A13(DIR),A3
|
|||
|
; SLL 5,A3
|
|||
|
; ADDI NEWANGA,A3
|
|||
|
; MOVK 1,B0
|
|||
|
; MOVK 4,B1
|
|||
|
; CALLA RANGRAND
|
|||
|
; MOVE *A3,A3,L
|
|||
|
; DEC A0
|
|||
|
; SLL 4,A0
|
|||
|
; ADD A0,A3
|
|||
|
; MOVE *A3,A0 ;NEW SEEK DIR
|
|||
|
; MOVE A0,*A13(SK_DIR)
|
|||
|
; CALLR INTO
|
|||
|
JRUC T4A
|
|||
|
;
|
|||
|
;NOW POINT THIS AHMD AT CURRENT POSITION OF PLAYER
|
|||
|
T3A: MOVE *A13(BNCING),A0
|
|||
|
JRNZ DOAHMD
|
|||
|
MOVE *A13(SK_DIR),A7,W
|
|||
|
;IF NEW SEEK IS <> OLD SEEK, THEN SET STAND FLAG
|
|||
|
CALLR GET_DIS
|
|||
|
CALLR SETUP_DIRA
|
|||
|
MOVE *A13(SK_DIR),A0
|
|||
|
CMP A0,A7 ;NEW CMP OLD SEEK
|
|||
|
JREQ DOAHMD
|
|||
|
|
|||
|
T4A: MOVE *A13(CFLAGS),A0 ;SAYS I AM SPINNING
|
|||
|
ORI 01H,A0
|
|||
|
MOVE A0,*A13(CFLAGS),W
|
|||
|
MOVK 2,A0
|
|||
|
MOVE A0,*A13(OSCILLATE)
|
|||
|
SLEEPK 3
|
|||
|
JRUC ALUP_TOP
|
|||
|
DOAHMD:
|
|||
|
CLR A1
|
|||
|
JSRP FRANIM
|
|||
|
JRNC CHA ;BR=NOT AT END OF SCRIPT YET
|
|||
|
CALLR GET_RUN
|
|||
|
CHA
|
|||
|
JRUC ALUP_TOP
|
|||
|
|
|||
|
|
|||
|
START_AHMD
|
|||
|
MOVE A1,*A13(LEVEL),W
|
|||
|
|
|||
|
MOVK 2,A0 ;INDICATES AHMED GRUNT
|
|||
|
MOVE A0,*A13(HULKTYP)
|
|||
|
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(BULPRC),L
|
|||
|
MOVE A0,*A13(NOFLMS),L
|
|||
|
MOVE A0,*A13(ABSRB)
|
|||
|
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVE A10,*A13(SK_DIR)
|
|||
|
|
|||
|
;UPDATE AHMD COUNT
|
|||
|
MOVE @AHMD_CNT,A0
|
|||
|
INC A0
|
|||
|
MOVE A0,@AHMD_CNT
|
|||
|
;CHOOSE PLAYER TO SEEK
|
|||
|
ANDI 01,A0
|
|||
|
MOVE A0,*A13(SKPLYR)
|
|||
|
MOVE A0,A1
|
|||
|
SLL 5,A1
|
|||
|
ADDI PLYROBJS,A1
|
|||
|
MOVE *A1,A1,L
|
|||
|
MOVE *A1(OXPOS),A1
|
|||
|
JRNZ PZY ;BR=OKAY TO SEEK THIS PLAYER
|
|||
|
;PLAYER I AM SEEKING IS IN DIE MODE
|
|||
|
XORI 1,A0
|
|||
|
MOVE A0,*A13(SKPLYR)
|
|||
|
PZY
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(CFLAGS),W
|
|||
|
MOVE A0,*A13(IBAT) ;NO BATTING AT START!
|
|||
|
|
|||
|
MOVE A10,*A13(DIR)
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI HXT,A0
|
|||
|
MOVE *A0,A4,L
|
|||
|
;BTML .LONG 0,0,[08,0],[10,0],[08,0],[30,0],[08,0],[50,0],[17,0],[20,0]
|
|||
|
;[Y,X] OF PLACEMENT
|
|||
|
;A4=THIS
|
|||
|
;A8=1-4
|
|||
|
MOVK 1,A8
|
|||
|
SLL 6,A8
|
|||
|
ADD A8,A4
|
|||
|
MOVE *A4+,A1,L ;GET Y FIRST
|
|||
|
ADD A9,A1
|
|||
|
SLL 16,A9
|
|||
|
MOVE *A4,A0,L
|
|||
|
ADD A9,A0
|
|||
|
MOVI AHMED10,A2
|
|||
|
;NEED A0=[X,0000],A1=[Y,0000]
|
|||
|
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
MOVI 100,A3 ;TAKE OUT
|
|||
|
MOVE A3,*A13(NOFLMS)
|
|||
|
MOVI 159,A3
|
|||
|
MOVI DMAWNZ,A4 ;NON-ZERO VALUE
|
|||
|
MOVI CLSENMY|TYPAHMD,A5
|
|||
|
CLR A6
|
|||
|
CLR A7
|
|||
|
CALLA BEGINOBJ2
|
|||
|
RETS
|
|||
|
|
|||
|
CK_RECT
|
|||
|
;NOW CHECK RECTANGLES FOR COLLISIONS
|
|||
|
MOVE *A13(BOXCK),A1
|
|||
|
DEC A1
|
|||
|
JRNZ NOREC
|
|||
|
;TIME TO CHECK HULK AGAINST RECTANGLES!
|
|||
|
;BOG CITY
|
|||
|
MOVK 8,A1
|
|||
|
MOVE A1,*A13(BOXCK)
|
|||
|
;MAYBE JUST KILL THIS GUY OFF IF HE HAS COLLIDED WITH RECTANGLES TOO MUCH!
|
|||
|
;FIRST CHECK TO SEE IF THIS WILL PUSH PLAYER INTO BAD RECTANGLE AREA
|
|||
|
;CHECK FOR RECTANGLE COLLISIONS!
|
|||
|
MOVE *A8(OXVAL),A4,L
|
|||
|
MOVE *A8(OYVAL),A6,L
|
|||
|
SRL 16,A4 ;X
|
|||
|
SRL 16,A6 ;Y
|
|||
|
NEXT0 MOVE *A0+,A1,W
|
|||
|
JRZ NOBOX
|
|||
|
CMP A1,A4
|
|||
|
JRLT NEXT ;IF BRNCH RECT LFT EDGE > PLYR X
|
|||
|
MOVE *A0+,A1,W
|
|||
|
CMP A1,A6 ;
|
|||
|
JRLT NEXTA ;IF BRNCH RECT TOP EDGE > PLYR Y
|
|||
|
MOVE *A0+,A1,W
|
|||
|
CMP A1,A4
|
|||
|
JRGT NEXTB ;IF BRNCH RECT RGT EDGE < PLYR X
|
|||
|
MOVE *A0+,A1,W
|
|||
|
CMP A1,A6
|
|||
|
JRLT YESA ;IF BRNCH RECT BOT EDGE < PLYR Y
|
|||
|
ADDK 16,A0
|
|||
|
JRUC NEXT0
|
|||
|
YESA
|
|||
|
;HIT A RECTANGLE
|
|||
|
;WHAT DO I DO?
|
|||
|
MOVE *A0,A0
|
|||
|
MOVE A0,*A13(SK_DIR)
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A8(OXVEL),L
|
|||
|
MOVE A0,*A8(OYVEL),L
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ORI 1,A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
MOVK 32,A1 ;DON'T CHECK FOR AWHILE ;40
|
|||
|
MOVE A1,*A13(BNCING) ;DIS HULK WILL TRAVEL AFTER BNC!
|
|||
|
MOVE A1,*A13(BOXCK) ;TIME BEFORE WE CHECK AGAIN
|
|||
|
MOVE *A13(BNCCNT),A0
|
|||
|
INC A0
|
|||
|
MOVE A0,*A13(BNCCNT)
|
|||
|
CMPI 3,A0
|
|||
|
JRNZ NOBOX
|
|||
|
;GRUNT IS STUCK BNCING OFF RECTANGLES! KILL HIM!
|
|||
|
SETC
|
|||
|
RETS
|
|||
|
|
|||
|
NEXT ADDI 48+16,A0
|
|||
|
JRUC NEXT0
|
|||
|
NEXTA ADDI 32+16,A0
|
|||
|
JRUC NEXT0
|
|||
|
NEXTB ADDK 16+16,A0
|
|||
|
JRUC NEXT0
|
|||
|
|
|||
|
NOREC MOVE A1,*A13(BOXCK)
|
|||
|
NOBOX CLRC
|
|||
|
RETS
|
|||
|
CK_SPIN
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 0,A0
|
|||
|
JRZ NOSPN
|
|||
|
;THIS HULK IS SPINNING, DO SPIN
|
|||
|
MOVE *A13(SK_DIR),A1
|
|||
|
MOVE *A13(DIR),A0,W
|
|||
|
CMP A0,A1
|
|||
|
JRNE CONT
|
|||
|
;HULK HAS SPUN TO CORRECT DIR, NOW START HIM WALKING AGAIN
|
|||
|
;SET DIS CNTR ALSO
|
|||
|
;CHECK TO MAKE THIS DIR IS STILL HEADING TOWARD PLAYER!
|
|||
|
;IF SO, START RUN WITH CORRECT VELOCITY STUFFED TO COLLIDE WITH PLAYER
|
|||
|
;IF NOT, SPIN SOME MORE!
|
|||
|
;IF NEW SEEK IS <> OLD SEEK, THEN SET STAND FLAG
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
BTST 1,A0 ;REGULAR HULK RUN IN FLAG
|
|||
|
JRZ R0
|
|||
|
; HULK HAS RUN IN, NOW ANGLE HIM OFF RANDOMLY
|
|||
|
MOVK 18,A0 ;15
|
|||
|
MOVE A0,*A13(DIS)
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ANDI 0FFFDH,A0
|
|||
|
MOVE A0,*A13(CFLAGS)
|
|||
|
JRUC GOODNEWS
|
|||
|
R0
|
|||
|
MOVE *A13(BNCING),A0
|
|||
|
JRNZ GNW2
|
|||
|
PUSH A1
|
|||
|
CALLR GET_DIS
|
|||
|
CALL A10 ;SETUP_DIR
|
|||
|
PULL A1
|
|||
|
MOVE *A13(SK_DIR),A0
|
|||
|
CMP A0,A1 ;NEW CMP OLD SEEK
|
|||
|
JREQ GOODNEWS
|
|||
|
;HULK SPUN TO CORRECT DIR THEN CHECKED AGAIN AND THE PLAYER HAD MOVED
|
|||
|
MOVE *A13(OSCILLATE),A0
|
|||
|
JRNZ GNW
|
|||
|
MOVK 1,A0
|
|||
|
MOVE A0,*A13(OSCILLATE)
|
|||
|
;SET HULK SPIN FLAG AGAIN BECAUSE PLAYER MOVED!
|
|||
|
MOVE *A13(CFLAGS),A0
|
|||
|
ORI 01H,A0
|
|||
|
MOVE A0,*A13(CFLAGS),W
|
|||
|
MOVK 1,A0
|
|||
|
RETS
|
|||
|
|
|||
|
GNW2
|
|||
|
;A0=DIR TO BNC
|
|||
|
MOVE *A13(DIR),A0
|
|||
|
CALLR INTO
|
|||
|
MOVI 30,A0
|
|||
|
JRUC GNW1
|
|||
|
GNW MOVK 5,A0 ;6
|
|||
|
GNW1 MOVE A0,*A13(DIS)
|
|||
|
GOODNEWS:
|
|||
|
CLR A0
|
|||
|
MOVE A0,*A13(OSCILLATE)
|
|||
|
CALLR GET_RUN ;ZEROS STAND FLAG ALSO
|
|||
|
MOVK 1,A0
|
|||
|
RETS
|
|||
|
|
|||
|
CONT:
|
|||
|
CALLR WAY ;WHICH WAY TO SPIN/THEN ANI STAND VW
|
|||
|
CONT1: MOVK 3,A0
|
|||
|
RETS
|
|||
|
|
|||
|
NOSPN: CLR A0
|
|||
|
RETS
|
|||
|
|
|||
|
BLASTA .LONG AHMEDBLST1
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST2
|
|||
|
.WORD 2
|
|||
|
.LONG BLST3C
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
BLASTB
|
|||
|
.LONG BLST4C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5C
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6C
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
BLASTC3
|
|||
|
BLASTC .LONG BLST3C
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST2
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST1
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
BLASTA2 .LONG AHMEDBLST1 ;INVISIBLE
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST2 ;''
|
|||
|
.WORD 2
|
|||
|
.LONG BLST3B
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
BLASTB2
|
|||
|
.LONG BLST4B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5B
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6B
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
BLASTC2 .LONG BLST3B
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST2
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST1
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
BLASTA3 .LONG AHMEDBLST1 ;INVISIBLE
|
|||
|
.WORD 2
|
|||
|
.LONG AHMEDBLST2
|
|||
|
.WORD 2
|
|||
|
.LONG BLST3C ;STILL INV
|
|||
|
.WORD 2
|
|||
|
.LONG 0
|
|||
|
BLASTB3
|
|||
|
.LONG BLST4A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST4A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST5A
|
|||
|
.WORD 4
|
|||
|
.LONG BLST6A
|
|||
|
.WORD 4
|
|||
|
.LONG 0
|
|||
|
;BLASTC3
|
|||
|
; .LONG BLST3C
|
|||
|
; .WORD 2
|
|||
|
; .LONG AHMEDBLST2
|
|||
|
; .WORD 2
|
|||
|
; .LONG AHMEDBLST1
|
|||
|
; .WORD 2
|
|||
|
; .LONG 0
|
|||
|
PHASE1
|
|||
|
CLR A1
|
|||
|
MOVE A1,*A8(OXVEL),L
|
|||
|
MOVE A1,*A8(OYVEL),L
|
|||
|
DEC A9
|
|||
|
SLL 5,A9
|
|||
|
ADDI PLYROBJS,A9
|
|||
|
MOVE *A9,A0,L
|
|||
|
MOVE *A0(OYPOS),A2 ;A2=Y OF PLYR I HIT
|
|||
|
MOVE *A0(OXPOS),A1 ;A1=X
|
|||
|
MOVE *A8(OYPOS),A3 ;A3=THIS HULKS' Y
|
|||
|
MOVE *A8(OXPOS),A4 ;A4=THIS HULKS' X
|
|||
|
CMP A3,A2
|
|||
|
RETS
|
|||
|
|
|||
|
GSKIPR:
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
MOVK 20,A0
|
|||
|
CALLA RNDRNG0
|
|||
|
CALLA PRCSLP
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI SKGHXT,A0
|
|||
|
MOVE *A0,A4,L
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B1
|
|||
|
CALLA RANGRAND
|
|||
|
SLL 16,A0
|
|||
|
ADD A9,A0
|
|||
|
MOVE A0,A1
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B0
|
|||
|
MOVE *A4+,A2,W
|
|||
|
MOVE A2,B1
|
|||
|
CALLA RANGRAND
|
|||
|
MOVX A9,A2
|
|||
|
ADD A0,A2
|
|||
|
SLL 16,A2
|
|||
|
MOVE A2,A0
|
|||
|
;NEED A0=[X,0000],A1=[Y,0000]
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
JAUC START_SKIP
|
|||
|
SKGHXT .LONG 0,GBTML,GBTML,SKGLFTL,GTOPL,GTOPL,GTOPL,SKGRGTL,SKGRGTL
|
|||
|
ASKIPR:
|
|||
|
;A8=1-4 FOR GRUNT # FOR THIS RELEASE
|
|||
|
;A9=[Y,X] SPOT TO SPAWN FROM
|
|||
|
;A10=DIRECTION
|
|||
|
;8 1 2
|
|||
|
;7 3
|
|||
|
;6 5 4
|
|||
|
;A8=1-4
|
|||
|
MOVK 20,A0
|
|||
|
CALLA RNDRNG0
|
|||
|
CALLA PRCSLP
|
|||
|
MOVE A10,A0
|
|||
|
SLL 5,A0
|
|||
|
ADDI SHXT,A0
|
|||
|
MOVE *A0,A4,L
|
|||
|
SLL 6,A8
|
|||
|
ADD A8,A4
|
|||
|
MOVE *A4+,A1,L ;GET Y FIRST
|
|||
|
ADD A9,A1
|
|||
|
SLL 16,A9
|
|||
|
MOVE *A4,A0,L
|
|||
|
ADD A9,A0
|
|||
|
;NEED A0=[X,0000],A1=[Y,0000]
|
|||
|
;A0,A1 ARE SET UP
|
|||
|
JAUC START_SKIP
|
|||
|
|
|||
|
.END
|
|||
|
|