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

Hi! I'm new here and I have some questions

10
Posts
2
Years
    • Seen Apr 27, 2024
    I found this post trying to find how to make some changes to decompiled pokemon roms: https://www.pokecommunity.com/showthread.php?t=435445
    And I thought I could asks some questions:
    Is there any way I could just code physical/special split with images into the decompiled code?
    Also, is there any way I could decompile a pokemon rom that is not in english, find the texts files, and replace the ones found in the pokeemerald/data/text/ folder, to instantly translate the game?
    If I do these things, would the rom file still be compatible with the universal randomizer?
    Sorry if some of these questions are really dumb, I didn't where to ask
    Thank you!
     

    McPaul

    On my way to become a controversial and hated memb
    288
    Posts
    6
    Years
  • Physical/Special split is possible with the Conplete Upgrade or something like this.

    For text translation I think it might be possible with not too much work. Never tried. (I'm a French speaker)

    For Universal Randomizer the answer is no unfortunately. Compilation after changes totally messes with the order and place of the offsets, which makes Universal Randomizer completely useless as far as I know.
    Someone correct me if I'm wrong though.
     

    Lunos

    Random Uruguayan User
    3,115
    Posts
    15
    Years
  • Is there any way I could just code physical/special split with images into the decompiled code?
    Yes. You literally have the entire source code that composes the game for you to do whatever you want with it.
    There's a tutorial on how to implement the PSS Split posted in the Pokeemerald wiki.
    https://github.com/pret/pokeemerald/wiki/add-physical-special-split

    As for the icons on the summary screen, the battle_engine branch of the Pokeemerald-expansion project already did it.
    https://github.com/rh-hideout/pokee...engine/include/constants/battle_config.h#L148
    You can backtrack the usages of B_SHOW_SPLIT_ICON in the project using either GitHub's search bar or git grep, if you're interested in porting them to some other project.
    Also, is there any way I could decompile a pokemon rom that is not in english, find the texts files, and replace the ones found in the pokeemerald/data/text/ folder, to instantly translate the game?
    Perhaps using IDA Pro or Ghidra, but chances are you'll have to know your way around those programs to accomplish the task.

    These projects took years of work poured into them to reach their current state. The people from Pret dumped the games' code in ASM and manually translated each routine to a C function that matches what Game Freak wrote back in the day functionally, in order to produce a matching ROM.
    If I do these things, would the rom file still be compatible with the universal randomizer?
    Probably not.
    UPR reads hardcoded data from the vanilla ROMs of the games, so more than likely, you'll have to fork it and modify the source code of the program.
    https://github.com/Dabomstew/univer...stew/pkrandom/romhandlers/Gen3RomHandler.java
     
    Last edited:
    10
    Posts
    2
    Years
    • Seen Apr 27, 2024
    Thank you for your detailed answer!
    Also, are you this guy? https://whackahack.com/foro/threads...e-experiencia-estilo-gen-6-aka-exp-all.56950/
    I tried to "mix" your firered code in that page (only the src/battle_script_commands.c changes) with this one https://www.pokecommunity.com/showthread.php?t=435445 in firered too so I can have gen 6 exp share and gym level cap
    But exp share is not working for me. I want it as a permanent feature rather than an object, so its always activated. I replaced every "gSaveBlock2Ptr->expShare" with just "true" so its always activated I assume. Should that be enough for it to work?
    Edit: Ok nevermind, it was compiling "true" when actually in C it should be "1" hehe
     
    Last edited:
    Back
    Top