The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page Tutorial [FR] Expanding the Pokedex
Sign Up Rules/FAQ Daily Battle Blogs Mark Forums Read


Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Reply
 
Thread Tools
  #76    
Old March 25th, 2014 (4:36 PM).
MrDollSteak's Avatar
MrDollSteak MrDollSteak is offline
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 21
Gender: Male
Posts: 729
Quote:
Originally Posted by karatekid552 View Post
The second is probably the result of not making the habitat table properly. The first.... well... none of us trade, lol.
Actually I fear the second may be something else entirely.
When I messed around with habitat data myself before your tool came out,
I noticed that no matter what Pokemon I caught, it'd display the first page
of the first habitat.
I think that's why it's showing Rattata, because Rattata'd be the first pokemon
in the grassland.
My worry is that there's some sort of byte somewhere in the midst of the
habitat data that when expanded, repointed or rearranged leads to catching
problems.
(This was actually one of the glitches that got me started on ASM, I just
haven't looked into it since.)
__________________
Reply With Quote

Relevant Advertising!

  #77    
Old March 25th, 2014 (8:50 PM).
Deokishisu's Avatar
Deokishisu Deokishisu is offline
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
Posts: 674
Even if nobody trades with each other, it's going to be an important issue for ingame trades, and should be fixed if you leave in the possibility for the player to trade at all.
Reply With Quote
  #78    
Old March 26th, 2014 (12:48 AM).
Artemis64 Artemis64 is offline
 
Join Date: Mar 2014
Location: Singapore
Gender: Male
Nature: Hasty
Posts: 79
Is it possible to port this to another ROM, say, Ruby?
Also, can you please post the methods you used to obtain your offsets (like the offset containing the amount of memory assigned for the Pokédex, I certainly haven't found that in any INIs) so that others can try porting this to other ROMs?
Reply With Quote
  #79    
Old March 26th, 2014 (2:26 PM).
GoGoJJTech's Avatar
GoGoJJTech GoGoJJTech is offline
http://GoGoJJTech.com (WIP!)
Gold Tier
 
Join Date: Nov 2012
Location: Earth
Age: 17
Gender: Female
Nature: Jolly
Posts: 2,447
Quote:
Originally Posted by Artemis64 View Post
Is it possible to port this to another ROM, say, Ruby?
Also, can you please post the methods you used to obtain your offsets (like the offset containing the amount of memory assigned for the Pokédex, I certainly haven't found that in any INIs) so that others can try porting this to other ROMs?
Ruby doesn't have a malloc system to store the dex info, so no, it's almost impossible on Ruby. The code is so messy you'll get lost in it.
__________________
Reply With Quote
  #80    
Old April 13th, 2014 (3:11 AM).
AtecainCorp.'s Avatar
AtecainCorp. AtecainCorp. is offline
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 23
Gender: Male
Nature: Hardy
Posts: 906
But why do not take an courage and start changing system from messy code to Maloc system. For example exported from Emerald.
__________________
POKEMON RUBY RENEV - http://www.pokecommunity.com/showthread.php?t=341964

My FC is 2080-0646-1641
IGN - Ketrab
Reply With Quote
  #81    
Old April 13th, 2014 (8:44 AM).
karatekid552's Avatar
karatekid552 karatekid552 is offline
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Posts: 1,766
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by Ksiazek Bartlomiej View Post
But why do not take an courage and start changing system from messy code to Maloc system. For example exported from Emerald.
Says the guy with no programming experience...... and whom refuses to get any.


No, it is not that easy. That would be removing and porting about 1000 lines of code or more in raw ASM to another game in a way where it might not even work. It would be easier to write a completely new Pokedex in C and insert it.
__________________

Paired with Simba
Reply With Quote
  #82    
Old April 14th, 2014 (7:36 AM).
LCCoolJ95's Avatar
LCCoolJ95 LCCoolJ95 is offline
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 21
Gender: Male
Nature: Naive
Posts: 360
Quote:
Originally Posted by karatekid552 View Post
Says the guy with no programming experience...... and whom refuses to get any.


No, it is not that easy. That would be removing and porting about 1000 lines of code or more in raw ASM to another game in a way where it might not even work. It would be easier to write a completely new Pokedex in C and insert it.
It requires C, or C++? Or is it the same thing? Sorry if that's a dumb question.

The truth is, I've been busy with school, karate, family, and I have been trying to learn how to program in my free time because...I'm going to try and port this, over to Emerald...well, not really port, but give Emerald its own version. SBird has it working for a German Emerald ROM, so why can't it work for an English Emerald ROM? So, I've been learning how to ASM program and a little bit of C++.

@Ksiazek Bartlomiej, I'm not trying to flame you or anything, I'm just saying, you should really look into ASM programming. I looked at it for a brief few minutes. It looks hard at first, but it's pretty simple if you get a handle on it
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Pokémon Emerald 650 (Resource Patch): http://www.pokecommunity.com/showthread.php?t=346694
Pokémon Theta Emerald: http://www.pokecommunity.com/showthread.php?t=349258
Reply With Quote
  #83    
Old April 14th, 2014 (4:26 PM).
karatekid552's Avatar
karatekid552 karatekid552 is offline
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Posts: 1,766
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by LCCoolJ95 View Post
It requires C, or C++? Or is it the same thing? Sorry if that's a dumb question.

The truth is, I've been busy with school, karate, family, and I have been trying to learn how to program in my free time because...I'm going to try and port this, over to Emerald...well, not really port, but give Emerald its own version. SBird has it working for a German Emerald ROM, so why can't it work for an English Emerald ROM? So, I've been learning how to ASM program and a little bit of C++.

@Ksiazek Bartlomiej, I'm not trying to flame you or anything, I'm just saying, you should really look into ASM programming. I looked at it for a brief few minutes. It looks hard at first, but it's pretty simple if you get a handle on it
C++ is C with object orientated programming tacked on (that is why the syntax is a bit more awkward when compared to other object orientated languages). The compiler for GBA, as far as I know, is only C, but you can apply most of C++, just skip the objects.
__________________

Paired with Simba
Reply With Quote
  #84    
Old April 22nd, 2014 (3:41 AM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 299
This could be a huge bug if other are getting this, but Eggs won't hatch when given to the player.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #85    
Old April 23rd, 2014 (6:54 PM). Edited April 23rd, 2014 by DoesntKnowHowToPlay.
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
Tiny Umbrella with Lots and Lots of Good
 
Join Date: Jan 2012
Posts: 241
It turns out there are two pointers to x254795 in the ROM, which is the 18th byte of the first entry of the base stat table. This is what's causing the eggs to not hatch- they're actually working fine, they just have a nonsensically high number of cycles needed to hatch. I'll add this to the OP real quick. (existing rock eggs won't be fixed because cycle count is determined at egg gen)
__________________

Yet Another Fire Red Hack

Physical/Special Split
Reply With Quote
  #86    
Old April 23rd, 2014 (8:16 PM).
karatekid552's Avatar
karatekid552 karatekid552 is offline
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Posts: 1,766
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
It turns out there are two pointers to x254795 in the ROM, which is the 17th byte of the first entry of the base stat table. This is what's causing the eggs to not hatch- they're actually working fine, they just have a nonsensically high number of cycles needed to hatch. I'll add this to the OP real quick. (existing rock eggs won't be fixed because cycle count is determined at egg gen)
You guys are lucky I keep tabs on this thread. In the first post, you said 18th byte. In this one you said 17th. Ummm... The math says 17 to me, but I just need to make sure. I'm adding this to G3HS right now.
__________________

Paired with Simba
Reply With Quote
  #87    
Old April 23rd, 2014 (9:12 PM).
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
Tiny Umbrella with Lots and Lots of Good
 
Join Date: Jan 2012
Posts: 241
It's the 18th byte, or byte #17 if you start counting from zero. Sorry about that.
__________________

Yet Another Fire Red Hack

Physical/Special Split
Reply With Quote
  #88    
Old April 24th, 2014 (7:27 AM).
karatekid552's Avatar
karatekid552 karatekid552 is offline
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Posts: 1,766
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
It's the 18th byte, or byte #17 if you start counting from zero. Sorry about that.
I coded it as statsoffset + 17, so that should work. Don't worry about it and keep me posted if anything else comes up.
__________________

Paired with Simba
Reply With Quote
  #89    
Old April 24th, 2014 (3:26 PM).
ThomasWinwood ThomasWinwood is offline
 
Join Date: Nov 2013
Gender: Male
Nature: Relaxed
Posts: 67
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
Add cries for the new mons. As you may know, cries after Celebi are handled unusually- the limbo slots are all hard-wired to Unown's cry (doubt this is hard to fix but lazy), while slots starting from Treecko use an auxilary table to find their cry. This table is at x2539D4- repoint and extend it. Note that you don't need to repoint the cry table itself- immediately after it is a second, unused copy of the cry table.
Something about this seems wrong. I don't see any second copies of the table in the disassembly, used or otherwise.

This is the routine that handles converting the internal ID into the cry ID, taken from knizz' disassembly and commented by me:

Code:
speciesid_conv:
    push {lr}
    lsl r0, r0, #0x10   @ typecasting
    lsr r0, r0, #0x10
    movs r1, r0
    cmp r0, #250        @ slots up to 250 have the same cry ID as the internal ID
    bls loc_8043332
    ldr r0, dword_8043324
    cmp r1, r0          @ is this slot 275 or below?
    bls loc_8043330     @ if so, branch
    ldr r0, off_8043328 @ otherwise, use the table
    ldr r2, dword_804332C
    add r1, r1, r2      @ subtract 276 from ID
    lsl r1, r1, #1      @ and multiply by two, since it's a table of 16-bit values
    add r1, r1, r0      @ then index into the table
    ldrh r0, [r1]       @ retrieve the value
    b loc_8043332       @ and leave
@ ---------------------------------------------------------------------------
dword_8043324:  .long 275
off_8043328:    .long 0x082539D4
dword_804332C:  .long -276
@ ---------------------------------------------------------------------------

loc_8043330:
    mov r0, #200        @ limbo slots use Unown's cry

loc_8043332:
    pop {r1}
    bx r1
@ End of function speciesid_conv
The table at x2539D4 is followed by the first experience curve table - there is no secondary cry table.

Editing this routine to remove the hardcoded cry for the limbo slots is easy: write 00 00 00 00 00 00 00 00 00 00 (that's ten bytes) to x4330C and 00 00 00 00 (four) to x43318, then repoint the table at x4539D4 and expand it - it's now a table with one word for every ID. (You can test to make sure that it worked without repointing the table - you'll know it worked if the title screen makes Blaziken's cry.)
Reply With Quote
  #90    
Old May 9th, 2014 (8:36 PM).
Danny0317's Avatar
Danny0317 Danny0317 is offline
Fluorite's back, brah
Gold Tier
 
Join Date: Jun 2013
Location: Miami, FL
Age: 16
Gender: Male
Nature: Hasty
Posts: 1,061
Yeah well I have a question about this, if anyone could answer it then great.
I made a thread about it in the beginner's lounge, so here it is.

http://www.pokecommunity.com/showthread.php?t=325967

or

Spoiler:
Now I know that the tool Advanced IntroEd exists, but I wanna make it a Pokemon from the expanded dex, but seeing that Advanced IntroEd doesn't have an ini.. I can't. I assumed it would be maximum about 4 byte changes, since it's just the Pokemon, I'm gonna do the cry later, but that wasn't what happened. So I tried this in a clean rom: (1D is Nidoran F, 1E is Nidorina and the things in yellow are the changes)
Spoiler:
1

2

3

4

5


6


Now, say for my hack I want to add Turtwig, whose index number is 1B8 or 440. How would I do that? Thanks.
__________________
Reply With Quote
  #91    
Old May 23rd, 2014 (4:42 PM).
Zepkhan Zepkhan is offline
 
Join Date: Mar 2014
Posts: 5
I'm new to this, how do I use the JPAN block changer?
Reply With Quote
  #92    
Old May 23rd, 2014 (7:48 PM).
GoGoJJTech's Avatar
GoGoJJTech GoGoJJTech is offline
http://GoGoJJTech.com (WIP!)
Gold Tier
 
Join Date: Nov 2012
Location: Earth
Age: 17
Gender: Female
Nature: Jolly
Posts: 2,447
Quote:
Originally Posted by Zepkhan View Post
I'm new to this, how do I use the JPAN block changer?
It's called the save block patch, and I have it right here: https://www.dropbox.com/s/4l91qcr9xgbx8y2/JPAN%20save_block_recycle.ips
__________________
Reply With Quote
  #93    
Old June 4th, 2014 (4:57 PM).
Zepkhan Zepkhan is offline
 
Join Date: Mar 2014
Posts: 5
Got 1 more question: what value do I make the SEEN/CAUGHT pointers?
Reply With Quote
  #94    
Old June 5th, 2014 (12:56 AM).
Spherical Ice's Avatar
Spherical Ice Spherical Ice is offline
Moderator
 
Join Date: Nov 2007
Location: Leicester, UK
Age: 18
Posts: 4,682
I'm unsure if I should post this in G3HS' thread, but I myself have tried to go backwards from what the tool has done and nothing appears to be amiss.

The extended Pokémon in my ROM have broken altitudes, basically. If I change the value to be > 0, the shadow displays, but the sprite stays where it is. If I set it to 0, the shadow disappears, so that is working. However, regardless of the value, the sprites remain "stuck" to the ground. I've tried re-repointing the altitude table, the 03 E0 byte changes on the OP have been done successfully, and it's obviously registering that there is an altitude value, it just isn't using it.



I've also tried editing the altitude using Advanced Series and simply using a hex editor, so the value is definitely changing. I feel like I'm missing a limiting byte or something, but I can't seem to find what it is exactly.

This only happens to the extended Pokémon in my ROM: with Chimecho, it's fine, but with Turtwig, it doesn't work.
__________________
Reply With Quote
  #95    
Old June 5th, 2014 (5:09 AM).
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
Tiny Umbrella with Lots and Lots of Good
 
Join Date: Jan 2012
Posts: 241
Try putting 06 E0 at x74788.
__________________

Yet Another Fire Red Hack

Physical/Special Split
Reply With Quote
  #96    
Old June 5th, 2014 (7:39 AM).
Spherical Ice's Avatar
Spherical Ice Spherical Ice is offline
Moderator
 
Join Date: Nov 2007
Location: Leicester, UK
Age: 18
Posts: 4,682
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
Try putting 06 E0 at x74788.
That fixed it! Thanks Doesnt!
__________________
Reply With Quote
  #97    
Old June 5th, 2014 (11:27 AM).
GoGoJJTech's Avatar
GoGoJJTech GoGoJJTech is offline
http://GoGoJJTech.com (WIP!)
Gold Tier
 
Join Date: Nov 2012
Location: Earth
Age: 17
Gender: Female
Nature: Jolly
Posts: 2,447
Quote:
Originally Posted by Zepkhan View Post
Got 1 more question: what value do I make the SEEN/CAUGHT pointers?
All you gotta do is point them to the seen/caught flags. Nothing hard
__________________
Reply With Quote
  #98    
Old June 13th, 2014 (2:14 AM).
bimbimthiensu bimbimthiensu is offline
 
Join Date: Jul 2013
Gender: Male
Posts: 46
my english is not good, and I can not understand the steps. you can make a video tutorial for me? thanks
Reply With Quote
  #99    
Old June 18th, 2014 (4:04 PM).
Chaos Rush's Avatar
Chaos Rush Chaos Rush is offline
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Posts: 1,296
Doesnt himself told me this so I'm just going to post it here so I don't have to save it somewhere:

For FireRed, to fix cries on expanded mons that use a cry index of higher than 0x200, put 01 1C 11 E0 at x720CA.
__________________

My projects:
Untitled Pokémon fangame (pictured above) | Final Fantasy II NES retranslation | Mother 1/EarthBound Beginnings Color Restoration for GBA
Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete
Reply With Quote
  #100    
Old June 18th, 2014 (4:51 PM).
GoGoJJTech's Avatar
GoGoJJTech GoGoJJTech is offline
http://GoGoJJTech.com (WIP!)
Gold Tier
 
Join Date: Nov 2012
Location: Earth
Age: 17
Gender: Female
Nature: Jolly
Posts: 2,447
Quote:
Originally Posted by Chaos Rush View Post
Doesnt himself told me this so I'm just going to post it here so I don't have to save it somewhere:

For FireRed, to fix cries on expanded mons that use a cry index of higher than 0x200, put 01 1C 11 E0 at x720CA.
isn't this in the first post somewhere
__________________
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 12:37 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2016 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2016.