revolution-x/GXMONDOR.H
teamarchive2.fnf.archive.org root 9980285eb4 first commit
2021-04-06 22:02:48 +00:00

236 lines
8.2 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**************************************************************************
* *
* Mondor's Master Equate File *
* *
**************************************************************************
**************************************************************************
* *
* COPYRIGHT (C) 1993 MIDWAY MANUFACTURING COMPANY. *
* ALL RIGHTS RESERVED. *
* *
**************************************************************************
*
*MONDOR OBJECT DATA DEFINITION
*
*Used by all parts, great and small
OHITS EQU ODATA ;UHL Rocket hits taken from player(s)
;0-7:P1 HITS, 8-15:P2 HITS
;16-23:P3 HITS, 24-31:P4 HITS
OMISSES EQU ODATA+020H ;UHB Number of consec. missed shots
ODAMAGE EQU ODATA+028H ;UHB Current damage level of object
OFLASHTIME EQU ODATA+030H ;UHB Time 'til unflash of object
OLASTANUM EQU ODATA+038H ;UHB Last animation number
OINVINCIBLE EQU ODATA+040H ;UHB I am invincible now!
O_BEING_DAMAGED EQU ODATA+048H ;UHB Currently being damaged.
OCHEWEDROCKET EQU ODATA+050H ;UHB Rocket flag (for explosion)
OROCKETHIT EQU ODATA+058H ;UHB Flag for rocket debounce
OCLRROCKETHIT EQU ODATA+060H ;UHB Time left 'til we clr OROCKETHIT
OCHUNK_HITS EQU ODATA+068H ;UHB Counter for hits to release chunks
OBULLET_HITS EQU ODATA+070H ;UHL Bullet hits taken from player(s)
;0-7:P1 HITS, 8-15:P2 HITS
;16-23:P3 HITS, 24-31:P4 HITS
*Used by the talking head only
OSCREAM_SND EQU ODATA+090H ;UHL Sound script used to scream
OSCREAM_SEV EQU ODATA+0B0H ;UHB Scream severity
OSCREAM EQU ODATA+0B8H ;UHB Scream level
OSCREAM_DUR EQU ODATA+0C0H ;UHB Duration of scream
OHEAD_IDLE EQU ODATA+0C8H ;UHB Idle timer for the head
OFB_PERC EQU ODATA+0D0H ;UHW % of not sending a FireBall
*Used by master parts of Mondor, Desk and FireBall
OXACCEL EQU ODATA+090H ;UHW X acceleration
*Used by the master parts of Mondor and Desk
OZACCEL EQU ODATA+0A0H ;UHW Z acceleration
OXBURN EQU ODATA+0B0H ;UHB X burn time for acceleration
OYBURN EQU ODATA+0B8H ;UHB Y burn time for acceleration
OZBURN EQU ODATA+0C0H ;UHB Z burn time for acceleration
OMOVE_TIMER EQU ODATA+0C8H ;UHB Timer until next move decision
OCENTER_FLAG EQU ODATA+0D0H ;UHB Go to center immediately
OCLRCENTER EQU ODATA+0D8H ;UHB Time left to clear center flag
OFFSCRN_TIME EQU ODATA+0E0H ;SHW Ticks totally offscreen
OPARTS_LOST EQU ODATA+0F0H ;UHB Total parts lost
OSHAKE_FIST EQU ODATA+0F8H ;UHB Flag to tell arms to shake fist
OTALK_WAIT EQU ODATA+100H ;UHW If non-zero, then don't talk
OPROJ_HIT EQU ODATA+110H ;UHB Projectile hit counter
OPROJ_CK_TIME EQU ODATA+118H ;UHB Time before checking projectile hit
ONOSET_ZVEL EQU ODATA+120H ;UHB If 1, then leave OZVEL alone
OCLRNOSETZVEL EQU ODATA+128H ;UHB Timer to clear above flag
OFDAM_GOING EQU ODATA+130H ;UHB Big damage is happening
OCLRFDAM EQU ODATA+138H ;UHB Timer to clear FDAM_GOING flag
*Used by the talking head only
OTALK_SND EQU ODATA+140H ;UHL sound to make for this sequence
OGUN_BLOWN EQU ODATA+160H ;UHB Tell Mondor a gun is gone
OMOMMY_FLAG EQU ODATA+168H ;UHB Set if Mondor used the Mommy line
*Used by the arms only
OSHOTS_TAKEN EQU ODATA+168H ;UHB Number of shot fired with this gun
*Used by all destructible Mondor parts
OPART_BLOW_FUNC EQU ODATA+170H ;UHL Function to call to blow part
*Used by all destructible desk parts
OPART_FINAL_CONT EQU ODATA+170H ;UHL Continuation for final damage animation
*Used by the master part of Mondor only
ONOARM_TIME EQU ODATA+190H ;UHW Ticks with no arms
OARM_WAIT EQU ODATA+1A0H ;UHW If non-zero, then no arm action
OLEGS_GONE EQU ODATA+1B0H ;UHB This many legs are missing
OARMS_GONE EQU ODATA+1B8H ;UHB This many arms are missing
OSPITTING_FIRE EQU ODATA+1C0H ;UHB Mondor is currently spitting fire
OTHROWING_BOMB EQU ODATA+1C8H ;UHB Mondor is currently throwing a bomb
*Used by Desk master part only
ONOGAT_TIME EQU ODATA+190H ;UHW Ticks with no guns
OGAT_WAIT EQU ODATA+1A0H ;UHW If non-zero, then no gun action
OGATS_GONE EQU ODATA+1B0H ;UHB This many guns are missing
OFIRING_MISSLE EQU ODATA+1B8H ;UHB Desk is currently firing a missle
OMISSLE_PERC EQU ODATA+1C0H ;UHW % of pausing before firing missle
OMISSLE_WAIT EQU ODATA+1D0H ;UHW Wait this much time before next missle bay opens
OMISSLE_VULNER EQU ODATA+1E0H ;UHB All missle launchers vulnerable
OMLAUNCH_GONE EQU ODATA+1E8H ;UHB This many missle launchers gone
*Used by the talking head only
OBABBLE_BITS EQU ODATA+190H ;UHW Flag bits for babbling
OLAST_CURPLYRS EQU ODATA+1A0H ;UHB Last CURPLYRS value
OTALK_FLAG EQU ODATA+1A8H ;UHB Talk if set, index for phrase
OTALK_SCRIPT EQU ODATA+1B0H ;UHL Current talk script ptr
OCUR_SCREAM EQU ODATA+1D0H ;UHL Current scream sound
OCUR_SCREAM_SEV EQU ODATA+1F0H ;UHB Current scream severity
ONUM_DONE EQU ODATA+1F8H ;UHB Number of players when saying "You are done"
*Used by the arms and gatling guns only
ONO_GET EQU ODATA+190H ;UHB If true, then don't grab gun
ORAPIDCNT EQU ODATA+198H ;UHB Current Rapid Fire count
OSHOOTCNT EQU ODATA+1A0H ;UHB Count since last attack
OBURSTCNT EQU ODATA+1A8H ;UHB Counter for Rapid fire bursts
OBARREL EQU ODATA+1B0H ;UHB Barrel toggle flag
OGUN_IN_HAND EQU ODATA+1B8H ;UHB Flag to tell us when he has a gun
*Used by projectiles only
OPROJECT_PARENT EQU ODATA+0190H ;UHL Ptr to the object that spawned us
OPROJECT_TIME EQU ODATA+01B0H ;UHB Travel time for projectile
*Used by the thrusters only
OTHRUSTER_SND EQU ODATA+0190H ;UHL Sound to make for thruster
OTHRUSTER_SNDOFF EQU ODATA+01B0H ;UHL Sound to turn thruster off
*Used by missle desk missle launcher parts only
OMISSLES_FIRED EQU ODATA+190H ;UHB Missles fired last bay opening
OFREAK_CNT EQU ODATA+198H ;UHB Freak-out count for shoulders
*Used by Josh the desk driver only
OJOSH_IDLE EQU ODATA+0C8H ;UHB Idle timer for the Joshster
OJOSH_ACTION EQU ODATA+0D0H ;UHB Action for Josh to do now
*Used by the mech-desk seat backs only
OSUB_SCRIPT EQU ODATA+190H ;UHL Current subtitle script ptr
OSUB_SND EQU ODATA+1B0H ;UHL Current sound that matches subtitle
OSUB_DURATION EQU ODATA+1D0H ;UHW Time left for this subtitle
*
*Some Mondor init equates
*
NUM_MONDOR_PARTS .EQU 21
NUM_BODY_PARTS .EQU 7 ;Legs, Arms, Head, Chest
NUM_TORSO_PARTS .EQU 2 ;Number of pieces making up the Torso
*
*SOME MORE MONDOR EQUATES
*
MONDOR_FLASH_COLOR .EQU 0101H
CRAFT_FLASH_COLOR .EQU 0303H
MAX_DAMAGE_LEVEL .EQU 3
;CHUNK_HITS .EQU 5
BULLET_HITS .EQU 15
NOARMS_PISSED .EQU 600 ;This many ticks with no arms = PISSED!
*Mondor's limits
MONDOR_ZMAX .EQU 0E000H
MONDOR_ZMIN .EQU 7000H
MONDOR_XMAX .EQU 55H
MONDOR_XMIN .EQU -55H
MONDOR_YMAX .EQU -10H
MONDOR_YMIN .EQU -18H
*Mondor's limits when forced to center
MONDOR_ZMAX_C .EQU 0B000H
MONDOR_ZMIN_C .EQU 09000H
MONDOR_XMAX_C .EQU 10
MONDOR_XMIN_C .EQU -10
MONDOR_YMAX_C .EQU -10H
MONDOR_YMIN_C .EQU -18H
MIN_FIRE_Z .EQU 0A000H ;Mondor will not breath fire unless back this far
MIN_FIRE_Z_2 .EQU 06400H ;When Mondor has no arms
*Mondor's rail has these qualities
SLED_ZACCEL .EQU 100H
SLED_ZACCEL_SRA .EQU 8
SLED_XYACCEL .EQU 4000H
SLED_XYACCEL_SRA .EQU 14
SLED_ZBRAKE .EQU 100H
SLED_ZBRAKE_SRA .EQU 8
SLED_XYBRAKE .EQU 4000H
SLED_XYBRAKE_SRA .EQU 14
SLED_ZHOVER .EQU 40H
SLED_XYHOVER .EQU 800H
*TALKING SCRIPT EQUATES
TNUM_TAKE .EQU 1
TNUM_SUSHI .EQU 2
TNUM_RIP .EQU 3
TNUM_LAUGH .EQU 4
TNUM_CMON .EQU 5
TNUM_PRAY .EQU 6
TNUM_NIGHT .EQU 7
TNUM_DEVOUR .EQU 8
TNUM_NOTHING .EQU 9
TNUM_FLESH .EQU 10
TNUM_BOOM .EQU 11
TNUM_GUTS .EQU 12
TNUM_COWARD .EQU 13
TNUM_MOMMY .EQU 14
TNUM_MONDOR .EQU 15
TNUM_DONE .EQU 16
TNUM_WORSE .EQU 17
TNUM_GETUP .EQU 18
TNUM_MORE .EQU 19
*
*SOME MECH-DESK EQUATES
*
DESK_FLASH_COLOR .EQU 3F3FH
MAX_DESK_DAMAGE_LEVEL .EQU 1
DESK_BULLET_HITS .EQU 15 ;This many bullets = 1 rocket
NOGATS_PISSED .EQU 600 ;This many ticks with no gats = PISSED!
*Desk's limits
DESK_ZMAX .EQU 11000H
DESK_ZMIN .EQU 9000H
DESK_XMAX .EQU 35H
DESK_XMIN .EQU -35H
DESK_YMAX .EQU 0
DESK_YMIN .EQU -10H
*Desk's limits when forced to center
DESK_ZMAX_C .EQU 0B000H
DESK_ZMIN_C .EQU 09000H
DESK_XMAX_C .EQU 10
DESK_XMIN_C .EQU -10
DESK_YMAX_C .EQU 0
DESK_YMIN_C .EQU -20H