Jump to content

Programming Challenge, Hexidecimals Involved


rglass95

Recommended Posts

Hey fellas,

I'm looking at the two bytes for the SB (001A in the Bagwell example), and I think I may have found something...

Take each bit except for the first (rightmost) two bits, and we get a stolen base total. In the Bagwell example it's 00000110, or 6 stolen bases. And then take the first two bits, and this number seems to correspond to the amount of 256's we need to add to the games total. So in Bagwell's case, the number is binary 10, or decimal 2.

I've tried this with a few other Bagwell seasons (most notably his 1994 and 1995 seasons, in which he had less than 512 ABs) and it seems to work out correctly, but let me download the roster files mentioned previously in this thread (my copy of MVP 2005 still hasn't shown up) and I'll see if I can't do a bit more detective work.

Adam

Link to comment
Share on other sites

It's a bit tricky the way they did each, 5 of the 7 stat columns rely on another column to determine the "multiplier". I'll type something up later, I'm working on incorporating it into MVPedit now.
Yeah, I figured, what with all the divided-by-2's going on. Glad you got it sussed. I look forward to reading what you came up with.

BTW, I had MVP for the PS2 last year, but I downloaded your app at one point just to check it out, and I was mightily impressed. Keep up the good work, and don't hesitate to ask if you need any help along the way.

Link to comment
Share on other sites

I'll tag on the end of this thread and see if any of you can help me out. I'm looking at the PS2 roster save here... Here is the data for Albert Pujols:

D7 04 B8 2D 5B 5F 41 4C B0 DC DD 29 D9 5C 48 8E 06 00 32 00 00 69 A0 20 00 70 06 11 1F 00 00 41 6C 62 65 72 74 00 00 00 00 00 00 50 75 6A 6F 6C 73 00 00 00 00 00 00 00 00 00 00 00

The first two bytes are player (photo) ID, the next two bytes are birthdate. I thought I had the next two bytes pegged as height and weight, but I am skeptical now.

I'll do an example. 5B = 91, then you subtract multiples of 64 (1) until you get to 27, add 48 and get 75 (Pujol's height). The weight is a little more involved. 5F = 95, I got fairly close to the actual weight by again subtracting multiples of 64, multiplying the result by 4 and adding 102. I doubt that's the real method though.

I modded three fields on the PS2 and got an interesting result. I changed jersey number from 5 to 96, Contact vs RHP from 91 to 51, and the lower-right hot zone vs RHP from NEUTRAL to COLD. Here's the new data:

D7 04 B8 2D 5B 1F 58 4C B0 DC DD 29 D9 5C 48 20 06 00 32 00 00 69 A0 20 00 70 06 11 1F 00 00 41 6C 62 65 72 74 00 00 00 00 00 00 50 75 6A 6F 6C 73 00 00 00 00 00 00 00 00 00 00 00

The "weight" byte has changed from 5F to 1F, the next byte changed from 41 to 58, and the 8E further down changed to a 20. These are the only changes to the file. There is definitely some serious data crunching going on in this file. Any insights on what might be going on here would be greatly appreciated! Thanks!

Edit: I think I've got it! The binary conversion mentioned by Adrockski above is the key. They are compressing almost everything in this file.

Link to comment
Share on other sites

Edit: I think I've got it! The binary conversion mentioned by Adrockski above is the key. They are compressing almost everything in this file.

Glad to help out. I only wish we could've put our heads together on this earlier, as I was trying to do the exact same thing last year with the PS2 roster file!

Ah well, best of luck with it, and let me know if I can help out in any way.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...