Jump to content

Generation 3 Block Data Cross-Game Compatibility


trebizondarcher

Recommended Posts

After editing my Emerald save file, I noticed that the block data editor contained adjustable data for bronze/silver/gold coupon titles and Wishmaker Jirachi despite these features only being available (to my knowledge) in Colosseum and R/S, respectively. Is the save data for these features shared in common between all generation 3 games, or is this just done to consolidate all editable generation 3 block data in PKHeX? If it's the former, do the coupon title options have in-game effects in Emerald? After receiving 30,000 coupons on my cartridge through link play, these flags were still set to "false," but I'm curious as they're still editable in PKHeX regardless.

Simple editor.png

Edited by trebizondarcher
Link to comment
Share on other sites

The Generation 3 mainline saves have an `ExternalEventData` region that is used by linked games like C/XD/Event Discs. PKHeX just implements them all as shared values because there's nothing known to be reusing the same offset within the struct that is version exclusive.

https://github.com/pret/pokeemerald/blob/2304283c3ef2675be5999349673b02796db0827d/include/global.h#L932

  • Thanks 1
Link to comment
Share on other sites

43 minutes ago, Kaphotics said:

The Generation 3 mainline saves have an `ExternalEventData` region that is used by linked games like C/XD/Event Discs. PKHeX just implements them all as shared values because there's nothing known to be reusing the same offset within the struct that is version exclusive.

Thank you! Tangentially related question: does the exclusive availability of Wishmaker Jirachi in RS through the Colosseum Bonus Disc rely upon a different data region only present in those games? My understanding now is that the ExternalEventData discussed regarding this feature affects only the ability to download subsequent Jirachi per save file in RS and has no actual bearing on where the data for this feature is stored in RS/would otherwise be stored in FrLgE.

Quote

Might be iffy as a distribution disc might not know about a future game's overall structure (correct offset to interpret the struct at) but both structures are present for all mainline games apparently.

Interestingly, it seems that Ageto Celebi from the JP Colosseum Bonus Disc can be given to all generation 3 JP GBA games (unless Bulbapedia is completely wrong). I wonder if the distribution method from that disc is just totally different, or if some specific restriction exists on the US disc. The Wishmaker Jirachi event distribution from the US disc was also supposed to fix berry glitch, so perhaps that's why it was restricted to RS.

***

An additional discovery that I might've made: it seems that there is a gold-colored Pokeball icon that is displayed next to the current coupon count in the Colosseum Battle Mode GBA Coupon Exchange. I'll try to see if this potentially game-altering feature is affected by the total coupon count present on a game cartridge (and not the title flags, as we already know those to all be read as "false" by default on an Emerald cartridge). 

Edited by trebizondarcher
Link to comment
Share on other sites

I've updated my post with a link to pret's disassembly of emerald, which shows the structures for value & flag storage. In the disassembly, they remark how the Received Jirachi flag isn't accessible for Emerald, but if you hack the distribution disc to allow connecting to Emerald, it would still work the same.

Might be iffy as a distribution disc might not know about a future game's overall structure (correct offset to interpret the struct at) but both structures are present for all mainline games apparently.

  • Thanks 1
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...