176 lines
5.4 KiB
C
176 lines
5.4 KiB
C
;ODATA FOR BIG POPUP NONBOYS
|
||
|
||
OBIGPOS EQU ODATA ;UHW POSITION INDEX
|
||
;ONOTUSED EQU ODATA+010H ;UHW
|
||
OBIGYON EQU ODATA+020H ;UHL WORLD Y POPUP ON POSITION
|
||
OBIGYOFF EQU ODATA+040H ;UHL WORLD Y POPUP OFF POSITION
|
||
OBIGYVEL EQU ODATA+060H ;UHL UPWARD Y VELOCITY
|
||
|
||
;ODATA FOR NORMAL NONBOYS
|
||
|
||
OANIMCHK EQU ODATA ;UHL ANIMATION CHECK ROUTINE
|
||
OSRUNVEL EQU ODATA+020H ;UHL SIDE RUN VELOCITY
|
||
OHRUNVEL EQU ODATA+040H ;UHL HEADON RUN VELOCITY
|
||
OEFLAGS EQU ODATA+060H ;UHW ENEMY FLAGS
|
||
OHITS EQU ODATA+070H ;UHB HIT POINTS LEFT UNTIL DEATH
|
||
OSCRNOFFCNT EQU ODATA+078H ;UHB OFF SCREEN COUNT
|
||
OSHOOTCNT EQU ODATA+080H ;UHB CONTROL SHOOTING (NEG DISABLES)
|
||
;ONOTUSED EQU ODATA+088H ;UHB THIS IS THE LAST BYTE
|
||
OEDEATH EQU ODATA+0180H ;UHL ENEMY DEATH ROUTINE
|
||
ONATEROCKET EQU ODATA+01A0H ;UHL ROCKET THAT KILLED 'EM
|
||
ONATEEXPLO EQU ODATA+01D0H ;UHL EXPLOSION THAT KILLED 'EM
|
||
|
||
;UNIQUE TO GUY ON HEADON RUN OUT GUY
|
||
|
||
OXDRIFTVEL EQU ODATA+090H ;UHL X DRIFT VELOCITY
|
||
|
||
;UNIQUE TO GUY ON ROOF
|
||
|
||
OROOFXLEFT EQU ODATA+090H ;UHL LEFT X ROOF BOUNDARY
|
||
OROOFXRGHT EQU ODATA+0B0H ;UHL RIGHT X ROOF BOUNDARY
|
||
|
||
;Unique to Crate Aisle Guys
|
||
|
||
OAISLE_X_OFFSET .EQU ODATA+090H ;UHW Offset from center target
|
||
|
||
;UNIQUE TO JUNGLE SIDERUN GUYS
|
||
OXLIMIT equ ODATA+0b0h ; UHW Must Delete if travel exceeds this distance
|
||
OXORIG equ ODATA+0c0h ; UHW Where he started from
|
||
|
||
;UNIQUE TO JUNGLE GUYS
|
||
|
||
OGenObj EQU ODATA+090H ;UHL Object that generated me
|
||
UEGenObj EQU ODATA+60H ;UHL Object that I generated
|
||
UENumber equ ODATA+80h ;UHW (number of enemies I have generated)
|
||
|
||
;ENEMY FLAGS
|
||
|
||
B_ATEROCKET EQU 13 ;Flag set if NBOY hit a player rocket
|
||
B_ATTACK EQU 14 ;RESULT OF LAST ATTACK
|
||
B_SIDE EQU 15 ;DIRECTION
|
||
;0 = HEADON MOTHER FUCKER
|
||
;1 = SIDEWAYS MELLOW DUDE
|
||
M_ATEROCKET EQU 02000H
|
||
M_ATTACK EQU 04000H
|
||
M_SIDE EQU 08000H
|
||
|
||
** Pillar boy
|
||
|
||
OYSTART EQU ODATA+0D0H ;UHL STARTING UNIVERSE Y
|
||
OPILLID EQU ODATA+0D0H ;UHW which pillar are we behind
|
||
OPILLCNT EQU ODATA+0E0H ;UHW how many recreations been made
|
||
OETIME EQU ODATA+0F0H ;UHW LIFE TIME
|
||
OPILLPAL EQU ODATA+0100H ;UHL Palette
|
||
OSAVY EQU ODATA+0120H ;UHL Y of guy
|
||
|
||
;NONBOY RUNNING VELOCITIES
|
||
|
||
NB_HRUNVEL EQU -0140H ;HEADON RUN VELOCITY
|
||
|
||
NB_SRUNVEL_MIN EQU 01D000H ;SIDE RUN (TO THE RIGHT) VELOCITY
|
||
NB_SRUNVEL_MAX EQU 01F000H ;SIDE RUN (TO THE RIGHT) VELOCITY
|
||
|
||
;ANIMATION TIMING
|
||
|
||
HEADON_TIME EQU 5
|
||
SIDERUN_TIME EQU 5
|
||
LADDER_TIME EQU 6
|
||
|
||
HEADON_TIME_FUDGE EQU 3
|
||
SIDE_TIME_FUDGE EQU 3
|
||
|
||
ROOF_LEFT_BOUNDARY EQU 03D40000H-0E00000H
|
||
ROOF_RIGHT_BOUNDARY EQU 03D40000H+0E00000H
|
||
|
||
**************************************************************************
|
||
**************************************************************************
|
||
**************************************************************************
|
||
**************************************************************************
|
||
**************************************************************************
|
||
|
||
;ODATA FOR NONBOYS GENERATED BY UNIVERSE OBJECTS
|
||
;ASTERISK (*) MEANS ODATA SHARED WITH NORMAL NONBOYS
|
||
|
||
;*OANIMCHK EQU ODATA ;UHL ANIMATION CHECK ROUTINE
|
||
;*OSRUNVEL EQU ODATA+020H ;UHL SIDE RUN VELOCITY
|
||
;OHRUNVEL EQU ODATA+040H ;UHL HEADON RUN VELOCITY
|
||
;*OEFLAGS EQU ODATA+060H ;UHW ENEMY FLAGS
|
||
;*OHITS EQU ODATA+070H ;UHB HIT POINTS LEFT UNTIL DEATH
|
||
;*OSCRNOFFCNT EQU ODATA+078H ;UHB OFF SCREEN COUNT
|
||
;*OSHOOTCNT EQU ODATA+080H ;UHB CONTROL SHOOTING (NEG DISABLES)
|
||
;ONOTUSED EQU ODATA+088H ;UHB THIS IS THE LAST BYTE
|
||
ODEATHCALL EQU ODATA+0160H ;UHL "CALL" THIS ROUTINE UPON DEATH
|
||
;*OEDEATH EQU ODATA+0180H ;UHL ENEMY DEATH ROUTINE
|
||
|
||
;FOR POPUPS AND LADDER BOY
|
||
|
||
OYSTART EQU ODATA+0D0H ;UHL STARTING UNIVERSE Y
|
||
|
||
;FOR LADDER BOY
|
||
|
||
;*OROOFXLEFT EQU ODATA+090H ;UHL LEFT X ROOF BOUNDARY
|
||
;*OROOFXRGHT EQU ODATA+0B0H ;UHL RIGHT X ROOF BOUNDARY
|
||
ODEST EQU ODATA+0100H ;UHL DESTINATION COORDINATE
|
||
OANIM0 EQU ODATA+0120H ;UHL ANIM BRANCH #0
|
||
OANIM1 EQU ODATA+0140H ;UHL ANIM BRANCH #1
|
||
|
||
;FOR POPUPS, BEHIND WALL, DOOR BOY
|
||
|
||
OETIME EQU ODATA+0F0H ;UHW LIFE TIME
|
||
|
||
|
||
;ENEMY FLAGS
|
||
|
||
B_WINDOW EQU 0 ;IN THE WINDOW
|
||
B_DOOR EQU 1 ;IN THE DOORWAY
|
||
B_BW EQU 2 ;BEHIND WALL
|
||
B_POPTOP EQU 3 ;ON TOP OF BUILDING
|
||
B_HELI EQU 4 ;HELICOPTER GUY
|
||
B_LEDGE EQU 5 ;BEHIND LEDGE OR RAILING
|
||
B_LADDER EQU 6 ;ON THE LADDER
|
||
B_DUMPSTER EQU 7 ;IN THE DUMPSTER
|
||
;B_ATEROCKET EQU 13 ;Flag set if NBOY hit a player rocket
|
||
;B_ATTACK EQU 14 ;RESULT OF LAST ATTACK
|
||
;B_SIDE EQU 15 ;DIRECTION
|
||
; ;0 = HEADON MOTHER FUCKER
|
||
; ;1 = SIDEWAYS MELLOW DUDE
|
||
|
||
M_WINDOW EQU 00001H
|
||
M_DOOR EQU 00002H
|
||
M_BW EQU 00004H ;BEHIND WALL
|
||
M_POPTOP EQU 00008H
|
||
M_HELI EQU 00010H
|
||
M_LEDGE EQU 00020H
|
||
M_LADDER EQU 00040H
|
||
M_DUMPSTER EQU 00080H
|
||
;M_ATEROCKET EQU 02000H
|
||
;M_ATTACK EQU 04000H
|
||
;M_SIDE EQU 08000H
|
||
|
||
|
||
NUM_GRUNT_SNDS .EQU 6 ;Number of sounds in our grunt table
|
||
|
||
;CREATE_SIDERUN_NONBOY0 FLAGS
|
||
|
||
B_NON_LEFT EQU 0 ;COME FROM THE LEFT SIDE OF THE SCREEN
|
||
B_NON_RIGHT EQU 1 ;COME FROM THE RIGHT SIDE OF THE SCREEN
|
||
B_DONT_SHOOT EQU 2 ;DO NOT ENABLE SHOOTING
|
||
|
||
M_NON_LEFT EQU 00001H
|
||
M_NON_RIGHT EQU 00002H
|
||
M_DONT_SHOOT EQU 00004H
|
||
M_HOLE_CHECK EQU 01000H
|
||
M_CONCERT_CHECK EQU 02000H
|
||
M_AISLE_CHECK EQU 03000H
|
||
M_SCAFFOLD_CHECK EQU 04000H
|
||
|
||
.global AU_CREATE_JUNWIN,AU_CREATE_SIDERUN
|
||
|
||
.global CHECK_HOST_ANIM
|
||
.global NONBOY_HEADON_RUN_ANIM
|
||
.global WINBOY_INIT,CHECK_HOST_ANIM,WINJUN_ANIM,HATCHBOY_ANIM
|
||
.global NONBOY_HEADON_RUN_ANIM,NONBOY_SIDE_RUN_ANIM
|
||
.global DIAG_PBOY_INIT,DIAG_PBOY_ANIM,NONBOY_SIDE_INIT
|
||
.GLOBAL CREATE_SIDERUN_NONBOY0, CREATE_HEADONRUN_NONBOY0
|
||
|
||
|