User:Lagnic/Contestant data structure (Generation III): Difference between revisions
(Created page) |
mNo edit summary |
||
Line 14: | Line 14: | ||
| 21 || 1 || Integer || {{pkmn|Coordinator}}'s overworld sprite index | | 21 || 1 || Integer || {{pkmn|Coordinator}}'s overworld sprite index | ||
|- | |- | ||
| 22 || 3 || | | 22 || 3 || Constant || 00 00 FF | ||
|- | |- | ||
| 25 || 3 || ??? || Unknown flags, possibly contestant AI | | 25 || 3 || ??? || Unknown flags, possibly contestant AI | ||
Line 40: | Line 40: | ||
| 43 || 1 || Integer || Sheen | | 43 || 1 || Integer || Sheen | ||
|- | |- | ||
| 44 || 20 || | | 44 || 20 || Constant || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 | ||
|} | |} | ||
Line 51: | Line 51: | ||
<pre> | <pre> | ||
0000000 Contest categories & rank | |||
-----xx 00 (Normal), 01 (Super), 10 (Hyper), or 11 (Master) | -----xx 00 (Normal), 01 (Super), 10 (Hyper), or 11 (Master) | ||
---- | ----1-- Appears in Cool Contests | ||
--- | ---1--- Appears in Beauty Contests | ||
-- | --1---- Appears in Cute Contests | ||
- | -1----- Appears in Smart Contests | ||
1------ Appears in Tough Contests | |||
</pre> | </pre> | ||
Line 77: | Line 77: | ||
==Fingerprints== | ==Fingerprints== | ||
Below is a sample of the data for the first five | Below is a sample of the data for the first five contestant data structures. Because the data structure includes the Pokémon nickname and Coordinator name, these fingerprints are specific to English language versions of the games. | ||
===Ruby & Sapphire=== | ===Ruby & Sapphire=== |
Revision as of 16:36, 12 April 2022
This article is intended to be moved into one of Bulbapedia's main content spaces. Be mindful that it is still part of a personal userspace. Any content changes should be brought up on the talk page for this article. |
The Pokémon contestant data structure is a 64-byte structure that determines all information about a contestant in the Generation III Pokémon Contests, such as species, nickname, Coordinator name, moves, and condition. All numbers are stored in little-endian order.
Structure
Offset | Size (bytes) |
Type | Description |
---|---|---|---|
0 | 2 | Integer | Pokémon species in game internal index |
2 | 11 | Text | Pokémon's nickname |
13 | 8 | Text | Coordinator's name |
21 | 1 | Integer | Coordinator's overworld sprite index |
22 | 3 | Constant | 00 00 FF |
25 | 3 | ??? | Unknown flags, possibly contestant AI |
28 | 2 | Binary | Contest participation flags |
30 | 2 | Integer | Move 1 index |
32 | 2 | Integer | Move 2 index |
34 | 2 | Integer | Move 3 index |
36 | 2 | Integer | Move 4 index |
38 | 1 | Integer | Cool condition |
39 | 1 | Integer | Beauty condition |
40 | 1 | Integer | Cute condition |
41 | 1 | Integer | Smart condition |
42 | 1 | Integer | Tough condition |
43 | 1 | Integer | Sheen |
44 | 20 | Constant | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 |
Notes
Text
The Pokémon and Coordinator names are stored in the standard encoding and always end with FF. Any additional space is padded with 00.
Contest Participation
Contestant rank and categories are controlled by a 7-bit binary number. The first 5 bits control the category, in the order Tough, Smart, Cute, Beauty, Cool (reversed from the usual in-game order). The bit will be 1 if the Pokémon appears in that category and 0 otherwise. The final 2 bits control which rank the contestant will appear in:
0000000 Contest categories & rank -----xx 00 (Normal), 01 (Super), 10 (Hyper), or 11 (Master) ----1-- Appears in Cool Contests ---1--- Appears in Beauty Contests --1---- Appears in Cute Contests -1----- Appears in Smart Contests 1------ Appears in Tough Contests
Data Location
This section is incomplete. Please feel free to edit this section to add missing information and complete it. Reason: Addresses for non-US games |
The following are the RAM offsets for the first data entry (POOCHY) in the US version of Ruby, Sapphire and Emerald. As Pokémon FireRed and LeafGreen do not have contests, contestant data is not included in those games. Since a game is loaded into RAM at 0x08000000, this means that the offset in a ROM dump will only use the last six hexadecimal digits.
Game | Address (US) |
---|---|
Ruby | 0x083C9424 |
Sapphire | 0x083C9460 |
Emerald | 0x085880A4 |
Fingerprints
Below is a sample of the data for the first five contestant data structures. Because the data structure includes the Pokémon nickname and Coordinator name, these fingerprints are specific to English language versions of the games.
Ruby & Sapphire
In Ruby and Sapphire there are 60 contestants, 15 for each rank, for a total data length of 3840 bytes.
1E 01 CA C9 C9 BD C2 D3 FF 00 00 00 00 C4 C3 C7 C7 D3 FF 00 00 07 00 00 FF 0F 00 0C 44 00 2E 00 2C 00 24 00 50 01 0A 04 0A 03 04 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // POOCHY 20 01 D4 C3 C1 C9 C9 C8 FF 00 00 00 00 BF BE C3 CE C2 FF 00 00 08 00 00 FF 0F 00 82 10 00 9C 00 27 00 21 00 57 01 0A 0A 06 01 02 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // ZIGOON 26 01 BE CF CD CE BF CC FF 00 00 00 00 BF D0 BB C8 FF 00 00 00 0B 00 00 FF 0F 00 21 08 00 3E 01 EC 00 71 00 10 00 02 0A 0A 0C 04 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // DUSTER 2A 01 BE C9 CE CD FF 00 00 00 00 00 00 C5 BF C6 CD BF D3 FF 00 10 00 00 FF 0F 80 20 60 00 75 00 EB 00 4B 01 4A 00 03 03 05 02 07 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // DOTS 30 01 CE BB CE BB D3 FF 00 00 00 00 00 C7 BB BE C3 CD C9 C8 FF 12 00 00 FF 0F 40 80 04 00 11 00 61 00 4C 01 2D 00 01 03 03 05 04 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // TATAY ...
Emerald
In Emerald there are 96 contestants, 24 for each rank, for a total data length of 6144 bytes.
1E 01 CA C9 C9 BD C2 D3 FF 00 00 00 00 C4 C3 C7 C7 D3 FF 00 00 07 00 00 FF 0F 00 0C 44 00 2E 00 2C 00 24 00 50 01 0A 04 0A 03 04 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // POOCHY 83 01 C7 CF CD C3 C6 C6 BF FF 00 00 00 BF BE C3 CE C2 FF 00 00 08 00 00 FF 0F 00 82 10 00 9C 00 07 01 21 00 57 01 0A 0A 06 01 02 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // MUSILLE 26 01 BE CF CD CE BF CC FF 00 00 00 00 BF D0 BB C8 FF 00 00 00 0B 00 00 FF 0F 00 21 08 00 3E 01 EC 00 71 00 10 00 02 0A 0A 0C 04 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // DUSTER 2A 01 BE C9 CE CD FF 00 00 00 00 00 00 C5 BF C6 CD BF D3 FF 00 10 00 00 FF 0F 80 20 60 00 75 00 EB 00 4B 01 4A 00 03 03 05 02 07 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // DOTS 30 01 CE BB CE BB D3 FF 00 00 00 00 00 C7 BB BE C3 CD C9 C8 FF 12 00 00 FF 0F 40 80 04 00 11 00 61 00 4C 01 2D 00 01 03 03 05 04 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 // TATAY ...
|
This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games. |