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. ==Player 1== 8016C438 - Pointer to ? (800B1840) 8016C43C - Pointer to ? (801750A8) 8016C450 - ?? (pointed to by 8015D9AC) 8016C45F - P1 Current Focus 8016C463 - Who P1 can't focus on -------- 8116C468 - ID4 8016C46A - Animation frames (counting down) 8016C46C - Animation frames remaining? 8116C46E - Specific Animation value [xref anim.txt] 8116C470 - Broad Action 8016C474 - ?? [two bytes, counts up?] writes @ 800F3C24 (runtime) 8016C477 - 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. 8016C480 - How long you stay down 8016C48C - unknown, read by 801306D4 (runtime)/8012A180 (v64 ROM); written to shortly after. 8016C490 - Pointer to ? (801544B6) -------- 8016C4AA - unknown, read by 800F3C94 (runtime) [value & 0x7FFF] 8016C4AC - Location ~ F478 - AND mask used at instruction 800F3C5C (runtime) \__ 0008 - In Ring |_ 0009 - Climbing Turnbuckle, Entering ring from apron, in grapple |_ 000C - Jumping off Turnbuckle |_ 000D - Hitting with Jumping Turnbuckle Attack |_ 0010 - Standing on Apron |_ 0011 - Going from Outside to Apron Normal |_ 0019 - Sliding into Ring from Outside |_ 0020 - Outside |_ 0040 - Ramp |_ 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 8016C4AE - unknown, read by 800F3C6C (runtime) [value & 0xFFFE] 8016C4B0 - unknown, read by 8013E678 (runtime) [value & 0x0200...], 800F3F88 (runtime) 8016C4B2 - unknown, read by 800F3CBC (runtime) [value & 0xFF97] 8016C4B8 - unknown, read by 800F4064, 800F4090 (runtime) [value & 0x0001...] 8016C4BA - control byte (see player_control.txt for better documentation) 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 \__ |_ 03 - Meter Flashing |_ 04 - Special |_ 0C - 2nd Special 8016C4C0 - Current Weapon Type (To increase the hit-range add 4) \__ 00 - None |_ 01 - Chair |_ 03 - Bat |_ 04 - none? |_ 05 - Chair |_ 07 - Sickle 8016C4C2 - unknown, read in by 800F3C44 (runtime) [value & 0x00C8] 8016C4C3 - unknown, read in by 800F40CC (runtime) [value & 0x0010] 8016C4C4 - unknown, read in by 801487D8 (runtime)/80142288 (v64 ROM) This one might have to do with being eliminated, as it is changed at the same time as the player control byte. 8016C4C6 - unknown, writes zero byte with 800F3CE8 (runtime) 8016C4CD - ?? read: 8012C04C (runtime) 8016C4D8 - Current Combo Moves Left Counter 8016C4DA - Max Combo Moves? 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) -------- 8016C555 - ?? read: 800F601C (runtime) -------- 8016C6F4 - Head Damage 8016C6F8 - Body Damage 8016C6FC - Arm Damage 8016C700 - Leg Damage 8016C704 - Speed Damage? 8016C740 - Pointer to move damage block for current move 8016C748 - Pointer to P1 ?? (8015DA90) ==Player 2== 8016C764 - ? 8016C770 - ? read: 80149400 (runtime) 8016C77C - ID4 8016C784 - Broad Action 8016C78A - ? (instruction 801313DC writes to it at runtime) 8016C7CE - control byte 8016C7E1 - ?? read: 8012C04C (runtime) 8016C7FA - ?? write: 8014932C (runtime) 8016C80C - X coordinate 8016C810 - Y coordinate 8016C814 - Z coordinate 8016C869 - unknown, written to by 8014882C (runtime)/801422DC (v64 ROM) 8016CA08 - Head Damage ==Player 3== 8016CA84 - ? 8016CA90 - ID4 8016CAD4 - ?? 8016CAE2 - control byte 801C6D1C - Head Damage 8016CB20 - X coordinate 8016CB24 - Y coordinate 8016CB28 - Z coordinate ==Player 4== 8016CDA4 - ID4 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