wwf-wrestlemania/PLYR.EQU

505 lines
12 KiB
Plaintext
Executable File
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.

**************************************************************
*
* Software: Jamie Rivett
* Initiated: 3/8/94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
******************************************************************************
*
* PLAYER DATA STRUCTURE
*
* (CHECK THE SIZE OF ALL THIS CRAP!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
*
STRUCTPD
WORD OBJ_XPOS ;x-pos (world coordinates)
WORD OBJ_XPOSINT
WORD OBJ_YPOS ;y-pos (world coordinates)
WORD OBJ_YPOSINT
WORD OBJ_ZPOS ;z-pos (world coordinates)
WORD OBJ_ZPOSINT
LONG OBJ_PRIORITY
WORD OBJ_BOXXOFF
WORD OBJ_BOXYOFF
WORD OBJ_BOXZOFF
WORD OBJ_BOXWIDTH
WORD OBJ_BOXHEIGHT
WORD OBJ_BOXDEPTH
WORD OBJ_COLLX1
WORD OBJ_COLLX2
WORD OBJ_COLLY1
WORD OBJ_COLLY2
WORD OBJ_COLLZ1
WORD OBJ_COLLZ2
WORD OBJ_ATTXOFF
WORD OBJ_ATTYOFF
WORD OBJ_ATTZOFF
WORD OBJ_ATTWIDTH
WORD OBJ_ATTHEIGHT
WORD OBJ_ATTDEPTH
WORD TGT_XOFF
WORD TGT_YOFF
WORD TGT_ZOFF
LONG OBJ_XVEL
LONG OBJ_YVEL
LONG OBJ_ZVEL
LONG OBJ_GRAVITY
WORD OBJ_FRICTION
WORD CLOSEST_DIST
WORD CLOSEST_XDIST
WORD CLOSEST_YDIST
WORD CLOSEST_ZDIST
WORD CLOSEST_NUM ;(number of closest opponent)
WORD ATTACH_XOFF
WORD ATTACH_YOFF
WORD ATTACH_ZOFF
APTR ATTACH_PROC
WORD ATTACHIMG_XOFF
WORD ATTACHIMG_YOFF
WORD ATTACHIMG_ZOFF
APTR CODE_ADDR
WORD ROLL_POS
WORD GETUP_TIME
WORD CAN_MOVE_DIR
WORD CAN_MOVE_TEMP
WORD X_BOUND
WORD Z_BOUND
WORD MOVE_DIR
WORD FACING_DIR
WORD NEW_FACING_DIR
LONG WHOHITME ;* wrestler process
LONG WHOIHIT ;* wrestler process
LONG WHOPINNEDME ;* wrestler process
WORD HITBLOCKER ;
WORD PLYR_HIT_SIDE
WORD INRING ;0 = in ring, 1 = outside
WORD GROUND_Y
WORD PLYRNUM
WORD WRESTLERNUM
WORD PLYR_TYPE
WORD PLYR_SIDE
WORD PLYRMODE
WORD ATTACK_MODE
WORD ATTACK_TYPE
WORD ATTACK_TIME
WORD PLYR_DIZZY
WORD PLYR_DIZZY_CNT ;# of times plyr has been dizzy this rnd
WORD PLYR_SHADOW
WORD PLYR_ROPE_X_LEFT
WORD PLYR_ROPE_X_RIGHT
WORD ANI_SPEED
WORD ANIMODE ;0<------
APTR ANIBASE ;1 |
APTR ANIPC ;2 |
WORD ANICNT ;3 |
APTR CUR_FRAME ;4 keep |
;5 |
WORD ANIMODE2 ;6ordered|
APTR ANIBASE2 ;7 |
APTR ANIPC2 ;8 |
WORD ANICNT2 ;9 |
APTR CUR_FRAME2 ;A <------
APTR OBJ_BASE
WORD OBJ_CONTROL
WORD OBJ_CONST
WORD OBJ_PAL ;Pass pal pntr along
WORD RUN_TIME ;Ticks since start of run
WORD BUT_COUNT ;<--- this can go sans land (what's that mean?)
WORD RPT_COUNT
WORD CLIMBING_THRU ;1=Climbing thru ropes flag
WORD STARS_FLAG ;1=Showing stars, 0=Turn off
WORD PUNCHB_COUNT ;0 <------
WORD BLOCKB_COUNT ;1 keep |
WORD SPUNCHB_COUNT ;2 ordered|
WORD KICKB_COUNT ;3 |
WORD SKICKB_COUNT ;4 <------
WORD USR_VAR1
WORD USR_VAR2
APTR METER_PROC ;Process which handles my GETUP meter
WORD FOOT_PCNT ;PCNT at last foot sound
WORD MY_PAL ;My pal # for when I swap out my pal
WORD SKELETON_PAL ;Skeleton pal for Doink buzzer
APTR ATTIMG_IMG
APTR ATTIMG_CUR_FRAME
APTR ATTIMG_LAST_FRAME
WORD WHACK_CNT ;Whack butns help message display cnt
LONG SPECIAL_MOVE_ADDR ;spec move wdog proc signal
WORD RISK
WORD DRN_BUT ;Button bits
WORD DRN_BUTDT ;But bits in down transition
WORD DRN_BUTUT ;But bits in up transition
WORD DRN_JOY ;Joystick bits
WORD DRN_JOYDT ;Joy bits in down transition
WORD DRN_JOYUT ;Joy bits in up transition
WORD DRN_BUTCHRG ;Button bits charging
WORD DRN_BUTCHRGDLY ;Cnt dn till charged
APTR DRN_BUTCHRG_p ;* script
WORD DRN_DELAY ;Action delay
APTR DRN_ACT_p ;* action script
WORD DRN_MODE ;Mode
WORD DRN_SPMODE ;Script plyr mode
WORD DRN_SEEKDIR ;Dir to seek (0-F) rel to closest opp
WORD DRN_SEEKDIST ;Dist to seek
WORD DRN_SKILL ;Skill level (0-29)
WORD DRN_SKILLRNDM ;Skill rnd add for match (-2 to 5)
APTR SHADTRAIL_PROC
WORD DELAY_BUTNS ;Delay reading of buttons after flung
WORD SAFE_TIME ;Delay collisions after getting up
WORD DELAY_METER ;Delay reappearance of getup meter
WORD IMMOBILIZE_TIME ;Immobilize player without meter
WORD COMBO_COUNT ;number of moves done so far in a combo
WORD COMBO_START ;number of moves required to start a combo
WORD DEBRIS_X ;Used for explosions linked to head
WORD DEBRIS_Y
WORD I_WILL_DIE ;Used in combos to indicate death at end
WORD WALK_FAST ;1=Walk fast powerup on
LONG STATUS_FLAGS ;New bank of flags
WORD OUTSIDE_ALONE ;IF <>0 I AM OUTSIDE ALONE
WORD ANTI_COMBO_TIME ;Time stamp for checking combo breakers
WORD BUT_VAL_CUR
WORD BUT_VAL_DOWN
WORD BUT_VAL_UP
WORD STICK_VAL_CUR
WORD STICK_VAL_DOWN
WORD STICK_VAL_UP
WORD STICK_REL_CUR ;facing relative
WORD STICK_REL_NEW ;facing relative (only if changed)
WORD HEAD_GRAB_TIME ;PCNT last time our head was grabbed
WORD PUPPET_TIME ;used by mode_puppet watchdog
WORD PUPPET_TICKS ;used by mode_puppet watchdog
WORD RING_TIME ;used to calculate ring-out damage
LONG LAST_HIT_TIME ;PCNT last time we scored any hit,
; blocked or otherwise. (use 32 bits)
WORD AUTO_PIN_CNTDOWN ;time before auto-pin kicks in
WORD CLIMB_START ;time at start of current climb attempt
WORD CLIMB_LAST ;time of last climb attempt
LONG SMART_TARGET ;legal target in SMART_ATTACK mode
WORD NEW_WRESTLERNUM ;turn into this guy from zombie mode
LONG LAST_HEADHOLD ;PCNT last time we grabbed a head!
LONG LAST_FLING ;PCNT last time I tried fling
LONG LAST_HIPTOSS ;PCNT last time I tried hiptoss
LONG BLOCK_TIME ;Time since block started
WORD LAST_DAMAGE ;PCNT last time we took damage.
WORD NEXT_DAMAGE ;If non-zero, do this much damage
LONG SPECIAL_DAMAGE_TIME ; on the next hit we take, IF PCNT
; is less than SPECIAL_DAMAGE_TIME.
WORD SCROLL_Y ;if SCROLL_CTRL bit in STATUS_FLAGS
; is set, keep the top of the screen
; this many pixels above my YPOS.
WORD BUCKOFF_COUNT ;Buttons pressed for buckoff.
WORD ZOMBIE_TIME ;Ticks since we became a zombie
WORD DAMAGE_GIVEN ;Damage I've done in a rumble
LONG HIT_GATE_TIME ;PCNT last time we hit a gate
LONG LAST_FLING_ATTEMPT ;PCNT last time we attempted a fling
LONG LAST_SPUNCH ;PCNT last time I performed a super pnch
LONG LAST_SKICK ;PCNT last time I performed a super kick
WORD CONSECUTIVE_HITS ;Hits since block or walk
******************************************************************************
*
* PLAYER TYPES
PTYPE_PLAYER equ 0
PTYPE_DRONE equ 1
PTYPE_REFEREE equ -1
PSIDE_PLYR1 equ 0
PSIDE_PLYR2 equ 1
PSIDE_NONE equ -1
******************************************************************************
*
* PLAYER MODES
MODE_NORMAL equ 0
MODE_RUNNING equ 1
MODE_INAIR equ 2
MODE_ATTACHED equ 3
MODE_ONGROUND equ 4
MODE_BOUNCING equ 5
MODE_ONTURNBKL equ 6
MODE_BLOCK equ 7
MODE_DIZZY equ 8
MODE_DEAD equ 9
MODE_OPPOVERHEAD equ 10
MODE_CLIMBTURNBKL equ 11
MODE_WAITANIM equ 12
MODE_GRAPPLE equ 13
MODE_MASTER equ 14
MODE_SLAVE equ 15
MODE_HEADHOLD equ 16
MODE_PUPPET2 equ 17
MODE_RPT_PUNCH equ 0 ;<-- use
MODE_RPT_KICK equ 0 ;<-- use
MODE_HEADHELD equ 19
MODE_PUPPET equ 20
MODE_INAIR2 equ 21
MODE_RPT_SPUNCH equ 0 ;<-- use
MODE_RPT_SKICK equ 0 ;<-- use
MODE_CHOKEHOLD equ 24
MODE_CHOKING equ 25
******************************************************************************
*
* ATTACK MODES
AMODE_PUNCH equ 0
AMODE_HDBUTT equ 1
AMODE_KICK equ 2
AMODE_FLYKICK equ 3
AMODE_GRABTHROW equ 4
AMODE_UPRCUT equ 5
AMODE_LBOWDROP equ 6
AMODE_GRABHOLD equ 7
AMODE_GRABFLING equ 8
AMODE_PUSH equ 9
AMODE_URN equ 10
AMODE_BIGBOOT equ 11
AMODE_KNEE equ 12
AMODE_HDBUTT2 equ 13
AMODE_BOXPUNCH equ 14
AMODE_STOMP equ 15
AMODE_SPINKICK equ 16
AMODE_CLINE equ 17
AMODE_HEADHOLD equ 18
AMODE_JUMPKICK equ 19
AMODE_RUN equ 20
AMODE_PUPPET equ 21
AMODE_BACKHAND equ 22
AMODE_BUZZ equ 23
AMODE_HAYMAKER equ 24
AMODE_BLBOWDROP equ 25 ;Turnbuckle elbow drop
AMODE_BSTOMP equ 26 ;Turnbuckle stomp
AMODE_HEADKNEES equ 27 ;Held by head - knee hits to head
AMODE_EARSLAP equ 28 ;Mark
AMODE_HAMMER equ 29
AMODE_BUTTSTOMP equ 30
AMODE_PUPPET2 equ 31
AMODE_PUPPET_HDGRAB equ 32 ;For head grabs only
AMODE_TOMB equ 33
AMODE_BIGKNEE equ 34 ;Mark
AMODE_SHNBFKIK equ 35 ;Jason
AMODE_SHNSPDKIK equ 36
AMODE_SHNSPDKIK2 equ 37
AMODE_HITCHECK equ 38
AMODE_UPRCUT2 equ 39
AMODE_RSLASH equ 40
AMODE_HEADDSLASH equ 41
AMODE_HEADUSLASH equ 42
AMODE_RSLASH2 equ 43
AMODE_HDBUTT_STAY equ 44
AMODE_FIRE_PUNCH equ 45
AMODE_BSTOMP2 equ 46 ;Club down to ground moves
AMODE_GUTPUSH equ 47 ;Yoko gut push
AMODE_SUPER_KICK equ 48
AMODE_PUNCH2 equ 49 ;Weaker punch damage
AMODE_HDBUTT3 equ 50
AMODE_LBOWDROP2 equ 51
AMODE_STOMP2 equ 52
AMODE_PUPPET_NOFLAIL equ 53 ;Puppet move hits blocker - no flail
AMODE_PUPPET_TOSS equ 54 ;Puppet moves for hiptoss
AMODE_NAPALM equ 55 ;Bam napalm vs. onground opp
******************************************************************************
*
* COLLISION TARGET VALUES
TGT_HEAD equ 0
TGT_CHEST equ 1
TGT_GROIN equ 2
TGT_KNEES equ 3
TGT_FEET equ 4
TGT_USER equ -1
TGT_GROUND equ 1000h
B_TGT_GROUND equ 12
******************************************************************************
*
* STATUS_FLAGS VALUES
B_PRESS_LAST equ 0 ;new button press last tick? (GETUP stuff)
B_DID_PIN equ 1 ;Did a pin.
B_TEMP_PAL equ 2 ;Using a temp pal, correct one in MY_PAL
B_ZOMBIE equ 3 ;Dead and trying to leave the ring.
B_SMART_ATTACK equ 4 ;Attacks will only hit SMART_TARGET. This
; bit is cleared at ANI_ATTACK_OFF.
B_PINNED equ 5 ;Been pinned this round.
B_CAN_XFORM equ 6 ;OK to transform upon hitting an edge.
B_KOD equ 7 ;KO'd to save time.
B_NO_KO equ 8 ;Don't KO me.
B_PINABLE equ 9 ;can be pinned (motionless & staying that way)
B_SCROLL_CTRL equ 10 ;enables SCROLL_Y value in wrestler PDATA
B_WEAK_HIT equ 11 ;last hit on us was 10 or less
B_DO_BUCKOFF equ 12 ;counting buttons for buckoff
B_NO_BUCKOFF equ 13 ;no buckoff for me
B_DID_BUCKOFF equ 14 ;did a buckoff this MATCH
B_DEAD_ANIM equ 15 ;If killed, don't change anim. (cleared often)
B_DID_RAISEARM equ 16 ;in a raisearm anim
B_NEW_BUCKOFF equ 17 ;did a buckoff this ROUND
B_COUNTED_DEAD equ 18 ;counted as dead in 8-on-? mode
B_COMBO_BROKEN equ 19 ;my combo was broken
B_PUSH equ 20 ;doing a push (used in collis stuff)
M_PRESS_LAST equ 1<<B_PRESS_LAST
M_DID_PIN equ 1<<B_DID_PIN
M_TEMP_PAL equ 1<<B_TEMP_PAL
M_ZOMBIE equ 1<<B_ZOMBIE
M_SMART_ATTACK equ 1<<B_SMART_ATTACK
M_PINNED equ 1<<B_PINNED
M_CAN_XFORM equ 1<<B_CAN_XFORM
M_KOD equ 1<<B_KOD
M_NO_KO equ 1<<B_NO_KO
M_PINABLE equ 1<<B_PINABLE
M_SCROLL_CTRL equ 1<<B_SCROLL_CTRL
M_WEAK_HIT equ 1<<B_WEAK_HIT
M_DO_BUCKOFF equ 1<<B_DO_BUCKOFF
M_NO_BUCKOFF equ 1<<B_NO_BUCKOFF
M_DID_BUCKOFF equ 1<<B_DID_BUCKOFF
M_DEAD_ANIM equ 1<<B_DEAD_ANIM
M_DID_RAISEARM equ 1<<B_DID_RAISEARM
M_NEW_BUCKOFF equ 1<<B_NEW_BUCKOFF
M_COUNTED_DEAD equ 1<<B_COUNTED_DEAD
M_COMBO_BROKEN equ 1<<B_COMBO_BROKEN
M_PUSH equ 1<<B_PUSH
;bits to preserve between rounds.
SF_RESET_MASK equ M_TEMP_PAL|M_DID_BUCKOFF
;bits to CLEAR at any ANI_SETMODE
SF_CLEAR_BITS equ M_SCROLL_CTRL|M_DEAD_ANIM|M_DID_RAISEARM|M_KOD|M_COMBO_BROKEN|M_PUSH
******************************************************************************
*
* RUNNING SPEEDS
DNK_XRUN .equ 64000h
DNK_XRUN2 .equ 88000h
DNK_ZDRIFT .equ 28000h
HRT_XRUN .equ 64000h
HRT_XRUN2 .equ 88000h
HRT_ZDRIFT .equ 28000h
UND_XRUN .equ 64000h
UND_ZDRIFT .equ 28000h
BAM_XRUN .equ 64000h
BAM_ZDRIFT .equ 20000h
SHN_XRUN .equ 64000h
SHN_ZDRIFT .equ 28000h
YOK_XRUN .equ 58000h
YOK_ZDRIFT .equ 28000h
RZR_XRUN .equ 60000h
RZR_ZDRIFT .equ 20000h
LEX_XRUN .equ 60000h
LEX_ZDRIFT .equ 20000h
******************************************************************************
*
* TURNBUCKLE Y OFFSETS
DNK_TBUKLY .equ 230
HRT_TBUKLY .equ 160
UND_TBUKLY .equ 150
BAM_TBUKLY .equ 160
SHN_TBUKLY .equ 140
YOK_TBUKLY .equ 190
RZR_TBUKLY .equ 230
LEX_TBUKLY .equ 150
SC_RESTORE .equ -1 ;just use whatever's already there.
******************************************************************************
*
* SPECIAL MOVE PROCESS PDATA STRUCT
STRUCTPD
LONG SM_RESET_ADDRESS
LONG SM_USRL1
LONG SM_USRL2
WORD SM_USRW1
WORD SM_USRW2
******************************************************************************