231 lines
9.9 KiB
Plaintext
231 lines
9.9 KiB
Plaintext
**************************************************************************
|
||
* *
|
||
* ToddView Structure Declarations *
|
||
* *
|
||
**************************************************************************
|
||
*
|
||
* OBJECT BLOCK STRUCTURE
|
||
*
|
||
*struct OBJ
|
||
OLINK .SET 0 ;UHL Link to next object block (32)
|
||
OSLINK .SET 20H ;UHL SPECIAL LINK TO OBJECTS IN CLASS (32)
|
||
OXVEL .set 40h ;UHL X VELOCITY 16.16 (32)
|
||
OYVEL .set 60h ;UHL Y VELOCITY 16.16 (32)
|
||
OXVAL .set 80h ;UHL X POSITION (32)
|
||
OXPOS .set 90h ; Integer portion of X position (16)
|
||
OYVAL .set 0A0h ;UHL Y POSITION (32)
|
||
OYPOS .SET 0B0h ; Integer portion of Y position (16)
|
||
OZVAL .SET 0C0H ;UHL Z POSITION (32)
|
||
OZPOS .SET 0D0h ; Integer portion of z position (16)
|
||
OZVEL .set 0E0h ;UHL Z VELOCITY (32)
|
||
OFLAGS .set 100H ;UHW DMA CONTROL (16)
|
||
OFSET .SET 110H ;UHW PRECOMPUTED DMA OFFSET (16)
|
||
OSAG .SET 120H ;UHL SOURCE ADDRESS (UNCLIPPED, ADJUSTED FOR FLIPS) (32)
|
||
OSIZE .SET 140H ;UHL [H,W] OF OBJECT (32)
|
||
OSIZEX .EQU 140H ; X SIZE OF OBJECT (16)
|
||
OSIZEY .EQU 150H ; Y SIZE OF OBJECT (16)
|
||
OPAL .set 160h ;UHW PALETTE # OF OBJECT (16)
|
||
OCONST .SET 170H ;UHW CONSTANT COLOR SUBSTITUTE (16)
|
||
OIMG .set 180h ;UHL Pointer to image data table (32)
|
||
OID .set 1A0H ;UHW Object ID (16)
|
||
OZSIZ .SET 1B0H ;UHL [PLUS,MINUS] Z THICKNESS (32)
|
||
OZMINUS .SET 1B0H ; Thickness along minus Z (16)
|
||
OZPLUS .SET 1C0H ; Thickness along plus Z (16)
|
||
OCVECT .set 1D0H ;UHL Link to collision handler (32)
|
||
OPLINK .set 1F0H ;UHL Link to controlling process (32)
|
||
ODMAXY .SET 210H ;UHL [Y,X] SCREEN COORDINATE OF OBJECT (32)
|
||
ODMAX .EQU 210H ; X COORDINATE (16)
|
||
ODMAY .EQU 220H ; Y COORDINATE (16)
|
||
OXCLIP .SET 230H ;UHW TOTAL X PRECLIP (16)
|
||
OSHAD .SET 240H ;UHL Link to object shadow (32)
|
||
OATTRIB .SET 260H ;UHW Object attribute word (16)
|
||
OMLINK .SET 270H ;UHL Multi-part object link (32)
|
||
OBSIZ .SET 290H ;Object Block Size
|
||
*endstruct
|
||
|
||
*
|
||
*PROCESS DATA STRUCTURE
|
||
*struct PROC
|
||
PLINK .SET 0 ;UHL LINK TO NEXT
|
||
PROCID .SET 20H ;UHW PROCESS ID
|
||
PTIME .SET 30H ;UHW SLEEP TIME X 16MSEC
|
||
PSPTR .SET 40H ;UHL PROCESS STACK POINTER
|
||
PDATA .SET 60H ;UHL PROCESS DATA STORE
|
||
*endstruct
|
||
|
||
*
|
||
*PROCESS VARIABLE STORAGE AREAS
|
||
*struct DINO+PROC
|
||
DATABLE .EQU PDATA ;UHL DINOSAUR ANIMATION TABLE
|
||
DVEL .EQU PDATA+20H ;UHL DINOSAUR X&Y VELOCITY
|
||
DSMULT .EQU PDATA+40H ;UHW DINOSAUR SLEEP MULTIPLIER
|
||
DDIR .EQU PDATA+40H ;UHW DINOSAUR CURRENT DIRECTION
|
||
DOID .EQU PDATA+60H ;UHW THIS DUDES OID
|
||
DPLAYER .EQU PDATA+70H ;UHL PLAYER CONTROLLING THIS DINOSUAR
|
||
DINITTAB .EQU PDATA+90H ;UHL DINOSAUR INITIALIZATION TABLE
|
||
DINITPOS .EQU PDATA+0B0H ;UHL DINOSAUR INITIAL POSITION
|
||
DINITDIR .EQU PDATA+0D0H ;UHW DINOSAUR INITIAL DIRECTION
|
||
DPUNCHFLG .EQU PDATA+0E0H ;UHB DINOSAUR PUNCHING FLAG
|
||
DDIZZYFLG .EQU PDATA+0E8H ;UHB DINOSAUR DOWN/DAZED FLAG
|
||
DFRUST .EQU PDATA+0F0H ;UHB GENERAL FRUSTRATION LEVEL
|
||
DD0TENSE .EQU PDATA+0F8H ;UHB TENSION LEVEL AGAINST DINO 0
|
||
DD1TENSE .EQU PDATA+100H ;UHB TENSION LEVEL AGAINST DINO 1
|
||
DD2TENSE .EQU PDATA+108H ;UHB TENSION LEVEL AGAINST DINO 2
|
||
DD3TENSE .EQU PDATA+110H ;UHB TENSION LEVEL AGAINST DINO 3
|
||
DTURNCNT .EQU PDATA+118H ;UHB # OF TURNS STORED
|
||
DTURNQM1 .EQU PDATA+0120H ;UHW TURN Q 1 MOVE
|
||
DTURNQD1 .EQU PDATA+0130H ;UHB TURN Q 1 DIR
|
||
DTURNQM2 .EQU PDATA+0138H ;UHW TURN Q 2 MOVE
|
||
DTURNQD2 .EQU PDATA+0148H ;UHB TURN Q 2 DIR
|
||
DTURNQM3 .EQU PDATA+0150H ;UHW TURN Q 3 MOVE
|
||
DTURNQD3 .EQU PDATA+0160H ;UHB TURN Q 3 DIR
|
||
DTURNQM4 .EQU PDATA+0168H ;UHW TURN Q 3 MOVE
|
||
DTURNQD4 .EQU PDATA+0178H ;UHB TURN Q 3 DIR
|
||
DBURNS .EQU PDATA+0180H ;UHB # OF TIMES BURNED THIS WAVE
|
||
DVNFLAG .EQU PDATA+0188H ;UHB IF <> 0, DON'T RETURN TO DSPEED
|
||
DSPEED .EQU PDATA+0190H ;UHW INITIAL VELOCITY STORAGE
|
||
TNEXTLOOK .EQU PDATA+01A0H ;UHB MOVES 'TIL NEXT TROG SEARCH
|
||
TTRAPPED .EQU PDATA+01A8H ;UHB TROG IS IN A TRAP
|
||
TCURMPOS .EQU PDATA+01B0H ;UHL TROG'S CURRENT MOVE POINT
|
||
TMINTL .EQU PDATA+01D0H ;UHL MINIMUM [Y,X] TOP LEFT ACHIEVED
|
||
TMAXLR .EQU PDATA+01F0H ;UHL MAXIMUM [Y,X] LOWER RIGHT
|
||
TTRAPTIME .EQU PDATA+0210H ;UHW TIME IN CURRENT TRAP
|
||
TTRAPDIG .EQU PDATA+0220H ;UHW TIME UNTIL DIG
|
||
TDINO .EQU PDATA+0230H ;UHL PTR TO DINO TROG IS CHASING
|
||
TPURSUIT .EQU PDATA+0250H ;UHB IF 1, IN PURSUIT MODE
|
||
TPRESET .EQU PDATA+0258H ;UHB STEPS 'TIL WE RESET PURSUIT
|
||
TPLAYER .EQU PDATA+0260H ;UHB PLAYER NUMBER OF DINO BEING CHASED
|
||
TSPEEDUPS .EQU PDATA+0268H ;UHB ALLOW THIS MANY MORE SPEED UPS
|
||
|
||
PCOMM .EQU PDATA + 270H ;UHW PROCESS COMMUNICATION AREA
|
||
PTEMP1 .EQU PDATA + 280H ;UHL TEMPORARY AREA
|
||
PTEMP2 .EQU PDATA + 2A0H ;UHL TEMPORARY AREA
|
||
PTEMP3 .EQU PDATA + 2C0H ;UHL TEMPORARY AREA
|
||
PTEMP4 .EQU PDATA + 2E0H ;UHL TEMPORARY AREA
|
||
*endstruct
|
||
|
||
|
||
|
||
************************************************************
|
||
* *
|
||
* PLAYER DATA STRUCTURE *
|
||
* *
|
||
************************************************************
|
||
*struct PLAYER
|
||
POBJ EQU 0000H ;UHL PLAYER OBJECT BLOCK
|
||
PSCRAD EQU 0020H ;UHL PLAYER SCORE SCREEN ADDRESS
|
||
PSCORE EQU 0040H ;UHL PLAYER SCORE
|
||
PLIVES EQU 0060H ;UHW PLAYER # OF LIVES
|
||
PPID EQU 0070H ;UHW PLAYER BASE PROCESS I.D.
|
||
PMOVEIDX EQU 0080H ;UHW CURRENT PLAYER MOVE INDEX
|
||
PMOVE EQU 0090H ;UHL PTR TO CURRENT MOVE TABLE ENTRY
|
||
PBARS EQU 00B0H ;UHW CURRENT NUMBER OF ACTIVE BARS
|
||
PINITAB EQU 00C0H ;UHL PLAYER INITIALIZATION TABLE
|
||
PSUPP EQU 00E0H ;UHL PTR TO PLAYER SUPPLEMENTAL LIST
|
||
PJOYSTCK EQU 0100H ;UHW CURRENT JOYSTICK DIRECTION BEING PROCESSED
|
||
PDINO EQU 0110H ;UHL PTR TO DINOSAUR START TABLE
|
||
PLICON EQU 0130H ;UHL PTR TO PLAYER LIFE ICON
|
||
PNEXTREP EQU 0150H ;UHL NEXT REPLAY LEVEL, 32 BITS BCD
|
||
PEGGS EQU 0170H ;UHW # OF EGGS CURRENTLY HELD BY THIS PLAYER
|
||
PLASTMOV EQU 0180H ;UHW LAST LEGAL MOVE LOCATION
|
||
PINITMOV EQU 0190H ;UHW INITIAL MOVE FOR THIS WAVE
|
||
PENTER EQU 01A0H ;UHW IF = 1, PLAYER WILL ENTER GAME @ NEXT INPLAY
|
||
PWINS EQU 01B0H ;UHW NUMBER OF WINS THIS GAME
|
||
PPALID EQU 01C0H ;UHL PLAYER PALETTE I.D.
|
||
PWAVEST EQU 01E0H ;UHW NUMBER OF PLAYER STARTS THIS WAVE
|
||
PLASTEGG EQU 01F0H ;UHL WAVE TIME OF LAST EGG PICKUP
|
||
PLASTDTH EQU 0210H ;UHL ELAPSED TIME SINCE LAST PLAYER DEATH
|
||
PLASTWIN EQU 0230H ;UHW LAST WAVE WON BY PLAYER
|
||
PEXITPNT EQU 0240H ;UHL PTR TO PLAYER FIRST EXIT POINT
|
||
PDEAD EQU 0260H ;UHW 1 IF DEAD MESSAGE UP
|
||
PDINOCNT EQU 0270H ;UHW NUMBER OF ACTIVE DINOS FOR THIS PLAYER
|
||
PDTHPOS EQU 0280H ;UHL [Y,X] RETURN POINT LAST DINO DEATH
|
||
PLASTJOY EQU 02A0H ;UHW LAST JOYSTICK EVENT
|
||
PBOZO EQU 02B0H ;UHW BOZO LEVEL, > 0 = SOME SORT OF BOZO
|
||
PWAVEDEATHS EQU 02C0H ;UHW NUMBER OF DEATHS THIS WAVE
|
||
PEGGSTHISLIFE EQU 02D0H ;UHW NUMBER OF EGGS COLLECTED THIS LIFE
|
||
PTROGKILLS EQU 02E0H ;UHW TIMES THIS PLAYER HAS WASTED TROG
|
||
PCONSECUTIVE EQU 02F0H ;UHW CONSECUTIVE WAVE PLAYED
|
||
PWAVES EQU 0300H ;UHW NUMBER OF WAVES PLAYED THIS GAME
|
||
PEXTRAS EQU 0310H ;UHW NUMBER OF EXTRA MEN EARNED THIS GAME
|
||
PTOTTIME EQU 0320H ;UHW TOTAL TIME THIS CREDIT
|
||
PITIME EQU 0330H ;UHW TIME LEFT FOR ENTERING INITIALS
|
||
PWAVETIME EQU 0340H ;UHL TIME THIS PLAYER HAS SPENT ON THIS WAVE
|
||
PDTHFLAG EQU 0360H ;UHW 1 IF THE GUY IS DEAD
|
||
PLIFETIME EQU 0370H ;UHW TIME THIS GUY AS BEEN ALIVE
|
||
PSPEEDTIME EQU 0380H ;UHW TIME 'TIL NEXT SPEED UP
|
||
PEXTRAEARN EQU 0390H ;UHW EXTRA MEN EARNED THIS WAVE
|
||
PDRONEFLG EQU 03A0H ;UHW IF <> 0 THEN THIS IS A DRONE PLAYER
|
||
PSTARTESC EQU 03B0H ;UHW FLAG TO SHOW START BUTTON ACTION
|
||
PEGGOUT EQU 03C0H ;UHW IF <> 0, THIS GUYS EGGS HAVE BEEN PLACED
|
||
PNOMOVE EQU 03D0H ;UHW IF <> 0, THEN DON'T ALLOW HAND MOVEMENT
|
||
PNODRAW EQU 03E0H ;UHW IF <> 0, THEN DON'T ALLOW BONE DRAWING
|
||
PJOYESC EQU 03F0H ;UHW FLAG TO SHOW JOYSTICK MOVEMENT
|
||
PSWITCHESC EQU 0400H ;UHW FLAG TO SHOW BUTTON ACTION
|
||
PDINOSTOP EQU 0410H ;UHW IF <> 0, THEN STOP THIS GUYS DINO
|
||
PINSTRUCT EQU 0420H ;UHW IF <> 0, THEN DINO IS IN INSTRUCTIONAL MODE
|
||
PBONEHIT EQU 0430H ;UHW IF <> 0, THEN DINO HIT A BONE IN INSTRUCTIONS
|
||
PSTARTS EQU 0440H ;UHW # OF STARTS THIS GAME
|
||
*endstruct
|
||
|
||
**************************************************************************
|
||
* *
|
||
* MOVE MAP ENTRY *
|
||
* *
|
||
**************************************************************************
|
||
*struct MOVEENTRY
|
||
MOVEPOS EQU 0 ;UHL POSITION OF THIS MOVE POINT (32)
|
||
MOVEREL EQU 20H ;START OF MOVE RELATIONSHIPS
|
||
MOVEUP EQU 20H ;UHW NEXT UP (16)
|
||
MOVEDN EQU 30H ;UHW NEXT DOWN (16)
|
||
MOVELF EQU 40H ;UHW NEXT LEFT (16)
|
||
MOVERT EQU 50H ;UHW NEXT RIGHT (16)
|
||
MOVEUL EQU 60H ;UHW NEXT UP/LEFT (16)
|
||
MOVEUR EQU 70H ;UHW NEXT UP/RIGHT (16)
|
||
MOVEDL EQU 80H ;UHW NEXT DOWN/LEFT (16)
|
||
MOVEDR EQU 90H ;UHW NEXT DOWN/RIGHT (16)
|
||
MOVETYPE EQU 0A0H ;UHB TYPE(0=H,1=V,2=THRU,FF=NOT VALID) (8)
|
||
MOVEPLYR EQU 0A8H ;UHB WALL OF PLAYER # (0-3,FF=UNOCCUPIED)(8)
|
||
MOVEDSRCH EQU 0B0H ;UHB DINO SEARCH FLAG, 0=NOT CHECKED (8)
|
||
MOVERES1 EQU 0B8H ;UHB RESERVED (8)
|
||
MOVECPTR EQU 0C0H ;UHL PTR TO CORRESPONDING CENTER MOVE (32)
|
||
MOVEAPTR EQU 0E0H ;UHL PTR TO CORRESPONDING AUXILARY MOVE (32)
|
||
MOVEEPTR EQU 100H ;UHL PTR TO CORRESPONDING EXIT MOVE (32)
|
||
*endstruct
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CENTER POINT LIST ENTRY *
|
||
* *
|
||
**************************************************************************
|
||
*struct CMOVEENTRY
|
||
CMOVEPOS EQU 0H ;UHL POSITION OF THIS CENTER MOVE POINT
|
||
CMOVEEGG EQU 20H ;UHB PLAYER EGG # ON THIS POINT (FF = UNOCC)
|
||
CMOVETROG EQU 28H ;UHB TROG OBSTRUCTION
|
||
CMOVEMPTR EQU 30H ;UHL PTR TO CORRESPONDING MOVE
|
||
*endstruct
|
||
|
||
*
|
||
*PALETTE ENTRY DATA STRUCTURE
|
||
*struct PALETTE
|
||
PALID .SET 0 ;UHL PALETTE I.D.
|
||
PALCNT .SET 32 ;UHW PALETTE ALLOCATION COUNT
|
||
*endstruct
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|