Jump to content

Errors in "HGSS Save Structure" Technical Documentation


raytheon

Recommended Posts

Hi there. I was toying with HGSS save offsets and it seems that three parts are incorrect in the technical documentation:

- battle items

- first registered item

- second registered item

 

using this save, one can see that first registered item is a bicycle and the second one super rod. But according to listed offsets it seems that something is off - battle items starts at 0xD64 and consists of 31 blocks 4 byte each = 124 = 0x7C. But if this offset is used, then the last item of battle items is  bicycle. I've subtracted 4 bytes from this supposed length and battle items were left intact. Then I've modified offsets of registered items so the first one starts at 0xDDC instead of 0xDE0 and the second one starts at 0xDDE. So I think battle items indeed starts at 0xD64, but consists of 30 4-byte blocks instead of 31. 

If someone would be so kind to verify my findings, as I cannot exclude the possibility of doing something wrong on my side. Though I'm rather confident, given that every other value is looking as it supposed to.

 

EDIT:

python output with corrected battle items offset:

bytearray(b'<\x00\x01\x009\x00\x02\x00:\x00\x01\x00C\x00\x01\x007\x00\x01\x00=\x00\x01\x008\x00\x02\x00;\x00\x01\x00A\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

and before the correction:

bytearray(b'<\x00\x01\x009\x00\x02\x00:\x00\x01\x00C\x00\x01\x007\x00\x01\x00=\x00\x01\x008\x00\x02\x00;\x00\x01\x00A\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\xbf\x01')

at the end of the second output you can see that those two fellas: \xc2\x01 and \xbf\x01. Applying little endian notation, first one is equal to 450 and the second 447, bicycle and super rod respectivly, according to bulbapedia.

 

edit2: or even not 30 4-byte blocks but 15, as there are only 15 distinct battle items According to another technical documentation

Edited by raytheon
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...