************************************************************************** * * GAME.INC * ALL .EQU CONSTANTS TO BE USED THROUGHOUT THE GAME * *.Last mod - 11/19/91 21:13 ************************************************************************** ;ENEMY VALUES FOR WAVE_INFO TABLE HULK .EQU 1 ;GRUNT ENEMY TANK .EQU 2 ;MINE LAYER AHMD .EQU 3 ;AHMED FLAME THROWER AT72 .EQU 4 ;T72 SPAWN JEEPS .EQU 5 ;SPAWN JEEPS, LEVEL #=X POSITION RNG FND .EQU 6 ;SPAWN FIEND FROM OFF SCREEN SKIPR .EQU 7 ;SPAWN SKIPPER GRUNT SNEUT .EQU 8 ;SMALL NEUTRON BOMB RUNNRS .EQU 9 ;BONUS HOSTAGES RUNNING DOWN SCREEN ORC .EQU 10 ;ORCUS BOSS SNEUT2 .EQU 11 ;LOTS OF SMALL NEUTRON BOMBS JEEPS2 .EQU 12 ;LOTS OF JEEPS ON ROAD MOM .EQU 13 ;MOM SPIDER MISL .EQU 14 ;SHAWN MISSILE HJEEP .EQU 15 ;HZ JEEP ; PLYR2_ID .EQU 11 ; ;POINTS FOR ALL ENEMIES, ETC. ; PLSRPTS .EQU >100 ;PLEASURE DOME CASH PTS DEARM .EQU >300 KEYPT .EQU >50 HLKPT .EQU >30 FNDPT .EQU >80 AHMDPT .EQU >125 CRTPT .EQU >30 ;CRATE/BARREL PTS FOR SHOOTING CRTPT2 .EQU >275 ;CRATE/BARREL PTS FOR WALKING INTO! MINEPT .EQU >50 BTNKPT .EQU >350 ;BIG TANK POINTS (T72) JEEPPT .EQU >150 ;JEEP POINTS HITPT .EQU >1 ;BIG STUFF GETS HIT WITH A BULLET LAYPT .EQU >125 ;MINE LAYER GATEPT .EQU >350 ;POINTS FOR BLOWING A GATE OPEN TURTPT .EQU >100 ;POINTS FOR ALL TURRET TYPE GUNS DISHPT .EQU >650 ;DISH OR REACTOR JETPT .EQU >650 ;JETS - ADDS IN DISHPT ALSO! EGGPT .EQU >50 SHOCKPT .EQU >2000 ;SURVIVED SHOCK SCENE ; PCSMAX .EQU 85 ;CHUNKS UP INTO AIR ;85 ; ;BULLET LAYOUT BLTDIR .EQU PDATA ;UHW AGE .EQU PDATA+16 ;UHW GTMP .EQU PDATA+32 ;UHW - PNTR INTO CY TABLE FOR GRENADE MYPLYR .EQU PDATA+48 ;UHW PLAYER 1 OR 2 FIRED ME=1 OR 2 ;THE RINGS USE BULLET LAYOUT WITH SOME ADDED FIELDS: DELAY .EQU PDATA+64 ;UHW DELAY FOR Y UPDATE PNTR .EQU PDATA+80 ;UHW PNTR INTO Y UPDATE TABLE FROM_TSO .EQU PDATA+96 ;UHL FROM TORSO TIME .EQU PDATA+128 ;UHW TIME RINGS STAY ON ;TORSO PDATA STRUCTURE *STRUCT PLYR TSO_PTR .EQU PDATA ;UHL TORSO FOR THESE LEGS DELYDET .EQU PDATA+32 ;96 ;UHW DELAY KILL TAKE OUT!!! ;MYPLYR .EQU PDATA+48 ;UHW PLAYER 1 OR 2 FIRED ME=1 OR 2 PNUM .EQU PDATA+48 ;224 ;UHW 1 OR 2 FOR PLAYER NUMBER STICK .EQU PDATA+64 ;UHL STICK ADDRESS OSHTDIR .EQU PDATA+112 ;UHW OLD SHOT DIR P_DIR .EQU PDATA+128 ;UHW PLAYER DIR OLD_P_DIR .EQU PDATA+144 ;UHW OLD DIR WPN_TYP .EQU PDATA+160 ;UHW WEAPON TYPE REV_P_DIR .EQU PDATA+176 ;UHW REV DIR SHOOT_FLAG .EQU PDATA+192 ;UHW SHOOT FLAG TMP_P_DIR .EQU PDATA+208 ;UHW TEMP P1 DIR LEG_PTR .EQU PDATA+224 ;32 ;UHL LEGS IMG FOR THIS TORSO REV_FLAG .EQU PDATA+256 ;UHW FLAG DEAD .EQU PDATA+272 ;UHW DEAD FLAG SHOTCNT .EQU PDATA+288 ;UHW AMMO CNT FOR POWERUP WPN HAVE_REV .EQU PDATA+304 ;240 ;UHW FLAG ;TSHOTS .EQU PDATA+304 ;UHW TOTAL SHOTS FIRED LEG_PRC .EQU PDATA+320 ;UHL LEG PROCESS PTR LSRPTR .EQU PDATA+352 ;UHL HELPER PTR OR 0 IF NONE KILLERO .EQU PDATA+384 ;UHL KILLER IMG PNTR *ENDSTRUCT ;LEGS PDATA STRUCTURE ;TSO_PTR .EQU PDATA ;UHL TORSO FOR THESE LEGS ;LEG_PTR .EQU PDATA+32 ;UHL LEGS IMG FOR THIS TORSO TSO_PRC .EQU PDATA+96 ;UHL TORSO PROCESS FOR THESE LEGS SHOECNT .EQU PDATA+128 ;UHW SHOES ON TIMER SVSHO .EQU PDATA+144 ;UHW SAVE SHOE CNT FOR NEXT WAVE TCH_WALL .EQU PDATA+160 ;UHW TOUCH WALL FLAG 1=YES SHOEV .EQU PDATA+176 ;UHW SHOE VERSION FOR STANDING ;LEG_PTR .EQU PDATA+224 ;32 ;UHL LEGS IMG FOR THIS TORSO ; ;PROCESS ID'S ; INTROPID .EQU 100 JOYPID .EQU 101 CHNKPID .EQU 102 LAYPID .EQU 103 DELPID .EQU 104 FLGPID .EQU 105 BMBPID .EQU 106 TARGPID .EQU 107 DROPPID .EQU 108 CYCPID .EQU 109 BUYINPID .EQU 110 ARWPID .EQU 111 AMDEPID .EQU 112 GMEOVPID .EQU 113 SCRPID .EQU 114 PLY1PID .EQU 115 ;PLAYER 1 STUFF PLY2PID .EQU 116 ;PLAYER 2 STUFF P1PID .EQU 117 P2PID .EQU 118 COLPID .EQU 119 ;COLLISIONS COLRPID .EQU 120 ;COLOR CYCLE FROM INTERRUPT DG1PID .EQU 121 ;CNTDWN DIGIT PROC DG2PID .EQU 122 ;CNTDWN DIGIT PROC FADEPID .EQU 123 ;SOUND FADER CP_PID1 .EQU 124 CP_PID2 .EQU 125 LC_PID .EQU 126 RC_PID .EQU 127 CC_PID .EQU 128 SLAM_PID .EQU 129 DIAG_PID .EQU 130 P1SWPID .EQU 131 P2SWPID .EQU 132 DUM_ID .EQU 133 B1PID .EQU 134 B2PID .EQU 135 RCYC1PID .EQU 136 RCYC2PID .EQU 137 ICONPID .EQU 138 BULPID .EQU 139 RNG1PID .EQU 140 ;RINGS TEMPPID .EQU 141 HULKPID .EQU 142 TP2PID .EQU 143 LORDPID .EQU 144 T72PID .EQU 145 FNDPID .EQU 146 RNG2PID .EQU 147 ;RINGS 2 SECDR .EQU 148 CMAN .EQU 149 BLOWPID .EQU 150 FUTUREPID .EQU 151 ;FOR PROCS THAT WAKE UP IN FUTURE HSTGPID .EQU 152 SHOTPID .EQU 153 SHRPPID .EQU 154 GIPID .EQU 155 AHMDPID .EQU 156 POWPID .EQU 157 MAPPID .EQU 158 WARPPID .EQU 159 TESTPID .EQU 160 FUTRPID .EQU 161 ;FOR PROCS THAT WAKE UP IN FUTURE MADPID .EQU 162 ;MADMAN PROCS BMBLT1PID .EQU 163 BMBLT2PID .EQU 164 shawnpid .equ 165 FLMPID .EQU 166 FIXPID .EQU 167 NEUTPID .EQU 168 JEEPID .EQU 169 PONDPID .EQU 170 JETPID .EQU 171 BOOBPID .EQU 172 NEUT2PID .EQU 173 SCROLL_FIX .EQU 174 HNTPID .EQU 175 BLNKPID .EQU 176 HELPPID .EQU 177 HISCPID .EQU >200 BOMBNPID .EQU >300 FRYPID .EQU >400 BOSSPID .EQU >500 SHRAPPID .EQU >600 ;Msl shrapnel MSLSLOWPID .equ >700 ;Slow missile ANIMPID .equ >4000 ;Animation PIDs (256) ANIMPID2 .equ >4100 ;Animation2 PIDs (256) ANIMPID3 .equ >4200 ;Animation3 PIDs (256) ANIMPID4 .equ >4300 ;Animation4 PIDs (256) ; ;OBJECT ID'S ; ;**** OBJECT IDENTIFIER FIELDS B_CLASS .set 15 F_CLASS .set >E000 CLSNEUT .EQU >0000 ;NEUTRAL ITEMS CLSDEAD .EQU >2000 ;OBJECTS THAT DELETE THEMSELVES CLSANIM .EQU >3800 ;Animation class objects CLSPLYR .EQU >4000 ;PLAYERS STUFF CLSENMY .EQU >8000 ;ENEMIES ; TYPNEUT .EQU 0000H ;TYPE NEUTRAL TYPPLYR .EQU 0100H ;PLAYER TYPPLBL .EQU 0200H ;PLAYER BULLET TYPTRUNK .EQU 0300H ;TREE TRUNK TYPE ITEMS TYPGATE .EQU 0400H ;GATES/DOORS TYPBOMB .EQU 0500H ;TIME BOMB EXPLOSION TYPHSTG .EQU 0600H ;HOSTAGES TYPTEXT .EQU 0700H ;TYPE TEXT TYPICON .EQU 0800H ;POWERUP ICON TYPCRTE .EQU 0900H ;CRATE/BRLS TYPHULK .EQU 0A00H ;HULKS TYPFND .EQU 0B00H ;FIEND TYPSHOT .EQU 0C00H ;SHOTS FROM ENEMIES TYPHLPR .EQU 0D00H ;HELPER BLADE AROUND PLYRS TYPGOO .EQU 0E00H ;GOO SHRAPNEL TYPGRW .EQU 0F00H ;GROW FROM SLIME TYPT72 .EQU 1000H ;T72 TANK IN DESERT TYPTORSO .EQU 1100H ;TORSO ON TOP OF TANK TYPLAYR .EQU 1200H ;MINE LAYER TYPAHMD .EQU 1300H ;AHMED FLAME THROWER TYPFACE .EQU 1400H ;Orcus TYPSL .EQU 1500H ;SHAWN TYPE ENEMIES TYPMINE .EQU 1700H ;LAND MINE ON GROUND TYPJET .EQU 1800H ;JET TYPABOSS .EQU 1900H ;Akhboob's flying death machine TYPBOLT .EQU 1A00H ;BOLT OF ELECTRICITY TYPFLAG .EQU 1B00H ;CHECKPOINT US FLAG *Orcus subtypes SUBSIDEL .equ 1 SUBSIDER .equ 2 SUBTUNG .equ 3 SUBFLAM .equ 4 SUBHD .equ >10 ;>These have graphic deaths SUBSHLDL .equ >11 SUBSHLDR .equ >12 SUBEL .equ >13 SUBER .equ >14 SUBMTHL .equ >15 SUBMTHR .equ >16 SUBARML .equ >17 SUBARMR .equ >18 *TYPSL subtypes SUBSB .equ 0 SUBSM .equ 1 SUBMSL .equ 2 SUBSHRAP .equ 3 *TYPABOSS subtypes SUBABBACK .equ 1 SUBABBL .equ 8 SUBABBR .equ 9 ; ;SUB MINE LAYER ; SUBFLM .EQU 01H ;MINE LAYER SWAPS TO THIS OID ; ;SUB HELPER ; SUBLAY .EQU 01H ;MINE LAYER SWAPS TO THIS OID ; ;SUB CRATE ; SUBCRT .EQU 02H SUBBRL .EQU 04H ;BARREL ;SUB TANK ; SUBTK .EQU 01H ;TANK PORTION OF T72 TANK SUB60 .EQU 02H ;TOSRO IS FROM BTR60 SUBPIT .EQU 04H ;GUNNER FROM SAND PITS SUBBOOB .EQU 08H ;BOOB SHIP TURRET ; ;SUB HOSTAGE TYPES ; ;SUBGUYA .EQU 01H ;SUBGUYB .EQU 02H ;SUBGUYC .EQU 03H ;SUBGUYD .EQU 04H SUBRUN .EQU 05H ; ;TYPE PLAYER SUB TYPES ; SUBPL_1 .EQU 0001H ;PLAYER 1 SUBPL_2 .EQU 0002H SUBRNG1 .EQU 0003H ;RINGS FOR PLAYER 1,2 SUBHLPME .EQU 0004H ;BLADE SPINNING AROUND PLYR ; ;TYPE PLAY BULLET SUB TYPES ; SUBLZR .EQU 0001H ;REGULAR LAZER SHOTS SUBSPRY .EQU 0002H ;SPRAY SUB TYPE SUBFIRE1 .EQU 0003H ;FIRE BALL WPN SUBGRND .EQU 0004H ;GRENADE SUBNOSTP .EQU 0005H ;NON STOPPING BULLET SUBSPDG1 .EQU 0006H ;MACHINE GUN TYP WPN SUBTHROW .EQU 0007H ;BIG GREEN FLAME THROWER ; ;TYPE ICON SUB TYPES ; SUBFIRE .EQU 0001H ;FIRE BALL ICON SUBSPRY1 .EQU 0002H ;SPRAY BULLETS ICON SUBSPDG .EQU 0003H ;MACHINE GUN TYP ICON SUBMAN .EQU 0004H ;EXTRA MAN ICON SUBGREN .EQU 0005H ;GRENADE SUBRING .EQU 0006H ;RING ICON SUBNSTP .EQU 0007H ;NON STOPPING BULLETS ICON SUBKEY .EQU 0008H ;KEY ICON SUBSHOE .EQU 0009H ;SHOE ICON SUBSMRT .EQU 000AH ;SMART BOMB SUBBMB .EQU 000BH ;EXTRA BOMBS SUBCSH .EQU 000CH ;JEWEL ITEMS SUBHLP .EQU 000DH ;HELPER SUBBLET .EQU 000EH ;BOMBLETS ICON SUBSEGG .equ 0010H ;Spider egg SUBBOMBSN .equ 0011H ;Small neutron bomb ;TYPE NEUTRAL SUB TYPES SUBARW .EQU 0001H ;ARROW ID SUBUP .EQU 0002H ;OVERHEAD ITEMS SUBUP2 .EQU 0003H ;OVERHEAD ITEMS AFTER VEL SET SUBCHNK .EQU 0004H ;CHUNK PC SUBCHNK2 .EQU 0005H ;CHUNK PC ;TYPE TEXT SUB TYPES SUBTXT .EQU 0001H ;TEXT ID SUBP1TXT .EQU 0002H ;P1 TEXT SUBP2TXT .EQU 0003H ;P2 TEXT SUBP1LVS .EQU 0004H ;ID FOR P1 LIVES DIGIT SUBWNDW .EQU 0005H ;BIG BOX WINDOW ID SUBNEW .EQU 0006H ;NEWOID FOR WAVES SUBTIME .EQU 0007H ;BTIME ID SUBMES1 .EQU 0008H SUBMES2 .EQU 0009H SUBGOTXT .EQU 000AH ;GAME OVER TEXT SUBSCOR .EQU 000BH ;SCORE ID SUBP2LVS .EQU 000CH ;ID FOR P2 LIVES DIGIT SUBDG1I .EQU 000DH ;CNTDWN PLYR1 SUBDG2I .EQU 000EH ;CNTDWN PLYR2 ; ; B_TYPE .set 12 F_TYPE .set >1F00 B_PLYR .set 6 F_PLYR .set >00C0 B_PLYR1 .set 6 B_PLYR2 .set 7 B_SUBT .set 5 F_SUBT .set >003F PLIST_ID .EQU 1000H JOYLFT .EQU 2 JOYRGT .EQU 3 JOYUP .EQU 0 JOYDN .EQU 1 ; BIT MASKS FOR PLAYER CONTROL TESTING BMPRYTE .EQU 3 ;MOVE RIGHT,LEFT,DOWN,UP (LSB) BMPLEFT .EQU 2 BMPDOWN .EQU 1 BMPUP .EQU 0 ;YUNIT EQUATES BMPFRYTE .EQU 7 ;FIRE RIGHT,LEFT,DOWN,UP (MSB) BMPFLEFT .EQU 6 BMPFDOWN .EQU 5 BMPFUP .EQU 4 ; BITS USED IN PLAYER CONTROLS (1=ACTIVE) PRYTE .EQU 8 PLEFT .EQU 4 PDOWN .EQU 2 PUP .EQU 1 ;YUNIT EQUATES FOR JOYSTICK PFRYTE .EQU 80H PFLEFT .EQU 40H PFDOWN .EQU 20H PFUP .EQU 10H ; ;*GAME STATE CONSTANTS INGAME .EQU 10H ININTRO .EQU 18H INAMODE .EQU 30H INDIAG .EQU 40H INGAMEOV .EQU 50H STOPOBJ .EQU 60H ; IBUYINS .EQU 8000 ;NUMBER OF BUYINS ALLOWED BBUYIN .EQU 19 ;TIME TO BUY IN * ;*ASCII FONT MISCELLANEOUS EQUATES F15SP EQU 7EH ;FONT 15 SP CHARACTER, FOR HS ENTRY F15RUB EQU F15SP+1 ;FONT 15 RUB CHARACTER,FOR HS ENTRY F15END EQU F15RUB+1 ;FONT 15 END CHARACTER,FOR HS ENTRY F15RQUOT EQU F15END+1 ;FONT 15 RIGHT QUOTE ************************************************************ * * * PLAYER DATA STRUCTURE * * ALL OFFSETS ARE 32 BITS FOR MASS MOVES. * * * ************************************************************ POBJ .EQU 00H ;PLAYER OBJECT BLOCK PSCRAD .EQU 20H ;PLAYER SCORE SCREEN ADDRESS PSCORE .EQU 40H ;PLAYER SCORE TSHOTS .EQU 60H ;TOTAL SHOTS FIRED TMINEDTH .EQU 70H ;LAND MINE DEATHS! TBIGSTF .EQU 80H ;TOTAL BIG STUFF DESTROYED TMISLS .EQU 90H ;TOTAL MISSILE STRIKES TEARNED .EQU 0A0H ;TOTAL EXTRA MEN EARNED (SCORE/ICONS) TWPNS .EQU 0B0H ;TOTAL WEAPONS PICKED UP BMBSUSED .EQU 0C0H ;TOTAL BOMBS/CRUISES USED WAVEPTS .EQU 0E0H ;POINTS SCORE THIS WAVE (FOR BONUS) PTSRAM .EQU 100H ;HOSTAGE PTS VALUE 0-9 PNEXTREP .EQU 120H ;NEXT REPLAY LEVEL, 32 BITS BCD PLIVES .EQU 140H ;# OF PLAYER LIVES BMB_CNT .EQU 150H ;# OF BOMBS LEFT TO USE STIMER .EQU 160H ;SCORE TIMER THSTGS .EQU 170H ;TOTAL HOSTAGES COLLECTED TFLAGS .EQU 180H ;TOTAL FLAGS PICKED UP DLY_MSG .EQU 190H ;MESSAGE DELAY CONTROL WORD CNTD .EQU 1A0H ;UHW PLAYER CONTINUE FLAG/CNTDWN FLAG LVADDR .EQU 1C0H ;ADDRESS OF LIVES IMG FOR DMA SCRBRD MESSAGE .EQU 1E0H ;ADDRESS OF CORRECT COIN IN MESSAGE CASHCNT .EQU 200H ;UHW GEMS PICKED UP THITS .EQU 210H ;UHW TOTAL SUCCESSFULL SHOTS FIRED TKEYS .EQU 220H ;UHW TOTAL KEYS COLLECTED PDEND .EQU 230H ;END OF PLAYER DATA PDSIZE .EQU PDEND ;SIZE OF PLAYER DATA BLOCK ***************************************************************************** ***************************************************************************** *****************************************************************************