wwf-wrestlemania/PLYR.EQU

505 lines
12 KiB
Plaintext
Raw Permalink Normal View History

2021-04-06 15:21:54 -07:00
**************************************************************
*
* 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
******************************************************************************