Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2013-06-11 23:16:45

80C
Banned
Registered: 2013-03-16
Post 698/1,257

Red\Blue Flight Data (COMPLETE)

After many failures and lacking of knowledge, I finally got all the necessary knowledge to edit successfully flight data in Ble & Red.

All what you need is stored in 2 sections:

1) $6448 - $647B:  Flying Warp-To-Data Pointers and Maps they are on
2) $647C - $64C9: Flying/Dying Warp-To Data

---------------------------------------------------------------------------------
1) Flying Warp-To-Data Pointers and Maps they are on (4 BYTES each Map):
There are 13 Warp-To-Data Pointers, 11 for the towns and 2 for Route 4 and Route 10.

[BYTE 1]: Index Number of the Map. Maps in R\B are sorted by Index from $00 to $FF, but some maps aren't used;
[BYTE 2]: Always 00 (unknown use);
[BYTES 3,4]: Pointer to Flying/Dying Warp-To Data. This indicates the current adress (in the same bank) where the data are stored.

----------------------------------------------------------------------------------
2) Flying/Dying Warp-To Data (6 BYTES each Map):

[BYTES 1,2]: Flying Position Adress. It refers to the block in which the Flying Position is set;
[BYTES 3,4]: Y and X Position of the Flying Position.
Note that a flying position MUST occupy the top right corner of the block in which the Flying Position is set and must match with the Flying Position Adress.
[BYTE 5]: Always 00 (unknown use);
[BYTE 6]: Always 01 (unkown use).

----------------------------------------------------------------------------------
How to edit flying positions:

First, indicate in Section 1) on which map each flying position is set (you could even set it in Routes & eventually interiors as does FR\LG in the Player's house); the modify the flying/dying warp-to data.

GoldMap\RedMap\GrapeMap shows the X and Y position of the cursor in the map, just copy it converting the numbers in HEX format.

Then calculate the Flying Position Adress in the same way you have to calculate a Trigger Position Adress,
make sure X and Y adresses matches with the right-top tile in the block in which the flying position is set and
it's done!

I Hope it helps, and good hacking!


I left this forum.

Offline

#2 2013-06-12 02:30:58

Danny-E 33
Administrator
Registered: 2012-06-09
Post 537/1,119

Re: Red\Blue Flight Data (COMPLETE)

Nice! This takes away some effort (and stress) whenever I finally got around to looking into this. Nice job and good tutorial!

Offline

#3 2013-06-12 19:40:54

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 314/1,199
Website

Re: Red\Blue Flight Data (COMPLETE)

What is GrapeMap? Is this a special map editor for Pokémon Grape?


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#4 2013-06-12 19:45:00

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 2,584/3,578

Re: Red\Blue Flight Data (COMPLETE)

I'm assuming it is, because:
Redmap is just an outdated copy of Goldmap, with the ini files and tileset images edited to load data from Red instead of Gold.
Since nothing about map locations is read from the rom, if you repoint maps, you would have to edit the ini files manually to edit them in there.
As such, it would make perfect sense for him to keep a separate copy of Redmap where he updated the ini files to load data from the places he had repointed it to.

Offline

#5 2013-06-12 20:19:15

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 316/1,199
Website

Re: Red\Blue Flight Data (COMPLETE)

Thanks, Mateo.


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#6 2013-06-12 20:23:57

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 2,585/3,578

Re: Red\Blue Flight Data (COMPLETE)

No problem!

Offline

#7 2013-06-12 21:06:28

Tauwasser
Member
Registered: 2010-10-16
Post 398/452

Re: Red\Blue Flight Data (COMPLETE)

Notice something about bytes 5 and 6??? I talked about them in one of your other threads...

Tauwasser wrote:

This is where the second structure is read. So we see [2b pointer upper left block in WRAM][event Y coordinate][event X coordinate][even Y block quarter (bool)][even X block quarter (bool)].

That's thread #3242.

cYa,

Tauwasser

Last edited by Tauwasser (2013-06-12 21:07:16)

Offline

#8 2013-06-12 21:54:53

80C
Banned
Registered: 2013-03-16
Post 704/1,257

Re: Red\Blue Flight Data (COMPLETE)

I don't remember what bytes #5 and #6 could change, maybe it has to do with the relative position of the player inside that block (01 could mean "Top Right", I dunno).

Since I don't wish post wrong information on which I have doubts, I signed those with "Unknown".

@TMOTW; Mateo

Grape Map is an improved version of Red Map, that allows me edit Pokemon Grape since it has different tilesets, different adresses & also of some maps & new tilesets with their own location.
I improved it even more & now it could allow me change wild Grass & Water Pokemon & edit events (position, adresses, sprite #, trigger calc etc.), it's the complete Gold Map for my specific version, and it isn't like RedMap, it has even a new icon (a light green PokeBall, since yellow is gold & Red is Red, Then Grape is Green!).

It doesn't allow me to edit flying position because that version of GoldMap is the latest and works in a different way and is less customizable.
Oh, and it doesn't allow me to avoid hex editing & eventually asm I remember you.


I left this forum.

Offline

#9 2013-06-19 15:15:40

80C
Banned
Registered: 2013-03-16
Post 721/1,257

Re: Red\Blue Flight Data (COMPLETE)

I'm glad you found this useful!

So I'm gonna spoil half of the secret of how to calculate flight spot event position.

You have to calculate it as a Trigger event.
But how to do this?

Simply, using GoldMap, open a fake map that is IDENTICAL to the map in which you wish hack the flight position.
Simply put a trigger in the coord where you wish have your Flight Position event and calculate it.
Then using HexEditor write the new adress - remember you have to switch the bytes because of the endian-.

I said half because that was the first method I used to calculate Event position for Flight Position, then I implemented Trigger calculation as well as event editing in Grape Map so now it's a bit easier.

Last edited by 80C (2013-06-19 15:16:07)


I left this forum.

Offline

Board footer

Powered by FluxBB