Advertiser Content

FireRed FireRed 649 Patch

Started by Jambo51 November 22nd, 2011 4:48 AM
  • 165222 views
  • 433 replies
  • Public Poll

Hack save routine for extra saveable space? Would break compatibility with flashcarts

  • 21.05%
  • 73.68%
  • 5.26%

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
This is not a hack. You cannot catch all 649 Pokémon just using my patch. It is a BASE for hackers to create hacks with.

However, as it is still an early alpha, you may only test the base, not base a hack on it. If I see any hacks based on it, I will request their removal!


This is a thread for the posting of bugs/issues related to the named patch above. Needless to say, the links to the patch will also be kept below.

This patch is a MASSIVE overhaul of a lot of FireRed's code which opens up many possibilities related to some of the things introduced in generations later than generation III.

Current Released Version: Alpha 3

Included in this patch:

Extended Pokédex - All Pokémon currently available (as of 22/11/2011) are included in the patch - cries, sprites and all.
New Moves - All moves currently available are included.
New Abilities - All abilities currently available are included.
Extra TMs - Added 45 new and extra TMs. Changed all TMs to match Gen V's set.
Formes - Yes, that's right. Formes are possible using this patch.
Extra Items - Added an extra 300 items to the game. No more worrying about replacing existing items!
Extra Direct Music Tracks - OK, not strictly part of the extension. But nice to have anyway, no? Now have 12 direct tracks available instead of the standard measly 5.
Random Double Wild Battles - There will be a chance of any grass location to randomly produce a double wild battle. This can be increased or decreased in likelihood or stopped altogether if wanted.
Proper Regional Pokédexes - The ability to create and use a custom regional Pokédex on FireRed. Included in this is the ability to have new generation Pokémon evolve without needing the National Pokédex.
New Physical/Special Split - Avoids the pitfalls of the older system by simply replacing one small part of the existing system, instead of the whole thing.
Black/White Experience Gain System - That's right. I've added the experience gain formula from Pokémon Black/White to my ROM. I don't even force you to use it, if you don't want to! It's deactivatable/activatable with the simple setting of a flag.
Decapitalisation - The ROM doesn't shout at you any more!
Hidden Abilities - It is possible to define a condition within your ROM which will give any Pokémon caught which meet this condition their hidden ability.

Known Bug List:
Spoiler:

No way to activate the new formes. You can manually activate them (Note: no sprites, just types) by setting the 27th byte of the Pokémon party data to something other than 0. However, the formes are only applicable to the upper half of the byte. That is, 0x10, 0x20, 0x30 (etc).

Size comparison is WAAAAAY off. All new Pokémon are Pikachu sized in the comparison.

Some moves do not have the correct effect.

The moves are still in development, and may not match their gen 5 counterparts 100%.

The new moves all use the old animations, literally copied and pasted into the new slots. This will be rectified at a later date.

Couple of weird graphical bugs

A-Map doesn't support the new Pokémon in its wild editor. There is nothing I can do about that.

No Pokémon above Duosion has valid sprite data. They will most likely crash the game if you attempt to use them.

I haven't yet added the pallet getting code modifications for most formes, so the game will default to the basic pallet regardless of forme.


Last but not least; The link to it:
Basic Alpha 3 ips: Discontinued due to people reporting fixed bugs
Live Beta Patch: http://dl.dropbox.com/u/24219056/649%20Patch%20LB.ips
std.rbh: http://dl.dropbox.com/u/24219056/std.rbh
stditems.rbh: http://dl.dropbox.com/u/24219056/stditems.rbh
stdpoke.rbh: http://dl.dropbox.com/u/24219056/stdpoke.rbh
INI: http://dl.dropbox.com/u/24219056/roms.ini
This INI is for PGE, but it should contain most (if not all) of the relevant pointers/data.

Please note that while this live beta is based on the same system as LC, I will not maintain a Live Log. It's far too much effort on top of making the basic patch itself.

How to change Rotom's Forme:
Spoiler:
You will need 1 script each for each of Rotom's formes, or a clever combination of scripts - I don't care which. The core part of what you need to do is have this script accessed by your calling script:
#dynamic 0xB2A000
 
#org @main
lock
special 0x9F
waitstate
setvar 0x8005 [WHICH FORME YOU WANT]
callasm 0x08755E31
compare LASTRESULT 0x1
if 0x1 goto @failed
end
 
#org @failed
msgbox @itfailed 0x4
closeonkeypress
end
 
#org @itfailed
= You did not select a Rotom.
The forme IDs are listed in std.rbh, so that you only need to remember this following set of values, rather than the actual hex values:
Spoiler:
FORME_HEATROTOM
FORME_WASHROTOM
FORME_FROSTROTOM
FORME_FANROTOM
FORME_MOWROTOM


How Basculin Works:
Spoiler:
Currently, the code randomly picks one of the 2 striped forms when generating a Basculin. This should apply to both trainer battles and wild battles. Should you only want one to appear in your game, but still be able to support the "other" Basculin being shown, do the following hex edits:

087669F8: XX 20
087669FA: 00 00

Where the XX is:
00 - Red Striped Basculin
01 - Blue Striped Basculin

If you do this, only the Basculin you chose will ever be generated in your hack, but should the need arise for the "other" to be shown, it will still work perfectly well.


How Burmy Works:
Spoiler:
When a Burmy is GENERATED, the game checks what type of terrain you are in. It switches the cloak based on this. Captured Burmies are NOT yet capable of switching cloak. The distinct Burmies CAN be caught if you encounter (and capture) them. I have not yet tested it, but it should carry this cloak into its evolution into Wormadam. Obviously, it loses it if evolving into Mothim.


To deactivate the BW Exp System (but still have Exp Gain), simply set flag 0x8D0. To disable Exp Gain altogether, set flag 0x8D1.

Flag 0x8D1 takes precedence, so if you set flag 0x8D1, you won't get any experience from either exp system. If you set flag 0x8D0, the game willl revert to its standard Gen 1-4 exp system. If you clear both flags, the game will use my new BW Exp System.

Credits:
Myself (Jambo51) - Creater/Owner of the patch.
LinkandZelda - For listening to me spout absolute rubbish, for keeping me focussed when my mind wandered and most importantly, for urging me to keep going when I hit a game killing bug. He was also indirectly responsible for the addition of a couple of other little things, by asking me for help with LC.
Diegoisawesome - For being insanely patient with me while I developed this.
NintendoBoyDX - For finding a list of potential limiters for me to check (among other things).
Gamer2020 - For his wonderful PGE tool, and for listening to me talking absolute rubbish about my ideas for the patch, and for explaining how the addition of new moves worked.
knizz - His guidance led me to the finding of the seen/caught flags, a major (if invisible) part of this hack and a lot of my knowledge is built on knizz's discoveries.
HackMew - His short, but very sweet, tutorial on ASM, as well as all the other wonderful things he's achieved/released since (and before as well) I came to PC. I've always strived to be a bit like HackMew. His small hack to make the field effects of Magma Armour/Flame Body work is included too, so credit to HackMew for the routine.
JPAN - Most of my routines are built in the same style as JPAN's because it was what I looked at to gain a comprehension of the code. A few of my routines are extensions of his in many ways. For the save block hack as well - without it, this patch could not exist.
Prime_Dialga - For his wonderful DNS tool, and for letting me include it in the patch as standard.
WesleyFG, ChaosRush, Miyuki, Ingrid, Icy and Wiznatts - For the 4th and 5th Generation sprites included in the upcoming version of the hack. Thanks guys! The new sprites look so much better!
dudedude1 / Speedster and link12552 - For inserting the footprints for me!
Darthatron - For working out how to show the category images, and for sharing that code. Also for sharing the physical/special split code. Thanks man!
crowlover - For finding so many little bugs and issues and reporting them to me. Helped massively!
LCCoolJ95 - All the movesets and TM/HM Learnsets
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Satoshi Ookami

Memento Mori

Age 27
Male
Abyss of Time, Great Seal
Seen August 5th, 2018
Posted July 3rd, 2018
14,530 posts
11.1 Years
Wow! This is big step in advanced hacking!
Jambo, once again, you did oustanding job!
I'm really looking forward to seeing more of this patch.
ROM hacking FAQ - Read before asking how to play a hack.

Anime List | PSN Trophy List

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
The link to the patch isn't working.
Sorry, I ballsed up the copying of the link. Fixed now.

Wow! This is big step in advanced hacking!
Jambo, once again, you did oustanding job!
I'm really looking forward to seeing more of this patch.
Thanks, and you're welcome. Remember, though, that I don't want people to make hacks based on this yet. It's too buggy to allow this, and if I let people make hacks, it would pick up a bad reputation because of the existing bugs.

I hope you understand. :)
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Male
Seen February 10th, 2012
Posted December 9th, 2011
141 posts
8.5 Years
Hey Jambo. I'm sad to say I won't be able to do the footprints. I've was able to find the offset of the first footprint but it would take a while to find an offset for every single one. Also, I would have no way of checking if the footprints worked because I can't have the pokemon appear in an area with A-Map. If you have the offsets for each footprint I may still be able to do it. I will still try and get all the Pokemon movesets insert though. Keep up the good progress.

Satoshi Ookami

Memento Mori

Age 27
Male
Abyss of Time, Great Seal
Seen August 5th, 2018
Posted July 3rd, 2018
14,530 posts
11.1 Years
Thanks, and you're welcome. Remember, though, that I don't want people to make hacks based on this yet. It's too buggy to allow this, and if I let people make hacks, it would pick up a bad reputation because of the existing bugs.

I hope you understand. :)
Yeah, I know what you mean =)
I'm sure you will perfect this in no time ;)
I'm wishin' you the best of luck =)
ROM hacking FAQ - Read before asking how to play a hack.

Anime List | PSN Trophy List

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
Hey Jambo. I'm sad to say I won't be able to do the footprints. I've was able to find the offset of the first footprint but it would take a while to find an offset for every single one. Also, I would have no way of checking if the footprints worked because I can't have the pokemon appear in an area with A-Map. If you have the offsets for each footprint I may still be able to do it. I will still try and get all the Pokemon movesets insert though. Keep up the good progress.
If you want to check them, open the memory viewer in VBA, and go to 0x0203E000.

Then change the next 164 bytes in that memory location to 0xFFs. This should fill out your Pokédex, allowing you to see the footprints. Also, just overwrite the existing footprints. Stick them in National Dex order, starting with Turtwig in Bulbasaur's slot (and so on) and I can easily copy and paste them into the main ROM if you provide me with the ROM when you're done.

Also, a huge thanks for doing it in the first place.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Male
Seen February 10th, 2012
Posted December 9th, 2011
141 posts
8.5 Years
If you want to check them, open the memory viewer in VBA, and go to 0x0203E000.

Then change the next 164 bytes in that memory location to 0xFFs. This should fill out your Pokédex, allowing you to see the footprints. Also, just overwrite the existing footprints. Stick them in National Dex order, starting with Turtwig in Bulbasaur's slot (and so on) and I can easily copy and paste them into the main ROM if you provide me with the ROM when you're done.

Also, a huge thanks for doing it in the first place.
This helps a lot. I'll easily be able to get it done now. I'll start ASAP.

Tcoppy

Favorite Stand

Age 21
Male
New England
Seen 3 Weeks Ago
Posted February 14th, 2019
564 posts
9.4 Years
It's finally released, I can't wait to try it now and I'll post bugs I find.
This will probably make people do more advanced hacking now the pokemon up to date are already in it xDD
Project United Universes: Probably Coming in 2018

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
I think I will wait till it is finished because it's kinda lulzy at the moment.
What on earth do you mean by "lulzy"?

I will keep my eye on this. Once this is perfected it can rock the hacking world back to its glory days. this is history in the making. I'll be rooting for you.

Good Luck and all the best.
I doubt it, somehow. But we can live in hope.

This is mindblowing, simply mindblowing. I (and I imagine a great many others) will be following this with great interest. Just fantastic, keep up the good work.
Thanks.

good luck with this is a big step forward in advance generation hacking!
i hope that all bugs will be fixed ^__^
There are very few actual bugs with the patch. Most "bugs" are actually caused by missing data.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
Hehe, that's actually not a bug. I did it for testing purposes.

Wrote in a way for Rotom to change formes now. There's a routine which you pass the slot ID in var 0x8004 (using the select Pokemon special), and the forme ID in var 0x8005 by setting it in the calling script.

It then calculates if the Pokemon is a Rotom, and if it is, changes its forme to the one you specified and recalculates the stats accordingly.

To change Rotom back to its normal forme, simply call its current forme again, and the code will revert it back to normal forme.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
They are XSE headers. They let you put something like PKMN_TURTWIG or ITEM_DAWNSTONE rather than having to remember their hex codes off the top of your head when creating a script with the patch.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
I'm rather confused. Other than the octilery and shuckles on route 1, I don't see anything different.
This isn't a traditional ROM Hack. It's a base for hackers to use which contains a bunch of stuff from gens 4 and 5. Please read the first post in future.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
A lot of the code is reliant on other bits of code being present, to be honest.
I did like that JPAN's hacked engine was able to do that, but I have neither the expertise to make a tool to do it, nor the will to split the patch up into seperate pieces so it'll work, so basically you'll need to have all or nothing.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

shinyabsol1

Pokemon DarkJasper!?

Male
Seen June 29th, 2019
Posted October 6th, 2013
330 posts
9 Years
Ignore weird sprites in Pokédex, or lack of sprites in some situations. It's down to the code for Male/Female sprites being present, but the sprites are not. - Fixed

Extended Pokédex - All Pokémon currently available (as of 22/11/2011) are included in the patch - cries, sprites and all.
Does this mean that all sprites should be working in battles as well? If so, for some reason I'm still having problems with certain pokemon being spriteless (Roserade, Biberal, etc)...

Also, I have a question about using your INI with PGE. How exactly am I supposed to set it up? I replaced PGE's with yours, and got error messages. :(

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.2 Years
Does this mean that all sprites should be working in battles as well? If so, for some reason I'm still having problems with certain pokemon being spriteless (Roserade, Biberal, etc)...

Also, I have a question about using your INI with PGE. How exactly am I supposed to set it up? I replaced PGE's with yours, and got error messages. :(
They're fixed on my version of the ROM. What's causing that is that I only bothered to fix up to Donphan for the male/female sprites so far. It takes a long time to do, and is rather boring and repetitive, so I kinda left it for now.

As to the INI, you just replace the existing one, but you also need to open the options menu and turn on the various options listed there. That's because a lot of the new stuff relies on different data structures from the original.

Gamer2020 was nice enough to add extra code to PGE to support it. :)
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

shinyabsol1

Pokemon DarkJasper!?

Male
Seen June 29th, 2019
Posted October 6th, 2013
330 posts
9 Years
They're fixed on my version of the ROM. What's causing that is that I only bothered to fix up to Donphan for the male/female sprites so far. It takes a long time to do, and is rather boring and repetitive, so I kinda left it for now.
Ah, alright then. Thanks for clarifying.

As to the INI, you just replace the existing one, but you also need to open the options menu and turn on the various options listed there. That's because a lot of the new stuff relies on different data structures from the original.
I didn't turn on the options. Works now, thanks!
Advertiser Content