GBA RNG Randomizer


Looked at a tutorial for it (involved Pokemon Firered, won’t be useful to you), those numbers are the offsets. So I looked around a bit more, and found a Markyjoe tutorial for offsets. So I think I’m set now. Thank you for helping me out and being patient, though!


Nice hack. I’ve always hated GBA FE’s broken RNG, and from some testing this completely solves the problem.

Unfortunately, it also seems to completely break suspend/resume when combined with the Skill System. Any chance of a fix?


The skill system is a bit complex and I didn’t design this with that in mind. Potentially I could but it’s not a high priority. Try taking out parts of the skill system if there are things you don’t need and perhaps that will help. Most likely something else changed a part of the ROM that I did (probably the suspend/resume part).


I’d imagine there are a lot of things in the skill system that need to alter suspend data, since it can apply buffs and debuffs. Not sure I’m willing to lose that capability.

What about the other way around? Could I remove the parts of RNG Randomizer that alter suspend/resume? I’m not terribly concerned about people abusing by resetting/resuming in the middle of attacks (since if they really want to cheat they can just save state/load state until they get the desired result).

Either way, I guess it’s yet another reason to add to the ‘list of reasons to learn ASM hacking’.


Sure you could probably remove the part of it that writes to the resume function and it would still function, but it would have the problem you said.


Good enough for now. Maybe I’ll try my hand at a better fix later, but for now I want to focus on just learning the basics (since I’ve been doing this for less than a week), rather than trying to make ASM hacks compatible.

Thanks for the help.


Do you know how the randomizer works during enemy phase/battles? I know it advances per frame on player phase, but what about then?


The code only burns random numbers if the phase is set to 00 aka player phase.


Finally got around to taking another look at this, and… I have no clue what was going on before, I must have broken something else or my ancient vba-m was the problem (have since updated).

However, I’m testing a vanilla fe8 rom with just RNGRandomizer applied, and if I restart mid battle and then resume I end up with different results. Specifically, restarting the game during the enemy phase and resuming gives me different results. It seems to work fine during player phase.


I did some preliminary testing on it earlier and I was able to get different results on player phase but not enemy phase. I will look into it more later to try to see what’s going on.


Fixed code that was causing the FE8 RNG to become incorrect when resuming your game. No$GBA doesn’t like my fix but VBA and Bizhawk do fine and are working properly.


For some reason, adding RNGRandomizer to Order of the Crimson Arm (FE7) stops the game from loading. I’m just doing this for my own playthrough, but I can’t figure out what went wrong. I used both FEBuilder and EA, so it’s not exclusive to either. Do you happen to have an idea?
If not, that’s fine, I can deal without. But it’s something I’d like to understand.


did the old version do this? Otherwise I don’t know anything that might cause the problem. It’s possible I have to change my fix for FE8 or it’s just not compatible.


I downloaded the latest patch like 5 days ago. It’s not age, at least I don’t think it is.

EDIT (so I don’t double post): The method I use to patch work so on other ROMs, like FE Requiem and a couple others. So it’s something to do with the ROM.


Then the patch isn’t compatible, get over it. If you downloaded it 5 days ago then you don’t have the most recent version, which means my update wasn’t the problem. That’s all I was concerned with, not your patch being too old, quite the opposite actually.

BTW: By not compatible I mean the ROM and the patch just won’t work together and there’s nothing I can do.


From my testing on FE8, RNGRandomizer now works perfectly fine irt suspend/resume. I only tested VBA-M though.


seemed to work fine to me, it just crashed no$ lol.


Ok I’ll deal. I just wasn’t sure, and I said I’d be fine earlier.