• 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?".
  • 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.

Research: Chaos Rush's 649 on Ruby Project

Status
Not open for further replies.

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Actually - we were thinking about having Featherdance followed by the healing animation for Roost. It is possible (although we don't really know how yet) to combine bits of existing animations to create new ones. And Gamer2020 is working on a BATTLE script editor - this is an entirely different thing as the battle scripts control what the moves DO.

Myself and NintendoBoyDX are working on the animations. :) It goes without saying - if we work out a particularly good animation - we'll pass it on to you. You are, after all, letting me use your 4th and 5th Gen sprites in my patch, so it only seems fair. :P
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Actually - we were thinking about having Featherdance followed by the healing animation for Roost. It is possible (although we don't really know how yet) to combine bits of existing animations to create new ones. And Gamer2020 is working on a BATTLE script editor - this is an entirely different thing as the battle scripts control what the moves DO.

Myself and NintendoBoyDX are working on the animations. :) It goes without saying - if we work out a particularly good animation - we'll pass it on to you. You are, after all, letting me use your 4th and 5th Gen sprites in my patch, so it only seems fair. :P
Wait let me get this straight, Gamer2020 is working on something that will make it possible for moves like Guard Swap and Trick Room to exist, while you're working on the animations?

Gah I feel stupid now. If I had known that, I would have went ahead and added ALL Gen IV and V moves, rather than a select 129 of them. (but thanks for offering to pass on the animation scripts once you work them out)


Oh and I have an idea. You could download the Japanese hack Pokemon Vega (and I think there's another one called Pokemon Altair and Pokemon Sirius), and copy the animation data of the 4th and 5th Gen moves from there XD
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Well, to be more accurate, I'm working on both.

One thing though - The moves WILL require ASM, but I will do my utmost to make it a standalone "special" type piece of code. Do remember that there is actually code in the ROM which changes types temporarily, so we can actually make roost work properly if we can understand how to call that piece of code and if we can understand how to end it after the turn. I'm starting work on this now - so here's hoping I can do some serious figuring out, huh?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Well, to be more accurate, I'm working on both.

One thing though - The moves WILL require ASM, but I will do my utmost to make it a standalone "special" type piece of code. Do remember that there is actually code in the ROM which changes types temporarily, so we can actually make roost work properly if we can understand how to call that piece of code and if we can understand how to end it after the turn. I'm starting work on this now - so here's hoping I can do some serious figuring out, huh?
I would like to help, but I have almost 0% ASM knowledge -___-
(I know how to insert routines, and that's about it)


To change the topic, I have a question to ask all of you:
14142752.png

Should I modify the Contest page on the Summary to look like this? If I did this, I would have to make it so that Pokemon Contests no longer work properly.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Actually, let's be honest, who gives a crap about Contests. Everybody hacks FireRed anyway and doesn't care about Contests, and not to mention if I wanted to keep Contests, I would have to decide how the Gen IV and V moves would behave in a Gen III contest, not to mention there's no Contest stuff in Gen V at all.

So I've decided I'm going to officially corrupt Pokemon Contests for the sake of having the Physical/Special/Status indicator on the Summary screen.

On a more cheerier note, I got around to filling in the data for the remaining attacks, woo!
18174940.png
46899652.png
19758232.png
80137478.png


Pretty soon I'll release a patch that has updated movesets for the 386 Pokemon in Ruby.
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
Wow. This is quite amazing. It's kind of a shame that you haven't been receiving more support for this.
 

Speedster

The Unknown
134
Posts
12
Years
I like the animations you both are applying Jambo and Chaos Rush. I tried to look for that Pokemon Vega game with the animations but couldn't find that. Although it would be very cool to see those move animations in-game. And as agentgeo said you guys really deserve some credit for this.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Wow. This is quite amazing. It's kind of a shame that you haven't been receiving more support for this.
Thank you, and what's even more amazing is that absolutely no ASM was required.

I like the animations you both are applying Jambo and Chaos Rush. I tried to look for that Pokemon Vega game with the animations but couldn't find that. Although it would be very cool to see those move animations in-game. And as agentgeo said you guys really deserve some credit for this.
Actually the animations are just existing ones already used by other moves.


BUT


Here is my first "custom" animation:
62429622.png

I combined Mach Punch and Sky Uppercut's animations to produce this, which is essentially Sky Uppercut but with Mach Punch's background. But I might try and make it so that it uses Aeroblast's background.

EDIT:
73507905.png


I really don't know what I'm doing, I'm literally just copying+pasting parts of the animation's hex data until it works. And there was an 02 byte near the end that I changed to 03 which fixed this strange graphical glitch.

Here's the hex data for the "custom" animation (I use GoldFinger so the numbers aren't in hex, but you can copy+paste this into the rom with GoldFinger at it will convert it to hex):
Spoiler:



EDIT: Oh and I found the patch for Pokemon Vega, gonna mess around with it
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Quick question. If you're adding the extra 263 Pokemon, won't you need to ASM hack the seen/caught flags for them to work properly?

In which case, what do you propose you will do, since IIRC you don't have the luxury of using the memory block hack?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Quick question. If you're adding the extra 263 Pokemon, won't you need to ASM hack the seen/caught flags for them to work properly?

In which case, what do you propose you will do, since IIRC you don't have the luxury of using the memory block hack?
Think of the expression, "We'll cross that bridge when we get there." In other words, I'll deal with it once all the sprites and movesets have been added.

But I really don't know what I'm going to do. IIRC, JPAN posted the save block hack stuff on this page, correct? I think he made one for Ruby, but even if I was hacking FireRed I absolutely refuse to use the save block hack, because it causes things to glitch up on actual hardware (your 649 patch has some serious save-related glitches on GBA hardware, and the Emerald hack Pokemon CrystalDust, which uses a similar save block hack in order to have access to more variables when scripting, also has some serious save-related glitches on GBA hardware). Back when I was working on Pokemon DarkViolet, I always made sure that my hack worked just fine on actual GBA hardware, and this is no different.

At this point, I'm probably just going to make it so that there will only be regional dexes in my future Pokemon hacks (no National Dex obtainable), meaning 386 flags is more than enough. (I can make new Pokemon use existing flags, right?)

or ill move on to gen iv hacking so i dont have to deal with this crap
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Think of the expression, "We'll cross that bridge when we get there." In other words, I'll deal with it once all the sprites and movesets have been added.

But I really don't know what I'm going to do. IIRC, JPAN posted the save block hack stuff on this page, correct? I think he made one for Ruby, but even if I was hacking FireRed I absolutely refuse to use the save block hack, because it causes things to glitch up on actual hardware (your 649 patch has some serious save-related glitches on GBA hardware, and the Emerald hack Pokemon CrystalDust, which uses a similar save block hack in order to have access to more variables when scripting, also has some serious save-related glitches on GBA hardware). Back when I was working on Pokemon DarkViolet, I always made sure that my hack worked just fine on actual GBA hardware, and this is no different.

I'm well aware of this problem. Thing is, there's no way to avoid usage of it on FR or Emerald - and at the end of the day, most of our end users will be using emulators rather than the real hardware.

At this point, I'm probably just going to make it so that there will only be regional dexes in my future Pokemon hacks (no National Dex obtainable), meaning 386 flags is more than enough. (I can make new Pokemon use existing flags, right?)

or ill move on to gen iv hacking so i dont have to deal with this crap

Well, if you can find enough free unused RAM, then I could port my routine for you, easily. You'll need a total of 176 free RAM bytes which are located in the save block. They need to be back to back as well.

If you manage to find that much free memory, it'd be easy to port the routine I made. Its the memory block, as opposed to the routine, which is causing the problems after all.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Well, if you can find enough free unused RAM, then I could port my routine for you, easily. You'll need a total of 176 free RAM bytes which are located in the save block. They need to be back to back as well.

If you manage to find that much free memory, it'd be easy to port the routine I made. Its the memory block, as opposed to the routine, which is causing the problems after all.
Sorry for this dumb question, but how would I go about looking into the RAM? As far as I know, hex editors only let you look at the 08 part (the ROM).

Would I use VBA or something? If I use the memory viewer, I noticed at 02000000 it says "WRAM", and at 03000000 it says "IRAM". Not sure what either of them means but one of them is the "RAM" you're talking about, correct? I'm assuming it's the "WRAM".

If that is the case, then from 02FF4244 to the end of the WRAM (that would be 02FFFFFF) its just 00 bytes. Would that be free unused RAM? And I know for sure that it's unused because I'm not looking at any old save file - I'm looking at the save file from my actual Ruby cartridge which has the Elite Four completed, most Trainers defeated, and I used VBA's Gameshark to complete the Pokedex, so I know for sure that I've used as much WRAM as possible.
EDIT: Scratch that, instead of 02FF4244, there's some used bytes I found at 02FF83E4.

Starting at 02FFA3E4 to 02FFFFFF appears to be unused. Though since Ruby appears to use the least RAM anyway, we could just subtract B0 (176) from 02FFFFFF, which would be 02FFFF4F.

There's also a chance that I'm speaking complete gibberish because I'm not 100% of what I'm even talking about.



EDIT: Also this is a question that's unrelated, it's just my own curiosity. What exactly does JPAN's save block do? Does FireRed not have 176 free ram bytes?
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
If that is the case, then from 02FF4244 to the end of the WRAM (that would be 02FFFFFF) its just 00 bytes. Would that be free unused RAM? And I know for sure that it's unused because I'm not looking at any old save file - I'm looking at the save file from my actual Ruby cartridge which has the Elite Four completed, most Trainers defeated, and I used VBA's Gameshark to complete the Pokedex, so I know for sure that I've used as much WRAM as possible.
EDIT: Scratch that, instead of 02FF4244, there's some used bytes I found at 02FF83E4.

It needs to be in the WRAM, but even then - that's no guarantee. Basically, you need to find 172 bytes of concurrent space in one of the 3 main save blocks of memory. I know how to check the save blocks in FR, but not in Ruby. Ironically, because they are DMA protected in FR, they're easy to find.

The WRAM ends at 0x0203FFFF in the GBA games, so it's certainly not going to work with any value higher than that.

EDIT: Also this is a question that's unrelated, it's just my own curiosity. What exactly does JPAN's save block do? Does FireRed not have 176 free ram bytes?

JPAN's save block hack gives us an extra 0x1000 bytes of memory to use to save things to the save file. Which is useful since there is little or no free space inside the existing save blocks.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Well then, looking at the Memory viewer, 0x0203A3DF - 0x0203FFFF appears to be unused in Pokemon Ruby, would it be possible to try anywhere from there? And there's a bunch of unused bytes before 0x0203A3BF that appears to be unused - in my nearly complete Ruby save file.


(sorry but I'm not sure how save blocks work)
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Yeah, I'm not that sure either man. But the thing is, this hack NEEDS the extended seen/caught flags. It would need ASM with either way you plan to do it, the only difference is that having them all available is infinitely better than just a handful of them.

I suspect (although I do have no evidence) that the area you've pointed me towards probably doesn't get saved when saving.
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Yeah, I'm not that sure either man. But the thing is, this hack NEEDS the extended seen/caught flags. It would need ASM with either way you plan to do it, the only difference is that having them all available is infinitely better than just a handful of them.

I suspect (although I do have no evidence) that the area you've pointed me towards probably doesn't get saved when saving.
I'll be willing to test it out for you. I have an older version of this hack that has 493 Pokemon, and we can also try having the 25 "??" Pokemon (the ones that occupy the slots after Celebi and before Treecko) show up in the Pokedex, since they actually have Pokedex numbers assigned to them (387-411).
 

Pingouin_7

Guest
0
Posts
IMO, having those Pokémon show up as caught isn't that important, as long as they don't mess up anything in-game.
But having it done would make the hack look closer to what GameFreak would originally have done if they had included those Pokémon in Gen III.
 

Mr.Pkmn

Ordinary ASM Magician
53
Posts
15
Years
  • Seen Nov 17, 2023
By sacrificing a box you get 80x30=2400 savable space.

Yes, there WILL be a storage shortage problem when you're dealing with an hack with x2 pokemon but i think it's a good compromise.

Just make sure to disable access to box 14 by every means
 
Status
Not open for further replies.
Back
Top