2072 lines
36 KiB
NASM
2072 lines
36 KiB
NASM
***
|
||
*** FILE: DRMIS.ASM
|
||
*** MISSILIE STUFF
|
||
***
|
||
*** JFL 10 JAN 93
|
||
*** JFL 18 JAN 93; ROCKET
|
||
*** JFL 27 JAN 93
|
||
*** JFL 29 JAN 93
|
||
*** JFL 09 FEB 93
|
||
*** JFL 12 FEB 93
|
||
*** JFL 14 MAR 93; FF WEAPON
|
||
*** JFL 13 APR 93; LMINE PICKUP
|
||
*** JFL 14 APR 93; MISL VEL SLOWED
|
||
***
|
||
|
||
.MLIB "APMACS.LIB"
|
||
.FILE "DRMIS.ASM"
|
||
.TITLE " <<< DERBY RACE -- MISSILE DEF >>>"
|
||
.WIDTH 132
|
||
.OPTION B,D,L,T
|
||
.MNOLIST
|
||
|
||
**
|
||
** COMPILE FLAGS
|
||
**
|
||
|
||
***********************************************************************
|
||
* *
|
||
* COPYRIGHT (C) 1992 MIDWAY MANUFACTURING COMPANY. *
|
||
* ALL RIGHTS RESERVED. *
|
||
* *
|
||
*************************************************************************
|
||
|
||
* GET THE SYSTEM STUFF
|
||
.INCLUDE "AP.H"
|
||
.INCLUDE "DR.I"
|
||
.INCLUDE "DRO.I"
|
||
.INCLUDE "DRV.I"
|
||
.INCLUDE "DRMIS.I"
|
||
.INCLUDE "DRSND.I"
|
||
.INCLUDE "DRC.I"
|
||
.INCLUDE "IMGTBLM2.GLO"
|
||
|
||
** OTHERS USE
|
||
.DEF MISIMAGES ;DRMIS.ASM
|
||
.DEF MISLAUNCH ;DRMIS.ASM
|
||
.DEF MISFFPROC ;DRMIS.ASM
|
||
.DEF MISPICKUP ;DRMIS.ASM
|
||
.DEF LMINEPICKUP ;DRMIS.ASM
|
||
.DEF MISFINDLOCKCLOSEST ;DRMIS.ASM
|
||
.DEF MISDETONATEALL ;DRMIS.ASM
|
||
.DEF MISDETONATETARGET ;DRMIS.ASM
|
||
.DEF CREATELANDMINE ;DRMIS.ASM
|
||
.DEF LMINEDETONATE ;DRMIS.ASM
|
||
|
||
** WE USE
|
||
.REF COMPTODIRVEC ;DR.ASM
|
||
.REF VECTORTOVELS ;DR.ASM
|
||
.REF GENAOBJLIST ;DRA.ASM
|
||
.REF ASMISLBOOM ;DRAS.ASM
|
||
.REF ASMISLFFBOOM ;DRAS.ASM
|
||
.REF ASDEFENSEBOOM ;DRA.ASM
|
||
.REF TAKEDAMAGE ;DRH.ASM
|
||
.REF MAKESHADMULTI ;DRI.ASM
|
||
.REF TOPOXZ ;DRT.ASM
|
||
.REF MISBLOWUPTBL ;DRT.ASM
|
||
.REF MISBLOWUPTBLX ;DRT.ASM
|
||
.REF ARENASND ;DRSND.I
|
||
.REF MAKESND ;DRSND.I
|
||
.REF CARTHROWUP ;DRC.ASM
|
||
.REF OBJ2OBJDIR ;DRH.ASM
|
||
.REF SCORESETMISL ;DRS.ASM
|
||
.REF SCORESETLMINE ;DRS.ASM
|
||
.REF RANDOMA2 ;APUTIL.ASM
|
||
.REF OBJINITDEFMISL ;DRAS.ASM
|
||
.REF OBJINITLMINE ;DRAS.ASM
|
||
.REF OBJINITFF ;DRAS.ASM
|
||
.REF INSANI ;APD.ASM
|
||
.REF ANISPAWNONE ;DRA.ASM
|
||
.REF ASLMINE ;DRAS.ASM
|
||
.REF WAVEIRQS
|
||
.REF SETGCOL ;APD.ASM
|
||
.REF SETZMIN ;DRH.ASM
|
||
|
||
** WE USE -- RAM
|
||
.REF OBJINITRAMMISSILE ;DRRAM.ASM
|
||
.REF DRG ;DRRAM.ASM
|
||
|
||
.TEXT
|
||
.EVEN
|
||
|
||
**
|
||
** NOTES
|
||
**
|
||
** - MISSILE COLOR IN OBJINITRAMMISSILE IS ASSUMED TO BE NEUTRAL
|
||
**
|
||
|
||
**
|
||
** DEFINES
|
||
**
|
||
MISLDAMAGE EQU 14 ;HOW MUCH DAMAGE TO GIVE
|
||
MISLFFDAMAGE EQU 2 ;HOW MUCH DAMAGE TO GIVE
|
||
FIRSTRETARGETTIME EQU 55*4 ;HOW LONG MISL LOCKS ON FIRST TARGET
|
||
MISLLOOKFIRST EQU ONESECOND/2 ;HOW OFTEN MISSILE LOOKS & DIRECTS ITSELF
|
||
MISLLOOKTIME EQU 16 ;HOW OFTEN MISSILE LOOKS & DIRECTS ITSELF
|
||
MISLTARGETTIME EQU 60 ;HOW OFTEN MISL RETARGETS
|
||
MISLSAFETIME EQU 80 ;HOW LONG A CAR THATS JUST BEEN HIT IS SAFE
|
||
MISLDEFENSETIME EQU 8 ;HOW LONG BEFORE IT WORKS
|
||
MISZOFF EQU -8 ;Z OFF -- HELPS MISL HIT IN FRONT OF FG OBJS
|
||
DIRTOMISL EQU 2 ;SHIFT TO CONVERT DIR 0..FF TO 0..63
|
||
MISLGASTIME EQU 55*10 ;HOW LONG MISSILE LIVES FOR
|
||
MISLNEUTRAL_P EQU MISLN_P ;PALLETTE FOR NEUTRAL MISSILES
|
||
MISLYPOS EQU -4 ;HEIGHT OF MISL
|
||
FFYPOS EQU 4 ;HEIGHT OF FF (MAKE POSITIVE)
|
||
MISFFYACC EQU 400H
|
||
MAXMISLSTATE EQU 3 ;0..2 ARE OK
|
||
|
||
MISMAXVEL EQU 5000H ;MAX MISSILE
|
||
MISINITVEL EQU 3000H ;INIT MISSLE WITH FRAC BITS!
|
||
MISFFINITVEL EQU 500H ;INIT FF NO FRAC BITS
|
||
MISINITACC EQU 0040H ;ACCELERATION
|
||
MISTURNACC EQU 0010H ;DECELERATION
|
||
MISNEGACC EQU 0010H ;DECELERATION
|
||
MISVELFRACSHIFT EQU 4 ;BITS OF FRACTION
|
||
MISTURN EQU 6 ;TURN DELTA
|
||
MISLSIZEOF EQU 5 ; SIZEOF ONE ENTRY IN THE IMG TBL
|
||
|
||
|
||
.IF PMSIZE >= PSDATA
|
||
ERROR TOO BIG
|
||
.ENDIF ;CHECK
|
||
|
||
|
||
SL_MISDIRTOINDEX EQU 24 ;LEFT SHIFT FIRST
|
||
SR_MISDIRTOINDEX EQU 24+4
|
||
|
||
**
|
||
** MISFINDLOCKCLOSEST
|
||
**
|
||
** IN
|
||
** A2-A3 SCRATCH
|
||
** A7 CD
|
||
** A8 OBJ
|
||
** OUT
|
||
** C IF NOT LOCKED ON OBJ
|
||
** ELSE A2 IS BEST MISSILEOBJ THAT IS LOCKED ON
|
||
**
|
||
** JFL 18 JAN 93
|
||
** JFL 29 JAN 93; CLOSEST
|
||
** JFL 18 FEB 93; MISL SUP LIST
|
||
**
|
||
MISFINDLOCKCLOSEST
|
||
|
||
;HOW MANY ARE LOCKED ON?
|
||
MOVW *A7(CDMISLOCK),A3
|
||
SUBK 2,A3
|
||
JRN MISFINDLOCKANY ;ONLY 1
|
||
ADDK 2,A3
|
||
|
||
MMTM SP,A0,A1,A4,A5,A6,A8
|
||
MOVL @SUPPLSTS+SUPL_MISL,A2
|
||
JRZ MFLCBADX
|
||
|
||
;SET UP
|
||
CLR A0 ;WINNER
|
||
MOVI 32767,A1 ;DIST
|
||
MOVW *A8(OXPOS),A5 ;X
|
||
MOVW *A8(OZPOS),A6 ;Y
|
||
|
||
;REG USE
|
||
; A0 WINNER
|
||
; A1 DIST
|
||
; A2 CUR
|
||
; A3 COUNT
|
||
; A4 SC
|
||
; A5 X
|
||
; A6 Y
|
||
; A7 CD
|
||
; A8 OBJ
|
||
MFLCLOOP
|
||
;CHECK IF THIS IS LOCKED IN ON OBJ
|
||
MOVL *A2(OPLINK),A4
|
||
TLOCKON Z
|
||
MOVL *A4(PMTARGET),A14
|
||
CMP A8,A14
|
||
JRNE MFLCNEXT
|
||
|
||
;LOCKED ONTO PLAYER, IS THIS CLOSEST?
|
||
MOVW *A2(OXPOS),A4 ;X
|
||
MOVW *A2(OZPOS),A14 ;Y
|
||
QDISTXY A5,A6,A4,A14 ;QDISTXY X1,Y1,X2,Y2 SC:X2 OUT:Y2
|
||
CMP A1,A14
|
||
JRHS MFLCNEXT
|
||
|
||
;THIS IS BETTER
|
||
MOVE A14,A1 ;NEW DIST
|
||
MOVE A2,A0 ;NEW WINNER
|
||
|
||
DSJ A3,MFLCNEXT
|
||
MFLCX
|
||
MOVE A0,A2 ;SET RESULT
|
||
MMFM SP,A0,A1,A4,A5,A6,A8
|
||
CLRC
|
||
RETS
|
||
|
||
MFLCNEXT
|
||
;NEXT
|
||
MOVL *A2(OSLINK),A2
|
||
JRNZ MFLCLOOP
|
||
|
||
MFLCBADX
|
||
MMFM SP,A0,A1,A4,A5,A6,A8
|
||
SETC
|
||
RETS
|
||
|
||
**
|
||
** MISFINDLOCKANY
|
||
** IN
|
||
** A2-A3 SCRATCH
|
||
** A7 CD
|
||
** A8 OBJ
|
||
** OUT
|
||
** C IF NOT LOCKED ON OBJ
|
||
** ELSE A2 IS FIRST MISSILEOBJ THAT IS LOCKED ON
|
||
**
|
||
** JFL 18 JAN 93
|
||
** JFL 29 JAN 93; CLOSEST
|
||
** JFL 18 FEB 93; MISL SUP LIST
|
||
**
|
||
MISFINDLOCKANY
|
||
MOVL @SUPPLSTS+SUPL_MISL,A2
|
||
JRZ MFLABADX
|
||
|
||
MFLALOOP
|
||
;CHECK IF THIS IS LOCKED IN ON OBJ
|
||
MOVL *A2(OPLINK),A3
|
||
TLOCKON Z
|
||
MOVL *A3(PMTARGET),A14
|
||
CMP A8,A14
|
||
JREQ MFLAX
|
||
|
||
MFLANEXT
|
||
;NEXT
|
||
MOVL *A2(OSLINK),A2
|
||
JRNZ MFLALOOP
|
||
|
||
MFLABADX
|
||
SETC
|
||
RETS
|
||
MFLAX
|
||
CLRC
|
||
RETS
|
||
|
||
**
|
||
** MISDETONATEALL
|
||
**
|
||
** IN
|
||
** A2-A3 SCRATCH
|
||
** B0 IRQ TO DETONATE
|
||
**
|
||
** JFL 10 FEB 93
|
||
** JFL 18 FEB 93; MISL SUP LIST
|
||
**
|
||
MISDETONATEALL
|
||
MOVL @SUPPLSTS+SUPL_MISL,A2
|
||
JRZ MDAX
|
||
|
||
MDALOOP
|
||
;SET TO DETONATE
|
||
MOVL *A2(OPLINK),A14
|
||
TLOCKON Z
|
||
MOVE B0,A3
|
||
MOVL A3,*A14(PMDETONATE)
|
||
MDANEXT
|
||
;NEXT
|
||
MOVL *A2(OSLINK),A2
|
||
JRNZ MDALOOP
|
||
|
||
MDAX
|
||
RETS
|
||
|
||
**
|
||
** MISDETONATETARGET
|
||
** DETONATE ALL LOCKED ON TARGET
|
||
**
|
||
** IN
|
||
** A0 TARGET
|
||
** A2-A3 SCRATCH
|
||
** B0 IRQ TO DETONATE
|
||
**
|
||
** JFL 10 FEB 93
|
||
** JFL 18 FEB 93; MISL SUP LIST
|
||
**
|
||
MISDETONATETARGET
|
||
MOVL @SUPPLSTS+SUPL_MISL,A2
|
||
JRZ MDATX
|
||
|
||
MDATLOOP
|
||
;CHECK IF THIS IS LOCKED IN ON OBJ
|
||
MOVL *A2(OPLINK),A14
|
||
TLOCKON Z
|
||
MOVL *A14(PMTARGET),A3
|
||
CMP A0,A3
|
||
JRNE MDATNEXT
|
||
|
||
;SET TO DETONATE
|
||
MOVE B0,A3
|
||
MOVL A3,*A14(PMDETONATE)
|
||
|
||
MDATNEXT
|
||
;NEXT
|
||
MOVL *A2(OSLINK),A2
|
||
JRNZ MDATLOOP
|
||
|
||
MDATX
|
||
RETS
|
||
|
||
**
|
||
** MISSILEPROCTBL
|
||
**
|
||
** JFL 18 JAN 93
|
||
** JFL 24 FEB 93
|
||
**
|
||
MISSILEPROCTBL
|
||
.LONG 0 ;ROCKET
|
||
.LONG SMARTMPROC ;SMART
|
||
.LONG DEFENSEMPROC ;DEFENSE
|
||
.LONG 0 ;GUIDED
|
||
MISSILEPROCTBLX
|
||
|
||
**
|
||
** MISLAUNCH
|
||
**
|
||
** IN
|
||
** A2 MISSILE TYPE
|
||
** A7 CD
|
||
** A8 OBJ
|
||
** OUT
|
||
** C SET IF NOT LAUNCHED
|
||
**
|
||
** JFL 13 JAN 93
|
||
** JFL 18 JAN 93
|
||
**
|
||
MISLAUNCH
|
||
MMTM SP,A1
|
||
MOVE A2,A1
|
||
|
||
;LAUNCH SOUND
|
||
MOVW *A7(CDINPNUM),A14
|
||
ADDI SNDMISL1,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
|
||
;SET UP FOR PROCESS
|
||
MMTM SP,A0,A7,A8
|
||
|
||
MOVE A7,A9 ;PASS CD AS A9
|
||
|
||
SLL 5,A1 ;SIZEOF MISSILEPROCTBL
|
||
ADDI MISSILEPROCTBL,A1
|
||
.IF DEBUG
|
||
CMPI MISSILEPROCTBLX,A1
|
||
TLOCKON HS
|
||
.ENDIF ;DEBUG
|
||
MOVL *A1,A7
|
||
TLOCKON Z
|
||
MOVI PID_DRAGONE,A1
|
||
CALLA GETPRC
|
||
|
||
MMFM SP,A0,A7,A8
|
||
|
||
CLRC
|
||
MMFM SP,A1
|
||
RETS
|
||
MLBADX
|
||
SETC
|
||
MMFM SP,A1
|
||
RETS
|
||
|
||
**
|
||
** MISPICKUP
|
||
**
|
||
** IN
|
||
** A2 COUNT
|
||
** A7 CD
|
||
** A8 OBJ
|
||
**
|
||
** JFL 13 JAN 93
|
||
**
|
||
MISPICKUP
|
||
;ADD THEM TO INVENTORY
|
||
MOVW *A7(CDMISSILES),A3
|
||
ADD A2,A3
|
||
MOVW A3,*A7(CDMISSILES)
|
||
|
||
;SET SCORE
|
||
MOVE A8,A2
|
||
CALLA SCORESETMISL ;IN: A2,A3 OBJ,MISSILES
|
||
|
||
RETS
|
||
|
||
|
||
**
|
||
** LMINEPICKUP
|
||
**
|
||
** IN
|
||
** A2 COUNT
|
||
** A7 CD
|
||
** A8 OBJ
|
||
**
|
||
** JFL 13 APR 93
|
||
**
|
||
LMINEPICKUP
|
||
;ADD THEM TO INVENTORY
|
||
MOVW *A7(CDLMINES),A3
|
||
ADD A2,A3
|
||
MOVW A3,*A7(CDLMINES)
|
||
|
||
;SET SCORE
|
||
MOVE A8,A2
|
||
CALLA SCORESETLMINE ;IN: A2,A3 OBJ,COUNT
|
||
|
||
RETS
|
||
|
||
|
||
**
|
||
** FINDCLOSESTCAR
|
||
**
|
||
** IN
|
||
** A2 EXCLUDE OBJ
|
||
** A3 SCRATCH
|
||
** A8 OBJ
|
||
** OUT
|
||
** A2 CLOSEST OBJ (Z IF NONE)
|
||
**
|
||
** JFL 10 JAN 93
|
||
**
|
||
FINDCLOSESTCAR
|
||
MMTM SP,A4,A5,A6,A10,A11
|
||
|
||
;GET SUPL
|
||
CLR A10 ;BEST OBJ
|
||
MOVL @SUPPLSTS+SUPL_CAR,A4
|
||
JRZ FCCX
|
||
|
||
;SETUP
|
||
MOVI 32767,A11 ;BEST DIST
|
||
MOVW *A8(OXPOS),A5
|
||
MOVW *A8(OZPOS),A6
|
||
|
||
FCCLOOP
|
||
;THIS IS BETTER, MAKE SURE ITS NOT EXCLUDED
|
||
CMP A2,A4
|
||
JREQ FCCNEXT
|
||
|
||
;FIND DIST KIND OF
|
||
MOVW *A4(OXPOS),A3
|
||
SUB A5,A3
|
||
ABS A3
|
||
MOVW *A4(OZPOS),A14
|
||
SUB A6,A14
|
||
ABS A14
|
||
ADD A14,A3
|
||
|
||
;CHECK IF THIS IS BETTER
|
||
CMP A11,A3
|
||
JRHS FCCNEXT
|
||
|
||
;ITS A KEEPER
|
||
MOVE A4,A10 ;BETTER OBJ
|
||
MOVE A3,A11 ;BETTER DIST
|
||
|
||
FCCNEXT
|
||
;NEXT
|
||
MOVL *A4(OSLINK),A4
|
||
JRNZ FCCLOOP
|
||
|
||
FCCX
|
||
MOVE A10,A2
|
||
MMFM SP,A4,A5,A6,A10,A11
|
||
RETS
|
||
***
|
||
*** MISL SUBROUTINES ------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** MISLCREATE
|
||
**
|
||
** IN
|
||
** A0-A6 SCRATCH
|
||
** A7 CD
|
||
** A8 MOTHER OBJ
|
||
** B5 WAVEIRQS
|
||
** OUT
|
||
** A8 MISL OBJ
|
||
**
|
||
** JFL 18 JAN 93
|
||
** JFL 09 FEB 93; Bx
|
||
**
|
||
MISLCREATE
|
||
;CREATE THE OBJ
|
||
MOVW *A8(ODIR),A2
|
||
SLL 24,A2
|
||
SRL 24+DIRTOMISINDEX,A2
|
||
SLL MISIZEOF,A2
|
||
ADDI MISIMAGES,A2
|
||
MOVI OBJINITRAMMISSILE,A5
|
||
MOVL *A2+,A3
|
||
MOVL A3,*A5(COIMG)
|
||
MOVW *A2,A3
|
||
MOVW A3,*A5(COCTRL)
|
||
CALLA CREATE_OBJ ;IN: A5 CREATE_OBJ INIT BLOCK
|
||
LOCKON Z
|
||
|
||
;
|
||
;HOW HARD MISL IS
|
||
;
|
||
|
||
;DETERMINE HARD MISL IS TO GET AWAY FROM
|
||
MOVE B5,A14 ;WAVEIRQS
|
||
ADDI MISLLOOKFIRST,A14
|
||
MOVL A14,*A13(PMLOOKIRQ)
|
||
|
||
MOVK MISLDAMAGE,A14 ;HOW MUCH DAMAGE
|
||
MOVW A14,*A13(PMDAMAGE)
|
||
|
||
;INIT
|
||
CLR A14
|
||
MOVL A14,*A0(OMISHIT) ;NOT CLEARED BY GETOBJ
|
||
MOVL A14,*A13(PMTARGET)
|
||
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVL *A8(OZPOS),A2
|
||
|
||
MOVI MISZOFF,A14
|
||
MOVW A14,*A0(OZOFF)
|
||
SUB A14,A2
|
||
MOVW A2,*A0(OZPOS)
|
||
|
||
MOVI MISLYPOS,A14
|
||
MOVW A14,*A0(OYPOS)
|
||
MOVW *A8(ODIR),A14
|
||
MOVW A14,*A0(ODIR)
|
||
MOVW A14,*A13(PMDIR)
|
||
MOVI GENAOBJLIST+(AOID_MISSILE*AOLSIZE),A14
|
||
MOVL A14,*A0(OAOL)
|
||
MOVL A8,*A13(PMMOM)
|
||
MOVW *A8(OID),*A13(PMMOMOID)
|
||
MOVL A8,*A13(PMSAFE)
|
||
MOVL A13,*A0(OPLINK)
|
||
MOVI AOID_MISSILE,A14
|
||
MOVW A14,*A0(OPARTID)
|
||
MOVE A0,A8 ;SETUP FOR LOOP
|
||
|
||
;NUM MISSILES ALIVE
|
||
MOVI DRG+DRGMISSILES,A2
|
||
MOVW *A2,A14
|
||
INC A14
|
||
MOVW A14,*A2
|
||
|
||
;MAKE SHADOW
|
||
MOVL @OBJINITRAMMISSILE,A2 ;PULL IHDR FROM ABOVE
|
||
CALLA MAKESHADMULTI ;IN A2,A3-A5,A8 SHADIMG,SC,OBJ
|
||
|
||
;INSERT THE OBJECT
|
||
CALLA INSERT_OBJ ;IN: A8 OBJ (MULTIPART HEAD OR PART)
|
||
|
||
RETS
|
||
|
||
**
|
||
** MISLSETIMG
|
||
**
|
||
** IN
|
||
** A8 OBJ
|
||
** A10 DIR
|
||
**
|
||
** JFL 18 JAN 93
|
||
** JFL 12 MAR 93; ANIMATED MISL
|
||
**
|
||
MISLSETIMG
|
||
SLL 24,A10
|
||
SRL 24+DIRTOMISL,A10
|
||
SLL MISLSIZEOF,A10
|
||
|
||
MOVE A10,A2
|
||
ADDI MISLCTRLTBL,A2
|
||
.IF DEBUG
|
||
CMPI MISLCTRLTBLX,A2
|
||
TLOCKON HS
|
||
.ENDIF ;DEBUG
|
||
|
||
;PICK IMG STATE
|
||
MOVW *A8(OSTATE),A14 ;USE THIS STATE
|
||
MOVE A14,A1 ;FIGURE NEXT STATE
|
||
INC A1
|
||
CMPI MAXMISLSTATE,A1
|
||
JRLO MSISOK
|
||
CLR A1
|
||
MSISOK
|
||
MOVW A1,*A8(OSTATE)
|
||
SLL 6+5,A14 ;*64*32
|
||
ADD A14,A10
|
||
|
||
ADDI MISLIMGTBL,A10
|
||
MOVL *A10+,A1 ;IHDR
|
||
|
||
MOVW *A2+,A4 ;CTRL
|
||
MOVW *A2,A10 ;SHAD CTRL
|
||
MOVL *A8(OSHADIMG),A2
|
||
TLOCKON Z
|
||
|
||
;UPDATE IMAGE
|
||
MOVL A1,*A8(OIMG) ;UPDATE IMAGE
|
||
MOVL A1,*A2(OIMG) ;UPDATE IMAGE
|
||
MOVL *A1(ISIZE),A14 ;Y:X SIZ
|
||
MOVL A14,*A8(OUSIZE)
|
||
MOVL A14,*A2(OUSIZE) ;SHAD SIZE
|
||
MOVL *A1(IANIOFF),A14 ;Y:X ANI
|
||
MOVL A14,*A8(OUANIOFF)
|
||
MOVL A14,*A2(OUANIOFF) ;SHAD ANI
|
||
MOVL *A1(ISAG),A14
|
||
MOVL A14,*A8(OSAG) ;SAG
|
||
MOVL A14,*A2(OSAG) ;SHAD SAG
|
||
MOVW *A1(ICTRL),A14 ;GET ICTRL
|
||
OR A14,A4 ;OR IN OUR
|
||
MOVW A4,*A8(OCTRL)
|
||
OR A14,A10
|
||
MOVW A10,*A2(OCTRL) ;SHAD CTRL
|
||
|
||
;FORCE SCALE & MULTIPLY UPDATES FOR ANIM POINTS
|
||
CLR A14
|
||
MOVW A14,*A8(OSCALEMUL)
|
||
MOVW A14,*A2(OSCALEMUL)
|
||
MSIX
|
||
RETS
|
||
|
||
|
||
**
|
||
** MISLHITCAR -- JUMP TO THIS FROM PROCESS!!!
|
||
**
|
||
** IN
|
||
** A1 CAR HIT
|
||
** A8 MISLOBJ
|
||
** OUT
|
||
** B2 CAR HIT
|
||
**
|
||
** JFL 12 FEB 93
|
||
**
|
||
MISLFFHITCAR
|
||
MOVI CCIDMISSILEFFHIT,A6
|
||
JRUC MISLHITGENERIC
|
||
MISLHITCAR
|
||
MOVI CCIDMISSILEHIT,A6
|
||
MISLHITGENERIC
|
||
CLR B2 ;CAR HIT -- USED LATER
|
||
MOVE A1,A0 ;CAR OBJ ALLEDGEDLY HIT
|
||
|
||
;CHECK IF CAR HIT HAS BEEN ZAPPED
|
||
MOVB *A0(OCTRL+B_INUSE-7),A14
|
||
JRNN MHCGONEX ;OBJ HAS BEEN ZAPPED
|
||
MOVW *A8(OMISOID),A2 ;OID WHEN HIT
|
||
MOVW *A0(OID),A14 ;OID NOW -- MAYBE OBJ CHANGED
|
||
CMP A14,A2
|
||
JRNE MHCGONEX ;INVASION OF THE OBJ SNATCHERS
|
||
|
||
MOVE A0,B2 ;MARK AS CAR HIT
|
||
|
||
;MAKE CAR JUST HIT SAFE FOR A WHILE
|
||
CALLR MISLSAFETY ;IN:A0,A2-A7 SAFEOBJ,SC
|
||
|
||
;STOP CAR
|
||
CLR A14
|
||
MOVL A14,*A0(OXVEL)
|
||
MOVL A14,*A0(OZVEL)
|
||
|
||
MOVW *A1(OXPOS),*A8(OXPOS)
|
||
MOVW *A1(OYPOS),*A8(OYPOS)
|
||
MOVW *A1(OZPOS),*A8(OZPOS)
|
||
|
||
;DONT TOSS
|
||
MOVE A6,A6
|
||
JRZ MHGNOTOSS
|
||
|
||
;TOSS THE CAR HIT UP IN THE AIR
|
||
MOVL *A0(OCAR),A7
|
||
MOVE A6,A2 ;CCIDXXX
|
||
CALLA CARTHROWUP ;IN: A0,A2,A7 OBJ,CCID,CD
|
||
|
||
MHGNOTOSS
|
||
|
||
;GET OWNER OF MISSILE & CHECK IF THEY HAVE BEEN ZAPPED
|
||
CLR B0 ;DEFAULT TO NO OWNER
|
||
MOVL *A8(OPLINK),A2
|
||
MOVL *A2(PMMOM),A0 ;OBJ WHO LAUNCHED US
|
||
MOVB *A0(OCTRL+B_INUSE-7),A14
|
||
JRNN MHCOWNERZAPPED ;OWNER HAS BEEN ZAPPED
|
||
MOVW *A0(OID),A14
|
||
MOVW *A2(PMMOMOID),A2
|
||
CMP A2,A14
|
||
JRNE MHCOWNERZAPPED ;ANOTHER OBJ LIVES HERE NOW..
|
||
MOVE A0,B0 ;WHO LAUNCHED THIS
|
||
|
||
MHCOWNERZAPPED
|
||
;GIVE DAMAGE TO THE CAR THAT GOT HIT & CREDIT TO MISL OWNER
|
||
MOVE A1,A2 ;CAR OBJ HIT -- NZAP CHECK ABOVE
|
||
MOVW *A8(OMISAREA),A3 ;AREA HIT ON CAR
|
||
MOVW *A13(PMDAMAGE),A14
|
||
MOVE A7,B5 ;SAVE
|
||
MOVE A8,B6 ;SAVE
|
||
CALLR TAKEDAMAGE ;IN: A2,A3,A14,B0,B1 CARGET,AREA HIT,DAM,CARGIVE,SC
|
||
;OUT: C IF CAR DIED, B1=1 FOR PART OFF,ELSE 0
|
||
;SC: A0-A11
|
||
MOVE B5,A7 ;UNSAVE
|
||
MOVE B6,A8 ;UNSAVE
|
||
JRNC MHCNOKILL
|
||
|
||
;SOUND OF MISL HITTING CAR & KILLING IT
|
||
MOVW *A7(CDINPNUM),A14
|
||
ADDI SNDKILLMISL1,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
JRUC MHCX
|
||
|
||
MHCNOKILL
|
||
|
||
;IF TAKEDAMAGE DIDNT KILL CAR, DO SOUND
|
||
;SOUND OF MISL HITTING CAR
|
||
MOVW *A7(CDINPNUM),A14
|
||
ADDI SNDMISLHIT1,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
|
||
MHCX
|
||
JRUC MISLDETONATE
|
||
MHCGONEX
|
||
JRUC MISLDETONATE
|
||
|
||
**
|
||
** DEFENSEMISLBLOWS
|
||
**
|
||
** IN
|
||
** A0-A7 SCRATCH
|
||
** A8 OBJ
|
||
** A9-A11 SCRATCH
|
||
**
|
||
** JFL 13 FEB 93
|
||
**
|
||
DEFENSEMISLBLOWS
|
||
|
||
;DETONATE ALL LOCKED ON US
|
||
CLR B0 ;DETONATE NOW
|
||
MOVL *A8(OMISHIT),A0 ;ANYONE TARGETTED ON THIS OBJ
|
||
CALLR MISDETONATETARGET ;IN:A0,A2-A3,B0 TARGET,SCRATCH,DETONIRQ
|
||
|
||
RETS
|
||
|
||
EXPLOSIONZOFF EQU -10
|
||
|
||
**
|
||
** MISLBLOWS -- JUMP TO THIS FROM PROC !!!
|
||
** MISLDEFENSEBLOWS -- JUMP TO THIS FROM PROC !!!
|
||
** MISLDETONATE -- JUMP TO THIS FROM PROC !!
|
||
**
|
||
** IN
|
||
** A8 MISLOBJ
|
||
** B2 CAR HIT OR ZERO (MISLDETONATE ONLY)
|
||
** Bx B REGS
|
||
**
|
||
** JFL 04 FEB 93
|
||
**
|
||
MISLDEFENSEBLOWS
|
||
;HITS WALL OR SOMETHING OTHER THAN CAR
|
||
MOVI SNDMISLBLOWS,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
|
||
;DETONATE ALL LOCKED ON US
|
||
MOVE B5,B0 ;WAVEIRQS
|
||
ADDK 8,B0
|
||
MOVL *A13(PMMOM),A0
|
||
CALLA MISDETONATETARGET ;IN:A0,A2-A3,B0 TARGET,SCRATCH,DETONIRQ
|
||
|
||
;SET ANIM
|
||
MOVI ASDEFENSEBOOM,A6
|
||
CLR B2 ;NO CAR HIT
|
||
JRUC MDGENERIC
|
||
MISLBLOWS
|
||
;HITS WALL OR SOMETHING OTHER THAN CAR
|
||
MOVI SNDMISLBLOWS,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
CLR B2 ;NO CAR HIT
|
||
MISLDETONATE
|
||
;SET ANIM
|
||
MOVI ASMISLBOOM,A6
|
||
|
||
MDGENERIC
|
||
;
|
||
;GENERIC MISL BLOWS
|
||
;
|
||
|
||
;REMOVE LOCK
|
||
MOVL *A13(PMTARGET),A0
|
||
JRZ MDNOLOCK
|
||
|
||
;CHECK IF TARGET OBJ HAS BEEN ZAPPED
|
||
MOVB *A0(OCTRL+B_INUSE-7),A14
|
||
JRNN MDNOLOCK ;TARGET ZAPPED
|
||
MOVW *A0(OID),A14
|
||
MOVW *A13(PMTARGETOID),A2
|
||
CMP A2,A14
|
||
JRNE MDNOLOCK ;OBJ RECYCLING IS IN
|
||
|
||
;UNLOCK FROM TARGET
|
||
MOVL *A0(OCAR),A7
|
||
MOVW *A7(CDMISLOCK),A14
|
||
DEC A14
|
||
MOVW A14,*A7(CDMISLOCK)
|
||
TLOCKON N
|
||
MDNOLOCK
|
||
|
||
;DISCONNECT PROC FROM OBJ
|
||
CLR A14
|
||
MOVL A14,*A8(OPLINK)
|
||
|
||
CLR A14
|
||
MOVL A14,*A8(OXVEL)
|
||
MOVL A14,*A8(OZVEL)
|
||
|
||
CLR A3 ;NO INIT()
|
||
MOVE A6,A2 ;ANIM
|
||
CALLA ANISPAWNONE ;IN:A2,A3,A4,A5,A7,A8 ASCRIPT,INIT(),
|
||
;SC,SC,SC,PARENTOBJ OUT:A0,A1 OBJ,IHDR
|
||
|
||
;CHECK FOR CAR TO ATTACH TO
|
||
MOVE B2,A9
|
||
JRZ MDNOCAR
|
||
|
||
;SET ZOFF
|
||
;MOVI EXPLOSIONZOFF,A14
|
||
MOVW *A9(OZPOS),A14
|
||
ADDK 8,A14
|
||
MOVW A14,*A0(OZPOS)
|
||
|
||
;ADD IT AS A MULTIPART OF CAR -- AS LAST OBJ
|
||
MOVE A9,A1 ;HEAD
|
||
MOVE A9,A14 ;TMP
|
||
MDADDLOOP
|
||
MOVE A14,A9
|
||
MOVL *A9(OPARTS),A14
|
||
JRNZ MDADDLOOP
|
||
|
||
;LINK IN
|
||
MOVL A1,*A0(OPART1)
|
||
MOVL A0,*A9(OPARTS)
|
||
JRUC MDCARORNOT
|
||
MDNOCAR
|
||
|
||
;SET POS
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVW *A8(OYPOS),*A0(OYPOS)
|
||
MOVW *A8(OZPOS),A2
|
||
MOVI EXPLOSIONZOFF,A14
|
||
MOVW A14,*A0(OZOFF)
|
||
SUB A14,A2
|
||
MOVW A2,*A0(OZPOS)
|
||
|
||
MDCARORNOT
|
||
|
||
;KILL OLD OBJ
|
||
CALLA ZAP_OBJ ;IN:A8
|
||
|
||
;NUM MISSILES ALIVE
|
||
MOVI DRG+DRGMISSILES,A2
|
||
MOVW *A2,A14
|
||
DEC A14
|
||
MOVW A14,*A2
|
||
TLOCKON N
|
||
|
||
;KILL PROC
|
||
DIE
|
||
|
||
|
||
**
|
||
** MISLFFBLOWS -- JUMP TO THIS FROM PROC !!!
|
||
**
|
||
** IN
|
||
** A8 MISLOBJ
|
||
** Bx B REGS
|
||
**
|
||
** JFL 04 FEB 93
|
||
** JFL 15 MAR 93; SPLIT OFF FROM MISLBLOWS
|
||
**
|
||
MISLFFBLOWS
|
||
;HITS WALL OR SOMETHING OTHER THAN CAR
|
||
MOVI SNDMISLBLOWS,A14
|
||
CALLA ARENASND ;IN:A14 SNDID
|
||
|
||
;SET ANIM
|
||
MOVI ASMISLFFBOOM,A9
|
||
|
||
;DISCONNECT PROC FROM OBJ
|
||
CLR A14
|
||
MOVL A14,*A8(OPLINK)
|
||
|
||
CLR A14
|
||
MOVL A14,*A8(OXVEL)
|
||
MOVL A14,*A8(OZVEL)
|
||
|
||
CLR A3 ;NO INIT()
|
||
MOVE A9,A2 ;ANIM
|
||
CALLA ANISPAWNONE ;IN:A2,A3,A4,A5,A7,A8 ASCRIPT,INIT(),
|
||
;SC,SC,SC,PARENTOBJ OUT:A0,A1 OBJ,IHDR
|
||
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVW *A8(OZPOS),*A0(OZPOS)
|
||
MOVW *A8(OYPOS),*A0(OYPOS)
|
||
|
||
CALLA ZAP_OBJ ;IN:A8
|
||
|
||
;NUM MISSILES ALIVE
|
||
MOVI DRG+DRGMISSILES,A2
|
||
MOVW *A2,A14
|
||
DEC A14
|
||
MOVW A14,*A2
|
||
TLOCKON N
|
||
|
||
;KILL PROC
|
||
DIE
|
||
|
||
**
|
||
** MISLSAFETY
|
||
**
|
||
** IN
|
||
** A0 SAFEOBJ
|
||
** A2-A7 SCRATCH
|
||
** A8 MISLOBJ -- IGNORE THIS ONE
|
||
** B5 WAVEIRQS
|
||
**
|
||
** JFL 09 FEB 93
|
||
** JFL 18 FEB 93; MISL SUP LIST
|
||
**
|
||
MISLSAFETY
|
||
MOVK 3,B0 ;SAFETY COUNT, EVERY 4TH IS DANGEROUS
|
||
MOVE B5,A5
|
||
ADDI MISLSAFETIME,A5 ;NEXT RETARGETTING
|
||
MOVL @SUPPLSTS+SUPL_MISL,A4
|
||
JRNZ MSFIRST
|
||
JRUC MSX
|
||
|
||
MSLOOP
|
||
;EVERY FOURTH IS DANGEROUS
|
||
INC B0
|
||
MOVE B0,A14
|
||
SLL 32-2,A14
|
||
JRZ MSNEXT ;LEAVE DANGEROUS
|
||
|
||
;SET SAFEOBJ AS SAFE
|
||
MOVL *A4(OPLINK),A2
|
||
MOVL A0,*A2(PMSAFE)
|
||
MOVL A5,*A2(PMTARGETIRQ)
|
||
|
||
MSNEXT
|
||
;NEXT
|
||
MOVL *A4(OSLINK),A4
|
||
JRZ MSX
|
||
MSFIRST
|
||
;CHECK IF THIS IS LOCKED ON OUR EXCLUDE OBJ
|
||
MOVL *A4(OPLINK),A14
|
||
MOVL *A14(PMTARGET),A14
|
||
CMP A1,A14
|
||
JRNE MSNEXT ;NOT LOCKED ON EXCLUDEOBJ
|
||
JREQ MSLOOP ;LOCKED ON
|
||
MSX
|
||
RETS
|
||
|
||
**
|
||
** FINDLOCK
|
||
**
|
||
** IN
|
||
** A0 SCRATCH
|
||
** A2 EXCLUDEOBJ
|
||
** A3 SCRATCH
|
||
** A8 OBJ
|
||
**
|
||
** JFL 29 JAN 93
|
||
** JFL 04 FEB 93
|
||
**
|
||
FINDLOCK
|
||
CALLR FINDCLOSESTCAR ;IN:A2,A8 EXCLUDEOBJ,OBJ OUT:A2 OBJ
|
||
|
||
;SIGNAL UNLOCK FROM OLDTARGET
|
||
MOVL *A13(PMTARGET),A0
|
||
JRZ FLDOIT ;FIRST LOCK
|
||
CMP A2,A0
|
||
JREQ FLX ;SAME AS OLD ONE
|
||
|
||
;CHECK IF OLD TARGET OBJ HAS BEEN ZAPPED
|
||
MOVB *A0(OCTRL+B_INUSE-7),A14
|
||
JRNN FLDOIT ;ZAPPA APPAZ
|
||
MOVW *A0(OID),A14
|
||
MOVW *A13(PMTARGETOID),A3
|
||
CMP A3,A14
|
||
JRNE FLDOIT ;OBJ RECYCLING IS IN
|
||
|
||
;UNLOCK FROM OLD
|
||
MOVL *A0(OCAR),A3
|
||
MOVW *A3(CDMISLOCK),A14
|
||
DEC A14
|
||
MOVW A14,*A3(CDMISLOCK)
|
||
TLOCKON N
|
||
|
||
FLDOIT
|
||
;SET NEW TARGET FOR OUR RECORD
|
||
MOVL A2,*A13(PMTARGET)
|
||
MOVE A2,A2
|
||
JRNZ FLLOCKIT
|
||
|
||
;NO TARGET... NO LOCK
|
||
MOVI MISLNEUTRAL_P,A0 ;MISL NO LOCK PAL
|
||
CALLA GETFPAL ;IN:A0 ADR OF PAL
|
||
MOVW A0,*A8(OPAL)
|
||
JRUC FLX
|
||
FLLOCKIT
|
||
MOVW *A2(OID),*A13(PMTARGETOID)
|
||
|
||
;GET CD OF CAR WE LOCK ON TO
|
||
MOVL *A2(OCAR),A3
|
||
|
||
;LOCK ON TO NEW
|
||
MOVW *A3(CDMISLOCK),A14
|
||
INC A14
|
||
MOVW A14,*A3(CDMISLOCK)
|
||
|
||
;SET PAL OF MISL TO MATCH CAR WERE LOCKED ON TO
|
||
MOVW *A3(CDMISLPAL),*A8(OPAL)
|
||
|
||
FLX
|
||
RETS
|
||
|
||
***
|
||
*** MISSILE PROCESSES ----------------------------------------------------
|
||
***
|
||
|
||
|
||
***
|
||
*** --------------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** SMARTMPROC
|
||
**
|
||
** IN
|
||
** A8 MOTHER OBJ
|
||
** A9 CD
|
||
**
|
||
** JFL 10 JAN 93
|
||
** JFL 18 JAN 93; M_CDFMISLOCK
|
||
** JFL 09 FEB 93; USE B REGS FOR STUFF
|
||
**
|
||
SMARTMPROC
|
||
GUIDEDMPROC
|
||
|
||
;SAVE MOM
|
||
MOVE A9,A7 ;CD
|
||
|
||
;SET UP B REGS
|
||
MOVL @WAVEIRQS,B5
|
||
|
||
;CREATE THE MISSILE OBJ
|
||
CALLR MISLCREATE ;IN:A7,A8,Bx CD,MOMOBJ
|
||
|
||
;FIND TARGET
|
||
MOVL *A13(PMSAFE),A2
|
||
CALLR FINDLOCK ;IN:A0,A2,A8 SC,EXCLUDEOBJ,OBJ OUT:A2 OBJ
|
||
|
||
;SET VEL & ACC
|
||
MOVI MISINITVEL,A14
|
||
MOVW A14,*A13(PMVEL)
|
||
MOVI MISINITACC,A14
|
||
MOVW A14,*A13(PMACC)
|
||
|
||
;SET TIME TO RE-EVAL TARGET
|
||
MOVE B5,A2 ;WAVEIRQS
|
||
MOVE A2,A3
|
||
ADDI FIRSTRETARGETTIME,A3 ;WHEN TO RETARGET
|
||
MOVL A3,*A13(PMTARGETIRQ)
|
||
ADDI MISLGASTIME,A2 ;WHEN TO DETONATE
|
||
MOVL A2,*A13(PMDETONATE)
|
||
|
||
SLEEP 1
|
||
|
||
;REGS
|
||
; A8 OBJ
|
||
; A13 PROC
|
||
SMMPLOOP
|
||
;SET UP B REGS
|
||
MOVL @WAVEIRQS,B5
|
||
CLR B0 ;TURN FLAG
|
||
|
||
;
|
||
;CHECK TERRAIN
|
||
;
|
||
|
||
;CHECK IF WE HIT SOMETHING
|
||
MOVW *A8(OXPOS),A2
|
||
MOVW *A8(OZPOS),A14
|
||
MOVW *A8(OZOFF),A3
|
||
ADD A3,A14
|
||
SLL 16,A14
|
||
MOVY A14,A2 ;Z:X
|
||
CALLA TOPOXZ ;IN:A2 Z:X OUT:A2,A3 TOPOC,TOPOBA
|
||
JRC MISLBLOWS ;OFFSCREEN
|
||
MOVE A3,A2
|
||
SLL 24,A3 ;ISOLATE TOPOA
|
||
SRL 24-3,A3 ;SIZEOF TBL
|
||
ADDI MISBLOWUPTBL,A3
|
||
.IF DEBUG
|
||
CMPI MISBLOWUPTBLX,A3
|
||
TLOCKON HS
|
||
.ENDIF ;DEBUG
|
||
MOVB *A3,A3
|
||
JRZ SMMPNOTOPO
|
||
JRP MISLBLOWS
|
||
|
||
;CHECK ANGLE
|
||
MOVB *A8(ODIR),A3
|
||
SLL 16,A2 ;ISOLATE TOPOB -- DIR OF TOPO
|
||
SRA 24,A2
|
||
SUB A3,A2
|
||
ADDI DIR180/2,A2
|
||
SLL 25,A2
|
||
JRC MISLBLOWS ;OPPOSING ANGLE
|
||
|
||
SMMPNOTOPO
|
||
|
||
;
|
||
;CHECK IF WE HIT A CAR
|
||
;
|
||
|
||
;CHECK IF WE SHOULD DESTROY THE MISSILE
|
||
MOVL *A8(OMISHIT),A1
|
||
JRZ SMMPNOHIT
|
||
MOVL *A13(PMSAFE),A14
|
||
CMP A1,A14
|
||
JRNE MISLHITCAR
|
||
|
||
;RESET HIT DATA
|
||
CLR A1
|
||
MOVL A1,*A8(OMISHIT)
|
||
SMMPNOHIT
|
||
|
||
;
|
||
;TIME RELATED
|
||
;
|
||
|
||
;GET TIME
|
||
MOVE B5,A2 ;WAVEIRQS
|
||
|
||
;TIME TO DETONATE?
|
||
MOVL *A13(PMDETONATE),A14
|
||
CMP A14,A2
|
||
JRHS MISLBLOWS ;DONT DETONATE FOR A LANDMINE
|
||
|
||
;TIME TO RE-TARGET?
|
||
MOVL *A13(PMTARGETIRQ),A14
|
||
CMP A14,A2
|
||
JRLO SMMPKEEPTARGET
|
||
|
||
;WHEN TO RE-TARGET NEXT
|
||
ADDI MISLTARGETTIME,A2
|
||
MOVL A2,*A13(PMTARGETIRQ)
|
||
|
||
;RE-TARGET
|
||
CLR A2
|
||
MOVL A2,*A13(PMSAFE) ;NO ONE IS SAFE...
|
||
CALLR FINDLOCK ;IN:A0,A2,A8 SC,EXCLUDEOBJ,OBJ OUT:A2 OBJ
|
||
MOVE A2,A3 ;DST
|
||
JRZ MISLBLOWS ;NO TARGET, DIE
|
||
MOVE A8,A2 ;SRC
|
||
JRUC SMMPKT
|
||
|
||
SMMPKEEPTARGET
|
||
|
||
;GET TARGET
|
||
MOVE A8,A2 ;SRC
|
||
MOVL *A13(PMTARGET),A3 ;DST
|
||
SMMPKT
|
||
;TIME TO TAKE ANOTHER LOOK AT THE TARGET?
|
||
MOVL *A13(PMLOOKIRQ),A14 ;WHEN TO LOOK
|
||
MOVE B5,A0 ;WAVEIRQS
|
||
CMP A14,A0
|
||
JRHS SMMLOOK
|
||
|
||
;USE OLD VALUE
|
||
MOVW *A13(PMDIR),A3
|
||
JRUC SMMADJDIR
|
||
|
||
SMMLOOK
|
||
CALLR OBJ2OBJDIR ;IN:A2,A3 SRCOBJ,DSTOBJ OUT:A3 DIR SC:A0-A4
|
||
|
||
;SET DIR TO TURN TOWARD & WHEN TO LOOK AGAIN
|
||
MOVW A3,*A13(PMDIR)
|
||
MOVE B5,A14 ;WAVEIRQS
|
||
ADDI MISLLOOKTIME,A14
|
||
MOVL A14,*A13(PMLOOKIRQ)
|
||
|
||
SMMADJDIR
|
||
;
|
||
;ADJUST DIR TO FACE TARGET
|
||
;
|
||
MOVB *A8(ODIR),A10 ;CUR DIR
|
||
MOVE A10,A7
|
||
SLL 24,A7
|
||
SRL 24,A7
|
||
SUB A3,A7
|
||
SLL 24,A7
|
||
SRA 24+4,A7
|
||
JRZ SMMPDIROK
|
||
JRP SMMPDIRADD
|
||
|
||
ADDK MISTURN,A10
|
||
|
||
;ADD A SMALL RND AMOUNT TO TURN SO MISLS DONT ALL DO THE SAME THING
|
||
MOVW @REFCNT,A14
|
||
SLL 32-3-2,A14
|
||
SRA 32-3,A14 ;RND +/- 0..3
|
||
ADD A14,A10
|
||
|
||
MOVK 1,B0 ;TURN FLAG
|
||
|
||
;MAKE FLAME SMALL DUE TO TURN
|
||
CLR A14
|
||
MOVW A14,*A8(OSTATE)
|
||
|
||
JRUC SMMPDIROK
|
||
|
||
SMMPDIRADD
|
||
SUBK MISTURN,A10
|
||
|
||
;ADD A SMALL RND AMOUNT TO TURN SO MISLS DONT ALL DO THE SAME THING
|
||
MOVW @REFCNT,A14
|
||
SLL 32-3-2,A14
|
||
SRA 32-3,A14 ;RND +/- 0..3
|
||
ADD A14,A10
|
||
|
||
MOVK 1,B0 ;TURN FLAG
|
||
|
||
;MAKE FLAME SMALL DUE TO TURN
|
||
CLR A14
|
||
MOVW A14,*A8(OSTATE)
|
||
SMMPDIROK
|
||
;PICK IMAGE BASED ON DIR
|
||
MOVW A10,*A8(ODIR)
|
||
CALLR MISLSETIMG ;IN:A8,A10 OBJ,DIR
|
||
|
||
;
|
||
;SET VEL -- TAKE INTO ACCOUNT SLOWING BECAUSE OF TURN
|
||
;
|
||
MOVW *A8(ODIR),A10
|
||
MOVW *A13(PMVEL),A11
|
||
|
||
;CHECK IF TURNING
|
||
MOVE B0,A14
|
||
JRZ SMMPNOTURN
|
||
|
||
;TURNING -- DECEL
|
||
MOVW *A13(PMACC),A14
|
||
SUB A14,A11
|
||
SUBK 1,A14
|
||
MOVW A14,*A13(PMACC)
|
||
JRUC SMMPVCHECKLOW
|
||
|
||
SMMPNOTURN
|
||
;NOT TURNING -- ACCEL
|
||
MOVW *A13(PMACC),A14
|
||
ADD A14,A11
|
||
ADD A14,A11
|
||
MOVW A14,*A13(PMACC)
|
||
|
||
SMMPVCHECKHI
|
||
CMPI MISMAXVEL,A11
|
||
JRLT SMMPVCHECKLOW
|
||
SMMPVMAX
|
||
MOVI MISMAXVEL,A11
|
||
JRUC SMMPVOK
|
||
SMMPVCHECKLOW
|
||
;MAKE SURE VEL IS IN RANGE
|
||
MOVE A11,A11
|
||
JRNN SMMPVOK
|
||
|
||
;STOPPED, BLOW THIS LOSER MISL UP
|
||
CLR A11
|
||
MOVL A11,*A13(PMDETONATE) ;RAN OUT OF GAS HERE
|
||
|
||
SMMPVOK
|
||
MOVW A11,*A13(PMVEL)
|
||
SRL MISVELFRACSHIFT,A11
|
||
|
||
CALLR VECTORTOVELS ;IN:A10,A11 DIR,MAG OUT:A10,A11 X,Z
|
||
SLL VELSHIFT,A10
|
||
SLL VELSHIFT,A11
|
||
MOVL A10,*A8(OXVEL) ;DONT GIVE VEL FOR A LANDMINE
|
||
MOVL A11,*A8(OZVEL)
|
||
|
||
SMMPX
|
||
SLEEP 1
|
||
JRUC SMMPLOOP
|
||
|
||
|
||
***
|
||
*** ------------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** DEFENSEMPROC
|
||
**
|
||
** IN
|
||
** A8 MOTHER OBJ
|
||
** A9 CD
|
||
**
|
||
** JFL 10 JAN 93
|
||
** JFL 18 JAN 93; M_CDFMISLOCK
|
||
** JFL 09 FEB 93; USE B REGS FOR STUFF
|
||
** JFL 11 FEB 93; DEFENSEMPROC
|
||
** JFL 13 FEB 93; DOESNT LAUNCH A MISSLE
|
||
**
|
||
DEFENSEMPROC
|
||
|
||
;SOUND
|
||
MOVI SNDDEFENSEWEAPON,A14
|
||
CALLA MAKESND ;IN:A14 SNDID
|
||
|
||
;CREATE THE MISL
|
||
MOVI OBJINITDEFMISL,A5
|
||
CALLA CREATE_OBJ ;IN:A5 COBLOCK OUT:A0 OBJ
|
||
JRZ DMPX
|
||
|
||
;POSITION AT CAR
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVW *A8(OZPOS),A14
|
||
INC A14 ;MAKE CLOSER TO VIEWER
|
||
MOVW A14,*A0(OZPOS)
|
||
|
||
CALLA INSOBJ
|
||
|
||
;RECORD WHO LAUNCHED THIS & WHO TO CALL WHEN IT BLOWS
|
||
MOVL A8,*A0(OMISHIT)
|
||
MOVI DEFENSEMISLBLOWS,A14
|
||
MOVL A14,*A0(OCVECT)
|
||
|
||
;ADD THE ANIM
|
||
MOVI ASDEFENSEBOOM,A14
|
||
MOVL A14,*A0(ANIMFRM)
|
||
MOVL A14,*A0(ANIMSCR)
|
||
MOVK 1,A14
|
||
MOVW A14,*A0(ANIMSLPB)
|
||
CALLA INSANI ;IN:A0
|
||
|
||
DMPX
|
||
DIE
|
||
|
||
|
||
***
|
||
*** ------------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** LMINEBLOWS
|
||
**
|
||
** IN
|
||
** A0-A7 SCRATCH
|
||
** A8 OBJ
|
||
** A9-A11 SCRATCH
|
||
**
|
||
** JFL 13 FEB 93
|
||
** JFL 24 FEB 93; LMINE FROM DEFENSEMISLBLOWS
|
||
**
|
||
LMINEBLOWS
|
||
CALLA ZAP_OBJ ;IN:A8
|
||
RETS
|
||
|
||
**
|
||
** LMINEDETONATE
|
||
**
|
||
** NOTE: THIS ZAPS A0 OBJ!
|
||
**
|
||
** IN
|
||
** A0 LMINE OBJ
|
||
** A2-A3 SCRATCH
|
||
**
|
||
** JFL 14 MAR 93
|
||
**
|
||
LMINEDETONATE
|
||
MMTM SP,A0,A1,A4,A5,A7,A8
|
||
|
||
MOVE A0,A8
|
||
|
||
CLR A3 ;NO INIT()
|
||
MOVI ASMISLBOOM,A2 ;ANIM
|
||
CALLA ANISPAWNONE ;IN:A2,A3,A4,A5,A7,A8 ASCRIPT,INIT(),
|
||
;SC,SC,SC,PARENTOBJ OUT:A0,A1 OBJ,IHDR
|
||
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVW *A8(OZPOS),*A0(OZPOS)
|
||
MOVW *A8(OYPOS),*A0(OYPOS)
|
||
MOVW *A8(OZOFF),*A0(OZOFF)
|
||
|
||
CALLA ZAP_OBJ ;IN:A8
|
||
|
||
MMFM SP,A0,A1,A4,A5,A7,A8
|
||
RETS
|
||
|
||
|
||
**
|
||
** CREATELANDMINE
|
||
**
|
||
** IN
|
||
** A7 CD
|
||
** A8 MOTHER OBJ
|
||
** SCRATCH:A0-A6,A9-A11
|
||
**
|
||
** JFL 24 FEB 93
|
||
**
|
||
CREATELANDMINE
|
||
|
||
;SOUND
|
||
MOVI SNDLANDMINEDROPPED,A14
|
||
CALLA MAKESND ;IN:A14 SNDID
|
||
|
||
;CREATE
|
||
MOVI OBJINITLMINE,A5
|
||
CALLA CREATE_OBJ ;IN:A5 COBLOCK OUT:A0 OBJ
|
||
JRZ CLMX
|
||
|
||
;POSITION UNDER CAR BUT ABOVE SHADOW
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVI ICONZOFF,A3
|
||
MOVW A3,*A0(OZOFF)
|
||
MOVL *A8(OZVAL),A14
|
||
SLL 16,A3
|
||
SUB A3,A14
|
||
MOVL A14,*A0(OZVAL)
|
||
|
||
CALLA INSOBJ ;IN:A0
|
||
|
||
;RECORD WHO LAUNCHED THIS & WHO TO CALL WHEN IT BLOWS
|
||
MOVK AOID_LMINE,A14
|
||
MOVW A14,*A0(OPARTID)
|
||
MOVL A8,*A0(OLMINEMOM)
|
||
MOVI LMINEBLOWS,A14
|
||
MOVL A14,*A0(OCVECT)
|
||
|
||
;ADD THE ANIM
|
||
MOVI ASLMINE,A14
|
||
MOVL A14,*A0(ANIMFRM)
|
||
MOVL A14,*A0(ANIMSCR)
|
||
MOVK 1,A14
|
||
MOVW A14,*A0(ANIMSLPB)
|
||
CALLA INSANI ;IN:A0
|
||
|
||
CLMX
|
||
RETS
|
||
|
||
***
|
||
*** ------------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** MISFFHITGROUND
|
||
**
|
||
** IN
|
||
** A8 OBJ
|
||
** SCRATCH:B0,A0-A8,A10-A11
|
||
**
|
||
** JFL 14 MAR 93
|
||
**
|
||
MISFFHITGROUND
|
||
;SIGNAL TO DETONATE
|
||
CLR A14
|
||
MOVL *A8(OPLINK),A2
|
||
TLOCKON Z
|
||
MOVL A14,*A2(PMDETONATE)
|
||
RETS
|
||
|
||
|
||
**
|
||
** MISFFPROC -- PROCESS
|
||
**
|
||
** IN
|
||
** A8 MOTHER OBJ
|
||
** A9 CD
|
||
**
|
||
** JFL 14 MAR 93
|
||
**
|
||
MISFFPROC
|
||
;CREATE
|
||
MOVI OBJINITFF,A5
|
||
CALLA CREATE_OBJ ;IN:A5 COBLOCK OUT:A0 OBJ
|
||
JRZ MFFPX
|
||
|
||
;SET SCALE UP
|
||
CALLA SETZMIN ;IN:A0 OBJ
|
||
|
||
;SET UP AS A MISSILE ARENA OBJECT
|
||
MOVI GENAOBJLIST+(AOID_MISSILE*AOLSIZE),A14
|
||
MOVL A14,*A0(OAOL)
|
||
MOVL A8,*A13(PMMOM)
|
||
MOVW *A8(OID),*A13(PMMOMOID)
|
||
MOVL A8,*A13(PMSAFE)
|
||
MOVL A13,*A0(OPLINK)
|
||
MOVI AOID_MISSILE,A14
|
||
MOVW A14,*A0(OPARTID)
|
||
|
||
;
|
||
;POSITION AT CAR
|
||
;
|
||
MOVW *A8(ODIR),A10
|
||
MOVW A10,*A0(ODIR)
|
||
MOVW *A8(OYPOS),A14
|
||
SUBK FFYPOS,A14
|
||
MOVW A14,*A0(OYPOS)
|
||
MOVW *A8(OXPOS),*A0(OXPOS)
|
||
MOVW *A8(OZPOS),A2
|
||
MOVI MISZOFF,A14
|
||
MOVW A14,*A0(OZOFF)
|
||
SUB A14,A2
|
||
MOVW A2,*A0(OZPOS)
|
||
|
||
;
|
||
;SET VEL
|
||
;
|
||
|
||
;SET X&Z VELS
|
||
MOVI MISFFINITVEL,A11 ;SCALED IN VELADD
|
||
CALLR VECTORTOVELS ;IN:A10,A11 DIR,MAG OUT:A10,A11 X,Z
|
||
SLL VELSHIFT,A10
|
||
SLL VELSHIFT,A11
|
||
MOVL *A8(OXVEL),A14
|
||
SRA 1,A14
|
||
ADD A14,A10
|
||
MOVL A10,*A0(OXVEL)
|
||
MOVL *A8(OZVEL),A14
|
||
SRA 1,A14
|
||
ADD A14,A11
|
||
MOVL A11,*A0(OZVEL)
|
||
|
||
;SET UP
|
||
CLR A14
|
||
MOVL A14,*A0(OMISHIT) ;NOT CLEARED BY GETOBJ
|
||
MOVK MISLFFDAMAGE,A14
|
||
MOVW A14,*A13(PMDAMAGE)
|
||
MOVL A14,*A13(PMTARGET)
|
||
|
||
;MAKE SHADOW
|
||
MOVE A0,A8 ;PUT SHAD ON NEW OBJ
|
||
MOVL @OBJINITFF,A2 ;PULL IHDR FROM ABOVE
|
||
CALLA MAKESHADMULTI ;IN A2,A3-A5,A8 SHADIMG,SC,OBJ
|
||
|
||
CALLA INSERT_OBJ ;IN:A8
|
||
|
||
;SOUND
|
||
MOVI SNDFFSHOT,A14
|
||
CALLA MAKESND ;IN:A14 SNDID
|
||
|
||
;NUM MISSILES ALIVE
|
||
MOVI DRG+DRGMISSILES,A2
|
||
MOVW *A2,A14
|
||
INC A14
|
||
MOVW A14,*A2
|
||
|
||
;SET UP FOR HOW LONG IT STAYS IN THE AIR
|
||
MOVK 1,A14
|
||
MOVW A14,*A13(PMDETONATE)
|
||
|
||
;
|
||
;START OUR DESCENT TO THE GROUND
|
||
;
|
||
|
||
;SET UP YACC (NO YVEL SINCE WE ARE NOT GOING UP)
|
||
MOVI MISFFYACC,A3
|
||
MOVL A3,*A8(OYACC)
|
||
|
||
;SET UP FOR GCOL
|
||
MOVI MISFFHITGROUND,A2
|
||
MOVI SETGCOL,B8 ;IN:A2,A8 GCOL(),OBJ
|
||
EXGPC B8
|
||
|
||
MFFPNOFALL
|
||
|
||
SLEEP 1
|
||
|
||
;REGS
|
||
; A8 OBJ
|
||
; A13 PROC
|
||
|
||
MFFPLOOP
|
||
|
||
;
|
||
;DID WE LAND & DETONATE
|
||
;
|
||
MOVW *A13(PMDETONATE),A14 ;HAS LANDING BEEN PROCESSED YET?
|
||
JRZ MISLFFBLOWS ;YES
|
||
|
||
;
|
||
;CHECK TERRAIN
|
||
;
|
||
|
||
;CHECK IF WE HIT SOMETHING
|
||
MOVW *A8(OXPOS),A2
|
||
MOVW *A8(OZPOS),A14
|
||
MOVW *A8(OZOFF),A3
|
||
ADD A3,A14
|
||
SLL 16,A14
|
||
MOVY A14,A2 ;Z:X
|
||
CALLA TOPOXZ ;IN:A2 Z:X OUT:A2,A3 TOPOC,TOPOBA
|
||
JRC MISLFFBLOWS ;OFFSCREEN
|
||
MOVE A3,A2
|
||
SLL 24,A3 ;ISOLATE TOPOA
|
||
SRL 24-3,A3 ;SIZEOF TBL
|
||
ADDI MISBLOWUPTBL,A3
|
||
.IF DEBUG
|
||
CMPI MISBLOWUPTBLX,A3
|
||
TLOCKON HS
|
||
.ENDIF ;DEBUG
|
||
MOVB *A3,A3
|
||
JRZ MFFPNOTOPO
|
||
JRP MISLFFBLOWS
|
||
|
||
;CHECK ANGLE
|
||
MOVB *A8(ODIR),A3
|
||
SLL 16,A2 ;ISOLATE TOPOB -- DIR OF TOPO
|
||
SRA 24,A2
|
||
SUB A3,A2
|
||
ADDI DIR180/2,A2
|
||
SLL 25,A2
|
||
JRC MISLFFBLOWS ;OPPOSING ANGLE
|
||
|
||
MFFPNOTOPO
|
||
|
||
;
|
||
;CHECK IF WE HIT A CAR
|
||
;
|
||
|
||
;CHECK IF WE SHOULD DESTROY THE FF
|
||
MOVL *A8(OMISHIT),A1
|
||
JRZ MFFPNOHIT
|
||
MOVL *A13(PMSAFE),A14
|
||
CMP A1,A14
|
||
JRNE MISLFFHITCAR
|
||
|
||
;RESET HIT DATA
|
||
CLR A1
|
||
MOVL A1,*A8(OMISHIT)
|
||
MFFPNOHIT
|
||
|
||
|
||
MFFPX
|
||
SLEEP 1
|
||
JRUC MFFPLOOP
|
||
|
||
|
||
***
|
||
*** ------------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** MISIMAGES
|
||
**
|
||
** .LONG IMAGE
|
||
** .WORD CTRL -- WITH DMAGO BIT CLEAR
|
||
** .WORD ANIM POINT OFFSET IN IHDR
|
||
**
|
||
** JFL 10 JAN 93
|
||
** JFL 04 FEB 93
|
||
**
|
||
MISIMAGES
|
||
.LONG MISL_12
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_9
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_7
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISLD_5
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISLG_2
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISLD_5
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_7
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_9
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_12
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_18
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_19
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_8_34
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_9_35
|
||
.WORD DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_8_34
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_19
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
.LONG MISL_18
|
||
.WORD M_FLIPH+DMAWNZ-DMAGO
|
||
.WORD IPT0
|
||
|
||
**
|
||
** MISLCTRLTBL
|
||
**
|
||
** .WORD CTRL
|
||
** .WORD SHADOW CTRL
|
||
**
|
||
** JFL 04 FEB 93
|
||
**
|
||
MISLCTRLTBL
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
.WORD DMAWNZ
|
||
.WORD DMACNZ
|
||
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
.WORD M_FLIPH|DMAWNZ
|
||
.WORD M_FLIPH|DMACNZ
|
||
MISLCTRLTBLX
|
||
|
||
|
||
MISLIMGTBL
|
||
;IMAGE SET 0
|
||
.LONG MISL17C
|
||
.LONG MISL16C
|
||
.LONG MISL15C
|
||
.LONG MISL14C
|
||
.LONG MISL13C
|
||
.LONG MISL12C
|
||
.LONG MISL11C
|
||
.LONG MISL10C
|
||
.LONG MISL09C
|
||
.LONG MISL08C
|
||
.LONG MISL07C
|
||
.LONG MISL06C
|
||
.LONG MISL05C
|
||
.LONG MISL04C
|
||
.LONG MISL03C
|
||
.LONG MISL02C
|
||
|
||
.LONG MISL01C
|
||
.LONG MISL02C
|
||
.LONG MISL03C
|
||
.LONG MISL04C
|
||
.LONG MISL05C
|
||
.LONG MISL06C
|
||
.LONG MISL07C
|
||
.LONG MISL08C
|
||
.LONG MISL09C
|
||
.LONG MISL10C
|
||
.LONG MISL11C
|
||
.LONG MISL12C
|
||
.LONG MISL13C
|
||
.LONG MISL14C
|
||
.LONG MISL15C
|
||
.LONG MISL16C
|
||
.LONG MISL17C
|
||
.LONG MISL18C
|
||
.LONG MISL19C
|
||
.LONG MISL20C
|
||
.LONG MISL21C
|
||
.LONG MISL22C
|
||
.LONG MISL23C
|
||
.LONG MISL24C
|
||
.LONG MISL25C
|
||
.LONG MISL26C
|
||
.LONG MISL27C
|
||
.LONG MISL28C
|
||
.LONG MISL29C
|
||
.LONG MISL30C
|
||
.LONG MISL31C
|
||
.LONG MISL32C
|
||
.LONG MISL33C
|
||
|
||
.LONG MISL32C
|
||
.LONG MISL31C
|
||
.LONG MISL30C
|
||
.LONG MISL29C
|
||
.LONG MISL28C
|
||
.LONG MISL27C
|
||
.LONG MISL26C
|
||
.LONG MISL25C
|
||
.LONG MISL24C
|
||
.LONG MISL23C
|
||
.LONG MISL22C
|
||
.LONG MISL21C
|
||
.LONG MISL20C
|
||
.LONG MISL19C
|
||
.LONG MISL18C
|
||
|
||
;IMAGE SET 1
|
||
.LONG MISL17B
|
||
.LONG MISL16B
|
||
.LONG MISL15B
|
||
.LONG MISL14B
|
||
.LONG MISL13B
|
||
.LONG MISL12B
|
||
.LONG MISL11B
|
||
.LONG MISL10B
|
||
.LONG MISL09B
|
||
.LONG MISL08B
|
||
.LONG MISL07B
|
||
.LONG MISL06B
|
||
.LONG MISL05B
|
||
.LONG MISL04B
|
||
.LONG MISL03B
|
||
.LONG MISL02B
|
||
|
||
.LONG MISL01B
|
||
.LONG MISL02B
|
||
.LONG MISL03B
|
||
.LONG MISL04B
|
||
.LONG MISL05B
|
||
.LONG MISL06B
|
||
.LONG MISL07B
|
||
.LONG MISL08B
|
||
.LONG MISL09B
|
||
.LONG MISL10B
|
||
.LONG MISL11B
|
||
.LONG MISL12B
|
||
.LONG MISL13B
|
||
.LONG MISL14B
|
||
.LONG MISL15B
|
||
.LONG MISL16B
|
||
.LONG MISL17B
|
||
.LONG MISL18B
|
||
.LONG MISL19B
|
||
.LONG MISL20B
|
||
.LONG MISL21B
|
||
.LONG MISL22B
|
||
.LONG MISL23B
|
||
.LONG MISL24B
|
||
.LONG MISL25B
|
||
.LONG MISL26B
|
||
.LONG MISL27B
|
||
.LONG MISL28B
|
||
.LONG MISL29B
|
||
.LONG MISL30B
|
||
.LONG MISL31B
|
||
.LONG MISL32B
|
||
.LONG MISL33B
|
||
|
||
.LONG MISL32B
|
||
.LONG MISL31B
|
||
.LONG MISL30B
|
||
.LONG MISL29B
|
||
.LONG MISL28B
|
||
.LONG MISL27B
|
||
.LONG MISL26B
|
||
.LONG MISL25B
|
||
.LONG MISL24B
|
||
.LONG MISL23B
|
||
.LONG MISL22B
|
||
.LONG MISL21B
|
||
.LONG MISL20B
|
||
.LONG MISL19B
|
||
.LONG MISL18B
|
||
|
||
;IMAGE SET 2
|
||
.LONG MISL17A
|
||
.LONG MISL16A
|
||
.LONG MISL15A
|
||
.LONG MISL14A
|
||
.LONG MISL13A
|
||
.LONG MISL12A
|
||
.LONG MISL11A
|
||
.LONG MISL10A
|
||
.LONG MISL09A
|
||
.LONG MISL08A
|
||
.LONG MISL07A
|
||
.LONG MISL06A
|
||
.LONG MISL05A
|
||
.LONG MISL04A
|
||
.LONG MISL03A
|
||
.LONG MISL02A
|
||
|
||
.LONG MISL01A
|
||
.LONG MISL02A
|
||
.LONG MISL03A
|
||
.LONG MISL04A
|
||
.LONG MISL05A
|
||
.LONG MISL06A
|
||
.LONG MISL07A
|
||
.LONG MISL08A
|
||
.LONG MISL09A
|
||
.LONG MISL10A
|
||
.LONG MISL11A
|
||
.LONG MISL12A
|
||
.LONG MISL13A
|
||
.LONG MISL14A
|
||
.LONG MISL15A
|
||
.LONG MISL16A
|
||
.LONG MISL17A
|
||
.LONG MISL18A
|
||
.LONG MISL19A
|
||
.LONG MISL20A
|
||
.LONG MISL21A
|
||
.LONG MISL22A
|
||
.LONG MISL23A
|
||
.LONG MISL24A
|
||
.LONG MISL25A
|
||
.LONG MISL26A
|
||
.LONG MISL27A
|
||
.LONG MISL28A
|
||
.LONG MISL29A
|
||
.LONG MISL30A
|
||
.LONG MISL31A
|
||
.LONG MISL32A
|
||
.LONG MISL33A
|
||
|
||
.LONG MISL32A
|
||
.LONG MISL31A
|
||
.LONG MISL30A
|
||
.LONG MISL29A
|
||
.LONG MISL28A
|
||
.LONG MISL27A
|
||
.LONG MISL26A
|
||
.LONG MISL25A
|
||
.LONG MISL24A
|
||
.LONG MISL23A
|
||
.LONG MISL22A
|
||
.LONG MISL21A
|
||
.LONG MISL20A
|
||
.LONG MISL19A
|
||
.LONG MISL18A
|
||
|
||
MISLIMGTBLX
|
||
|
||
* EOF
|
||
|