Thread: FireRed hack: FireRed 649 Patch
View Single Post
Old November 22nd, 2011 (4:48 AM). Edited February 14th, 2013 by Jambo51.
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 732
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:

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:
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:
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
special 0x9F
setvar 0x8005 [WHICH FORME YOU WANT]
callasm 0x08755E31
compare LASTRESULT 0x1
if 0x1 goto @failed
#org @failed
msgbox @itfailed 0x4
#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:

How Basculin Works:
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:
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.

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!