revolution-x/GXNONBOY.H

176 lines
5.4 KiB
C
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.

;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