Quick Research & Development Thread Page 20

Started by Spherical Ice January 9th, 2010 2:23 AM
  • 794927 views
  • 1210 replies

Spherical Ice

Age 25
Leicester, UK
Seen 2 Days Ago
Posted February 20th, 2022
5,251 posts
15.9 Years
textcolor 0xFF reverts the text colour to the default colour for the person event's gender. This is information from DavidJCobb's repository on each of the commands in FireRed. He has since abandoned this, but in an effort to revive it and continue the documentation, I have hosted this repository with some revisions: http://www.sphericalice.co/romhacking/davidjcobb_script/

If you have any contributions you wish to add to this, please do share them either here, by PM/VMing, or by e-mailing me, and I'll add it to that repository. Hopefully we can expand it!

kearnseyboy6

Aussie's Toughest Mudder

Seen June 22nd, 2019
Posted November 19th, 2016
300 posts
14.8 Years
If you want to change a text box permanently navigate to 0x160450. There are pointer to textbox type 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6 etc.

Yes you can use XSE to decompile these scripts and feel free to add in anything you may desire.... permanently!

So you won't have to call the transparency asm in every script you want, it does it automatically.
HOLIDAYING CURRENTLY!!

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)

Age 24
Female
Earth
Seen December 9th, 2016
Posted December 5th, 2016
2,475 posts
10.9 Years
If you want a-map 1.92 to have support for new pokemon in the wild then follow these directions:
http://pastebin.com/13djBRnT
Originally found by Baitot :D
I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
Romhack.me Profile - Pokecommunity Profile - Youtube Channel

Support me at my site!
Pokémon Platinum Red and Blue
Male
Seen February 22nd, 2023
Posted January 17th, 2023
91 posts
14.1 Years
If you want a-map 1.92 to have support for new pokemon in the wild then follow these directions:
http://pastebin.com/13djBRnT
Originally found by Baitot :D
This is indeed interesting, but it would be even more interesting if you used AM1.95, due to the fact that 1.92 is again unable to cope with 32MB romspace :T

~SBird

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)

Age 24
Female
Earth
Seen December 9th, 2016
Posted December 5th, 2016
2,475 posts
10.9 Years
This is indeed interesting, but it would be even more interesting if you used AM1.95, due to the fact that 1.92 is again unable to cope with 32MB romspace :T

~SBird
Well although 1.95 does do that, it isn't stable. http://www.pokecommunity.com/showpost.php?p=7781039&postcount=304
The only 100% bug-free function in 1.95 is the block editor. Otherwise it'll corrupt your ROM slowly. This isn't good for Emerald hackers (you) who want extra space :P
Hence why most successful bug-free hacks use 1.92 instead.
I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
Romhack.me Profile - Pokecommunity Profile - Youtube Channel

Support me at my site!
Pokémon Platinum Red and Blue

Kakarot1212

Resident Programmer

Male
Phillipines
Seen April 11th, 2023
Posted December 7th, 2022
562 posts
9.9 Years
If you want a-map 1.92 to have support for new pokemon in the wild then follow these directions:
http://pastebin.com/13djBRnT
Originally found by Baitot :D
Excuse me, is the "9C 01" the hex equivalent of numbers of pokemon?
Cause if you convert it, it would be "156 1" in numerical form.
Would you care to explain? :)

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)

Age 24
Female
Earth
Seen December 9th, 2016
Posted December 5th, 2016
2,475 posts
10.9 Years
Excuse me, is the "9C 01" the hex equivalent of numbers of pokemon?
Cause if you convert it, it would be "156 1" in numerical form.
Would you care to explain? :)
9C 01 = 01 9C = 019C = 19C = 412
I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
Romhack.me Profile - Pokecommunity Profile - Youtube Channel

Support me at my site!
Pokémon Platinum Red and Blue

Mana

Age 32
Male
UK
Seen 4 Weeks Ago
Posted August 18th, 2021
10,075 posts
14.7 Years
Does anyone have any idea where the 'flash' animation/script/asm routine/special/whatever it is can be found, or how to mimic it? I've scoured around everywhere I can think of, the lack of actual messages when executing flash is preventing me hex-searching the normal way. Anyone know anything?

Le pug

Creator of Pokémon: Discovery / Fat Kid

Age 30
Male
Le bed
Seen 4 Weeks Ago
Posted February 18th, 2021
870 posts
10.1 Years
Does anyone have any idea where the 'flash' animation/script/asm routine/special/whatever it is can be found, or how to mimic it? I've scoured around everywhere I can think of, the lack of actual messages when executing flash is preventing me hex-searching the normal way. Anyone know anything?
For emerald, you can use the commands lighten and darken and then just set how much you want to be shown. Or if you want a quick flash effect, you can use special 0x13F.

---------------

For anyone who wants to change the preset names that pop up if you leave the naming spots blank and just press enter, I have all the names and their locations in the following spoiler. I also included the intro texts in order by using numbers. Just add it to your A-Text ini if you want to see them in that program but I recommend not using a-text for anything else besides finding texts!

Spoiler:
1=2C897B
2=2C89FB
3=2C8A1F
4=2C8BD0
5=2C8BDD
Boy=30FDF7
Girl=30FF0A
6=2C8BFF
Your Name?=5EEABE
Brett=5E85D8
Collin=5E85FD
Terry=315AFC
Casey=5E85E9
Johnny=5E85D1
Reid=5E85AD
Kenny=5E85A7
Quincy=3132D4
Stu=5E8598
Teru=5E85CC
Tom=5E85A3
Landon=5E85F6
Walker=5E85C5
Tiara=5E8619
Lillie=5E867A
Halie=5E868C
Terra=5E8681
Kimmy=5E8613
Tanja=5E8666
Lucy=5E8687
Hazel=5E8659
Allie=5E862B
Nadine=5E865F
Camila=5E8644
Sara=5E8638
Bella=5E861F
Jayla=5E8625
Nicola=5E8673
Lianna=5E8631
Monica=5E863D
Aubree=5E864B
Ruthie=5E8652
Yasmin=5E866C
Jaxson=5E85B7
Jude=5E85B2
Darren=5E85EF
Seth=5E85DE
Milton=5E859C
Stanley=5E8604
Easton=5E85BE
7=2C8C1C
8=2C8C2A
9=2C8C7A
Retired. Thank you guys for a wonderful five years.

Spherical Ice

Age 25
Leicester, UK
Seen 2 Days Ago
Posted February 20th, 2022
5,251 posts
15.9 Years


The Unknown value for Person events below the Pos (X/Y) field appears to control the altitude of the Person event.

Here's what happens in-game when the Unknown value is set to 0 or 3 on a bridge:


(Excuse the speed of the .gifs, Photoshop refuses to import anything higher than 500 frames so I had to double the FPS)

This is unideal if you want this NPC to be on top of the bridge, and not below it. However, setting the Unknown byte to 4 results in this:



You cannot interact with Person events which are on a different layer to that of the player; this includes stepping in the view radius of a Trainer on a different altitude (in that, the battle will not activate).

For clarification, this is how the bridge's movement permissions are laid out:



The following values for this Unknown byte lowers the Person event to the corresponding layer (where the layer # is the movement permission number).
0 - Appears to be Layer C.
1 - Layer 4 (Surfing)
2 - Layer 8 (???)
3 - Layer C (Regular ground)
4 - Layer 10 (appears to work for all layers above this, too (Layer 14, Layer 18, etc.))
If the ground is on layer C, for example, and the Person event has the Unknown value set to 1, for example, the Person event will not display. This could make hiding Person events far easier and flag-efficient, as you could just simply set their altitude to be lower than C, and then make them show with the spritelevelup command (I haven't actually tested that, but it should work, in theory).

It would be safe to assume that the other Unknown values for warps and script events are also this, as they are set to 3 in most cases in vanilla FireRed, too.

esperance

Age 26
Male
OH
Seen 3 Weeks Ago
Posted January 11th, 2022
3,830 posts
13.5 Years
If you want a-map 1.92 to have support for new pokemon in the wild then follow these directions:
http://pastebin.com/13djBRnT
Originally found by Baitot :D
First, I wanna start by saying this does work.

But, you need to use the Advanced Map provided by this link, which should be 1,231 KB.
Mine was 426 KB, and didn't work for this method.
What are you so afraid of?

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)

Age 24
Female
Earth
Seen December 9th, 2016
Posted December 5th, 2016
2,475 posts
10.9 Years
First, I wanna start by saying this does work.

But, you need to use the Advanced Map provided by this link, which should be 1,231 KB.
Mine was 426 KB, and didn't work for this method.
Yes, that is the point of me linking the advanced map and saying to download this advanced map
:D
I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
Romhack.me Profile - Pokecommunity Profile - Youtube Channel

Support me at my site!
Pokémon Platinum Red and Blue

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good

Seen February 18th, 2023
Posted February 3rd, 2023
264 posts
11.7 Years


XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

Repoint the battle script at x1d9a42 to point to this:

2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

where XX XX XX XX is a pointer to:

2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.

Edit: Changed the scripts, I assumed they cut off earlier than they actually did. Should work with full party+no nickname now.

Logan

Age 28
Male
Salisbury, England
Seen 1 Day Ago
Posted November 12th, 2021
10,414 posts
14.9 Years


XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

Repoint the battle script at x1d9a42 to point to this:

2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08

where XX XX XX XX is a pointer to:

2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08

To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.
Ahhhh I've been trying to pinpoint how to do this for a few weeks. I finally thought I was getting somewhere but I've been well and truly beaten here. Great find though and a wonderful advancement for ROM Hacking :).
Male
Seen May 26th, 2023
Posted September 19th, 2022
1,323 posts
16.4 Years


XY added a feature that gives experience points when you catch pokemon. To duplicate this in Emerald, do the following:

Repoint the battle script at x2dbd84 to point to this:

2A 00 08 42 02 02 05 00 92 BD 2D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0F 01 3A 2E 32 43 02 02 00 F2 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

where XX XX XX XX is a pointer to:

2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

To let the player's mons evolve from this experience, replace the bytes at x3DE7C with B5 DE 03 08.

credit obviously goes to DoesntKnowHowToPlay for doing this first on FireRed lol

EDIT: So apparently, as discovered by Tlachtli, if you level up from experience while catching a Pokémon that hasn't yet been recorded to the Pokédex, then the Pokédex screen will have the text displayed in the wrong X-position offset. I'll look into it eventually
Seen January 5th, 2017
Posted December 12th, 2015
27 posts
9.7 Years


XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

Repoint the battle script at x1d9a42 to point to this:

2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

where XX XX XX XX is a pointer to:

2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.

Edit: Changed the scripts, I assumed they cut off earlier than they actually did. Should work with full party+no nickname now.
Would you mind telling me how you fixed the music that plays after you captured a pokemon?
I made the same feature (though differently: I didn't need to replace the bytes at x15A68), which is almost flawless, if not for the music: it plays the captured pokemon jingle, then the receive exp jingle.
You can check it here: http://pokemonhackersonline.com/showthread.php?t=14839-FR-Pokemons-receive-EXP-after-capturing

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good

Seen February 18th, 2023
Posted February 3rd, 2023
264 posts
11.7 Years
I did a sneaky little trick- the script zeroes out the HP of the active pokemon's battle struct. The game then assumes that you died from Explosion and doesn't give experience to the active pokemon, which is what starts the music- however, it nonetheless proceeds to hand it out to the rest of the party, which includes the active pokemon as it wasn't flagged as getting its share earlier.
Seen January 5th, 2017
Posted December 12th, 2015
27 posts
9.7 Years
I combined my work with the one from Doesnt. As a result, there are less bytes to write into freespace.
So, here's what to do to give exp points when you catch a pokemon:
1-The bytes to put into freespace: 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 F1 63 9A 1D 08 28 58 9A 1D 08

2-The bytes to replace at 1D9A53: 41 XX XX XX 08 (XX = pointer to the code above).

3-Just like Doesnt wrote earlier, replace the bytes at 15A68 with A1 5A 01 08.

It should work without problems, as I tested it before posting.

Thanks to Doesnt for telling me how to fix a music issue.

STikER

Age 23
Male
Ukraine
Seen 5 Days Ago
Posted March 31st, 2023
275 posts
9.4 Years
I want to create custom regional Pokedex in FireRed (not simplify expanding Kanto Dex, but creating a new one). But what with that Second Dex order? I mean, in PGE's ini, there is Second Dex Table offset for BPRE (and all others). In PGE's Pokedex Order Editor there are two orders: first is National, and second (named ????????? there) is Hoenn, because first Pokemon is Treecko and 202th is Deoxys. Are there any ways to replace Kanto Dex with this order?
Age 30
Male
USA
Seen 1 Week Ago
Posted 1 Week Ago
510 posts
11.9 Years
What part of the script do I need to remove/add to make Fire Red move tutors reusable? I've seen that Pokémon Glazed managed to do it but because of its expanded size I couldn't open it up and see how it was done.
Each move tutor will check to see if a specific flag has been set or not before asking the player if he/she wants to teach a Pokémon a certain move. The script for the Mega Punch tutor on Route 4, for instance, will check to see if flag 0x2C4 has been set. That flag will only be set once the move has been taught. Removing those flag checks/sets will allow you to reuse them endlessly.

It's a bit more complicated for the elemental Hyper Beam move tutor, as that involves the use of a special to see if you have the right Pokémon with the right credentials and which of the moves have been already taught. It's a similar concept, though.
My hacks:


Female
Seen January 12th, 2015
Posted August 1st, 2014
23 posts
10.1 Years


XY added a feature that gives experience points when you catch pokemon. To duplicate this in Emerald, do the following:

Repoint the battle script at x2dbd84 to point to this:

2A 00 08 42 02 02 05 00 92 BD 2D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0F 01 3A 2E 32 43 02 02 00 F2 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

where XX XX XX XX is a pointer to:

2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

To let the player's mons evolve from this experience, replace the bytes at x3DE7C with B5 DE 03 08.

credit obviously goes to DoesntKnowHowToPlay for doing this first on FireRed lol
I'm having a problem with this and I'm unsure of how to fix it. Here's the relevant battle script, and the pointer I entered into it.



I've also tried formatting the pointer as 60C0EC08, 08ECC061, and 08ECC060. No changes, except for more oddities when I had formatted the pointers differently.

1. If the thrown Pokeball fails, my game freezes.
2. When the Pokemon is caught, Torchic does gain experience, but after the Pokedex information screen, I'm taken to a party select window, with the battle victory music still playing in the background. Torchic is the only Pokemon in the party, and I am unable to exit the window.

At xECC060, I've pasted the second string of bytes exactly as you've posted:



I have also tried omitting the bytes at x3DE7C, with no change.

If anyone could help me figure out what I have done wrong, I'd really appreciate it.
Male
Forina
Seen May 5th, 2023
Posted June 23rd, 2021
116 posts
16.2 Years
I'm having a problem with this and I'm unsure of how to fix it. Here's the relevant battle script, and the pointer I entered into it.



I've also tried formatting the pointer as 60C0EC08, 08ECC061, and 08ECC060. No changes, except for more oddities when I had formatted the pointers differently.

1. If the thrown Pokeball fails, my game freezes.
2. When the Pokemon is caught, Torchic does gain experience, but after the Pokedex information screen, I'm taken to a party select window, with the battle victory music still playing in the background. Torchic is the only Pokemon in the party, and I am unable to exit the window.

At xECC060, I've pasted the second string of bytes exactly as you've posted:



I have also tried omitting the bytes at x3DE7C, with no change.

If anyone could help me figure out what I have done wrong, I'd really appreciate it.
I was facing the same problem a few days ago. Repoint the battle script at 0x2DBD84 is not means to replace the original one with the new one directly in the address.

Firstly, you can place all the machine code in 0xECC060 like this:


Then replace the two pointers here from 84 BD 2D 08 to 60 C0 EC 08:




Finally, replace the bytes at 0x3DE7C with B5 DE 03 08. It may working properly now.