• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
Spherical Ice
Reaction score
3,334

Profile posts Latest activity Postings About

  • Hey, did you applied the full Hacked Engine of JPAN in Gaia, or just applied some features by the Hack Tool provided?
    Hi, the routine seems to be working as intended (for my clean ROM).

    You've changed the Pokedex order and such? My routine reads off an EXP curve table and sets the amount of EXP directly based on the Pokemon's base stats. I would assume you've repointed them, rather than ignoring the issue. So you will need to either fix your EXP and base stats table, or change the pointers in the routine to match.

    ldr r6, =(0x8253AE4)
    ldr r1, =(0x8254784)

    Those two lines are the pointers to the tables in game. r6 = Exp curve table and r1 = base stats table (ordered by species ID). It's possible in your game that the exp curves and base stats didn't match while you were inserting the new Pokemon as well. Think of it as an opportunity to fix bugs you didn't know about. Anyways, I can assure you with 100% confidence it's not the routine.
    God dammit Spherical. I wrote a nice and informative response about his language and both the technical limitations he's sliding off, possible optimizations, and general comments about integrating it into working smoother with the game engine. Then when I try hit the post button... "This thread has been closed" D:
    Oh, you just load by half words instead of bytes. This is actually a lot more restricting about how long your data table indexes are and where you data table starts. ldrh requires the offset it's loading a half-word from to be "halfword aligned" or divisible by two. Anyways, a skeleton would look like this:


    If you want to load byte by byte, but the last index is a half word for whatever reason, then you'll need to do an extra check like this:


    Both ways are fine, the second way is a lot more flexible in terms of offset alignment (because it can work with any offset) but as you can probably tell, it takes longer to go through the entire table because it's reading byte at a time, while the first one is reading half words at a time. If you don't really care about time (not that big of a deal for relatively smaller tables), the second one is much superior.
  • Loading…
  • Loading…
  • Loading…
Back
Top