Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Ad Content
Reply
 
Thread Tools
  #1   Link to this post, but load the entire thread.  
Old July 8th, 2018 (1:26 PM).
Platinum Lucario's Avatar
Platinum Lucario Platinum Lucario is offline
The Legendary Master of <font color="#D8D48C">Light</font>!
 
Join Date: Jan 2008
Location: Warrnambool, Victoria, Australia.
Age: 26
Gender: Male
Nature: Calm
Posts: 1,583
As I've been doing some research into Pokémon Black's Map header data, I've noticed one very odd thing in that completely separates Gen 5's Map Header data from Gen 4's Map Headers:

The Weather Values!!!

So with that being said, SDSME shows that it's located in offset 0x1C in a map header, but that's kinda misleading as I've changed the value to various different values and nothing happens. In fact we don't even know what that value even does!

I've been looking through Pokémon Black Version's ROM data, so far, I haven't found anything in regards to values that can change the weather for a map.

What I do know is the land data (map model data) is located in a/0/0/8, Nuvema Town's land data is #0, I've compared the data to Route 4's land data in #34 and found hardly any difference in header data. And why I chose Route 4, is because Route 4 is a Route that has a sandstorm brewing all the time. So if we can manage to change the weather data to that, then that would be brilliant.

If anyone is interested, I've already documented some of the map headers in Pokémon Black Version, that may actually help. Unfortunately though, we need to find the Weather values, which don't seem to appear in the map header data.

Map Header Data - Offset locations - Pokémon Black Version (English) [IRBO]

Currently documented header data:

Map #389 (0x185h)
Nuvema Town
ROM: 0x5DE572C-5DE575B

0x00: Map Type
0x01: ???
0x02-03: Land Model Texture
0x04-05: Map Matrix Layout
0x06-07: Object Scripts
0x08-09: Map Scripts
0x0A-0B: Text
0x0C-0D: Background Music (Spring)
0x0E-0F: Background Music (Summer)
0x10-11: Background Music (Autumn)
0x12-13: Background Music (Winter)
0x14-15: Wild Pokémon
0x16-17: Map ID
0x18-19: Parent Map ID
0x1A: Name
0x1B: Name Style
0x1C: ??? (SDSME states it as "weather", but it doesn't work...)
0x1D: Camera Angle Style
0x1E: ???
0x1F: ??? (Flags, maybe?)
0x20-2F: ???

Since B/W only has one name style, Name styles only have 0x4 as a usable value,
anything > (more) or < (less) than 0x4 will not show the name.

I'd also need your help for more documentation on the offsets in the map headers too, which would be greatly appreciated~
__________________
[Platinum Lucario's Signature]
If you need to disable my signature, please give me some advice on how to improve the CSS-DIV code. Thanks!
Signature Status: Strikes: 1/3 | Infractions: 0/3
It's time to change the future...
to a positive direction!

Let's prevent things from getting bad!

I'm a ROM and ISO Researcher
Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)
Reply With Quote
  #2   Link to this post, but load the entire thread.  
Old February 10th, 2019 (4:18 AM).
Platinum Lucario's Avatar
Platinum Lucario Platinum Lucario is offline
The Legendary Master of &lt;font color=&quot;#D8D48C&quot;&gt;Light&lt;/font&gt;!
 
Join Date: Jan 2008
Location: Warrnambool, Victoria, Australia.
Age: 26
Gender: Male
Nature: Calm
Posts: 1,583
Just an update to the whole research on B/W/B2/W2 map weather data, I have found the active values in RAM that indicate the current weather. But please note that they are not the actual map's weather bytes. It can be found in address 0x0024F9BD on Pokémon Black Version (US/EUR).

Code:
Weather IDs in B/W/B2/W2:
00 Sunny (Clear weather)
01 Snowy
02 Rainy
03 Sandstorm
04 Blizzard
05 Hail
06 Thunderstorm (Used for Thundurus)
07 Strong Storm (Used for Tornadus)
08 Diamond Dust
09 Misty
0A Minor Darkness (Unused)
0B Unfinished Light Mist (Unused)
0C Sandstorm (stronger)
0D Minor Darkness (Unused)
0E Light Mist (Unused)
0F (Game crash)
10 (Error screen)
11 (Game crash)
12 (Game crash)
13 (Error screen)
...and it repeats the same from 0xF to 0x11, over and over again from 0x14 onwards
At this point, I'm quite unsure as to where tells the game to assign the weather. If the map's weather data is assigned by a specific ID correlating to calender.c (which is likely), then it's likely to be within the corresponding overlay file. But what's quite unusual, is that changing Route 4's weather to a location such as Oplucid City and other northern Unova areas, actually results in that location getting the weather effect. But if it is set to location within the southern Unova areas, it doesn't do anything at all.

Perhaps there might be a Boolean value in which determines if the weather for that location is enabled? I'll definitely need all the help I can get as well.
__________________
[Platinum Lucario's Signature]
If you need to disable my signature, please give me some advice on how to improve the CSS-DIV code. Thanks!
Signature Status: Strikes: 1/3 | Infractions: 0/3
It's time to change the future...
to a positive direction!

Let's prevent things from getting bad!

I'm a ROM and ISO Researcher
Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)
Reply With Quote
Reply

Quick Reply

Join the conversation!

Create an account to post a reply in this thread, participate in other discussions, and more!

Create a PokéCommunity Account
Ad Content
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 8:18 AM.