• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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: Pokémon Fire Red Hacked Engine

cooley

///Keepin' it simple
1,148
Posts
17
Years
Thank you!!

It´s a great patch, maybe the bets i've seen.

but one thing... how do I insert the source codes.. i mean, have them but I don't know how to put them, in an hex edtior?
a script?
i'm triying to do the overworld thing but I don't know where to put the codes can someone help me please? i'm not familiar with this.. sorry
if it's by an asm editor... could you give me the download link?
I have vista and I can't open mine ...

I'm looking forward to more things, keept up the good work! :)
Yeah, with an ASM compiler like GoldRoad or Devkit.
After you've managed to compile it, it creates a .bin file, which you open in Hex and copy the routine and paste it into blank space in your ROM. But be careful, it has to end with 0 4 8 or C, and when you call the routine, like:

callasm 0x805054

You must add 1 to it, like this:

callasm 0x805054 + 1 = 0x805055

Simple enough. But Here's a link, to learn about more ASM:
HackMew's Knowledge
 

TAKUORO

Pyro from WAH ;D
61
Posts
14
Years
Ok thank you very much!!

I already compiled it but one thing...... i tried to do the OW expand thing

after I paste the code into the rom with the hex editor...can I paste it in any offset?
(of course, it must be 0,4,c,etc...)
or it must be at the offset next to the OW pallets and sprites?


another thing... When i do it... I still can change the palletas and sprites in the overworld editor?
Or I will have to d change them by hex?

EDIT: I paste it next to the OW data and when I open it with the Ow editor this show up:
Spoiler:


again.. sorry.. but it's a little difficult for me :P

 
Last edited:

JPAN

pokemon rom researcher
104
Posts
15
Years
  • Seen Jul 2, 2016
Ok thank you very much!!

I already compiled it but one thing...... i tried to do the OW expand thing

after I paste the code into the rom with the hex editor...can I paste it in any offset?
(of course, it must be 0,4,c,etc...)
or it must be at the offset next to the OW pallets and sprites?

another thing... When i do it... I still can change the palletas and sprites in the overworld editor?
Or I will have to d change them by hex?

Some part of the code must be pasted over the old function. Those piece of code are identified by the comment before it telling you where to paste it. They are generaly only 8 bytes, and have four zeroed bytes in front of it. those bytes are the pointer, in reverse, for where you put the rest of the functions.
In the case of the Overworld code, you can find those type three times along the code. To identify them, just look out for sets of four or more 0's. There is only one exception to this, that is right after 6f e9 05 08, which is a shift to replace the overworld cleaner.
If you used devkitPRO Arm as.exe, the result will be a a.out where the compiled code starts at 0x34. copy from there if you use it.
The reason I din't provide a compiled code for this feature is that this is the only code that isn't copy-paste onto the game. The instructions at the source file tells you where to put it, but you still need to know how to identify them. Knowing Thumb helps greatly here.

On a final note, OW Editor was made not using the OW person pointers but the OW data in the ROM directly. As such, it doesn't recognise the changes at the OW number and Pallete number. It will always only allow you to edit the original ones, so if you wish to edit a new table, you must use another ROM and copy the data after you are done.
 
581
Posts
17
Years
Some part of the code must be pasted over the old function. Those piece of code are identified by the comment before it telling you where to paste it. They are generaly only 8 bytes, and have four zeroed bytes in front of it. those bytes are the pointer, in reverse, for where you put the rest of the functions.
In the case of the Overworld code, you can find those type three times along the code. To identify them, just look out for sets of four or more 0's. There is only one exception to this, that is right after 6f e9 05 08, which is a shift to replace the overworld cleaner.
If you used devkitPRO Arm as.exe, the result will be a a.out where the compiled code starts at 0x34. copy from there if you use it.
The reason I din't provide a compiled code for this feature is that this is the only code that isn't copy-paste onto the game. The instructions at the source file tells you where to put it, but you still need to know how to identify them. Knowing Thumb helps greatly here.

On a final note, OW Editor was made not using the OW person pointers but the OW data in the ROM directly. As such, it doesn't recognise the changes at the OW number and Pallete number. It will always only allow you to edit the original ones, so if you wish to edit a new table, you must use another ROM and copy the data after you are done.
*Tip: You can just edit the ini or source for the overworld editor.
 

TAKUORO

Pyro from WAH ;D
61
Posts
14
Years
*Tip: You can just edit the ini or source for the overworld editor.


I don't know how xD

One thing...I have a bug... when I use a special, anyone, the game frezees, after 5 or 6 seconds the game restarts....It happens in all the roms I use, I only add a code and this happens, it happens after 4 or 5 hours after I used the code...It's weird..this never happened before...and a friend also has this bug...

Ah!!
another thing!

In wich offset I must put the code for increase the OW's and pallete's?

i try and try but in all offsets I put it it messes up the rom!
Thanks

And a question.....you will continue the path..adding more specials, more codes, etc..?
Or you will leave it like this?
I will love one of this for emerald :D
 

Craver

I'm From WAH!
45
Posts
15
Years
Greetings everyone. I have come before you today to present you the project I've been working on for the last month. I call it Pokemon Fire Red Hacked (Tentative Title).

But what is this? Well, this is a small patch that rewrites a part of the main game engine, in order to increase the number of options you have as a ROM hacker. This include several features I've heard people complaining about and requesting, as well as some that just popped in my head.

This is a work in progress, and I aspire for it to become one day a compiled colection of all that only ASM can make possible without having to know ASM to pull it off. So, please, feel free to suggest new features and present your own if you want. You will be credited for it, of course.






Features
  • Support for over sixty thousand different OWs, as well as access to fourty-six hundred different palettes
  • Hacks preformed in the Battle system allow you to choose options for your hack, including Status-ridden pokemon, Shinies and creation of swarm events
  • Access to GBA Hardware function through new Specials that allow you to create Timed events and Button dependent events
  • All processor math and logic functions available for your variables
  • Dynamic multichoice boxes that can be changed Runtime, making them limitless
  • A fully-fledged pokemon decryption system accessed through variables that allow you to read and edit almost all information encrypted and locked away inside your pokemon.
  • Edited some of the old Specials, allowing for replacing the Old man Pokemon and Ghost Marowak with new pokemon, as well as a new version of the Pokemon Size minigame (the Heracross and Magikarp ones)
  • Edited the Fossil Special (from pewter museum). Now it can hold 256 different 64 by 64 pixel uncompressed images
  • Edit what every Behaviour byte does when you press A in front of it(scripts), allowing for things like headbutt trees
  • Choose where you go when you die, even if it's not a pokecenter.
Also incuded in the pack is a Instruction booklet explaining the functions and some examples of those functions. Some gameplay mechanics are explained there that doesn't apply only to this hack.

This Patch should be aplied first, then any other Rom base that you want. It should have no problem working, but I didn't test them all (as long as they didnt write it over the old scripts, is should be fine). This patch is based on the "clean" patch I gave away some time now, so all scripts, people and Signposts are gone.

First update:
I corrected all the reported bugs, and they seem to work right now. Also, the Swarm-Roam code and the Wild code are compatible with eachother, and both have been added new features.
Added Behaviour byte scripts. You can now run scripts such as the defaults for cabinets and bookshelves on all bytes. Not advised to overwrite the water Bytes, but if you really want to, you have that option.
Created a function that replaces the SethealingPlace determination of your retreat place when you whiteout.

Hey, friend. Would you hack a EMERALD ROM too?

If u think, isn't a bad idea.!
 

Lyzo

Back from vacation
261
Posts
17
Years
I'm not sure if anyone has been having this problem but...
I applied this patch to a clean ROM and started hacking some things to test it, when scripts were implemented I started up the game. I Talked with Prof. Oak, chose to be a male, and then the screen went black when it should go to the naming part.
I first thought that I had an unclean ROM so I tried the ROM without patching it. The naming worked... So I think that because this ASM routine cleans out all the scripts, it also cleans out the naming script, which means that any naming things that happen in game(naming pokemon, yourself, and whatnot) will basically freeze the game in a black screen. If you could fix this, please do. If I'm doing something wrong and really stupid please tell me :P
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
I'm not sure if anyone has been having this problem but...
I applied this patch to a clean ROM and started hacking some things to test it, when scripts were implemented I started up the game. I Talked with Prof. Oak, chose to be a male, and then the screen went black when it should go to the naming part.
I first thought that I had an unclean ROM so I tried the ROM without patching it. The naming worked... So I think that because this ASM routine cleans out all the scripts, it also cleans out the naming script, which means that any naming things that happen in game(naming pokemon, yourself, and whatnot) will basically freeze the game in a black screen. If you could fix this, please do. If I'm doing something wrong and really stupid please tell me :P

I definitely haven't had that problem. Make sure you applied the patch to a clean ROM. Downloaded a different one if needed.
 

Lyzo

Back from vacation
261
Posts
17
Years
Ah, fixed my problem. I'm guessing this patch only works for FireRed (U)? Because it doesn't have the weird name glitch on FireRed (U). :P
 

Deokishisu

Mr. Magius
989
Posts
18
Years
I'm having a slight problem, how exactly are the new sethealingplace variables supposed to work in a script? Could you please give an example? I've tried a few things on my own, but I keep ending up at Map 0.0, the link battle map.

By the way, extraordinary work. I've already restarted some of my "little" projects onto your engine and I find your new commands and the expanded capabilities extremely useful. Well done, and thank you!
 
224
Posts
16
Years
  • Seen Mar 8, 2016
I just tested many of the specials, and they're all awesome! Do you mind just explaining to me how I edit the ini file in OW editor? When I do I can't edit more than the first frame of the sprite.

Thanks a lot man. Any chance of DayandNight and RTC in the future?
 
Last edited:
5,854
Posts
17
Years
  • Age 34
  • Seen Dec 8, 2023
I'm having a slight problem, how exactly are the new sethealingplace variables supposed to work in a script? Could you please give an example? I've tried a few things on my own, but I keep ending up at Map 0.0, the link battle map.
I was confused at first as well, but it's pretty simple actually.

I just did this for my own hack, but it should be easy to copy for yourself.

Code:
sethealingplace 0x1 
setvar 0x405a 0x0003 'Map.Bank: 00.03'
setvar 0x405b 0x0005 'X: 05'
setvar 0x405c 0x000c 'Y: 0C'

Just replace the hexidecimal numbers as needed and insert into your script.

Note: sethealingplace 0x1 is for places without a healing machine. If you want to use a PokéCenter, use sethealingplace 0x0.

btw JPAN, when I do get returned to sethealingplace 0x1 after whiting out, the text from the Mom healing script is displayed. Is it because of sethealingplace 0x1 or because of special 0x0?
MOM: [PLAYER]! Welcome home.
It sounds like you had quite an experience.
Maybe you should take a quick rest.
*healing*
and so on.
Anyway can you change that or should I just do it myself through A-Text?
edit: hmm, it seems that A-Text can't edit that bit of dialogue, or at least as far as I see it can't. I MUST FIND ANOTHER PATH.
 
Last edited:

Sierraffinity

Desperately trying to retire from ROM hacking
1,069
Posts
16
Years
I was confused at first as well, but it's pretty simple actually.

I just did this for my own hack, but it should be easy to copy for yourself.

Code:
sethealingplace 0x1 
setvar 0x405a 0x0003 'Map.Bank: 00.03'
setvar 0x405b 0x0005 'X: 05'
setvar 0x405c 0x000c 'Y: 0C'
Just replace the hexidecimal numbers as needed and insert into your script.

Note: sethealingplace 0x1 is for places without a healing machine. If you want to use a PokéCenter, use sethealingplace 0x0.

btw JPAN, when I do get returned to sethealingplace 0x1 after whiting out, the text from the Mom healing script is displayed. Is it because of sethealingplace 0x1 or because of special 0x0?

Anyway can you change that or should I just do it myself through A-Text?
edit: hmm, it seems that A-Text can't edit that bit of dialogue, or at least as far as I see it can't. I MUST FIND ANOTHER PATH.
What so you mean? A-Text edits it perfectly fine. I edited it to make a "healing PC"... before I found this patch.
 

Quickster

Dream or Drop?
351
Posts
16
Years
  • Seen Apr 4, 2016
I have a question about the timer because I dont fully understand it. Say I wanted to use it to simulate a day night script, would I set it and have it check for whatever the designated time to change to night is. If its set does it continue after you save and then close the emulator,or does it only go if you are playing? (sorry if im not clear enough.)
 
44
Posts
15
Years
Where do the flags start? I have a list of them from the base rom, but if you cleared all of the scripts out, that means you killed most of the ingame flags as well, correct?
 

sonic1

ASM is my life now...
77
Posts
15
Years
Prob

Hi:)

Your 2nd update is awesome.That problem of wild poke script was fixed indeed:D

...But i have another problem.I know you changed the behavior of tiles,but i think thats because of that that some tiles don't have the right behavior,or losed it.
More specifically, by example,the ice don't breaks when we step on it. (see the attachement gif to understand better)

There's a fix for it?

Thank you,
~Sonic1~
 
219
Posts
16
Years
Hi,JPAN,after doing some hacking based on this engine,I have something in doubt:
1.In the explaining of the OW data in map, you said the movement in AM never used.But chack the Cut-Able-Tree,the movement is used.-----I found every OW got 11 in that movement,so it does no used...

2.In the OW data ,there must be some bytes about OW's gender.You can see when talk to a gril OW,the fonts are red,but blue ones when a man .But I didn't see whatever about gender in that table, is it missed?
 
Last edited:

Banjora Marxvile

hOI!!!!!! i'm tEMMIE!!
3,496
Posts
15
Years
  • Age 30
  • Seen yesterday
Hi,JPAN,after doing some hacking based on this engine,I have something in doubt:
1.In the explaining of the OW data in map, you said the movement in AM never used.But chack the Cut-Able-Tree,the movement is used.

2.In the OW data ,there must be some bytes about OW's gender.You can see when talk to a gril OW,the fonts are red,but blue ones when a man or black when Team Rockets.But I didn't see whatever about gender in that table, is it missed?

The text colours is in the scripts in Firered normally, and is editable by Script Editing, not in the OWs.
 
Back
Top