roadkill/RKDEATH/DR.I

459 lines
13 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters!

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

***
*** FILE: DR.I
*** DERBY RACE MASTER INCLUDE FILE
*** JFL 13 JUL 92
*** JFL 17 JUL 92
*** JFL 21 JUL 92
*** JFL 23 JUL 92
*** JFL 24 JUL 92
*** JFL 28 JUL 92
*** JFL 29 JUL 92
*** JFL 31 JUL 92
*** JFL 04 AUG 92
*** JFL 05 AUG 92
*** JFL 06 AUG 92
*** JFL 07 AUG 92
*** JFL 09 AUG 92
*** JFL 11 AUG 92
*** JFL 14 AUG 92
*** JFL 16 AUG 92; DRH.ASM DRI.ASM SPLIT; EXTERNAL FORCES AS A VECTOR
*** JFL 17 AUG 92; M_CDFIMMOBILE
*** JFL 18 AUG 92
*** JFL 23 AUG 92; MAKEZTABLES
*** JFL 03 SEP 92; CDPALETTE
*** JFL 09 SEP 92; CAR ANIMATION STATES
*** JFL 10 SEP 92; SPECIAL MOVE STUFF STARTED
*** JFL 11 SEP 92
*** JFL 14 SEP 92
*** JFL 15 SEP 92; PARTANIM
*** JFL 17 SEP 92; CRASHCNT
*** JFL 22 SEP 92
*** JFL 23 SEP 92; CDLAPS
*** JFL 01 OCT 92
*** JFL 05 OCT 92
*** JFL 06 OCT 92
*** JFL 07 OCT 92
*** JFL 09 OCT 92; CDXVECT
*** JFL 13 OCT 92; VEC
*** JFL 16 OCT 92
*** JFL 19 OCT 92
*** JFL 20 OCT 92
*** JFL 22 OCT 92; SHAKESCREEN
*** JFL 26 OCT 92
*** JFL 29 OCT 92; CARAREA
*** JFL 03 NOV 92; CDANIPRI
*** JFL 04 NOV 92
*** JFL 09 NOV 92
*** JFL 15 NOV 92
*** JFL 10 DEC 92
*** JFL 22 DEC 92
*** JFL 18 JAN 93
*** JFL 15 MAR 93; CDSPECIAL
*** JFL 26 MAR 93; NEW AREAS
*** JFL 13 APR 93; TURBOMAX
*** JFL 13 APR 93; MISL COUNT SEPERATE
*** JFL 16 APR 93; MAX TURBOS
***
**
** DERBY RACE GENERAL DEFINES
**
DRPLAYERS EQU 3 ;NUMBER OF INPUT DEVICES -- STORED IN RAM
DRNUMCARS EQU 15 ;
DRNUMDRONES EQU DRNUMCARS-DRPLAYERS
**
** CAR DATA FLAGS
** JFL 24 JUL 92
** JFL 12 AUG 92
** JFL 13 AUG 92; M_CDFSTOPREV
** JFL 17 AUG 92; M_CDFIMMOBILE
** JFL 23 AUG 92; M_CDFINREV
** JFL 05 OCT 92; M_CDFDEAD
** JFL 16 OCT 92; M_CDFNOTILT, M_CDFREV
** JFL 19 OCT 92; M_CDFSTOPEXT
** JFL 20 OCT 92; M_CDFINTHROW
** JFL 29 OCT 92
** JFL 04 NOV 92; M_CDFANIDIS
** JFL 18 JAN 93; M_CDFMISLOCK
** JFL 20 MAR 93; M_CDFDEAD IS BACK
**
M_CDFSHAKE EQU 00001H ;CAR HAS SHAKER
M_CDFBONUSTURBO EQU 00002H ;BONUS TURBO
M_CDFALTINP EQU 00004H ;USING ALTERNATE INP HANDLER
M_CDFAIRPENALTY EQU 00008H ;IN AIR DUE TO PENALTY
M_CDFSTOPREV EQU 00010H ;REVERSING MODE
M_CDFCHECKPEEL EQU 00020H ;CHECK FOR PEEL OUT NEXT LOOP
M_CDFUNDO EQU 00040H ;UNDO CAR MOVE
M_CDFDOREV EQU 00080H ;DO REVERSE ASAP
M_CDFANIDIS EQU 00100H ;CAR IS DISABLED TILL ANIM DONE
M_CDFREV EQU 00200H ;CAR IS IN REVERSE
M_CDFSTOPEXT EQU 00400H ;STOP EXTERNAL FORCES
M_CDFINTHROW EQU 00800H ;BEING THROWN
M_CDFDRONE EQU 01000H ;CAR IS DRONE
M_CDFTOPO EQU 02000H ;SPECIAL TOPO CHECK NEEDED
M_CDFDEAD EQU 04000H ;CAR IS DEAD
B_CDFSHAKE EQU 0 ;CAR HAS SHAKER
B_CDFBONUSTURBO EQU 1 ;
B_CDFALTINP EQU 2 ;USING ALTERNATE INP HANDLER
B_CDFAIRPENALTY EQU 3 ;IN AIR DUE TO PENALTY
B_CDFSTOPREV EQU 4 ;REVERSING MODE
B_CDFCHECKPEEL EQU 5 ;CHECK FOR PEEL OUT NEXT LOOP
B_CDFUNDO EQU 6 ;UNDO CAR MOVE
B_CDFDOREV EQU 7 ;
B_CDFANIDIS EQU 8 ;CAR IS DISABLED TILL ANIM DONE
B_CDFREV EQU 9 ;CAR IS IN REVERSE
B_CDFSTOPEXT EQU 10 ;STOP EXTERNAL FORCES
B_CDFINTHROW EQU 11 ;BEING THROWN
B_CDFDRONE EQU 12 ;CAR IS DRONE
B_CDFTOPO EQU 13
B_CDFDEAD EQU 14
**
** DRDATA
** DERBY RACE DATA
** JFL 13 JUL 92
**
DRCAR .EQU 000H ;TEMP KLUDGE -- CAR OBJECT
DRDATASIZE .EQU 020H ;SIZEOF DRDATA
**
** CAR DATA
** JFL 23 JUL 92
** JFL 24 JUL 92
** JFL 04 AUG 92
** JFL 05 AUG 92; DAMAGE
** JFL 06 AUG 92; DAMAGE
** JFL 07 AUG 92; SLIDE
** JFL 11 AUG 92; CDSPEED & CDSPEEDANG
** JFL 13 AUG 92; CDACCEL
** JFL 16 AUG 92; X VECTOR
** JFL 18 AUG 92; CDPARTHIT; MOTION VECTOR
** JFL 15 SEP 92; PARTANIM
** JFL 17 SEP 92; CRASHCNT
** JFL 22 SEP 92; TOPOA,B,C
** JFL 07 OCT 92; CDDAMAGE,CDVELADD
** JFL 09 OCT 92; CDXVECT
** JFL 13 OCT 92; NEW VEC STUFF
** JFL 16 OCT 92; GOT RID OF TILT SPEED, RID OF CDCTRL
** JFL 26 OCT 92
** JFL 03 NOV 92; CDANIPRI
** JFL 04 DEC 92
** JFL 22 DEC 92; CDTILT0..3
** JFL 13 APR 93; LMINE COUNT
** JFL 16 APR 93; MAX TURBO
**
CDINPDATA EQU 000H ;UHL INPUT BLOCK (ZERO FOR DRONES!)
CDINPHANDLER EQU 020H ;UHL INP ROUTINE
CDINPNORM EQU 040H ;UHL NORMAL INP ROUTINE (STACK OF 1)
CDFEEL EQU 060H ;UHL HANDLING DATA
CDWHEELOFFSET EQU 080H ;SHW OFFSET FROM WHEEL TO DIR
CDCSTATE EQU 090H ;UHW CONTROL STATE
CDDRONE EQU 0A0H ;UHL DRONES USE (SEE CDDFLAGS)
CDSPIN EQU 0C0H ;SHW ANGULAR SPEED
CDNOPEDAL EQU 0D0H ;UHW COUNTS PLAYER HAS NOT PUSHED PEDAL
CDFLAGS EQU 0E0H ;UHW FLAGS
CDALTTIME EQU 0F0H ;UHW REMOVE ALT INP HANDLER WHEN ZERO
CDALTDATA EQU 100H ;UHL ALT CTL DATA
CDDAMAGE EQU 120H ;UHW TOTAL DAMAGE
CDDAMPARTS EQU 130H ;UHL EACH PART HAS 4 BITS
CDSAS EQU 150H ;UHL STATE ANIM SCRIPT
CDLASTTILT EQU 170H ;SHW LAST TILT VALUE
CDSLOPEDIRADJ EQU 180H ;SHW VALUE ADDED INTO DIR FOR SLOPE
CDPEDAL EQU 190H ;SHW LAST VAL OF PEDAL
CDGEAR EQU 1A0H ;UHW WHAT GEAR YOU ARE IN 0..3
CDLASTDIR EQU 1B0H ;SHW LAST DIR OF CAR
CDREGENERATE EQU 1C0H ;UHW REGENERATION SPEED
CDCOUNTEXT EQU 1D0H ;UHW EXTERNAL FORCES ACTIVE COUNT
CDAGG EQU 1E0H ;UHW AGGRESSION COUNT BIGGER IS MORE
CDDRIVERID EQU 1F0H ;UHW
CDXXX1 EQU 200H ;UHL
CDPALTURBO EQU 220H ;UHW
CDPALICON EQU 230H ;UHW
CDWHEELDIR EQU 240H ;SHW ACCUMULATED WHEEL SPIN
CDBONUSTURBO EQU 250H ;UHW COUNT DOWN -- DEC'D EVERY 8 FRAMES
CDSASIRQ EQU 260H ;UHL WHEN NEXT SAS HAPPENS
CDTOPOA EQU 280H ;UHL TOPO A
CDTOPOB EQU 2A0H ;UHL TOPO B
CDTOPOC EQU 2C0H ;UHL TOPO C
CDLAPS EQU 2E0H ;UHW LAPS COMPLETED
CDLASTCHECKPT EQU 2F0H ;UHW LAST CHECK POINT
CDSASTIME EQU 300H ;UHW HOW LONG BETWEEN SAS
CDHITMASK EQU 310H ;UHL
CDTPSCALE EQU 330H ;UHW
CDTP0 EQU 340H ;UHL
CDTP1 EQU 360H ;UHL
CDTP2 EQU 380H ;UHL
CDTP3 EQU 3A0H ;UHL
CDLMINES EQU 3C0H ;UHW HOW MANY LMINES
CDTURBOMAX EQU 3D0H ;UHW MAX TURBO
CDSOUNDLIST EQU 3E0H ;UHL
CDTRIGSPEC32 EQU 400H ;UHW 32 BITS FOR SPECIAL TRIGGER
CDANIPRI EQU 420H ;UHW ANIMATION SCRIPT PRIORITY
CDSPECIAL EQU 430H ;UHW SPECIAL COUNT
CDTPDIR EQU 440H ;UHW DIR OF HIT TESTING DATA
CDINPNUM EQU 450H ;UHW 0..2
CDB0 EQU 460H ;UHW BUTTON COUNT
CDB1 EQU 470H ;UHW BUTTON COUNT
CDB2 EQU 480H ;UHW BUTTON COUNT
CDCHECKPOINTS EQU 490H ;UHW CHECKPOINT MASK
CDTILT0 EQU 4A0H ;UHL UP:LEFT
CDTILT1 EQU 4C0H ;UHL UP:LEFT
CDTILT2 EQU 4E0H ;UHL UP:LEFT
CDTILT3 EQU 500H ;UHL UP:LEFT
CDSPINDROP EQU 520H ;SHW ADDED TO CDSPIN (IF CDSPIN != 0)
CDTURBOBOOST EQU 530H ;UHW FOR TURBO
CDSLIPFACTOR EQU 540H ;UHW 0..128 (0=100% INPUT FROM DRIVE)
CDSLIPFDECAY EQU 550H ;SHW SLIP FACTOR DECAY
CDDRIVEDIR EQU 560H ;UHW DIR
CDDRIVEMAG EQU 570H ;SHW MAG
CDSLIPDIR EQU 580H ;UHW DIR
CDSLIPMAG EQU 590H ;SHW MAG <--- CDDIRMAGCOUNT ENDS AFTER HERE
CDTOTX EQU 5A0H ;SHW X PART
CDTOTZ EQU 5B0H ;SHW Z PART
CDTOTDIR EQU 5C0H ;UHW DIR TOTAL FOR FRAME
CDTOTMAG EQU 5D0H ;SHW MAG TOTAL FOR FRAME
CDSETDIR EQU 5E0H ;UHW DIR TO SET + 1
CDSLIPPART EQU 5F0H ;UHW PART TO ATTACH SLIP GRAPHIC TO
CDKILLS EQU 600H ;UHW NUMBER OF KILLS
CDMISLOCK EQU 610H ;UHW NUMBER OF MISSILES LOCKED ON
CDMISSILES EQU 620H ;UHW HOW MANY MISSILES
CDTURBOS EQU 630H ;UHW TURBOS LEFT
CDMISLPAL EQU 640H ;UHL MISL PAL
CDMISLONPAL EQU 660H ;UHL MISL ON CAR PAL
CDHITFRONT EQU 680H ;UHL PTR TO NEXT PART TO COME OFF
CDHITMID EQU 6A0H ;UHL PTR TO NEXT PART TO COME OFF
CDHITBACK EQU 6C0H ;UHL PTR TO NEXT PART TO COME OFF
CDTOPOSPECJUMP EQU 6E0H ;UHL
CDTOPOSPECA EQU 700H ;UHL
CDTOPOSPECB EQU 720H ;UHL
CDMOVEOLD EQU 740H ;UHW
CDMOVEOLDER EQU 750H ;UHW
CDMOVEOLDEST EQU 760H ;UHW
CDDEADPAL EQU 770H ;UHW PAL FOR DEAD CAR
CDSIZE EQU 780H ; MARK END OF CAR STUFF
**
** AKA
**
CDDFLAGS EQU 000H+CDDRONE ;UHW DRONES SET THIS
CDDXXX1 EQU 010H+CDDRONE ;UHW
CDCLEARVEC EQU CDDRIVEDIR ;FIRST VEC TO CLEAR
CDCLEARVECCOUNT EQU 3 ;NUMBER OF VECS TO CLEAR
PERCENT100 EQU 128 ;FOR SLIP
PERCENTSHIFT EQU 7 ;FOR SLIP
SLIPFFRAC EQU 4 ;BITS OF FRAC
**
** CDDFLAGS
** IN HUMAN CARS, DRONES SET THESE
**
** JFL 20 JAN 93
**
M_CDDFTARGET EQU 00001H ;CAR IS TARGETTED
B_CDDFTARGET EQU 0 ;CAR IS TARGETTED
**
** GEAR OFFSETS
** JFL 13 AUG 92
**
FGEARMAXVEL EQU 000H ;UHW MAX SPEED FOR THIS GEAR
FGEARPEDMULSL EQU 010H ;UHB ACCEL MPYU (SEE PEDMULFRACBITS)
FGEARACCMULSL EQU 018H ;SHB (SLL OR NEG FOR SRA)
FGEARSIZE EQU 020H ; SIZE
FGEARSIZESHIFT EQU 5
FGEARNUM EQU 4
PELMULFRACBITS EQU 4 ;1 SIGN BIT, 3 INTEGER BITS, 4 FRACTION BITS
**
** CAR HANDLING DATA
** JFL 21 JUL 92
** JFL 29 JUL 92
** JFL 11 AUG 92
** JFL 13 AUG 92
** JFL 22 DEC 92; ANTISLIP
**
FGEAR EQU 000H ; START OF GEAR DATA
FGEARX EQU FGEAR+(FGEARSIZE*FGEARNUM)
FVELMAXNEG EQU FGEARX ;SHW MAX NEG VEL
FVELMAXPOS EQU FGEARX+010H ;SHW MAX POS VEL
FAREASTRENGTH EQU FGEARX+020H ;UHL AREA 0:1:2:3:4:5:6:7
FDAMGIVE EQU FGEARX+040H ;UHL AREA 0:1:2:3:4:5:6:7
FWHEELRESPONSE EQU FGEARX+060H ;UHW WHEEL RESPONSE (BIGGER IS MORE)
FWHEELANTISLIP EQU FGEARX+070H ;UHW BIGGER IS LESS SLIPPERY
FSIZE EQU FGEARX+080H ; SIZE
**
** AREAS ON CARS
**
** JFL 26 MAR 93
**
AREAFWD EQU 1
AREAMID EQU 0
AREABCK EQU 2
**
** TRIGSPEC
**
** JFL 10 DEC 92
**
TSNONE EQU 0 ;NONE
TSWATER EQU 1 ;IN WATER
**
** HIT DATA
** JFL 28 JUL 92
** JFL 06 OCT 92; HDHANDFIRST
** JFL 09 NOV 92
**
HDNUMPTS EQU 000H ;UHW
HDLSHIFT EQU 010H ;UHW
HDPTS EQU 020H ;UHB...
HDPTSIZE EQU 010H ; SIZE OF ONE PT
HDPTSIZEOF EQU 4 ; SIZEOF ONE PT
**
** WHO HIT WHOM
** JFL 19 AUG 92
** JFL 07 DEC 92
**
WHA EQU 000H ;UHL OBJ0
WHB EQU 020H ;UHL OBJ1
WHTIME EQU 040H ;UHW TIME LEFT FOR THIS RECORD
WHHITAREAS EQU 050H ;UHL AREA AREA1:AREA0
WHCOUNT EQU 070H ;UHW NUM HITS
WHSIZE EQU 080H ; SIZE
WHMAX EQU 16 ;WHO HIT WHOM MAX
**
** CAR IMAGE STATES
** JFL 09 SEP 92
** JFL 14 SEP 92; ROLLRIGHT,ETC
** JFL 15 APR 93; ADDED MEDUP/DOWN
**
STATE_FLAT EQU 0
STATE_LOWUP EQU 1
STATE_MEDUP EQU 2
STATE_HIGHUP EQU 3
STATE_LOWDOWN EQU 4
STATE_MEDDOWN EQU 5
STATE_HIGHDOWN EQU 6
STATE_ROLLRIGHT EQU 7
STATE_SIDERIGHT EQU 8
STATE_OVERRIGHT EQU 9
STATE_BELLY EQU 10
STATE_ROLLLEFT EQU 11
STATE_SIDELEFT EQU 12
STATE_OVERLEFT EQU 13
STATE_LAST EQU 13 ;SAME AS LAST VALID STATE
**
**
** SHAKESCREEN FLAGS
**
** JFL 22 OCT 92
**
M_SSX EQU 001H ;SHAKE IN X
M_SSY EQU 002H ;SHAKE IN Y
B_SSX EQU 0 ;SHAKE IN X
B_SSY EQU 1 ;SHAKE IN Y
**
** DRG
**
** THE GLOBAL STRUCTURE -- GAME INFO
**
** JFL 22 OCT 92
** JFL 27 OCT 92
** JFL 15 NOV 92; PLAYERS ADDED
** JFL 18 JAN 93
** JFL 25 JAN 93
**
DRGFLAGS EQU 000H ;UHW FLAGS
DRGALIVE EQU 010H ;UHW CARS ALIVE
DRGDRONES EQU 020H ;UHW DRONES
DRGPLAYERS EQU 030H ;UHW PLAYERS
DRGPOWERUPS EQU 040H ;UHW POWERUPS ON SCREEN
DRGALIVEPLAYERS EQU 050H ;UHW
DRGALIVEDRONES EQU 060H ;UHW
DRGMISSILES EQU 070H ;UHW HOW MANY MISSILES
DRGCARCOUNT EQU 080H ;UHW
DRGCLRX EQU 090H ; WHERE CLEAR ENDS EACH WAVE
DRGARENA EQU DRGCLRX+000H ;UHW WHICH ARENA
DRGDRONELEVEL EQU DRGCLRX+010H ;UHW
DRGSIZE EQU DRGCLRX+020H ; SIZE
**
** DRONE LEVELS
**
** JFL 18 FEB 93
**
DLEVELBEST EQU 15
DLEVELWORST EQU 0
**
** DRG FLAGS
**
** JFL 22 OCT 92
**
M_DRGFSHAKESCREEN EQU 00001H ;SHAKE THE SCREEN
B_DRGFSHAKESCREEN EQU 0 ;SHAKE THE SCREEN
**
** ANI SPAWN TABLE -- STRUCT
**
** JFL 10 DEC 92
** JFL 10 JAN 93; REDONE W/O IMG
**
ANSTINIT EQU 000H ;UHL
ANSTANIM EQU 020H ;UHL
ANSTSIZE EQU 040H ; SIZE
ANSTSIZEOF EQU 6 ; SIZEOF SHIFT
**
** DEFINES
**
SR_WHLDIR EQU 24 ;STEERING TO CAR DIR 0..FF
SL_WHLRESPONSE EQU 17 ;SHIFT FACTOR TO TURN ACCUM WHEEL INTO DIR
SR_DIR2CAR EQU 3 ;CAR DIR TO IMAGE INDEX (RIGHT SHIFT)
SL_CAR2OFF EQU 6 ;IMAGE INDEX TO IMAGE OFFSET (LEFT SHIFT)
SL_STATE2OFF EQU 11 ;STATE INDEX TO IMAGE OFFSET (LEFT SHIFT)
SL_DIR2TRIG EQU 5 ;CAR DIR TO SINCOS ARRAY ENTRY SIZE 32 BITS
COSMULVEL EQU 4 ;COS MULTIPLY TO VEL (RIGHT SHIFT)
SINMULVEL EQU 4 ;SIN MULTIPLY TO VEL (RIGHT SHIFT)
TRIGBITS EQU 15 ;BITS IN TRIG TABLE
TRIGSHIFT EQU TRIGBITS-1 ;AFTER MUL TO NORMALIZE RESULT
VELSHIFT EQU 8 ;FROM 16 BIT VEL TYPE TO 32 BIT OVEL TYPE
LASTCARPART EQU 31 ;OPARTNUM FIELD
FIRSTNSPART EQU 64 ;OPARTNUM FIELD 64..128 (FIRST 4 FOR WHEELS)
FIRSTNSNONWHEEL EQU 68 ;OPARTNUM NON WHEEL
MISSILEPART EQU FIRSTNSNONWHEEL
SHADOWPART EQU -1 ;OPARTNUM FIELD MUST BE NEG
TOTAREAS EQU 8 ;
DAMAREAS EQU 8 ;DAMAGE AREAS -- CHANGE WITH CAUTION
TIREAREAS EQU 4 ;HIT TEST AREAS THAT ARE TIRES
MPYSCALE EQU 8 ;SHIFT RESULT OF MPY WITH INVSCALE TO 16 BITS
DIR180 EQU 80H ;ADD TO GET 180 DEGREE
SPINFRACSHIFT EQU 2 ;BITS OF FRACTION IN CDSPIN & CDSPINDROP
M_SHADCTRLAND EQU 0FFF0FFFFH
M_SHADCTRLOR EQU DMACNZ<<16
M_SHADCTRLOFF EQU 07FFFFFFFH
ICONZOFF EQU SCRHGHT ;ANY VAL >= SCREEN HEIGHT
SHADZOFF EQU SCRHGHT*2 ;ANY VAL >= SCREEN HEIGHT
TURBOFRACSHIFT EQU 8 ;FRACTIONAL TURBO BITS
TURBOSINGLE EQU 100H ;VALUE FOR ONE TURBO
TURBOSINGLEMAX EQU 10 ;MAX ALLOWABLE TURBOS
NODAMAGE EQU 255 ;VALUE FOR COMPLETELY HEALTHY CAR
TURBOBONUSTIME EQU ONESECOND*5 ; FRAMES
TIRE_LEFTFRONT EQU 0
TIRE_LEFTBACK EQU 1
TIRE_RIGHTFRONT EQU 2
TIRE_RIGHTBACK EQU 3
* EOF