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

Development: The 4th gen class split in 3rd gen

timson733333

Woah.
135
Posts
17
Years
  • Sorry if this seems a stupid question, but I'm a bit confused. With what sort of hex editor are you supposed to find these eight digit pointers (in Emerald)? I'm sorry, but I'm having trouble finding them and I've looked up some hex editing tutorials which haven't given me any answers. Thanks!

    HxD works. Any hex editor where you can "go to" a byte works, basically.

    Does anyone know the offsets for Ruby where you change to fix the Blaze/Torrent/Overgrow glitch? I saw the ones for the physical/special class split but can't find the ones for fixing the glitch.
     
    69
    Posts
    11
    Years
    • Seen Jul 22, 2019
    I haven't posted it since then because I was:
    1) Testing the damned thing to make sure it worked
    2) Being busy with exams and coursework
    3) Having a life beyond hacking

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    .global LCDPSSGlitchFix
    main:
     ldr r0, [sp, #0x8]
     lsl r1, r0, #0x1
     add r1, r1, r0
     lsl r1, r1, #0x2
     ldr r0, attackdata
     add r0, r0, r1
     ldrb r0, [r0, #0x2]
     mov r11, r0
     mov r2, r11
     cmp r2, #0xD
     bne continue
     mov r0, #0x0
     str r0, [sp, #0x0]
     ldr r0, return
     bx r0
    continue: ldr r3, returntwo
     bx r3
    .align
    return: .word 0x0803F10D
    returntwo: .word 0x0803F127
    attackdata: .word 0x08250C04

    At 0x3F102, change the code to 01 4A 10 47 00 00 XX XX XX 08.

    That isn't all though, you also need to change:

    0803F126: 5B 46
    0803F14A: 58 46
    0803F17A: 5A 46
    0803F1AA: 58 46
    0803F1DA: 5A 46

    You should be good to go after that.

    What does this fix do? Is the ASM code part of the fix?
     

    DoesntKnowHowToPlay

    Tiny Umbrella with Lots and Lots of Good
    265
    Posts
    12
    Years
    • Seen Feb 24, 2024
    Now that I have enough posts to put this here I might as well for convenience's sake, it was rather rude of me to not just bypass the filter to get these links up:

    FR: http://www.mediafire.com/download/b4j6b4p1rq94l67/PhysSpecSplitFR1.6.ips
    Em: http://www.mediafire.com/download.php?ipcjia5b778zj8o

    Like with the other implementations in this thread, they work off the eleventh byte of the move data. They also implement the Special Defense boost in Sand, and jump through a number of other hoops to not break existing abilities and attacks, which is why I provide them as patches and not simple hex edits. Be aware that these patches do not touch the move table- you'll have to toggle the moves as physical or special yourself. I recommend using a hex editor or Nightmare for this, but PGE can also do the job (slowly).

    Credits go to Tailes for most of the work on the Emerald split.

    Also yes you can use these for your hacks just give credit you don't need to pm me for permission and plz don't
     
    Last edited:

    shinyabsol1

    Pokemon DarkJasper!?
    333
    Posts
    13
    Years
    • Seen Nov 23, 2022
    DoesntKnowHowToPlay said:
    Like with the other implementations in this thread, they work off the eleventh byte of the move data. They also implement the Special Defense boost in Sand, and jump through a number of other hoops to not break existing abilities and attacks, which is why I provide them as patches and not simple hex edits. Be aware that these patches do not touch the move table- you'll have to toggle the moves as physical or special yourself. I recommend using a hex editor or Nightmare for this, but PGE can also do the job (slowly).

    Will this split still work even if I have repointed the move data, attack names, etc?

    Just want to make sure before I patch this to my ROM.
     

    DoesntKnowHowToPlay

    Tiny Umbrella with Lots and Lots of Good
    265
    Posts
    12
    Years
    • Seen Feb 24, 2024
    Will this split still work even if I have repointed the move data, attack names, etc?

    Just want to make sure before I patch this to my ROM.

    You might need to fix a couple pointers to the old move data table, but it should still work.
     
    1,323
    Posts
    16
    Years
    • Seen Dec 9, 2023
    Now that I have enough posts to put this here I might as well for convenience's sake, it was rather rude of me to not just bypass the filter to get these links up:

    FR: http://www.mediafire.com/download.php?7e0m7xhmyaga2af
    Em: http://www.mediafire.com/download.php?5t81dh2ep0svp68

    Like with the other implementations in this thread, they work off the eleventh byte of the move data. They also implement the Special Defense boost in Sand, and jump through a number of other hoops to not break existing abilities and attacks, which is why I provide them as patches and not simple hex edits. Be aware that these patches do not touch the move table- you'll have to toggle the moves as physical or special yourself. I recommend using a hex editor or Nightmare for this, but PGE can also do the job (slowly).

    Credits go to Tailes for most of the work on the Emerald split.
    Is the FireRed one safe to apply if you've already applied an earlier version of that patch? (The one you posted on the Nuzlocke forums)
     
    69
    Posts
    11
    Years
    • Seen Jul 22, 2019
    You might need to fix a couple pointers to the old move data table, but it should still work.

    What do you mean by that? Do you need to change the new pointers back to the old ones before applying the patch or does it mean that the patch overwrites the changed pointers and you have to go back and change them again?
     

    DoesntKnowHowToPlay

    Tiny Umbrella with Lots and Lots of Good
    265
    Posts
    12
    Years
    • Seen Feb 24, 2024
    Is the FireRed one safe to apply if you've already applied an earlier version of that patch? (The one you posted on the Nuzlocke forums)

    It's the same as the most recent version from there, so if you have that one you won't need to. It should be safe though.

    What do you mean by that? Do you need to change the new pointers back to the old ones before applying the patch or does it mean that the patch overwrites the changed pointers and you have to go back and change them again?

    I meant that the patch may introduce new pointers to the old move table that you'll want to hunt down after applying it, but it looks like it uses the exiting pointers so that shouldn't actually be a problem.
     

    Ivee

    Ask me about Trailblazer :3
    66
    Posts
    14
    Years
    • Seen May 22, 2019
    You people are incredibly amazing. So it doesn't mess with the starter abilities/Flash Fire, or moves like Hidden Power? I plan to play with this tonight.
     

    shinyabsol1

    Pokemon DarkJasper!?
    333
    Posts
    13
    Years
    • Seen Nov 23, 2022
    dreamengine said:
    What do you mean by that? Do you need to change the new pointers back to the old ones before applying the patch or does it mean that the patch overwrites the changed pointers and you have to go back and change them again?

    DoesntKnowHowToPlay said:
    I meant that the patch may introduce new pointers to the old move table that you'll want to hunt down after applying it, but it looks like it uses the exiting pointers so that shouldn't actually be a problem.

    I can confirm that this patch works with repointed move data. I tested it out yesterday (without needing to correct any new pointers) and encountered no problems.
     
    10
    Posts
    11
    Years
    • Seen May 1, 2024
    HAPPY NEW YEAR!

    Here's the Emerald hack ported to the other games. I find it amusing that with this hack we got it working for Emerald first, then Ruby, and then FireRed, when usually it's the complete opposite. xD

    FireRed (US)
    Code:
    0803ED54: 80 7A
    0803F226: 00 29
    0803F228: 00 D0
    0803F38C: 02 2F
    0803F38E: 00 DB
    0803F394: 01 28
    0803F396: 00 D0

    Hi Darthatron, I'd really like to test out the Physical-Special Split on Fire Red, but I'm having trouble changing the bytes. I am using Hex Workshop and can't seem to locate what you typed in for Fire Red. I just started learning HEX Editing just to try out this P/S feature for 3rd generation games.
     

    PokemonMasters

    Always Remember Forever&After
    389
    Posts
    11
    Years
  • Hi Darthatron, I'd really like to test out the Physical-Special Split on Fire Red, but I'm having trouble changing the bytes. I am using Hex Workshop and can't seem to locate what you typed in for Fire Red. I just started learning HEX Editing just to try out this P/S feature for 3rd generation games.

    dont add 08 when searching. 08 just means its in the game ;)
     

    shinyabsol1

    Pokemon DarkJasper!?
    333
    Posts
    13
    Years
    • Seen Nov 23, 2022
    zabimaru1000 said:
    Are you sure I'm searching for HEX values? It still says the specified search string was not found even when I did not add 08.

    You misunderstand. You don't search for the bytes in the ROM, you goto the specified location. That's where you would remove the 08. So use your hex editor's "goto" function to find the place at which you need to change the bytes.

    So for the first one, goto offset 03ED54 and change the bytes there to 80 7A.
     
    10
    Posts
    11
    Years
    • Seen May 1, 2024
    You misunderstand. You don't search for the bytes in the ROM, you goto the specified location. That's where you would remove the 08. So use your hex editor's "goto" function to find the place at which you need to change the bytes.

    So for the first one, goto offset 03ED54 and change the bytes there to 80 7A.

    Thanks mate. I've got the "go to" part down, but I can't really find the exact bytes I need to change. When I go to 03ED54, I find 0003ED52 instead. Am I supposed to find those exact digits?

    EDIT: I've found the exact offset in 0003ED52, I'm at 03ED54 and where do I change the bytes to 80 and 7A? I can only change either 80 or 7A, do I have to change both at one offset?
     
    Last edited:

    shinyabsol1

    Pokemon DarkJasper!?
    333
    Posts
    13
    Years
    • Seen Nov 23, 2022
    zabimaru1000 said:
    Thanks mate. I've got the "go to" part down, but I can't really find the exact bytes I need to change. When I go to 03ED54, I find 0003ED52 instead. Am I supposed to find those exact digits?

    EDIT: I've found the exact offset in 0003ED52, I'm at 03ED54 and where do I change the bytes to 80 and 7A? I can only change either 80 or 7A, do I have to change both at one offset?

    When you goto 03ED54, the cursor will move to the place where you need to start changing bytes (or it might be highlighted or something depending on what hex editor you're using -- I'm using HxD). From that point,overwrite bytes with the specified bytes (80 7A).

    So in an unmodified FR ROM, 03ED54 should take you to an 80 byte, followed by 78 81 46 etc...

    So put the 80 7A bytes there. You will end up with 80 7A 81 46 etc...
     
    10
    Posts
    11
    Years
    • Seen May 1, 2024
    When you goto 03ED54, the cursor will move to the place where you need to start changing bytes (or it might be highlighted or something depending on what hex editor you're using -- I'm using HxD). From that point,overwrite bytes with the specified bytes (80 7A).

    So in an unmodified FR ROM, 03ED54 should take you to an 80 byte, followed by 78 81 46 etc...

    So put the 80 7A bytes there. You will end up with 80 7A 81 46 etc...

    Okay, so I've entered all of the bytes. Is that all there is to it? If so, then are the moves in 3rd gen split into Physical and Special moves? Like Shadow Ball is special and Waterfall is physical?
     

    tajaros

    Hi I'm dawg
    855
    Posts
    12
    Years
  • Okay, so I've entered all of the bytes. Is that all there is to it? If so, then are the moves in 3rd gen split into Physical and Special moves? Like Shadow Ball is special and Waterfall is physical?

    No, you have to edit it manually you can use either a hex editor or PGE.
     
    Back
    Top