Pokemon Y Randomizer Confliction with CIA patch through Citra Nightly

Enter a description of your issue here, in full detail.
I’m really not sure what exactly the issue is here, but I am aware of what is causing it. In short, when I load Pokemon Y using Citra Nightly, specifically 1780 as that’s the last stable version I found that allowed me to experiment, does NOT allow cheats in any capacity, as nearly every cheat available online is written for version 1.5. However, I have successfully acquired a v1.5 cia patch file, and used it with Citra to perfect effect, besides one thing, which was randomizers. Without the patch, Citra shows the Randomized file with a large string of numbers labeled as the randomizer seed in the main menu, but upon applying the patch, all copies instantly lose their Randomizer seed, and the only way to use the randomized copy of the game with all the changes is to manually delete the patch CIA info from within Citra’s save data for the game. Thus, one cannot use cheats on a randomized copy of the game this way.

I have attempted to resolve this myself with no luck, I went so far as to decompile the entire 3ds game with another program and attempt to recompile it with the cia file. This did technically work, the game was recompiled and the file is notably larger, yet running the game on Citra still has it reading as 1.0, and no change. Unfortunately, the way Citra handles save data and randomized game files makes it functionally impossible to have the randomized copies unpatched and the regular game file patched, since they’re all saved under the same game ID and share the folder internally.

So I figured the only other route would be to see if there’s another method of manually applying a patch and baking it into the game file. My best guess is the patch file is loaded over the game file you attempt to play, and thus any randomized file has it’s info re-written as the patch is applied over it, even though the randomizer is still edited underneath the patch. So logically applying the patch to a fresh version of Pokemon Y, then randomizing the newly patched ROM is the best solution, which I don’t know if that’s even possible.

It’s a longshot but I was hoping someone more versed in rom editing might have some insight.

[TL/DR] Citra doesn’t allow Randomized Pokemon Y to be patched up to 1.5.
System Information

  • Operating System: Windows 10
  • CPU: Intel(R) Core i7-4770 @3.40GHz
  • GPU: Radeon RX 580 Series
  • Citra Version (found in title bar): Citra Nightly 1780
  • Game: Pokemon Y
  • Screenshot of Issue (include the full Citra window including titlebar):

    This is without the patch applied, two of the roms have a large randomizer seed above the filename.

    After the CIA patch file is applied using Citra, the randomizer seeds no longer appear, every copy is now identical despite randomizer changes.

Diagnostic Log
Upload your log file as an attachment by dragging & dropping.
citra_log.txt (8.3 KB)
In order to save a copy of the log, follow this guide:

No game was booted in your log. If you are experiencing a crash then do not open citra again until after you posted the log as it gets purged when you reopen citra.
For more information, see How to Upload the Log File

citra_log.txt (41.8 KB)
updated log

System Information for Support

Client Version                               Nightly 1780   HEAD-ec7dc88
Operating System                             Windows 10 (10.0)
CPU                                          Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz | AVX2 | FMA
Graphics API                                 OpenGL 3.3.1
Graphics Renderer                            Radeon RX 580 Series
GPU Driver Version                  30.0.13023.4001
CPU JIT                                      [x]
Hardware Renderer                            [x]
Hardware Shader                              [x]
Hardware Shader, Accurate Multiplication     [x]
Shader JIT                                   [x]
System Region                                -1
Shader Disk Cache                            [x]

Here’s some issues I found with your log that might help.

  • Due to AMD’s poorly optimized OpenGL driver, you may experience slowdowns.
  • The CPU Clock percentage is not 100%. You may experience unexpected game speed.
  • You have mods installed. This might cause weird behaviour or crashes. Please disable them and retest if your game is experiencing bugs or crashes.

Please go to AMD Drivers and Support | AMD and get optional update to 22.8.2

I did do so, scary installation process but it doesn’t fix the actual issue?

To be clear, your entire reason for wanting to install both the randomization and the game update is to use cheat codes, correct? If so, then this isn’t something worth pursuing, and here’s why:

The same reason why cheats created for game version A don’t work for game update version C is because as soon as any edits are made to the game files, the memory addresses change. Cheats, are essentially memory injects. They change a value in the game’s memory, which then has an effect in-game.

This means that any new game update → memory addresses change, cheats for the previous update version no longer function.
This also means that any randomization applied → memory addresses change, cheats for the base version of the game no longer function.
Same thing goes for anything else that edits the base game in any way, like a ROM hack.

Using cheat codes is very risky when you’ve randomized your game. You’re better off just using PKHeX to edit your save file to add in whatever the cheat codes would’ve done. It’s safer and easier.

There are some randomizers that allow you to patch the update file with the randomization you’ve created, like this one: Releases · Ajarmar/universal-pokemon-randomizer-zx · GitHub
This allows you to have both your randomization, and update 1.5 installed at the same time. However, this still will not allow you to use update 1.5 cheat codes, as explained above. Since the memory addresses will still be different.

1 Like

Ah thank you so much, I kinda knew that this was the actual issue, I just don’t know enough about roms and such to have figured it out. Thanks for actually taking the time to explain it though! You’ve saved me quite a few hours of fruitless research.

1 Like