trog/TROGAEQU.ASM

187 lines
8.3 KiB
NASM
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.

**************************************************************************
* *
* ANIMATION AND PROCESS EQUATES *
* *
**************************************************************************
*
*ANIMATION TABLE INDICES THESE FOLLOW (UP = 0,DOWN = 1,LEFT = 2,RIGHT = 3)
TURNUL .EQU 4 ;TURN UP FROM LEFT
TURNRU .EQU 5 ;TURN RIGHT FROM UP
TURNDR .EQU 6 ;TURN DOWN FROM RIGHT
TURNLD .EQU 7 ;TURN LEFT FROM DOWN
TURNLU .EQU 8 ;TURN LEFT FROM UP
TURNDL .EQU 9 ;TURN DOWN FROM LEFT
TURNRD .EQU 0AH ;TURN RIGHT FROM DOWN
TURNUR .EQU 0BH ;TURN UP FROM RIGHT
DEATH_UP .EQU 0CH ;DEATH WHILE GOING UP
DEATH_DOWN .EQU 0DH ;DEATH WHILE GOING DOWN
DEATH_LEFT .EQU 0EH ;DEATH WHILE GOING LEFT
DEATH_RIGHT .EQU 0FH ;DEATH WHILE GOING RIGHT
ABOUTUL .EQU 10H ;ABOUT FACE FROM UP VIA LEFT
ABOUTUR .EQU 11H ;ABOUT FACE FROM UP VIA RIGHT
ABOUTDL .EQU 12H ;ABOUT FACE FROM DOWN VIA LEFT
ABOUTDR .EQU 13H ;ABOUT FACE FROM DOWN VIA RIGHT
ABOUTLU .EQU 14H ;ABOUT FACE FROM LEFT VIA UP
ABOUTLD .EQU 15H ;ABOUT FACE FROM LEFT VIA DOWN
ABOUTRU .EQU 16H ;ABOUT FACE FROM RIGHT VIA UP
ABOUTRD .EQU 17H ;ABOUT FACE FROM RIGHT VIA DOWN
STANDU .EQU 18H ;STAND FACING UP
STANDD .EQU 19H ;STAND FACING DOWN
STANDL .EQU 1AH ;STAND FACING LEFT
STANDR .EQU 1BH ;STAND FACING RIGHT
CHEER1 .EQU 1CH ;CELEBRATION CHEER #1
CHEER2 .EQU 1DH ;CELEBRATION CHEER #2
CHEER3 .EQU 1EH ;CELEBRATION CHEER #3
CHEER4 .EQU 1FH ;CELEBRATION CHEER #4
MADU .EQU 20H ;MAD FACING UP
MADSNDU .EQU 24H ;MAD FACING UP W/SOUND
QUESTION .EQU 28H ;SCRATCH HEAD, INFINITE (P0)
EYEBLINK .EQU 29H ;BLINK STUPIDLY, INFINITE (P0)
HANDWAVE .EQU 2AH ;WAVE AT THE PLAYER, INFINITE (P0)
SHRUG .EQU 2BH ;RESERVED, INFINITE (P0)
BUMPU .EQU 2CH ;BUMP HEAD-ON FACING UP
PUNCHU .EQU 30H ;PUNCH FACING UP
OOFU .EQU 34H ;GET PUNCHED FACING UP
PIT_DEATH_UP .EQU 38H ;DEATH BY PIT WHILE GOING UP
INTRODUCE .EQU 3CH ;INTRODUCE THE DINOSAUR TO THE GAME
WONDER .EQU 3DH ;WONDER WHAT'S GOING ON
TARU .EQU 3EH ;STUCK IN TARPIT FACING UP
FIREU .EQU 42H ;BURNT BY FIRE FACING UP
SHAKEU .EQU 46H ;SHAKE OFF A BUMP OR HIT FACING UP
SKELU .EQU 4AH ;TURN INTO A SKELETON FACING UP
KOU .EQU 4EH ;KNOCK OUT PUNCH FROM TROG UP
OGPITU .EQU 52H ;FALL IN SMALL PIT AND DIE UP
CLUBOUTU .EQU 56H ;GET CLUBBED BY TROG UP
SQUISHUU .EQU 5AH ;SQUISH FACING UP/WHEEL ROLLING UP (5AH - 69H)
SPROINGU .EQU 6AH ;GETTING SQUASHED BY THE SPRING SHOE
LOOKBOTHU .EQU 6EH ;LOOK BOTH DIRECTIONS BEFORE CROSSING UP
EATU .EQU 72H ;EAT FACING UP
DIGU .EQU 76H ;DIG FACING UP
LAVADIEU .EQU 7AH ;DIE IN LAVA FACING UP
PUNCHOFFU .EQU 7EH ;PUNCHED OFF ISLAND UP
CLUBU .EQU 82H ;HIT GROUND WITH CLUB UP
CLUBHOLEU .EQU 86H ;HIT GROUND WITH INTENT TO CREATE HOLE UP
STOKEFIREU .EQU 8AH ;STOKE A FIRE UP
WHEELU .EQU 8EH ;ROLL WHEEL UP (8EH - 91H)
SPITFIREU .EQU PUNCHOFFU ;DINO SPITTING FIRE BALLS
*
*COMMUNICATION BYTES FOR INTERACTIVE PROCESS
COMMAND_PUNCH .EQU 1 ;REACT TO PUNCH
COMMAND_FALL .EQU 2 ;FALL DOWN
ACK_DINO_PUNCH .EQU 3 ;ACKNOWLEDGE DINOPUNCH <=> DINOOOF
ACK_TROG_PUNCH .EQU 4 ;ACKNOWLEDGE DINOTROGOOF <=> TROGPUNCH
COMMAND_EAT .EQU 5 ;TAKE A BITE OF DINO MEAT
COMMAND_EAT_DONE .EQU 6 ;DONE WITH MY MEAL
ACK_TROG_EAT .EQU 7 ;ACKNOWLEDGE DINOTROGOOF <=> TROGPUNCH (EATING)
COMMAND_ESC .EQU 8 ;YOU ARE ALLOWED TO ESCAPE FROM THIS SEQUENCE
*
*TTYPE VARIABLE VALUES
*
TTYPE_NORM .EQU 0 ;NORMAL BARE HANDED TROG
TTYPE_CLUB .EQU 1 ;THE CLUB WIELDING TROG
TTYPE_WHL .EQU 2 ;THE WHEEL ROLLING TROG
TTYPE_SPRING .EQU 3 ;THE BOUNCING SPRING SHOE TROG
*
*MISC.
TRAPSIZE .EQU [48,48] ;SIZE OF TRAP AREA
TRAPTIME .EQU 60H ;TIME IN TRAP BEFORE DIGGING OUT
TRAPMINTIME .EQU 05H ;MINIMUM TRAP TIME
TRAPDEC .EQU 2 ;AMOUNT TO DECREMENT TRAP TIME
TROGTOOPISSED .EQU 8 ;TENSION AT WHICH HE WILL KILL NO MATTER WHAT
INITSPEEDUPS .EQU 6 ;# OF TIMES TROG IS ALLOWED TO INCREASE DSPEED
**************************************************************************
* *
* TROG AND DINO PROCESS VARIABLE DEFINITIONS *
* *
**************************************************************************
DATABLE .EQU PDATA ;DINOSAUR ANIMATION TABLE (BOTH) (32)
DVEL .EQU PDATA+20H ;DINOSAUR X & Y VELOCITY (BOTH) (32)
DSMULT .EQU PDATA+40H ;SLEEP MULTIPLIER (BOTH) (16)
DDIR .EQU PDATA+50H ;DINOSAUR CURRENT DIRECTION (BOTH) (16)
DOID .EQU PDATA+60H ;OID OF THIS DUDE (BOTH) (16)
DPLAYER .EQU PDATA+70H ;PLAYER CONTROLLING THIS DINOSAUR (DINO) (32)
DINITTAB .EQU PDATA+90H ;DINOSAUR INITIALIZATION TABLE (BOTH) (32)
DINITPOS .EQU PDATA+0B0H ;DINOSAUR INITIAL POSITION (BOTH) (32)
DINITDIR .EQU PDATA+0D0H ;DINOSAUR INITIAL DIRECTION (BOTH) (16)
DPUNCHFLG .EQU PDATA+0E0H ;DINOSAUR PUNCHING FLAG (BOTH) (8)
DDIZZYFLG .EQU PDATA+0E8H ;DINOSAUR DOWN/DAZED FLAG (BOTH) (8)
DFRUST .EQU PDATA+0F0H ;GENERAL FRUSTRATION LEVEL (BOTH) (8)
*IF ANY TENSE AREAS ARE ADDED, CHANGE GET_TENSION_AREA
DD0TENSE .EQU PDATA+0F8H ;TENSION LEVEL AGAINST DINO 0 (BOTH) (8)
DD1TENSE .EQU PDATA+100H ;TENSION LEVEL AGAINST DINO 1 (BOTH) (8)
DD2TENSE .EQU PDATA+108H ;TENSION LEVEL AGAINST DINO 2 (BOTH) (8)
DD3TENSE .EQU PDATA+110H ;TENSION LEVEL AGAINST DINO 3 (BOTH) (8)
****DTURNQCNT .EQU PDATA+118H ;# OF TURNS STORED IN Q (DINO) (8)
;HY NYBBLE, # OF TURNS TO SEARCH
;LO NYBBLE, OFFSET TO STORE NEXT TURN
DTURNQ .EQU PDATA+0120H ;TURN DATA STORAGE (4 ENTRIES) (DINO) (96)
*DTURNS IS A CIRCULAR Q,
*EACH ENTRY IS DEFINED AS:
****DTURNQMOVE .EQU 0 ; (DINO) (16)
****DTURNQDIR .EQU 10H ; (DINO) (8)
DTURNQSIZE .EQU 18H ;SIZE OF TURN Q ENTRY
NDTURNS .EQU 4 ;6 IS THE MAXIMUM NUMBER OF ENTRIES
TWALKFRM .EQU PDATA+0120H ;CURRENT TROG WALKING FRAME (TROG) (32)
TSWINGS .EQU PDATA+0140H ;CONSECUTIVE TROG BONE SWINGS (TROG) (8)
THITS .EQU PDATA+0148H ;CURRENT HIT POINTS (TROG) (8)
TFREEZE .EQU PDATA+0150H ;IF <> 0, ENEMY IF FROZEN (TROG) (8)
DNEXT .EQU DTURNQ+(DTURNQSIZE*NDTURNS) ;OFFSET OF VARIABLE AFTER THE TURNQ
DINVIN .EQU DNEXT ;IF <> 0 DINO IS INVINCIBLE (DINO) (8)
TTYPE .EQU DNEXT ;TROG TYPE (I.E. PLAIN, CLUB, ...) (TROG) (8)
DVNFLAG .EQU DNEXT+8 ;IF <> 0, DON'T RETURN TO DSPEED (BOTH) (8)
DSPEED .EQU DNEXT+10H ;INITIAL VELOCITY STORAGE (BOTH) (16)
TNEXTLOOK .EQU DNEXT+20H ;MOVES 'TIL NEXT TROG SEARCH (TROG) (8)
DDRONE .EQU DNEXT+20H ;IF <> 0 THIS IS A DRONE DINOSAUR (DINO) (8)
TTRAPPED .EQU DNEXT+28H ;IF <> 0, TROG JUST ESCAPED A TRAP (TROG) (8)
DDRONEDEL .EQU DNEXT+28H ;IF <> 0 & DDRONE <> 0 THEN DELETE (DINO) (8)
TCURMPOS .EQU DNEXT+30H ;TROG'S CURRENT MOVE POINT (BOTH) (32)
TMINTL .EQU DNEXT+50H ;MINIMUM [Y,X] TOP LEFT ACHIEVED (TROG) (32)
DSPEED2 .EQU DNEXT+50H ;SECOND LEVEL VEL. IF=0 USE DSPEED (DINO) (16)
DSAVES .EQU DNEXT+60H ;NUMBER OF BOZO SAVES LEFT (DINO) (16)
TMAXLR .EQU DNEXT+70H ;MAXIMUM [Y,X] LOWER RIGHT (TROG) (32)
DFURTHEST .EQU DNEXT+70H ;THE FURTHEST EGG FROM US AT START (DINO) (32)
TTRAPTIME .EQU DNEXT+90H ;TIME IN CURRENT TRAP (TROG) (16)
TTRAPDIG .EQU DNEXT+0A0H ;CURRENT DIG TIME (TROG) (16)
DINVPROC .EQU DNEXT+90H ;PTR TO INVINCIBLE PROCESS (DINO) (32)
TDINO .EQU DNEXT+0B0H ;PTR TO DINO TROG IS CHASING (TROG) (32)
DWALKFRM .EQU DNEXT+0B0H ;CURRENT DINO WALKING FRAME (DINO) (32)
TPURSUIT .EQU DNEXT+0D0H ;IF 1, IN PURSUIT MODE (TROG) (8)
DFIREFLG .EQU DNEXT+0D0H ;IF 1, DINO CAN FIRE BULLETS (DINO) (8)
TPRESET .EQU DNEXT+0D8H ;STEPS TO RESET PURSUIT FLAG (TROG) (8)
DTREXFLG .EQU DNEXT+0D8H ;IF 1, THEN DINO IS A TREX (DINO) (8)
TPLAYER .EQU DNEXT+0E0H ;PLAYER NUMBER OF DINO BEING CHASED(TROG) (8)
DSMART .EQU DNEXT+0E0H ;DINOSAUR SMARTIE PANTS FLAG (DINO) (8)
TSPEEDUPS .EQU DNEXT+0E8H ;ALLOW THIS MANY MORE SPEED UPS (TROG) (8)
DWAIT .EQU DNEXT+0E8H ;DINO WAIT TIMER (DINO) (8)
DEND .EQU DNEXT+0F0H ;END OF DINO DATA
**************************************************************************
* *
* WARNING! Make sure that DEND is Not greater than PCOMM in *
* MPROCEQU.ASM *
* *
**************************************************************************