• 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: Darthatron's Hacks

Darthatron

巨大なトロール。
1,152
Posts
18
Years
Here are some hacks that I have made for people. I hope you enjoy them. I have attempted to explain how they work as well, for those who want to learn. :)

Remove the "Previously on your quest..." scene from game load.
Spoiler:

Run a script from an items "Use" command or from registering it from select...
Spoiler:

More to come as I can be bothered.

EDIT: Also feel free to ask about/request stuff here. I may not do all requests, but I'll try my best. :)
 
Last edited:

Darthatron

巨大なトロール。
1,152
Posts
18
Years
So, if I read this correctly, you can also make it record more than 3 important events as well depending on those 2 values?

Not sure. Even so, not with just this code. There's more code somewhere that reads it somewhere else. But I imagine increasing it without repointing something would be bad.
 

marcc5m

what
1,116
Posts
13
Years
Just wondering if you'd know anything about the hidebox command? In Ruby. when you use it in conjunction with showpokepic, it hides the box, showing only the sprite. This is useful for things like mugshots.
In FireRed though...it doesn't work :\
 
21
Posts
14
Years
  • Seen Mar 26, 2021
EDIT: Also feel free to ask about/request stuff here. I may not do all requests, but I'll try my best. :)

how about a pokemon type reader/checker i haven't seen one so maybe nobody's done it yet? you set a query to a variable like 01=fire 02=grass etc.
then it checks whether the type of the pokemon selected by special 0x9F has the same type returns 1 if yes, 0 for no
 
38
Posts
13
Years
  • Seen Mar 11, 2024
I don't know if I'm asking in the right section (I got a headache trying to read the rules/FAQ). Anyway:

1) Can you - or anyone else - tell me how to upgrade the Pokedex in Pokemon Ruby, so that any non-Hoenn Pokemon are properly registered in the Pokedex pre-Elite Four?

2) On one of my 'this is how I'd like Pokemon Ruby to be like' hacks, I used a patch to put an old man in the intro instead of Professor Birch. The patch's name was Mr Fuji. According to my scribbled notes, I got it from PokeCommunity, but nothing on who made it. Any ideas? (I tried searching, but couldn't find it)
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
I don't know if I'm asking in the right section (I got a headache trying to read the rules/FAQ). Anyway:

This belongs in the general ROM hacking discussion thread, as opposed to here.

1) Can you - or anyone else - tell me how to upgrade the Pokedex in Pokemon Ruby, so that any non-Hoenn Pokemon are properly registered in the Pokedex pre-Elite Four?

They are correctly registered, you just can't see them because they're not part of the Hoenn Dex. The easiest thing to do is to extend Ruby's Hoenn dex to include all the other Pokémon. I don't know precisely how to do that off the top of my head.

2) On one of my 'this is how I'd like Pokemon Ruby to be like' hacks, I used a patch to put an old man in the intro instead of Professor Birch. The patch's name was Mr Fuji. According to my scribbled notes, I got it from PokeCommunity, but nothing on who made it. Any ideas? (I tried searching, but couldn't find it)

I highly doubt anyone will be able to help you.

And, so this post is actually on subject, these 2 hacks will probably have been of great use to many people. I hope you have more cool stuff up your sleeve, Darthatron!
 

.parado✗

paranormal user
38
Posts
11
Years
Thank you!
The Item Stuff could be very useful for my Ruby hack.
I ever wonder how long you must research for those things..
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Thank you!
The Item Stuff could be very useful for my Ruby hack.
I ever wonder how long you must research for those things..

With the help of Darthatron, I have successfully ported over the item script runner to Ruby. Everything is the same, except the offsets:

Code:
.text
.align 2
.thumb
.thumb_func
.global Hax

	setup:
		push {r4, lr}
		mov r4, r0
		mov r0, pc
		add r0, #0x13
		ldr r1, .unk_03005D00
		str r0, [r1]
		mov r0, r4
		ldr r1, .sub_080C9050
		bl bx_r1
		pop {r4}
		pop {r0}
		bx r0

	main:
		push {r4, lr}
		mov r4, r0
		ldr r0, .ScriptToCall
		ldr r1, .CallScript
		bl bx_r1
		mov r0, r4
		ldr r1, .del_c3_from_linked_list
		bl bx_r1
		pop {r4}
		pop {r0}
		bx r0
.align 2
bx_r1:
	bx r1

.align 2
.CallScript:
	.word 0x080655B8+1
.unk_03005D00:
	.word 0x03005D00
.sub_080C9050:
	.word 0x080C9050+1
.del_c3_from_linked_list:
	.word 0x0807AB74+1
.ScriptToCall:
	.word 0x08XXXXXX

Here is the compiled version:

Code:
10 B5 04 1C 78 46 13 30 0C 49 08 60 20 1C 0C 49 00 F0 10 F8 10 BC 01 BC 00 47 10 B5 04 1C 0A 48 05 49 00 F0 07 F8 20 1C 06 49 00 F0 03 F8 10 BC 01 BC 00 47 08 47 C0 46 B9 55 06 08 00 5D 00 03 51 90 0C 08 75 AB 07 08 XX XX XX 08

Hope this helps all of the Ruby hackers out there!
 
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
Every few years I decide to try and work on my Emerald hack again. Only to find that every useful hack and mod has been made exclusively for Fire Red and in some cases, Ruby for some odd reason.
I was so excited to use this scripted items hack, only to find, surprise surprise, it is exclusive to Fire Red and Ruby. Makes me want to give up on hacking generation 3 Pokemon games again. Makes me want to pick up my computer and just throw it out the window.
Now I could compare the Fire Red and Ruby routines provided here to try to find the Emerald offset, although when comparing bytes, it looks like it is not just the offset that has changed. Does anyone have any idea how I could get this hack working in Emerald?

EDIT: I have found two of the offsets for Emerald to insert into the routine. However I am stuck with two and help would be appreciated.
In Fire Red this address: 02039998 points to somewhere in the ram I assume? in the Ruby routine it is this: 03005D00. I have no idea how to go about finding this in Emerald.
The other offset I am stuck with is this in Fire Red: 08069AE4 and this in Ruby: 080655B8.
In each Rom those offsets point to four particular bytes. Those four bytes appear multiple times throughout the Emerald Rom.
Please help me here, someone.
 
Last edited:
146
Posts
11
Years
  • CO
  • Seen Mar 16, 2023
Thank you Darthatron ^_^

This is exactly what I needed...
The way you explain the code and show the routine and not just the hex...

If you can and it's not to much to ask, could you try to make the 4th gen evolutions or even just the Dawn stone would be nice >_<

Also, could you write up a routine that takes the money the player gets after a battle and puts it into a bank account with the activation of a flag and clearing the flag would obviously make it go back to normal...

I would love to write these up my self but I have no skill in asm and at the moment I am just trying to focus on scripting and until I master that I can't move on to asm...
Not to mention I can't get debugging down for the life of me either much less write my own routines >_< hahaha
 
51
Posts
9
Years
  • Age 38
  • Seen Dec 20, 2022
Hey guys, after finding my brain and a new Hex Editor that supports wildcard searches, I figured out the offsets for Emerald. Thanks to @Darthatron for the original ASM and thanks to absolutely nobody for helping me find those offsets. :)
Even though I couldn't get it to compile for some reason, I will post the modified code here:
Spoiler:

And here is the compiled code, modified with the correct Emerald offsets:
Spoiler:

I just did a quick test with a Littleroot Town signboard item called 'Dog'. Everything seems to be a-ok. Time for sleep.
 
Last edited:

anonyboy

Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
286
Posts
10
Years
Thank you Darthatron ^_^

This is exactly what I needed...
The way you explain the code and show the routine and not just the hex...

If you can and it's not to much to ask, could you try to make the 4th gen evolutions or even just the Dawn stone would be nice >_<

Also, could you write up a routine that takes the money the player gets after a battle and puts it into a bank account with the activation of a flag and clearing the flag would obviously make it go back to normal...

I would love to write these up my self but I have no skill in asm and at the moment I am just trying to focus on scripting and until I master that I can't move on to asm...
Not to mention I can't get debugging down for the life of me either much less write my own routines >_< hahaha

All evolutions till gen VI (expect time-based since i need the EM offset that checks time) are available on my tut here on PC
 
218
Posts
10
Years
  • Seen Nov 12, 2021
Spoiler:

There was a little typo in Phenom's routine, this one should compile correctly
 

Lunos

Random Uruguayan User
3,108
Posts
15
Years
The script triggered by an item thing isn't working for me.
-FireRed USA v1.0
-This is the script i'm using
-When trying to trigger the item by Register+Select or by the "Use" button, the game restarts.

Help? :c

EDIT:
Okay, i'm just retarded.
Item Manager doesn't use offsets with 8 digits, and i've put "08800048" instead of just "800048",
The item isn't working anyways tho, if i choose it by "Use", the music sounds messed up and the game freezes.
If i use it by Register+Select, the game just freezes but the music still sounds correctly.
So.. yeah.. i think i'll try this again..
 
Last edited:
218
Posts
10
Years
  • Seen Nov 12, 2021
The script triggered by an item thing isn't working for me.
-FireRed USA v1.0
-This is the script i'm using
-When trying to trigger the item by Register+Select or by the "Use" button, the game restarts.

Help? :c

EDIT:
Okay, i'm just retarded.
Item Manager doesn't use offsets with 8 digits, and i've put "08800048" instead of just "800048",
The item isn't working anyways tho, if i choose it by "Use", the music sounds fuc*ed up and the game freezes.
If i use it by Register+Select, the game just freezes but the music still sounds correctly.
So.. yeah.. i think i'll try this again..

It's been a while that I didn't used this, but I know that you can't use some scripts command by using this method. The problem might lies into your script because I tested it (on emerald) and it works
 

Lunos

Random Uruguayan User
3,108
Posts
15
Years
It's been a while that I didn't used this, but I know that you can't use some scripts command by using this method. The problem might lies into your script because I tested it (on emerald) and it works

I did it!
The problem must have been or the "lock" or the "fadescreen" commands xD
I'll try the fadescreens again, because they add a more of coolness to the script <3
Thank you so much to you for your help and to Darthatron for this kind of tutorials <3

EDIT:
Yep, the Lock was definitely the problem since the Fadescreen is working perfectly <3
 
Last edited:

Turtl3Skulll

Blue Turtl3
76
Posts
10
Years
EDIT: Also feel free to ask about/request stuff here. I may not do all requests, but I'll try my best. :)

If you're still willing to take requests, I was wondering if you could recreate JPAN's walking script.
His script works, yet it checks on every step and takes priority over the tall grass, making it so Pokemon don't appear on the grass.
If you'd rather try as see if you can fix it here is the code:

Spoiler:



Thanks in advance (& if not, thanks for the item hack :) )
 
Back
Top