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

Help Thread: Quick Questions & Answers

Status
Not open for further replies.

Squeetz

ROM Hacker
191
Posts
10
Years
  • Does anyone know why there are 12 person events in Brendan and May's rooms with picture ID's 240-251 (and why they aren't visible)? I want to know if they have any special purpose and if it's fine to remove them.
    They are decorations iirc. I haven't tested what would happen if you were to remove them and then try to decorate your room by using the PC, but it probably wouldn't be very pretty.
     
    5,256
    Posts
    16
    Years
  • How do I edit the amount of wild Pokemon in a single map and edit their encounter rate so that one pokemon doesn't have less encounter rate than others? Thanks in advance :)

    The order of the list is in descending rarity, so the Pokémon at the top will be the most common, and the two at the bottom will only have a 1% chance of appearing. The exact percentages are listed in Advance Map 1.9.5, but I'd avoid using that.

    ZOmZPMj.png
     
    1,309
    Posts
    12
    Years
    • She/Her
    • Seen Nov 24, 2023
    I am making my own hack. Need as much help as possible. I am wondering how do i replace the old pokemon sprites with newer ones. Tutorials dont help as the pictures do not show.

    First you have to index your sprite to use 16 colors only, then you can use NSE to insert your sprite. In NSE load your ROM, under "Edit Sprites" select Pokemon. Navigate to the sprite you'd like to replace and then under File > Import > Import Sprite Data and select your new sprite. Under Edit>Palette, hit "Save Palette To Rom". Then click File>Save. If it asks you to repoint something, say yes. Hope this helps!
     

    Exodrake

    The Manliest Chick that Ever Manlied
    163
    Posts
    10
    Years
    • Seen Nov 30, 2016
    Where are the rest of the egg sprites (the ones in the process of cracking) located in FireRed?
     

    Aethestode

    Hacker
    1,700
    Posts
    16
    Years
    • Seen Aug 14, 2023
    Is it possible to increase the bag size?
    Kinda getting sick that the bag always get full.
     

    Telinc1

    Weirdo Extraordinaire
    168
    Posts
    10
    Years
  • Is it possible to increase the bag size?
    Kinda getting sick that the bag always get full.
    There's no method for all pockets I know of, though this post may be helpful. It's about increasing the amount of Poké Balls and TMs you can hold. With a bit research, there's a chance it could be used for the item and key item pockets too. Note that the method above requires free RAM (preferably, free RAM which gets written to the save file, so JPAN's save block recycling routine is essential) and also restarting all save files.
    Edit: See post down below. Apparently this can be used for the other pockets too.
     
    Last edited:
    417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Is it possible to increase the bag size?
    Kinda getting sick that the bag always get full.

    There's no method for all pockets I know of, though this post may be helpful. It's about increasing the amount of Poké Balls and TMs you can hold. With a bit research, there's a chance it could be used for the item and key item pockets too. Note that the method above requires free RAM (preferably, free RAM which gets written to the save file, so JPAN's save block recycling routine is essential) and also restarting all save files.
    That IS the method. It doesn't require more research; the post just happens to be specific to Pokeballs. Every item pocket is handled by the routine where the hook is coming for, structured by a word of the number of items and a word of the offset at which the pocket content begins. I personally sent (expanded) TMs to be saved in a completely different area of RAM and it gave me a good amount of space to expand every other pocket.
     

    Aethestode

    Hacker
    1,700
    Posts
    16
    Years
    • Seen Aug 14, 2023
    That IS the method. It doesn't require more research; the post just happens to be specific to Pokeballs. Every item pocket is handled by the routine where the hook is coming for, structured by a word of the number of items and a word of the offset at which the pocket content begins. I personally sent (expanded) TMs to be saved in a completely different area of RAM and it gave me a good amount of space to expand every other pocket.

    Okay, so how do I do it when I want to expand the key item and normal item pocket size? I don't know the pointers for them.
     

    PokemonBen

    Kanto Champion
    60
    Posts
    8
    Years
    • Seen Apr 27, 2020
    1. A-trainer will not extract. It gives me an error that it can only compress after being closed by the application using it. There was no application using it but winrar, which I need to extract it.

    2. I am having trouble following these instructions, as I am not good with HEX. http://pastebin.com/13djBRnT

    3. G3HS PNL is not defined.
     
    Last edited by a moderator:
    104
    Posts
    11
    Years
    • Seen Nov 28, 2023
    is there any tutorial about how to build block (Advance Map) in hex editor? Pretty sure i saw one here, but can't find it now. Thank you.
     
    40
    Posts
    9
    Years
    • Seen Sep 4, 2019
    Is there a tool for altering the regional dex in pokemon black/white? I know there are tools for changing which pokemon spawn where, but it'd be nice to be able to change the pokedex too.
     
    417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Okay, so how do I do it when I want to expand the key item and normal item pocket size? I don't know the pointers for them.
    Alright. For FireRed, first, save data structure from here: http://www.pokecommunity.com/showpost.php?p=8777743&postcount=1
    Code:
    00000298 Item_PC_storage Item_entry 30 dup(?)    ; Only set of items that is not encrypted
    00000310 General_items   Item_entry 40 dup(?)    ; Items are encrypted with the other block 0xf20 key
    000003B0 key_Item        Item_entry 32 dup(?)
    00000430 pokeBalls       Item_entry 13 dup(?)
    00000464 TMs             Item_entry 58 dup(?)
    0000054C Berries         Item_entry 43 dup(?)
    Each item entry is four bytes long, with an item index and an item quantity that is obfuscated, each being a halfword. Note that the "offsets" there aren't addresses; they're offsets from what JPAN is calling "block 8" for simplicity. The distinction is important. See the original post for details. Also, I think JPAN made a typo in that section; you'll see why. For the routine referenced in kearnseyboy's post, what you need to understand that the purpose of the routine is storage of the the beginning offset of the pocket and the maximum number of items that can be held in the pocket, a word at a time, for each item pocket. At the end routine, the following offsets should contain the important offsets/quantities:
    Code:
    0x203988C: offset of general items
    0x2039890: maximum number of held items
    0x2039894: offset of key items
    0x2039898: maximum number of key items
    0x203989C: offset of pokeballs
    0x20398A0: maximum number of pokeballs
    0x20398A4: offset of TMs/HMs
    0x20398A8: maximum number of TMs/HMs
    0x20398AC: offset of berries
    0x20398B0: maximum number of berries

    Now, the heavily commented routine:
    Code:
    ROM:08099E44
    ROM:08099E44 @ =============== S U B R O U T I N E =======================================
    ROM:08099E44
    ROM:08099E44
    ROM:08099E44 sub_8099E44:                            @ CODE XREF: saveblock_randomize_position+24p
    ROM:08099E44                 LDR     R1, =0x203988C
    ROM:08099E46                 LDR     R0, =0x3005008 	@saveblock eight pointer
    ROM:08099E48                 LDR     R2, [R0]		@address of saveblock eight
    ROM:08099E4A                 MOVS    R3, #0x310		@0x310, offset of general items (within saveblock eight)
    ROM:08099E4E                 ADDS    R0, R2, R3		@address of general items
    ROM:08099E50                 STR     R0, [R1]		@store address of general items at 0x203988C
    ROM:08099E52                 MOVS    R0, #0x2A @ '*'	@#42 (see why I think there was a typo in JPAN's post?)
    ROM:08099E54                 STRB    R0, [R1,#4]	@store #42 at 0x2039890; maximum quantity of general items
    ROM:08099E56                 ADDS    R3, #0xA8 @ '¿'	@0x3B8; offset of key items (within saveblock eight)
    ROM:08099E58                 ADDS    R0, R2, R3		@address of key items
    ROM:08099E5A                 STR     R0, [R1,#8]	@store address of key items at 0x2039894
    ROM:08099E5C                 MOVS    R0, #0x1E		@#30 (typo again?)
    ROM:08099E5E                 STRB    R0, [R1,#0xC]	@store #30 at 0x2039898; maximum quantity of key items
    ROM:08099E60                 ADDS    R3, #0x78 @ 'x'	@0x430; offset of pokeballs (within saveblock eight)
    ROM:08099E62                 ADDS    R0, R2, R3		@address of pokeballs
    ROM:08099E64                 STR     R0, [R1,#0x10]	@store address of pokeballs at 0x203989C
    ROM:08099E66                 MOVS    R0, #0xD		@#13
    ROM:08099E68                 STRB    R0, [R1,#0x14]	@store #13 at 0x20398A0; maximum quantity of pokeballs
    ROM:08099E6A                 ADDS    R3, #0x34 @ '4'	@0x464; offset of TMs/HMs (within saveblock eight)
    ROM:08099E6C                 ADDS    R0, R2, R3		@address of TMs/HMs
    ROM:08099E6E                 STR     R0, [R1,#0x18]	@store address of TMs/HMs at 0x20398A4
    ROM:08099E70                 MOVS    R0, #0x3A @ ':'	@#58
    ROM:08099E72                 STRB    R0, [R1,#0x1C]	@store #58 at 0x20398A8; maximum quantity of TMs/HMs
    ROM:08099E74                 LDR     R0, =0x54C		@0x54C, offset of berries (within saveblock eight)
    ROM:08099E76                 ADDS    R2, R2, R0		@address of berries
    ROM:08099E78                 STR     R2, [R1,#0x20]	@store address of berries at 0x20398AC
    ROM:08099E7A                 ADDS    R1, #0x24 @ '$'	@r1= 0x20398B0
    ROM:08099E7C                 MOVS    R0, #0x2B @ '+'	@#43
    ROM:08099E7E                 STRB    R0, [R1]		@store #43 at 0x20398B0; maximum quantity of berries
    ROM:08099E80                 BX      LR
    ROM:08099E80 @ End of function sub_8099E44
    ROM:08099E80
    ROM:08099E80 @ ---------------------------------------------------------------------------
    ROM:08099E82                 .align 4
    ROM:08099E84 dword_8099E84:  .long 0x203988C         @ DATA XREF: sub_8099E44r
    ROM:08099E88 dword_8099E88:  .long 0x3005008         @ DATA XREF: sub_8099E44+2r
    ROM:08099E8C dword_8099E8C:  .long 0x54C             @ DATA XREF: sub_8099E44+30r
    Obviously, to expand pockets without reducing other pockets, they need to be stored elsewhere. I think that should be enough to get started on rewriting the routine, but if it isn't, feel free to ask!
     
    127
    Posts
    10
    Years
    • Seen May 4, 2024
    Is it possible to inflict Attract/infatuation status without using command 97?

    If not, is there any way to edit those commands?
     
    Last edited:
    104
    Posts
    11
    Years
    • Seen Nov 28, 2023
    Do you mean this? It's the closest to a tutorial I could find.
    Happy Hacking!

    Yes, I know I read that somewhere, that's one of posts I've been looking for, thank you!

    However, I believe I read somewhere that each block has more bytes than just "first layer" and "second layer", which control the x/y flip, block behavior, etc (or my mind played tricks on me), is there any guide about it? Thank you
     

    Aethestode

    Hacker
    1,700
    Posts
    16
    Years
    • Seen Aug 14, 2023
    How safe is it to expand a FireRed (not a clean/vanilla) rom from 16mb to 32mb using XSE?
     
    Status
    Not open for further replies.
    Back
    Top