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

Pokepal17's tut no.1 - Resizing Overworlds

Pokepal17

More cowbell~
1,519
Posts
15
Years
In this tutorial, I will teach you how to resize an overworld sprite.

Requirements:
:pokeball:Overworld Editor RE
:pokeball:A Hex Editor (I'm Hex Workshop)
:pokeball:A ROM (I'm using Fire Red BPRE)
:pokeball:An Emulator (I'm using VBA)

Okay now first of all load up your ROM and find the overworld that you want to resize. In my case I will be resizing the fallen old man from Viridian City.
First enable Expert Mode by pressing Crtl + M. Now look at the data. The info 1 sprite header is the main data of the overworld and the info 2 sprite header is the data of the particular overworld frame.




Let's look at this in a hex editor. My way of finding the hex data is by searching for the reversed sprite pointer.
So I would do this:
083A0A70 ---> 700A3A08
And when we search it we get a result. Now we find the beginning of the data by going back until we come to FFFF.



Now I will explain what each bit of data is:

FFFF – Starter bytes
04 – Palette Index
11 FF 11 – Unknown data 1
0002 – The data size (the number of bytes the sprite takes, reversed)
20 – Width (hex)
00 – Unknown byte 1
20 – Height (hex)
00 - Unknown byte 1
14 01 0000 - Unknown data 2
18 37 3A 08 – Unknown pointer 1 (reversed)
F0 37 3A 08 – Unknown pointer 2 (reversed)
68 33 3A 08 – Unknown pointer 3 (reversed)
70 0A 3A 08 – Sprite Pointer (reversed)
FC 1C 23 08 – Unknown pointer 4 (reversed)

And there is the layout

You will need to find a sprite which has equivalent dimensions to the new dimensions of the overworld you're resizing. Now I will be resizing my sprite to 64 x 64. So what I need to do is find another 64x64 sprite (the speedboat) in overwold editor.




Now first of all edit the data size to equal the one of the sprite you just looked up in overworld editor. So I will need to change it to 00 08 because that's the data size reversed.

Next change the dimensions to what you want them to be, I'm having 64 x 64 so I'll change the length and width bytes to 40 (coz that's 64 in hex).




Now for the important bit, change the unknown pointers 1 and 2 to the ones of the sprite you looked up in overworld editor. This will determine how the sprite appears in game. If you don't change them, then the overworld won't look right in-game.

So what I'll do is:
18 37 3A 08 --> 20 37 3A 08
F0 37 3A 08 --> D0 37 3A 08

So for me I change




to




Save and look at the resized sprite in overworld editor. You'll see that the frames have joined, so they need repointing.




Now follow the sprite pointer and you will come to the pointers of the frames (sprite pointer info 2). Find out how may frames your sprite has and repoint the first (number of frames) pointers to a clean offsets. For the offsets, just find some FF in your hex editor and reverse the offset and replace the first pointer with it. Now to tell how much space you'll need for each frame, convert the unreversed new data size into decimal.

So I get 0800 ---> 2048

So I'll need 2048 bytes for each frame. So I repoint the frames to new offsets with enough space. I'm going to repoint to the offset 71A23C for my first frame so I reverse it and get 3C A2 71 08

After each frame pointer there is the old data size for the frame; replace it with the new one (in my case 00 80.)

Since all my frames are going to have the same images I'm repointing the frames to one offset but you'll need to repoint to more offsets if you have a different image on each frame.




Now save and go back to the resized overworld in overworld editor. If all went well, the frame will be the last colour in the palette.




Now make your new overworlds.




Test it ingame and it should be fine.




Credits to HackMew for the overworld editor readme file, Darthatron for his advanced overworld spriting tutorial and to Peyi for his tutorial on WAH.

Copyright 2009 Pokepal17
 
Last edited by a moderator:

Pokepal17

More cowbell~
1,519
Posts
15
Years
U no there i programs to do this right?
Yep and programs can screw up ROMs. Besides this way shows people how to do it for themselves and not depend on a program.

The only program that I know that can do this can also screw up a ROM. And this is more practical :P
 

Pokepal17

More cowbell~
1,519
Posts
15
Years
So...you've never tried it?
I once tried it and it worked okay, so if you want to use it then fine, but if you want some more understanding of overworld sprites and you would like to know how to do it manually then that's what this guide is for :P

Besides, I like to do as much practical hacking as possible :)
 

machomuu

Stuck in Hot Girl Summer
10,507
Posts
15
Years
I once tried it and it worked okay, so if you want to use it then fine, but if you want some more understanding of overworld sprites and you would like to know how to do it manually then that's what this guide is for :P

Besides, I like to do as much practical hacking as possible :)
Now that's the sign of a good worker!
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
Have mercy to those who have a slow internet connection... T_T
make the screenshots smaller and easier to be uploaded...
 

Pokepal17

More cowbell~
1,519
Posts
15
Years
Have mercy to those who have a slow internet connection... T_T
make the screenshots smaller and easier to be uploaded...

Okay :P The screenshots will be made smaller and hopefully that should fix your problem :P It's annoying having slow internet. ¬_¬
 

mat1554

French Translator
28
Posts
16
Years
Hi,
I have a question for you, do you give me autorization to translate your tutorial in french for my forum please ? I you want, can you answer me by MP please.

Thank you !
Mat1554
 

SharpPoint

Suicune used Surf!
477
Posts
14
Years
Hi,
I have a question for you, do you give me autorization to translate your tutorial in french for my forum please ? I you want, can you answer me by MP please.

Thank you !
Mat1554

Well, I like that he actually asks for permission first. Most people would just go translate it without permission. This is the internet nowadays.
 

mat1554

French Translator
28
Posts
16
Years
xD I my head if you translate tuto without permission, it's thief the project and work that people who had make.
(sorry my english is not very good xD)
 

Pokepal17

More cowbell~
1,519
Posts
15
Years
xD I my head if you translate tuto without permission, it's thief the project and work that people who had make.
(sorry my english is not very good xD)

Well said, Also, while translating it, please credit the people I credited in the tutorial.
 

Sarcastic Prince

Starting anew...
3,003
Posts
16
Years
Yep and programs can screw up ROMs. Besides this way shows people how to do it for themselves and not depend on a program.

Actually, that Program doesn't screw up the Rom. I've used that Program bunches of times in a "so called unstable rom", a Emerald Rom. Well, I do depend things on programs, most of the Time unless I have to insert OW's from a sheet in a Emerald Rom.
 

Pokepal17

More cowbell~
1,519
Posts
15
Years
Actually, that Program doesn't screw up the Rom. I've used that Program bunches of times in a "so called unstable rom", a Emerald Rom. Well, I do depend things on programs, most of the Time unless I have to insert OW's from a sheet in a Emerald Rom.

I see. Well using programs is fine IMO, but this is a method using mainly a hex editor.
 

Satoshi Ookami

Memento Mori
14,254
Posts
15
Years
This is cool tutorial but I have a huge problem...
After I repoint the frames and the black 64x64 square in OWE appear I import some bitmap (I used Giratina and Rayquaza) but in game it's just blank space... but for some reason in A-Map the OW appear...
 

Pokepal17

More cowbell~
1,519
Posts
15
Years
This is cool tutorial but I have a huge problem...
After I repoint the frames and the black 64x64 square in OWE appear I import some bitmap (I used Giratina and Rayquaza) but in game it's just blank space... but for some reason in A-Map the OW appear...

Check, the sprites pointers and compare it to the ones I used. Sometimes, the wrong pointers makes it appear wrong in game.
 
Back
Top