GameINI: Add 60 FPS code for Pikmin Squared

This commit is contained in:
Martino Fontana 2025-11-07 16:35:47 +01:00
parent a94854309b
commit c96d1b7b4a
8 changed files with 228 additions and 171 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,164 +0,0 @@
# GPIE01 - Pikmin v1.1 NTSC
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
$Infinite Health: Captain Olimar
04CE586B 08000000
423D1E50 006C42C8
$One Hit Kills All Enemies
04145BCC C002008C
$All Areas Open
04CE586D 08000000
0439D980 0000001F
$D-Pad Left To Reset Time
04CE586E 08000000
4A39D400 00000001
0439DAB0 00000007
0439DAA4 40131E59
$D-Pad Right To Advance Time
04CE586F 08000000
0A39D400 00000002
8439DAA4 00020400
$D-Pad Up Displays Debug Info
04CE5870 08000000
8A39D400 00000008
003988BC 00000001
003E7CC0 00000001
003988A4 00000701
00000000 40000000
$D-Pad Down Hides Debug Info
04CE5871 08000000
8A39D400 00000004
003988BC 00000000
003E7CC0 00000000
003988A4 00000700
00000000 40000000
$No Blur
04CE5872 08000000
003988B7 00000000
$Have 999 Red Flower Pikmin
04CE5874 08000000
023D1DFC 00030000
043D1E04 000003E7
$Have 999 Yellow Flower Pikmin
04CE5875 08000000
023D1E08 00030000
043D1E10 000003E7
$Have 999 Blue Flower Pikmin
04CE5876 08000000
023D1DF0 00030000
043D1DF8 000003E7
$Always Day 2
04CE5878 08000000
0039DAB7 00000002
$Always Day 10
04CE5879 08000000
0039DAB7 0000000A
$Always Day 20
04CE587A 08000000
0039DAB7 00000014
$Always Day 29
04CE587B 08000000
0039DAB7 0000001D
$Red Pikmin Are Black
04CE587D 08000000
043D1E1C 00000000
$Red Pikmin Are White
04CE587E 08000000
043D1E1C FFFFFFFF
$Red Pikmin Are Grey
04CE587F 08000000
043D1E1C 80808080
$Red Pikmin Are Yellow
04CE5880 08000000
043D1E1C FFD200FF
$Red Pikmin Are Blue
04CE5881 08000000
043D1E1C 0000FF00
$Red Pikmin Are Green
04CE5882 08000000
043D1E1C 00FF0000
$Red Pikmin Are Purple
04CE5883 08000000
043D1E1C D200D200
$Red Pikmin Are Pink
04CE5884 08000000
043D1E1C FE808000
$Random Colors-Every Red Pikmin
04CE5885 08000000
803D1E1C 00000001
803D1E1D FFFFFFFF
803D1E1E 0000007F
$Yellow Pikmin Are Black
04CE5887 08000000
043D1E20 00000000
$Yellow Pikmin Are White
04CE5888 08000000
043D1E20 FFFFFFFF
$Yellow Pikmin Are Grey
04CE5889 08000000
043D1E20 80808080
$Yellow Pikmin Are Red
04CE588A 08000000
043D1E20 FF000000
$Yellow Pikmin Are Blue
04CE588B 08000000
043D1E20 0000FF00
$Yellow Pikmin Are Green
04CE588C 08000000
043D1E20 00FF0000
$Yellow Pikmin Are Purple
04CE588D 08000000
043D1E20 D200D200
$Yellow Pikmin Are Pink
04CE588E 08000000
043D1E20 FE808000
$Random Colors-Every Yellow Pikmin
04CE588F 08000000
803D1E20 00000001
803D1E21 FFFFFFFF
803D1E22 0000007F
$Blue Pikmin Are Black
04CE5891 08000000
043D1E18 00000000
$Blue Pikmin Are White
04CE5892 08000000
043D1E18 FFFFFFFF
$Blue Pikmin Are Grey
04CE5893 08000000
043D1E18 80808080
$Blue Pikmin Are Red
04CE5894 08000000
043D1E18 FF000000
$Blue Pikmin Are Yellow
04CE5895 08000000
043D1E18 FFD200FF
$Blue Pikmin Are Green
04CE5896 08000000
043D1E18 00FF0000
$Blue Pikmin Are Purple
04CE5897 08000000
043D1E18 D200D200
$Blue Pikmin Are Pink
04CE5898 08000000
043D1E18 FE808000
$Random Colors-Every Blue Pikmin
04CE5899 08000000
803D1E18 00000001
803D1E19 FFFFFFFF
803D1E1A 0000007F
$Stop Time From Advancing (Story Mode) [Link Master]
040518DC 60000000
$Stop/Return Flow of Time (L+D-pad Left/Right) (Story Mode) [Link Master]
2839D400 00000041
040518DC 60000000
E2000001 80008000
2839D400 00000042
040518DC D0030014
E2000001 80008000
[AR_RetroAchievements_Verified]
$No Blur

View File

@ -5,6 +5,160 @@
[ActionReplay]
# Add action replay cheats here.
$Infinite Health: Captain Olimar
04CE586B 08000000
423D1E50 006C42C8
$One Hit Kills All Enemies
04145BCC C002008C
$All Areas Open
04CE586D 08000000
0439D980 0000001F
$D-Pad Left To Reset Time
04CE586E 08000000
4A39D400 00000001
0439DAB0 00000007
0439DAA4 40131E59
$D-Pad Right To Advance Time
04CE586F 08000000
0A39D400 00000002
8439DAA4 00020400
$D-Pad Up Displays Debug Info
04CE5870 08000000
8A39D400 00000008
003988BC 00000001
003E7CC0 00000001
003988A4 00000701
00000000 40000000
$D-Pad Down Hides Debug Info
04CE5871 08000000
8A39D400 00000004
003988BC 00000000
003E7CC0 00000000
003988A4 00000700
00000000 40000000
$No Blur
04CE5872 08000000
003988B7 00000000
$Have 999 Red Flower Pikmin
04CE5874 08000000
023D1DFC 00030000
043D1E04 000003E7
$Have 999 Yellow Flower Pikmin
04CE5875 08000000
023D1E08 00030000
043D1E10 000003E7
$Have 999 Blue Flower Pikmin
04CE5876 08000000
023D1DF0 00030000
043D1DF8 000003E7
$Always Day 2
04CE5878 08000000
0039DAB7 00000002
$Always Day 10
04CE5879 08000000
0039DAB7 0000000A
$Always Day 20
04CE587A 08000000
0039DAB7 00000014
$Always Day 29
04CE587B 08000000
0039DAB7 0000001D
$Red Pikmin Are Black
04CE587D 08000000
043D1E1C 00000000
$Red Pikmin Are White
04CE587E 08000000
043D1E1C FFFFFFFF
$Red Pikmin Are Grey
04CE587F 08000000
043D1E1C 80808080
$Red Pikmin Are Yellow
04CE5880 08000000
043D1E1C FFD200FF
$Red Pikmin Are Blue
04CE5881 08000000
043D1E1C 0000FF00
$Red Pikmin Are Green
04CE5882 08000000
043D1E1C 00FF0000
$Red Pikmin Are Purple
04CE5883 08000000
043D1E1C D200D200
$Red Pikmin Are Pink
04CE5884 08000000
043D1E1C FE808000
$Random Colors-Every Red Pikmin
04CE5885 08000000
803D1E1C 00000001
803D1E1D FFFFFFFF
803D1E1E 0000007F
$Yellow Pikmin Are Black
04CE5887 08000000
043D1E20 00000000
$Yellow Pikmin Are White
04CE5888 08000000
043D1E20 FFFFFFFF
$Yellow Pikmin Are Grey
04CE5889 08000000
043D1E20 80808080
$Yellow Pikmin Are Red
04CE588A 08000000
043D1E20 FF000000
$Yellow Pikmin Are Blue
04CE588B 08000000
043D1E20 0000FF00
$Yellow Pikmin Are Green
04CE588C 08000000
043D1E20 00FF0000
$Yellow Pikmin Are Purple
04CE588D 08000000
043D1E20 D200D200
$Yellow Pikmin Are Pink
04CE588E 08000000
043D1E20 FE808000
$Random Colors-Every Yellow Pikmin
04CE588F 08000000
803D1E20 00000001
803D1E21 FFFFFFFF
803D1E22 0000007F
$Blue Pikmin Are Black
04CE5891 08000000
043D1E18 00000000
$Blue Pikmin Are White
04CE5892 08000000
043D1E18 FFFFFFFF
$Blue Pikmin Are Grey
04CE5893 08000000
043D1E18 80808080
$Blue Pikmin Are Red
04CE5894 08000000
043D1E18 FF000000
$Blue Pikmin Are Yellow
04CE5895 08000000
043D1E18 FFD200FF
$Blue Pikmin Are Green
04CE5896 08000000
043D1E18 00FF0000
$Blue Pikmin Are Purple
04CE5897 08000000
043D1E18 D200D200
$Blue Pikmin Are Pink
04CE5898 08000000
043D1E18 FE808000
$Random Colors-Every Blue Pikmin
04CE5899 08000000
803D1E18 00000001
803D1E19 FFFFFFFF
803D1E1A 0000007F
$Stop Time From Advancing (Story Mode) [Link Master]
040518DC 60000000
$Stop/Return Flow of Time (L+D-pad Left/Right) (Story Mode) [Link Master]
2839D400 00000041
040518DC 60000000
E2000001 80008000
2839D400 00000042
040518DC D0030014
E2000001 80008000
$16:9 Widescreen
0405A40C 38A003AC
043E8500 3FE38E39
@ -22,3 +176,4 @@ $Disable Pikmin optimizations
$16:9 Widescreen
$60FPS
$Disable Pikmin optimizations
$No Blur

View File

@ -1,4 +1,4 @@
# GPVE01 - PIKMIN 2 NTSC
# GPVE01 - Pikmin 2
[OnFrame]
# Add memory patches to be applied every frame here.
@ -115,14 +115,28 @@ C242E040 00000004 # Set to 60 FPS when cutscene ends
04513C5C 40100000 # Map translation speed 1
04513C60 3F800000 # Map translation speed 2
0451D7B0 3C75C28F # Map scale speed
C236ECA8 00000002 # Mitite active time
5400083C 901E02C0
60000000 00000000
C236ECCC 00000002 # If on Piklopedia (which runs at 30 FPS), revert the above
5400F87E 901E02C0
60000000 00000000
04514128 3ECCCCCD # Final floor animation
045140D4 3EB33333 # Cave result animation (there's also the background panel animation at 8051FFB8, but it affects other things and it's basically unnoticeable)
04516140 3F000000 # Pay dept animation
04520078 3EB33333 # Ready-go animation
045201B4 3F000000 # Final result animation (this unfortunately breaks the color interpolation a little since it shares the 1.0)
04514194 3CCCCCCD # Final result color animation
04514110 3EB33333 # Ready-go animation
04410FA4 388000C8 # Win/Lose reason duration 1
04410FAC 386000FA # Win/Lose reason duration 2
04520224 3F000000 # Win/Lose animation
044106DC 38800078 # Win/Lose duration 1
044106E4 38600168 # Win/Lose duration 2
*Causes the following issues:
** Particle effects are sped up.
** Some UI animations are sped up.
** The player camera rotates faster.
** Other minor physics differences.
[Gecko_RetroAchievements_Verified]
$16:9 Widescreen

View File

@ -1,4 +1,4 @@
# GPVP01 - PIKMIN 2
# GPVP01 - Pikmin 2
[OnFrame]
# Add memory patches to be applied every frame here.

View File

@ -0,0 +1,52 @@
# P1RE01 - Pikmin Squared
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Gecko]
$60 FPS
C242E098 00000004 # Set to 30 FPS when cutscene starts
3C608042 606335A8
7C6903A6 806D9AEC
38800002 4E800421
801F01F0 00000000
C242E1B0 00000004 # Set to 60 FPS when cutscene ends
3C608042 606335A8
7C6903A6 806D9AEC
38800001 4E800421
801F01F0 00000000
0414B758 38800001 # `BaseGameSection::init`, force `setFramerate` argument to 60 FPS (2P mode doesn't start with a cutscene)
04513B9C 40100000 # Map translation speed 1
04513BA0 3F800000 # Map translation speed 2
0451D6F0 3C75C28F # Map scale speed
C236ECDC 00000002 # Mitite active time
5400083C 901E02C0
60000000 00000000
C236ED00 00000002 # If on Piklopedia (which runs at 30 FPS), revert the above
5400F87E 901E02C0
60000000 00000000
04514068 3ECCCCCD # Final floor animation
04514014 3EB33333 # Cave result animation
04516080 3F000000 # Pay dept animation
045200F4 3F000000 # Final result animation
045140D4 3CCCCCCD # Final result color animation
04514050 3EB33333 # Ready-go animation
04411020 388000C8 # Win/Lose reason duration 1
04411028 386000FA # Win/Lose reason duration 2
04520164 3F000000 # Win/Lose animation
04410758 38800078 # Win/Lose duration 1
04410760 38600168 # Win/Lose duration 2
*Causes the following issues:
** Particle effects are sped up.
** Some UI animations are sped up.
** The player camera rotates faster.
** The Armored Cannon Beetle is unable to spit boulders (they collide with itself as they spawn).
** Other minor physics differences.
*
*To avoid lag when staying near the onions with many Pikmin, it's recommended to overclock the emulated CPU by at least 250% for single player, or 1000% for two players.
[Gecko_RetroAchievements_Verified]
$60 FPS

View File

@ -9,5 +9,5 @@ static constexpr std::string_view ACHIEVEMENT_APPROVED_LIST_FILENAME = "Approved
// After building tests, find the new hash with:
// ./Binaries/Tests/tests --gtest_filter=PatchAllowlist.VerifyHashes
static const inline Common::SHA1::Digest ACHIEVEMENT_APPROVED_LIST_HASH = {
0xEA, 0x2F, 0x74, 0xA1, 0x6C, 0xF3, 0xB5, 0xD4, 0x8A, 0xAF,
0x03, 0x30, 0x58, 0x2A, 0xE0, 0xF7, 0x0A, 0x88, 0x86, 0xB3};
0xAF, 0xF0, 0xE3, 0x45, 0xF0, 0xCD, 0x2C, 0x58, 0xA9, 0xC9,
0x5C, 0x9F, 0x8C, 0x71, 0x8A, 0xB6, 0x28, 0x7F, 0x17, 0x89};

View File

@ -132,7 +132,7 @@ TEST(PatchAllowlist, VerifyHashes)
{
ADD_FAILURE() << "Approved list hash does not match the one in AchievementApprovedHash.h."
<< std::endl
<< "Please update APPROVED_LIST_HASH to the following:" << std::endl
<< "Please update ACHIEVEMENT_APPROVED_LIST_HASH to the following:" << std::endl
<< Common::SHA1::DigestToSource(digest);
}
// Compare with old allowlist