http://thenomercyzone.clicdev.com/f/index.php?trk=thenomercyzone&showtopic=11284 http://users.boardnation.com/~jamstubbs/index.php?board=28;action=display;threadid=727 VPW2 Player Map -------------------------------------------------------------------------------- Credits/sources used for verification: * JamStubbs (Current Weapon, Location, XYZ coords, facing direction, a few animation things) * WldFb (broad action, Head/Body/Arm/Leg/Flying damage, move damage block pointer) * AJ 187 (a lot of other things) (NM -> VPW2 +0x1151C difference?) +0x0314 offset between players, calculated with ID4 addresses. ==unknown== these were originally listed under "player 1" until december 2019, when checking the game code pointed to 8016C450 as the starting address of the player data. it's unknown if they're actually related to the player map. 8016C438 - Pointer to ? (800B1840) 8016C43C - Pointer to ? (801750A8) 8016C440 - ?? (referenced a lot in the code) [todo: find said references] ==Player 1== 8016C450 - base address for p1 map (pointed to by 8015D9AC) 8016C454 - ? 8016C458 - [w] ? 8016C45C - P1 Current Focus 8016C460 - Who P1 can't focus on -------- 8016C468 - ID4 8016C46A - Animation frames (counting down) 8016C46C - Animation frames remaining? 8016C46E - Specific Animation value [xref anim.txt] 8016C470 - Broad Action [broad_action.txt] 8016C472 - broad action sub-type 8016C474 - time since last broad action change 8016C476 - Current Health 8016C478 - Max Health 8016C47B - Spirit 8116C47C - Spirit/Special Counter When not in Special, it counts down. Once it hits 0x0000, you lose 0x01 Spirit. With Special, it's how long the Special lasts. 8016C47E - Top rope countdown (max value is 0x96) 8016C480 - Wakeup Timer/How long you stay down 8016C486 - Number of times this wrestler has been pinned (attempts) 8016C48C - unknown, read by 801306D4 (runtime)/8012A180 (.v64); written to shortly after. 8016C490 - Pointer to ? (801544B6) -------- 8016C4A0 - unknown, read by 800FB6F8 (runtime) 11111111 11111111 00000000 00000000 FEDCBA98 76543210 FEDCBA98 76543210 |||||||| |||||||| |||||||| |||||||| 8016C4AA - unknown, read by 800F3C94 (runtime) [value & 0x7FFF] 8016C4AC - Location/Movement [JamStubbs address and some values, AJ did other values] ~ F478 - AND mask used at instruction 800F3C5C (runtime) \__ 0008 - In Ring [JamStubbs] |_ 0009 - Climbing Turnbuckle, Entering ring from apron, in grapple |_ 000C - Jumping off Turnbuckle |_ 000D - Hitting with Jumping Turnbuckle Attack |_ 0010 - Standing on Apron [JamStubbs] |_ 0011 - Going from Outside to Apron Normal, moving around post on outside |_ 0019 - Sliding into Ring from Outside |_ 0020 - Outside [JamStubbs] |_ 0021 - In a grapple/hold, grabbing weapons (Outside) |_ 0040 - Ramp [JamStubbs] |_ 008C - Stalling/Standing on Turnbuckle |_ 0109 - Ring to Apron |_ 0111 - Apron to Outside |_ 0808 - Running in Ring |_ 0810 - Running on Apron |_ 0820 - Running Outside |_ 0840 - Running on Ramp FEDCBA98 76543210 |||||||| |||||||| |||||||| |||||||+-- (0x0001) Input locked/restricted? |||||||| ||||||+--- (0x0002) ? |||||||| |||||+---- (0x0004) ? |||||||| ||||+----- (0x0008) Wrestler in Ring |||||||| |||+------ (0x0010) Wrestler on Apron |||||||| ||+------- (0x0020) Wrestler Outside Ring |||||||| |+-------- (0x0040) Wrestler on Ramp |||||||| +--------- (0x0080) ? |||||||+----------- (0x0100) Moving to Outside?? ||||||+------------ (0x0200) Downed |||||+------------- (0x0400) ? ||||+-------------- (0x0800) Running |||+--------------- (0x1000) ? ||+---------------- (0x2000) ? |+----------------- (0x4000) ? +------------------ (0x8000) ? 8016C4AE - unknown, read by 800F3C6C (runtime) [value & 0xFFFE] and also 8012B1BC/80124C6C (runtime/.v64) [value | 0x0002] 8016C4B0 - unknown, read by 8013E678 (runtime) [value & 0x0200...], 800F3F88 (runtime) 8016C4B2 - unknown, read by 800F3CBC (runtime) [value & 0xFF97] FEDCBA98 76543210 |||||||| |||||||| 8016C4B4 - [h] unknown 8016C4B8 - [h] unknown, read by 800F4064, 800F4090 (runtime) [value & 0x0001...] 8016C4BA - control byte (see player_control.txt for better documentation) 8016C4B8 - [h] ? 8016C4BB - 8016C4BC - ? 8016C4BD - ?, writes zero with instruction at 800F3CD0 (runtime) 8016C4BE - how fast you perform moves? (00-0F) [runtime 80143EF0 zeroes this out when A1 = 8016C4BE; r80143F9C sets it to V0 in same circumstances] 8016C4BF - Special Type \__ 0000 ||| ||| |||_ 02 - Meter Flashing ||_ 04 - Special \/ |_ 0C - 2nd Special 8016C4C0 - Current Weapon Type (To increase the hit-range(?) add 4) [JamStubbs] \__ 00 - None |_ 01 - Chair |_ 03 - Bat |_ 04 - none? |_ 05 - Chair |_ 07 - Sickle 8016C4C1 - unknown, read in by 800FA930 (runtime)/800F43E0 (.v64) [value & 0x00F8] 8016C4C2 - related to tag match stuff, read in by 800F3C44 (runtime) [value & 0x00C8] -------- 76543210 |||||||| |||||||+-- Player can be assisted; they're performing move ||||||+--- Player can be assisted; on receiving end of move |||||+---- Submission/Repeating Move/Pinfall/On Shoulders ||||+----- |||+------ Holding arms behind back ||+------- ? |+-------- ? +--------- ? 8016C4C3 - [b] unknown, read in by 800F40CC (runtime) [value & 0x0010] 8016C4C4 - unknown, read in by 801487D8 (runtime)/80142288 (.v64) This one might have to do with being eliminated, as it is changed at the same time as the player control byte. 8016C4C5 - [b] related to things that can only happen once per match (e.g. bleeding, mask ripping, super specials) 76543210 |||||||| |||||||+-- Mask ripped ||||||+--- Bleeding |||||+---- Super Special already used ||||+----- Test of Strength performed |||+------ ||+------- |+-------- +--------- 8016C4C6 - unknown, writes zero byte with 800F3CE8 (runtime) 8016C4CC - [b] 8016C4CD - [b] ?? read: 8012C04C (runtime) 8016C4CE - [b] 8016C4D4 - ? Ring is set up as so: [00] [03][01] [02] 8016C4D8 - Current Combo Moves Left Counter 8016C4DA - Max Combo Moves? 8016C4DE - [h] 8016C4E0 - ?? 8016C4F2 - unknown but reacts to actions 8016C4F4 - unknown (writes zero with 800F3CDC (runtime)) 8016C4F8 - X coordinate 8016C4FC - Y coordinate 8016C500 - Z coordinate 8016C504 - Facing Direction (00000000 is north) ........ 8016C518 8016C51C 8016C520 8016C524 -------- 8016C555 - ?? read: 800F601C (runtime) -------- 8016C584 - ?? -------- 8016C5F4 - ?? -------- 8016C678 - ?? -------- 8016C6F4 - Head Damage 8016C6F8 - Body Damage 8016C6FC - Arm Damage 8016C700 - Leg Damage 8016C704 - Speed Damage? 8016C70A - [h] 8016C714 - pointer to unpacked params 8016C718 - ? 8016C71D - ?? 8016C71E - [b] ? 8016C71F - ? (referenced at 800FA8D4 runtime/800F4384 .v64) 8016C72C - ?? 8016C732 - [b] ? 8016C740 - Pointer to move damage block for current move 8016C748 - Pointer to P1 ?? (8015DA90) 8016C754 - ? 8016C75C - Number of points in MMA rules match ==Player 2== 8016C764 - base address for p2 map 8016C770 - ? read: 80149400 (runtime) 8016C77C - ID4 8016C784 - Broad Action 8016C78A - Current Health 8016C78F - Spirit 8016C790 - Spirit/Special Counter 8016C794 - How long you stay in a move 8016C7C2 - matches P1 8016C4AE 8016C7C4 - ?? 8016C7C6 - Mask rip byte (part 2) [00 ripped, 01 not ripped] 8016C7CC - ?? CODE:801228CC (IDA) 8016C7CE - control byte 8016C7D8 - Mask rip halfword (part 1) [0001 ripped, 0000 not ripped] 8016C7E1 - ?? read: 8012C04C (runtime) 8016C7FA - ?? write: 8014932C (runtime) 8016C80C - X coordinate 8016C810 - Y coordinate 8016C814 - Z coordinate 8016C818 - facing direction 8016C869 - unknown, written to by 8014882C (runtime)/801422DC (.v64) 8016CA08 - Head Damage 8016CA70 - Number of points in MMA rules match (see also 8015C869, which controls the status indicator for P2) ==Player 3== 8016CA78 - assumed base address for p3 map 8016CA90 - ID4 8016CA98 - Broad Action 8016CAA3 - Spirit 8016CAA4 - Spirit/Special Counter 8016CAD4 - ?? 8016CAE2 - control byte 8016CAED - ?? (mask related?) 801C6D1C - Head Damage 8016CB20 - X coordinate 8016CB24 - Y coordinate 8016CB28 - Z coordinate 8016CB2C - facing direction 8016CD32 - ?? (mask related?) 8016CD3C - pointer to unpacked params ==Player 4== 8016CD8C - assumed base address for p4 map 8016CDA4 - ID4 8016CDA7 - ? 8016CDAC - Broad Action 8016CDB7 - Spirit 8016CDB8 - Spirit/Special Counter 8016CDF5 - ? (00, 01 [eliminated?], 02 [lying on ground], 03 [rolling out]) 8016CDF6 - control byte 8016D030 - Head Damage (+0x028C of ID4) 8016CE34 - X coordinate 8016CE38 - Y coordinate 8016CE3C - Z coordinate 8016CE40 - facing direction