Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Merge pull request #9007 from AdmiralCurtiss/orre-save-patches
GameSettings: Add patches for Pokémon Colosseum and Pokémon XD to circumvent the check that the save being overwritten matches the last known save.
- Loading branch information
Showing
6 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # GC6E01 - Pokémon Colosseum | ||
|
|
||
| [OnFrame] | ||
| # This game has extra memory card checks compared to most games, | ||
| # presumably to prevent Pokémon duping. These can interfere with | ||
| # saving your game when using savestates. | ||
| # | ||
| # 0x801cfc2c: | ||
| # Originally a branch that checks if the save counter in memory | ||
| # matches the one on the memory card. We patch this to instead | ||
| # overwrite the counter in memory with the one from the memory | ||
| # card. We need to do this because each memory card file actually | ||
| # contains three save slots the game rotates when saving, and | ||
| # when loading it loads the save with the biggest save counter. | ||
| # So we need to make sure the newly written save (which uses | ||
| # the value from memory + 1) is higher than any save currently | ||
| # on the card. | ||
| # | ||
| # 0x801cfc7c: | ||
| # Another branch. Not entirely sure what this one checks, but | ||
| # not patching this one sometimes still makes it recognize the | ||
| # memory card as 'not the same Memory Card as the one used to | ||
| # load the saved data', so nop it out. | ||
| # | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801cfc2c:dword:0x9005002c | ||
| 0x801cfc7c:dword:0x60000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # GC6J01 - ポケモンコロシアム | ||
|
|
||
| [OnFrame] | ||
| # This game has extra memory card checks compared to most games, | ||
| # presumably to prevent Pokémon duping. These can interfere with | ||
| # saving your game when using savestates. | ||
| # | ||
| # 0x801cb5b8: | ||
| # Originally a branch that checks if the save counter in memory | ||
| # matches the one on the memory card. We patch this to instead | ||
| # overwrite the counter in memory with the one from the memory | ||
| # card. We need to do this because each memory card file actually | ||
| # contains three save slots the game rotates when saving, and | ||
| # when loading it loads the save with the biggest save counter. | ||
| # So we need to make sure the newly written save (which uses | ||
| # the value from memory + 1) is higher than any save currently | ||
| # on the card. | ||
| # | ||
| # 0x801cb608: | ||
| # Another branch. Not entirely sure what this one checks, but | ||
| # not patching this one sometimes still makes it recognize the | ||
| # memory card as 'not the same Memory Card as the one used to | ||
| # load the saved data', so nop it out. | ||
| # | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801cb5b8:dword:0x9005002c | ||
| 0x801cb608:dword:0x60000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # GC6P01 - Pokémon Colosseum | ||
|
|
||
| [OnFrame] | ||
| # This game has extra memory card checks compared to most games, | ||
| # presumably to prevent Pokémon duping. These can interfere with | ||
| # saving your game when using savestates. | ||
| # | ||
| # 0x801d429c: | ||
| # Originally a branch that checks if the save counter in memory | ||
| # matches the one on the memory card. We patch this to instead | ||
| # overwrite the counter in memory with the one from the memory | ||
| # card. We need to do this because each memory card file actually | ||
| # contains three save slots the game rotates when saving, and | ||
| # when loading it loads the save with the biggest save counter. | ||
| # So we need to make sure the newly written save (which uses | ||
| # the value from memory + 1) is higher than any save currently | ||
| # on the card. | ||
| # | ||
| # 0x801d42ec: | ||
| # Another branch. Not entirely sure what this one checks, but | ||
| # not patching this one sometimes still makes it recognize the | ||
| # memory card as 'not the same Memory Card as the one used to | ||
| # load the saved data', so nop it out. | ||
| # | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801d429c:dword:0x9005002c | ||
| 0x801d42ec:dword:0x60000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # GXXE01 - Pokémon XD: Gale of Darkness | ||
|
|
||
| [OnFrame] | ||
| # Very similar to Pokémon Colosseum's save check, see those files for details. | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801cc304:dword:0x90e5002c | ||
| 0x801cc4b0:dword:0x60000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # GXXJ01 - ポケモンXD 闇の旋風ダーク・ルギア | ||
|
|
||
| [OnFrame] | ||
| # Very similar to Pokémon Colosseum's save check, see those files for details. | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801c7984:dword:0x90e5002c | ||
| 0x801c7b30:dword:0x60000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # GXXP01 - Pokémon XD: Gale of Darkness | ||
|
|
||
| [OnFrame] | ||
| # Very similar to Pokémon Colosseum's save check, see those files for details. | ||
| $Allow Memory Card saving with Savestates | ||
| 0x801cd764:dword:0x90e5002c | ||
| 0x801cd910:dword:0x60000000 |