mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-20 19:44:57 +00:00
Merge branch 'master' of https://github.com/dolphin-emu/dolphin into dolphin-emu-maste2r
This commit is contained in:
commit
75a9451d0b
218 changed files with 53095 additions and 44354 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -43,3 +43,5 @@ CMakeLists.txt.user
|
|||
.idea/
|
||||
# Ignore Visual Studio Code's working dir
|
||||
/.vscode/
|
||||
# Ignore flatpak-builder's cache dir
|
||||
.flatpak-builder
|
||||
|
|
|
@ -31,7 +31,7 @@ if(GIT_FOUND)
|
|||
endif()
|
||||
|
||||
# version number
|
||||
set(DOLPHIN_VERSION_MAJOR "2409")
|
||||
set(DOLPHIN_VERSION_MAJOR "2412")
|
||||
set(DOLPHIN_VERSION_MINOR "0")
|
||||
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
|
||||
|
||||
|
|
|
@ -672,7 +672,7 @@ dolphin_make_imported_target_if_missing(LibLZMA::LibLZMA LIBLZMA)
|
|||
|
||||
dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Externals/zstd)
|
||||
|
||||
dolphin_find_optional_system_library_pkgconfig(ZLIB zlib-ng ZLIB::ZLIB Externals/zlib-ng)
|
||||
add_subdirectory(Externals/zlib-ng)
|
||||
|
||||
dolphin_find_optional_system_library_pkgconfig(MINIZIP
|
||||
"minizip>=4.0.4" minizip::minizip Externals/minizip-ng
|
||||
|
|
|
@ -44,6 +44,18 @@
|
|||
"title": "Dead to Rights",
|
||||
"E23D98B2CE185C3993A40F2495D37E41B971BF91": "Fix audio issues"
|
||||
},
|
||||
"GEDE01": {
|
||||
"title": "Eternal Darkness",
|
||||
"21068C3CE905FB0CFFAA7408A93154AF8A5295A2": "Fix startup hang"
|
||||
},
|
||||
"GEDJ01": {
|
||||
"title": "Eternal Darkness",
|
||||
"7061F3CF11BF64D3BA7F32CCF2BAC42FF3614AB6": "Fix startup hang"
|
||||
},
|
||||
"GEDP01": {
|
||||
"title": "Eternal Darkness",
|
||||
"6F1B00517CBA30BEB738EAA90E71221378CD570D": "Fix startup hang"
|
||||
},
|
||||
"GEME7F": {
|
||||
"title": "Egg Mania: Eggstreme Madness",
|
||||
"CB04E00918C9C0F161715D21D046ED6620F7ADEF": "Force Progressive Scan"
|
||||
|
@ -148,6 +160,10 @@
|
|||
"title": "Gladius",
|
||||
"3D0894616C9A7FA5ED91C1D2F461BF14DF47ECEC": "Fix freeze in opening cutscene"
|
||||
},
|
||||
"GMSE01": {
|
||||
"title": "Super Mario Sunshine",
|
||||
"BD718F961DBA5372B1D0257D454D535746C453A0": "Widescreen"
|
||||
},
|
||||
"GNHE5d": {
|
||||
"title": "NHL HITZ 2002",
|
||||
"89393A24E2336841AA4CD0AD3BE1C9A66B89E9EF": "Nop Hack"
|
||||
|
@ -236,6 +252,14 @@
|
|||
"title": "Ten Pin Alley 2",
|
||||
"793642AC6862C2F3412035A9E3D7172CC4A1D5C7": "Fix crash on main menu"
|
||||
},
|
||||
"RMHE08": {
|
||||
"title": "Monster Hunter Tri",
|
||||
"CCF233DA57B3E75221870DE502955114B0D4E7FA": "Bloom OFF"
|
||||
},
|
||||
"RMHJ08": {
|
||||
"title": "Monster Hunter Tri",
|
||||
"29D3625B7ED577587E56AA07CB0EB8C47C97E823": "Bloom OFF"
|
||||
},
|
||||
"RMHP08": {
|
||||
"title": "Monster Hunter Tri",
|
||||
"1720C1173D4698167080DBFC4232F21757C4DA08": "Bloom OFF"
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# GEDE01, GEDP01 - Eternal Darkness
|
||||
# GEDE01, GEDP01, GEDJ01, GEDW01 - Eternal Darkness
|
||||
|
||||
[Core]
|
||||
# Values set here will override the main Dolphin settings.
|
||||
CPUThread = False
|
||||
|
||||
[OnFrame]
|
||||
# Add memory patches to be applied every frame here.
|
||||
|
|
11
Data/Sys/GameSettings/GEDE01.ini
Normal file
11
Data/Sys/GameSettings/GEDE01.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
# GEDE01 - Eternal Darkness
|
||||
|
||||
[OnFrame]
|
||||
$Fix startup hang
|
||||
0x801EF444:dword:0x480371ED
|
||||
|
||||
[OnFrame_Enabled]
|
||||
$Fix startup hang
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Fix startup hang
|
11
Data/Sys/GameSettings/GEDJ01.ini
Normal file
11
Data/Sys/GameSettings/GEDJ01.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
# GEDJ01 - Eternal Darkness
|
||||
|
||||
[OnFrame]
|
||||
$Fix startup hang
|
||||
0x801E4588:dword:0x48036E71
|
||||
|
||||
[OnFrame_Enabled]
|
||||
$Fix startup hang
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Fix startup hang
|
11
Data/Sys/GameSettings/GEDP01.ini
Normal file
11
Data/Sys/GameSettings/GEDP01.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
# GEDP01 - Eternal Darkness
|
||||
|
||||
[OnFrame]
|
||||
$Fix startup hang
|
||||
0x801E3BC4:dword:0x48036F15
|
||||
|
||||
[OnFrame_Enabled]
|
||||
$Fix startup hang
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Fix startup hang
|
8
Data/Sys/GameSettings/GEDW01.ini
Normal file
8
Data/Sys/GameSettings/GEDW01.ini
Normal file
|
@ -0,0 +1,8 @@
|
|||
# GEDW01 - Eternal Darkness
|
||||
|
||||
[OnFrame]
|
||||
$Fix startup hang
|
||||
0x801BE42C:dword:0x48036E65
|
||||
|
||||
[OnFrame_Enabled]
|
||||
$Fix startup hang
|
|
@ -10,3 +10,6 @@ MMU = True
|
|||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Video_Hacks]
|
||||
# Needed for loading screens to show up.
|
||||
EFBAccessEnable = True
|
||||
|
|
|
@ -175,3 +175,6 @@ C2363138 00000009
|
|||
7C631670 54A5F0BE
|
||||
7C630194 7C630214
|
||||
60000000 00000000
|
||||
|
||||
[Gecko_RetroAchievements_Verified]
|
||||
$Widescreen
|
||||
|
|
|
@ -9,8 +9,5 @@
|
|||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Video_Settings]
|
||||
|
||||
[Video_Hacks]
|
||||
EFBAccessEnable = False
|
||||
ImmediateXFBEnable = False
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
# GXBE69, GXBP69 - SSX3
|
||||
|
||||
[Core]
|
||||
# Values set here will override the main Dolphin settings.
|
||||
|
||||
[OnFrame]
|
||||
# Add memory patches to be applied every frame here.
|
||||
|
||||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Video_Hacks]
|
||||
EFBAccessEnable = False
|
||||
|
|
@ -8,3 +8,6 @@ $Bloom OFF
|
|||
|
||||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Bloom OFF
|
||||
|
|
|
@ -12,3 +12,6 @@ SafeTextureCacheColorSamples = 0
|
|||
|
||||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Bloom OFF
|
||||
|
|
|
@ -11,3 +11,6 @@ $Bloom OFF
|
|||
|
||||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Patches_RetroAchievements_Verified]
|
||||
$Bloom OFF
|
||||
|
|
|
@ -16,6 +16,3 @@ $Disable blur
|
|||
|
||||
[Video_Settings]
|
||||
SafeTextureCacheColorSamples = 0
|
||||
|
||||
[Video_Hacks]
|
||||
EFBAccessEnable = False
|
||||
|
|
5
Data/Sys/GameSettings/SCD.ini
Normal file
5
Data/Sys/GameSettings/SCD.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
# SCDE52, SCDP52 - Cabela's Dangerous Hunts 2011
|
||||
|
||||
[Video_Settings]
|
||||
SafeTextureCacheColorSamples = 0
|
||||
|
5
Data/Sys/GameSettings/SHU.ini
Normal file
5
Data/Sys/GameSettings/SHU.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
# SHUE52 - Cabela's Dangerous Hunts 2011: Special Edition
|
||||
|
||||
[Video_Settings]
|
||||
SafeTextureCacheColorSamples = 0
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# SNCE8P, SNCJ8P, SNCP8P - SONIC COLOURS
|
||||
|
||||
[Core]
|
||||
# Values set here will override the main Dolphin settings.
|
||||
|
||||
[OnFrame]
|
||||
# Add memory patches to be applied every frame here.
|
||||
|
||||
[ActionReplay]
|
||||
# Add action replay cheats here.
|
||||
|
||||
[Video_Hacks]
|
||||
EFBAccessEnable = False
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
[OnFrame]
|
||||
$Bypass Metafortress [crediar, ported by RedStoneMatt]
|
||||
0x80176000:dword:0x48000084
|
||||
0x80176728:dword:0x60000000
|
||||
0x80176730:dword:0x60000000
|
||||
0x80176B6C:dword:0x60000000
|
||||
0x80176E88:dword:0x48000090
|
||||
0x80177160:dword:0x60000000
|
||||
|
@ -48,7 +48,7 @@ $Bypass Metafortress [crediar, ported by RedStoneMatt]
|
|||
0x80181974:dword:0x60000000
|
||||
0x80181930:dword:0x48000024
|
||||
0x80181D94:dword:0x60000000
|
||||
0x80181FD0:dword:0x48000090
|
||||
0x80181FE0:dword:0x48000090
|
||||
0x801821BC:dword:0x60000000
|
||||
0x80182374:dword:0x4800009C
|
||||
0x8018250C:dword:0x60000000
|
||||
|
@ -198,7 +198,7 @@ $Bypass Metafortress [crediar, ported by RedStoneMatt]
|
|||
0x80210090:dword:0x60000000
|
||||
0x80210A10:dword:0x60000000
|
||||
0x80210D84:dword:0x48000090
|
||||
0x802113B8:dword:0x48000094
|
||||
0x802115B0:dword:0x48000094
|
||||
0x80211ABC:dword:0x4800008C
|
||||
0x80211F34:dword:0x60000000
|
||||
0x80216AB0:dword:0x60000000
|
||||
|
@ -1141,7 +1141,7 @@ $Bypass Metafortress [crediar, ported by RedStoneMatt]
|
|||
0x8069ED00:dword:0x48000088
|
||||
0x8069EEB4:dword:0x60000000
|
||||
0x8069F38C:dword:0x60000000
|
||||
0x8069FC4C:dword:0x60000000
|
||||
0x8069FC50:dword:0x60000000
|
||||
0x8069FE88:dword:0x48000090
|
||||
0x806A0C74:dword:0x7C600050
|
||||
0x806A0DA8:dword:0x60000000
|
||||
|
@ -1206,12 +1206,12 @@ $Bypass Metafortress [crediar, ported by RedStoneMatt]
|
|||
0x806C3EE0:dword:0x48000088
|
||||
0x806C421C:dword:0x48000084
|
||||
0x806C4750:dword:0x4800009C
|
||||
0x806C4D04:dword:0x48000090
|
||||
0x806C4CE8:dword:0x48000090
|
||||
0x806C54E8:dword:0x4800008C
|
||||
0x806C7C48:dword:0x48000090
|
||||
0x806C8088:dword:0x60000000
|
||||
0x806C89A8:dword:0x48000094
|
||||
0x806C8F34:dword:0x60000000
|
||||
0x806C8F5C:dword:0x60000000
|
||||
0x806CA060:dword:0x7C800050
|
||||
0x806CAC60:dword:0x60000000
|
||||
0x806CADE4:dword:0x60000000
|
||||
|
@ -1233,7 +1233,7 @@ $Bypass Metafortress [crediar, ported by RedStoneMatt]
|
|||
0x806CE150:dword:0x48000088
|
||||
0x806CE7F8:dword:0x60000000
|
||||
0x806CEC18:dword:0x48000094
|
||||
0x806CDCB4:dword:0x48000088
|
||||
0x806CEDF0:dword:0x48000088
|
||||
0x806CFD04:dword:0x60000000
|
||||
0x806CFEE8:dword:0x48000090
|
||||
0x806D0CD4:dword:0x60000000
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: DE_unique version: 20230727194133)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: DE_unique version: 20241114210104)
|
||||
R22J01 = FlingSmash
|
||||
R23P52 = Barbie und Die Drei Musketiere
|
||||
R25PWR = LEGO Harry Potter: Die Jahre 1-4
|
||||
|
@ -56,7 +56,6 @@ R9EPNP = Brico Party: Werde Heimwerker-König
|
|||
R9GPWR = Die Legende der Wächter
|
||||
R9LP41 = Girls Life: Pyjama-Party
|
||||
R9RPNG = Dance Party - Pop Hits
|
||||
RAAE01 = Disco de Startup Wii
|
||||
RB7P54 = Bully: Die Ehrenrunde
|
||||
RBEP52 = Bee Movie: Das Game
|
||||
RBEX52 = Bee Movie: Das Game
|
||||
|
@ -419,7 +418,7 @@ SVQPVZ = Barbie und ihre Schwestern: Die Rettung der Welpen
|
|||
SVVPAF = Die Croods: Steinzeit Party!
|
||||
SW3PKM = Eurosport Winter Stars
|
||||
CS4P00 = SingItStar NRJ Music Tour
|
||||
RMCPCA = Mario Kart Wii (Katalanische Übersetzung)
|
||||
RZDPCA = The Legend of Zelda: Twilight Princess (Katalanische Übersetzung)
|
||||
SDNP01 = New SUPER DODO BROS wii
|
||||
SIS1OH = SingItStar Custom: Volume 1
|
||||
SISACD = SingItStar AC/DC
|
||||
|
@ -428,14 +427,11 @@ W2CP = Gehirntraining
|
|||
W2FP = Physiofun - Balance Training
|
||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||
W2MP = Blaster Master: Overdrive
|
||||
W2PP = Physiofun - Beckenboden Training
|
||||
W3GD = Phoenix Wright Ace Attorney 3: Trials And Tribulations
|
||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
||||
W3MP = Die Drei Musketiere Einer für alle!
|
||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||
W6BP = Eco-Shooter: Plant 530
|
||||
W72P = Successfully Learning German Year 3
|
||||
W73P = Lernerfolg Grundschule Deutsch Klasse 4
|
||||
W74P = Lernerfolg Grundschule Deutsch Klasse 5
|
||||
W7IP = Lernerfolg Grundschule Deutsch Klasse 2
|
||||
|
@ -444,12 +440,8 @@ W8WP = Happy Holidays Halloween
|
|||
W9BP = Big Town Shoot
|
||||
W9RP = Happy Holidays Christmas
|
||||
WA4P = WarioWare: Do It Yourself - Showcase
|
||||
WA7P = Toribash Violence Perfected
|
||||
WA8P = Art Style: Penta Tentacles
|
||||
WAEP = Around the world
|
||||
WAFP = Airport Mania: First Flight
|
||||
WAHP = Trenches: Generals
|
||||
WALP = Art Style: light trax
|
||||
WAOP = The Very Hungry Caterpillar´s ABC
|
||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
||||
|
@ -487,7 +479,6 @@ WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
|||
WGPP = Zenquaria Virtuelles Aquarium
|
||||
WGSD = Phoenix Wright: Ace Attorney (Deutsche Version)
|
||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||
WGSP = Phoenix Wright: Ace Attorney
|
||||
WHEE = Heracles: Chariot Racing
|
||||
WHEP = Heracles: Chariot Racing
|
||||
WHFP = Heavy Fire: Special Operations
|
||||
|
@ -562,6 +553,7 @@ WWIP = Where's Wally? Fantastic Journey 1
|
|||
WWRP = Excitebike: World Challenge
|
||||
WWXP = Paper Wars Cannon Fodder
|
||||
WXBP = Ben 10: Alien Force - The Rise of Hex
|
||||
WXIP = Lernerfolg Grundschule Englisch Klasse 1
|
||||
WYIP = escapeVektor: Chapter 1
|
||||
WYSP = Yard Sale Hidden Treasures Sunnyville
|
||||
WZIP = Rubik's Puzzle Galaxy: RUSH
|
||||
|
@ -623,20 +615,13 @@ JDJP = Super Star Wars: The Empire Strikes Back
|
|||
JDLP = Super Star Wars: Return of the Jedi
|
||||
JDWP = Aero The Acrobat
|
||||
JDZD = Mystic Quest Legend
|
||||
NACE = The Legend of Zelda: Ocarina of Time
|
||||
NACP = The Legend of Zelda: Ocarina of Time
|
||||
NADE = Lylat wars
|
||||
NAJN = Sin and Punishment
|
||||
NAKS = Pokémon Snap
|
||||
NAME = Kirby 64: The Crystal Shards
|
||||
NAMP = Kirby 64: The Crystal Shards
|
||||
NAND = Pokémon Puzzle League
|
||||
NAOE = 1080° Snowboarding
|
||||
NAOP = 1080°: TenEighty Snowboarding
|
||||
NARE = The Legend of Zelda: Majora's Mask
|
||||
NARP = The Legend of Zelda: Majora's Mask
|
||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
||||
LALP = Fantasy Zone II
|
||||
LANP = Alex Kidd: The Lost Stars
|
||||
LAPP = Wonder Boy III: The Dragon's Trap
|
||||
|
@ -686,7 +671,6 @@ EAIP = Top Hunter
|
|||
EBDP = Magical Drop 3
|
||||
EBFP = Spin master
|
||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECGP = Shock Troopers: 2nd Squad
|
||||
E54P = GHOSTS'N GOBLINS
|
||||
E55P = Commando
|
||||
|
@ -703,21 +687,24 @@ HADE = Internet Kanal
|
|||
HADP = Internet-Kanal
|
||||
HAFP = Wetterkanal
|
||||
HAGA = Nachrichtenkanal
|
||||
HAGE = Nachrichtenkanal
|
||||
HAGJ = Nachrichtenkanal
|
||||
HAGP = Nachrichtenkanal
|
||||
HAJP = Meinungskanal
|
||||
HAKP = Vertrag/Kontakt
|
||||
HAPP = Mii-Wettbewerbskanal
|
||||
HATP = Nintendo-Kanal
|
||||
HAVP = Glückstagskanal
|
||||
HAWP = Metroid Prime 3 Preview
|
||||
HAYA = Fotokanal
|
||||
HCAP = Jam with the Band Live
|
||||
HCAP = Jam with the Band Live-Kanal
|
||||
HCCJ = Adresseinstellungen
|
||||
HCFE = Wii Speak-Kanal
|
||||
HCFP = Wii Speak-Kanal
|
||||
HCGP = Wii & Internet
|
||||
HCMP = Kirby TV-Kanal
|
||||
HCRE = The Legend of Zelda: Skyward Sword - Speicherdaten-Update-Kanal für
|
||||
HCRP = The Legend of Zelda: Skyward Sword - Speicherdaten-Update-Kanal für
|
||||
RFPP = Wii Fit Plus-Kanal
|
||||
RMCP = Mario Kart-Kanal
|
||||
OHBC = Homebrew-Kanal
|
||||
G2FD78 = Tak 2: Der Stab der Träume
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: ES_unique version: 20230727194141)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: ES_unique version: 20241114210112)
|
||||
DCHJAF = We Cheer: Ohasta Produce ! Gentei Collabo Game Disc
|
||||
R22J01 = FlingSmash
|
||||
R23E52 = Barbie y las Tres Mosqueteras
|
||||
|
@ -90,6 +90,7 @@ R9EPNP = Brico Party: ¡Cuidado! Mancha
|
|||
R9GPWR = Ga'Hoole: La Leyenda de los Guardianes
|
||||
R9LP41 = Girls Life: Pijama Party
|
||||
R9TK69 = Tiger Woods PGA Tour 09
|
||||
RAAE01 = Disco de Startup Wii
|
||||
RB9D78 = Bratz: La Película
|
||||
RB9P78 = Bratz: La Película
|
||||
RB9X78 = Bratz: La Película
|
||||
|
@ -109,7 +110,7 @@ RC2E78 = Cars: Mater-National
|
|||
RC2P78 = Cars: La Copa Internacional de Mate
|
||||
RC2X78 = Cars: La Copa Internacional de Mate
|
||||
RC2Y78 = Cars: La Copa Internacional de Mate
|
||||
RC3P41 = Catz: Diviértete con Nuevos Felinos
|
||||
RC3P41 = Catz: ¡Diviértete con nuevos felinos!
|
||||
RC3X41 = Catz: Diviértete con Nuevos Felinos
|
||||
RC4SGT = Shin Chan: ¡Las Nuevas Aventuras para Wii!
|
||||
RC8P7D = Crash: Guerra al Coco-Maníaco
|
||||
|
@ -187,6 +188,7 @@ RH5PKM = Horse Life 2: Amigos para Siempre
|
|||
RH6K69 = Harry Potter and the Half-Blood Prince
|
||||
RH6P69 = Harry Potter y el Misterio del Príncipe
|
||||
RHAK01 = Wii Play
|
||||
RHAW01 = Wii Play
|
||||
RHKJ18 = Hataraku Hit
|
||||
RHKP18 = Job Island
|
||||
RHQP4Q = Hannah Montana: Únete a Su Gira Mundial
|
||||
|
@ -199,6 +201,7 @@ RHZP41 = Horsez: El Valle del Rancho
|
|||
RI2P4Q = High School Musical: ¡Canta con ellos!
|
||||
RI8E41 = Brothers in Arms: Road to Hill 30
|
||||
RI9PGT = Divagirls: Princesas Sobre Hielo
|
||||
RIAE52 = Ice Age: Dawn of the Dinosaurs
|
||||
RIAI52 = Ice Age 3: El Origen de los Dinosaurios
|
||||
RIAP52 = Ice Age 3: El Origen de los Dinosaurios
|
||||
RIBPKM = Igor: El Videojuego
|
||||
|
@ -225,7 +228,7 @@ RJAP52 = Call of Duty: Modern Warfare: Reflex
|
|||
RJAX52 = Call of Duty: Modern Warfare: Reflex
|
||||
RJDPKM = Mi Hospital de Animales
|
||||
RJFE5G = Fitness Ultimatum 2009 de Jillian Michaels
|
||||
RJFPKM = Fitness Ultimatum 2009 con Jillian Michaels
|
||||
RJFPKM = Ponte en forma con Jillian Michaels
|
||||
RJMPRS = Jumper
|
||||
RJNE20 = Build 'n Race
|
||||
RJOP99 = Ju-On: The Grudge
|
||||
|
@ -437,7 +440,7 @@ RV9P78 = Avatar: La Leyenda de Aang - Dentro del Infierno
|
|||
RVAP78 = Avatar: La Leyenda de Aang - La Tierra Ardiente
|
||||
RVBPRS = Alvin y las Ardillas
|
||||
RVHP41 = Scrabble Interactivo: Edición 2009
|
||||
RVJPFR = So Blonde: Perdidos en el Caribe
|
||||
RVJPFR = So Blonde: De Vuelta en la Isla
|
||||
RVKJ99 = Valhalla Knights: Elder Saga
|
||||
RVQP41 = Desafío Cine Party
|
||||
RVTFMR = Veterinarios en Acción
|
||||
|
@ -499,6 +502,8 @@ RZRPGT = El Destino de El Zorro
|
|||
RZYF41 = Mi Experto en Vocabulario
|
||||
RZYP41 = Mi Experto en Vocabulario
|
||||
RZYS41 = Mi Experto en Vocabulario
|
||||
S26PML = 2 en 1: Pony Friends 2 + Mi Granja de Caballos
|
||||
S2VPAF = Victorious: Salto a la fama
|
||||
S2XE41 = Los Pitufos 2
|
||||
S2XP41 = Los Pitufos 2
|
||||
S2ZP52 = Zhu Zhu Pets: Los Amigos del Bosque
|
||||
|
@ -507,6 +512,7 @@ S3BEWR = Batman: El Intrépido Batman
|
|||
S3BPWR = Batman: El Intrépido Batman
|
||||
S3DJ18 = Deca Sporta 3
|
||||
S3EP78 = Barbie: Planeta Fashionista
|
||||
S3EXVZ = Barbie: Planeta Fashionista
|
||||
S3MP69 = Los Sims 3
|
||||
S3PP4Q = Disney Princesas: Reinos Mágicos
|
||||
S5BPKM = Regreso al Futuro: El juego
|
||||
|
@ -524,6 +530,7 @@ SALE4Q = Alicia en el País de las Maravillas
|
|||
SALP4Q = Alicia en el País de las Maravillas
|
||||
SAOP78 = Monster High: Instituto Monstruoso
|
||||
SAOXVZ = Monster High: Instituto Monstruoso
|
||||
SAVX5G = Alvin y las ardillas 2
|
||||
SB2PNP = My Baby 2: ¡Mi Bebé Ha Crecido!
|
||||
SB4K01 = Super Mario Galaxy 2
|
||||
SB6P52 = Bakugan: Defensores de la Tierra
|
||||
|
@ -551,6 +558,7 @@ SCYZ4Q = Cars 2: El Videojuego
|
|||
SD2Y41 = Just Dance 2 (Edición Best Buy)
|
||||
SD6PTV = Éxito en Primaria: Inglés - Curso 1-4
|
||||
SD7PTV = Éxito en Primaria: Matemáticas - Curso 1-4
|
||||
SDDPML = Sexos en Guerra: típicos tópicos
|
||||
SDFP4Q = Disney Sing It: Éxitos de película
|
||||
SDLP78 = La Gran Aventura de Dood
|
||||
SDMEG9 = Gru, Mi Villano Favorito
|
||||
|
@ -608,11 +616,12 @@ SJDZ41 = Just Dance 3 (Edición Target)
|
|||
SJIEG9 = Fitness Ultimatum 2011 de Jillian Michaels
|
||||
SJME5G = Fitness Ultimatum 2010 de Jillian Michaels
|
||||
SJMPGT = Fitness Ultimatum 2010 de Jillian Michaels
|
||||
SJXD41 = Just Dance 4
|
||||
SJXD41 = Just Dance 4 Edición Especial
|
||||
SK4E52 = Shrek: Felices Para Siempre
|
||||
SK4P52 = Shrek: Felices Para Siempre
|
||||
SK7PVZ = Disney Violetta: Ritmo & Música
|
||||
SK7XVZ = Disney Violetta: Ritmo & Música
|
||||
SKYZ52 = Skylanders Giants
|
||||
SLAE78 = Airbender: El Último Guerrero
|
||||
SLAP78 = Airbender: El Último Guerrero
|
||||
SLAX78 = Airbender: El Último Guerrero (Edición Especial)
|
||||
|
@ -636,7 +645,7 @@ SMNW01 = New Super Mario Bros. Wii (Chino Tradicional)
|
|||
SN4JDA = Naruto Shippuuden Ryujinki
|
||||
SNBP41 = NCIS Navy Investigación Criminal
|
||||
SNYEVZ = Monster High: 13 Deseos
|
||||
SNYPVZ = Monster High: 13 Deseos
|
||||
SNYPVZ = Monster High: 13 Monstruo-deseos
|
||||
SOTE52 = Wipeout
|
||||
SOUJ01 = The Legend of Zelda: Skyward Sword
|
||||
SP5PVV = The Kore Gang: La Exvasión de los Intraterrestres
|
||||
|
@ -824,7 +833,6 @@ RJJG52 = Guitar Hero III Custom: JJ-KwiK's Edition
|
|||
RMCE88 = Mario Carritos Definitivo 3.0
|
||||
RMCEB8 = Mario Kart Manía
|
||||
RMCEFO = Neptune777 Forza MAX Orígenes
|
||||
RMCPCA = Mario Kart Wii (traducción al catalán)
|
||||
RMGE52 = Guitar Hero III Custom: Megadeth
|
||||
RMHC08 = Monster Hunter Tri (Personalizado)
|
||||
RMMP52 = Guitar Hero III Custom: Metal Mayhem
|
||||
|
@ -835,6 +843,7 @@ RSFC99 = Muramasa: The Demon Blade (Personalizado)
|
|||
RSJESD = Guitar Hero III Custom: System of a Down
|
||||
RSYP06 = Super Smash Bros. Brawl: YF06's Mod
|
||||
RZDC01 = The Legend of Zelda: Twilight Princess (Personalizado)
|
||||
RZDPCA = The Legend of Zelda: Twilight Princess (Traducción al catalán - Traducció al català)
|
||||
SB4C01 = Super Mario Galaxy 2 (Personalizado)
|
||||
SBOD3Q = SingItStar: Best of Disney
|
||||
SDUEO1 = DU Super Mario Bros.: DU Edition
|
||||
|
@ -857,7 +866,6 @@ W2FP = Entrenamiento de Equilibrio Physiofun
|
|||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||
W2GE = Phoenix Wright: Ace Attorney Justice for All
|
||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||
W2GS = Phoenix Wright Ace Attorney: Justice for All
|
||||
W2JE = Just Jam
|
||||
W2ME = Blaster Master: Overdrive
|
||||
W2MP = Blaster Master Overdrive
|
||||
|
@ -866,7 +874,6 @@ W3AE = Carmen Sandiego Adventures in Math: The Big Ben Burglary
|
|||
W3GD = Phoenix Wright: Ace Attorney - Trials and Tribulations
|
||||
W3GE = Phoenix Wright Ace Attorney: Trials and Tribulations
|
||||
W3GP = Phoenix Wright: Ace Attorney - Trials and Tribulations
|
||||
W3GS = Phoenix Wright: Ace Attorney Trials and Tribulations
|
||||
W3KE = Thruspace
|
||||
W3KP = ThruSpace
|
||||
W3LE = Carmen Sandiego Adventures in Math: The Lady Liberty Larceny
|
||||
|
@ -874,15 +881,10 @@ W3ME = The Three Musketeers: One for all
|
|||
W3MP = Los Tres Mosqueteros ¡Uno para todos!
|
||||
W3TE = Pearl Harbor Trilogy - 1941: Red Sun Rising
|
||||
W44E = Stop Stress: A Day of Fury
|
||||
W44P = Stop Stress: A Day of Fury
|
||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||
W5IE = 5 in 1 Solitaire
|
||||
W6BE = Eco Shooter: Plant 530
|
||||
W6BP = Eco-Shooter: Plant 530
|
||||
W72P = Successfully Learning German Year 3
|
||||
W73P = Successfully Learning German Year 4
|
||||
W74P = Successfully Learning German Year 5
|
||||
W7IP = Successfully Learning German Year 2
|
||||
W8CE = Bit.Trip Core
|
||||
W8CP = Bit.Trip Core
|
||||
W8WE = Happy Holidays: Halloween
|
||||
|
@ -899,8 +901,6 @@ WA8E = Art Style: Rotozoa
|
|||
WA8P = Art Style: Penta Tentacles
|
||||
WAEE = Around The World
|
||||
WAFE = Airport Mania: First Flight
|
||||
WAFP = Airport Mania: First Flight
|
||||
WAHP = Trenches: Generals
|
||||
WAKE = Carmen Sandiego Adventures in Math: The Case of the Crumbling Cathedral
|
||||
WALE = Art Style: Light Trax
|
||||
WALP = Art Style: Light Trax
|
||||
|
@ -946,7 +946,7 @@ WDHP = Art Style: Rotohex
|
|||
WDMJ = Dr. Mario & Bactericida
|
||||
WDMP = Dr. Mario & Bactericida
|
||||
WDPE = Dr. Mario Online Rx (Friend Battle Demo)
|
||||
WDPP = Dr. Mario & Germ Buster (Friend Battle Demo)
|
||||
WDPP = Dr. Mario & Bactericida (Demo Batalla Amistosa)
|
||||
WDRE = Mr Driller W
|
||||
WEME = Aha! I Got It! Escape Game
|
||||
WEMP = Aha! I Got It! Escape Game
|
||||
|
@ -981,7 +981,6 @@ WGPP = Zenquaria: El Acuario Virtual
|
|||
WGSD = Phoenix Wright: Ace Attorney (Versión Alemana)
|
||||
WGSE = Phoenix Wright: Ace Attorney
|
||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||
WGSP = Phoenix Wright: Ace Attorney
|
||||
WGSS = Phoenix Wright: Ace Attorney (Textos en español)
|
||||
WHBE = Hubert the Teddy Bear: Winter Games
|
||||
WHEE = Heracles: Chariot Racing
|
||||
|
@ -1130,6 +1129,7 @@ WWXE = Paper Wars: Cannon Fodder
|
|||
WWXP = Paper Wars Cannon Fodder
|
||||
WXBE = Ben 10 Alien Force The Rise of Hex
|
||||
WXBP = Ben 10: Alien Force - The Rise of Hex
|
||||
WXIP = Éxito en primaria Inglés, curso 1º
|
||||
WXPE = Paint Splash!
|
||||
WXRE = Reel Fishing Ocean Challenge
|
||||
WYIE = escapeVektor: Chapter 1
|
||||
|
@ -1262,20 +1262,13 @@ JDWP = Aero The Acrobat
|
|||
JDZD = Mystic Quest Legend
|
||||
JDZF = Mystic Quest Legend
|
||||
JDZP = Mystic Quest Legend
|
||||
NACE = The Legend of Zelda: Ocarina of Time
|
||||
NACP = The Legend of Zelda: Ocarina of Time
|
||||
NAJ8 = The Legend of Zelda: Ocarina of Time (traducido al español)
|
||||
NAJN = Sin and Punishment
|
||||
NAKS = Pokémon Snap
|
||||
NAME = Kirby 64: The Crystal Shards
|
||||
NAMP = Kirby 64: The Crystal Shards
|
||||
NAND = Pokémon Puzzle League
|
||||
NAOE = 1080° Snowboarding
|
||||
NAOP = 1080°: TenEighty Snowboarding
|
||||
NARE = The Legend of Zelda: Majora's Mask
|
||||
NARP = The Legend of Zelda: Majora's Mask
|
||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
||||
LAFN = Secret Commando
|
||||
LAGE = Sonic the Hedgehog
|
||||
LAJE = Sonic the Hedgehog 2
|
||||
|
@ -1373,7 +1366,6 @@ EBQE = Ninja Master's
|
|||
EBSE = The Path of the Warrior: Art of Fighting 3
|
||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||
ECAE = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECGE = Shock Troopers: 2nd Squad
|
||||
ECGP = Shock Troopers: 2nd Squad
|
||||
E54P = GHOSTS'N GOBLINS
|
||||
|
@ -1403,6 +1395,8 @@ HAGJ = Canal Noticias
|
|||
HAGP = Canal Noticias
|
||||
HAJE = Canal Opiniones
|
||||
HAJP = Canal Opiniones
|
||||
HAKE = Documentos legales/Contacto
|
||||
HAKP = Contrato/Contacto
|
||||
HAPE = Canal Miirame
|
||||
HAPP = Canal Concursos Mii
|
||||
HATE = Canal Nintendo
|
||||
|
@ -1411,12 +1405,24 @@ HAVP = Canal La fortuna te sonríe
|
|||
HAWE = Metroid Prime 3 Preview
|
||||
HAWP = Metroid Prime 3 Preview
|
||||
HAYA = Canal Fotos
|
||||
HCAJ = Band Bros. DX Speaker Channel
|
||||
HCAP = Jam with the Band Live
|
||||
HCAP = Canal Jam with the Band Live
|
||||
HCCJ = Ajustes de dirección
|
||||
HCFE = Canal Wii Speak
|
||||
HCFP = Canal Wii Speak
|
||||
HCGP = Wii e Internet
|
||||
HCGX = Wii e Internet
|
||||
HCLE = Netflix
|
||||
HCMP = Canal Kirby TV
|
||||
HCRE = The Legend of Zelda: Skyward Sword - Canal de actualización de datos de guardado
|
||||
HCRP = The Legend of Zelda: Skyward Sword - Canal de actualización de datos de guardado
|
||||
HCRP = The Legend of Zelda: Skyward Sword - Canal Actualización de datos
|
||||
HCSP = Transferencia Wii U
|
||||
HCTP = Transferencia de datos de Wii
|
||||
HCYP = Manual Electrónico del Menú de Wii (Wii Mini)
|
||||
RFNP = Canal Wii Fit
|
||||
RFPE = Canal Wii Fit Plus
|
||||
RFPP = Canal Wii Fit Plus
|
||||
RGWP = Canal Rabbids
|
||||
RGWX = Canal Rabbids
|
||||
RMCE = Canal Mario Kart
|
||||
RMCP = Canal Mario Kart
|
||||
D64A = Wii64
|
||||
|
@ -1429,10 +1435,12 @@ DSDA = SuperDump 1.3
|
|||
JODI = Canal Homebrew
|
||||
LULZ = Canal Homebrew
|
||||
OHBC = Canal Homebrew
|
||||
RMCX = Canal CTGP Revolution
|
||||
G3AS69 = El Señor de los Anillos: La Tercera Edad
|
||||
G3DX6L = Carmen Sandiego: El secreto de los tambores robados
|
||||
G3FS69 = TimeSplitters: Futuro Perfecto
|
||||
G4MP69 = Los Sims: Toman La Calle
|
||||
G4ZP69 = Los Sims 2
|
||||
G8MP01 = Paper Mario: La Puerta Milenaria
|
||||
G9TP52 = El Espantatiburones
|
||||
GAZS69 = Harry Potter y el prisionero de Azkaban
|
||||
|
@ -1457,7 +1465,7 @@ GLNP69 = Looney Tunes: De Nuevo En Accion
|
|||
GLOS69 = El Señor de los Anillos: Las Dos Torres
|
||||
GNES78 = Buscando a Nemo
|
||||
GOYS69 = GoldenEye: Agente Corrupto
|
||||
GPQP6L = Las Supernenas: Arrasando las Salsas
|
||||
GPQP6L = Las Supernenas: Escabeche Mutante
|
||||
GPXP01 = Pokémon Box: Rubí y Zafiro
|
||||
GQQD78 = Bob Esponja: ¡Luces, Cámara, Esponja!
|
||||
GQQE78 = Bob Esponja: ¡Luces, Cámara, Esponja!
|
||||
|
@ -1467,7 +1475,7 @@ GQQP78 = Bob Esponja: ¡Luces, Cámara, Esponja!
|
|||
GQWX69 = Harry Potter: Quidditch Copa del Mundo
|
||||
GR9P6L = El Imperio del Fuego
|
||||
GSXS64 = Star Wars: Las Guerras Clon
|
||||
GTYP69 = Ty, el tigre de Tasmani
|
||||
GTYP69 = Ty, el tigre de Tasmania
|
||||
GVLP69 = Marvel Némesis: La Rebelión de los Imperfectos
|
||||
GWHP41 = Winnie the Pooh: La Fiesta de Cumpleaños
|
||||
GX2S52 = X-Men Legends II: El Ascenso de Apocalipsis
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: FR_unique version: 20230727194148)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: FR_unique version: 20241114210121)
|
||||
R22J01 = FlingSmash
|
||||
R23P52 = Barbie et les Trois Mousquetaires
|
||||
R25PWR = LEGO Harry Potter : Années 1 à 4
|
||||
|
@ -127,7 +127,7 @@ RCGP54 = Carnival: Fête Foraine
|
|||
RCIP41 = Les Experts : Morts Programmées
|
||||
RCKPGN = Sports Challenge : Defi Sports
|
||||
RCLP4Q = Chicken Little : Aventures Intergalactiques
|
||||
RCOPNP = Détective Conan : Enquête
|
||||
RCOPNP = Détective Conan : Enquête à Mirapolis
|
||||
RCVP41 = Far Cry : Vengeance
|
||||
RCXP78 = All Star Pom-pom Girl
|
||||
RD4PA4 = Dance Dance Revolution : Hottest Party 2
|
||||
|
@ -198,6 +198,7 @@ RH3P4Q = High School Musical 3 Dance! Nos Années Lycée
|
|||
RH5PKM = Horse Life : Amis pour la vie
|
||||
RH6P69 = Harry Potter et le Prince de Sang-Mêlé
|
||||
RH8P4F = Tomb Raider : Underworld
|
||||
RHAW01 = Wii Play
|
||||
RHCP52 = The History Channel : Battle for the Pacific
|
||||
RHGP6Z = Agent Hugo : Lemoon Twist
|
||||
RHKP18 = Job Island
|
||||
|
@ -598,6 +599,7 @@ SINPNG = We Sing : Robbie Williams
|
|||
SJ2PWR = Scooby-Doo! Panique dans la Marmite
|
||||
SJ9P41 = Just Dance 2 : Extra Songs
|
||||
SJTP41 = Just Dance : Best Of
|
||||
SJXD41 = Just Dance 4 Edition Speciale
|
||||
SK4P52 = Shrek 4: Il Etait une Fin
|
||||
SK7PVZ = Disney Violetta : Rythme et musique
|
||||
SK7XVZ = Disney Violetta : Rythme et musique
|
||||
|
@ -616,7 +618,7 @@ SMBP8P = Super Monkey Ball : Step & Roll
|
|||
SMFP4Q = Phineas et Ferb: Voyage dans la Deuxième Dimension
|
||||
SMGP78 = Megamind
|
||||
SMHPNK = Marvel Super Heroes 3D
|
||||
SMSP78 = Marvel Super Hero Squad
|
||||
SMSP78 = Marvel Super Hero Squad : Le Gant de l'Infini
|
||||
SN4XGT = Naruto Shippuden : Dragon Blade Chronicles
|
||||
SNBP41 = NCIS: Adapté de la série TV
|
||||
SNHP69 = Need for Speed
|
||||
|
@ -687,14 +689,13 @@ RMCE88 = Le Mario Kare Deluxa por jatras
|
|||
RMCJ91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
||||
RMCK91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
||||
RMCP91 = Wiimms Mario Kart Fun 2021-09 Réservé
|
||||
RMCPCA = Mario Kart Wii (traduction en catalan)
|
||||
RZDPCA = The Legend of Zelda: Twilight Princess (traduction catalane)
|
||||
SBOD3Q = StarSing : Chansons Magiques de Disney v1.1
|
||||
SILP4Q = SingItStar Latino
|
||||
SNBE66 = Nouveau Super Mario Bros. Wii Apocalypse
|
||||
W2CP = Cérébral Challenge
|
||||
W2FP = Entrainement d'équilibre Physiofun
|
||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||
W2GF = Phoenix Wright: Ace Attorney: Justice for All
|
||||
W2GP = Phoenix Wright Ace Attorney : Justice for All
|
||||
W2MP = Blaster Master Overdrive
|
||||
W2PP = Programme de rééducation du périnée Physiofun
|
||||
|
@ -707,10 +708,6 @@ W3MP = Les Trois Mousquetaires : Tous pour un!
|
|||
W44P = Stop Stress : A Day of Fury
|
||||
W4AP = Arcade Sports : Air Hockey, Bowling, Pool, Snooker
|
||||
W6BP = Eco-Shooter: Plant 530
|
||||
W72P = Successfully Learning German Year 3
|
||||
W73P = Successfully Learning German Year 4
|
||||
W74P = Successfully Learning German Year 5
|
||||
W7IP = Successfully Learning German Year 2
|
||||
W8CP = Bit.Trip Core
|
||||
W8WP = Happy Holidays Halloween
|
||||
W9BP = Big Town Shoot
|
||||
|
@ -719,8 +716,6 @@ WA4P = WarioWare : Do It Yourself - Showcase
|
|||
WA7P = Toribash - La violence perfectionnée
|
||||
WA8P = ArtStyle: Penta Tentacles
|
||||
WAEP = Around the world
|
||||
WAFP = Airport Mania: First Flight
|
||||
WAHP = Trenches: Generals
|
||||
WALP = Art Style : light trax
|
||||
WAOP = The Very Hungry Caterpillar´s ABC
|
||||
WB2P = Strong Bad Episode 4 : Dangeresque 3
|
||||
|
@ -761,7 +756,6 @@ WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
|||
WGPP = Zenquaria L'aquarium Virtuel
|
||||
WGSE = Phoenix Wright: Ace Attorney
|
||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||
WGSP = Phoenix Wright: Ace Attorney
|
||||
WHEE = Heracles : Chariot Racing
|
||||
WHEP = Heracles : Chariot Racing
|
||||
WHFP = Heavy Fire: Special Operations
|
||||
|
@ -853,6 +847,7 @@ WWRP = Excitebike: World Challenge
|
|||
WWXP = Paper Wars Cannon Fodder
|
||||
WXBE = Ben 10 Alien Force The Rise of Hex
|
||||
WXBP = Ben 10 Alien Force The Rise of Hex
|
||||
WXIP = Succès au primaire : Anglais, CP
|
||||
WYIP = escapeVektor: Chapter 1
|
||||
WYSP = Yard Sale Hidden Treasures Sunnyville
|
||||
WZIP = Rubik's Puzzle Galaxy : RUSH
|
||||
|
@ -923,14 +918,11 @@ JDWP = Aero The Acrobat
|
|||
JDZF = Mystic Quest Legend
|
||||
NACP = The Legend of Zelda : Ocarina of Time
|
||||
NAJN = Sin and Punishment
|
||||
NAKS = Pokémon Snap
|
||||
NAME = Kirby 64 : The Crystal Shards
|
||||
NAMP = Kirby 64 : The Crystal Shards
|
||||
NAND = Pokémon Puzzle League
|
||||
NAOP = 1080°: TenEighty Snowboarding
|
||||
NARP = The Legend of Zelda : Majora's Mask
|
||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
||||
LALP = Fantasy Zone II
|
||||
LANP = Alex Kidd: The Lost Stars
|
||||
LAPP = Wonder Boy III: The Dragon's Trap
|
||||
|
@ -990,7 +982,6 @@ EASE = Samurai Shodown 2
|
|||
EBDP = Magical Drop 3
|
||||
EBFP = Spin master
|
||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECGP = Shock Troopers: 2nd Squad
|
||||
E54P = GHOSTS'N GOBLINS
|
||||
E55P = Commando
|
||||
|
@ -1006,30 +997,38 @@ HACK = Chaîne Mii
|
|||
HADE = Chaîne Internet
|
||||
HADP = Chaîne Internet
|
||||
HAFA = Chaîne météo
|
||||
HAFE = Chaîne météo
|
||||
HAFP = Chaîne météo
|
||||
HAGA = Chaîne infos
|
||||
HAGE = Chaîne infos
|
||||
HAGJ = Chaîne infos
|
||||
HAGP = Chaîne infos
|
||||
HAJP = Chaîne votes
|
||||
HAKE = Documents légaux/Contact
|
||||
HAKP = Contrat/Contact
|
||||
HAPE = Chaîne Regardez-Mii
|
||||
HAPP = Chaîne concours Mii
|
||||
HATE = Chaîne Nintendo
|
||||
HATP = Chaîne Nintendo
|
||||
HAVP = Chaîne jour de chance
|
||||
HAWP = Metroid Prime 3 Preview
|
||||
HAYA = Chaîne photos
|
||||
HAYK = Chaîne Photo
|
||||
HCAP = Jam with the Band Live
|
||||
HCAP = Chaîne Jam with the Band Live
|
||||
HCCJ = Paramètres d'adresse
|
||||
HCFE = Chaîne Wii Speak
|
||||
HCFP = Chaîne Wii Speak
|
||||
HCGP = Wii et Internet
|
||||
HCMP = Chaîne Kirby TV
|
||||
HCRE = The Legend of Zelda: Skyward Sword - Chaîne mise à jour des données
|
||||
HCRP = The Legend of Zelda: Skyward Sword - Chaîne mise à jour des données
|
||||
RFPE = Chaîne Wii Fit Plus
|
||||
RFPP = Chaîne Wii Fit Plus
|
||||
RMCE = Chaîne Mario Kart
|
||||
RMCP = Chaîne Mario Kart
|
||||
DNUA = Donut Wii
|
||||
OHBC = Chaîne Homebrew
|
||||
RMCX = Chaîne Mario Kart Wii CTGP Revolution
|
||||
RMCX = Chaîne CTGP Revolution
|
||||
G2FF78 = Tak 2: Le Sceptre des Rêves
|
||||
G3AF69 = Le Seigneur des Anneaux: Le Tiers Âge
|
||||
G3DP6L = Carmen Sandiego : Le Secret des Tam-Tams Volés
|
||||
|
@ -1057,7 +1056,6 @@ GENF69 = James Bond 007: Quitte ou Double
|
|||
GF4F52 = Les 4 Fantastiques
|
||||
GFHP6V = Un Voisin d'Enfer!
|
||||
GFSF69 = Coupe du Monde FIFA 2002
|
||||
GGVX78 = Bob l'Eponge : Le Film
|
||||
GH2P69 = Need for Speed : Poursuite Infernale 2
|
||||
GH4F69 = Harry Potter et la Coupe de Feu
|
||||
GH5F52 = Nos Voisins, les Hommes
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: IT_unique version: 20230727194156)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: IT_unique version: 20241114210129)
|
||||
R23P52 = Barbie e le Tre Moschettiere
|
||||
R25PWR = LEGO Harry Potter: Anni 1-4
|
||||
R2AP7D = L'Era Glaciale 2: Il Disgelo
|
||||
|
@ -298,6 +298,7 @@ SIAI52 = L'Era Glaciale 4: Continenti alla Deriva - Giochi Polari
|
|||
SIIP8P = Mario & Sonic ai Giochi Olimpici di Londra 2012
|
||||
SJ2PWR = Scooby-Doo! e la palude del mistero
|
||||
SJ9P41 = Just Dance 2 - Extra Songs
|
||||
SJXD41 = Just Dance 4 Edizione Speciale
|
||||
SK4I52 = Shrek e vissero felici e contenti
|
||||
SK4P52 = Shrek: E Vissero Felici E Contenti
|
||||
SK7PVZ = Disney Violetta: Musica e Ritmo
|
||||
|
@ -356,40 +357,29 @@ G01E01 = Super Smash Bros. Melee: Remix SD
|
|||
MILPSI = SingItStar Miliki
|
||||
R15POH = SingItStar Radio 105
|
||||
RGGE52 = Guitar Hero III Custom: Rock The Games
|
||||
RMCPCA = Mario Kart Wii (traduzione in catalano)
|
||||
RSJESD = Guitar Hero III Custom: System Of A Down
|
||||
RZDPCA = The Legend of Zelda: Twilight Princess (traduzione in catalano)
|
||||
S02PES = SingItStar 90's
|
||||
SILP4Q = Sing It: Latino
|
||||
SP9P4Q = SingItStar POP 2009
|
||||
WFFF4I = Fatal Frame 4: La Maschera dell'eclissi lunare
|
||||
W2CP = Brain Challenge L'Allena-Mente
|
||||
W2FP = Physiofun - Balance Training
|
||||
W2FP = Physiofun: Balance Training
|
||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||
W2GI = Phoenix Wright: Ace Attorney: Justice for All
|
||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||
W2MP = Blaster Master: Overdrive
|
||||
W2PP = Physiofun: Pelvic Floor Training
|
||||
W3GI = Phoenix Wright: Ace Attorney: Trials and Tribulations
|
||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
||||
W3MP = I Tre Moschettieri Uno per tutti!
|
||||
W44P = Stop Stress: A Day of Fury
|
||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||
W6BP = 530 ECO SHOOTER
|
||||
W72P = Successfully Learning German Year 3
|
||||
W73P = Successfully Learning German Year 4
|
||||
W74P = Successfully Learning German Year 5
|
||||
W7IP = Successfully Learning German Year 2
|
||||
W8CP = Bit.Trip Core
|
||||
W8WP = Happy Holidays Halloween
|
||||
W9BP = Big Town Shoot
|
||||
W9RP = Happy Holidays Christmas
|
||||
WA4P = WarioWare: Do It Yourself - Showcase
|
||||
WA7P = Toribash Violence Perfected
|
||||
WA8P = Art Style: Penta Tentacles
|
||||
WAEP = Around the world
|
||||
WAFP = Airport Mania: First Flight
|
||||
WAHP = Trenches: Generals
|
||||
WALP = Art Style: light trax
|
||||
WAOP = The Very Hungry Caterpillar´s ABC
|
||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
||||
|
@ -423,8 +413,6 @@ WGFP = Girlfriends Forever: Magic Skate
|
|||
WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||
WGPP = Zenquaria™: Acquario virtuale
|
||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||
WGSI = Phoenix Wright: Ace Attorney
|
||||
WGSP = Phoenix Wright: Ace Attorney
|
||||
WHEP = Heracles: Chariot Racing
|
||||
WHFP = Heavy Fire: Special Operations
|
||||
WHRP = Heron: Steam Machine
|
||||
|
@ -557,12 +545,7 @@ JDLP = Super Star Wars: Return of the Jedi
|
|||
JDWP = Aero The Acrobat
|
||||
JDZP = Mystic Quest Legend
|
||||
JECM = CHRONO TRIGGER
|
||||
NACP = The Legend of Zelda: Ocarina of Time
|
||||
NAKS = Pokémon Snap
|
||||
NAMP = Kirby 64: The Crystal Shards
|
||||
NAOP = 1080°: TenEighty Snowboarding
|
||||
NARP = The Legend of Zelda: Majora's Mask
|
||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
||||
LALP = Fantasy Zone II
|
||||
LANP = Alex Kidd: The Lost Stars
|
||||
LAPP = Wonder Boy III: The Dragon's Trap
|
||||
|
@ -615,7 +598,6 @@ EAIP = Top Hunter
|
|||
EBDP = Magical Drop 3
|
||||
EBFP = Spin master
|
||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECGP = Shock Troopers: 2nd Squad
|
||||
E54P = GHOSTS'N GOBLINS
|
||||
E55P = Wolf of the Battlefield: Commando
|
||||
|
@ -631,20 +613,24 @@ HADE = Canale Internet
|
|||
HADP = Canale Internet
|
||||
HAFP = Canale Meteo
|
||||
HAGA = Canale Notizie
|
||||
HAGE = Canale Notizie
|
||||
HAGJ = Canale Notizie
|
||||
HAGP = Canale Notizie
|
||||
HAJP = Canale Vota Anche Tu
|
||||
HAKP = Accordo/Contatto
|
||||
HAPP = Canale Concorsi Mii
|
||||
HATP = Canale Nintendo
|
||||
HAVP = Canal La fortuna ti sorride
|
||||
HAVP = Canale La fortuna ti sorride
|
||||
HAWP = Metroid Prime 3 Preview
|
||||
HAYA = Canale Foto
|
||||
HCAP = Canale Jam with the Band Live
|
||||
HCCJ = Impostazioni indirizzo
|
||||
HCFE = Canale Wii Speak
|
||||
HCFP = Canale Wii Speak
|
||||
HCGP = Wii e Internet
|
||||
HCMP = Canale TV Kirby
|
||||
HCRE = The Legend of Zelda: Skyward Sword - Canale Aggrioornamento dati di
|
||||
HCRP = The Legend of Zelda: Skyward Sword - Canale Aggrioornamento dati di
|
||||
RFPP = Canale Wii Fit Plus
|
||||
RMCP = Canale Mario Kart
|
||||
JODI = Canale Homebrew
|
||||
LULZ = Canale Homebrew
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: JA_unique version: 20240420135206)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: JA_unique version: 20241114210137)
|
||||
D2AJAF = みんなで冒険!ファミリートレーナー 体験版
|
||||
DCHJAF = WE CHEER: おはスタプロデュース!限定コラボゲームディスク
|
||||
DFNJ01 = Wiiフィット 体験版
|
||||
DHHJ8J = 平野綾 Premiumムービーディスク from 涼宮ハルヒの激動
|
||||
DK6J18 = コロリンパ2 -アンソニーと黃金のひまわりのタネ-
|
||||
DMHJ08 = モンスターハンター 3 -tri- (Demo)
|
||||
|
@ -17,7 +18,7 @@ R2GJAF = FRAGILE 〜さよなら月の廃墟〜
|
|||
R2JJAF = 太鼓の達人Wii
|
||||
R2LJMS = Hula Wii フラで始める 美と健康!!
|
||||
R2PJ9B = スイングゴルフ パンヤ 2ndショット!
|
||||
R2QJC0 = クッキングママ 2 たいへん!!ママはおおいそがし!
|
||||
R2QJC0 = クッキングママ2 たいへん!!ママはおおいそがし!
|
||||
R2SJ18 = DECA SPORTA 2 Wiiでスポーツ”10”種目!
|
||||
R2UJ8P = レッツタップ
|
||||
R2VJ01 = 罪と罰 宇宙の後継者
|
||||
|
@ -396,6 +397,7 @@ S5KJAF = 太鼓の達人Wii 超ごうか版
|
|||
S5QJC8 = 戦国無双 3 猛将伝
|
||||
S5SJHF = イナズマイレブンGO ストライカーズ 2013
|
||||
S6TJGD = ドラゴンクエストX オールインワンパッケージ
|
||||
S72E01 = 星のカービィ 20周年スペシャルコレクション
|
||||
S72J01 = 星のカービィ 20周年スペシャルコレクション
|
||||
S7CJAF = 仮面ライダー クライマックスヒーローズ フォーゼ
|
||||
SAAJA4 = ウイニングイレブン プレーメーカー 2013
|
||||
|
@ -434,7 +436,7 @@ SGIJA4 = GTI Club ワールド シティ レース
|
|||
SGKJC8 = チャンピオンジョッキー:ギャロップレーサー&ジーワンジョッキー
|
||||
SGVJAF = ゴーバケーション
|
||||
SH2JMS = Hula Wii 楽しくフラを踴ろう!!
|
||||
SHIJ2N = シェイプボクシング 2 Wiiでエンジョイダイエット!
|
||||
SHIJ2N = シェイプボクシング2 Wiiでエンジョイダイエット!
|
||||
SIIE8P = マリオ&ソニック AT ロンドンオリンピック
|
||||
SIIJ01 = マリオ&ソニック AT ロンドンオリンピック
|
||||
SIIP8P = マリオ&ソニック AT ロンドンオリンピック
|
||||
|
@ -500,6 +502,7 @@ STKJ08 = タツノコ VS.カプコン アルティメットオール・スター
|
|||
STQJHF = イナズマイレブン ストライカーズ
|
||||
SUKE01 = 星のカービィWii
|
||||
SUKJ01 = 星のカービィWii
|
||||
SUKP01 = 星のカービィWii
|
||||
SUMJC8 = ウイニングポストワールド 2010
|
||||
SUPJ01 = Wiiパーティー
|
||||
SUXJA4 = ウイニングイレブン プレーメーカー 2010
|
||||
|
@ -564,7 +567,7 @@ W4KJ = 鹿狩
|
|||
W4OJ = シカクいアタマをマルくする。 毎日みんなでチャレンジ編
|
||||
W6BJ = 530 エコシューター
|
||||
W82J = 陣取りアクション! 太閤検地 ~からくり城のナゾ~
|
||||
W8CJ = BIT. TRIP CORE ~リズム星人の逆襲~
|
||||
W8CJ = BIT.TRIP CORE ~リズム星人の逆襲~
|
||||
W8DJ = メビウス・ドライブ
|
||||
W8IJ = ハチワンダイバー -81diver- Wii
|
||||
W8PJ = おうちで∞プチプチWii
|
||||
|
@ -587,7 +590,7 @@ WBAJ = バクたん
|
|||
WBBJ = ボードウォリアーズ
|
||||
WBJJ = 牧場物語シリーズ まきばのおみせ
|
||||
WBKJ = ARKANOID Plus!
|
||||
WBLJ = BUBBLE BOBBLE Wii
|
||||
WBLJ = バブルボブルWii
|
||||
WBMJ = みんなのポケモン牧場 プラチナ対応版
|
||||
WBNJ = 盆栽バーバー
|
||||
WBSJ = POP ~ポップ~
|
||||
|
@ -760,8 +763,8 @@ WZJJ = @SIMPLEシリーズ Vol.5 THE 柔道
|
|||
WZMJ = @SIMPLEシリーズ Vol.3 THE 麻雀
|
||||
WZPJ = ゾンビ イン ワンダーランド
|
||||
WZZJ = くまなげ ~ピイナの好きな赤いキャンディ パズル編~
|
||||
XHCJ = 光と闇の姫君と世界征服の塔 -FINAL FANTASY CHRISTAL CHRONICLES- (Demo)
|
||||
XHEJ = BIT. TRIP BEAT (Demo)
|
||||
XHCJ = 光と闇の姫君と世界征服の塔 -FINAL FANTASY CRYSTAL CHRONICLES- (Demo)
|
||||
XHEJ = BIT.TRIP BEAT (Demo)
|
||||
XHFJ = グーの惑星 (Demo)
|
||||
XHHJ = ポケモン不思議のダンジョン めざせ!光の冒険団 (Demo)
|
||||
XHJJ = すりぬけアナトウス (Demo)
|
||||
|
@ -1003,6 +1006,7 @@ JCYJ = 大航海時代Ⅱ
|
|||
JCZJ = スーパー蒼き狼と白き牝鹿 元朝秘史
|
||||
JD2J = 美少女雀士 スーチーパイ
|
||||
JD3J = SUPER E.D.F. EARTH DEFENSE FORCE
|
||||
JD4J = ラッシングビート
|
||||
JD5J = ラッシング・ビート 乱 複製都市
|
||||
JD6J = ファイヤー・ファイティング
|
||||
JD7J = 高橋名人の大冒険島
|
||||
|
@ -1577,7 +1581,7 @@ E36J01 = 月刊任天堂店頭デモ 2006年08月号
|
|||
E37J01 = 月刊任天堂店頭デモ 2006年09月号
|
||||
G2DJB2 = デジモンバトルクロニクル
|
||||
G2GJB2 = 機動戦士ガンダム ガンダムvs.Zガンダム
|
||||
G2MJ01 = メトロイドプライム 2 ダークエコーズ
|
||||
G2MJ01 = メトロイドプライム2 ダークエコーズ
|
||||
G2NJ13 = ニード・フォー・スピード アンダーグラウンド 2
|
||||
G2SJGE = 式神の城Ⅱ
|
||||
G2VJ08 = ビューティフルジョー 2 ブラックフィルムの謎
|
||||
|
@ -1629,7 +1633,7 @@ GBZJ08 = バイオハザード 0
|
|||
GC4JBN = 新世紀GPXサイバーフォーミュラ Road To The Evolution
|
||||
GC6J01 = ポケモンコロシアム
|
||||
GC8JA4 = クラッシュ・バンディクー 爆走!ニトロカート
|
||||
GCBJA4 = クラッシュ・バンディクー 4 さくれつ!魔神パワー
|
||||
GCBJA4 = クラッシュ・バンディクー4 さくれつ!魔神パワー
|
||||
GCCJ01 = FINAL FANTASY CRYSTAL CHRONICLES
|
||||
GCCJGC = FINAL FANTASY CRYSTAL CHRONICLES
|
||||
GCDJ08 = バイオハザード -コード:ベロニカ- 完全版
|
||||
|
@ -1718,7 +1722,9 @@ GKRJB2 = ケロケロキングDX
|
|||
GKTJA4 = キャプテン翼 ~黄金世代の挑戦~
|
||||
GKWJ18 = ドリームミックスTV ワールドファイターズ
|
||||
GKXJE7 = 極・麻雀DXⅡ ~The 4th MONDO21Cup~
|
||||
GKYE01 = カービィのエアライド
|
||||
GKYJ01 = カービィのエアライド
|
||||
GKYP01 = カービィのエアライド
|
||||
GL3JE8 = ルパン三世:海に消えた秘宝
|
||||
GLEJ08 = バイオハザード 3 ラストエスケープ
|
||||
GLIJA7 = SPECIAL人生ゲーム
|
||||
|
@ -1830,7 +1836,9 @@ GYBJ01 = ドンキーコング ジャングルビート
|
|||
GYFJA4 = 遊戯王 フォルスバウンドキングダム 虚構に閉ざされた王国
|
||||
GYKJB2 = 金色のガッシュベル!! 友情タッグバトル2
|
||||
GYMJA4 = 実況パワフルメジャーリーグ
|
||||
GYQE01 = スーパーマリオスタジアム ミラクルベースボール
|
||||
GYQJ01 = スーパーマリオスタジアム ミラクルベースボール
|
||||
GYQP01 = スーパーマリオスタジアム ミラクルベースボール
|
||||
GYWJ99 = 牧場物語 ワンダフルライフ
|
||||
GZ2J01 = ゼルダの伝説 トワイライトプリンセス [GC]
|
||||
GZBJB2 = ドラゴンボールZ
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: KO_unique version: 20230727194210)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: KO_unique version: 20241114210146)
|
||||
091E00 = 영화 채널 설치 디스크 Ver. A
|
||||
410E01 = Wii 백업 디스크 v1.31
|
||||
413E01 = 디스크업데이트 디스크
|
||||
|
@ -31,7 +31,6 @@ DQGP69 = 마이심즈 레이싱 체험판
|
|||
DRME18 = 룸즈: 메인 빌딩 체험판
|
||||
DSFE7U = 무라마사: 데몬 블레이드 체험판
|
||||
DSRJ8P = 소닉과 비밀의 링 체험판
|
||||
DTOJ8P = 428: 봉쇄된 시부야에서 체험판
|
||||
DTZJ08 = 보물섬 Z 발바로스의 보물 체험판
|
||||
DWEJA4 = 위닝 일레븐 플레이 메이커 2008 체험판
|
||||
DWEPA4 = 프로 에볼루션 사커 2008 체험판
|
||||
|
@ -134,12 +133,12 @@ R3JE5G = 고 플레이 써커스 스타
|
|||
R3KP6N = 고층 건물
|
||||
R3LEWR = 그린 랜턴: 반지의 선택
|
||||
R3LPWR = 그린 랜턴: 맨헌터의 위협
|
||||
R3ME01 = 메트로이드 프라임: 3부작
|
||||
R3MP01 = 메트로이드 프라임: 3부작
|
||||
R3ME01 = 메트로이드 프라임 트릴로지
|
||||
R3MP01 = 메트로이드 프라임 트릴로지
|
||||
R3NEXS = 길티기어 이그젝스 액센트 코어 플러스
|
||||
R3NPH3 = 길티기어 이그젝스 액센트 코어 플러스
|
||||
R3OE01 = 메트로이드: 다른 M
|
||||
R3OJ01 = 메트로이드: 다른 M
|
||||
R3OE01 = 메트로이드: 또 다른 M
|
||||
R3OJ01 = 메트로이드: 또 다른 M
|
||||
R3OP01 = 메트로이드: 다른 M
|
||||
R3PEWR = 스피드 레이서: 비디오게임
|
||||
R3PJ52 = 스피드 레이서
|
||||
|
@ -445,10 +444,10 @@ R92J01 = Wii로 즐기는 피크민 2
|
|||
R92P01 = 피크민 2
|
||||
R94PMR = 얼티밋 레드 볼 첼린지
|
||||
R94XMR = 얼티밋 레드 볼 첼린지
|
||||
R96EAF = 바람의 크로노아 - 판토마일의 문
|
||||
R96JAF = 바람의 크로노아 - 판토마일의 문
|
||||
R96KAF = 바람의 크로노아: 판토마일의 문
|
||||
R96PAF = 바람의 크로노아 - 판토마일의 문
|
||||
R96EAF = 바람의 크로노아 Door to Phantomile
|
||||
R96JAF = 바람의 크로노아 Door to Phantomile
|
||||
R96KAF = 바람의 크로노아 Door to Phantomile
|
||||
R96PAF = 바람의 크로노아 Door to Phantomile
|
||||
R97E9B = 패밀리 펀 풋볼
|
||||
R9AE52 = 엑티비젼 데모 액션 팩 체험판
|
||||
R9BPMT = 뚝딱뚝딱 밥아저씨: 즐거운 축제
|
||||
|
@ -500,8 +499,8 @@ RB4X08 = 레지던트 이블 4: Wii 에디션
|
|||
RB5E41 = 브라더스 인 암즈: 언드 인 블러드
|
||||
RB5P41 = 브라더스 인 암즈: 언드 인 블러드
|
||||
RB6J18 = 봄버맨
|
||||
RB7E54 = 불리: 장학금 에디션
|
||||
RB7P54 = 불리: 장학금 에디션
|
||||
RB7E54 = 불리: 스칼라쉽 에디션
|
||||
RB7P54 = 불리: 스칼라쉽 에디션
|
||||
RB8E70 = 백야드 야구 '09
|
||||
RB9D78 = 브라츠: 영화
|
||||
RB9E78 = 브라츠: 영화
|
||||
|
@ -576,7 +575,7 @@ RC3E41 = 애완동물 고양이들 2
|
|||
RC3J41 = 고양이와 마법의 모자
|
||||
RC3P41 = 고양이들
|
||||
RC3X41 = 고양이들
|
||||
RC4JD9 = 크레용 신 짱: 최강 가족 카스카베 왕 Wii
|
||||
RC4JD9 = 크레용 신 짱: 최강 가족 카스카베 킹 Wii
|
||||
RC4SGT = 짱구는 못말려: 새로운 모험 Wii
|
||||
RC5JDQ = 청소 전대 크린 키퍼
|
||||
RC7E20 = 바다 몬스터들: 선사시대 모험
|
||||
|
@ -618,7 +617,7 @@ RCLE4Q = 디즈니의 치킨 리틀: 액션 에이스
|
|||
RCLP4Q = 디즈니의 치킨 리틀: 액션 에이스
|
||||
RCOJ99 = 명탐정 코난: 추억의 환상
|
||||
RCOK99 = 명탐정 코난: 추억의 환상
|
||||
RCOKZF = 명탐정 홈즈 추억의 환상
|
||||
RCOKZF = 명탐정 코난: 추억의 환상
|
||||
RCOPNP = 명탐정 코난: 추억의 환상
|
||||
RCPE18 = 코로린파: 구슬 매니아
|
||||
RCPJ18 = 코로린파
|
||||
|
@ -1095,10 +1094,10 @@ RK2JEB = 트라우마 센터: 새로운 피
|
|||
RK2P01 = 트라우마 센터: 새로운 피
|
||||
RK3J01 = 앤드 검색
|
||||
RK4JAF = 결계사: 흑망루의 그림자
|
||||
RK5E01 = 털실 커비의 이야기
|
||||
RK5J01 = 털실 커비의 이야기
|
||||
RK5K01 = 털실 커비의 이야기
|
||||
RK5P01 = 털실 커비의 이야기
|
||||
RK5E01 = 털실 커비 이야기
|
||||
RK5J01 = 털실 커비 이야기
|
||||
RK5K01 = 털실 커비 이야기
|
||||
RK5P01 = 털실 커비 이야기
|
||||
RK6E18 = 구슬 이야기: 코로린파
|
||||
RK6J18 = 코로린파 2 - 앤써니와 황금 해바라기 씨앗
|
||||
RK6P18 = 마블! 균형 도전
|
||||
|
@ -1255,12 +1254,11 @@ RM9PGM = 버섯맨: 포자 대전
|
|||
RMAE01 = 마리오 파워 테니스
|
||||
RMAJ01 = Wii로 즐기는 마리오 테니스 GC
|
||||
RMAP01 = 마리오 파워 테니스
|
||||
RMBE01 = 마리오 슈퍼 강타자들
|
||||
RMBJ01 = 슈퍼 마리오 스타디움 패밀리 야구
|
||||
RMBE01 = 마리오 슈퍼 슬러거즈
|
||||
RMBJ01 = 슈퍼 마리오 스타디움 패밀리 베이스볼
|
||||
RMCE01 = 마리오 카트 Wii
|
||||
RMCJ01 = 마리오 카트 Wii
|
||||
RMCK01 = 마리오 카트 Wii
|
||||
RMCK50 = Wiimms 마리오 카트-텍스쳐즈 2022-12.한국
|
||||
RMCKBR = 마리오 카트 Brown
|
||||
RMCP01 = 마리오 카트 Wii
|
||||
RMDE69 = 매든 NFL 07
|
||||
|
@ -1302,7 +1300,7 @@ RMRXNK = 코코토 매직 써커스
|
|||
RMSE52 = 마벨: 얼티밋 얼라이언스 2
|
||||
RMSP52 = 마벨: 얼티밋 얼라이언스 2
|
||||
RMTJ18 = 모모타로 전철 16 홋카이도 대이동의 권!
|
||||
RMUE52 = 마벨: 얼티밋 얼라이언스
|
||||
RMUE52 = 마블: 얼티밋 얼라이언스
|
||||
RMUJ2K = 마벨: 얼티밋 얼라이언스
|
||||
RMUP52 = 마벨: 얼티밋 얼라이언스
|
||||
RMVE69 = 메달 오브 아너: 선봉
|
||||
|
@ -1671,7 +1669,7 @@ RS3P52 = 스파이더맨 3
|
|||
RS3X52 = 스파이더맨 3
|
||||
RS4EXS = 식신의 성 III
|
||||
RS4JJF = 식신의 성 III
|
||||
RS4PXS = 식신의 성 III
|
||||
RS4PH3 = 식신의 성 III
|
||||
RS5EC8 = 사무라이 전사들: 카타나
|
||||
RS5JC8 = 전국무쌍 카타나
|
||||
RS5PC8 = 사무라이 전사들: 카타나
|
||||
|
@ -1684,7 +1682,7 @@ RSAE78 = 스펀지밥 - 아틀란티스
|
|||
RSAP78 = 스펀지밥 - 아틀란티스
|
||||
RSBE01 = 대난투 스매시 브라더스 X
|
||||
RSBJ01 = 대난투 스매시 브라더스 X
|
||||
RSBK01 = 대난투 스매시 브라더스
|
||||
RSBK01 = 대난투 스매시 브라더스 X
|
||||
RSBP01 = 대난투 스매시 브라더스 X
|
||||
RSCD7D = 스카페이스: 세상은 너의 것
|
||||
RSCE7D = 스카페이스: 세상은 너의 것
|
||||
|
@ -1708,10 +1706,10 @@ RSJP41 = 파검: 기사단의 그림자 (감독판)
|
|||
RSKE52 = 슈렉 3
|
||||
RSKP52 = 슈렉 3
|
||||
RSKX52 = 슈렉 3
|
||||
RSLEAF = 소울 칼리버: 전설들
|
||||
RSLJAF = 소울 칼리버: 전설들
|
||||
RSLKAF = 소울칼리버: 전설들
|
||||
RSLPAF = 소울 칼리버: 전설들
|
||||
RSLEAF = 소울 칼리버 레전즈
|
||||
RSLJAF = 소울 칼리버 레전즈
|
||||
RSLKAF = 소울 칼리버 레전즈
|
||||
RSLPAF = 소울 칼리버 레전즈
|
||||
RSME8P = 슈퍼 몽키 볼: 바나나 블리츠
|
||||
RSMJ8P = 슈퍼 몽키 볼: 우키 우키 파티 대집합
|
||||
RSMP8P = 슈퍼 몽키 볼: 바나나 블리츠
|
||||
|
@ -1788,10 +1786,10 @@ RTDK8M = 신중화대선 ~마이클과 메이메이의 모험~
|
|||
RTEE78 = 파우스 & 클라우스 : 애완동물 수의사
|
||||
RTEHMR = 실제 이야기들: 수의사
|
||||
RTEPFR = 나의 수의사 연습
|
||||
RTFE52 = 트랜스포머즈: 게임
|
||||
RTFJ52 = 트랜스포머즈: 게임
|
||||
RTFK52 = 트랜스포머즈: 더 게임
|
||||
RTFP52 = 트랜스포머즈: 게임
|
||||
RTFE52 = 트랜스포머: 더 게임
|
||||
RTFJ52 = 트랜스포머: 더 게임
|
||||
RTFK52 = 트랜스포머: 더 게임
|
||||
RTFP52 = 트랜스포머: 더 게임
|
||||
RTFX52 = 트랜스포머즈: 게임
|
||||
RTFY52 = 트랜스포머즈: 게임
|
||||
RTGJ18 = 엄선 테이블 게임 Wii
|
||||
|
@ -1932,7 +1930,6 @@ RVEFMR = 알로, 슈티
|
|||
RVFE20 = 빅풋: 충돌 진로
|
||||
RVFP7J = 빅풋: 충돌 진로
|
||||
RVGE78 = 머브 그리핀의 십자말풀이
|
||||
RVGP78 = 마곳의 워드 브레인
|
||||
RVHP41 = 스크래블 인터렉티브: 2009 에디션
|
||||
RVIE4F = 바이오니클 히어로즈
|
||||
RVIP4F = 바이오니클 히어로즈
|
||||
|
@ -2345,8 +2342,8 @@ S6IP78 = 디즈니 공주들: 매혹적인 이야기 책들
|
|||
S6RE52 = 주먹왕 랄프
|
||||
S6RP52 = 주먹왕 랄프
|
||||
S6TJGD = 드래곤 퀘스트 X (올 인 원 팩키지)
|
||||
S72E01 = 커비의 꿈 컬렉션: 스페셜 에디션
|
||||
S72J01 = 별의 커비: 20 주년 스페셜 컬렉션
|
||||
S72E01 = 별의 커비 20주년 스페셜 컬렉션
|
||||
S72J01 = 별의 커비 20주년 스페셜 컬렉션
|
||||
S75E69 = 모노폴리 스트리츠
|
||||
S75P69 = 모노폴리 스트리츠
|
||||
S7AEWR = 레고 배트맨 2: DC 슈퍼 히어로즈
|
||||
|
@ -2479,7 +2476,7 @@ SC7S52 = 콜 오브 듀티: 블랙 옵스
|
|||
SC7Z52 = 콜 오브 듀티: 블랙 옵스
|
||||
SC8E01 = Wii 플레이: 모션
|
||||
SC8J01 = Wii 리모콘 플러스 버라이어티
|
||||
SC8K01 = Wii 리모컨플러스로 즐기는 버라이어티 게임 박스
|
||||
SC8K01 = Wii리모컨플러스로 즐기는 버라이어티 게임박스
|
||||
SC8P01 = Wii 플레이: 모션
|
||||
SC9P52 = 카벨라의 위대한 게임 사냥꾼 2010
|
||||
SCAE18 = 콜링: 검은 착신
|
||||
|
@ -2611,7 +2608,7 @@ SESEWR = 세서미 스트리트: 레디, 세트, 그로버!
|
|||
SESPWR = 세서미 스트리트: 레디, 세트, 그로버!
|
||||
SESUWR = 세서미 스트리트: 레디, 세트, 그로버!
|
||||
SEUPEY = 레트로 시티 램페이지 DX
|
||||
SEVPEY = 강탈: 하와이
|
||||
SEVPEY = 쉐이크다운: 하와이
|
||||
SEZJHF = 이나즈마 일레븐 스트라이커즈 2012 익스트림
|
||||
SF2P64 = 스타 워즈: 해방된 포스 II
|
||||
SF4E20 = 플랫아웃
|
||||
|
@ -2620,9 +2617,9 @@ SF5E41 = 핏 인 식스
|
|||
SF5J41 = 핏 인 식스: 몸을 단련하는 6 가지 요소
|
||||
SF5P41 = 나의 피트니스 코치: 클럽
|
||||
SF7E41 = 패밀리 Feud 2012 에디션
|
||||
SF8E01 = 동키 콩: 컨트리 리턴즈
|
||||
SF8J01 = 동키 콩 리턴즈
|
||||
SF8P01 = 동키 콩: 컨트리 리턴즈
|
||||
SF8E01 = 동키콩 리턴즈
|
||||
SF8J01 = 동키콩 리턴즈
|
||||
SF8P01 = 동키콩 리턴즈
|
||||
SFAE41 = 패밀리 퓨드 데케이드즈
|
||||
SFAJGD = 강철의 연금술사: 황혼의 소녀
|
||||
SFBE70 = 백야드 스포츠 풋볼: 루키 러쉬
|
||||
|
@ -2996,7 +2993,7 @@ SMUJAF = 대괴수 배틀: 울트라 콜로세움 DX - 울트라 전사 대집
|
|||
SMVE54 = 메이저 리그 야구 2K11
|
||||
SMWE4Z = 베어 그릴스의 인간과 자연의 대결
|
||||
SMYE20 = 사소한 도전 60초
|
||||
SMZE78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
||||
SMZE78 = 마블 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
||||
SMZP78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
||||
SN2E69 = 너프 N-스트라이크 더블 블래스트 번들
|
||||
SN3EYG = 맥시멈 레이싱: 랠리 레이서
|
||||
|
@ -3044,9 +3041,9 @@ SNRE52 = 나스카 언리쉬드
|
|||
SNSE52 = 나스카 2011: 게임
|
||||
SNTEXN = 넷플릭스 인스턴트 스트리밍 디스크
|
||||
SNUPJW = 해피 뉴런 아카데미
|
||||
SNVE69 = 니드 포 스피드: 도망
|
||||
SNVJ13 = 니드 포 스피드: 도망
|
||||
SNVP69 = 니드 포 스피드: 도망
|
||||
SNVE69 = 니드 포 스피드: 더 런
|
||||
SNVJ13 = 니드 포 스피드: 더 런
|
||||
SNVP69 = 니드 포 스피드: 더 런
|
||||
SNXJDA = 나루토 질풍전: 격투 닌자 대전! 스페셜
|
||||
SNYEVZ = 몬스터 하이: 13 개의 소원들
|
||||
SNYPVZ = 몬스터 하이: 13 개의 소원들
|
||||
|
@ -3345,10 +3342,10 @@ SU8PNG = 위 싱: 독일 히츠 2
|
|||
SU9E4Q = 디즈니 비행기들
|
||||
SU9P4Q = 디즈니 비행기들
|
||||
SU9X4Q = 디즈니 비행기들
|
||||
SUKE01 = 커비의 드림랜드 귀환
|
||||
SUKE01 = 별의 커비 Wii
|
||||
SUKJ01 = 별의 커비 Wii
|
||||
SUKK01 = 별의 커비 Wii
|
||||
SUKP01 = 커비의 모험 Wii
|
||||
SUKP01 = 별의 커비 Wii
|
||||
SUMJC8 = 위닝 포스트 월드 2010
|
||||
SUNEYG = 디어 드라이브 레전드즈
|
||||
SUOE41 = 힙합 댄스 익스피리언스
|
||||
|
@ -3442,7 +3439,7 @@ SX2PNG = 정글 카트즈
|
|||
SX3EXJ = 판도라의 탑
|
||||
SX3J01 = 판도라의 탑: 너의 곁으로 돌아갈 때까지
|
||||
SX3P01 = 판도라의 탑
|
||||
SX4E01 = 제노블레이드 연대기
|
||||
SX4E01 = 제노블레이드 크로니클스
|
||||
SX4J01 = 제노블레이드
|
||||
SX4P01 = 제노블레이드 연대기
|
||||
SX5E4Z = 산타 클로스가 마을로 오고 있어!
|
||||
|
@ -3724,6 +3721,7 @@ GZBEB2 = 금색의 갓슈벨: 고! 고! 마물 파이트!!
|
|||
GZLK01 = 젤다의 전설: 바람의 지휘봉
|
||||
HBWE01 = 뉴 슈퍼 마리오 브라더스 Wii: 헬보이 에디션
|
||||
HSMP01 = 하더 슈퍼 마리오 브라더스 Wii
|
||||
J5EE41 = 저스트 댄스 2025 에디션
|
||||
JF3E41 = 저스트 댄스 포커스 3
|
||||
JOUE01 = 뉴 슈퍼 마리오 브라더스 Wii 10 여행
|
||||
KHPE01 = 커비 에어 라이드 핵 팩
|
||||
|
@ -4001,6 +3999,8 @@ RMCK46 = Wiimms 마리오 카트 Wii 펀 2021-09.한국
|
|||
RMCK47 = Wiimms 마리오 카트 Wii 히스토리 2021-12.한국
|
||||
RMCK48 = Wiimms 마리오 카트 Wii 펀 2022-05.한국
|
||||
RMCK49 = Wiimms 마리오 카트-펀 2022-11.한국
|
||||
RMCK50 = Wiimms 마리오 카트-텍스쳐즈 2022-12.한국
|
||||
RMCK51 = Wiimms 마리오 카트 Wii 펀 2023-09.한국
|
||||
RMCK86 = 마리오 카트 크리스 3.5 캐럿
|
||||
RMCKYP = 요시 레이싱 리조트 플러스
|
||||
RMCP02 = Wiimms 마리오 카트 Wii 펀 2010-02.유럽
|
||||
|
@ -4051,7 +4051,6 @@ RMCP76 = 프로 CT 팩
|
|||
RMCP86 = 마리오 카트 크리스 3.500CT
|
||||
RMCP93 = 마리오 카트 Wii 핵 팩
|
||||
RMCPA1 = 마리오 카트 어드벤처
|
||||
RMCPCA = 마리오 카트 Wii (카탈루냐어 번역)
|
||||
RMCPG2 = 마리오 카트 Wii CTGP 레볼루션
|
||||
RMCPGP = 마리오 카트 CTGP 레볼루션
|
||||
RMCPL1 = Luma의 CT 팩
|
||||
|
@ -4066,6 +4065,7 @@ RNEEUD = 나루토 질풍전: 닌자 격돌 레볼루션 3 (언덥)
|
|||
ROMESD = 몬스터 헌터 G (영어 패치)
|
||||
RPJEUD = 아크 라이즈 판타지아 (언덥)
|
||||
RQQE52 = 기타 히어로 III 커스텀 : 퀸
|
||||
RS4PXS = 식신의 성 III
|
||||
RSBE02 = 슈퍼 스매시 브라더스 프로젝트 엠 레드 버전
|
||||
RSBE03 = 대난투 스매시 브라더스 X DX
|
||||
RSBE04 = 슈퍼 스매시 브라더스 프로젝트 엠+
|
||||
|
@ -4313,6 +4313,7 @@ SMNE68 = 요시의 전설 DLC
|
|||
SMNE69 = 리바이즈드 슈퍼 마리오 브라더스 Wii
|
||||
SMNE90 = 커스텀 레벨의 전설
|
||||
SMNEAM = 어드벤처 슈퍼 마리오 브라더스 Wii
|
||||
SMNED3 = 뉴어 슈퍼 마리오 브라더스 Wii
|
||||
SMNELL = 뉴어 슈퍼 루이지 Wii
|
||||
SMNELM = 뉴어 슈퍼 루이지 Wii: 검은 달
|
||||
SMNEMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험
|
||||
|
@ -4862,7 +4863,7 @@ WFCJ = 파이널 판타지 크리스탈 연대기: 작은 임금님과 약속의
|
|||
WFCP = 파이널 판타지 크리스탈 연대기: 왕으로서의 나의 인생
|
||||
WFDE = 수인 구조
|
||||
WFDP = 수인 구조
|
||||
WFEE = 페니모어 필모어
|
||||
WFEE = 페니모어 필모어
|
||||
WFFE = 펀! 펀! 미니골프
|
||||
WFFJ = 펀! 펀! 미니골프
|
||||
WFFP = 펀! 펀! 미니골프
|
||||
|
@ -5738,6 +5739,7 @@ FCWP = 슈퍼 마리오 브라더스 3
|
|||
FCWQ = 슈퍼 마리오 브라더스 3
|
||||
FCYE = 요시의 쿠키
|
||||
FCYJ = 요시의 쿠키
|
||||
FCYK = 요시의 쿠키
|
||||
FCYP = 요시의 쿠키
|
||||
FCYT = 요시의 쿠키
|
||||
FCZE = 왕의 기사
|
||||
|
@ -6258,7 +6260,6 @@ NAZJ = 마리오 파티 2
|
|||
NAZP = 마리오 파티 2
|
||||
NEEA = 젤다의 전설: 시간의 오카리나 마스터 퀘스트
|
||||
NTLC = 슈퍼 마리오 64 멀티플레이어
|
||||
NZXM = 슈퍼 마리오 64 멀티플레이어
|
||||
LAAJ = 북두의 권
|
||||
LABE = 판타지 존
|
||||
LABJ = 판타지 존
|
||||
|
@ -6543,13 +6544,13 @@ MCVP = 피트폴: 메이안 어드벤처
|
|||
MCWE = 갤럭시 포스 II
|
||||
MCWJ = 갤럭시 포스 II
|
||||
MCWP = 갤럭시 포스 II
|
||||
MCXJ = 드래곤 슬레이어: 영웅전설
|
||||
MCXJ = 드래곤 슬레이어: 영웅전설 II
|
||||
MCYE = 시노비의 복수
|
||||
MCYJ = 슈퍼 시노비
|
||||
MCYP = 시노비의 복수
|
||||
MCZE = 상하이 II: 용의 눈
|
||||
MCZP = 상하이 II: 용의 눈
|
||||
PA2J = 열혈고교 돗지볼 부: CD 축구 편
|
||||
PA2J = 요괴도 중기
|
||||
PA3J = 사라만다
|
||||
PA4J = 파라솔 스타즈
|
||||
PA6E = 블러디 울프
|
||||
|
@ -6734,7 +6735,7 @@ PDEJ = S.C.I.: 특수 범죄 수사
|
|||
PDFJ = 지옥순례
|
||||
PDGJ = 파이어 프로레슬링 3: 레전드 바우트
|
||||
PDHJ = 라스탄 사가 II
|
||||
PDIJ = 챔피언 레슬러®
|
||||
PDIJ = 챔피언 레슬러
|
||||
PDJJ = 스트리트 파이터 II': 챔피언 에디션
|
||||
PDJL = 스트리트 파이터 II': 챔피언 에디션
|
||||
PDJN = 스트리트 파이터 II: 챔피언 에디션
|
||||
|
@ -7124,6 +7125,7 @@ C9MP = 핏스톱 II
|
|||
C9PP = 마지막 닌자 3
|
||||
C9QP = 점프맨
|
||||
C9RP = 인터내셔널 카라테 +
|
||||
C9SP = 불가능한 임무 II
|
||||
C9XE = 마지막 닌자
|
||||
C9XJ = 마지막 닌자
|
||||
C9XP = 마지막 닌자
|
||||
|
@ -7165,10 +7167,10 @@ HAGP = 뉴스 채널
|
|||
HAJE = 모두의 투표 채널
|
||||
HAJJ = 모두의 투표 채널
|
||||
HAJP = 모두의 투표 채널
|
||||
HAKE = 최종 사용자 라이선스 동의
|
||||
HAKJ = 최종 사용자 라이선스 동의
|
||||
HAKK = 최종 사용자 라이선스 동의
|
||||
HAKP = 최종 사용자 라이선스 동의
|
||||
HAKE = 이용 약관
|
||||
HAKJ = 이용 약관
|
||||
HAKK = 이용 약관
|
||||
HAKP = 이용 약관
|
||||
HALE = 지역 선택
|
||||
HALJ = 지역 선택
|
||||
HALK = 지역 선택
|
||||
|
@ -7180,7 +7182,7 @@ HATE = 닌텐도 채널
|
|||
HATJ = 닌텐도 채널
|
||||
HATP = 닌텐도 채널
|
||||
HAVJ = 운세 채널
|
||||
HAVK = 운세 채널
|
||||
HAVK = 즐거운 하루 운세 채널
|
||||
HAVP = 즐거운 하루 운세 채널
|
||||
HAWE = 메트로이드 프라임 3 프리뷰
|
||||
HAWP = 메트로이드 프라임 3 프리뷰
|
||||
|
@ -7194,12 +7196,12 @@ HC4P = 크런치롤
|
|||
HCAJ = 밴드 브라더스 DX 스피커 채널
|
||||
HCAP = 밴드 라이브와 함께하는 잼
|
||||
HCBJ = 사진 채널 1.0 복구 프로그램
|
||||
HCCJ = 개인 데이터 설정
|
||||
HCCJ = 주소 설정
|
||||
HCDJ = 디지탈 카메라 프린트 채널
|
||||
HCFE = Wi 스피크 채널
|
||||
HCFJ = Wi 스피크 채널
|
||||
HCFE = Wii 스피크 채널
|
||||
HCFJ = Wii 스피크 채널
|
||||
HCFK = Wii 스피크 채널
|
||||
HCFP = Wi 스피크 채널
|
||||
HCFP = Wii 스피크 채널
|
||||
HCGE = Wii + 인터넷
|
||||
HCGJ = Wii + 인터넷
|
||||
HCGP = Wii + 인터넷
|
||||
|
@ -7210,8 +7212,6 @@ HCJP = BBC iPlayer 채널
|
|||
HCLE = 넷플릭스
|
||||
HCLP = 넷플릭스
|
||||
HCMP = 커비 TV 채널
|
||||
HCQE = 훌루 플러스
|
||||
HCQJ = 훌루
|
||||
HCRE = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||
HCRJ = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||
HCRK = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||
|
@ -7225,7 +7225,6 @@ HCTP = Wii 시스템 전송
|
|||
HCUE = Wii 메뉴 전자 매뉴얼
|
||||
HCUJ = Wii 메뉴 전자 매뉴얼
|
||||
HCUP = Wii 메뉴 전자 매뉴얼
|
||||
HCVA = Wii U 메뉴
|
||||
HCWE = 아마존 인스턴트 비디오
|
||||
HCWP = 아마존 인스턴트 비디오
|
||||
HCXE = 유튜브
|
||||
|
@ -7240,10 +7239,11 @@ RFNJ = Wii 핏 채널
|
|||
RFNK = Wii 핏 채널
|
||||
RFNP = Wii 핏 채널
|
||||
RFNW = Wii 핏 채널
|
||||
RFPE = Wii 핏 플러스 채널
|
||||
RFPJ = Wii 핏 플러스 채널
|
||||
RFPP = Wii 핏 플러스 채널
|
||||
RFPW = Wii 핏 플러스 채널
|
||||
RFPE = Wii Fit Plus 채널
|
||||
RFPJ = Wii Fit Plus 채널
|
||||
RFPK = Wii Fit Plus 채널
|
||||
RFPP = Wii Fit Plus 채널
|
||||
RFPW = Wii Fit Plus 채널
|
||||
RGWE = 레비즈 채널
|
||||
RGWJ = 레비즈 채널
|
||||
RGWP = 레비즈 채널
|
||||
|
@ -7878,10 +7878,11 @@ HWFL = 핵위플로우
|
|||
JODI = 홈브류 채널
|
||||
LULZ = 홈브류 채널
|
||||
MAUI = 백업 홈브류 채널
|
||||
NZXM = 슈퍼 마리오 64 멀티플레이어
|
||||
OHBC = 홈브류 채널
|
||||
PXWE = 프로젝트 X: 사랑의 묘약 참사
|
||||
RIIV = 리볼루션
|
||||
RMCX = 마리오 카트 Wii CTGP 레볼루션 채널
|
||||
RMCX = CTGP 레볼루션 채널
|
||||
SEGA = 제네시스 플러스 GX
|
||||
SMGX = 세이브게임 매니저 GX
|
||||
ULFW = u로더
|
||||
|
@ -8043,8 +8044,8 @@ G3RF52 = 슈렉 2
|
|||
G3RM52 = 슈렉 2
|
||||
G3RP52 = 슈렉 2
|
||||
G3SE41 = 버스트 어 무브 3000
|
||||
G3SJC0 = 슈퍼 퍼즐 보글 올 스타즈
|
||||
G3SWC0 = 슈퍼 퍼즐 보글 올 스타즈
|
||||
G3SJC0 = 슈퍼 퍼즐 보블 올스타즈
|
||||
G3SWC0 = 슈퍼 퍼즐 보블 올스타즈
|
||||
G3TJ8P = 더비 레이싱 3: 경주마를 만들자!
|
||||
G3VE69 = NBA 스트리트 볼륨 3
|
||||
G3VJ13 = NBA 스트리트 V3: 마리오 덩크
|
||||
|
@ -8105,7 +8106,7 @@ G6ME69 = 매든 NFL 06
|
|||
G6MP69 = 매든 NFL 06
|
||||
G6NE69 = NBA 라이브 06
|
||||
G6NP69 = NBA 라이브 06
|
||||
G6QE08 = 메가맨 기념 컬렉션
|
||||
G6QE08 = 메가맨 애니버서리 컬렉션
|
||||
G6SE7D = 스파이로의 전설: 새로운 시작
|
||||
G6SP7D = 스파이로의 전설: 새로운 시작
|
||||
G6TE5G = 틴 타이탄즈
|
||||
|
@ -8116,10 +8117,10 @@ G7ME69 = 매든 NFL 07
|
|||
G89EAF = 팩 맨 월드 랠리
|
||||
G8FE8P = 버추어 퀘스트
|
||||
G8FJ8P = 버추어 파이터 사이버 제너레이션
|
||||
G8ME01 = 페이퍼 마리오: 천년의 문
|
||||
G8MJ01 = 페이퍼 마리오 RPG
|
||||
G8ME01 = 페이퍼 마리오 1000년의 문
|
||||
G8MJ01 = 페이퍼 마리오 1000년의 문
|
||||
G8MK01 = 페이퍼 마리오 - 천년의 문
|
||||
G8MP01 = 페이퍼 마리오: 천년의 문
|
||||
G8MP01 = 페이퍼 마리오 1000년의 문
|
||||
G8OJ18 = 무적 코털 보보보 탈출!! 하지케 로얄
|
||||
G8SJAF = 배틀 스타디움 D.O.N
|
||||
G8WE01 = 배탤리언 워즈
|
||||
|
@ -8197,8 +8198,8 @@ GAZM69 = 해리 포터와 아즈카반의 죄수
|
|||
GAZP69 = 해리 포터와 아즈카반의 죄수
|
||||
GAZS69 = 해리 포터와 아즈카반의 죄수
|
||||
GB2J18 = 봄버맨 랜드 2 - 게임 사상 최대 규모의 테마파크
|
||||
GB4E51 = 번아웃 2: 탄착점
|
||||
GB4P51 = 번아웃 2: 탄착점
|
||||
GB4E51 = 번아웃 2: 포인트 오브 임팩트
|
||||
GB4P51 = 번아웃 2: 포인트 오브 임팩트
|
||||
GBDE5G = 블러드레인
|
||||
GBDF7D = 블러드레인
|
||||
GBDP7D = 블러드레인
|
||||
|
@ -8266,10 +8267,10 @@ GCAE5H = 큐빅스: 모두를 위한 로봇 대결
|
|||
GCBE7D = 크래쉬 밴디쿳: 마왕의 부활
|
||||
GCBJA4 = 크래쉬 밴디쿳 4: 작렬! 마신 파워
|
||||
GCBP7D = 크래쉬 밴디쿳: 마왕의 부활
|
||||
GCCE01 = 파이널 판타지 크리스탈 연대기
|
||||
GCCJ01 = 파이널 판타지 크리스탈 연대기
|
||||
GCCE01 = 파이널 판타지 크리스탈 크로니클
|
||||
GCCJ01 = 파이널 판타지 크리스탈 크로니클
|
||||
GCCJGC = 파이널 판타지 크리스탈 연대기
|
||||
GCCP01 = 파이널 판타지 크리스탈 연대기
|
||||
GCCP01 = 파이널 판타지 크리스탈 크로니클
|
||||
GCDE08 = 레지던트 이블 코드: 베로니카 X
|
||||
GCDJ08 = 바이오하자드 코드: 베로니카 완전판
|
||||
GCDP08 = 레지던트 이블 코드: 베로니카 X
|
||||
|
@ -8444,7 +8445,7 @@ GFAP69 = 피파 축구 2003
|
|||
GFAS69 = 피파 축구 2003
|
||||
GFBE5D = 파이어블레이드
|
||||
GFBP5D = 파이어블레이드
|
||||
GFCP69 = F1 경력 도전
|
||||
GFCP69 = F1 커리어 챌린지
|
||||
GFDD69 = 프리덤 파이터즈
|
||||
GFDE69 = 프리덤 파이터즈
|
||||
GFDF69 = 프리덤 파이터즈
|
||||
|
@ -8522,7 +8523,7 @@ GGZJB2 = 마다가스카: 왜 비추고 난리야
|
|||
GGZP52 = 마다가스카: 왜 비추고 난리야
|
||||
GGZS52 = 마다가스카: 왜 비추고 난리야
|
||||
GGZX52 = 마다가스카: 왜 비추고 난리야
|
||||
GH2E69 = 니드 포 스피드: 맹열한 추적 2
|
||||
GH2E69 = 니드 포 스피드: 핫 퍼슈트 2
|
||||
GH2P69 = 니드 포 스피드: 맹열한 추적 2
|
||||
GH4D69 = 해리 포터와 불의 잔
|
||||
GH4E69 = 해리 포터와 불의 잔
|
||||
|
@ -8731,9 +8732,9 @@ GKTJA4 = 캡틴 츠바사: 황금 세대의 도전
|
|||
GKUE9G = 스케일러
|
||||
GKWJ18 = 드림믹스 TV 월드 파이터즈
|
||||
GKXJE7 = 극・마작 DXII: 제 4회 몬도21 컵
|
||||
GKYE01 = 커비 에어 라이드
|
||||
GKYJ01 = 커비의 에어 라이드
|
||||
GKYP01 = 커비 에어 라이드
|
||||
GKYE01 = 커비의 에어라이드
|
||||
GKYJ01 = 커비의 에어라이드
|
||||
GKYP01 = 커비의 에어라이드
|
||||
GKZD54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||
GKZE9G = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||
GKZP54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||
|
@ -8806,8 +8807,9 @@ GM2J8P = 슈퍼 몽키 볼 2
|
|||
GM2P8P = 슈퍼 몽키 볼 2
|
||||
GM3E69 = 매든 NFL 2003
|
||||
GM3P69 = 매든 NFL 2003
|
||||
GM4E01 = 마리오 카트: 더블 대쉬!!
|
||||
GM4E01 = 마리오 카트: 더블 대시!!
|
||||
GM4J01 = 마리오 카트: 더블 대쉬!!
|
||||
GM4K01 = 마리오 카트: 더블 대시!!
|
||||
GM4P01 = 마리오 카트: 더블 대쉬!!
|
||||
GM5D7D = 메탈 암즈: 시스템 글리치
|
||||
GM5E7D = 메탈 암즈: 시스템 글리치
|
||||
|
@ -8894,6 +8896,7 @@ GNDP69 = 니드 포 스피드: 언더그라운드
|
|||
GNED78 = 니모를 찾아서
|
||||
GNEE78 = 니모를 찾아서
|
||||
GNEF78 = 니모를 찾아서
|
||||
GNEK78 = 니모를 찾아서
|
||||
GNEP78 = 니모를 찾아서
|
||||
GNES78 = 니모를 찾아서
|
||||
GNFE5D = NFL 블리츠 2002
|
||||
|
@ -8964,11 +8967,11 @@ GOSP41 = 오픈 시즌
|
|||
GOSX41 = 오픈 시즌
|
||||
GOTJB2 = TV 애니메이션: 원피스 트레저 배틀!
|
||||
GOUPNK = 코코토 놀이공원
|
||||
GOWD69 = 니드 포 스피드: 지명 수배
|
||||
GOWE69 = 니드 포 스피드: 지명 수배
|
||||
GOWF69 = 니드 포 스피드: 지명 수배
|
||||
GOWJ13 = 니드 포 스피드: 지명 수배
|
||||
GOWP69 = 니드 포 스피드: 지명 수배
|
||||
GOWD69 = 니드 포 스피드: 모스트 원티드
|
||||
GOWE69 = 니드 포 스피드: 모스트 원티드
|
||||
GOWF69 = 니드 포 스피드: 모스트 원티드
|
||||
GOWJ13 = 니드 포 스피드: 모스트 원티드
|
||||
GOWP69 = 니드 포 스피드: 모스트 원티드
|
||||
GOYD69 = 골든아이: 로그 에이전트
|
||||
GOYE69 = 골든아이: 로그 에이전트
|
||||
GOYF69 = 골든아이: 로그 에이전트
|
||||
|
@ -9136,7 +9139,7 @@ GRUF78 = 파워 레인져스 다이노 썬더
|
|||
GRUP78 = 파워 레인져스 다이노 썬더
|
||||
GRVEA4 = 레이브 마스터
|
||||
GRVJA4 = 그루브 어드벤처 레이브: 파이팅 라이브
|
||||
GRWJD9 = 슈퍼 로봇 대전 GC
|
||||
GRWJD9 = 슈퍼로봇대전 GC
|
||||
GRYE41 = 레이맨 아레나
|
||||
GRZJ13 = 메달 오브 아너: 라이징 선
|
||||
GS2D78 = 소환사: 여신 환생
|
||||
|
@ -9465,9 +9468,9 @@ GYFPA4 = 유희왕! 허구에 갇힌 왕국
|
|||
GYKEB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
||||
GYKJB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
||||
GYMJA4 = 실황 파워풀 메이저 리그
|
||||
GYQE01 = 마리오 슈퍼스타즈 야구
|
||||
GYQJ01 = 슈퍼 마리오 스테이디움 기적의 야구
|
||||
GYQP01 = 마리오 슈퍼스타즈 야구
|
||||
GYQE01 = 마리오 슈퍼스타 베이스볼
|
||||
GYQJ01 = 슈퍼 마리오 스타디움 기적의 야구
|
||||
GYQP01 = 마리오 슈퍼스타 베이스볼
|
||||
GYRE41 = 돌연변이 닌자 거북
|
||||
GYRP41 = 돌연변이 닌자 거북
|
||||
GYTE69 = 타이 더 태즈메이니언 타이거 2: 부쉬 구조대
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: NL_unique version: 20230727194218)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: NL_unique version: 20241114210155)
|
||||
R23P52 = Barbie en De Drie Musketiers
|
||||
R25PWR = LEGO Harry Potter: Jaren 1-4
|
||||
R27X54 = Dora redt het Land van Kristal
|
||||
|
@ -177,7 +177,7 @@ SHDP52 = Hoe Tem Je Een Draak
|
|||
SIAP52 = Ice Age 4: Continental Drift
|
||||
SIIP8P = Mario & Sonic op de Olympische Spelen – Londen 2012
|
||||
SJ2PWR = Scooby-Doo! En Het Spookmoeras
|
||||
SJXD41 = Just Dance 4
|
||||
SJXD41 = Just Dance 4 Speciale Editie
|
||||
SK4P52 = Shrek Voor Eeuwig En Altijd
|
||||
SLHPWR = LEGO Harry Potter: Jaren 5-7
|
||||
SM4PXT = Monster Trucks
|
||||
|
@ -199,32 +199,20 @@ SVQEVZ = Barbie En Haar Zusjes In Het Grote Puppy Avontuur
|
|||
SVQPVZ = Barbie En Haar Zusjes In Het Grote Puppy Avontuur
|
||||
SVZPVZ = Hoe Tem Je Een Draak 2
|
||||
CG1P52 = Guitar Hero III Custom : Guitar Hero I
|
||||
RMCPCA = Mario Kart Wii (Catalaanse vertaling)
|
||||
W2FP = Physiofun - Balance Training
|
||||
RZDPCA = The Legend of Zelda: Twilight Princess (Catalaanse vertaling)
|
||||
W2FP = Physiofun: Balance Training
|
||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||
W2MP = Blaster Master: Overdrive
|
||||
W2PP = Physiofun: Pelvic Floor Training
|
||||
W3GP = Phoenix Wright Ace Attorney: Trials and Tribulations
|
||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
||||
W3MP = The Three Musketeers: One for all
|
||||
W44P = Stop Stress: A Day of Fury
|
||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||
W6BP = Eco-Shooter: Plant 530
|
||||
W72P = Successfully Learning German Year 3
|
||||
W73P = Successfully Learning German Year 4
|
||||
W74P = Successfully Learning German Year 5
|
||||
W7IP = Successfully Learning German Year 2
|
||||
W8CP = Bit.Trip Core
|
||||
W8WP = Happy Holidays: Halloween
|
||||
W9BP = Big Town Shoot
|
||||
W9RP = Happy Holidays: Christmas
|
||||
WA4P = WarioWare: Do It Yourself - Showcase
|
||||
WA7P = Toribash Violence Perfected
|
||||
WA8P = Art Style: Penta Tentacles
|
||||
WAEP = Around the world
|
||||
WAFP = Airport Mania: First Flight
|
||||
WAHP = Trenches: Generals
|
||||
WALP = Art Style: light trax
|
||||
WAOP = The Very Hungry Caterpillar´s ABC
|
||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
||||
|
@ -258,8 +246,6 @@ WFYP = Family Games Pen & Paper Edition
|
|||
WGDP = Gradius Rebirth
|
||||
WGFP = Girlfriends Forever: Magic Skate
|
||||
WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||
WGPP = Zenquaria: Virtual Aquarium
|
||||
WGSP = Phoenix Wright: Ace Attorney
|
||||
WHEP = Heracles: Chariot Racing
|
||||
WHFP = Heavy Fire: Special Operations
|
||||
WHRP = Heron: Steam Machine
|
||||
|
@ -387,11 +373,7 @@ JDJP = Super Star Wars: The Empire Strikes Back
|
|||
JDLP = Super Star Wars: Return of the Jedi
|
||||
JDWP = Aero The Acrobat
|
||||
JDZP = Mystic Quest Legend
|
||||
NACP = The Legend of Zelda: Ocarina of Time
|
||||
NAMP = Kirby 64: The Crystal Shards
|
||||
NAOP = 1080°: TenEighty Snowboarding
|
||||
NARP = The Legend of Zelda: Majora's Mask
|
||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
||||
LALP = Fantasy Zone II
|
||||
LANP = Alex Kidd: The Lost Stars
|
||||
LAPP = Wonder Boy III: The Dragon's Trap
|
||||
|
@ -442,7 +424,6 @@ EAIP = Top Hunter
|
|||
EBDP = Magical Drop 3
|
||||
EBFP = Spin master
|
||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
||||
ECGP = Shock Troopers: 2nd Squad
|
||||
E54P = GHOSTS'N GOBLINS
|
||||
E55P = Commando
|
||||
|
@ -460,14 +441,18 @@ HAFP = Weerkanaal
|
|||
HAGA = Nachrichtenkanaal
|
||||
HAGP = Nieuwskanaal
|
||||
HAJP = Enquêtekanaal
|
||||
HAKP = Overeenkomst/bedrijfsinformatie
|
||||
HAPP = Mii-wedstrijdkanaal
|
||||
HATP = Nintendo-kanaal
|
||||
HAVP = Geluksdagkanaal
|
||||
HAWP = Metroid Prime 3 Preview
|
||||
HAYA = Fotokanaal
|
||||
HCAP = Jam with the Band Live
|
||||
HCFE = Wii Speak-Kanaal
|
||||
HCFP = Wii Speak-Kanaal
|
||||
HCAP = Jam with the Band Channel Live Channel
|
||||
HCCJ = Adresinstellingen
|
||||
HCFE = Wii Speak-kanaal
|
||||
HCFP = Wii Speak-kanaal
|
||||
HCGP = Wii en Internet
|
||||
HCRE = The Legend of Zelda - Skyward Sword - Save Data Update Channel
|
||||
OHBC = Homebrew-Kanaal
|
||||
G4BP08 = Resident Evil 4: Wii Edition
|
||||
G4CP54 = Sjakie en chocolade
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: PT_unique version: 20230727194225)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: PT_unique version: 20241114210204)
|
||||
R42P69 = Os SIMS 2: Naufragos
|
||||
R43P69 = EA Sports Active
|
||||
R4PP69 = Os SIMS 2: Animais de Estimação
|
||||
|
@ -39,7 +39,6 @@ SIIP8P = Mario & Sonic nos Jogos Olímpicos de Londres 2012
|
|||
GFEK01 = Fire Emblem: Path of Radiance
|
||||
GMSE02 = Super Mario Sunshine Multijogador
|
||||
PT2PSI = SingIt Portugal Hits Festa de Verão
|
||||
RMCPCA = Mario Kart Wii (tradução catalã)
|
||||
WA4E = WarioWare: D.I.Y. Showcase
|
||||
WA4P = _D.I.Y. Showcase
|
||||
WAQJ = Yakuman Wii: Ide Yousuke no Kenkou Mahjong
|
||||
|
@ -63,6 +62,18 @@ WZIP = Rubik's Puzzle Galaxy RUSH
|
|||
MC3E = Super Street Fighter II: The New Challengers
|
||||
MC3P = Super Street Fighter II: The New Challengers
|
||||
HAAA = Canal Photo
|
||||
HAFE = Canal do Tempo
|
||||
HAFP = Canal do Tempo
|
||||
HAGE = Canal de Notícias
|
||||
HAGP = Canal de Notícias
|
||||
HAJE = Canal de Opiniões
|
||||
HAJP = Canal de Opiniões
|
||||
HAPE = Canal Mii Veja
|
||||
HAPP = Canal de Concursos Mii
|
||||
HATE = Canal Nintendo
|
||||
HATP = Canal Nintendo
|
||||
HAYA = Canal de Fotos
|
||||
HCCJ = Definições do endereço
|
||||
G6TE5G = Os Jovens Titãs
|
||||
GAXE5D = Lucas: Um Intruso no Formigueiro
|
||||
GAZD69 = Harry Potter e o Prisoneiro de Azkaban
|
||||
|
|
|
@ -1,14 +1,21 @@
|
|||
TITLES = https://www.gametdb.com (type: Wii language: RU_unique version: 20230727194232)
|
||||
TITLES = https://www.gametdb.com (type: Wii language: RU_unique version: 20241114210212)
|
||||
R5IR4Q = История игрушек: Парк развлечений
|
||||
RN4P41 = Anno: Create A New World
|
||||
RWAR78 = Валл-И
|
||||
RXDR4Q = Disney Отвечай Не Зевай
|
||||
RY2R41 = Возвращение бешеных кроликов
|
||||
RYBP69 = BOOM BLOX Bash Party
|
||||
SFDPAF = 家庭训练机 梦幻主题乐园(欧)
|
||||
SJXD41 = Just Dance 4 Специальное издание
|
||||
SKSE54 = NBA 2K13(美)
|
||||
SP5E70 = 恶徒 来自地底的侵略者(美)
|
||||
STNP41 = Приключения Тинтина: Тайна Единорога
|
||||
GMSE02 = Супер Марио Саншайн Мультиплеер
|
||||
SOMR01 = Ритм небес
|
||||
HAFP = Канал новостей
|
||||
HAGP = Канал новостей
|
||||
HAJP = Канал голосований
|
||||
HAPP = Канал конкурсов Mii
|
||||
HATP = Канал Nintendo
|
||||
HAYA = Фотоканал
|
||||
HCCJ = Настройки адреса
|
||||
G3EP51 = XGIII: 익스트림 G 레이싱
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
21
Flatpak/SDL2/SDL2.json
Normal file
21
Flatpak/SDL2/SDL2.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "SDL2",
|
||||
"buildsystem": "autotools",
|
||||
"config-opts": ["--disable-static"],
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "../../Externals/SDL/SDL"
|
||||
}
|
||||
],
|
||||
"cleanup": [ "/bin/sdl2-config",
|
||||
"/include",
|
||||
"/lib/libSDL2.la",
|
||||
"/lib/libSDL2main.a",
|
||||
"/lib/libSDL2main.la",
|
||||
"/lib/libSDL2_test.a",
|
||||
"/lib/libSDL2_test.la",
|
||||
"/lib/cmake",
|
||||
"/share/aclocal",
|
||||
"/lib/pkgconfig"]
|
||||
}
|
8
Flatpak/fill_release_node.sh
Executable file
8
Flatpak/fill_release_node.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
DATE=$(git log -1 --pretty=%cd --date=iso8601 --date=format:'%Y-%m-%d')
|
||||
sed -i -e "s/@DATE_PLACEHOLDER/${DATE}/" org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||
VERSION=$(git describe --tags | sed -E 's/^([0-9]+-[0-9]+).*/\1/')
|
||||
sed -i -e "s/@VERSION_PLACEHOLDER/${VERSION}/" org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||
|
||||
|
49
Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in
Normal file
49
Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in
Normal file
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2016 Jeremy Newton -->
|
||||
<component type="desktop-application">
|
||||
<id>org.DolphinEmu.dolphin-emu</id>
|
||||
<name>Dolphin Emulator</name>
|
||||
<developer id="org.dolphin-emu">
|
||||
<name>Dolphin Emulator Project</name>
|
||||
</developer>
|
||||
<summary>GameCube / Wii</summary>
|
||||
<metadata_license>CC-BY-SA-3.0</metadata_license>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<content_rating type="oars-1.0"/>
|
||||
<!-- Descriptions taken from Dolphin Homepage -->
|
||||
<description><p>Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!</p></description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Dolphin's main window</caption>
|
||||
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_1.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>In-game</caption>
|
||||
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_2.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Graphics configuration</caption>
|
||||
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_3.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Controller configuration</caption>
|
||||
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_4.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<launchable type="desktop-id">dolphin-emu.desktop</launchable>
|
||||
<provides>
|
||||
<binary>dolphin-emu</binary>
|
||||
<id>dolphin-emu.desktop</id>
|
||||
</provides>
|
||||
<releases>
|
||||
<release version="@VERSION_PLACEHOLDER" date="@DATE_PLACEHOLDER"/>
|
||||
</releases>
|
||||
<url type="homepage">https://dolphin-emu.org</url>
|
||||
<url type="bugtracker">https://bugs.dolphin-emu.org/projects/emulator/issues</url>
|
||||
<url type="faq">https://dolphin-emu.org/docs/faq/</url>
|
||||
<url type="help">https://dolphin-emu.org/docs/guides/</url>
|
||||
<url type="translate">https://www.transifex.com/projects/p/dolphin-emu</url>
|
||||
<url type="contact">https://dolphin-emu.org/docs/faq/#ive-got-idea-make-dolphin-better-how-should-i-tell</url>
|
||||
<url type="vcs-browser">https://github.com/dolphin-emu/dolphin</url>
|
||||
<url type="contribute">https://github.com/dolphin-emu/dolphin/blob/master/Contributing.md</url>
|
||||
</component>
|
83
Flatpak/org.DolphinEmu.dolphin-emu.yml
Normal file
83
Flatpak/org.DolphinEmu.dolphin-emu.yml
Normal file
|
@ -0,0 +1,83 @@
|
|||
app-id: org.DolphinEmu.dolphin-emu
|
||||
runtime: org.kde.Platform
|
||||
runtime-version: '6.8'
|
||||
sdk: org.kde.Sdk
|
||||
command: dolphin-emu-wrapper
|
||||
rename-desktop-file: dolphin-emu.desktop
|
||||
rename-icon: dolphin-emu
|
||||
finish-args:
|
||||
- --device=all
|
||||
- --socket=pulseaudio
|
||||
# dolphin doesn't work on wayland (only the ui does), if a user were to set
|
||||
# this env variable globally to wayland then games wouldn't work.
|
||||
# we overwrite the setting and force xcb to prevent this from happening.
|
||||
- --env=QT_QPA_PLATFORM=xcb
|
||||
- --socket=x11
|
||||
- --share=network
|
||||
- --share=ipc
|
||||
# required for the emulated bluetooth adapter feature to work.
|
||||
- --allow=bluetooth
|
||||
- --filesystem=xdg-run/app/com.discordapp.Discord:create
|
||||
- --talk-name=org.freedesktop.ScreenSaver
|
||||
# required for Gamescope on Steam Deck
|
||||
- --filesystem=xdg-run/gamescope-0:ro
|
||||
modules:
|
||||
# enables motion controls on non-wii controllers (switch, ps4, etc)
|
||||
# requires a udev rule enabling Motion Sensors access
|
||||
- name: libevdev
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dtests=disabled
|
||||
- -Ddocumentation=disabled
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.3.tar.xz
|
||||
sha256: abf1aace86208eebdd5d3550ffded4c8d73bb405b796d51c389c9d0604cbcfbf
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 20540
|
||||
stable-only: true
|
||||
url-template: https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz
|
||||
|
||||
# needed for screensaver inhibition
|
||||
- name: xdg-screensaver-shim
|
||||
buildsystem: meson
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz
|
||||
sha256: 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399
|
||||
|
||||
# build the vendored SDL2 from Externals until the runtime gets 2.30.9
|
||||
- SDL2/SDL2.json
|
||||
|
||||
- name: dolphin-emu
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DCMAKE_BUILD_TYPE=Release
|
||||
- -DENABLE_ALSA=OFF
|
||||
- -DENABLE_SDL=ON
|
||||
- -DENABLE_EVDEV=ON
|
||||
- -DDISTRIBUTOR=dolphin-emu.org
|
||||
cleanup:
|
||||
- /share/man
|
||||
post-install:
|
||||
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
|
||||
- "${FLATPAK_BUILDER_BUILDDIR}/Flatpak/fill_release_node.sh"
|
||||
- install -Dm644 -t ${FLATPAK_DEST}/share/metainfo/ org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper'
|
||||
/app/share/applications/dolphin-emu.desktop
|
||||
sources:
|
||||
- type: dir
|
||||
path: ..
|
||||
- type: file
|
||||
path: org.DolphinEmu.dolphin-emu.metainfo.xml.in
|
||||
dest-filename: org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||
- type: script
|
||||
commands:
|
||||
- |
|
||||
for i in {0..9}; do
|
||||
test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
|
||||
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
|
||||
done
|
||||
dolphin-emu "$@"
|
||||
dest-filename: dolphin-emu-wrapper
|
2943
Languages/po/ar.po
2943
Languages/po/ar.po
File diff suppressed because it is too large
Load diff
3599
Languages/po/ca.po
3599
Languages/po/ca.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/cs.po
2889
Languages/po/cs.po
File diff suppressed because it is too large
Load diff
2891
Languages/po/da.po
2891
Languages/po/da.po
File diff suppressed because it is too large
Load diff
2899
Languages/po/de.po
2899
Languages/po/de.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
2889
Languages/po/el.po
2889
Languages/po/el.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/en.po
2889
Languages/po/en.po
File diff suppressed because it is too large
Load diff
2936
Languages/po/es.po
2936
Languages/po/es.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/fa.po
2889
Languages/po/fa.po
File diff suppressed because it is too large
Load diff
3177
Languages/po/fi.po
3177
Languages/po/fi.po
File diff suppressed because it is too large
Load diff
2953
Languages/po/fr.po
2953
Languages/po/fr.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/hr.po
2889
Languages/po/hr.po
File diff suppressed because it is too large
Load diff
2942
Languages/po/hu.po
2942
Languages/po/hu.po
File diff suppressed because it is too large
Load diff
2931
Languages/po/it.po
2931
Languages/po/it.po
File diff suppressed because it is too large
Load diff
2935
Languages/po/ja.po
2935
Languages/po/ja.po
File diff suppressed because it is too large
Load diff
2914
Languages/po/ko.po
2914
Languages/po/ko.po
File diff suppressed because it is too large
Load diff
2891
Languages/po/ms.po
2891
Languages/po/ms.po
File diff suppressed because it is too large
Load diff
2893
Languages/po/nb.po
2893
Languages/po/nb.po
File diff suppressed because it is too large
Load diff
3031
Languages/po/nl.po
3031
Languages/po/nl.po
File diff suppressed because it is too large
Load diff
3079
Languages/po/pl.po
3079
Languages/po/pl.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/pt.po
2889
Languages/po/pt.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
2889
Languages/po/ro.po
2889
Languages/po/ro.po
File diff suppressed because it is too large
Load diff
2942
Languages/po/ru.po
2942
Languages/po/ru.po
File diff suppressed because it is too large
Load diff
2889
Languages/po/sr.po
2889
Languages/po/sr.po
File diff suppressed because it is too large
Load diff
2933
Languages/po/sv.po
2933
Languages/po/sv.po
File diff suppressed because it is too large
Load diff
2911
Languages/po/tr.po
2911
Languages/po/tr.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -302,7 +302,7 @@ public final class NativeLibrary
|
|||
|
||||
public static native int DefaultCPUCore();
|
||||
|
||||
public static native String GetDefaultGraphicsBackendName();
|
||||
public static native String GetDefaultGraphicsBackendConfigName();
|
||||
|
||||
public static native int GetMaxLogLevel();
|
||||
|
||||
|
|
|
@ -789,7 +789,7 @@ enum class BooleanSetting(
|
|||
Settings.FILE_GFX,
|
||||
Settings.SECTION_GFX_HACKS,
|
||||
"EFBAccessEnable",
|
||||
true
|
||||
false
|
||||
),
|
||||
GFX_HACK_EFB_DEFER_INVALIDATION(
|
||||
Settings.FILE_GFX,
|
||||
|
|
|
@ -45,7 +45,7 @@ enum class StringSetting(
|
|||
Settings.FILE_DOLPHIN,
|
||||
Settings.SECTION_INI_CORE,
|
||||
"GFXBackend",
|
||||
NativeLibrary.GetDefaultGraphicsBackendName()
|
||||
NativeLibrary.GetDefaultGraphicsBackendConfigName()
|
||||
),
|
||||
MAIN_DUMP_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "DumpPath", ""),
|
||||
MAIN_LOAD_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "LoadPath", ""),
|
||||
|
|
|
@ -62,7 +62,7 @@ bool IsPathAndroidContent(std::string_view uri)
|
|||
std::string OpenModeToAndroid(std::string mode)
|
||||
{
|
||||
// The 'b' specifier is not supported by Android. Since we're on POSIX, it's fine to just skip it.
|
||||
mode.erase(std::remove(mode.begin(), mode.end(), 'b'));
|
||||
std::erase(mode, 'b');
|
||||
|
||||
if (mode == "r")
|
||||
return "r";
|
||||
|
|
|
@ -101,6 +101,10 @@ void Host_PPCSymbolsChanged()
|
|||
{
|
||||
}
|
||||
|
||||
void Host_PPCBreakpointsChanged()
|
||||
{
|
||||
}
|
||||
|
||||
void Host_RefreshDSPDebuggerWindow()
|
||||
{
|
||||
}
|
||||
|
@ -146,7 +150,7 @@ void Host_UpdateDisasmDialog()
|
|||
{
|
||||
}
|
||||
|
||||
void Host_JitCacheCleared()
|
||||
void Host_JitCacheInvalidation()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -408,9 +412,10 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_DefaultCPUCo
|
|||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_GetDefaultGraphicsBackendName(JNIEnv* env, jclass)
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_GetDefaultGraphicsBackendConfigName(JNIEnv* env,
|
||||
jclass)
|
||||
{
|
||||
return ToJString(env, VideoBackendBase::GetDefaultBackendName());
|
||||
return ToJString(env, VideoBackendBase::GetDefaultBackendConfigName());
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetMaxLogLevel(JNIEnv*, jclass)
|
||||
|
|
|
@ -47,7 +47,7 @@ private:
|
|||
std::array<uint32_t, 36 + sizeof...(ExtraMatches)> _conns;
|
||||
std::optional<V> _val;
|
||||
|
||||
TrieEntry() { std::fill(_conns.begin(), _conns.end(), INVALID_CONN); }
|
||||
TrieEntry() { _conns.fill(INVALID_CONN); }
|
||||
};
|
||||
|
||||
constexpr size_t IndexOf(char c) const
|
||||
|
|
|
@ -98,7 +98,8 @@ std::vector<std::string> DoFileSearch(const std::vector<std::string>& directorie
|
|||
// not because std::filesystem returns duplicates). Also note that this pathname-based uniqueness
|
||||
// isn't as thorough as std::filesystem::equivalent.
|
||||
std::ranges::sort(result);
|
||||
result.erase(std::unique(result.begin(), result.end()), result.end());
|
||||
const auto unique_result = std::ranges::unique(result);
|
||||
result.erase(unique_result.begin(), unique_result.end());
|
||||
|
||||
// Dolphin expects to be able to use "/" (DIR_SEP) everywhere.
|
||||
// std::filesystem uses the OS separator.
|
||||
|
|
|
@ -17,72 +17,72 @@
|
|||
|
||||
namespace Common
|
||||
{
|
||||
SettingsHandler::SettingsHandler() : m_buffer{}, m_position{0}, m_key{INITIAL_SEED}, decoded{""}
|
||||
namespace
|
||||
{
|
||||
// Key used to encrypt/decrypt setting.txt contents
|
||||
constexpr u32 INITIAL_SEED = 0x73B5DBFA;
|
||||
} // namespace
|
||||
|
||||
SettingsWriter::SettingsWriter() : m_buffer{}, m_position{0}, m_key{INITIAL_SEED}
|
||||
{
|
||||
}
|
||||
|
||||
SettingsHandler::SettingsHandler(const Buffer& buffer) : SettingsHandler()
|
||||
{
|
||||
m_buffer = buffer;
|
||||
Decrypt();
|
||||
}
|
||||
|
||||
const SettingsHandler::Buffer& SettingsHandler::GetBytes() const
|
||||
const SettingsBuffer& SettingsWriter::GetBytes() const
|
||||
{
|
||||
return m_buffer;
|
||||
}
|
||||
|
||||
std::string SettingsHandler::GetValue(std::string_view key) const
|
||||
std::string SettingsReader::GetValue(std::string_view key) const
|
||||
{
|
||||
constexpr char delim[] = "\n";
|
||||
std::string toFind = std::string(delim).append(key).append("=");
|
||||
size_t found = decoded.find(toFind);
|
||||
size_t found = m_decoded.find(toFind);
|
||||
|
||||
if (found != std::string_view::npos)
|
||||
{
|
||||
size_t delimFound = decoded.find(delim, found + toFind.length());
|
||||
size_t delimFound = m_decoded.find(delim, found + toFind.length());
|
||||
if (delimFound == std::string_view::npos)
|
||||
delimFound = decoded.length() - 1;
|
||||
return decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||
delimFound = m_decoded.length() - 1;
|
||||
return m_decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||
}
|
||||
else
|
||||
{
|
||||
toFind = std::string(key).append("=");
|
||||
found = decoded.find(toFind);
|
||||
found = m_decoded.find(toFind);
|
||||
if (found == 0)
|
||||
{
|
||||
size_t delimFound = decoded.find(delim, found + toFind.length());
|
||||
size_t delimFound = m_decoded.find(delim, found + toFind.length());
|
||||
if (delimFound == std::string_view::npos)
|
||||
delimFound = decoded.length() - 1;
|
||||
return decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||
delimFound = m_decoded.length() - 1;
|
||||
return m_decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
void SettingsHandler::Decrypt()
|
||||
SettingsReader::SettingsReader(const SettingsBuffer& buffer) : m_decoded{""}
|
||||
{
|
||||
while (m_position < m_buffer.size())
|
||||
u32 key = INITIAL_SEED;
|
||||
for (u32 position = 0; position < buffer.size(); ++position)
|
||||
{
|
||||
decoded.push_back((u8)(m_buffer[m_position] ^ m_key));
|
||||
m_position++;
|
||||
m_key = (m_key >> 31) | (m_key << 1);
|
||||
m_decoded.push_back((u8)(buffer[position] ^ key));
|
||||
key = (key >> 31) | (key << 1);
|
||||
}
|
||||
|
||||
// The decoded data normally uses CRLF line endings, but occasionally
|
||||
// (see the comment in WriteLine), lines can be separated by CRLFLF.
|
||||
// To handle this, we remove every CR and treat LF as the line ending.
|
||||
// (We ignore empty lines.)
|
||||
std::erase(decoded, '\x0d');
|
||||
std::erase(m_decoded, '\x0d');
|
||||
}
|
||||
|
||||
void SettingsHandler::AddSetting(std::string_view key, std::string_view value)
|
||||
void SettingsWriter::AddSetting(std::string_view key, std::string_view value)
|
||||
{
|
||||
WriteLine(fmt::format("{}={}\r\n", key, value));
|
||||
}
|
||||
|
||||
void SettingsHandler::WriteLine(std::string_view str)
|
||||
void SettingsWriter::WriteLine(std::string_view str)
|
||||
{
|
||||
const u32 old_position = m_position;
|
||||
const u32 old_key = m_key;
|
||||
|
@ -106,7 +106,7 @@ void SettingsHandler::WriteLine(std::string_view str)
|
|||
}
|
||||
}
|
||||
|
||||
void SettingsHandler::WriteByte(u8 b)
|
||||
void SettingsWriter::WriteByte(u8 b)
|
||||
{
|
||||
if (m_position >= m_buffer.size())
|
||||
return;
|
||||
|
@ -116,7 +116,7 @@ void SettingsHandler::WriteByte(u8 b)
|
|||
m_key = (m_key >> 31) | (m_key << 1);
|
||||
}
|
||||
|
||||
std::string SettingsHandler::GenerateSerialNumber()
|
||||
std::string SettingsWriter::GenerateSerialNumber()
|
||||
{
|
||||
const std::time_t t = std::time(nullptr);
|
||||
|
||||
|
|
|
@ -13,34 +13,35 @@
|
|||
|
||||
namespace Common
|
||||
{
|
||||
class SettingsHandler
|
||||
using SettingsBuffer = std::array<u8, 0x100>;
|
||||
|
||||
class SettingsWriter
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
SETTINGS_SIZE = 0x100,
|
||||
// Key used to encrypt/decrypt setting.txt contents
|
||||
INITIAL_SEED = 0x73B5DBFA
|
||||
};
|
||||
|
||||
using Buffer = std::array<u8, SETTINGS_SIZE>;
|
||||
SettingsHandler();
|
||||
explicit SettingsHandler(const Buffer& buffer);
|
||||
SettingsWriter();
|
||||
|
||||
void AddSetting(std::string_view key, std::string_view value);
|
||||
|
||||
const Buffer& GetBytes() const;
|
||||
std::string GetValue(std::string_view key) const;
|
||||
const SettingsBuffer& GetBytes() const;
|
||||
|
||||
static std::string GenerateSerialNumber();
|
||||
|
||||
private:
|
||||
void Decrypt();
|
||||
void WriteLine(std::string_view str);
|
||||
void WriteByte(u8 b);
|
||||
|
||||
std::array<u8, SETTINGS_SIZE> m_buffer;
|
||||
SettingsBuffer m_buffer;
|
||||
u32 m_position, m_key;
|
||||
std::string decoded;
|
||||
};
|
||||
|
||||
class SettingsReader
|
||||
{
|
||||
public:
|
||||
explicit SettingsReader(const SettingsBuffer& buffer);
|
||||
|
||||
std::string GetValue(std::string_view key) const;
|
||||
|
||||
private:
|
||||
std::string m_decoded;
|
||||
};
|
||||
} // namespace Common
|
||||
|
|
|
@ -44,6 +44,7 @@ struct Symbol
|
|||
|
||||
std::string name;
|
||||
std::string function_name; // stripped function name
|
||||
std::string object_name; // name of object/source file symbol belongs to
|
||||
std::vector<SCall> callers; // addresses of functions that call this function
|
||||
std::vector<SCall> calls; // addresses of functions that are called by this function
|
||||
u32 hash = 0; // use for HLE function finding
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "Common/Assert.h"
|
||||
#include "Common/BitUtils.h"
|
||||
#include "Common/CommonPaths.h"
|
||||
#include "Common/Config/Config.h"
|
||||
#include "Common/FileUtil.h"
|
||||
#include "Common/IOFile.h"
|
||||
#include "Common/Image.h"
|
||||
|
@ -23,8 +24,12 @@
|
|||
#include "Common/ScopeGuard.h"
|
||||
#include "Common/Version.h"
|
||||
#include "Common/WorkQueueThread.h"
|
||||
#include "Core/ActionReplay.h"
|
||||
#include "Core/Config/AchievementSettings.h"
|
||||
#include "Core/Config/FreeLookSettings.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/Core.h"
|
||||
#include "Core/GeckoCode.h"
|
||||
#include "Core/HW/Memmap.h"
|
||||
#include "Core/HW/VideoInterface.h"
|
||||
#include "Core/PatchEngine.h"
|
||||
|
@ -62,7 +67,8 @@ void AchievementManager::Init()
|
|||
[](const char* message, const rc_client_t* client) {
|
||||
INFO_LOG_FMT(ACHIEVEMENTS, "{}", message);
|
||||
});
|
||||
rc_client_set_hardcore_enabled(m_client, Config::Get(Config::RA_HARDCORE_ENABLED));
|
||||
Config::AddConfigChangedCallback([this] { SetHardcoreMode(); });
|
||||
SetHardcoreMode();
|
||||
m_queue.Reset("AchievementManagerQueue", [](const std::function<void()>& func) { func(); });
|
||||
m_image_queue.Reset("AchievementManagerImageQueue",
|
||||
[](const std::function<void()>& func) { func(); });
|
||||
|
@ -361,6 +367,12 @@ std::recursive_mutex& AchievementManager::GetLock()
|
|||
void AchievementManager::SetHardcoreMode()
|
||||
{
|
||||
rc_client_set_hardcore_enabled(m_client, Config::Get(Config::RA_HARDCORE_ENABLED));
|
||||
if (Config::Get(Config::RA_HARDCORE_ENABLED))
|
||||
{
|
||||
if (Config::Get(Config::MAIN_EMULATION_SPEED) < 1.0f)
|
||||
Config::SetBaseOrCurrent(Config::MAIN_EMULATION_SPEED, 1.0f);
|
||||
Config::SetBaseOrCurrent(Config::FREE_LOOK_ENABLED, false);
|
||||
}
|
||||
}
|
||||
|
||||
bool AchievementManager::IsHardcoreModeActive() const
|
||||
|
@ -373,10 +385,11 @@ bool AchievementManager::IsHardcoreModeActive() const
|
|||
return rc_client_is_processing_required(m_client);
|
||||
}
|
||||
|
||||
void AchievementManager::FilterApprovedPatches(std::vector<PatchEngine::Patch>& patches,
|
||||
const std::string& game_ini_id) const
|
||||
template <typename T>
|
||||
void AchievementManager::FilterApprovedIni(std::vector<T>& codes,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
if (patches.empty())
|
||||
if (codes.empty())
|
||||
{
|
||||
// There's nothing to verify, so let's save ourselves some work
|
||||
return;
|
||||
|
@ -387,46 +400,120 @@ void AchievementManager::FilterApprovedPatches(std::vector<PatchEngine::Patch>&
|
|||
if (!IsHardcoreModeActive())
|
||||
return;
|
||||
|
||||
// Approved codes list failed to hash
|
||||
if (!m_ini_root->is<picojson::value::object>())
|
||||
{
|
||||
codes.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto& code : codes)
|
||||
{
|
||||
if (code.enabled && !CheckApprovedCode(code, game_ini_id))
|
||||
code.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
bool AchievementManager::CheckApprovedCode(const T& code, const std::string& game_ini_id) const
|
||||
{
|
||||
if (!IsHardcoreModeActive())
|
||||
return true;
|
||||
|
||||
// Approved codes list failed to hash
|
||||
if (!m_ini_root->is<picojson::value::object>())
|
||||
return false;
|
||||
|
||||
const bool known_id = m_ini_root->contains(game_ini_id);
|
||||
|
||||
auto patch_itr = patches.begin();
|
||||
while (patch_itr != patches.end())
|
||||
INFO_LOG_FMT(ACHIEVEMENTS, "Verifying code {}", code.name);
|
||||
|
||||
bool verified = false;
|
||||
|
||||
if (known_id)
|
||||
{
|
||||
INFO_LOG_FMT(ACHIEVEMENTS, "Verifying patch {}", patch_itr->name);
|
||||
auto digest = GetCodeHash(code);
|
||||
|
||||
bool verified = false;
|
||||
|
||||
if (known_id)
|
||||
{
|
||||
auto context = Common::SHA1::CreateContext();
|
||||
context->Update(Common::BitCastToArray<u8>(static_cast<u64>(patch_itr->entries.size())));
|
||||
for (const auto& entry : patch_itr->entries)
|
||||
{
|
||||
context->Update(Common::BitCastToArray<u8>(entry.type));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.address));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.value));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.comparand));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.conditional));
|
||||
}
|
||||
auto digest = context->Finish();
|
||||
|
||||
verified = m_ini_root->get(game_ini_id).contains(Common::SHA1::DigestToString(digest));
|
||||
}
|
||||
|
||||
if (!verified)
|
||||
{
|
||||
patch_itr = patches.erase(patch_itr);
|
||||
OSD::AddMessage(
|
||||
fmt::format("Failed to verify patch {} from file {}.", patch_itr->name, game_ini_id),
|
||||
OSD::Duration::VERY_LONG, OSD::Color::RED);
|
||||
OSD::AddMessage("Disable hardcore mode to enable this patch.", OSD::Duration::VERY_LONG,
|
||||
OSD::Color::RED);
|
||||
}
|
||||
else
|
||||
{
|
||||
patch_itr++;
|
||||
}
|
||||
verified = m_ini_root->get(game_ini_id).contains(Common::SHA1::DigestToString(digest));
|
||||
}
|
||||
|
||||
if (!verified)
|
||||
{
|
||||
OSD::AddMessage(fmt::format("Failed to verify code {} from file {}.", code.name, game_ini_id),
|
||||
OSD::Duration::VERY_LONG, OSD::Color::RED);
|
||||
OSD::AddMessage("Disable hardcore mode to enable this code.", OSD::Duration::VERY_LONG,
|
||||
OSD::Color::RED);
|
||||
}
|
||||
return verified;
|
||||
}
|
||||
|
||||
Common::SHA1::Digest AchievementManager::GetCodeHash(const PatchEngine::Patch& patch) const
|
||||
{
|
||||
auto context = Common::SHA1::CreateContext();
|
||||
context->Update(Common::BitCastToArray<u8>(static_cast<u64>(patch.entries.size())));
|
||||
for (const auto& entry : patch.entries)
|
||||
{
|
||||
context->Update(Common::BitCastToArray<u8>(entry.type));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.address));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.value));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.comparand));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.conditional));
|
||||
}
|
||||
return context->Finish();
|
||||
}
|
||||
|
||||
Common::SHA1::Digest AchievementManager::GetCodeHash(const Gecko::GeckoCode& code) const
|
||||
{
|
||||
auto context = Common::SHA1::CreateContext();
|
||||
context->Update(Common::BitCastToArray<u8>(static_cast<u64>(code.codes.size())));
|
||||
for (const auto& entry : code.codes)
|
||||
{
|
||||
context->Update(Common::BitCastToArray<u8>(entry.address));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.data));
|
||||
}
|
||||
return context->Finish();
|
||||
}
|
||||
|
||||
Common::SHA1::Digest AchievementManager::GetCodeHash(const ActionReplay::ARCode& code) const
|
||||
{
|
||||
auto context = Common::SHA1::CreateContext();
|
||||
context->Update(Common::BitCastToArray<u8>(static_cast<u64>(code.ops.size())));
|
||||
for (const auto& entry : code.ops)
|
||||
{
|
||||
context->Update(Common::BitCastToArray<u8>(entry.cmd_addr));
|
||||
context->Update(Common::BitCastToArray<u8>(entry.value));
|
||||
}
|
||||
return context->Finish();
|
||||
}
|
||||
|
||||
void AchievementManager::FilterApprovedPatches(std::vector<PatchEngine::Patch>& patches,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
FilterApprovedIni(patches, game_ini_id);
|
||||
}
|
||||
|
||||
void AchievementManager::FilterApprovedGeckoCodes(std::vector<Gecko::GeckoCode>& codes,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
FilterApprovedIni(codes, game_ini_id);
|
||||
}
|
||||
|
||||
void AchievementManager::FilterApprovedARCodes(std::vector<ActionReplay::ARCode>& codes,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
FilterApprovedIni(codes, game_ini_id);
|
||||
}
|
||||
|
||||
bool AchievementManager::CheckApprovedGeckoCode(const Gecko::GeckoCode& code,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
return CheckApprovedCode(code, game_ini_id);
|
||||
}
|
||||
|
||||
bool AchievementManager::CheckApprovedARCode(const ActionReplay::ARCode& code,
|
||||
const std::string& game_ini_id) const
|
||||
{
|
||||
return CheckApprovedCode(code, game_ini_id);
|
||||
}
|
||||
|
||||
void AchievementManager::SetSpectatorMode()
|
||||
|
|
|
@ -45,6 +45,16 @@ namespace PatchEngine
|
|||
struct Patch;
|
||||
} // namespace PatchEngine
|
||||
|
||||
namespace Gecko
|
||||
{
|
||||
class GeckoCode;
|
||||
} // namespace Gecko
|
||||
|
||||
namespace ActionReplay
|
||||
{
|
||||
struct ARCode;
|
||||
} // namespace ActionReplay
|
||||
|
||||
class AchievementManager
|
||||
{
|
||||
public:
|
||||
|
@ -70,8 +80,8 @@ public:
|
|||
static constexpr std::string_view BLUE = "#0B71C1";
|
||||
static constexpr std::string_view APPROVED_LIST_FILENAME = "ApprovedInis.json";
|
||||
static const inline Common::SHA1::Digest APPROVED_LIST_HASH = {
|
||||
0x50, 0x2F, 0x58, 0x02, 0x94, 0x60, 0x1B, 0x9F, 0x92, 0xC7,
|
||||
0x04, 0x17, 0x50, 0x2E, 0xF3, 0x09, 0x8C, 0x8C, 0xD6, 0xC0};
|
||||
0xA4, 0x98, 0x59, 0x23, 0x10, 0x56, 0x45, 0x30, 0xA9, 0xC5,
|
||||
0x68, 0x5A, 0xB6, 0x47, 0x67, 0xF8, 0xF0, 0x7D, 0x1D, 0x14};
|
||||
|
||||
struct LeaderboardEntry
|
||||
{
|
||||
|
@ -122,11 +132,18 @@ public:
|
|||
void DoIdle();
|
||||
|
||||
std::recursive_mutex& GetLock();
|
||||
void SetHardcoreMode();
|
||||
bool IsHardcoreModeActive() const;
|
||||
void SetGameIniId(const std::string& game_ini_id) { m_game_ini_id = game_ini_id; }
|
||||
|
||||
void FilterApprovedPatches(std::vector<PatchEngine::Patch>& patches,
|
||||
const std::string& game_ini_id) const;
|
||||
void FilterApprovedGeckoCodes(std::vector<Gecko::GeckoCode>& codes,
|
||||
const std::string& game_ini_id) const;
|
||||
void FilterApprovedARCodes(std::vector<ActionReplay::ARCode>& codes,
|
||||
const std::string& game_ini_id) const;
|
||||
bool CheckApprovedGeckoCode(const Gecko::GeckoCode& code, const std::string& game_ini_id) const;
|
||||
bool CheckApprovedARCode(const ActionReplay::ARCode& code, const std::string& game_ini_id) const;
|
||||
|
||||
void SetSpectatorMode();
|
||||
std::string_view GetPlayerDisplayName() const;
|
||||
u32 GetPlayerScore() const;
|
||||
|
@ -181,6 +198,16 @@ private:
|
|||
void* userdata);
|
||||
void DisplayWelcomeMessage();
|
||||
|
||||
void SetHardcoreMode();
|
||||
|
||||
template <typename T>
|
||||
void FilterApprovedIni(std::vector<T>& codes, const std::string& game_ini_id) const;
|
||||
template <typename T>
|
||||
bool CheckApprovedCode(const T& code, const std::string& game_ini_id) const;
|
||||
Common::SHA1::Digest GetCodeHash(const PatchEngine::Patch& patch) const;
|
||||
Common::SHA1::Digest GetCodeHash(const Gecko::GeckoCode& code) const;
|
||||
Common::SHA1::Digest GetCodeHash(const ActionReplay::ARCode& code) const;
|
||||
|
||||
static void LeaderboardEntriesCallback(int result, const char* error_message,
|
||||
rc_client_leaderboard_entry_list_t* list,
|
||||
rc_client_t* client, void* userdata);
|
||||
|
@ -249,11 +276,21 @@ private:
|
|||
|
||||
#include <string>
|
||||
|
||||
namespace ActionReplay
|
||||
{
|
||||
struct ARCode;
|
||||
}
|
||||
|
||||
namespace DiscIO
|
||||
{
|
||||
class Volume;
|
||||
}
|
||||
|
||||
namespace Gecko
|
||||
{
|
||||
class GeckoCode;
|
||||
}
|
||||
|
||||
class AchievementManager
|
||||
{
|
||||
public:
|
||||
|
@ -265,6 +302,18 @@ public:
|
|||
|
||||
constexpr bool IsHardcoreModeActive() { return false; }
|
||||
|
||||
constexpr bool CheckApprovedGeckoCode(const Gecko::GeckoCode& code,
|
||||
const std::string& game_ini_id)
|
||||
{
|
||||
return true;
|
||||
};
|
||||
|
||||
constexpr bool CheckApprovedARCode(const ActionReplay::ARCode& code,
|
||||
const std::string& game_ini_id)
|
||||
{
|
||||
return true;
|
||||
};
|
||||
|
||||
constexpr void LoadGame(const std::string&, const DiscIO::Volume*) {}
|
||||
|
||||
constexpr void SetBackgroundExecutionAllowed(bool allowed) {}
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#include "Common/MsgHandler.h"
|
||||
|
||||
#include "Core/ARDecrypt.h"
|
||||
#include "Core/AchievementManager.h"
|
||||
#include "Core/CheatCodes.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/PowerPC/MMU.h"
|
||||
|
@ -112,7 +113,7 @@ struct ARAddr
|
|||
|
||||
// ----------------------
|
||||
// AR Remote Functions
|
||||
void ApplyCodes(std::span<const ARCode> codes)
|
||||
void ApplyCodes(std::span<const ARCode> codes, const std::string& game_id)
|
||||
{
|
||||
if (!Config::AreCheatsEnabled())
|
||||
return;
|
||||
|
@ -121,7 +122,10 @@ void ApplyCodes(std::span<const ARCode> codes)
|
|||
s_disable_logging = false;
|
||||
s_active_codes.clear();
|
||||
std::copy_if(codes.begin(), codes.end(), std::back_inserter(s_active_codes),
|
||||
[](const ARCode& code) { return code.enabled; });
|
||||
[&game_id](const ARCode& code) {
|
||||
return code.enabled &&
|
||||
AchievementManager::GetInstance().CheckApprovedARCode(code, game_id);
|
||||
});
|
||||
s_active_codes.shrink_to_fit();
|
||||
}
|
||||
|
||||
|
@ -169,9 +173,10 @@ void AddCode(ARCode code)
|
|||
}
|
||||
}
|
||||
|
||||
void LoadAndApplyCodes(const Common::IniFile& global_ini, const Common::IniFile& local_ini)
|
||||
void LoadAndApplyCodes(const Common::IniFile& global_ini, const Common::IniFile& local_ini,
|
||||
const std::string& game_id)
|
||||
{
|
||||
ApplyCodes(LoadCodes(global_ini, local_ini));
|
||||
ApplyCodes(LoadCodes(global_ini, local_ini), game_id);
|
||||
}
|
||||
|
||||
// Parses the Action Replay section of a game ini file.
|
||||
|
|
|
@ -45,12 +45,13 @@ struct ARCode
|
|||
|
||||
void RunAllActive(const Core::CPUThreadGuard& cpu_guard);
|
||||
|
||||
void ApplyCodes(std::span<const ARCode> codes);
|
||||
void ApplyCodes(std::span<const ARCode> codes, const std::string& game_id);
|
||||
void SetSyncedCodesAsActive();
|
||||
void UpdateSyncedCodes(std::span<const ARCode> codes);
|
||||
std::vector<ARCode> ApplyAndReturnCodes(std::span<const ARCode> codes);
|
||||
void AddCode(ARCode new_code);
|
||||
void LoadAndApplyCodes(const Common::IniFile& global_ini, const Common::IniFile& local_ini);
|
||||
void LoadAndApplyCodes(const Common::IniFile& global_ini, const Common::IniFile& local_ini,
|
||||
const std::string& game_id);
|
||||
|
||||
std::vector<ARCode> LoadCodes(const Common::IniFile& global_ini, const Common::IniFile& local_ini);
|
||||
void SaveCodes(Common::IniFile* local_ini, std::span<const ARCode> codes);
|
||||
|
|
|
@ -605,7 +605,9 @@ bool CBoot::BootUp(Core::System& system, const Core::CPUThreadGuard& guard,
|
|||
|
||||
ppc_state.pc = executable.reader->GetEntryPoint();
|
||||
|
||||
if (executable.reader->LoadSymbols(guard, system.GetPPCSymbolDB()))
|
||||
const std::string filename = PathToFileName(executable.path);
|
||||
|
||||
if (executable.reader->LoadSymbols(guard, system.GetPPCSymbolDB(), filename))
|
||||
{
|
||||
Host_PPCSymbolsChanged();
|
||||
HLE::PatchFunctions(system);
|
||||
|
|
|
@ -215,7 +215,8 @@ public:
|
|||
virtual bool IsValid() const = 0;
|
||||
virtual bool IsWii() const = 0;
|
||||
virtual bool LoadIntoMemory(Core::System& system, bool only_in_mem1 = false) const = 0;
|
||||
virtual bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db) const = 0;
|
||||
virtual bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db,
|
||||
const std::string& filename) const = 0;
|
||||
|
||||
protected:
|
||||
std::vector<u8> m_bytes;
|
||||
|
|
|
@ -371,12 +371,12 @@ bool CBoot::SetupWiiMemory(Core::System& system, IOS::HLE::IOSC::ConsoleType con
|
|||
|
||||
const auto fs = system.GetIOS()->GetFS();
|
||||
{
|
||||
Common::SettingsHandler::Buffer data;
|
||||
Common::SettingsBuffer data;
|
||||
const auto file = fs->OpenFile(IOS::SYSMENU_UID, IOS::SYSMENU_GID, settings_file_path,
|
||||
IOS::HLE::FS::Mode::Read);
|
||||
if (file && file->Read(data.data(), data.size()))
|
||||
{
|
||||
Common::SettingsHandler settings_reader(data);
|
||||
const Common::SettingsReader settings_reader(data);
|
||||
serno = settings_reader.GetValue("SERNO");
|
||||
model = settings_reader.GetValue("MODEL");
|
||||
|
||||
|
@ -413,7 +413,7 @@ bool CBoot::SetupWiiMemory(Core::System& system, IOS::HLE::IOSC::ConsoleType con
|
|||
if (Core::WantsDeterminism())
|
||||
serno = "123456789";
|
||||
else
|
||||
serno = Common::SettingsHandler::GenerateSerialNumber();
|
||||
serno = Common::SettingsWriter::GenerateSerialNumber();
|
||||
INFO_LOG_FMT(BOOT, "No previous serial number found, generated one instead: {}", serno);
|
||||
}
|
||||
else
|
||||
|
@ -421,20 +421,21 @@ bool CBoot::SetupWiiMemory(Core::System& system, IOS::HLE::IOSC::ConsoleType con
|
|||
INFO_LOG_FMT(BOOT, "Using serial number: {}", serno);
|
||||
}
|
||||
|
||||
Common::SettingsHandler gen;
|
||||
gen.AddSetting("AREA", region_setting.area);
|
||||
gen.AddSetting("MODEL", model);
|
||||
gen.AddSetting("DVD", "0");
|
||||
gen.AddSetting("MPCH", "0x7FFE");
|
||||
gen.AddSetting("CODE", region_setting.code);
|
||||
gen.AddSetting("SERNO", serno);
|
||||
gen.AddSetting("VIDEO", region_setting.video);
|
||||
gen.AddSetting("GAME", region_setting.game);
|
||||
Common::SettingsWriter settings_writer;
|
||||
settings_writer.AddSetting("AREA", region_setting.area);
|
||||
settings_writer.AddSetting("MODEL", model);
|
||||
settings_writer.AddSetting("DVD", "0");
|
||||
settings_writer.AddSetting("MPCH", "0x7FFE");
|
||||
settings_writer.AddSetting("CODE", region_setting.code);
|
||||
settings_writer.AddSetting("SERNO", serno);
|
||||
settings_writer.AddSetting("VIDEO", region_setting.video);
|
||||
settings_writer.AddSetting("GAME", region_setting.game);
|
||||
|
||||
constexpr IOS::HLE::FS::Mode rw_mode = IOS::HLE::FS::Mode::ReadWrite;
|
||||
const auto settings_file = fs->CreateAndOpenFile(IOS::SYSMENU_UID, IOS::SYSMENU_GID,
|
||||
settings_file_path, {rw_mode, rw_mode, rw_mode});
|
||||
if (!settings_file || !settings_file->Write(gen.GetBytes().data(), gen.GetBytes().size()))
|
||||
if (!settings_file ||
|
||||
!settings_file->Write(settings_writer.GetBytes().data(), settings_writer.GetBytes().size()))
|
||||
{
|
||||
PanicAlertFmtT("SetupWiiMemory: Can't create setting.txt file");
|
||||
return false;
|
||||
|
@ -443,7 +444,7 @@ bool CBoot::SetupWiiMemory(Core::System& system, IOS::HLE::IOSC::ConsoleType con
|
|||
auto& memory = system.GetMemory();
|
||||
|
||||
// Write the 256 byte setting.txt to memory.
|
||||
memory.CopyToEmu(0x3800, gen.GetBytes().data(), gen.GetBytes().size());
|
||||
memory.CopyToEmu(0x3800, settings_writer.GetBytes().data(), settings_writer.GetBytes().size());
|
||||
|
||||
INFO_LOG_FMT(BOOT, "Setup Wii Memory...");
|
||||
|
||||
|
|
|
@ -27,7 +27,8 @@ public:
|
|||
bool IsAncast() const { return m_is_ancast; }
|
||||
u32 GetEntryPoint() const override { return m_dolheader.entryPoint; }
|
||||
bool LoadIntoMemory(Core::System& system, bool only_in_mem1 = false) const override;
|
||||
bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db) const override
|
||||
bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db,
|
||||
const std::string& filename) const override
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -180,7 +180,8 @@ SectionID ElfReader::GetSectionByName(const char* name, int firstSection) const
|
|||
return -1;
|
||||
}
|
||||
|
||||
bool ElfReader::LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db) const
|
||||
bool ElfReader::LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db,
|
||||
const std::string& filename) const
|
||||
{
|
||||
bool hasSymbols = false;
|
||||
SectionID sec = GetSectionByName(".symtab");
|
||||
|
@ -218,7 +219,7 @@ bool ElfReader::LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_
|
|||
default:
|
||||
continue;
|
||||
}
|
||||
ppc_symbol_db.AddKnownSymbol(guard, value, size, name, symtype);
|
||||
ppc_symbol_db.AddKnownSymbol(guard, value, size, name, filename, symtype);
|
||||
hasSymbols = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,8 @@ public:
|
|||
u32 GetEntryPoint() const override { return entryPoint; }
|
||||
u32 GetFlags() const { return (u32)(header->e_flags); }
|
||||
bool LoadIntoMemory(Core::System& system, bool only_in_mem1 = false) const override;
|
||||
bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db) const override;
|
||||
bool LoadSymbols(const Core::CPUThreadGuard& guard, PPCSymbolDB& ppc_symbol_db,
|
||||
const std::string& filename) const override;
|
||||
// TODO: actually check for validity.
|
||||
bool IsValid() const override { return true; }
|
||||
bool IsWii() const override;
|
||||
|
|
|
@ -178,7 +178,7 @@ const Info<int> GFX_STEREO_DEPTH_PERCENTAGE{{System::GFX, "Stereoscopy", "Stereo
|
|||
|
||||
// Graphics.Hacks
|
||||
|
||||
const Info<bool> GFX_HACK_EFB_ACCESS_ENABLE{{System::GFX, "Hacks", "EFBAccessEnable"}, true};
|
||||
const Info<bool> GFX_HACK_EFB_ACCESS_ENABLE{{System::GFX, "Hacks", "EFBAccessEnable"}, false};
|
||||
const Info<bool> GFX_HACK_EFB_DEFER_INVALIDATION{
|
||||
{System::GFX, "Hacks", "EFBAccessDeferInvalidation"}, false};
|
||||
const Info<int> GFX_HACK_EFB_ACCESS_TILE_SIZE{{System::GFX, "Hacks", "EFBAccessTileSize"}, 64};
|
||||
|
|
|
@ -212,7 +212,7 @@ const Info<bool> MAIN_RAM_OVERRIDE_ENABLE{{System::Main, "Core", "RAMOverrideEna
|
|||
const Info<u32> MAIN_MEM1_SIZE{{System::Main, "Core", "MEM1Size"}, Memory::MEM1_SIZE_RETAIL};
|
||||
const Info<u32> MAIN_MEM2_SIZE{{System::Main, "Core", "MEM2Size"}, Memory::MEM2_SIZE_RETAIL};
|
||||
const Info<std::string> MAIN_GFX_BACKEND{{System::Main, "Core", "GFXBackend"},
|
||||
VideoBackendBase::GetDefaultBackendName()};
|
||||
VideoBackendBase::GetDefaultBackendConfigName()};
|
||||
const Info<HSP::HSPDeviceType> MAIN_HSP_DEVICE{{System::Main, "Core", "HSPDevice"},
|
||||
HSP::HSPDeviceType::None};
|
||||
const Info<u32> MAIN_ARAM_EXPANSION_SIZE{{System::Main, "Core", "ARAMExpansionSize"}, 0x400000};
|
||||
|
@ -751,8 +751,7 @@ bool IsDefaultGCIFolderPathConfigured(ExpansionInterface::Slot slot)
|
|||
|
||||
bool AreCheatsEnabled()
|
||||
{
|
||||
return Config::Get(::Config::MAIN_ENABLE_CHEATS) &&
|
||||
!AchievementManager::GetInstance().IsHardcoreModeActive();
|
||||
return Config::Get(::Config::MAIN_ENABLE_CHEATS);
|
||||
}
|
||||
|
||||
bool IsDebuggingEnabled()
|
||||
|
|
|
@ -6,19 +6,14 @@
|
|||
#include <algorithm>
|
||||
#include <array>
|
||||
|
||||
#include "Common/Config/Config.h"
|
||||
#include "Core/Config/AchievementSettings.h"
|
||||
#include "Core/Config/GraphicsSettings.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/Config/UISettings.h"
|
||||
#include "Core/Config/WiimoteSettings.h"
|
||||
|
||||
namespace ConfigLoaders
|
||||
{
|
||||
bool IsSettingSaveable(const Config::Location& config_location)
|
||||
{
|
||||
static constexpr std::array<Config::System, 3> systems_not_saveable = {
|
||||
Config::System::GCPad, Config::System::WiiPad, Config::System::GCKeyboard};
|
||||
static constexpr std::array systems_not_saveable = {Config::System::GCPad, Config::System::WiiPad,
|
||||
Config::System::GCKeyboard};
|
||||
|
||||
if (std::find(begin(systems_not_saveable), end(systems_not_saveable), config_location.system) ==
|
||||
end(systems_not_saveable))
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "Common/Config/Config.h"
|
||||
#include "Common/FileUtil.h"
|
||||
|
||||
#include "Core/Config/AchievementSettings.h"
|
||||
#include "Core/Config/GraphicsSettings.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/Config/SYSCONFSettings.h"
|
||||
|
@ -33,6 +34,9 @@ public:
|
|||
layer->Set(Config::MAIN_CPU_THREAD, m_settings.cpu_thread);
|
||||
layer->Set(Config::MAIN_CPU_CORE, m_settings.cpu_core);
|
||||
layer->Set(Config::MAIN_ENABLE_CHEATS, m_settings.enable_cheats);
|
||||
#ifdef USE_RETRO_ACHIEVEMENTS
|
||||
layer->Set(Config::RA_HARDCORE_ENABLED, m_settings.enable_hardcore);
|
||||
#endif // USE_RETRO_ACHIEVEMENTS
|
||||
layer->Set(Config::MAIN_GC_LANGUAGE, m_settings.selected_language);
|
||||
layer->Set(Config::MAIN_OVERRIDE_REGION_SETTINGS, m_settings.override_region_settings);
|
||||
layer->Set(Config::MAIN_DSP_HLE, m_settings.dsp_hle);
|
||||
|
|
|
@ -217,7 +217,7 @@ void SConfig::OnNewTitleLoad(const Core::CPUThreadGuard& guard)
|
|||
}
|
||||
CBoot::LoadMapFromFilename(guard, ppc_symbol_db);
|
||||
HLE::Reload(system);
|
||||
PatchEngine::Reload();
|
||||
PatchEngine::Reload(system);
|
||||
HiresTexture::Update();
|
||||
WC24PatchEngine::Reload();
|
||||
}
|
||||
|
|
|
@ -375,6 +375,7 @@ void RSOView::LoadAll(const Core::CPUThreadGuard& guard, u32 address)
|
|||
|
||||
void RSOView::Apply(const Core::CPUThreadGuard& guard, PPCSymbolDB* symbol_db) const
|
||||
{
|
||||
const std::string rso_name = GetName();
|
||||
for (const RSOExport& rso_export : GetExports())
|
||||
{
|
||||
u32 address = GetExportAddress(rso_export);
|
||||
|
@ -389,15 +390,17 @@ void RSOView::Apply(const Core::CPUThreadGuard& guard, PPCSymbolDB* symbol_db) c
|
|||
{
|
||||
// Function symbol
|
||||
symbol->Rename(export_name);
|
||||
symbol->object_name = rso_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Data symbol
|
||||
symbol_db->AddKnownSymbol(guard, address, 0, export_name, Common::Symbol::Type::Data);
|
||||
symbol_db->AddKnownSymbol(guard, address, 0, export_name, rso_name,
|
||||
Common::Symbol::Type::Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
DEBUG_LOG_FMT(SYMBOLS, "RSO({}): {} symbols applied", GetName(), GetExportsCount());
|
||||
DEBUG_LOG_FMT(SYMBOLS, "RSO({}): {} symbols applied", rso_name, GetExportsCount());
|
||||
}
|
||||
|
||||
u32 RSOView::GetNextEntry() const
|
||||
|
|
|
@ -15,8 +15,10 @@
|
|||
#include "Common/Config/Config.h"
|
||||
#include "Common/FileUtil.h"
|
||||
|
||||
#include "Core/AchievementManager.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/Core.h"
|
||||
#include "Core/Host.h"
|
||||
#include "Core/PowerPC/MMU.h"
|
||||
#include "Core/PowerPC/PowerPC.h"
|
||||
#include "ConfigManager.h"
|
||||
|
@ -52,7 +54,7 @@ static std::vector<GeckoCode> s_active_codes;
|
|||
static std::vector<GeckoCode> s_synced_codes;
|
||||
static std::mutex s_active_codes_lock;
|
||||
|
||||
void SetActiveCodes(std::span<const GeckoCode> gcodes)
|
||||
void SetActiveCodes(std::span<const GeckoCode> gcodes, const std::string& game_id)
|
||||
{
|
||||
std::lock_guard lk(s_active_codes_lock);
|
||||
|
||||
|
@ -60,8 +62,12 @@ void SetActiveCodes(std::span<const GeckoCode> gcodes)
|
|||
if (Config::AreCheatsEnabled())
|
||||
{
|
||||
s_active_codes.reserve(gcodes.size());
|
||||
|
||||
std::copy_if(gcodes.begin(), gcodes.end(), std::back_inserter(s_active_codes),
|
||||
[](const GeckoCode& code) { return code.enabled; });
|
||||
[&game_id](const GeckoCode& code) {
|
||||
return code.enabled &&
|
||||
AchievementManager::GetInstance().CheckApprovedGeckoCode(code, game_id);
|
||||
});
|
||||
}
|
||||
s_active_codes.shrink_to_fit();
|
||||
|
||||
|
@ -272,6 +278,7 @@ static Installation InstallCodeHandlerLocked(const Core::CPUThreadGuard& guard)
|
|||
{
|
||||
ppc_state.iCache.Invalidate(INSTALLER_BASE_ADDRESS + j);
|
||||
}
|
||||
Host_JitCacheInvalidation();
|
||||
return Installation::Installed;
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ constexpr u32 HLE_TRAMPOLINE_ADDRESS = INSTALLER_END_ADDRESS - 4;
|
|||
// preserve the emulation performance.
|
||||
constexpr u32 MAGIC_GAMEID = 0xD01F1BAD;
|
||||
|
||||
void SetActiveCodes(std::span<const GeckoCode> gcodes);
|
||||
void SetActiveCodes(std::span<const GeckoCode> gcodes, const std::string& game_id);
|
||||
void SetSyncedCodesAsActive();
|
||||
void UpdateSyncedCodes(std::span<const GeckoCode> gcodes);
|
||||
std::vector<GeckoCode> SetAndReturnActiveCodes(std::span<const GeckoCode> gcodes);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "Core/HLE/HLE_Misc.h"
|
||||
#include "Core/HLE/HLE_OS.h"
|
||||
#include "Core/HW/Memmap.h"
|
||||
#include "Core/Host.h"
|
||||
#include "Core/IOS/ES/ES.h"
|
||||
#include "Core/PowerPC/PPCSymbolDB.h"
|
||||
#include "Core/PowerPC/PowerPC.h"
|
||||
|
@ -187,6 +188,8 @@ void PatchFunctions(Core::System& system)
|
|||
INFO_LOG_FMT(OSHLE, "Patching {} {:08x}", os_patches[i].name, symbol->address);
|
||||
}
|
||||
}
|
||||
|
||||
Host_JitCacheInvalidation();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
|
@ -305,6 +308,7 @@ u32 UnPatch(Core::System& system, std::string_view patch_name)
|
|||
++i;
|
||||
}
|
||||
}
|
||||
Host_JitCacheInvalidation();
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
@ -317,6 +321,7 @@ u32 UnPatch(Core::System& system, std::string_view patch_name)
|
|||
s_hooked_addresses.erase(addr);
|
||||
ppc_state.iCache.Invalidate(addr);
|
||||
}
|
||||
Host_JitCacheInvalidation();
|
||||
return symbol->address;
|
||||
}
|
||||
|
||||
|
@ -338,6 +343,7 @@ u32 UnpatchRange(Core::System& system, u32 start_addr, u32 end_addr)
|
|||
i = s_hooked_addresses.erase(i);
|
||||
count += 1;
|
||||
}
|
||||
Host_JitCacheInvalidation();
|
||||
|
||||
return count;
|
||||
}
|
||||
|
|
|
@ -418,7 +418,7 @@ void AXWiiUCode::WritePB(Memory::MemoryManager& memory, u32 addr, const AXPBWii&
|
|||
case 0xadbc06bd:
|
||||
memory.CopyToEmuSwapped<u16>(addr, (const u16*)src, updates_begin);
|
||||
memory.CopyToEmuSwapped<u16>(addr + updates_begin, (const u16*)(src + updates_end),
|
||||
sizeof(PBUpdatesWii));
|
||||
gap_begin - updates_end);
|
||||
memory.CopyToEmuSwapped<u16>(addr + gap_begin, (const u16*)(src + gap_end),
|
||||
sizeof(pb) - gap_end);
|
||||
break;
|
||||
|
|
|
@ -834,7 +834,7 @@ BbaTcpSocket::ConnectingState BbaTcpSocket::Connected(StackRef* ref)
|
|||
fd_set read_fds;
|
||||
fd_set write_fds;
|
||||
fd_set except_fds;
|
||||
struct timeval t = {0, 0};
|
||||
timeval t = {0, 0};
|
||||
FD_ZERO(&read_fds);
|
||||
FD_ZERO(&write_fds);
|
||||
FD_ZERO(&except_fds);
|
||||
|
@ -965,7 +965,7 @@ sf::Socket::Status BbaUdpSocket::Bind(u16 port, u32 net_ip)
|
|||
|
||||
// Subscribe to the SSDP multicast group
|
||||
// NB: Other groups aren't supported because of HLE
|
||||
struct ip_mreq mreq;
|
||||
ip_mreq mreq;
|
||||
mreq.imr_multiaddr.s_addr = std::bit_cast<u32>(Common::IP_ADDR_SSDP);
|
||||
mreq.imr_interface.s_addr = net_ip;
|
||||
if (setsockopt(getHandle(), IPPROTO_IP, IP_ADD_MEMBERSHIP, reinterpret_cast<const char*>(&mreq),
|
||||
|
|
|
@ -99,6 +99,10 @@ void ProcessorInterfaceManager::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
|||
{
|
||||
system.GetGPFifo().ResetGatherPipe();
|
||||
|
||||
// Assume that all bytes that made it into the GPU fifo did in fact execute
|
||||
// before this MMIO write takes effect.
|
||||
system.GetFifo().SyncGPUForRegisterAccess();
|
||||
|
||||
// Call Fifo::ResetVideoBuffer() from the video thread. Since that function
|
||||
// resets various pointers used by the video thread, we can't call it directly
|
||||
// from the CPU thread, so queue a task to do it instead. In single-core mode,
|
||||
|
|
|
@ -8,21 +8,12 @@
|
|||
#include "AudioCommon/AudioCommon.h"
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Common/MathUtil.h"
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "Core/HW/WiimoteEmu/WiimoteEmu.h"
|
||||
#include "Core/System.h"
|
||||
#include "InputCommon/ControllerEmu/ControlGroup/ControlGroup.h"
|
||||
#include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
|
||||
|
||||
//#define WIIMOTE_SPEAKER_DUMP
|
||||
#ifdef WIIMOTE_SPEAKER_DUMP
|
||||
#include <cstdlib>
|
||||
#include <fstream>
|
||||
#include "AudioCommon/WaveFile.h"
|
||||
#include "Common/FileUtil.h"
|
||||
#endif
|
||||
|
||||
namespace WiimoteEmu
|
||||
{
|
||||
// Yamaha ADPCM decoder code based on The ffmpeg Project (Copyright (s) 2001-2003)
|
||||
|
@ -60,17 +51,6 @@ static s16 adpcm_yamaha_expand_nibble(ADPCMState& s, u8 nibble)
|
|||
return s.predictor;
|
||||
}
|
||||
|
||||
#ifdef WIIMOTE_SPEAKER_DUMP
|
||||
std::ofstream ofile;
|
||||
WaveFileWriter wav;
|
||||
|
||||
void stopdamnwav()
|
||||
{
|
||||
wav.Stop();
|
||||
ofile.close();
|
||||
}
|
||||
#endif
|
||||
|
||||
void SpeakerLogic::SpeakerData(const u8* data, int length, float speaker_pan)
|
||||
{
|
||||
// TODO: should we still process samples for the decoder state?
|
||||
|
@ -151,28 +131,6 @@ void SpeakerLogic::SpeakerData(const u8* data, int length, float speaker_pan)
|
|||
const unsigned int sample_rate = sample_rate_dividend / reg_data.sample_rate;
|
||||
sound_stream->GetMixer()->PushWiimoteSpeakerSamples(
|
||||
samples.get(), sample_length, Mixer::FIXED_SAMPLE_RATE_DIVIDEND / (sample_rate * 2));
|
||||
|
||||
#ifdef WIIMOTE_SPEAKER_DUMP
|
||||
static int num = 0;
|
||||
|
||||
if (num == 0)
|
||||
{
|
||||
File::Delete("rmtdump.wav");
|
||||
File::Delete("rmtdump.bin");
|
||||
atexit(stopdamnwav);
|
||||
File::OpenFStream(ofile, "rmtdump.bin", ofile.binary | ofile.out);
|
||||
wav.Start("rmtdump.wav", 6000);
|
||||
}
|
||||
wav.AddMonoSamples(samples.get(), length * 2);
|
||||
if (ofile.good())
|
||||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
ofile << data[i];
|
||||
}
|
||||
}
|
||||
num++;
|
||||
#endif
|
||||
}
|
||||
|
||||
void SpeakerLogic::Reset()
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue