Advertiser Content

Quick Research & Development Thread Page 11

Started by Spherical Ice January 9th, 2010 2:23 AM
  • 456095 views
  • 1134 replies
Male
Seen September 9th, 2012
Posted September 7th, 2012
2 posts
10 Years
Obedience checks:
Deoxys: 0x0801D3EC
Mew: 0x0801D402

There ya go.
Thanks for the reply, but are these for FR/LG or for Emerald? I know for sure the Mew address corresponds to the address in FR/LG, but after messing around with the same addresses in Emerald, nothing seemed to do the trick. :(

Darthatron

巨大なトロール。

Age 28
Male
Melbourne, Australia
Seen February 2nd, 2015
Posted October 28th, 2014
1,152 posts
14 Years
How hard/easy would it be to insert the Sevii Islands into HG/SS?

Seems like it'd be something someone has already done.
Very difficult. We've barely got events and maps editable yet. Completely adding something new is no easy task yet.
あなた は しきしゃ です
わたし は ばか です
Male
Seen October 26th, 2019
Posted August 19th, 2018
1,312 posts
12.7 Years
Second up, this is the battle string loader hack I made. It intercepts the "failed" part of the loader. That is, it branches out from what the loader would otherwise consider to be a bad number to load from and skip.

Spoiler:
.text
.align 2
.thumb
.thumb_func
.global battlestringloaderhack
main:
mov r0, #0xC2
lsl r0, r0, #0x1
cmp r0, r6
bne normalcode
ldr r0, ramlocation
ldr r7, [r0, #0x0]
cmp r7, #0x0
beq alternative
mov r0, #0xA
lsl r0, r0, #0x18
cmp r7, r0
bge alternative
mov r0, #0x8
lsl r0, r0, #0x18
cmp r7, r0
blt alternative
b continue
alternative: mov r6, #0xC
ldr r1, returntwo
bx r1
continue: ldr r0, returnone
bx r0
normalcode: ldr r1, otherramloc
mov r0, #0xFF
strb r0, [r1, #0x0]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align
ramlocation: .word 0x0203C020
returntwo: .word 0x080D77D1
returnone: .word 0x080D77DD
otherramloc: .word 0x0202298C


As you can see, it has checks to try and catch a "bad" location given in the RAM location I set aside for the new functionality. All it can catch, sadly, is if you leave the RAM location empty, or if you try to use an invalid ROM location. The rest, I have to leave to the user.

I've written the routine such that it supports 32MB ROMs as well, so you don't have to worry about that either.

To insert the actual routine, navigate to 0xD77BE and change the code to 03 49 08 47, then go to 0xD77CC and change the pointer to the insert location of the routine, plus 1 for THUMB mode of course.

Now, using it. It's as easy as this: Using the storebyte command of the battle script functionality (0x2E), store the bytes of the ROM pointer in little endian ordering, into the RAM address 0x0203C020. Then, you call the battle string printer as such:
10 84 01 39 40 00
The routines will take care of the rest!
For some reason it's not working correctly. It just freezes the game.

This is what I've done:
1. Insert the routine at 0x71EA35
2. Change the bytes like you said at 0xD77BE
3. Change the bytes at 0xD77CC so that it points to 0x71EA36
4. Inserted a text string at 0x71EA85
5. For my battle script, it goes like:
02 03 09 0A 48 01 03 00 2E DE 3F 02 02 14 89 C1 00 69 1D 08 12 40 00 2E 20 C0 03 02 85 2E 21 C0 03 02 EA 2E 22 C0 03 02 71 2E 23 C0 03 02 08 10 84 01 39 40 00 3D
And yes, I have made sure that I've assigned my custom attack to the custom battle script. It executes the animation, and I checked in VBA's Memory Viewer that it correctly updates the Attack Stat modifier like what I wrote in my custom script, and it even does the stat change animation like I made it so, but it doesn't display my custom message, instead it just freezes after that. The part that I bolded is the code that should display the custom text.

Sole developer of STARLIGHT LEGACY intended to be released on Steam.
Discord: https://discord.gg/fTS5Q78

Diegoisawesome

Oh god the bees

Age 23
Male
Somewhere the rains of Africa can be blessed
Seen 12 Hours Ago
Posted December 7th, 2019
1,059 posts
12.1 Years
1. Insert the routine at 0x71EA35
There's your problem. ASM routines need to be inserted at offsets ending with 0, 4, 8, or C. Move the routine, then repoint the pointer.

Jambo51

Glory To Arstotzka

Male
Seen January 28th, 2018
Posted December 6th, 2015
732 posts
10.6 Years
I didn't think this warranted a thread of its own, and I couldn't think of anywhere better to put it, but this is how to enable a different fanfare for the Key Items in Emerald (As standard, it uses the same fanfare as normal items, which is a bit boring).

Firstly, Compile and Insert this script somewhere in your ROM, anywhere will do:

#dynamic 0xF00000

#org @main
fanfare 0x212
return
Obviously, you can swap out the track it plays for any other fanfare in the Emerald ROM, but this one happens to suit it rather well.

Note down this pointer, and the navigate to 0x271B60 and change the pointer to point to your new script. Voila! Job done.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Spherical Ice

Age 21
Bristol, UK
Seen 10 Hours Ago
Posted September 24th, 2019
5,254 posts
12.2 Years
The following bytes determine the starting position of the player when you begin a new game:

0x54A08: Player X Position
0x54A00: Player Y Position
0x54A04: Map Bank
0x54A06: Map Number

FirEmerald

Pokemon reverse engineer

Age 22
Male
Seen July 18th, 2015
Posted July 12th, 2013
46 posts
7.4 Years
This is a document containing all the LZ77 compressed data in pokemon emerald U.S. 1.0 rom.
key
xxxxxx-?????
^ ^
offset description of what it looks like or is
xxxxxx+-xxxxxx,xxxxxx:??????????????????????????????????????????;xxxxxx:???????????????
^ ^ ^ ^ ^ ^
offset(tiles) offsets(raw or pallete) description of what it looks like offsets(raw or pallete)^
description of what it looks like ---------------------------------------------------------------- >^
It doesn't space correctly, sorry!
Seen December 27th, 2012
Posted November 19th, 2012
9 posts
9.1 Years
I wasn't sure where to post this but it seems like a good spot. I was wondering if there's some RAM locations documentation available for the third generation games (such as the player's money, inventory, etc.). I found some on the second generation games on Data Crystal but I haven't been able to find much looking for the third generation games (specifically Pokemon Ruby) so I was hoping if someone could lead me in the right direction.

Deokishisu

Mr. Magius

Male
If I'm online, it's a safe bet I'm at a computer.
Seen January 9th, 2019
Posted March 4th, 2018
859 posts
13.9 Years
Has anyone thought of removing the Pokemon animations in Emerald for some extra free space? I've always found them watered down and disappointing after Crystal's multi-frame animations, and it would cut any sprite work I decide to do in half.

I'd assume we'd have to cut out the routine that switches frames and plays that stupid thing that warps the sprites, and then cut down the images to the standard one frame.

Has anyone attempted this?
For ROMHackers, PokeCommunity is dead after the scandal. If you enjoy the ROMHacking scene, come with the rest of us to Silph Co. It is a forum by ROMHackers, for ROMHackers. None of the bloat of PC, and staff that knows what our subset of the community needs.
Male
Seen October 26th, 2019
Posted August 19th, 2018
1,312 posts
12.7 Years
This might be useful: In FireRed, the script that runs when respawning after losing a battle is located at 0x1A8D97. You can even edit it with XSE.

EDIT: And if you're respawning at your house rather than the Pokemon Center, it goes to this script instead: 0x1A8DD8

Sole developer of STARLIGHT LEGACY intended to be released on Steam.
Discord: https://discord.gg/fTS5Q78

tajaros

Hi I'm dawg

Age 20
Male
Philippines
Seen August 7th, 2015
Posted April 15th, 2013
856 posts
7.8 Years
Ok, I found this over at the pokahacking forum and it seems to be useful for legendary events! So I did not discovered this credits to Steven and Casta for some Info about this.

So ever wanted to make your game like a movie or something like that. xD Well you can you can now make something look like this.



So how to do it huh? Pretty easy just put this in your script.

Ruby:
writebytetooffset 0x6C 0x4000044
writebytetooffset 0x23 0x4000045
Fire red:
writebytetooffset 0x80 0x4000044
writebytetooffset 0x20 0x4000045
Emerald:
writebytetooffset 0x7F 0x4000044
writebytetooffset 0x20 0x4000045
Just include them in every script that you want it only goes away after a warp to another place. That's all. :D

Credits:
Steven
Casta

tajaros

Hi I'm dawg

Age 20
Male
Philippines
Seen August 7th, 2015
Posted April 15th, 2013
856 posts
7.8 Years
You can also use this for trailers and stuff. :D
Yes and cutscenes as well including flashbacks and it would be awesome! :D

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 22
Male
Hoenn Safari Zone
Seen November 13th, 2019
Posted April 17th, 2017
700 posts
10.7 Years
Ok, I found this over at the pokahacking forum and it seems to be useful for legendary events! So I did not discovered this credits to Steven and Casta for some Info about this.

So ever wanted to make your game like a movie or something like that. xD Well you can you can now make something look like this.



...
I actually found the other half of this that changes things to greyscale without doing any division or other crazy ASM. It's one RAM location:
0x02036E28
So just wrote a 0x1 to that offset for greyscale, and 0x2 for sepia (I think...). To reset, set it to 0x0.

Darthatron

巨大なトロール。

Age 28
Male
Melbourne, Australia
Seen February 2nd, 2015
Posted October 28th, 2014
1,152 posts
14 Years
hinkage messaged me about possibly removing the introduction part of the New Game function in FireRed. It was surprisingly easy. Pretty much entailed nulling some function calls and replacing one pointer. :)

0812ED1E: 00 00 00 00
0812ED2E: 00 00 00 00
0812EE3E: 00 00 00 00
0812EE48: 00 00 00 00
0812EE4E: 00 00 00 00
0812EE54: 00 00 00 00
0812EE60: 00 00 00 00
0812EE8C: D1 08 13 08
There's a small delay, though. I'm currently unsure about how to fix it.

EDIT: Nevermind. :( It only works if there is already a save file, for some reason.
あなた は しきしゃ です
わたし は ばか です

Iacobus

sǝɯɐɾ

Age 28
Male
Belgium
Seen 1 Week Ago
Posted March 31st, 2014
62 posts
16.1 Years
EDIT: Nevermind. :( It only works if there is already a save file, for some reason.
You have to write a function that writes a temporary player and rival name to the right location. Then it will work, trust me ;) The game tries to load those.

InMooseWeTrust

Jack of All Trades

Age 27
Male
Lansdale, Pennsylvania, USA
Seen June 18th, 2019
Posted March 17th, 2018
814 posts
12.5 Years
Is there a way to hack an unused ability (like Cacophony) into Snow Warning? Drought, Drizzle and Sand Stream are already in 3rd gen but I'd like to have the option in Fire Red for a Hail team in the same way.
Pokémon: Battles of the Past
Site Thread
Black2 FC: 5072 6059 9635

Agastya

Grinding failed. Item Grind level dropped by 3.

Seen December 13th, 2019
Posted January 16th, 2017
72 posts
9.9 Years
em swarms @0x58D094
species - 2
movepool - 8
level - 1 (i think)
map - 1 (i think, based on first map bank)

assuming this is correct, these are the swarms in this data block
Seedot Lv3, Route 102: Bide, Harden, Leech Seed
Nuzleaf Lv15, Route 115: Harden, Growth, Nature Power, Leech Seed
Seedot Lv13, Route 117: Harden, Growth, Nature Power, Leech Seed
Seedot Lv25, Route 120: Giga Drain, Frustration, Solarbeam, Leech Seed
Skitty Lv13, Route 116: Growl, Tackle, Tail Whip, Attract

they primarily have egg moves and they're primarily just seedot so idk
they really dont seem that special and theyre completely off from what other sites say so maybe theres another block of swarm data somewhere

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 22
Male
Hoenn Safari Zone
Seen November 13th, 2019
Posted April 17th, 2017
700 posts
10.7 Years
The address at 0x030008c9 is a step counter that increases by three for each step. Just something I found while searching the RAM.

El Diabeetus

Amateur Voice Actor / ROM Editor ('Hacker')

Age 26
Seen 4 Weeks Ago
Posted August 14th, 2019
1,069 posts
13.5 Years
Is there a way to delete your rival from the naming process at the beginning of the game in FireRed?
Hacks I'm currently working on (at a super slow pace):

Chinpokomon Big/Small (would leave the titles, but apparently exceeded sig limit)

Check my Japanese inspired Logo edits for Gens 1-7!:
http://www.pokecommunity.com/showpost.php?p=9137003

Quickster

Dream or Drop?

Male
Seen April 4th, 2016
Posted April 3rd, 2016
351 posts
12.2 Years
Is there a way to delete your rival from the naming process at the beginning of the game in FireRed?
Hey, I figured Id link you to this page.

http://www.thepkmnworld.co.uk/v5/forum/threads/jambo51s-asm-resource-centre.396/

If you look at the naming rival from overworld section, Im sure you could learn something as Jambo removes it, Im pretty sure at least.
I laugh looking at this.

But sometimes I want to come back to it...

Age 22
Male
Seen 1 Hour Ago
Posted March 23rd, 2019
545 posts
7.4 Years
Hey, I figured Id link you to this page.

http://www.thepkmnworld.co.uk/v5/forum/threads/jambo51s-asm-resource-centre.396/

If you look at the naming rival from overworld section, Im sure you could learn something as Jambo removes it, Im pretty sure at least.
Uh... Could you just copy the thing written on your link and paste it here cause that site isn't available in my country?
Advertiser Content