Editing Hey! Pikmin save file
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{stub}} | {{stub}} | ||
− | The file format for a ''Hey! Pikmin'' | + | The file format for a ''Hey! Pikmin'' saved game. Note: this comes from analyses of the <code>.sav</code> files generated by Citra. |
== Format == | == Format == | ||
− | The save data is split into several blocks that start with 4-byte magic words | + | The save data is split into several blocks that start with 4-byte magic words. |
=== SAVE === | === SAVE === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>SAVE</code>. | |
|- | |- | ||
− | | <code> | + | | <code>000C</code> || 4 bytes || Save data checksum || {{unsure|Calculated using an unknown algorithm.}} |
− | |||
− | |||
|} | |} | ||
=== NEWS === | === NEWS === | ||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>NEWS</code>. |
|- | |- | ||
− | |||
|} | |} | ||
=== OPTI === | === OPTI === | ||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>OPTI</code>. | |
|- | |- | ||
− | | <code> | + | | <code>0028</code> || 1 byte || Music volume || <code>01</code>, <code>02</code>, or <code>03</code>. |
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
=== PBUF === | === PBUF === | ||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>PBUF</code>. |
|- | |- | ||
− | |||
|} | |} | ||
=== PARK === | === PARK === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>PARK</code>. |
|- | |- | ||
|} | |} | ||
Line 80: | Line 50: | ||
=== MINI === | === MINI === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>MINI</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 90: | Line 58: | ||
=== CRNT === | === CRNT === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>CRNT</code>. |
|- | |- | ||
|} | |} | ||
Line 100: | Line 66: | ||
=== GAME === | === GAME === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>GAME</code>. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 116: | Line 74: | ||
=== EVNT === | === EVNT === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>EVNT</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 126: | Line 82: | ||
=== HELP === | === HELP === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>HELP</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 136: | Line 90: | ||
=== RINF === | === RINF === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>RINF</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 146: | Line 98: | ||
=== RSLT === | === RSLT === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>RSLT</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 156: | Line 106: | ||
=== SPER === | === SPER === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>SPER</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 166: | Line 114: | ||
=== STRE === | === STRE === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>STRE</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 176: | Line 122: | ||
=== PLRP === | === PLRP === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
− | |||
− | |||
|- | |- | ||
− | | <code> | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>PLRP</code>. |
|- | |- | ||
|} | |} | ||
=== DATE === | === DATE === | ||
− | |||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>DATE</code>. | |
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
=== TTDS === | === TTDS === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>TTDS</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 223: | Line 146: | ||
=== WMAP === | === WMAP === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>WMAP</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 233: | Line 154: | ||
=== SAMI === | === SAMI === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | ! | + | ! Offset || Length || Field || Notes |
|- | |- | ||
− | + | | <code>0000</code> || 4 bytes || Block magic word || Always <code>SAMI</code>. | |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:File formats]] | [[Category:File formats]] | ||
[[Category:Hey! Pikmin]] | [[Category:Hey! Pikmin]] |