Skeli789 / Dynamic-Pokemon-Expansion

A tool to ease the process of expanding the number of Pokemon in Fire Red. It is meant to be used alongside the Complete FireRed Upgrade.
Other
245 stars 192 forks source link

Relocating the addresses in memory for the players party #31

Open NoelDavies opened 3 years ago

NoelDavies commented 3 years ago

I've had a LOT of people asking me to add support various rom hacks, for Pokélink but the data in memory seems to have all changed (which is what we used to represent the user's team live on their layout).

From what I can gather, with your help and using some of the code on in this repo - I can find the party data in memory and add support for rom hacks and help the poke-streaming community.

Would be great to work with you, even if just to get an idea of where to look, any struct changes, etc.

Hope you're having a good Holiday season!

Cheers

NoelDavies commented 3 years ago

I saw #27 and was wondering if anybody can point me in the direction of the live battle addresses. We have so many people looking to run games built on DPE!

Skeli789 commented 3 years ago

Okay, so the player's party address hasn't changed from FireRed. The big change is the fact that the party is no longer encrypted. This repo isn't really responsible for that, though. It's really done by the CFRU.

As for live battle addresses. Beyond what's in the default FR, it's very tricky to track them. Most of the new things like timers (such as Trick Room) and statues are dynamically allocated in memory at runtime. I'm also constantly updating that struct, so unfortunately there's really no way to set it in stone.

NoelDavies commented 3 years ago

Is there any go-to addr pointers, or we could resort to what we do for citra, and dynamically scan for these if they're set at runtime, and not changed from that point? 🤔 We already track vanilla FR stuff live, but if that's changed we could introduce a new approach for any CFRU-based hack?