mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-09-11 12:05:51 +00:00
Merge commit '992b4ea930
' into upstream-merge-2412
This commit is contained in:
commit
71780352ff
428 changed files with 56324 additions and 46031 deletions
|
@ -31,7 +31,7 @@ if(GIT_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# version number
|
# version number
|
||||||
set(DOLPHIN_VERSION_MAJOR "2409")
|
set(DOLPHIN_VERSION_MAJOR "2412")
|
||||||
set(DOLPHIN_VERSION_MINOR "0")
|
set(DOLPHIN_VERSION_MINOR "0")
|
||||||
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
|
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
|
||||||
|
|
||||||
|
|
|
@ -601,7 +601,7 @@ if(UNIX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_SDL)
|
if(ENABLE_SDL)
|
||||||
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.30.6)
|
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.30.9)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_ANALYTICS)
|
if(ENABLE_ANALYTICS)
|
||||||
|
@ -718,7 +718,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(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
|
dolphin_find_optional_system_library_pkgconfig(MINIZIP
|
||||||
"minizip>=4.0.4" minizip::minizip Externals/minizip-ng
|
"minizip>=4.0.4" minizip::minizip Externals/minizip-ng
|
||||||
|
|
|
@ -189,7 +189,7 @@ Summary:
|
||||||
|
|
||||||
## <a name="cpp-code-general"></a>General
|
## <a name="cpp-code-general"></a>General
|
||||||
- The codebase currently uses C++20, though not all compilers support all C++20 features.
|
- The codebase currently uses C++20, though not all compilers support all C++20 features.
|
||||||
- See CMakeLists.txt "Enforce minimium compiler versions" for the currently supported compilers.
|
- See CMakeLists.txt "Enforce minimum compiler versions" for the currently supported compilers.
|
||||||
- Use the [nullptr](https://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
|
- Use the [nullptr](https://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
|
||||||
- If a [range-based for loop](https://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
|
- If a [range-based for loop](https://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
|
||||||
- Obviously, try not to use `goto` unless you have a *really* good reason for it.
|
- Obviously, try not to use `goto` unless you have a *really* good reason for it.
|
||||||
|
@ -227,7 +227,7 @@ Summary:
|
||||||
|
|
||||||
## <a name="cpp-code-functions"></a>Functions
|
## <a name="cpp-code-functions"></a>Functions
|
||||||
- If a function parameter is a pointer or reference and its value or data isn't intended to be changed, please mark that parameter as `const`.
|
- If a function parameter is a pointer or reference and its value or data isn't intended to be changed, please mark that parameter as `const`.
|
||||||
- Functions that specifically modify their parameters should have the respective parameter(s) marked as a pointer so that the variables being modified are syntaxically obvious.
|
- Functions that specifically modify their parameters should have the respective parameter(s) marked as a pointer so that the variables being modified are syntactically obvious.
|
||||||
- What not to do:
|
- What not to do:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
|
|
|
@ -44,6 +44,18 @@
|
||||||
"title": "Dead to Rights",
|
"title": "Dead to Rights",
|
||||||
"E23D98B2CE185C3993A40F2495D37E41B971BF91": "Fix audio issues"
|
"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": {
|
"GEME7F": {
|
||||||
"title": "Egg Mania: Eggstreme Madness",
|
"title": "Egg Mania: Eggstreme Madness",
|
||||||
"CB04E00918C9C0F161715D21D046ED6620F7ADEF": "Force Progressive Scan"
|
"CB04E00918C9C0F161715D21D046ED6620F7ADEF": "Force Progressive Scan"
|
||||||
|
@ -236,6 +248,14 @@
|
||||||
"title": "Ten Pin Alley 2",
|
"title": "Ten Pin Alley 2",
|
||||||
"793642AC6862C2F3412035A9E3D7172CC4A1D5C7": "Fix crash on main menu"
|
"793642AC6862C2F3412035A9E3D7172CC4A1D5C7": "Fix crash on main menu"
|
||||||
},
|
},
|
||||||
|
"RMHE08": {
|
||||||
|
"title": "Monster Hunter Tri",
|
||||||
|
"CCF233DA57B3E75221870DE502955114B0D4E7FA": "Bloom OFF"
|
||||||
|
},
|
||||||
|
"RMHJ08": {
|
||||||
|
"title": "Monster Hunter Tri",
|
||||||
|
"29D3625B7ED577587E56AA07CB0EB8C47C97E823": "Bloom OFF"
|
||||||
|
},
|
||||||
"RMHP08": {
|
"RMHP08": {
|
||||||
"title": "Monster Hunter Tri",
|
"title": "Monster Hunter Tri",
|
||||||
"1720C1173D4698167080DBFC4232F21757C4DA08": "Bloom OFF"
|
"1720C1173D4698167080DBFC4232F21757C4DA08": "Bloom OFF"
|
||||||
|
|
|
@ -3,14 +3,6 @@
|
||||||
[Core]
|
[Core]
|
||||||
# Values set here will override the main Dolphin settings.
|
# Values set here will override the main Dolphin settings.
|
||||||
|
|
||||||
[EmuState]
|
|
||||||
# The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
|
||||||
EmulationStateId = 5
|
|
||||||
EmulationIssues =
|
|
||||||
|
|
||||||
[OnLoad]
|
|
||||||
# Add memory patches to be loaded once on boot here.
|
|
||||||
|
|
||||||
[OnFrame]
|
[OnFrame]
|
||||||
# Add memory patches to be applied every frame here.
|
# Add memory patches to be applied every frame here.
|
||||||
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"meta":
|
|
||||||
{
|
|
||||||
"title": "Bloom Texture Definitions",
|
|
||||||
"author": "SuperSamus"
|
|
||||||
},
|
|
||||||
"groups":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "Bloom",
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"type": "efb",
|
|
||||||
"texture_filename": "efb1_n000005_320x228_6"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -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
|
R22J01 = FlingSmash
|
||||||
R23P52 = Barbie und Die Drei Musketiere
|
R23P52 = Barbie und Die Drei Musketiere
|
||||||
R25PWR = LEGO Harry Potter: Die Jahre 1-4
|
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
|
R9GPWR = Die Legende der Wächter
|
||||||
R9LP41 = Girls Life: Pyjama-Party
|
R9LP41 = Girls Life: Pyjama-Party
|
||||||
R9RPNG = Dance Party - Pop Hits
|
R9RPNG = Dance Party - Pop Hits
|
||||||
RAAE01 = Disco de Startup Wii
|
|
||||||
RB7P54 = Bully: Die Ehrenrunde
|
RB7P54 = Bully: Die Ehrenrunde
|
||||||
RBEP52 = Bee Movie: Das Game
|
RBEP52 = Bee Movie: Das Game
|
||||||
RBEX52 = 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!
|
SVVPAF = Die Croods: Steinzeit Party!
|
||||||
SW3PKM = Eurosport Winter Stars
|
SW3PKM = Eurosport Winter Stars
|
||||||
CS4P00 = SingItStar NRJ Music Tour
|
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
|
SDNP01 = New SUPER DODO BROS wii
|
||||||
SIS1OH = SingItStar Custom: Volume 1
|
SIS1OH = SingItStar Custom: Volume 1
|
||||||
SISACD = SingItStar AC/DC
|
SISACD = SingItStar AC/DC
|
||||||
|
@ -428,14 +427,11 @@ W2CP = Gehirntraining
|
||||||
W2FP = Physiofun - Balance Training
|
W2FP = Physiofun - Balance Training
|
||||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||||
W2MP = Blaster Master: Overdrive
|
|
||||||
W2PP = Physiofun - Beckenboden Training
|
W2PP = Physiofun - Beckenboden Training
|
||||||
W3GD = Phoenix Wright Ace Attorney 3: Trials And Tribulations
|
W3GD = Phoenix Wright Ace Attorney 3: Trials And Tribulations
|
||||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
|
||||||
W3MP = Die Drei Musketiere Einer für alle!
|
W3MP = Die Drei Musketiere Einer für alle!
|
||||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||||
W6BP = Eco-Shooter: Plant 530
|
W6BP = Eco-Shooter: Plant 530
|
||||||
W72P = Successfully Learning German Year 3
|
|
||||||
W73P = Lernerfolg Grundschule Deutsch Klasse 4
|
W73P = Lernerfolg Grundschule Deutsch Klasse 4
|
||||||
W74P = Lernerfolg Grundschule Deutsch Klasse 5
|
W74P = Lernerfolg Grundschule Deutsch Klasse 5
|
||||||
W7IP = Lernerfolg Grundschule Deutsch Klasse 2
|
W7IP = Lernerfolg Grundschule Deutsch Klasse 2
|
||||||
|
@ -444,12 +440,8 @@ W8WP = Happy Holidays Halloween
|
||||||
W9BP = Big Town Shoot
|
W9BP = Big Town Shoot
|
||||||
W9RP = Happy Holidays Christmas
|
W9RP = Happy Holidays Christmas
|
||||||
WA4P = WarioWare: Do It Yourself - Showcase
|
WA4P = WarioWare: Do It Yourself - Showcase
|
||||||
WA7P = Toribash Violence Perfected
|
|
||||||
WA8P = Art Style: Penta Tentacles
|
WA8P = Art Style: Penta Tentacles
|
||||||
WAEP = Around the world
|
WAEP = Around the world
|
||||||
WAFP = Airport Mania: First Flight
|
|
||||||
WAHP = Trenches: Generals
|
|
||||||
WALP = Art Style: light trax
|
|
||||||
WAOP = The Very Hungry Caterpillar´s ABC
|
WAOP = The Very Hungry Caterpillar´s ABC
|
||||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
||||||
|
@ -487,7 +479,6 @@ WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||||
WGPP = Zenquaria Virtuelles Aquarium
|
WGPP = Zenquaria Virtuelles Aquarium
|
||||||
WGSD = Phoenix Wright: Ace Attorney (Deutsche Version)
|
WGSD = Phoenix Wright: Ace Attorney (Deutsche Version)
|
||||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||||
WGSP = Phoenix Wright: Ace Attorney
|
|
||||||
WHEE = Heracles: Chariot Racing
|
WHEE = Heracles: Chariot Racing
|
||||||
WHEP = Heracles: Chariot Racing
|
WHEP = Heracles: Chariot Racing
|
||||||
WHFP = Heavy Fire: Special Operations
|
WHFP = Heavy Fire: Special Operations
|
||||||
|
@ -562,6 +553,7 @@ WWIP = Where's Wally? Fantastic Journey 1
|
||||||
WWRP = Excitebike: World Challenge
|
WWRP = Excitebike: World Challenge
|
||||||
WWXP = Paper Wars Cannon Fodder
|
WWXP = Paper Wars Cannon Fodder
|
||||||
WXBP = Ben 10: Alien Force - The Rise of Hex
|
WXBP = Ben 10: Alien Force - The Rise of Hex
|
||||||
|
WXIP = Lernerfolg Grundschule Englisch Klasse 1
|
||||||
WYIP = escapeVektor: Chapter 1
|
WYIP = escapeVektor: Chapter 1
|
||||||
WYSP = Yard Sale Hidden Treasures Sunnyville
|
WYSP = Yard Sale Hidden Treasures Sunnyville
|
||||||
WZIP = Rubik's Puzzle Galaxy: RUSH
|
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
|
JDLP = Super Star Wars: Return of the Jedi
|
||||||
JDWP = Aero The Acrobat
|
JDWP = Aero The Acrobat
|
||||||
JDZD = Mystic Quest Legend
|
JDZD = Mystic Quest Legend
|
||||||
NACE = The Legend of Zelda: Ocarina of Time
|
|
||||||
NACP = The Legend of Zelda: Ocarina of Time
|
|
||||||
NADE = Lylat wars
|
NADE = Lylat wars
|
||||||
NAJN = Sin and Punishment
|
NAJN = Sin and Punishment
|
||||||
NAKS = Pokémon Snap
|
|
||||||
NAME = Kirby 64: The Crystal Shards
|
NAME = Kirby 64: The Crystal Shards
|
||||||
NAMP = Kirby 64: The Crystal Shards
|
|
||||||
NAND = Pokémon Puzzle League
|
|
||||||
NAOE = 1080° Snowboarding
|
NAOE = 1080° Snowboarding
|
||||||
NAOP = 1080°: TenEighty Snowboarding
|
NAOP = 1080°: TenEighty Snowboarding
|
||||||
NARE = The Legend of Zelda: Majora's Mask
|
NARE = The Legend of Zelda: Majora's Mask
|
||||||
NARP = The Legend of Zelda: Majora's Mask
|
|
||||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
|
||||||
LALP = Fantasy Zone II
|
LALP = Fantasy Zone II
|
||||||
LANP = Alex Kidd: The Lost Stars
|
LANP = Alex Kidd: The Lost Stars
|
||||||
LAPP = Wonder Boy III: The Dragon's Trap
|
LAPP = Wonder Boy III: The Dragon's Trap
|
||||||
|
@ -686,7 +671,6 @@ EAIP = Top Hunter
|
||||||
EBDP = Magical Drop 3
|
EBDP = Magical Drop 3
|
||||||
EBFP = Spin master
|
EBFP = Spin master
|
||||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
|
||||||
ECGP = Shock Troopers: 2nd Squad
|
ECGP = Shock Troopers: 2nd Squad
|
||||||
E54P = GHOSTS'N GOBLINS
|
E54P = GHOSTS'N GOBLINS
|
||||||
E55P = Commando
|
E55P = Commando
|
||||||
|
@ -703,21 +687,24 @@ HADE = Internet Kanal
|
||||||
HADP = Internet-Kanal
|
HADP = Internet-Kanal
|
||||||
HAFP = Wetterkanal
|
HAFP = Wetterkanal
|
||||||
HAGA = Nachrichtenkanal
|
HAGA = Nachrichtenkanal
|
||||||
HAGE = Nachrichtenkanal
|
|
||||||
HAGJ = Nachrichtenkanal
|
HAGJ = Nachrichtenkanal
|
||||||
HAGP = Nachrichtenkanal
|
HAGP = Nachrichtenkanal
|
||||||
HAJP = Meinungskanal
|
HAJP = Meinungskanal
|
||||||
|
HAKP = Vertrag/Kontakt
|
||||||
HAPP = Mii-Wettbewerbskanal
|
HAPP = Mii-Wettbewerbskanal
|
||||||
HATP = Nintendo-Kanal
|
HATP = Nintendo-Kanal
|
||||||
HAVP = Glückstagskanal
|
HAVP = Glückstagskanal
|
||||||
HAWP = Metroid Prime 3 Preview
|
HAWP = Metroid Prime 3 Preview
|
||||||
HAYA = Fotokanal
|
HAYA = Fotokanal
|
||||||
HCAP = Jam with the Band Live
|
HCAP = Jam with the Band Live-Kanal
|
||||||
|
HCCJ = Adresseinstellungen
|
||||||
HCFE = Wii Speak-Kanal
|
HCFE = Wii Speak-Kanal
|
||||||
HCFP = Wii Speak-Kanal
|
HCFP = Wii Speak-Kanal
|
||||||
|
HCGP = Wii & Internet
|
||||||
HCMP = Kirby TV-Kanal
|
HCMP = Kirby TV-Kanal
|
||||||
HCRE = The Legend of Zelda: Skyward Sword - Speicherdaten-Update-Kanal für
|
HCRE = The Legend of Zelda: Skyward Sword - Speicherdaten-Update-Kanal für
|
||||||
HCRP = 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
|
RMCP = Mario Kart-Kanal
|
||||||
OHBC = Homebrew-Kanal
|
OHBC = Homebrew-Kanal
|
||||||
G2FD78 = Tak 2: Der Stab der Träume
|
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
|
DCHJAF = We Cheer: Ohasta Produce ! Gentei Collabo Game Disc
|
||||||
R22J01 = FlingSmash
|
R22J01 = FlingSmash
|
||||||
R23E52 = Barbie y las Tres Mosqueteras
|
R23E52 = Barbie y las Tres Mosqueteras
|
||||||
|
@ -90,6 +90,7 @@ R9EPNP = Brico Party: ¡Cuidado! Mancha
|
||||||
R9GPWR = Ga'Hoole: La Leyenda de los Guardianes
|
R9GPWR = Ga'Hoole: La Leyenda de los Guardianes
|
||||||
R9LP41 = Girls Life: Pijama Party
|
R9LP41 = Girls Life: Pijama Party
|
||||||
R9TK69 = Tiger Woods PGA Tour 09
|
R9TK69 = Tiger Woods PGA Tour 09
|
||||||
|
RAAE01 = Disco de Startup Wii
|
||||||
RB9D78 = Bratz: La Película
|
RB9D78 = Bratz: La Película
|
||||||
RB9P78 = Bratz: La Película
|
RB9P78 = Bratz: La Película
|
||||||
RB9X78 = Bratz: La Película
|
RB9X78 = Bratz: La Película
|
||||||
|
@ -109,7 +110,7 @@ RC2E78 = Cars: Mater-National
|
||||||
RC2P78 = Cars: La Copa Internacional de Mate
|
RC2P78 = Cars: La Copa Internacional de Mate
|
||||||
RC2X78 = Cars: La Copa Internacional de Mate
|
RC2X78 = Cars: La Copa Internacional de Mate
|
||||||
RC2Y78 = 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
|
RC3X41 = Catz: Diviértete con Nuevos Felinos
|
||||||
RC4SGT = Shin Chan: ¡Las Nuevas Aventuras para Wii!
|
RC4SGT = Shin Chan: ¡Las Nuevas Aventuras para Wii!
|
||||||
RC8P7D = Crash: Guerra al Coco-Maníaco
|
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
|
RH6K69 = Harry Potter and the Half-Blood Prince
|
||||||
RH6P69 = Harry Potter y el Misterio del Príncipe
|
RH6P69 = Harry Potter y el Misterio del Príncipe
|
||||||
RHAK01 = Wii Play
|
RHAK01 = Wii Play
|
||||||
|
RHAW01 = Wii Play
|
||||||
RHKJ18 = Hataraku Hit
|
RHKJ18 = Hataraku Hit
|
||||||
RHKP18 = Job Island
|
RHKP18 = Job Island
|
||||||
RHQP4Q = Hannah Montana: Únete a Su Gira Mundial
|
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!
|
RI2P4Q = High School Musical: ¡Canta con ellos!
|
||||||
RI8E41 = Brothers in Arms: Road to Hill 30
|
RI8E41 = Brothers in Arms: Road to Hill 30
|
||||||
RI9PGT = Divagirls: Princesas Sobre Hielo
|
RI9PGT = Divagirls: Princesas Sobre Hielo
|
||||||
|
RIAE52 = Ice Age: Dawn of the Dinosaurs
|
||||||
RIAI52 = Ice Age 3: El Origen de los Dinosaurios
|
RIAI52 = Ice Age 3: El Origen de los Dinosaurios
|
||||||
RIAP52 = Ice Age 3: El Origen de los Dinosaurios
|
RIAP52 = Ice Age 3: El Origen de los Dinosaurios
|
||||||
RIBPKM = Igor: El Videojuego
|
RIBPKM = Igor: El Videojuego
|
||||||
|
@ -225,7 +228,7 @@ RJAP52 = Call of Duty: Modern Warfare: Reflex
|
||||||
RJAX52 = Call of Duty: Modern Warfare: Reflex
|
RJAX52 = Call of Duty: Modern Warfare: Reflex
|
||||||
RJDPKM = Mi Hospital de Animales
|
RJDPKM = Mi Hospital de Animales
|
||||||
RJFE5G = Fitness Ultimatum 2009 de Jillian Michaels
|
RJFE5G = Fitness Ultimatum 2009 de Jillian Michaels
|
||||||
RJFPKM = Fitness Ultimatum 2009 con Jillian Michaels
|
RJFPKM = Ponte en forma con Jillian Michaels
|
||||||
RJMPRS = Jumper
|
RJMPRS = Jumper
|
||||||
RJNE20 = Build 'n Race
|
RJNE20 = Build 'n Race
|
||||||
RJOP99 = Ju-On: The Grudge
|
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
|
RVAP78 = Avatar: La Leyenda de Aang - La Tierra Ardiente
|
||||||
RVBPRS = Alvin y las Ardillas
|
RVBPRS = Alvin y las Ardillas
|
||||||
RVHP41 = Scrabble Interactivo: Edición 2009
|
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
|
RVKJ99 = Valhalla Knights: Elder Saga
|
||||||
RVQP41 = Desafío Cine Party
|
RVQP41 = Desafío Cine Party
|
||||||
RVTFMR = Veterinarios en Acción
|
RVTFMR = Veterinarios en Acción
|
||||||
|
@ -499,6 +502,8 @@ RZRPGT = El Destino de El Zorro
|
||||||
RZYF41 = Mi Experto en Vocabulario
|
RZYF41 = Mi Experto en Vocabulario
|
||||||
RZYP41 = Mi Experto en Vocabulario
|
RZYP41 = Mi Experto en Vocabulario
|
||||||
RZYS41 = 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
|
S2XE41 = Los Pitufos 2
|
||||||
S2XP41 = Los Pitufos 2
|
S2XP41 = Los Pitufos 2
|
||||||
S2ZP52 = Zhu Zhu Pets: Los Amigos del Bosque
|
S2ZP52 = Zhu Zhu Pets: Los Amigos del Bosque
|
||||||
|
@ -507,6 +512,7 @@ S3BEWR = Batman: El Intrépido Batman
|
||||||
S3BPWR = Batman: El Intrépido Batman
|
S3BPWR = Batman: El Intrépido Batman
|
||||||
S3DJ18 = Deca Sporta 3
|
S3DJ18 = Deca Sporta 3
|
||||||
S3EP78 = Barbie: Planeta Fashionista
|
S3EP78 = Barbie: Planeta Fashionista
|
||||||
|
S3EXVZ = Barbie: Planeta Fashionista
|
||||||
S3MP69 = Los Sims 3
|
S3MP69 = Los Sims 3
|
||||||
S3PP4Q = Disney Princesas: Reinos Mágicos
|
S3PP4Q = Disney Princesas: Reinos Mágicos
|
||||||
S5BPKM = Regreso al Futuro: El juego
|
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
|
SALP4Q = Alicia en el País de las Maravillas
|
||||||
SAOP78 = Monster High: Instituto Monstruoso
|
SAOP78 = Monster High: Instituto Monstruoso
|
||||||
SAOXVZ = Monster High: Instituto Monstruoso
|
SAOXVZ = Monster High: Instituto Monstruoso
|
||||||
|
SAVX5G = Alvin y las ardillas 2
|
||||||
SB2PNP = My Baby 2: ¡Mi Bebé Ha Crecido!
|
SB2PNP = My Baby 2: ¡Mi Bebé Ha Crecido!
|
||||||
SB4K01 = Super Mario Galaxy 2
|
SB4K01 = Super Mario Galaxy 2
|
||||||
SB6P52 = Bakugan: Defensores de la Tierra
|
SB6P52 = Bakugan: Defensores de la Tierra
|
||||||
|
@ -551,6 +558,7 @@ SCYZ4Q = Cars 2: El Videojuego
|
||||||
SD2Y41 = Just Dance 2 (Edición Best Buy)
|
SD2Y41 = Just Dance 2 (Edición Best Buy)
|
||||||
SD6PTV = Éxito en Primaria: Inglés - Curso 1-4
|
SD6PTV = Éxito en Primaria: Inglés - Curso 1-4
|
||||||
SD7PTV = Éxito en Primaria: Matemáticas - 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
|
SDFP4Q = Disney Sing It: Éxitos de película
|
||||||
SDLP78 = La Gran Aventura de Dood
|
SDLP78 = La Gran Aventura de Dood
|
||||||
SDMEG9 = Gru, Mi Villano Favorito
|
SDMEG9 = Gru, Mi Villano Favorito
|
||||||
|
@ -608,11 +616,12 @@ SJDZ41 = Just Dance 3 (Edición Target)
|
||||||
SJIEG9 = Fitness Ultimatum 2011 de Jillian Michaels
|
SJIEG9 = Fitness Ultimatum 2011 de Jillian Michaels
|
||||||
SJME5G = Fitness Ultimatum 2010 de Jillian Michaels
|
SJME5G = Fitness Ultimatum 2010 de Jillian Michaels
|
||||||
SJMPGT = 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
|
SK4E52 = Shrek: Felices Para Siempre
|
||||||
SK4P52 = Shrek: Felices Para Siempre
|
SK4P52 = Shrek: Felices Para Siempre
|
||||||
SK7PVZ = Disney Violetta: Ritmo & Música
|
SK7PVZ = Disney Violetta: Ritmo & Música
|
||||||
SK7XVZ = Disney Violetta: Ritmo & Música
|
SK7XVZ = Disney Violetta: Ritmo & Música
|
||||||
|
SKYZ52 = Skylanders Giants
|
||||||
SLAE78 = Airbender: El Último Guerrero
|
SLAE78 = Airbender: El Último Guerrero
|
||||||
SLAP78 = Airbender: El Último Guerrero
|
SLAP78 = Airbender: El Último Guerrero
|
||||||
SLAX78 = Airbender: El Último Guerrero (Edición Especial)
|
SLAX78 = Airbender: El Último Guerrero (Edición Especial)
|
||||||
|
@ -636,7 +645,7 @@ SMNW01 = New Super Mario Bros. Wii (Chino Tradicional)
|
||||||
SN4JDA = Naruto Shippuuden Ryujinki
|
SN4JDA = Naruto Shippuuden Ryujinki
|
||||||
SNBP41 = NCIS Navy Investigación Criminal
|
SNBP41 = NCIS Navy Investigación Criminal
|
||||||
SNYEVZ = Monster High: 13 Deseos
|
SNYEVZ = Monster High: 13 Deseos
|
||||||
SNYPVZ = Monster High: 13 Deseos
|
SNYPVZ = Monster High: 13 Monstruo-deseos
|
||||||
SOTE52 = Wipeout
|
SOTE52 = Wipeout
|
||||||
SOUJ01 = The Legend of Zelda: Skyward Sword
|
SOUJ01 = The Legend of Zelda: Skyward Sword
|
||||||
SP5PVV = The Kore Gang: La Exvasión de los Intraterrestres
|
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
|
RMCE88 = Mario Carritos Definitivo 3.0
|
||||||
RMCEB8 = Mario Kart Manía
|
RMCEB8 = Mario Kart Manía
|
||||||
RMCEFO = Neptune777 Forza MAX Orígenes
|
RMCEFO = Neptune777 Forza MAX Orígenes
|
||||||
RMCPCA = Mario Kart Wii (traducción al catalán)
|
|
||||||
RMGE52 = Guitar Hero III Custom: Megadeth
|
RMGE52 = Guitar Hero III Custom: Megadeth
|
||||||
RMHC08 = Monster Hunter Tri (Personalizado)
|
RMHC08 = Monster Hunter Tri (Personalizado)
|
||||||
RMMP52 = Guitar Hero III Custom: Metal Mayhem
|
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
|
RSJESD = Guitar Hero III Custom: System of a Down
|
||||||
RSYP06 = Super Smash Bros. Brawl: YF06's Mod
|
RSYP06 = Super Smash Bros. Brawl: YF06's Mod
|
||||||
RZDC01 = The Legend of Zelda: Twilight Princess (Personalizado)
|
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)
|
SB4C01 = Super Mario Galaxy 2 (Personalizado)
|
||||||
SBOD3Q = SingItStar: Best of Disney
|
SBOD3Q = SingItStar: Best of Disney
|
||||||
SDUEO1 = DU Super Mario Bros.: DU Edition
|
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)
|
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||||
W2GE = Phoenix Wright: Ace Attorney Justice for All
|
W2GE = Phoenix Wright: Ace Attorney Justice for All
|
||||||
W2GP = 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
|
W2JE = Just Jam
|
||||||
W2ME = Blaster Master: Overdrive
|
W2ME = Blaster Master: Overdrive
|
||||||
W2MP = 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
|
W3GD = Phoenix Wright: Ace Attorney - Trials and Tribulations
|
||||||
W3GE = Phoenix Wright Ace Attorney: Trials and Tribulations
|
W3GE = Phoenix Wright Ace Attorney: Trials and Tribulations
|
||||||
W3GP = 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
|
W3KE = Thruspace
|
||||||
W3KP = ThruSpace
|
W3KP = ThruSpace
|
||||||
W3LE = Carmen Sandiego Adventures in Math: The Lady Liberty Larceny
|
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!
|
W3MP = Los Tres Mosqueteros ¡Uno para todos!
|
||||||
W3TE = Pearl Harbor Trilogy - 1941: Red Sun Rising
|
W3TE = Pearl Harbor Trilogy - 1941: Red Sun Rising
|
||||||
W44E = Stop Stress: A Day of Fury
|
W44E = Stop Stress: A Day of Fury
|
||||||
W44P = Stop Stress: A Day of Fury
|
|
||||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||||
W5IE = 5 in 1 Solitaire
|
W5IE = 5 in 1 Solitaire
|
||||||
W6BE = Eco Shooter: Plant 530
|
W6BE = Eco Shooter: Plant 530
|
||||||
W6BP = 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
|
W8CE = Bit.Trip Core
|
||||||
W8CP = Bit.Trip Core
|
W8CP = Bit.Trip Core
|
||||||
W8WE = Happy Holidays: Halloween
|
W8WE = Happy Holidays: Halloween
|
||||||
|
@ -899,8 +901,6 @@ WA8E = Art Style: Rotozoa
|
||||||
WA8P = Art Style: Penta Tentacles
|
WA8P = Art Style: Penta Tentacles
|
||||||
WAEE = Around The World
|
WAEE = Around The World
|
||||||
WAFE = Airport Mania: First Flight
|
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
|
WAKE = Carmen Sandiego Adventures in Math: The Case of the Crumbling Cathedral
|
||||||
WALE = Art Style: Light Trax
|
WALE = Art Style: Light Trax
|
||||||
WALP = Art Style: Light Trax
|
WALP = Art Style: Light Trax
|
||||||
|
@ -946,7 +946,7 @@ WDHP = Art Style: Rotohex
|
||||||
WDMJ = Dr. Mario & Bactericida
|
WDMJ = Dr. Mario & Bactericida
|
||||||
WDMP = Dr. Mario & Bactericida
|
WDMP = Dr. Mario & Bactericida
|
||||||
WDPE = Dr. Mario Online Rx (Friend Battle Demo)
|
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
|
WDRE = Mr Driller W
|
||||||
WEME = Aha! I Got It! Escape Game
|
WEME = Aha! I Got It! Escape Game
|
||||||
WEMP = 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)
|
WGSD = Phoenix Wright: Ace Attorney (Versión Alemana)
|
||||||
WGSE = Phoenix Wright: Ace Attorney
|
WGSE = Phoenix Wright: Ace Attorney
|
||||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||||
WGSP = Phoenix Wright: Ace Attorney
|
|
||||||
WGSS = Phoenix Wright: Ace Attorney (Textos en español)
|
WGSS = Phoenix Wright: Ace Attorney (Textos en español)
|
||||||
WHBE = Hubert the Teddy Bear: Winter Games
|
WHBE = Hubert the Teddy Bear: Winter Games
|
||||||
WHEE = Heracles: Chariot Racing
|
WHEE = Heracles: Chariot Racing
|
||||||
|
@ -1130,6 +1129,7 @@ WWXE = Paper Wars: Cannon Fodder
|
||||||
WWXP = Paper Wars Cannon Fodder
|
WWXP = Paper Wars Cannon Fodder
|
||||||
WXBE = Ben 10 Alien Force The Rise of Hex
|
WXBE = Ben 10 Alien Force The Rise of Hex
|
||||||
WXBP = 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!
|
WXPE = Paint Splash!
|
||||||
WXRE = Reel Fishing Ocean Challenge
|
WXRE = Reel Fishing Ocean Challenge
|
||||||
WYIE = escapeVektor: Chapter 1
|
WYIE = escapeVektor: Chapter 1
|
||||||
|
@ -1262,20 +1262,13 @@ JDWP = Aero The Acrobat
|
||||||
JDZD = Mystic Quest Legend
|
JDZD = Mystic Quest Legend
|
||||||
JDZF = Mystic Quest Legend
|
JDZF = Mystic Quest Legend
|
||||||
JDZP = 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)
|
NAJ8 = The Legend of Zelda: Ocarina of Time (traducido al español)
|
||||||
NAJN = Sin and Punishment
|
NAJN = Sin and Punishment
|
||||||
NAKS = Pokémon Snap
|
|
||||||
NAME = Kirby 64: The Crystal Shards
|
NAME = Kirby 64: The Crystal Shards
|
||||||
NAMP = Kirby 64: The Crystal Shards
|
|
||||||
NAND = Pokémon Puzzle League
|
|
||||||
NAOE = 1080° Snowboarding
|
NAOE = 1080° Snowboarding
|
||||||
NAOP = 1080°: TenEighty Snowboarding
|
NAOP = 1080°: TenEighty Snowboarding
|
||||||
NARE = The Legend of Zelda: Majora's Mask
|
NARE = The Legend of Zelda: Majora's Mask
|
||||||
NARP = The Legend of Zelda: Majora's Mask
|
|
||||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
|
||||||
LAFN = Secret Commando
|
LAFN = Secret Commando
|
||||||
LAGE = Sonic the Hedgehog
|
LAGE = Sonic the Hedgehog
|
||||||
LAJE = Sonic the Hedgehog 2
|
LAJE = Sonic the Hedgehog 2
|
||||||
|
@ -1373,7 +1366,6 @@ EBQE = Ninja Master's
|
||||||
EBSE = The Path of the Warrior: Art of Fighting 3
|
EBSE = The Path of the Warrior: Art of Fighting 3
|
||||||
EBSP = 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
|
ECAE = Real Bout Fatal Fury 2: The Newcomers
|
||||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
|
||||||
ECGE = Shock Troopers: 2nd Squad
|
ECGE = Shock Troopers: 2nd Squad
|
||||||
ECGP = Shock Troopers: 2nd Squad
|
ECGP = Shock Troopers: 2nd Squad
|
||||||
E54P = GHOSTS'N GOBLINS
|
E54P = GHOSTS'N GOBLINS
|
||||||
|
@ -1403,6 +1395,8 @@ HAGJ = Canal Noticias
|
||||||
HAGP = Canal Noticias
|
HAGP = Canal Noticias
|
||||||
HAJE = Canal Opiniones
|
HAJE = Canal Opiniones
|
||||||
HAJP = Canal Opiniones
|
HAJP = Canal Opiniones
|
||||||
|
HAKE = Documentos legales/Contacto
|
||||||
|
HAKP = Contrato/Contacto
|
||||||
HAPE = Canal Miirame
|
HAPE = Canal Miirame
|
||||||
HAPP = Canal Concursos Mii
|
HAPP = Canal Concursos Mii
|
||||||
HATE = Canal Nintendo
|
HATE = Canal Nintendo
|
||||||
|
@ -1411,12 +1405,24 @@ HAVP = Canal La fortuna te sonríe
|
||||||
HAWE = Metroid Prime 3 Preview
|
HAWE = Metroid Prime 3 Preview
|
||||||
HAWP = Metroid Prime 3 Preview
|
HAWP = Metroid Prime 3 Preview
|
||||||
HAYA = Canal Fotos
|
HAYA = Canal Fotos
|
||||||
HCAJ = Band Bros. DX Speaker Channel
|
HCAP = Canal Jam with the Band Live
|
||||||
HCAP = Jam with the Band Live
|
HCCJ = Ajustes de dirección
|
||||||
HCFE = Canal Wii Speak
|
HCFE = Canal Wii Speak
|
||||||
HCFP = 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
|
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
|
RMCE = Canal Mario Kart
|
||||||
RMCP = Canal Mario Kart
|
RMCP = Canal Mario Kart
|
||||||
D64A = Wii64
|
D64A = Wii64
|
||||||
|
@ -1429,10 +1435,12 @@ DSDA = SuperDump 1.3
|
||||||
JODI = Canal Homebrew
|
JODI = Canal Homebrew
|
||||||
LULZ = Canal Homebrew
|
LULZ = Canal Homebrew
|
||||||
OHBC = Canal Homebrew
|
OHBC = Canal Homebrew
|
||||||
|
RMCX = Canal CTGP Revolution
|
||||||
G3AS69 = El Señor de los Anillos: La Tercera Edad
|
G3AS69 = El Señor de los Anillos: La Tercera Edad
|
||||||
G3DX6L = Carmen Sandiego: El secreto de los tambores robados
|
G3DX6L = Carmen Sandiego: El secreto de los tambores robados
|
||||||
G3FS69 = TimeSplitters: Futuro Perfecto
|
G3FS69 = TimeSplitters: Futuro Perfecto
|
||||||
G4MP69 = Los Sims: Toman La Calle
|
G4MP69 = Los Sims: Toman La Calle
|
||||||
|
G4ZP69 = Los Sims 2
|
||||||
G8MP01 = Paper Mario: La Puerta Milenaria
|
G8MP01 = Paper Mario: La Puerta Milenaria
|
||||||
G9TP52 = El Espantatiburones
|
G9TP52 = El Espantatiburones
|
||||||
GAZS69 = Harry Potter y el prisionero de Azkaban
|
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
|
GLOS69 = El Señor de los Anillos: Las Dos Torres
|
||||||
GNES78 = Buscando a Nemo
|
GNES78 = Buscando a Nemo
|
||||||
GOYS69 = GoldenEye: Agente Corrupto
|
GOYS69 = GoldenEye: Agente Corrupto
|
||||||
GPQP6L = Las Supernenas: Arrasando las Salsas
|
GPQP6L = Las Supernenas: Escabeche Mutante
|
||||||
GPXP01 = Pokémon Box: Rubí y Zafiro
|
GPXP01 = Pokémon Box: Rubí y Zafiro
|
||||||
GQQD78 = Bob Esponja: ¡Luces, Cámara, Esponja!
|
GQQD78 = Bob Esponja: ¡Luces, Cámara, Esponja!
|
||||||
GQQE78 = 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
|
GQWX69 = Harry Potter: Quidditch Copa del Mundo
|
||||||
GR9P6L = El Imperio del Fuego
|
GR9P6L = El Imperio del Fuego
|
||||||
GSXS64 = Star Wars: Las Guerras Clon
|
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
|
GVLP69 = Marvel Némesis: La Rebelión de los Imperfectos
|
||||||
GWHP41 = Winnie the Pooh: La Fiesta de Cumpleaños
|
GWHP41 = Winnie the Pooh: La Fiesta de Cumpleaños
|
||||||
GX2S52 = X-Men Legends II: El Ascenso de Apocalipsis
|
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
|
R22J01 = FlingSmash
|
||||||
R23P52 = Barbie et les Trois Mousquetaires
|
R23P52 = Barbie et les Trois Mousquetaires
|
||||||
R25PWR = LEGO Harry Potter : Années 1 à 4
|
R25PWR = LEGO Harry Potter : Années 1 à 4
|
||||||
|
@ -127,7 +127,7 @@ RCGP54 = Carnival: Fête Foraine
|
||||||
RCIP41 = Les Experts : Morts Programmées
|
RCIP41 = Les Experts : Morts Programmées
|
||||||
RCKPGN = Sports Challenge : Defi Sports
|
RCKPGN = Sports Challenge : Defi Sports
|
||||||
RCLP4Q = Chicken Little : Aventures Intergalactiques
|
RCLP4Q = Chicken Little : Aventures Intergalactiques
|
||||||
RCOPNP = Détective Conan : Enquête
|
RCOPNP = Détective Conan : Enquête à Mirapolis
|
||||||
RCVP41 = Far Cry : Vengeance
|
RCVP41 = Far Cry : Vengeance
|
||||||
RCXP78 = All Star Pom-pom Girl
|
RCXP78 = All Star Pom-pom Girl
|
||||||
RD4PA4 = Dance Dance Revolution : Hottest Party 2
|
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
|
RH5PKM = Horse Life : Amis pour la vie
|
||||||
RH6P69 = Harry Potter et le Prince de Sang-Mêlé
|
RH6P69 = Harry Potter et le Prince de Sang-Mêlé
|
||||||
RH8P4F = Tomb Raider : Underworld
|
RH8P4F = Tomb Raider : Underworld
|
||||||
|
RHAW01 = Wii Play
|
||||||
RHCP52 = The History Channel : Battle for the Pacific
|
RHCP52 = The History Channel : Battle for the Pacific
|
||||||
RHGP6Z = Agent Hugo : Lemoon Twist
|
RHGP6Z = Agent Hugo : Lemoon Twist
|
||||||
RHKP18 = Job Island
|
RHKP18 = Job Island
|
||||||
|
@ -598,6 +599,7 @@ SINPNG = We Sing : Robbie Williams
|
||||||
SJ2PWR = Scooby-Doo! Panique dans la Marmite
|
SJ2PWR = Scooby-Doo! Panique dans la Marmite
|
||||||
SJ9P41 = Just Dance 2 : Extra Songs
|
SJ9P41 = Just Dance 2 : Extra Songs
|
||||||
SJTP41 = Just Dance : Best Of
|
SJTP41 = Just Dance : Best Of
|
||||||
|
SJXD41 = Just Dance 4 Edition Speciale
|
||||||
SK4P52 = Shrek 4: Il Etait une Fin
|
SK4P52 = Shrek 4: Il Etait une Fin
|
||||||
SK7PVZ = Disney Violetta : Rythme et musique
|
SK7PVZ = Disney Violetta : Rythme et musique
|
||||||
SK7XVZ = 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
|
SMFP4Q = Phineas et Ferb: Voyage dans la Deuxième Dimension
|
||||||
SMGP78 = Megamind
|
SMGP78 = Megamind
|
||||||
SMHPNK = Marvel Super Heroes 3D
|
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
|
SN4XGT = Naruto Shippuden : Dragon Blade Chronicles
|
||||||
SNBP41 = NCIS: Adapté de la série TV
|
SNBP41 = NCIS: Adapté de la série TV
|
||||||
SNHP69 = Need for Speed
|
SNHP69 = Need for Speed
|
||||||
|
@ -687,14 +689,13 @@ RMCE88 = Le Mario Kare Deluxa por jatras
|
||||||
RMCJ91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
RMCJ91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
||||||
RMCK91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
RMCK91 = Wiimms Mario Kart Fun 2021-09 Reservé
|
||||||
RMCP91 = Wiimms Mario Kart Fun 2021-09 Réservé
|
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
|
SBOD3Q = StarSing : Chansons Magiques de Disney v1.1
|
||||||
SILP4Q = SingItStar Latino
|
SILP4Q = SingItStar Latino
|
||||||
SNBE66 = Nouveau Super Mario Bros. Wii Apocalypse
|
SNBE66 = Nouveau Super Mario Bros. Wii Apocalypse
|
||||||
W2CP = Cérébral Challenge
|
W2CP = Cérébral Challenge
|
||||||
W2FP = Entrainement d'équilibre Physiofun
|
W2FP = Entrainement d'équilibre Physiofun
|
||||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
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
|
W2GP = Phoenix Wright Ace Attorney : Justice for All
|
||||||
W2MP = Blaster Master Overdrive
|
W2MP = Blaster Master Overdrive
|
||||||
W2PP = Programme de rééducation du périnée Physiofun
|
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
|
W44P = Stop Stress : A Day of Fury
|
||||||
W4AP = Arcade Sports : Air Hockey, Bowling, Pool, Snooker
|
W4AP = Arcade Sports : Air Hockey, Bowling, Pool, Snooker
|
||||||
W6BP = 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
|
|
||||||
W8CP = Bit.Trip Core
|
W8CP = Bit.Trip Core
|
||||||
W8WP = Happy Holidays Halloween
|
W8WP = Happy Holidays Halloween
|
||||||
W9BP = Big Town Shoot
|
W9BP = Big Town Shoot
|
||||||
|
@ -719,8 +716,6 @@ WA4P = WarioWare : Do It Yourself - Showcase
|
||||||
WA7P = Toribash - La violence perfectionnée
|
WA7P = Toribash - La violence perfectionnée
|
||||||
WA8P = ArtStyle: Penta Tentacles
|
WA8P = ArtStyle: Penta Tentacles
|
||||||
WAEP = Around the world
|
WAEP = Around the world
|
||||||
WAFP = Airport Mania: First Flight
|
|
||||||
WAHP = Trenches: Generals
|
|
||||||
WALP = Art Style : light trax
|
WALP = Art Style : light trax
|
||||||
WAOP = The Very Hungry Caterpillar´s ABC
|
WAOP = The Very Hungry Caterpillar´s ABC
|
||||||
WB2P = Strong Bad Episode 4 : Dangeresque 3
|
WB2P = Strong Bad Episode 4 : Dangeresque 3
|
||||||
|
@ -761,7 +756,6 @@ WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||||
WGPP = Zenquaria L'aquarium Virtuel
|
WGPP = Zenquaria L'aquarium Virtuel
|
||||||
WGSE = Phoenix Wright: Ace Attorney
|
WGSE = Phoenix Wright: Ace Attorney
|
||||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||||
WGSP = Phoenix Wright: Ace Attorney
|
|
||||||
WHEE = Heracles : Chariot Racing
|
WHEE = Heracles : Chariot Racing
|
||||||
WHEP = Heracles : Chariot Racing
|
WHEP = Heracles : Chariot Racing
|
||||||
WHFP = Heavy Fire: Special Operations
|
WHFP = Heavy Fire: Special Operations
|
||||||
|
@ -853,6 +847,7 @@ WWRP = Excitebike: World Challenge
|
||||||
WWXP = Paper Wars Cannon Fodder
|
WWXP = Paper Wars Cannon Fodder
|
||||||
WXBE = Ben 10 Alien Force The Rise of Hex
|
WXBE = Ben 10 Alien Force The Rise of Hex
|
||||||
WXBP = 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
|
WYIP = escapeVektor: Chapter 1
|
||||||
WYSP = Yard Sale Hidden Treasures Sunnyville
|
WYSP = Yard Sale Hidden Treasures Sunnyville
|
||||||
WZIP = Rubik's Puzzle Galaxy : RUSH
|
WZIP = Rubik's Puzzle Galaxy : RUSH
|
||||||
|
@ -923,14 +918,11 @@ JDWP = Aero The Acrobat
|
||||||
JDZF = Mystic Quest Legend
|
JDZF = Mystic Quest Legend
|
||||||
NACP = The Legend of Zelda : Ocarina of Time
|
NACP = The Legend of Zelda : Ocarina of Time
|
||||||
NAJN = Sin and Punishment
|
NAJN = Sin and Punishment
|
||||||
NAKS = Pokémon Snap
|
|
||||||
NAME = Kirby 64 : The Crystal Shards
|
NAME = Kirby 64 : The Crystal Shards
|
||||||
NAMP = Kirby 64 : The Crystal Shards
|
NAMP = Kirby 64 : The Crystal Shards
|
||||||
NAND = Pokémon Puzzle League
|
|
||||||
NAOP = 1080°: TenEighty Snowboarding
|
NAOP = 1080°: TenEighty Snowboarding
|
||||||
NARP = The Legend of Zelda : Majora's Mask
|
NARP = The Legend of Zelda : Majora's Mask
|
||||||
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
NAYE = Ogre Battle 64: Person of Lordly Caliber
|
||||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
|
||||||
LALP = Fantasy Zone II
|
LALP = Fantasy Zone II
|
||||||
LANP = Alex Kidd: The Lost Stars
|
LANP = Alex Kidd: The Lost Stars
|
||||||
LAPP = Wonder Boy III: The Dragon's Trap
|
LAPP = Wonder Boy III: The Dragon's Trap
|
||||||
|
@ -990,7 +982,6 @@ EASE = Samurai Shodown 2
|
||||||
EBDP = Magical Drop 3
|
EBDP = Magical Drop 3
|
||||||
EBFP = Spin master
|
EBFP = Spin master
|
||||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
|
||||||
ECGP = Shock Troopers: 2nd Squad
|
ECGP = Shock Troopers: 2nd Squad
|
||||||
E54P = GHOSTS'N GOBLINS
|
E54P = GHOSTS'N GOBLINS
|
||||||
E55P = Commando
|
E55P = Commando
|
||||||
|
@ -1006,30 +997,38 @@ HACK = Chaîne Mii
|
||||||
HADE = Chaîne Internet
|
HADE = Chaîne Internet
|
||||||
HADP = Chaîne Internet
|
HADP = Chaîne Internet
|
||||||
HAFA = Chaîne météo
|
HAFA = Chaîne météo
|
||||||
|
HAFE = Chaîne météo
|
||||||
HAFP = Chaîne météo
|
HAFP = Chaîne météo
|
||||||
HAGA = Chaîne infos
|
HAGA = Chaîne infos
|
||||||
HAGE = Chaîne infos
|
HAGE = Chaîne infos
|
||||||
HAGJ = Chaîne infos
|
HAGJ = Chaîne infos
|
||||||
HAGP = Chaîne infos
|
HAGP = Chaîne infos
|
||||||
HAJP = Chaîne votes
|
HAJP = Chaîne votes
|
||||||
|
HAKE = Documents légaux/Contact
|
||||||
|
HAKP = Contrat/Contact
|
||||||
HAPE = Chaîne Regardez-Mii
|
HAPE = Chaîne Regardez-Mii
|
||||||
HAPP = Chaîne concours Mii
|
HAPP = Chaîne concours Mii
|
||||||
|
HATE = Chaîne Nintendo
|
||||||
HATP = Chaîne Nintendo
|
HATP = Chaîne Nintendo
|
||||||
HAVP = Chaîne jour de chance
|
HAVP = Chaîne jour de chance
|
||||||
HAWP = Metroid Prime 3 Preview
|
HAWP = Metroid Prime 3 Preview
|
||||||
HAYA = Chaîne photos
|
HAYA = Chaîne photos
|
||||||
HAYK = Chaîne Photo
|
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
|
HCFE = Chaîne Wii Speak
|
||||||
HCFP = Chaîne Wii Speak
|
HCFP = Chaîne Wii Speak
|
||||||
|
HCGP = Wii et Internet
|
||||||
HCMP = Chaîne Kirby TV
|
HCMP = Chaîne Kirby TV
|
||||||
HCRE = The Legend of Zelda: Skyward Sword - Chaîne mise à jour des données
|
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
|
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
|
RMCE = Chaîne Mario Kart
|
||||||
RMCP = Chaîne Mario Kart
|
RMCP = Chaîne Mario Kart
|
||||||
DNUA = Donut Wii
|
DNUA = Donut Wii
|
||||||
OHBC = Chaîne Homebrew
|
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
|
G2FF78 = Tak 2: Le Sceptre des Rêves
|
||||||
G3AF69 = Le Seigneur des Anneaux: Le Tiers Âge
|
G3AF69 = Le Seigneur des Anneaux: Le Tiers Âge
|
||||||
G3DP6L = Carmen Sandiego : Le Secret des Tam-Tams Volés
|
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
|
GF4F52 = Les 4 Fantastiques
|
||||||
GFHP6V = Un Voisin d'Enfer!
|
GFHP6V = Un Voisin d'Enfer!
|
||||||
GFSF69 = Coupe du Monde FIFA 2002
|
GFSF69 = Coupe du Monde FIFA 2002
|
||||||
GGVX78 = Bob l'Eponge : Le Film
|
|
||||||
GH2P69 = Need for Speed : Poursuite Infernale 2
|
GH2P69 = Need for Speed : Poursuite Infernale 2
|
||||||
GH4F69 = Harry Potter et la Coupe de Feu
|
GH4F69 = Harry Potter et la Coupe de Feu
|
||||||
GH5F52 = Nos Voisins, les Hommes
|
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
|
R23P52 = Barbie e le Tre Moschettiere
|
||||||
R25PWR = LEGO Harry Potter: Anni 1-4
|
R25PWR = LEGO Harry Potter: Anni 1-4
|
||||||
R2AP7D = L'Era Glaciale 2: Il Disgelo
|
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
|
SIIP8P = Mario & Sonic ai Giochi Olimpici di Londra 2012
|
||||||
SJ2PWR = Scooby-Doo! e la palude del mistero
|
SJ2PWR = Scooby-Doo! e la palude del mistero
|
||||||
SJ9P41 = Just Dance 2 - Extra Songs
|
SJ9P41 = Just Dance 2 - Extra Songs
|
||||||
|
SJXD41 = Just Dance 4 Edizione Speciale
|
||||||
SK4I52 = Shrek e vissero felici e contenti
|
SK4I52 = Shrek e vissero felici e contenti
|
||||||
SK4P52 = Shrek: E Vissero Felici E Contenti
|
SK4P52 = Shrek: E Vissero Felici E Contenti
|
||||||
SK7PVZ = Disney Violetta: Musica e Ritmo
|
SK7PVZ = Disney Violetta: Musica e Ritmo
|
||||||
|
@ -356,40 +357,29 @@ G01E01 = Super Smash Bros. Melee: Remix SD
|
||||||
MILPSI = SingItStar Miliki
|
MILPSI = SingItStar Miliki
|
||||||
R15POH = SingItStar Radio 105
|
R15POH = SingItStar Radio 105
|
||||||
RGGE52 = Guitar Hero III Custom: Rock The Games
|
RGGE52 = Guitar Hero III Custom: Rock The Games
|
||||||
RMCPCA = Mario Kart Wii (traduzione in catalano)
|
|
||||||
RSJESD = Guitar Hero III Custom: System Of A Down
|
RSJESD = Guitar Hero III Custom: System Of A Down
|
||||||
|
RZDPCA = The Legend of Zelda: Twilight Princess (traduzione in catalano)
|
||||||
S02PES = SingItStar 90's
|
S02PES = SingItStar 90's
|
||||||
SILP4Q = Sing It: Latino
|
SILP4Q = Sing It: Latino
|
||||||
SP9P4Q = SingItStar POP 2009
|
SP9P4Q = SingItStar POP 2009
|
||||||
WFFF4I = Fatal Frame 4: La Maschera dell'eclissi lunare
|
WFFF4I = Fatal Frame 4: La Maschera dell'eclissi lunare
|
||||||
W2CP = Brain Challenge L'Allena-Mente
|
W2CP = Brain Challenge L'Allena-Mente
|
||||||
W2FP = Physiofun - Balance Training
|
W2FP = Physiofun: Balance Training
|
||||||
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
W2GD = Phoenix Wright Ace Attorney: Justice for All (Deutsche Version)
|
||||||
W2GI = Phoenix Wright: Ace Attorney: Justice for All
|
W2GI = Phoenix Wright: Ace Attorney: Justice for All
|
||||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||||
W2MP = Blaster Master: Overdrive
|
|
||||||
W2PP = Physiofun: Pelvic Floor Training
|
W2PP = Physiofun: Pelvic Floor Training
|
||||||
W3GI = Phoenix Wright: Ace Attorney: Trials and Tribulations
|
W3GI = Phoenix Wright: Ace Attorney: Trials and Tribulations
|
||||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
|
||||||
W3MP = I Tre Moschettieri Uno per tutti!
|
W3MP = I Tre Moschettieri Uno per tutti!
|
||||||
W44P = Stop Stress: A Day of Fury
|
|
||||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||||
W6BP = 530 ECO SHOOTER
|
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
|
W8CP = Bit.Trip Core
|
||||||
W8WP = Happy Holidays Halloween
|
W8WP = Happy Holidays Halloween
|
||||||
W9BP = Big Town Shoot
|
W9BP = Big Town Shoot
|
||||||
W9RP = Happy Holidays Christmas
|
W9RP = Happy Holidays Christmas
|
||||||
WA4P = WarioWare: Do It Yourself - Showcase
|
WA4P = WarioWare: Do It Yourself - Showcase
|
||||||
WA7P = Toribash Violence Perfected
|
|
||||||
WA8P = Art Style: Penta Tentacles
|
WA8P = Art Style: Penta Tentacles
|
||||||
WAEP = Around the world
|
WAEP = Around the world
|
||||||
WAFP = Airport Mania: First Flight
|
|
||||||
WAHP = Trenches: Generals
|
|
||||||
WALP = Art Style: light trax
|
|
||||||
WAOP = The Very Hungry Caterpillar´s ABC
|
WAOP = The Very Hungry Caterpillar´s ABC
|
||||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
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
|
WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||||
WGPP = Zenquaria™: Acquario virtuale
|
WGPP = Zenquaria™: Acquario virtuale
|
||||||
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
WGSF = Phoenix Wright: Ace Attorney (French Version)
|
||||||
WGSI = Phoenix Wright: Ace Attorney
|
|
||||||
WGSP = Phoenix Wright: Ace Attorney
|
|
||||||
WHEP = Heracles: Chariot Racing
|
WHEP = Heracles: Chariot Racing
|
||||||
WHFP = Heavy Fire: Special Operations
|
WHFP = Heavy Fire: Special Operations
|
||||||
WHRP = Heron: Steam Machine
|
WHRP = Heron: Steam Machine
|
||||||
|
@ -557,12 +545,7 @@ JDLP = Super Star Wars: Return of the Jedi
|
||||||
JDWP = Aero The Acrobat
|
JDWP = Aero The Acrobat
|
||||||
JDZP = Mystic Quest Legend
|
JDZP = Mystic Quest Legend
|
||||||
JECM = CHRONO TRIGGER
|
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
|
NAOP = 1080°: TenEighty Snowboarding
|
||||||
NARP = The Legend of Zelda: Majora's Mask
|
|
||||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
|
||||||
LALP = Fantasy Zone II
|
LALP = Fantasy Zone II
|
||||||
LANP = Alex Kidd: The Lost Stars
|
LANP = Alex Kidd: The Lost Stars
|
||||||
LAPP = Wonder Boy III: The Dragon's Trap
|
LAPP = Wonder Boy III: The Dragon's Trap
|
||||||
|
@ -615,7 +598,6 @@ EAIP = Top Hunter
|
||||||
EBDP = Magical Drop 3
|
EBDP = Magical Drop 3
|
||||||
EBFP = Spin master
|
EBFP = Spin master
|
||||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
|
||||||
ECGP = Shock Troopers: 2nd Squad
|
ECGP = Shock Troopers: 2nd Squad
|
||||||
E54P = GHOSTS'N GOBLINS
|
E54P = GHOSTS'N GOBLINS
|
||||||
E55P = Wolf of the Battlefield: Commando
|
E55P = Wolf of the Battlefield: Commando
|
||||||
|
@ -631,20 +613,24 @@ HADE = Canale Internet
|
||||||
HADP = Canale Internet
|
HADP = Canale Internet
|
||||||
HAFP = Canale Meteo
|
HAFP = Canale Meteo
|
||||||
HAGA = Canale Notizie
|
HAGA = Canale Notizie
|
||||||
HAGE = Canale Notizie
|
|
||||||
HAGJ = Canale Notizie
|
HAGJ = Canale Notizie
|
||||||
HAGP = Canale Notizie
|
HAGP = Canale Notizie
|
||||||
HAJP = Canale Vota Anche Tu
|
HAJP = Canale Vota Anche Tu
|
||||||
|
HAKP = Accordo/Contatto
|
||||||
HAPP = Canale Concorsi Mii
|
HAPP = Canale Concorsi Mii
|
||||||
HATP = Canale Nintendo
|
HATP = Canale Nintendo
|
||||||
HAVP = Canal La fortuna ti sorride
|
HAVP = Canale La fortuna ti sorride
|
||||||
HAWP = Metroid Prime 3 Preview
|
HAWP = Metroid Prime 3 Preview
|
||||||
HAYA = Canale Foto
|
HAYA = Canale Foto
|
||||||
|
HCAP = Canale Jam with the Band Live
|
||||||
|
HCCJ = Impostazioni indirizzo
|
||||||
HCFE = Canale Wii Speak
|
HCFE = Canale Wii Speak
|
||||||
HCFP = Canale Wii Speak
|
HCFP = Canale Wii Speak
|
||||||
|
HCGP = Wii e Internet
|
||||||
HCMP = Canale TV Kirby
|
HCMP = Canale TV Kirby
|
||||||
HCRE = The Legend of Zelda: Skyward Sword - Canale Aggrioornamento dati di
|
HCRE = The Legend of Zelda: Skyward Sword - Canale Aggrioornamento dati di
|
||||||
HCRP = 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
|
RMCP = Canale Mario Kart
|
||||||
JODI = Canale Homebrew
|
JODI = Canale Homebrew
|
||||||
LULZ = 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 = みんなで冒険!ファミリートレーナー 体験版
|
D2AJAF = みんなで冒険!ファミリートレーナー 体験版
|
||||||
DCHJAF = WE CHEER: おはスタプロデュース!限定コラボゲームディスク
|
DCHJAF = WE CHEER: おはスタプロデュース!限定コラボゲームディスク
|
||||||
|
DFNJ01 = Wiiフィット 体験版
|
||||||
DHHJ8J = 平野綾 Premiumムービーディスク from 涼宮ハルヒの激動
|
DHHJ8J = 平野綾 Premiumムービーディスク from 涼宮ハルヒの激動
|
||||||
DK6J18 = コロリンパ2 -アンソニーと黃金のひまわりのタネ-
|
DK6J18 = コロリンパ2 -アンソニーと黃金のひまわりのタネ-
|
||||||
DMHJ08 = モンスターハンター 3 -tri- (Demo)
|
DMHJ08 = モンスターハンター 3 -tri- (Demo)
|
||||||
|
@ -17,7 +18,7 @@ R2GJAF = FRAGILE 〜さよなら月の廃墟〜
|
||||||
R2JJAF = 太鼓の達人Wii
|
R2JJAF = 太鼓の達人Wii
|
||||||
R2LJMS = Hula Wii フラで始める 美と健康!!
|
R2LJMS = Hula Wii フラで始める 美と健康!!
|
||||||
R2PJ9B = スイングゴルフ パンヤ 2ndショット!
|
R2PJ9B = スイングゴルフ パンヤ 2ndショット!
|
||||||
R2QJC0 = クッキングママ 2 たいへん!!ママはおおいそがし!
|
R2QJC0 = クッキングママ2 たいへん!!ママはおおいそがし!
|
||||||
R2SJ18 = DECA SPORTA 2 Wiiでスポーツ”10”種目!
|
R2SJ18 = DECA SPORTA 2 Wiiでスポーツ”10”種目!
|
||||||
R2UJ8P = レッツタップ
|
R2UJ8P = レッツタップ
|
||||||
R2VJ01 = 罪と罰 宇宙の後継者
|
R2VJ01 = 罪と罰 宇宙の後継者
|
||||||
|
@ -396,6 +397,7 @@ S5KJAF = 太鼓の達人Wii 超ごうか版
|
||||||
S5QJC8 = 戦国無双 3 猛将伝
|
S5QJC8 = 戦国無双 3 猛将伝
|
||||||
S5SJHF = イナズマイレブンGO ストライカーズ 2013
|
S5SJHF = イナズマイレブンGO ストライカーズ 2013
|
||||||
S6TJGD = ドラゴンクエストX オールインワンパッケージ
|
S6TJGD = ドラゴンクエストX オールインワンパッケージ
|
||||||
|
S72E01 = 星のカービィ 20周年スペシャルコレクション
|
||||||
S72J01 = 星のカービィ 20周年スペシャルコレクション
|
S72J01 = 星のカービィ 20周年スペシャルコレクション
|
||||||
S7CJAF = 仮面ライダー クライマックスヒーローズ フォーゼ
|
S7CJAF = 仮面ライダー クライマックスヒーローズ フォーゼ
|
||||||
SAAJA4 = ウイニングイレブン プレーメーカー 2013
|
SAAJA4 = ウイニングイレブン プレーメーカー 2013
|
||||||
|
@ -434,7 +436,7 @@ SGIJA4 = GTI Club ワールド シティ レース
|
||||||
SGKJC8 = チャンピオンジョッキー:ギャロップレーサー&ジーワンジョッキー
|
SGKJC8 = チャンピオンジョッキー:ギャロップレーサー&ジーワンジョッキー
|
||||||
SGVJAF = ゴーバケーション
|
SGVJAF = ゴーバケーション
|
||||||
SH2JMS = Hula Wii 楽しくフラを踴ろう!!
|
SH2JMS = Hula Wii 楽しくフラを踴ろう!!
|
||||||
SHIJ2N = シェイプボクシング 2 Wiiでエンジョイダイエット!
|
SHIJ2N = シェイプボクシング2 Wiiでエンジョイダイエット!
|
||||||
SIIE8P = マリオ&ソニック AT ロンドンオリンピック
|
SIIE8P = マリオ&ソニック AT ロンドンオリンピック
|
||||||
SIIJ01 = マリオ&ソニック AT ロンドンオリンピック
|
SIIJ01 = マリオ&ソニック AT ロンドンオリンピック
|
||||||
SIIP8P = マリオ&ソニック AT ロンドンオリンピック
|
SIIP8P = マリオ&ソニック AT ロンドンオリンピック
|
||||||
|
@ -500,6 +502,7 @@ STKJ08 = タツノコ VS.カプコン アルティメットオール・スター
|
||||||
STQJHF = イナズマイレブン ストライカーズ
|
STQJHF = イナズマイレブン ストライカーズ
|
||||||
SUKE01 = 星のカービィWii
|
SUKE01 = 星のカービィWii
|
||||||
SUKJ01 = 星のカービィWii
|
SUKJ01 = 星のカービィWii
|
||||||
|
SUKP01 = 星のカービィWii
|
||||||
SUMJC8 = ウイニングポストワールド 2010
|
SUMJC8 = ウイニングポストワールド 2010
|
||||||
SUPJ01 = Wiiパーティー
|
SUPJ01 = Wiiパーティー
|
||||||
SUXJA4 = ウイニングイレブン プレーメーカー 2010
|
SUXJA4 = ウイニングイレブン プレーメーカー 2010
|
||||||
|
@ -564,7 +567,7 @@ W4KJ = 鹿狩
|
||||||
W4OJ = シカクいアタマをマルくする。 毎日みんなでチャレンジ編
|
W4OJ = シカクいアタマをマルくする。 毎日みんなでチャレンジ編
|
||||||
W6BJ = 530 エコシューター
|
W6BJ = 530 エコシューター
|
||||||
W82J = 陣取りアクション! 太閤検地 ~からくり城のナゾ~
|
W82J = 陣取りアクション! 太閤検地 ~からくり城のナゾ~
|
||||||
W8CJ = BIT. TRIP CORE ~リズム星人の逆襲~
|
W8CJ = BIT.TRIP CORE ~リズム星人の逆襲~
|
||||||
W8DJ = メビウス・ドライブ
|
W8DJ = メビウス・ドライブ
|
||||||
W8IJ = ハチワンダイバー -81diver- Wii
|
W8IJ = ハチワンダイバー -81diver- Wii
|
||||||
W8PJ = おうちで∞プチプチWii
|
W8PJ = おうちで∞プチプチWii
|
||||||
|
@ -587,7 +590,7 @@ WBAJ = バクたん
|
||||||
WBBJ = ボードウォリアーズ
|
WBBJ = ボードウォリアーズ
|
||||||
WBJJ = 牧場物語シリーズ まきばのおみせ
|
WBJJ = 牧場物語シリーズ まきばのおみせ
|
||||||
WBKJ = ARKANOID Plus!
|
WBKJ = ARKANOID Plus!
|
||||||
WBLJ = BUBBLE BOBBLE Wii
|
WBLJ = バブルボブルWii
|
||||||
WBMJ = みんなのポケモン牧場 プラチナ対応版
|
WBMJ = みんなのポケモン牧場 プラチナ対応版
|
||||||
WBNJ = 盆栽バーバー
|
WBNJ = 盆栽バーバー
|
||||||
WBSJ = POP ~ポップ~
|
WBSJ = POP ~ポップ~
|
||||||
|
@ -760,8 +763,8 @@ WZJJ = @SIMPLEシリーズ Vol.5 THE 柔道
|
||||||
WZMJ = @SIMPLEシリーズ Vol.3 THE 麻雀
|
WZMJ = @SIMPLEシリーズ Vol.3 THE 麻雀
|
||||||
WZPJ = ゾンビ イン ワンダーランド
|
WZPJ = ゾンビ イン ワンダーランド
|
||||||
WZZJ = くまなげ ~ピイナの好きな赤いキャンディ パズル編~
|
WZZJ = くまなげ ~ピイナの好きな赤いキャンディ パズル編~
|
||||||
XHCJ = 光と闇の姫君と世界征服の塔 -FINAL FANTASY CHRISTAL CHRONICLES- (Demo)
|
XHCJ = 光と闇の姫君と世界征服の塔 -FINAL FANTASY CRYSTAL CHRONICLES- (Demo)
|
||||||
XHEJ = BIT. TRIP BEAT (Demo)
|
XHEJ = BIT.TRIP BEAT (Demo)
|
||||||
XHFJ = グーの惑星 (Demo)
|
XHFJ = グーの惑星 (Demo)
|
||||||
XHHJ = ポケモン不思議のダンジョン めざせ!光の冒険団 (Demo)
|
XHHJ = ポケモン不思議のダンジョン めざせ!光の冒険団 (Demo)
|
||||||
XHJJ = すりぬけアナトウス (Demo)
|
XHJJ = すりぬけアナトウス (Demo)
|
||||||
|
@ -1003,6 +1006,7 @@ JCYJ = 大航海時代Ⅱ
|
||||||
JCZJ = スーパー蒼き狼と白き牝鹿 元朝秘史
|
JCZJ = スーパー蒼き狼と白き牝鹿 元朝秘史
|
||||||
JD2J = 美少女雀士 スーチーパイ
|
JD2J = 美少女雀士 スーチーパイ
|
||||||
JD3J = SUPER E.D.F. EARTH DEFENSE FORCE
|
JD3J = SUPER E.D.F. EARTH DEFENSE FORCE
|
||||||
|
JD4J = ラッシングビート
|
||||||
JD5J = ラッシング・ビート 乱 複製都市
|
JD5J = ラッシング・ビート 乱 複製都市
|
||||||
JD6J = ファイヤー・ファイティング
|
JD6J = ファイヤー・ファイティング
|
||||||
JD7J = 高橋名人の大冒険島
|
JD7J = 高橋名人の大冒険島
|
||||||
|
@ -1577,7 +1581,7 @@ E36J01 = 月刊任天堂店頭デモ 2006年08月号
|
||||||
E37J01 = 月刊任天堂店頭デモ 2006年09月号
|
E37J01 = 月刊任天堂店頭デモ 2006年09月号
|
||||||
G2DJB2 = デジモンバトルクロニクル
|
G2DJB2 = デジモンバトルクロニクル
|
||||||
G2GJB2 = 機動戦士ガンダム ガンダムvs.Zガンダム
|
G2GJB2 = 機動戦士ガンダム ガンダムvs.Zガンダム
|
||||||
G2MJ01 = メトロイドプライム 2 ダークエコーズ
|
G2MJ01 = メトロイドプライム2 ダークエコーズ
|
||||||
G2NJ13 = ニード・フォー・スピード アンダーグラウンド 2
|
G2NJ13 = ニード・フォー・スピード アンダーグラウンド 2
|
||||||
G2SJGE = 式神の城Ⅱ
|
G2SJGE = 式神の城Ⅱ
|
||||||
G2VJ08 = ビューティフルジョー 2 ブラックフィルムの謎
|
G2VJ08 = ビューティフルジョー 2 ブラックフィルムの謎
|
||||||
|
@ -1629,7 +1633,7 @@ GBZJ08 = バイオハザード 0
|
||||||
GC4JBN = 新世紀GPXサイバーフォーミュラ Road To The Evolution
|
GC4JBN = 新世紀GPXサイバーフォーミュラ Road To The Evolution
|
||||||
GC6J01 = ポケモンコロシアム
|
GC6J01 = ポケモンコロシアム
|
||||||
GC8JA4 = クラッシュ・バンディクー 爆走!ニトロカート
|
GC8JA4 = クラッシュ・バンディクー 爆走!ニトロカート
|
||||||
GCBJA4 = クラッシュ・バンディクー 4 さくれつ!魔神パワー
|
GCBJA4 = クラッシュ・バンディクー4 さくれつ!魔神パワー
|
||||||
GCCJ01 = FINAL FANTASY CRYSTAL CHRONICLES
|
GCCJ01 = FINAL FANTASY CRYSTAL CHRONICLES
|
||||||
GCCJGC = FINAL FANTASY CRYSTAL CHRONICLES
|
GCCJGC = FINAL FANTASY CRYSTAL CHRONICLES
|
||||||
GCDJ08 = バイオハザード -コード:ベロニカ- 完全版
|
GCDJ08 = バイオハザード -コード:ベロニカ- 完全版
|
||||||
|
@ -1718,7 +1722,9 @@ GKRJB2 = ケロケロキングDX
|
||||||
GKTJA4 = キャプテン翼 ~黄金世代の挑戦~
|
GKTJA4 = キャプテン翼 ~黄金世代の挑戦~
|
||||||
GKWJ18 = ドリームミックスTV ワールドファイターズ
|
GKWJ18 = ドリームミックスTV ワールドファイターズ
|
||||||
GKXJE7 = 極・麻雀DXⅡ ~The 4th MONDO21Cup~
|
GKXJE7 = 極・麻雀DXⅡ ~The 4th MONDO21Cup~
|
||||||
|
GKYE01 = カービィのエアライド
|
||||||
GKYJ01 = カービィのエアライド
|
GKYJ01 = カービィのエアライド
|
||||||
|
GKYP01 = カービィのエアライド
|
||||||
GL3JE8 = ルパン三世:海に消えた秘宝
|
GL3JE8 = ルパン三世:海に消えた秘宝
|
||||||
GLEJ08 = バイオハザード 3 ラストエスケープ
|
GLEJ08 = バイオハザード 3 ラストエスケープ
|
||||||
GLIJA7 = SPECIAL人生ゲーム
|
GLIJA7 = SPECIAL人生ゲーム
|
||||||
|
@ -1830,7 +1836,9 @@ GYBJ01 = ドンキーコング ジャングルビート
|
||||||
GYFJA4 = 遊戯王 フォルスバウンドキングダム 虚構に閉ざされた王国
|
GYFJA4 = 遊戯王 フォルスバウンドキングダム 虚構に閉ざされた王国
|
||||||
GYKJB2 = 金色のガッシュベル!! 友情タッグバトル2
|
GYKJB2 = 金色のガッシュベル!! 友情タッグバトル2
|
||||||
GYMJA4 = 実況パワフルメジャーリーグ
|
GYMJA4 = 実況パワフルメジャーリーグ
|
||||||
|
GYQE01 = スーパーマリオスタジアム ミラクルベースボール
|
||||||
GYQJ01 = スーパーマリオスタジアム ミラクルベースボール
|
GYQJ01 = スーパーマリオスタジアム ミラクルベースボール
|
||||||
|
GYQP01 = スーパーマリオスタジアム ミラクルベースボール
|
||||||
GYWJ99 = 牧場物語 ワンダフルライフ
|
GYWJ99 = 牧場物語 ワンダフルライフ
|
||||||
GZ2J01 = ゼルダの伝説 トワイライトプリンセス [GC]
|
GZ2J01 = ゼルダの伝説 トワイライトプリンセス [GC]
|
||||||
GZBJB2 = ドラゴンボールZ
|
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
|
091E00 = 영화 채널 설치 디스크 Ver. A
|
||||||
410E01 = Wii 백업 디스크 v1.31
|
410E01 = Wii 백업 디스크 v1.31
|
||||||
413E01 = 디스크업데이트 디스크
|
413E01 = 디스크업데이트 디스크
|
||||||
|
@ -31,7 +31,6 @@ DQGP69 = 마이심즈 레이싱 체험판
|
||||||
DRME18 = 룸즈: 메인 빌딩 체험판
|
DRME18 = 룸즈: 메인 빌딩 체험판
|
||||||
DSFE7U = 무라마사: 데몬 블레이드 체험판
|
DSFE7U = 무라마사: 데몬 블레이드 체험판
|
||||||
DSRJ8P = 소닉과 비밀의 링 체험판
|
DSRJ8P = 소닉과 비밀의 링 체험판
|
||||||
DTOJ8P = 428: 봉쇄된 시부야에서 체험판
|
|
||||||
DTZJ08 = 보물섬 Z 발바로스의 보물 체험판
|
DTZJ08 = 보물섬 Z 발바로스의 보물 체험판
|
||||||
DWEJA4 = 위닝 일레븐 플레이 메이커 2008 체험판
|
DWEJA4 = 위닝 일레븐 플레이 메이커 2008 체험판
|
||||||
DWEPA4 = 프로 에볼루션 사커 2008 체험판
|
DWEPA4 = 프로 에볼루션 사커 2008 체험판
|
||||||
|
@ -134,12 +133,12 @@ R3JE5G = 고 플레이 써커스 스타
|
||||||
R3KP6N = 고층 건물
|
R3KP6N = 고층 건물
|
||||||
R3LEWR = 그린 랜턴: 반지의 선택
|
R3LEWR = 그린 랜턴: 반지의 선택
|
||||||
R3LPWR = 그린 랜턴: 맨헌터의 위협
|
R3LPWR = 그린 랜턴: 맨헌터의 위협
|
||||||
R3ME01 = 메트로이드 프라임: 3부작
|
R3ME01 = 메트로이드 프라임 트릴로지
|
||||||
R3MP01 = 메트로이드 프라임: 3부작
|
R3MP01 = 메트로이드 프라임 트릴로지
|
||||||
R3NEXS = 길티기어 이그젝스 액센트 코어 플러스
|
R3NEXS = 길티기어 이그젝스 액센트 코어 플러스
|
||||||
R3NPH3 = 길티기어 이그젝스 액센트 코어 플러스
|
R3NPH3 = 길티기어 이그젝스 액센트 코어 플러스
|
||||||
R3OE01 = 메트로이드: 다른 M
|
R3OE01 = 메트로이드: 또 다른 M
|
||||||
R3OJ01 = 메트로이드: 다른 M
|
R3OJ01 = 메트로이드: 또 다른 M
|
||||||
R3OP01 = 메트로이드: 다른 M
|
R3OP01 = 메트로이드: 다른 M
|
||||||
R3PEWR = 스피드 레이서: 비디오게임
|
R3PEWR = 스피드 레이서: 비디오게임
|
||||||
R3PJ52 = 스피드 레이서
|
R3PJ52 = 스피드 레이서
|
||||||
|
@ -445,10 +444,10 @@ R92J01 = Wii로 즐기는 피크민 2
|
||||||
R92P01 = 피크민 2
|
R92P01 = 피크민 2
|
||||||
R94PMR = 얼티밋 레드 볼 첼린지
|
R94PMR = 얼티밋 레드 볼 첼린지
|
||||||
R94XMR = 얼티밋 레드 볼 첼린지
|
R94XMR = 얼티밋 레드 볼 첼린지
|
||||||
R96EAF = 바람의 크로노아 - 판토마일의 문
|
R96EAF = 바람의 크로노아 Door to Phantomile
|
||||||
R96JAF = 바람의 크로노아 - 판토마일의 문
|
R96JAF = 바람의 크로노아 Door to Phantomile
|
||||||
R96KAF = 바람의 크로노아: 판토마일의 문
|
R96KAF = 바람의 크로노아 Door to Phantomile
|
||||||
R96PAF = 바람의 크로노아 - 판토마일의 문
|
R96PAF = 바람의 크로노아 Door to Phantomile
|
||||||
R97E9B = 패밀리 펀 풋볼
|
R97E9B = 패밀리 펀 풋볼
|
||||||
R9AE52 = 엑티비젼 데모 액션 팩 체험판
|
R9AE52 = 엑티비젼 데모 액션 팩 체험판
|
||||||
R9BPMT = 뚝딱뚝딱 밥아저씨: 즐거운 축제
|
R9BPMT = 뚝딱뚝딱 밥아저씨: 즐거운 축제
|
||||||
|
@ -500,8 +499,8 @@ RB4X08 = 레지던트 이블 4: Wii 에디션
|
||||||
RB5E41 = 브라더스 인 암즈: 언드 인 블러드
|
RB5E41 = 브라더스 인 암즈: 언드 인 블러드
|
||||||
RB5P41 = 브라더스 인 암즈: 언드 인 블러드
|
RB5P41 = 브라더스 인 암즈: 언드 인 블러드
|
||||||
RB6J18 = 봄버맨
|
RB6J18 = 봄버맨
|
||||||
RB7E54 = 불리: 장학금 에디션
|
RB7E54 = 불리: 스칼라쉽 에디션
|
||||||
RB7P54 = 불리: 장학금 에디션
|
RB7P54 = 불리: 스칼라쉽 에디션
|
||||||
RB8E70 = 백야드 야구 '09
|
RB8E70 = 백야드 야구 '09
|
||||||
RB9D78 = 브라츠: 영화
|
RB9D78 = 브라츠: 영화
|
||||||
RB9E78 = 브라츠: 영화
|
RB9E78 = 브라츠: 영화
|
||||||
|
@ -576,7 +575,7 @@ RC3E41 = 애완동물 고양이들 2
|
||||||
RC3J41 = 고양이와 마법의 모자
|
RC3J41 = 고양이와 마법의 모자
|
||||||
RC3P41 = 고양이들
|
RC3P41 = 고양이들
|
||||||
RC3X41 = 고양이들
|
RC3X41 = 고양이들
|
||||||
RC4JD9 = 크레용 신 짱: 최강 가족 카스카베 왕 Wii
|
RC4JD9 = 크레용 신 짱: 최강 가족 카스카베 킹 Wii
|
||||||
RC4SGT = 짱구는 못말려: 새로운 모험 Wii
|
RC4SGT = 짱구는 못말려: 새로운 모험 Wii
|
||||||
RC5JDQ = 청소 전대 크린 키퍼
|
RC5JDQ = 청소 전대 크린 키퍼
|
||||||
RC7E20 = 바다 몬스터들: 선사시대 모험
|
RC7E20 = 바다 몬스터들: 선사시대 모험
|
||||||
|
@ -618,7 +617,7 @@ RCLE4Q = 디즈니의 치킨 리틀: 액션 에이스
|
||||||
RCLP4Q = 디즈니의 치킨 리틀: 액션 에이스
|
RCLP4Q = 디즈니의 치킨 리틀: 액션 에이스
|
||||||
RCOJ99 = 명탐정 코난: 추억의 환상
|
RCOJ99 = 명탐정 코난: 추억의 환상
|
||||||
RCOK99 = 명탐정 코난: 추억의 환상
|
RCOK99 = 명탐정 코난: 추억의 환상
|
||||||
RCOKZF = 명탐정 홈즈 추억의 환상
|
RCOKZF = 명탐정 코난: 추억의 환상
|
||||||
RCOPNP = 명탐정 코난: 추억의 환상
|
RCOPNP = 명탐정 코난: 추억의 환상
|
||||||
RCPE18 = 코로린파: 구슬 매니아
|
RCPE18 = 코로린파: 구슬 매니아
|
||||||
RCPJ18 = 코로린파
|
RCPJ18 = 코로린파
|
||||||
|
@ -1095,10 +1094,10 @@ RK2JEB = 트라우마 센터: 새로운 피
|
||||||
RK2P01 = 트라우마 센터: 새로운 피
|
RK2P01 = 트라우마 센터: 새로운 피
|
||||||
RK3J01 = 앤드 검색
|
RK3J01 = 앤드 검색
|
||||||
RK4JAF = 결계사: 흑망루의 그림자
|
RK4JAF = 결계사: 흑망루의 그림자
|
||||||
RK5E01 = 털실 커비의 이야기
|
RK5E01 = 털실 커비 이야기
|
||||||
RK5J01 = 털실 커비의 이야기
|
RK5J01 = 털실 커비 이야기
|
||||||
RK5K01 = 털실 커비의 이야기
|
RK5K01 = 털실 커비 이야기
|
||||||
RK5P01 = 털실 커비의 이야기
|
RK5P01 = 털실 커비 이야기
|
||||||
RK6E18 = 구슬 이야기: 코로린파
|
RK6E18 = 구슬 이야기: 코로린파
|
||||||
RK6J18 = 코로린파 2 - 앤써니와 황금 해바라기 씨앗
|
RK6J18 = 코로린파 2 - 앤써니와 황금 해바라기 씨앗
|
||||||
RK6P18 = 마블! 균형 도전
|
RK6P18 = 마블! 균형 도전
|
||||||
|
@ -1255,12 +1254,11 @@ RM9PGM = 버섯맨: 포자 대전
|
||||||
RMAE01 = 마리오 파워 테니스
|
RMAE01 = 마리오 파워 테니스
|
||||||
RMAJ01 = Wii로 즐기는 마리오 테니스 GC
|
RMAJ01 = Wii로 즐기는 마리오 테니스 GC
|
||||||
RMAP01 = 마리오 파워 테니스
|
RMAP01 = 마리오 파워 테니스
|
||||||
RMBE01 = 마리오 슈퍼 강타자들
|
RMBE01 = 마리오 슈퍼 슬러거즈
|
||||||
RMBJ01 = 슈퍼 마리오 스타디움 패밀리 야구
|
RMBJ01 = 슈퍼 마리오 스타디움 패밀리 베이스볼
|
||||||
RMCE01 = 마리오 카트 Wii
|
RMCE01 = 마리오 카트 Wii
|
||||||
RMCJ01 = 마리오 카트 Wii
|
RMCJ01 = 마리오 카트 Wii
|
||||||
RMCK01 = 마리오 카트 Wii
|
RMCK01 = 마리오 카트 Wii
|
||||||
RMCK50 = Wiimms 마리오 카트-텍스쳐즈 2022-12.한국
|
|
||||||
RMCKBR = 마리오 카트 Brown
|
RMCKBR = 마리오 카트 Brown
|
||||||
RMCP01 = 마리오 카트 Wii
|
RMCP01 = 마리오 카트 Wii
|
||||||
RMDE69 = 매든 NFL 07
|
RMDE69 = 매든 NFL 07
|
||||||
|
@ -1302,7 +1300,7 @@ RMRXNK = 코코토 매직 써커스
|
||||||
RMSE52 = 마벨: 얼티밋 얼라이언스 2
|
RMSE52 = 마벨: 얼티밋 얼라이언스 2
|
||||||
RMSP52 = 마벨: 얼티밋 얼라이언스 2
|
RMSP52 = 마벨: 얼티밋 얼라이언스 2
|
||||||
RMTJ18 = 모모타로 전철 16 홋카이도 대이동의 권!
|
RMTJ18 = 모모타로 전철 16 홋카이도 대이동의 권!
|
||||||
RMUE52 = 마벨: 얼티밋 얼라이언스
|
RMUE52 = 마블: 얼티밋 얼라이언스
|
||||||
RMUJ2K = 마벨: 얼티밋 얼라이언스
|
RMUJ2K = 마벨: 얼티밋 얼라이언스
|
||||||
RMUP52 = 마벨: 얼티밋 얼라이언스
|
RMUP52 = 마벨: 얼티밋 얼라이언스
|
||||||
RMVE69 = 메달 오브 아너: 선봉
|
RMVE69 = 메달 오브 아너: 선봉
|
||||||
|
@ -1671,7 +1669,7 @@ RS3P52 = 스파이더맨 3
|
||||||
RS3X52 = 스파이더맨 3
|
RS3X52 = 스파이더맨 3
|
||||||
RS4EXS = 식신의 성 III
|
RS4EXS = 식신의 성 III
|
||||||
RS4JJF = 식신의 성 III
|
RS4JJF = 식신의 성 III
|
||||||
RS4PXS = 식신의 성 III
|
RS4PH3 = 식신의 성 III
|
||||||
RS5EC8 = 사무라이 전사들: 카타나
|
RS5EC8 = 사무라이 전사들: 카타나
|
||||||
RS5JC8 = 전국무쌍 카타나
|
RS5JC8 = 전국무쌍 카타나
|
||||||
RS5PC8 = 사무라이 전사들: 카타나
|
RS5PC8 = 사무라이 전사들: 카타나
|
||||||
|
@ -1684,7 +1682,7 @@ RSAE78 = 스펀지밥 - 아틀란티스
|
||||||
RSAP78 = 스펀지밥 - 아틀란티스
|
RSAP78 = 스펀지밥 - 아틀란티스
|
||||||
RSBE01 = 대난투 스매시 브라더스 X
|
RSBE01 = 대난투 스매시 브라더스 X
|
||||||
RSBJ01 = 대난투 스매시 브라더스 X
|
RSBJ01 = 대난투 스매시 브라더스 X
|
||||||
RSBK01 = 대난투 스매시 브라더스
|
RSBK01 = 대난투 스매시 브라더스 X
|
||||||
RSBP01 = 대난투 스매시 브라더스 X
|
RSBP01 = 대난투 스매시 브라더스 X
|
||||||
RSCD7D = 스카페이스: 세상은 너의 것
|
RSCD7D = 스카페이스: 세상은 너의 것
|
||||||
RSCE7D = 스카페이스: 세상은 너의 것
|
RSCE7D = 스카페이스: 세상은 너의 것
|
||||||
|
@ -1708,10 +1706,10 @@ RSJP41 = 파검: 기사단의 그림자 (감독판)
|
||||||
RSKE52 = 슈렉 3
|
RSKE52 = 슈렉 3
|
||||||
RSKP52 = 슈렉 3
|
RSKP52 = 슈렉 3
|
||||||
RSKX52 = 슈렉 3
|
RSKX52 = 슈렉 3
|
||||||
RSLEAF = 소울 칼리버: 전설들
|
RSLEAF = 소울 칼리버 레전즈
|
||||||
RSLJAF = 소울 칼리버: 전설들
|
RSLJAF = 소울 칼리버 레전즈
|
||||||
RSLKAF = 소울칼리버: 전설들
|
RSLKAF = 소울 칼리버 레전즈
|
||||||
RSLPAF = 소울 칼리버: 전설들
|
RSLPAF = 소울 칼리버 레전즈
|
||||||
RSME8P = 슈퍼 몽키 볼: 바나나 블리츠
|
RSME8P = 슈퍼 몽키 볼: 바나나 블리츠
|
||||||
RSMJ8P = 슈퍼 몽키 볼: 우키 우키 파티 대집합
|
RSMJ8P = 슈퍼 몽키 볼: 우키 우키 파티 대집합
|
||||||
RSMP8P = 슈퍼 몽키 볼: 바나나 블리츠
|
RSMP8P = 슈퍼 몽키 볼: 바나나 블리츠
|
||||||
|
@ -1788,10 +1786,10 @@ RTDK8M = 신중화대선 ~마이클과 메이메이의 모험~
|
||||||
RTEE78 = 파우스 & 클라우스 : 애완동물 수의사
|
RTEE78 = 파우스 & 클라우스 : 애완동물 수의사
|
||||||
RTEHMR = 실제 이야기들: 수의사
|
RTEHMR = 실제 이야기들: 수의사
|
||||||
RTEPFR = 나의 수의사 연습
|
RTEPFR = 나의 수의사 연습
|
||||||
RTFE52 = 트랜스포머즈: 게임
|
RTFE52 = 트랜스포머: 더 게임
|
||||||
RTFJ52 = 트랜스포머즈: 게임
|
RTFJ52 = 트랜스포머: 더 게임
|
||||||
RTFK52 = 트랜스포머즈: 더 게임
|
RTFK52 = 트랜스포머: 더 게임
|
||||||
RTFP52 = 트랜스포머즈: 게임
|
RTFP52 = 트랜스포머: 더 게임
|
||||||
RTFX52 = 트랜스포머즈: 게임
|
RTFX52 = 트랜스포머즈: 게임
|
||||||
RTFY52 = 트랜스포머즈: 게임
|
RTFY52 = 트랜스포머즈: 게임
|
||||||
RTGJ18 = 엄선 테이블 게임 Wii
|
RTGJ18 = 엄선 테이블 게임 Wii
|
||||||
|
@ -1932,7 +1930,6 @@ RVEFMR = 알로, 슈티
|
||||||
RVFE20 = 빅풋: 충돌 진로
|
RVFE20 = 빅풋: 충돌 진로
|
||||||
RVFP7J = 빅풋: 충돌 진로
|
RVFP7J = 빅풋: 충돌 진로
|
||||||
RVGE78 = 머브 그리핀의 십자말풀이
|
RVGE78 = 머브 그리핀의 십자말풀이
|
||||||
RVGP78 = 마곳의 워드 브레인
|
|
||||||
RVHP41 = 스크래블 인터렉티브: 2009 에디션
|
RVHP41 = 스크래블 인터렉티브: 2009 에디션
|
||||||
RVIE4F = 바이오니클 히어로즈
|
RVIE4F = 바이오니클 히어로즈
|
||||||
RVIP4F = 바이오니클 히어로즈
|
RVIP4F = 바이오니클 히어로즈
|
||||||
|
@ -2345,8 +2342,8 @@ S6IP78 = 디즈니 공주들: 매혹적인 이야기 책들
|
||||||
S6RE52 = 주먹왕 랄프
|
S6RE52 = 주먹왕 랄프
|
||||||
S6RP52 = 주먹왕 랄프
|
S6RP52 = 주먹왕 랄프
|
||||||
S6TJGD = 드래곤 퀘스트 X (올 인 원 팩키지)
|
S6TJGD = 드래곤 퀘스트 X (올 인 원 팩키지)
|
||||||
S72E01 = 커비의 꿈 컬렉션: 스페셜 에디션
|
S72E01 = 별의 커비 20주년 스페셜 컬렉션
|
||||||
S72J01 = 별의 커비: 20 주년 스페셜 컬렉션
|
S72J01 = 별의 커비 20주년 스페셜 컬렉션
|
||||||
S75E69 = 모노폴리 스트리츠
|
S75E69 = 모노폴리 스트리츠
|
||||||
S75P69 = 모노폴리 스트리츠
|
S75P69 = 모노폴리 스트리츠
|
||||||
S7AEWR = 레고 배트맨 2: DC 슈퍼 히어로즈
|
S7AEWR = 레고 배트맨 2: DC 슈퍼 히어로즈
|
||||||
|
@ -2479,7 +2476,7 @@ SC7S52 = 콜 오브 듀티: 블랙 옵스
|
||||||
SC7Z52 = 콜 오브 듀티: 블랙 옵스
|
SC7Z52 = 콜 오브 듀티: 블랙 옵스
|
||||||
SC8E01 = Wii 플레이: 모션
|
SC8E01 = Wii 플레이: 모션
|
||||||
SC8J01 = Wii 리모콘 플러스 버라이어티
|
SC8J01 = Wii 리모콘 플러스 버라이어티
|
||||||
SC8K01 = Wii 리모컨플러스로 즐기는 버라이어티 게임 박스
|
SC8K01 = Wii리모컨플러스로 즐기는 버라이어티 게임박스
|
||||||
SC8P01 = Wii 플레이: 모션
|
SC8P01 = Wii 플레이: 모션
|
||||||
SC9P52 = 카벨라의 위대한 게임 사냥꾼 2010
|
SC9P52 = 카벨라의 위대한 게임 사냥꾼 2010
|
||||||
SCAE18 = 콜링: 검은 착신
|
SCAE18 = 콜링: 검은 착신
|
||||||
|
@ -2611,7 +2608,7 @@ SESEWR = 세서미 스트리트: 레디, 세트, 그로버!
|
||||||
SESPWR = 세서미 스트리트: 레디, 세트, 그로버!
|
SESPWR = 세서미 스트리트: 레디, 세트, 그로버!
|
||||||
SESUWR = 세서미 스트리트: 레디, 세트, 그로버!
|
SESUWR = 세서미 스트리트: 레디, 세트, 그로버!
|
||||||
SEUPEY = 레트로 시티 램페이지 DX
|
SEUPEY = 레트로 시티 램페이지 DX
|
||||||
SEVPEY = 강탈: 하와이
|
SEVPEY = 쉐이크다운: 하와이
|
||||||
SEZJHF = 이나즈마 일레븐 스트라이커즈 2012 익스트림
|
SEZJHF = 이나즈마 일레븐 스트라이커즈 2012 익스트림
|
||||||
SF2P64 = 스타 워즈: 해방된 포스 II
|
SF2P64 = 스타 워즈: 해방된 포스 II
|
||||||
SF4E20 = 플랫아웃
|
SF4E20 = 플랫아웃
|
||||||
|
@ -2620,9 +2617,9 @@ SF5E41 = 핏 인 식스
|
||||||
SF5J41 = 핏 인 식스: 몸을 단련하는 6 가지 요소
|
SF5J41 = 핏 인 식스: 몸을 단련하는 6 가지 요소
|
||||||
SF5P41 = 나의 피트니스 코치: 클럽
|
SF5P41 = 나의 피트니스 코치: 클럽
|
||||||
SF7E41 = 패밀리 Feud 2012 에디션
|
SF7E41 = 패밀리 Feud 2012 에디션
|
||||||
SF8E01 = 동키 콩: 컨트리 리턴즈
|
SF8E01 = 동키콩 리턴즈
|
||||||
SF8J01 = 동키 콩 리턴즈
|
SF8J01 = 동키콩 리턴즈
|
||||||
SF8P01 = 동키 콩: 컨트리 리턴즈
|
SF8P01 = 동키콩 리턴즈
|
||||||
SFAE41 = 패밀리 퓨드 데케이드즈
|
SFAE41 = 패밀리 퓨드 데케이드즈
|
||||||
SFAJGD = 강철의 연금술사: 황혼의 소녀
|
SFAJGD = 강철의 연금술사: 황혼의 소녀
|
||||||
SFBE70 = 백야드 스포츠 풋볼: 루키 러쉬
|
SFBE70 = 백야드 스포츠 풋볼: 루키 러쉬
|
||||||
|
@ -2996,7 +2993,7 @@ SMUJAF = 대괴수 배틀: 울트라 콜로세움 DX - 울트라 전사 대집
|
||||||
SMVE54 = 메이저 리그 야구 2K11
|
SMVE54 = 메이저 리그 야구 2K11
|
||||||
SMWE4Z = 베어 그릴스의 인간과 자연의 대결
|
SMWE4Z = 베어 그릴스의 인간과 자연의 대결
|
||||||
SMYE20 = 사소한 도전 60초
|
SMYE20 = 사소한 도전 60초
|
||||||
SMZE78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
SMZE78 = 마블 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
||||||
SMZP78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
SMZP78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃
|
||||||
SN2E69 = 너프 N-스트라이크 더블 블래스트 번들
|
SN2E69 = 너프 N-스트라이크 더블 블래스트 번들
|
||||||
SN3EYG = 맥시멈 레이싱: 랠리 레이서
|
SN3EYG = 맥시멈 레이싱: 랠리 레이서
|
||||||
|
@ -3044,9 +3041,9 @@ SNRE52 = 나스카 언리쉬드
|
||||||
SNSE52 = 나스카 2011: 게임
|
SNSE52 = 나스카 2011: 게임
|
||||||
SNTEXN = 넷플릭스 인스턴트 스트리밍 디스크
|
SNTEXN = 넷플릭스 인스턴트 스트리밍 디스크
|
||||||
SNUPJW = 해피 뉴런 아카데미
|
SNUPJW = 해피 뉴런 아카데미
|
||||||
SNVE69 = 니드 포 스피드: 도망
|
SNVE69 = 니드 포 스피드: 더 런
|
||||||
SNVJ13 = 니드 포 스피드: 도망
|
SNVJ13 = 니드 포 스피드: 더 런
|
||||||
SNVP69 = 니드 포 스피드: 도망
|
SNVP69 = 니드 포 스피드: 더 런
|
||||||
SNXJDA = 나루토 질풍전: 격투 닌자 대전! 스페셜
|
SNXJDA = 나루토 질풍전: 격투 닌자 대전! 스페셜
|
||||||
SNYEVZ = 몬스터 하이: 13 개의 소원들
|
SNYEVZ = 몬스터 하이: 13 개의 소원들
|
||||||
SNYPVZ = 몬스터 하이: 13 개의 소원들
|
SNYPVZ = 몬스터 하이: 13 개의 소원들
|
||||||
|
@ -3345,10 +3342,10 @@ SU8PNG = 위 싱: 독일 히츠 2
|
||||||
SU9E4Q = 디즈니 비행기들
|
SU9E4Q = 디즈니 비행기들
|
||||||
SU9P4Q = 디즈니 비행기들
|
SU9P4Q = 디즈니 비행기들
|
||||||
SU9X4Q = 디즈니 비행기들
|
SU9X4Q = 디즈니 비행기들
|
||||||
SUKE01 = 커비의 드림랜드 귀환
|
SUKE01 = 별의 커비 Wii
|
||||||
SUKJ01 = 별의 커비 Wii
|
SUKJ01 = 별의 커비 Wii
|
||||||
SUKK01 = 별의 커비 Wii
|
SUKK01 = 별의 커비 Wii
|
||||||
SUKP01 = 커비의 모험 Wii
|
SUKP01 = 별의 커비 Wii
|
||||||
SUMJC8 = 위닝 포스트 월드 2010
|
SUMJC8 = 위닝 포스트 월드 2010
|
||||||
SUNEYG = 디어 드라이브 레전드즈
|
SUNEYG = 디어 드라이브 레전드즈
|
||||||
SUOE41 = 힙합 댄스 익스피리언스
|
SUOE41 = 힙합 댄스 익스피리언스
|
||||||
|
@ -3442,7 +3439,7 @@ SX2PNG = 정글 카트즈
|
||||||
SX3EXJ = 판도라의 탑
|
SX3EXJ = 판도라의 탑
|
||||||
SX3J01 = 판도라의 탑: 너의 곁으로 돌아갈 때까지
|
SX3J01 = 판도라의 탑: 너의 곁으로 돌아갈 때까지
|
||||||
SX3P01 = 판도라의 탑
|
SX3P01 = 판도라의 탑
|
||||||
SX4E01 = 제노블레이드 연대기
|
SX4E01 = 제노블레이드 크로니클스
|
||||||
SX4J01 = 제노블레이드
|
SX4J01 = 제노블레이드
|
||||||
SX4P01 = 제노블레이드 연대기
|
SX4P01 = 제노블레이드 연대기
|
||||||
SX5E4Z = 산타 클로스가 마을로 오고 있어!
|
SX5E4Z = 산타 클로스가 마을로 오고 있어!
|
||||||
|
@ -3724,6 +3721,7 @@ GZBEB2 = 금색의 갓슈벨: 고! 고! 마물 파이트!!
|
||||||
GZLK01 = 젤다의 전설: 바람의 지휘봉
|
GZLK01 = 젤다의 전설: 바람의 지휘봉
|
||||||
HBWE01 = 뉴 슈퍼 마리오 브라더스 Wii: 헬보이 에디션
|
HBWE01 = 뉴 슈퍼 마리오 브라더스 Wii: 헬보이 에디션
|
||||||
HSMP01 = 하더 슈퍼 마리오 브라더스 Wii
|
HSMP01 = 하더 슈퍼 마리오 브라더스 Wii
|
||||||
|
J5EE41 = 저스트 댄스 2025 에디션
|
||||||
JF3E41 = 저스트 댄스 포커스 3
|
JF3E41 = 저스트 댄스 포커스 3
|
||||||
JOUE01 = 뉴 슈퍼 마리오 브라더스 Wii 10 여행
|
JOUE01 = 뉴 슈퍼 마리오 브라더스 Wii 10 여행
|
||||||
KHPE01 = 커비 에어 라이드 핵 팩
|
KHPE01 = 커비 에어 라이드 핵 팩
|
||||||
|
@ -4001,6 +3999,8 @@ RMCK46 = Wiimms 마리오 카트 Wii 펀 2021-09.한국
|
||||||
RMCK47 = Wiimms 마리오 카트 Wii 히스토리 2021-12.한국
|
RMCK47 = Wiimms 마리오 카트 Wii 히스토리 2021-12.한국
|
||||||
RMCK48 = Wiimms 마리오 카트 Wii 펀 2022-05.한국
|
RMCK48 = Wiimms 마리오 카트 Wii 펀 2022-05.한국
|
||||||
RMCK49 = Wiimms 마리오 카트-펀 2022-11.한국
|
RMCK49 = Wiimms 마리오 카트-펀 2022-11.한국
|
||||||
|
RMCK50 = Wiimms 마리오 카트-텍스쳐즈 2022-12.한국
|
||||||
|
RMCK51 = Wiimms 마리오 카트 Wii 펀 2023-09.한국
|
||||||
RMCK86 = 마리오 카트 크리스 3.5 캐럿
|
RMCK86 = 마리오 카트 크리스 3.5 캐럿
|
||||||
RMCKYP = 요시 레이싱 리조트 플러스
|
RMCKYP = 요시 레이싱 리조트 플러스
|
||||||
RMCP02 = Wiimms 마리오 카트 Wii 펀 2010-02.유럽
|
RMCP02 = Wiimms 마리오 카트 Wii 펀 2010-02.유럽
|
||||||
|
@ -4051,7 +4051,6 @@ RMCP76 = 프로 CT 팩
|
||||||
RMCP86 = 마리오 카트 크리스 3.500CT
|
RMCP86 = 마리오 카트 크리스 3.500CT
|
||||||
RMCP93 = 마리오 카트 Wii 핵 팩
|
RMCP93 = 마리오 카트 Wii 핵 팩
|
||||||
RMCPA1 = 마리오 카트 어드벤처
|
RMCPA1 = 마리오 카트 어드벤처
|
||||||
RMCPCA = 마리오 카트 Wii (카탈루냐어 번역)
|
|
||||||
RMCPG2 = 마리오 카트 Wii CTGP 레볼루션
|
RMCPG2 = 마리오 카트 Wii CTGP 레볼루션
|
||||||
RMCPGP = 마리오 카트 CTGP 레볼루션
|
RMCPGP = 마리오 카트 CTGP 레볼루션
|
||||||
RMCPL1 = Luma의 CT 팩
|
RMCPL1 = Luma의 CT 팩
|
||||||
|
@ -4066,6 +4065,7 @@ RNEEUD = 나루토 질풍전: 닌자 격돌 레볼루션 3 (언덥)
|
||||||
ROMESD = 몬스터 헌터 G (영어 패치)
|
ROMESD = 몬스터 헌터 G (영어 패치)
|
||||||
RPJEUD = 아크 라이즈 판타지아 (언덥)
|
RPJEUD = 아크 라이즈 판타지아 (언덥)
|
||||||
RQQE52 = 기타 히어로 III 커스텀 : 퀸
|
RQQE52 = 기타 히어로 III 커스텀 : 퀸
|
||||||
|
RS4PXS = 식신의 성 III
|
||||||
RSBE02 = 슈퍼 스매시 브라더스 프로젝트 엠 레드 버전
|
RSBE02 = 슈퍼 스매시 브라더스 프로젝트 엠 레드 버전
|
||||||
RSBE03 = 대난투 스매시 브라더스 X DX
|
RSBE03 = 대난투 스매시 브라더스 X DX
|
||||||
RSBE04 = 슈퍼 스매시 브라더스 프로젝트 엠+
|
RSBE04 = 슈퍼 스매시 브라더스 프로젝트 엠+
|
||||||
|
@ -4313,6 +4313,7 @@ SMNE68 = 요시의 전설 DLC
|
||||||
SMNE69 = 리바이즈드 슈퍼 마리오 브라더스 Wii
|
SMNE69 = 리바이즈드 슈퍼 마리오 브라더스 Wii
|
||||||
SMNE90 = 커스텀 레벨의 전설
|
SMNE90 = 커스텀 레벨의 전설
|
||||||
SMNEAM = 어드벤처 슈퍼 마리오 브라더스 Wii
|
SMNEAM = 어드벤처 슈퍼 마리오 브라더스 Wii
|
||||||
|
SMNED3 = 뉴어 슈퍼 마리오 브라더스 Wii
|
||||||
SMNELL = 뉴어 슈퍼 루이지 Wii
|
SMNELL = 뉴어 슈퍼 루이지 Wii
|
||||||
SMNELM = 뉴어 슈퍼 루이지 Wii: 검은 달
|
SMNELM = 뉴어 슈퍼 루이지 Wii: 검은 달
|
||||||
SMNEMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험
|
SMNEMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험
|
||||||
|
@ -4862,7 +4863,7 @@ WFCJ = 파이널 판타지 크리스탈 연대기: 작은 임금님과 약속의
|
||||||
WFCP = 파이널 판타지 크리스탈 연대기: 왕으로서의 나의 인생
|
WFCP = 파이널 판타지 크리스탈 연대기: 왕으로서의 나의 인생
|
||||||
WFDE = 수인 구조
|
WFDE = 수인 구조
|
||||||
WFDP = 수인 구조
|
WFDP = 수인 구조
|
||||||
WFEE = 페니모어 필모어
|
WFEE = 페니모어 필모어
|
||||||
WFFE = 펀! 펀! 미니골프
|
WFFE = 펀! 펀! 미니골프
|
||||||
WFFJ = 펀! 펀! 미니골프
|
WFFJ = 펀! 펀! 미니골프
|
||||||
WFFP = 펀! 펀! 미니골프
|
WFFP = 펀! 펀! 미니골프
|
||||||
|
@ -5738,6 +5739,7 @@ FCWP = 슈퍼 마리오 브라더스 3
|
||||||
FCWQ = 슈퍼 마리오 브라더스 3
|
FCWQ = 슈퍼 마리오 브라더스 3
|
||||||
FCYE = 요시의 쿠키
|
FCYE = 요시의 쿠키
|
||||||
FCYJ = 요시의 쿠키
|
FCYJ = 요시의 쿠키
|
||||||
|
FCYK = 요시의 쿠키
|
||||||
FCYP = 요시의 쿠키
|
FCYP = 요시의 쿠키
|
||||||
FCYT = 요시의 쿠키
|
FCYT = 요시의 쿠키
|
||||||
FCZE = 왕의 기사
|
FCZE = 왕의 기사
|
||||||
|
@ -6258,7 +6260,6 @@ NAZJ = 마리오 파티 2
|
||||||
NAZP = 마리오 파티 2
|
NAZP = 마리오 파티 2
|
||||||
NEEA = 젤다의 전설: 시간의 오카리나 마스터 퀘스트
|
NEEA = 젤다의 전설: 시간의 오카리나 마스터 퀘스트
|
||||||
NTLC = 슈퍼 마리오 64 멀티플레이어
|
NTLC = 슈퍼 마리오 64 멀티플레이어
|
||||||
NZXM = 슈퍼 마리오 64 멀티플레이어
|
|
||||||
LAAJ = 북두의 권
|
LAAJ = 북두의 권
|
||||||
LABE = 판타지 존
|
LABE = 판타지 존
|
||||||
LABJ = 판타지 존
|
LABJ = 판타지 존
|
||||||
|
@ -6543,13 +6544,13 @@ MCVP = 피트폴: 메이안 어드벤처
|
||||||
MCWE = 갤럭시 포스 II
|
MCWE = 갤럭시 포스 II
|
||||||
MCWJ = 갤럭시 포스 II
|
MCWJ = 갤럭시 포스 II
|
||||||
MCWP = 갤럭시 포스 II
|
MCWP = 갤럭시 포스 II
|
||||||
MCXJ = 드래곤 슬레이어: 영웅전설
|
MCXJ = 드래곤 슬레이어: 영웅전설 II
|
||||||
MCYE = 시노비의 복수
|
MCYE = 시노비의 복수
|
||||||
MCYJ = 슈퍼 시노비
|
MCYJ = 슈퍼 시노비
|
||||||
MCYP = 시노비의 복수
|
MCYP = 시노비의 복수
|
||||||
MCZE = 상하이 II: 용의 눈
|
MCZE = 상하이 II: 용의 눈
|
||||||
MCZP = 상하이 II: 용의 눈
|
MCZP = 상하이 II: 용의 눈
|
||||||
PA2J = 열혈고교 돗지볼 부: CD 축구 편
|
PA2J = 요괴도 중기
|
||||||
PA3J = 사라만다
|
PA3J = 사라만다
|
||||||
PA4J = 파라솔 스타즈
|
PA4J = 파라솔 스타즈
|
||||||
PA6E = 블러디 울프
|
PA6E = 블러디 울프
|
||||||
|
@ -6734,7 +6735,7 @@ PDEJ = S.C.I.: 특수 범죄 수사
|
||||||
PDFJ = 지옥순례
|
PDFJ = 지옥순례
|
||||||
PDGJ = 파이어 프로레슬링 3: 레전드 바우트
|
PDGJ = 파이어 프로레슬링 3: 레전드 바우트
|
||||||
PDHJ = 라스탄 사가 II
|
PDHJ = 라스탄 사가 II
|
||||||
PDIJ = 챔피언 레슬러®
|
PDIJ = 챔피언 레슬러
|
||||||
PDJJ = 스트리트 파이터 II': 챔피언 에디션
|
PDJJ = 스트리트 파이터 II': 챔피언 에디션
|
||||||
PDJL = 스트리트 파이터 II': 챔피언 에디션
|
PDJL = 스트리트 파이터 II': 챔피언 에디션
|
||||||
PDJN = 스트리트 파이터 II: 챔피언 에디션
|
PDJN = 스트리트 파이터 II: 챔피언 에디션
|
||||||
|
@ -7124,6 +7125,7 @@ C9MP = 핏스톱 II
|
||||||
C9PP = 마지막 닌자 3
|
C9PP = 마지막 닌자 3
|
||||||
C9QP = 점프맨
|
C9QP = 점프맨
|
||||||
C9RP = 인터내셔널 카라테 +
|
C9RP = 인터내셔널 카라테 +
|
||||||
|
C9SP = 불가능한 임무 II
|
||||||
C9XE = 마지막 닌자
|
C9XE = 마지막 닌자
|
||||||
C9XJ = 마지막 닌자
|
C9XJ = 마지막 닌자
|
||||||
C9XP = 마지막 닌자
|
C9XP = 마지막 닌자
|
||||||
|
@ -7165,10 +7167,10 @@ HAGP = 뉴스 채널
|
||||||
HAJE = 모두의 투표 채널
|
HAJE = 모두의 투표 채널
|
||||||
HAJJ = 모두의 투표 채널
|
HAJJ = 모두의 투표 채널
|
||||||
HAJP = 모두의 투표 채널
|
HAJP = 모두의 투표 채널
|
||||||
HAKE = 최종 사용자 라이선스 동의
|
HAKE = 이용 약관
|
||||||
HAKJ = 최종 사용자 라이선스 동의
|
HAKJ = 이용 약관
|
||||||
HAKK = 최종 사용자 라이선스 동의
|
HAKK = 이용 약관
|
||||||
HAKP = 최종 사용자 라이선스 동의
|
HAKP = 이용 약관
|
||||||
HALE = 지역 선택
|
HALE = 지역 선택
|
||||||
HALJ = 지역 선택
|
HALJ = 지역 선택
|
||||||
HALK = 지역 선택
|
HALK = 지역 선택
|
||||||
|
@ -7180,7 +7182,7 @@ HATE = 닌텐도 채널
|
||||||
HATJ = 닌텐도 채널
|
HATJ = 닌텐도 채널
|
||||||
HATP = 닌텐도 채널
|
HATP = 닌텐도 채널
|
||||||
HAVJ = 운세 채널
|
HAVJ = 운세 채널
|
||||||
HAVK = 운세 채널
|
HAVK = 즐거운 하루 운세 채널
|
||||||
HAVP = 즐거운 하루 운세 채널
|
HAVP = 즐거운 하루 운세 채널
|
||||||
HAWE = 메트로이드 프라임 3 프리뷰
|
HAWE = 메트로이드 프라임 3 프리뷰
|
||||||
HAWP = 메트로이드 프라임 3 프리뷰
|
HAWP = 메트로이드 프라임 3 프리뷰
|
||||||
|
@ -7194,12 +7196,12 @@ HC4P = 크런치롤
|
||||||
HCAJ = 밴드 브라더스 DX 스피커 채널
|
HCAJ = 밴드 브라더스 DX 스피커 채널
|
||||||
HCAP = 밴드 라이브와 함께하는 잼
|
HCAP = 밴드 라이브와 함께하는 잼
|
||||||
HCBJ = 사진 채널 1.0 복구 프로그램
|
HCBJ = 사진 채널 1.0 복구 프로그램
|
||||||
HCCJ = 개인 데이터 설정
|
HCCJ = 주소 설정
|
||||||
HCDJ = 디지탈 카메라 프린트 채널
|
HCDJ = 디지탈 카메라 프린트 채널
|
||||||
HCFE = Wi 스피크 채널
|
HCFE = Wii 스피크 채널
|
||||||
HCFJ = Wi 스피크 채널
|
HCFJ = Wii 스피크 채널
|
||||||
HCFK = Wii 스피크 채널
|
HCFK = Wii 스피크 채널
|
||||||
HCFP = Wi 스피크 채널
|
HCFP = Wii 스피크 채널
|
||||||
HCGE = Wii + 인터넷
|
HCGE = Wii + 인터넷
|
||||||
HCGJ = Wii + 인터넷
|
HCGJ = Wii + 인터넷
|
||||||
HCGP = Wii + 인터넷
|
HCGP = Wii + 인터넷
|
||||||
|
@ -7210,8 +7212,6 @@ HCJP = BBC iPlayer 채널
|
||||||
HCLE = 넷플릭스
|
HCLE = 넷플릭스
|
||||||
HCLP = 넷플릭스
|
HCLP = 넷플릭스
|
||||||
HCMP = 커비 TV 채널
|
HCMP = 커비 TV 채널
|
||||||
HCQE = 훌루 플러스
|
|
||||||
HCQJ = 훌루
|
|
||||||
HCRE = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
HCRE = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||||
HCRJ = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
HCRJ = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||||
HCRK = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
HCRK = 젤다의 전설 스카이워드 소드 데이터 복구 채널
|
||||||
|
@ -7225,7 +7225,6 @@ HCTP = Wii 시스템 전송
|
||||||
HCUE = Wii 메뉴 전자 매뉴얼
|
HCUE = Wii 메뉴 전자 매뉴얼
|
||||||
HCUJ = Wii 메뉴 전자 매뉴얼
|
HCUJ = Wii 메뉴 전자 매뉴얼
|
||||||
HCUP = Wii 메뉴 전자 매뉴얼
|
HCUP = Wii 메뉴 전자 매뉴얼
|
||||||
HCVA = Wii U 메뉴
|
|
||||||
HCWE = 아마존 인스턴트 비디오
|
HCWE = 아마존 인스턴트 비디오
|
||||||
HCWP = 아마존 인스턴트 비디오
|
HCWP = 아마존 인스턴트 비디오
|
||||||
HCXE = 유튜브
|
HCXE = 유튜브
|
||||||
|
@ -7240,10 +7239,11 @@ RFNJ = Wii 핏 채널
|
||||||
RFNK = Wii 핏 채널
|
RFNK = Wii 핏 채널
|
||||||
RFNP = Wii 핏 채널
|
RFNP = Wii 핏 채널
|
||||||
RFNW = Wii 핏 채널
|
RFNW = Wii 핏 채널
|
||||||
RFPE = Wii 핏 플러스 채널
|
RFPE = Wii Fit Plus 채널
|
||||||
RFPJ = Wii 핏 플러스 채널
|
RFPJ = Wii Fit Plus 채널
|
||||||
RFPP = Wii 핏 플러스 채널
|
RFPK = Wii Fit Plus 채널
|
||||||
RFPW = Wii 핏 플러스 채널
|
RFPP = Wii Fit Plus 채널
|
||||||
|
RFPW = Wii Fit Plus 채널
|
||||||
RGWE = 레비즈 채널
|
RGWE = 레비즈 채널
|
||||||
RGWJ = 레비즈 채널
|
RGWJ = 레비즈 채널
|
||||||
RGWP = 레비즈 채널
|
RGWP = 레비즈 채널
|
||||||
|
@ -7878,10 +7878,11 @@ HWFL = 핵위플로우
|
||||||
JODI = 홈브류 채널
|
JODI = 홈브류 채널
|
||||||
LULZ = 홈브류 채널
|
LULZ = 홈브류 채널
|
||||||
MAUI = 백업 홈브류 채널
|
MAUI = 백업 홈브류 채널
|
||||||
|
NZXM = 슈퍼 마리오 64 멀티플레이어
|
||||||
OHBC = 홈브류 채널
|
OHBC = 홈브류 채널
|
||||||
PXWE = 프로젝트 X: 사랑의 묘약 참사
|
PXWE = 프로젝트 X: 사랑의 묘약 참사
|
||||||
RIIV = 리볼루션
|
RIIV = 리볼루션
|
||||||
RMCX = 마리오 카트 Wii CTGP 레볼루션 채널
|
RMCX = CTGP 레볼루션 채널
|
||||||
SEGA = 제네시스 플러스 GX
|
SEGA = 제네시스 플러스 GX
|
||||||
SMGX = 세이브게임 매니저 GX
|
SMGX = 세이브게임 매니저 GX
|
||||||
ULFW = u로더
|
ULFW = u로더
|
||||||
|
@ -8043,8 +8044,8 @@ G3RF52 = 슈렉 2
|
||||||
G3RM52 = 슈렉 2
|
G3RM52 = 슈렉 2
|
||||||
G3RP52 = 슈렉 2
|
G3RP52 = 슈렉 2
|
||||||
G3SE41 = 버스트 어 무브 3000
|
G3SE41 = 버스트 어 무브 3000
|
||||||
G3SJC0 = 슈퍼 퍼즐 보글 올 스타즈
|
G3SJC0 = 슈퍼 퍼즐 보블 올스타즈
|
||||||
G3SWC0 = 슈퍼 퍼즐 보글 올 스타즈
|
G3SWC0 = 슈퍼 퍼즐 보블 올스타즈
|
||||||
G3TJ8P = 더비 레이싱 3: 경주마를 만들자!
|
G3TJ8P = 더비 레이싱 3: 경주마를 만들자!
|
||||||
G3VE69 = NBA 스트리트 볼륨 3
|
G3VE69 = NBA 스트리트 볼륨 3
|
||||||
G3VJ13 = NBA 스트리트 V3: 마리오 덩크
|
G3VJ13 = NBA 스트리트 V3: 마리오 덩크
|
||||||
|
@ -8105,7 +8106,7 @@ G6ME69 = 매든 NFL 06
|
||||||
G6MP69 = 매든 NFL 06
|
G6MP69 = 매든 NFL 06
|
||||||
G6NE69 = NBA 라이브 06
|
G6NE69 = NBA 라이브 06
|
||||||
G6NP69 = NBA 라이브 06
|
G6NP69 = NBA 라이브 06
|
||||||
G6QE08 = 메가맨 기념 컬렉션
|
G6QE08 = 메가맨 애니버서리 컬렉션
|
||||||
G6SE7D = 스파이로의 전설: 새로운 시작
|
G6SE7D = 스파이로의 전설: 새로운 시작
|
||||||
G6SP7D = 스파이로의 전설: 새로운 시작
|
G6SP7D = 스파이로의 전설: 새로운 시작
|
||||||
G6TE5G = 틴 타이탄즈
|
G6TE5G = 틴 타이탄즈
|
||||||
|
@ -8116,10 +8117,10 @@ G7ME69 = 매든 NFL 07
|
||||||
G89EAF = 팩 맨 월드 랠리
|
G89EAF = 팩 맨 월드 랠리
|
||||||
G8FE8P = 버추어 퀘스트
|
G8FE8P = 버추어 퀘스트
|
||||||
G8FJ8P = 버추어 파이터 사이버 제너레이션
|
G8FJ8P = 버추어 파이터 사이버 제너레이션
|
||||||
G8ME01 = 페이퍼 마리오: 천년의 문
|
G8ME01 = 페이퍼 마리오 1000년의 문
|
||||||
G8MJ01 = 페이퍼 마리오 RPG
|
G8MJ01 = 페이퍼 마리오 1000년의 문
|
||||||
G8MK01 = 페이퍼 마리오 - 천년의 문
|
G8MK01 = 페이퍼 마리오 - 천년의 문
|
||||||
G8MP01 = 페이퍼 마리오: 천년의 문
|
G8MP01 = 페이퍼 마리오 1000년의 문
|
||||||
G8OJ18 = 무적 코털 보보보 탈출!! 하지케 로얄
|
G8OJ18 = 무적 코털 보보보 탈출!! 하지케 로얄
|
||||||
G8SJAF = 배틀 스타디움 D.O.N
|
G8SJAF = 배틀 스타디움 D.O.N
|
||||||
G8WE01 = 배탤리언 워즈
|
G8WE01 = 배탤리언 워즈
|
||||||
|
@ -8197,8 +8198,8 @@ GAZM69 = 해리 포터와 아즈카반의 죄수
|
||||||
GAZP69 = 해리 포터와 아즈카반의 죄수
|
GAZP69 = 해리 포터와 아즈카반의 죄수
|
||||||
GAZS69 = 해리 포터와 아즈카반의 죄수
|
GAZS69 = 해리 포터와 아즈카반의 죄수
|
||||||
GB2J18 = 봄버맨 랜드 2 - 게임 사상 최대 규모의 테마파크
|
GB2J18 = 봄버맨 랜드 2 - 게임 사상 최대 규모의 테마파크
|
||||||
GB4E51 = 번아웃 2: 탄착점
|
GB4E51 = 번아웃 2: 포인트 오브 임팩트
|
||||||
GB4P51 = 번아웃 2: 탄착점
|
GB4P51 = 번아웃 2: 포인트 오브 임팩트
|
||||||
GBDE5G = 블러드레인
|
GBDE5G = 블러드레인
|
||||||
GBDF7D = 블러드레인
|
GBDF7D = 블러드레인
|
||||||
GBDP7D = 블러드레인
|
GBDP7D = 블러드레인
|
||||||
|
@ -8266,10 +8267,10 @@ GCAE5H = 큐빅스: 모두를 위한 로봇 대결
|
||||||
GCBE7D = 크래쉬 밴디쿳: 마왕의 부활
|
GCBE7D = 크래쉬 밴디쿳: 마왕의 부활
|
||||||
GCBJA4 = 크래쉬 밴디쿳 4: 작렬! 마신 파워
|
GCBJA4 = 크래쉬 밴디쿳 4: 작렬! 마신 파워
|
||||||
GCBP7D = 크래쉬 밴디쿳: 마왕의 부활
|
GCBP7D = 크래쉬 밴디쿳: 마왕의 부활
|
||||||
GCCE01 = 파이널 판타지 크리스탈 연대기
|
GCCE01 = 파이널 판타지 크리스탈 크로니클
|
||||||
GCCJ01 = 파이널 판타지 크리스탈 연대기
|
GCCJ01 = 파이널 판타지 크리스탈 크로니클
|
||||||
GCCJGC = 파이널 판타지 크리스탈 연대기
|
GCCJGC = 파이널 판타지 크리스탈 연대기
|
||||||
GCCP01 = 파이널 판타지 크리스탈 연대기
|
GCCP01 = 파이널 판타지 크리스탈 크로니클
|
||||||
GCDE08 = 레지던트 이블 코드: 베로니카 X
|
GCDE08 = 레지던트 이블 코드: 베로니카 X
|
||||||
GCDJ08 = 바이오하자드 코드: 베로니카 완전판
|
GCDJ08 = 바이오하자드 코드: 베로니카 완전판
|
||||||
GCDP08 = 레지던트 이블 코드: 베로니카 X
|
GCDP08 = 레지던트 이블 코드: 베로니카 X
|
||||||
|
@ -8444,7 +8445,7 @@ GFAP69 = 피파 축구 2003
|
||||||
GFAS69 = 피파 축구 2003
|
GFAS69 = 피파 축구 2003
|
||||||
GFBE5D = 파이어블레이드
|
GFBE5D = 파이어블레이드
|
||||||
GFBP5D = 파이어블레이드
|
GFBP5D = 파이어블레이드
|
||||||
GFCP69 = F1 경력 도전
|
GFCP69 = F1 커리어 챌린지
|
||||||
GFDD69 = 프리덤 파이터즈
|
GFDD69 = 프리덤 파이터즈
|
||||||
GFDE69 = 프리덤 파이터즈
|
GFDE69 = 프리덤 파이터즈
|
||||||
GFDF69 = 프리덤 파이터즈
|
GFDF69 = 프리덤 파이터즈
|
||||||
|
@ -8522,7 +8523,7 @@ GGZJB2 = 마다가스카: 왜 비추고 난리야
|
||||||
GGZP52 = 마다가스카: 왜 비추고 난리야
|
GGZP52 = 마다가스카: 왜 비추고 난리야
|
||||||
GGZS52 = 마다가스카: 왜 비추고 난리야
|
GGZS52 = 마다가스카: 왜 비추고 난리야
|
||||||
GGZX52 = 마다가스카: 왜 비추고 난리야
|
GGZX52 = 마다가스카: 왜 비추고 난리야
|
||||||
GH2E69 = 니드 포 스피드: 맹열한 추적 2
|
GH2E69 = 니드 포 스피드: 핫 퍼슈트 2
|
||||||
GH2P69 = 니드 포 스피드: 맹열한 추적 2
|
GH2P69 = 니드 포 스피드: 맹열한 추적 2
|
||||||
GH4D69 = 해리 포터와 불의 잔
|
GH4D69 = 해리 포터와 불의 잔
|
||||||
GH4E69 = 해리 포터와 불의 잔
|
GH4E69 = 해리 포터와 불의 잔
|
||||||
|
@ -8731,9 +8732,9 @@ GKTJA4 = 캡틴 츠바사: 황금 세대의 도전
|
||||||
GKUE9G = 스케일러
|
GKUE9G = 스케일러
|
||||||
GKWJ18 = 드림믹스 TV 월드 파이터즈
|
GKWJ18 = 드림믹스 TV 월드 파이터즈
|
||||||
GKXJE7 = 극・마작 DXII: 제 4회 몬도21 컵
|
GKXJE7 = 극・마작 DXII: 제 4회 몬도21 컵
|
||||||
GKYE01 = 커비 에어 라이드
|
GKYE01 = 커비의 에어라이드
|
||||||
GKYJ01 = 커비의 에어 라이드
|
GKYJ01 = 커비의 에어라이드
|
||||||
GKYP01 = 커비 에어 라이드
|
GKYP01 = 커비의 에어라이드
|
||||||
GKZD54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
GKZD54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||||
GKZE9G = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
GKZE9G = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||||
GKZP54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
GKZP54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임
|
||||||
|
@ -8806,8 +8807,9 @@ GM2J8P = 슈퍼 몽키 볼 2
|
||||||
GM2P8P = 슈퍼 몽키 볼 2
|
GM2P8P = 슈퍼 몽키 볼 2
|
||||||
GM3E69 = 매든 NFL 2003
|
GM3E69 = 매든 NFL 2003
|
||||||
GM3P69 = 매든 NFL 2003
|
GM3P69 = 매든 NFL 2003
|
||||||
GM4E01 = 마리오 카트: 더블 대쉬!!
|
GM4E01 = 마리오 카트: 더블 대시!!
|
||||||
GM4J01 = 마리오 카트: 더블 대쉬!!
|
GM4J01 = 마리오 카트: 더블 대쉬!!
|
||||||
|
GM4K01 = 마리오 카트: 더블 대시!!
|
||||||
GM4P01 = 마리오 카트: 더블 대쉬!!
|
GM4P01 = 마리오 카트: 더블 대쉬!!
|
||||||
GM5D7D = 메탈 암즈: 시스템 글리치
|
GM5D7D = 메탈 암즈: 시스템 글리치
|
||||||
GM5E7D = 메탈 암즈: 시스템 글리치
|
GM5E7D = 메탈 암즈: 시스템 글리치
|
||||||
|
@ -8894,6 +8896,7 @@ GNDP69 = 니드 포 스피드: 언더그라운드
|
||||||
GNED78 = 니모를 찾아서
|
GNED78 = 니모를 찾아서
|
||||||
GNEE78 = 니모를 찾아서
|
GNEE78 = 니모를 찾아서
|
||||||
GNEF78 = 니모를 찾아서
|
GNEF78 = 니모를 찾아서
|
||||||
|
GNEK78 = 니모를 찾아서
|
||||||
GNEP78 = 니모를 찾아서
|
GNEP78 = 니모를 찾아서
|
||||||
GNES78 = 니모를 찾아서
|
GNES78 = 니모를 찾아서
|
||||||
GNFE5D = NFL 블리츠 2002
|
GNFE5D = NFL 블리츠 2002
|
||||||
|
@ -8964,11 +8967,11 @@ GOSP41 = 오픈 시즌
|
||||||
GOSX41 = 오픈 시즌
|
GOSX41 = 오픈 시즌
|
||||||
GOTJB2 = TV 애니메이션: 원피스 트레저 배틀!
|
GOTJB2 = TV 애니메이션: 원피스 트레저 배틀!
|
||||||
GOUPNK = 코코토 놀이공원
|
GOUPNK = 코코토 놀이공원
|
||||||
GOWD69 = 니드 포 스피드: 지명 수배
|
GOWD69 = 니드 포 스피드: 모스트 원티드
|
||||||
GOWE69 = 니드 포 스피드: 지명 수배
|
GOWE69 = 니드 포 스피드: 모스트 원티드
|
||||||
GOWF69 = 니드 포 스피드: 지명 수배
|
GOWF69 = 니드 포 스피드: 모스트 원티드
|
||||||
GOWJ13 = 니드 포 스피드: 지명 수배
|
GOWJ13 = 니드 포 스피드: 모스트 원티드
|
||||||
GOWP69 = 니드 포 스피드: 지명 수배
|
GOWP69 = 니드 포 스피드: 모스트 원티드
|
||||||
GOYD69 = 골든아이: 로그 에이전트
|
GOYD69 = 골든아이: 로그 에이전트
|
||||||
GOYE69 = 골든아이: 로그 에이전트
|
GOYE69 = 골든아이: 로그 에이전트
|
||||||
GOYF69 = 골든아이: 로그 에이전트
|
GOYF69 = 골든아이: 로그 에이전트
|
||||||
|
@ -9136,7 +9139,7 @@ GRUF78 = 파워 레인져스 다이노 썬더
|
||||||
GRUP78 = 파워 레인져스 다이노 썬더
|
GRUP78 = 파워 레인져스 다이노 썬더
|
||||||
GRVEA4 = 레이브 마스터
|
GRVEA4 = 레이브 마스터
|
||||||
GRVJA4 = 그루브 어드벤처 레이브: 파이팅 라이브
|
GRVJA4 = 그루브 어드벤처 레이브: 파이팅 라이브
|
||||||
GRWJD9 = 슈퍼 로봇 대전 GC
|
GRWJD9 = 슈퍼로봇대전 GC
|
||||||
GRYE41 = 레이맨 아레나
|
GRYE41 = 레이맨 아레나
|
||||||
GRZJ13 = 메달 오브 아너: 라이징 선
|
GRZJ13 = 메달 오브 아너: 라이징 선
|
||||||
GS2D78 = 소환사: 여신 환생
|
GS2D78 = 소환사: 여신 환생
|
||||||
|
@ -9465,9 +9468,9 @@ GYFPA4 = 유희왕! 허구에 갇힌 왕국
|
||||||
GYKEB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
GYKEB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
||||||
GYKJB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
GYKJB2 = 금색의 갓슈!! 우정 태그 배틀 2
|
||||||
GYMJA4 = 실황 파워풀 메이저 리그
|
GYMJA4 = 실황 파워풀 메이저 리그
|
||||||
GYQE01 = 마리오 슈퍼스타즈 야구
|
GYQE01 = 마리오 슈퍼스타 베이스볼
|
||||||
GYQJ01 = 슈퍼 마리오 스테이디움 기적의 야구
|
GYQJ01 = 슈퍼 마리오 스타디움 기적의 야구
|
||||||
GYQP01 = 마리오 슈퍼스타즈 야구
|
GYQP01 = 마리오 슈퍼스타 베이스볼
|
||||||
GYRE41 = 돌연변이 닌자 거북
|
GYRE41 = 돌연변이 닌자 거북
|
||||||
GYRP41 = 돌연변이 닌자 거북
|
GYRP41 = 돌연변이 닌자 거북
|
||||||
GYTE69 = 타이 더 태즈메이니언 타이거 2: 부쉬 구조대
|
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
|
R23P52 = Barbie en De Drie Musketiers
|
||||||
R25PWR = LEGO Harry Potter: Jaren 1-4
|
R25PWR = LEGO Harry Potter: Jaren 1-4
|
||||||
R27X54 = Dora redt het Land van Kristal
|
R27X54 = Dora redt het Land van Kristal
|
||||||
|
@ -177,7 +177,7 @@ SHDP52 = Hoe Tem Je Een Draak
|
||||||
SIAP52 = Ice Age 4: Continental Drift
|
SIAP52 = Ice Age 4: Continental Drift
|
||||||
SIIP8P = Mario & Sonic op de Olympische Spelen – Londen 2012
|
SIIP8P = Mario & Sonic op de Olympische Spelen – Londen 2012
|
||||||
SJ2PWR = Scooby-Doo! En Het Spookmoeras
|
SJ2PWR = Scooby-Doo! En Het Spookmoeras
|
||||||
SJXD41 = Just Dance 4
|
SJXD41 = Just Dance 4 Speciale Editie
|
||||||
SK4P52 = Shrek Voor Eeuwig En Altijd
|
SK4P52 = Shrek Voor Eeuwig En Altijd
|
||||||
SLHPWR = LEGO Harry Potter: Jaren 5-7
|
SLHPWR = LEGO Harry Potter: Jaren 5-7
|
||||||
SM4PXT = Monster Trucks
|
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
|
SVQPVZ = Barbie En Haar Zusjes In Het Grote Puppy Avontuur
|
||||||
SVZPVZ = Hoe Tem Je Een Draak 2
|
SVZPVZ = Hoe Tem Je Een Draak 2
|
||||||
CG1P52 = Guitar Hero III Custom : Guitar Hero I
|
CG1P52 = Guitar Hero III Custom : Guitar Hero I
|
||||||
RMCPCA = Mario Kart Wii (Catalaanse vertaling)
|
RZDPCA = The Legend of Zelda: Twilight Princess (Catalaanse vertaling)
|
||||||
W2FP = Physiofun - Balance Training
|
W2FP = Physiofun: Balance Training
|
||||||
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
W2GP = Phoenix Wright Ace Attorney: Justice for All
|
||||||
W2MP = Blaster Master: Overdrive
|
|
||||||
W2PP = Physiofun: Pelvic Floor Training
|
W2PP = Physiofun: Pelvic Floor Training
|
||||||
W3GP = Phoenix Wright Ace Attorney: Trials and Tribulations
|
W3GP = Phoenix Wright Ace Attorney: Trials and Tribulations
|
||||||
W3KP = ThruSpace: High Velocity 3D Puzzle
|
|
||||||
W3MP = The Three Musketeers: One for all
|
W3MP = The Three Musketeers: One for all
|
||||||
W44P = Stop Stress: A Day of Fury
|
|
||||||
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
W4AP = Arcade Sports: Air Hockey, Bowling, Pool, Snooker
|
||||||
W6BP = 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
|
|
||||||
W8CP = Bit.Trip Core
|
W8CP = Bit.Trip Core
|
||||||
W8WP = Happy Holidays: Halloween
|
|
||||||
W9BP = Big Town Shoot
|
W9BP = Big Town Shoot
|
||||||
W9RP = Happy Holidays: Christmas
|
W9RP = Happy Holidays: Christmas
|
||||||
WA4P = WarioWare: Do It Yourself - Showcase
|
WA4P = WarioWare: Do It Yourself - Showcase
|
||||||
WA7P = Toribash Violence Perfected
|
|
||||||
WA8P = Art Style: Penta Tentacles
|
WA8P = Art Style: Penta Tentacles
|
||||||
WAEP = Around the world
|
WAEP = Around the world
|
||||||
WAFP = Airport Mania: First Flight
|
|
||||||
WAHP = Trenches: Generals
|
|
||||||
WALP = Art Style: light trax
|
|
||||||
WAOP = The Very Hungry Caterpillar´s ABC
|
WAOP = The Very Hungry Caterpillar´s ABC
|
||||||
WB2P = Strong Bad Episode 4: Dangeresque 3
|
WB2P = Strong Bad Episode 4: Dangeresque 3
|
||||||
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
WB3P = Strong Bad Episode 5: 8-bit is Enough
|
||||||
|
@ -258,8 +246,6 @@ WFYP = Family Games Pen & Paper Edition
|
||||||
WGDP = Gradius Rebirth
|
WGDP = Gradius Rebirth
|
||||||
WGFP = Girlfriends Forever: Magic Skate
|
WGFP = Girlfriends Forever: Magic Skate
|
||||||
WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
WGGP = Gabrielle's Ghostly Groove: Monster Mix
|
||||||
WGPP = Zenquaria: Virtual Aquarium
|
|
||||||
WGSP = Phoenix Wright: Ace Attorney
|
|
||||||
WHEP = Heracles: Chariot Racing
|
WHEP = Heracles: Chariot Racing
|
||||||
WHFP = Heavy Fire: Special Operations
|
WHFP = Heavy Fire: Special Operations
|
||||||
WHRP = Heron: Steam Machine
|
WHRP = Heron: Steam Machine
|
||||||
|
@ -387,11 +373,7 @@ JDJP = Super Star Wars: The Empire Strikes Back
|
||||||
JDLP = Super Star Wars: Return of the Jedi
|
JDLP = Super Star Wars: Return of the Jedi
|
||||||
JDWP = Aero The Acrobat
|
JDWP = Aero The Acrobat
|
||||||
JDZP = Mystic Quest Legend
|
JDZP = Mystic Quest Legend
|
||||||
NACP = The Legend of Zelda: Ocarina of Time
|
|
||||||
NAMP = Kirby 64: The Crystal Shards
|
|
||||||
NAOP = 1080°: TenEighty Snowboarding
|
NAOP = 1080°: TenEighty Snowboarding
|
||||||
NARP = The Legend of Zelda: Majora's Mask
|
|
||||||
NAYM = Ogre Battle 64: Person of Lordly Caliber
|
|
||||||
LALP = Fantasy Zone II
|
LALP = Fantasy Zone II
|
||||||
LANP = Alex Kidd: The Lost Stars
|
LANP = Alex Kidd: The Lost Stars
|
||||||
LAPP = Wonder Boy III: The Dragon's Trap
|
LAPP = Wonder Boy III: The Dragon's Trap
|
||||||
|
@ -442,7 +424,6 @@ EAIP = Top Hunter
|
||||||
EBDP = Magical Drop 3
|
EBDP = Magical Drop 3
|
||||||
EBFP = Spin master
|
EBFP = Spin master
|
||||||
EBSP = The Path of the Warrior: Art of Fighting 3
|
EBSP = The Path of the Warrior: Art of Fighting 3
|
||||||
ECAP = Real Bout Fatal Fury 2: The Newcomers
|
|
||||||
ECGP = Shock Troopers: 2nd Squad
|
ECGP = Shock Troopers: 2nd Squad
|
||||||
E54P = GHOSTS'N GOBLINS
|
E54P = GHOSTS'N GOBLINS
|
||||||
E55P = Commando
|
E55P = Commando
|
||||||
|
@ -460,14 +441,18 @@ HAFP = Weerkanaal
|
||||||
HAGA = Nachrichtenkanaal
|
HAGA = Nachrichtenkanaal
|
||||||
HAGP = Nieuwskanaal
|
HAGP = Nieuwskanaal
|
||||||
HAJP = Enquêtekanaal
|
HAJP = Enquêtekanaal
|
||||||
|
HAKP = Overeenkomst/bedrijfsinformatie
|
||||||
HAPP = Mii-wedstrijdkanaal
|
HAPP = Mii-wedstrijdkanaal
|
||||||
HATP = Nintendo-kanaal
|
HATP = Nintendo-kanaal
|
||||||
HAVP = Geluksdagkanaal
|
HAVP = Geluksdagkanaal
|
||||||
HAWP = Metroid Prime 3 Preview
|
HAWP = Metroid Prime 3 Preview
|
||||||
HAYA = Fotokanaal
|
HAYA = Fotokanaal
|
||||||
HCAP = Jam with the Band Live
|
HCAP = Jam with the Band Channel Live Channel
|
||||||
HCFE = Wii Speak-Kanaal
|
HCCJ = Adresinstellingen
|
||||||
HCFP = Wii Speak-Kanaal
|
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
|
OHBC = Homebrew-Kanaal
|
||||||
G4BP08 = Resident Evil 4: Wii Edition
|
G4BP08 = Resident Evil 4: Wii Edition
|
||||||
G4CP54 = Sjakie en chocolade
|
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
|
R42P69 = Os SIMS 2: Naufragos
|
||||||
R43P69 = EA Sports Active
|
R43P69 = EA Sports Active
|
||||||
R4PP69 = Os SIMS 2: Animais de Estimação
|
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
|
GFEK01 = Fire Emblem: Path of Radiance
|
||||||
GMSE02 = Super Mario Sunshine Multijogador
|
GMSE02 = Super Mario Sunshine Multijogador
|
||||||
PT2PSI = SingIt Portugal Hits Festa de Verão
|
PT2PSI = SingIt Portugal Hits Festa de Verão
|
||||||
RMCPCA = Mario Kart Wii (tradução catalã)
|
|
||||||
WA4E = WarioWare: D.I.Y. Showcase
|
WA4E = WarioWare: D.I.Y. Showcase
|
||||||
WA4P = _D.I.Y. Showcase
|
WA4P = _D.I.Y. Showcase
|
||||||
WAQJ = Yakuman Wii: Ide Yousuke no Kenkou Mahjong
|
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
|
MC3E = Super Street Fighter II: The New Challengers
|
||||||
MC3P = Super Street Fighter II: The New Challengers
|
MC3P = Super Street Fighter II: The New Challengers
|
||||||
HAAA = Canal Photo
|
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
|
G6TE5G = Os Jovens Titãs
|
||||||
GAXE5D = Lucas: Um Intruso no Formigueiro
|
GAXE5D = Lucas: Um Intruso no Formigueiro
|
||||||
GAZD69 = Harry Potter e o Prisoneiro de Azkaban
|
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 = История игрушек: Парк развлечений
|
R5IR4Q = История игрушек: Парк развлечений
|
||||||
RN4P41 = Anno: Create A New World
|
RN4P41 = Anno: Create A New World
|
||||||
RWAR78 = Валл-И
|
RWAR78 = Валл-И
|
||||||
RXDR4Q = Disney Отвечай Не Зевай
|
RXDR4Q = Disney Отвечай Не Зевай
|
||||||
RY2R41 = Возвращение бешеных кроликов
|
RY2R41 = Возвращение бешеных кроликов
|
||||||
RYBP69 = BOOM BLOX Bash Party
|
RYBP69 = BOOM BLOX Bash Party
|
||||||
SFDPAF = 家庭训练机 梦幻主题乐园(欧)
|
SJXD41 = Just Dance 4 Специальное издание
|
||||||
SKSE54 = NBA 2K13(美)
|
SKSE54 = NBA 2K13(美)
|
||||||
SP5E70 = 恶徒 来自地底的侵略者(美)
|
SP5E70 = 恶徒 来自地底的侵略者(美)
|
||||||
STNP41 = Приключения Тинтина: Тайна Единорога
|
STNP41 = Приключения Тинтина: Тайна Единорога
|
||||||
GMSE02 = Супер Марио Саншайн Мультиплеер
|
GMSE02 = Супер Марио Саншайн Мультиплеер
|
||||||
SOMR01 = Ритм небес
|
SOMR01 = Ритм небес
|
||||||
|
HAFP = Канал новостей
|
||||||
|
HAGP = Канал новостей
|
||||||
|
HAJP = Канал голосований
|
||||||
|
HAPP = Канал конкурсов Mii
|
||||||
|
HATP = Канал Nintendo
|
||||||
|
HAYA = Фотоканал
|
||||||
|
HCCJ = Настройки адреса
|
||||||
G3EP51 = XGIII: 익스트림 G 레이싱
|
G3EP51 = XGIII: 익스트림 G 레이싱
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
2
Externals/SDL/CMakeLists.txt
vendored
2
Externals/SDL/CMakeLists.txt
vendored
|
@ -9,7 +9,7 @@ option(SDL_TEST "Build the SDL2_test library" OFF)
|
||||||
option(SDL_TEST_ENABLED_BY_DEFAULT "" OFF)
|
option(SDL_TEST_ENABLED_BY_DEFAULT "" OFF)
|
||||||
|
|
||||||
# SDL fails to clean up old headers after version upgrades, so do that manually
|
# SDL fails to clean up old headers after version upgrades, so do that manually
|
||||||
set(EXPECTED_SDL_REVISION "SDL-release-2.30.6-0")
|
set(EXPECTED_SDL_REVISION "SDL-release-2.30.9-0")
|
||||||
if (EXISTS "${CMAKE_CURRENT_BINARY_DIR}/SDL/include/SDL2/SDL_revision.h")
|
if (EXISTS "${CMAKE_CURRENT_BINARY_DIR}/SDL/include/SDL2/SDL_revision.h")
|
||||||
file(READ "${CMAKE_CURRENT_BINARY_DIR}/SDL/include/SDL2/SDL_revision.h" ACTUAL_SDL_REVISION)
|
file(READ "${CMAKE_CURRENT_BINARY_DIR}/SDL/include/SDL2/SDL_revision.h" ACTUAL_SDL_REVISION)
|
||||||
if (NOT "${ACTUAL_SDL_REVISION}" MATCHES "${EXPECTED_SDL_REVISION}")
|
if (NOT "${ACTUAL_SDL_REVISION}" MATCHES "${EXPECTED_SDL_REVISION}")
|
||||||
|
|
2
Externals/SDL/SDL
vendored
2
Externals/SDL/SDL
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 8236e01a9f758d15927624925c6043f84d8a261f
|
Subproject commit c98c4fbff6d8f3016a3ce6685bf8f43433c3efcc
|
2
Externals/libadrenotools
vendored
2
Externals/libadrenotools
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit f4ce3c9618e7ecfcdd238b17dad9a0b888f5de90
|
Subproject commit 8fae8ce254dfc1344527e05301e43f37dea2df80
|
25
Externals/rangeset/include/rangeset/rangeset.h
vendored
25
Externals/rangeset/include/rangeset/rangeset.h
vendored
|
@ -3,6 +3,7 @@
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
namespace HyoutaUtilities {
|
namespace HyoutaUtilities {
|
||||||
template <typename T> class RangeSet {
|
template <typename T> class RangeSet {
|
||||||
|
@ -254,7 +255,31 @@ public:
|
||||||
return !(*this == other);
|
return !(*this == other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get free size and fragmentation ratio
|
||||||
|
std::pair<std::size_t, double> get_stats() const {
|
||||||
|
std::size_t free_total = 0;
|
||||||
|
if (begin() == end())
|
||||||
|
return {free_total, 1.0};
|
||||||
|
std::size_t largest_size = 0;
|
||||||
|
for (auto iter = begin(); iter != end(); ++iter) {
|
||||||
|
const std::size_t size = calc_size(iter.from(), iter.to());
|
||||||
|
if (size > largest_size)
|
||||||
|
largest_size = size;
|
||||||
|
free_total += size;
|
||||||
|
}
|
||||||
|
return {free_total, static_cast<double>(free_total - largest_size) / free_total};
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static std::size_t calc_size(T from, T to) {
|
||||||
|
if constexpr (std::is_pointer_v<T>) {
|
||||||
|
// For pointers we don't want pointer arithmetic here, else void* breaks.
|
||||||
|
return reinterpret_cast<std::size_t>(to) - reinterpret_cast<std::size_t>(from);
|
||||||
|
} else {
|
||||||
|
return static_cast<std::size_t>(to - from);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Assumptions that can be made about the data:
|
// Assumptions that can be made about the data:
|
||||||
// - Range are stored in the form [from, to[
|
// - Range are stored in the form [from, to[
|
||||||
// That is, the starting value is inclusive, and the end value is exclusive.
|
// That is, the starting value is inclusive, and the end value is exclusive.
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
namespace HyoutaUtilities {
|
namespace HyoutaUtilities {
|
||||||
// Like RangeSet, but additionally stores a map of the ranges sorted by their size, for quickly finding the largest or
|
// Like RangeSet, but additionally stores a map of the ranges sorted by their size, for quickly finding the largest or
|
||||||
|
@ -398,6 +399,16 @@ public:
|
||||||
return !(*this == other);
|
return !(*this == other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get free size and fragmentation ratio
|
||||||
|
std::pair<std::size_t, double> get_stats() const {
|
||||||
|
std::size_t free_total = 0;
|
||||||
|
if (begin() == end())
|
||||||
|
return {free_total, 1.0};
|
||||||
|
for (auto iter = begin(); iter != end(); ++iter)
|
||||||
|
free_total += calc_size(iter.from(), iter.to());
|
||||||
|
return {free_total, static_cast<double>(free_total - Sizes.begin()->first) / free_total};
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static SizeT calc_size(T from, T to) {
|
static SizeT calc_size(T from, T to) {
|
||||||
if constexpr (std::is_pointer_v<T>) {
|
if constexpr (std::is_pointer_v<T>) {
|
||||||
|
|
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
|
@ -27,7 +27,7 @@ Please read the [FAQ](https://dolphin-emu.org/docs/faq/) before using Dolphin.
|
||||||
### Desktop
|
### Desktop
|
||||||
|
|
||||||
* OS
|
* OS
|
||||||
* Windows (10 or higher).
|
* Windows (10 1703 or higher).
|
||||||
* Linux.
|
* Linux.
|
||||||
* macOS (10.15 Catalina or higher).
|
* macOS (10.15 Catalina or higher).
|
||||||
* Unix-like systems other than Linux are not officially supported but might work.
|
* Unix-like systems other than Linux are not officially supported but might work.
|
||||||
|
@ -261,7 +261,7 @@ Options:
|
||||||
Path to disc image FILE.
|
Path to disc image FILE.
|
||||||
-a ALGORITHM, --algorithm=ALGORITHM
|
-a ALGORITHM, --algorithm=ALGORITHM
|
||||||
Optional. Compute and print the digest using the
|
Optional. Compute and print the digest using the
|
||||||
selected algorithm, then exit. [crc32|md5|sha1]
|
selected algorithm, then exit. [crc32|md5|sha1|rchash]
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -101,8 +101,12 @@ android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
cmake {
|
cmake {
|
||||||
arguments("-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo")
|
arguments(
|
||||||
// , "-DENABLE_GENERIC=ON"
|
"-DANDROID_STL=c++_static",
|
||||||
|
"-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON",
|
||||||
|
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||||
|
// , "-DENABLE_GENERIC=ON"
|
||||||
|
)
|
||||||
abiFilters("arm64-v8a", "x86_64") //, "armeabi-v7a", "x86"
|
abiFilters("arm64-v8a", "x86_64") //, "armeabi-v7a", "x86"
|
||||||
|
|
||||||
// Uncomment the line below if you don't want to build the C++ unit tests
|
// Uncomment the line below if you don't want to build the C++ unit tests
|
||||||
|
|
|
@ -302,7 +302,7 @@ public final class NativeLibrary
|
||||||
|
|
||||||
public static native int DefaultCPUCore();
|
public static native int DefaultCPUCore();
|
||||||
|
|
||||||
public static native String GetDefaultGraphicsBackendName();
|
public static native String GetDefaultGraphicsBackendConfigName();
|
||||||
|
|
||||||
public static native int GetMaxLogLevel();
|
public static native int GetMaxLogLevel();
|
||||||
|
|
||||||
|
@ -381,10 +381,21 @@ public final class NativeLibrary
|
||||||
*/
|
*/
|
||||||
public static native boolean IsRunning();
|
public static native boolean IsRunning();
|
||||||
|
|
||||||
public static native boolean IsRunningAndStarted();
|
/**
|
||||||
|
* Returns true if emulation is running and not paused.
|
||||||
|
*/
|
||||||
public static native boolean IsRunningAndUnpaused();
|
public static native boolean IsRunningAndUnpaused();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if emulation is fully shut down.
|
||||||
|
*/
|
||||||
|
public static native boolean IsUninitialized();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Re-initialize software JitBlock profiling data
|
||||||
|
*/
|
||||||
|
public static native void WipeJitBlockProfilingData();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes out the JitBlock Cache log dump
|
* Writes out the JitBlock Cache log dump
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,11 +6,10 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.google.android.material.color.MaterialColors
|
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import org.dolphinemu.dolphinemu.databinding.ActivityConvertBinding
|
import org.dolphinemu.dolphinemu.databinding.ActivityConvertBinding
|
||||||
import org.dolphinemu.dolphinemu.fragments.ConvertFragment
|
import org.dolphinemu.dolphinemu.fragments.ConvertFragment
|
||||||
|
@ -23,14 +22,13 @@ class ConvertActivity : AppCompatActivity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
ThemeHelper.setTheme(this)
|
ThemeHelper.setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityConvertBinding.inflate(layoutInflater)
|
binding = ActivityConvertBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
|
|
||||||
val path = intent.getStringExtra(ARG_GAME_PATH)
|
val path = intent.getStringExtra(ARG_GAME_PATH)
|
||||||
|
|
||||||
var fragment = supportFragmentManager
|
var fragment = supportFragmentManager
|
||||||
|
@ -62,10 +60,6 @@ class ConvertActivity : AppCompatActivity() {
|
||||||
binding.scrollViewConvert.setPadding(insets.left, 0, insets.right, insets.bottom)
|
binding.scrollViewConvert.setPadding(insets.left, 0, insets.right, insets.bottom)
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
||||||
ThemeHelper.setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(binding.appbarConvert, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,11 @@ import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.DocumentsContract
|
import android.provider.DocumentsContract
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import com.google.android.material.color.MaterialColors
|
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import org.dolphinemu.dolphinemu.databinding.ActivityUserDataBinding
|
import org.dolphinemu.dolphinemu.databinding.ActivityUserDataBinding
|
||||||
import org.dolphinemu.dolphinemu.dialogs.NotificationDialog
|
import org.dolphinemu.dolphinemu.dialogs.NotificationDialog
|
||||||
|
@ -25,7 +24,6 @@ import org.dolphinemu.dolphinemu.features.DocumentProvider
|
||||||
import org.dolphinemu.dolphinemu.model.TaskViewModel
|
import org.dolphinemu.dolphinemu.model.TaskViewModel
|
||||||
import org.dolphinemu.dolphinemu.utils.*
|
import org.dolphinemu.dolphinemu.utils.*
|
||||||
import org.dolphinemu.dolphinemu.utils.ThemeHelper.enableScrollTint
|
import org.dolphinemu.dolphinemu.utils.ThemeHelper.enableScrollTint
|
||||||
import org.dolphinemu.dolphinemu.utils.ThemeHelper.setNavigationBarColor
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
|
@ -43,14 +41,13 @@ class UserDataActivity : AppCompatActivity() {
|
||||||
taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java]
|
taskViewModel = ViewModelProvider(this)[TaskViewModel::class.java]
|
||||||
|
|
||||||
ThemeHelper.setTheme(this)
|
ThemeHelper.setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
mBinding = ActivityUserDataBinding.inflate(layoutInflater)
|
mBinding = ActivityUserDataBinding.inflate(layoutInflater)
|
||||||
setContentView(mBinding.root)
|
setContentView(mBinding.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
|
|
||||||
val android7 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
val android7 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
||||||
val android10 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
val android10 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
||||||
val android11 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
val android11 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||||
|
@ -334,10 +331,6 @@ class UserDataActivity : AppCompatActivity() {
|
||||||
mBinding.scrollViewUserData.setPadding(insets.left, 0, insets.right, insets.bottom)
|
mBinding.scrollViewUserData.setPadding(insets.left, 0, insets.right, insets.bottom)
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(insets.bottom, mBinding.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(insets.bottom, mBinding.workaroundView)
|
||||||
setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(mBinding.appbarUserData, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,10 @@ import android.view.Menu
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.ViewGroup.MarginLayoutParams
|
import android.view.ViewGroup.MarginLayoutParams
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsAnimationCompat
|
import androidx.core.view.WindowInsetsAnimationCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
@ -51,6 +51,7 @@ class CheatsActivity : AppCompatActivity(), PanelSlideListener {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
ThemeHelper.setTheme(this)
|
ThemeHelper.setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
@ -69,8 +70,6 @@ class CheatsActivity : AppCompatActivity(), PanelSlideListener {
|
||||||
binding = ActivityCheatsBinding.inflate(layoutInflater)
|
binding = ActivityCheatsBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
|
|
||||||
cheatListLastFocus = binding.cheatList
|
cheatListLastFocus = binding.cheatList
|
||||||
cheatDetailsLastFocus = binding.cheatDetails
|
cheatDetailsLastFocus = binding.cheatDetails
|
||||||
|
|
||||||
|
@ -225,10 +224,6 @@ class CheatsActivity : AppCompatActivity(), PanelSlideListener {
|
||||||
binding.cheatDetails.layoutParams = mlpDetails
|
binding.cheatDetails.layoutParams = mlpDetails
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(barInsets.bottom, binding.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(barInsets.bottom, binding.workaroundView)
|
||||||
ThemeHelper.setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(binding.appbarCheats, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,12 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.google.android.material.color.MaterialColors
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
@ -31,14 +30,13 @@ class RiivolutionBootActivity : AppCompatActivity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
ThemeHelper.setTheme(this)
|
ThemeHelper.setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityRiivolutionBootBinding.inflate(layoutInflater)
|
binding = ActivityRiivolutionBootBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
|
|
||||||
val path = intent.getStringExtra(ARG_GAME_PATH)
|
val path = intent.getStringExtra(ARG_GAME_PATH)
|
||||||
val gameId = intent.getStringExtra(ARG_GAME_ID)
|
val gameId = intent.getStringExtra(ARG_GAME_ID)
|
||||||
val revision = intent.getIntExtra(ARG_REVISION, -1)
|
val revision = intent.getIntExtra(ARG_REVISION, -1)
|
||||||
|
@ -96,10 +94,6 @@ class RiivolutionBootActivity : AppCompatActivity() {
|
||||||
binding.scrollViewRiivolution.setPadding(insets.left, 0, insets.right, insets.bottom)
|
binding.scrollViewRiivolution.setPadding(insets.left, 0, insets.right, insets.bottom)
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
||||||
ThemeHelper.setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(binding.appbarRiivolution, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
|
@ -651,6 +651,7 @@ enum class BooleanSetting(
|
||||||
SYSCONF_PROGRESSIVE_SCAN(Settings.FILE_SYSCONF, "IPL", "PGS", true),
|
SYSCONF_PROGRESSIVE_SCAN(Settings.FILE_SYSCONF, "IPL", "PGS", true),
|
||||||
SYSCONF_PAL60(Settings.FILE_SYSCONF, "IPL", "E60", true),
|
SYSCONF_PAL60(Settings.FILE_SYSCONF, "IPL", "E60", true),
|
||||||
SYSCONF_WIIMOTE_MOTOR(Settings.FILE_SYSCONF, "BT", "MOT", true),
|
SYSCONF_WIIMOTE_MOTOR(Settings.FILE_SYSCONF, "BT", "MOT", true),
|
||||||
|
GFX_VSYNC(Settings.FILE_GFX, Settings.SECTION_GFX_HARDWARE, "VSync", false),
|
||||||
GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false),
|
GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false),
|
||||||
GFX_CROP(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "Crop", false),
|
GFX_CROP(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "Crop", false),
|
||||||
GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false),
|
GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false),
|
||||||
|
@ -788,7 +789,7 @@ enum class BooleanSetting(
|
||||||
Settings.FILE_GFX,
|
Settings.FILE_GFX,
|
||||||
Settings.SECTION_GFX_HACKS,
|
Settings.SECTION_GFX_HACKS,
|
||||||
"EFBAccessEnable",
|
"EFBAccessEnable",
|
||||||
true
|
false
|
||||||
),
|
),
|
||||||
GFX_HACK_EFB_DEFER_INVALIDATION(
|
GFX_HACK_EFB_DEFER_INVALIDATION(
|
||||||
Settings.FILE_GFX,
|
Settings.FILE_GFX,
|
||||||
|
|
|
@ -36,7 +36,7 @@ class Settings : Closeable {
|
||||||
|
|
||||||
if (isGameSpecific) {
|
if (isGameSpecific) {
|
||||||
// Loading game INIs while the core is running will mess with the game INIs loaded by the core
|
// Loading game INIs while the core is running will mess with the game INIs loaded by the core
|
||||||
check(!NativeLibrary.IsRunning()) { "Attempted to load game INI while emulating" }
|
check(NativeLibrary.IsUninitialized()) { "Attempted to load game INI while emulating" }
|
||||||
NativeConfig.loadGameInis(gameId, revision)
|
NativeConfig.loadGameInis(gameId, revision)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,6 +124,7 @@ class Settings : Closeable {
|
||||||
const val SECTION_INI_DSP = "DSP"
|
const val SECTION_INI_DSP = "DSP"
|
||||||
const val SECTION_LOGGER_LOGS = "Logs"
|
const val SECTION_LOGGER_LOGS = "Logs"
|
||||||
const val SECTION_LOGGER_OPTIONS = "Options"
|
const val SECTION_LOGGER_OPTIONS = "Options"
|
||||||
|
const val SECTION_GFX_HARDWARE = "Settings"
|
||||||
const val SECTION_GFX_SETTINGS = "Settings"
|
const val SECTION_GFX_SETTINGS = "Settings"
|
||||||
const val SECTION_GFX_ENHANCEMENTS = "Enhancements"
|
const val SECTION_GFX_ENHANCEMENTS = "Enhancements"
|
||||||
const val SECTION_GFX_COLOR_CORRECTION = "ColorCorrection"
|
const val SECTION_GFX_COLOR_CORRECTION = "ColorCorrection"
|
||||||
|
|
|
@ -45,7 +45,7 @@ enum class StringSetting(
|
||||||
Settings.FILE_DOLPHIN,
|
Settings.FILE_DOLPHIN,
|
||||||
Settings.SECTION_INI_CORE,
|
Settings.SECTION_INI_CORE,
|
||||||
"GFXBackend",
|
"GFXBackend",
|
||||||
NativeLibrary.GetDefaultGraphicsBackendName()
|
NativeLibrary.GetDefaultGraphicsBackendConfigName()
|
||||||
),
|
),
|
||||||
MAIN_DUMP_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "DumpPath", ""),
|
MAIN_DUMP_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "DumpPath", ""),
|
||||||
MAIN_LOAD_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "LoadPath", ""),
|
MAIN_LOAD_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "LoadPath", ""),
|
||||||
|
|
|
@ -20,5 +20,5 @@ class RunRunnable(
|
||||||
override val setting: AbstractSetting? = null
|
override val setting: AbstractSetting? = null
|
||||||
|
|
||||||
override val isEditable: Boolean
|
override val isEditable: Boolean
|
||||||
get() = worksDuringEmulation || !NativeLibrary.IsRunning()
|
get() = worksDuringEmulation || NativeLibrary.IsUninitialized()
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ abstract class SettingsItem {
|
||||||
|
|
||||||
open val isEditable: Boolean
|
open val isEditable: Boolean
|
||||||
get() {
|
get() {
|
||||||
if (!NativeLibrary.IsRunning()) return true
|
if (NativeLibrary.IsUninitialized()) return true
|
||||||
val setting = setting
|
val setting = setting
|
||||||
return setting != null && setting.isRuntimeEditable
|
return setting != null && setting.isRuntimeEditable
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,17 +14,16 @@ import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
import com.google.android.material.color.MaterialColors
|
import com.google.android.material.color.MaterialColors
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.android.material.snackbar.Snackbar
|
|
||||||
import org.dolphinemu.dolphinemu.NativeLibrary
|
import org.dolphinemu.dolphinemu.NativeLibrary
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import org.dolphinemu.dolphinemu.databinding.ActivitySettingsBinding
|
import org.dolphinemu.dolphinemu.databinding.ActivitySettingsBinding
|
||||||
|
@ -32,11 +31,9 @@ import org.dolphinemu.dolphinemu.features.settings.model.Settings
|
||||||
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsFragment.Companion.newInstance
|
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsFragment.Companion.newInstance
|
||||||
import org.dolphinemu.dolphinemu.ui.main.MainPresenter
|
import org.dolphinemu.dolphinemu.ui.main.MainPresenter
|
||||||
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper
|
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper
|
||||||
import org.dolphinemu.dolphinemu.utils.GpuDriverInstallResult
|
|
||||||
import org.dolphinemu.dolphinemu.utils.InsetsHelper
|
import org.dolphinemu.dolphinemu.utils.InsetsHelper
|
||||||
import org.dolphinemu.dolphinemu.utils.SerializableHelper.serializable
|
import org.dolphinemu.dolphinemu.utils.SerializableHelper.serializable
|
||||||
import org.dolphinemu.dolphinemu.utils.ThemeHelper.enableScrollTint
|
import org.dolphinemu.dolphinemu.utils.ThemeHelper.enableScrollTint
|
||||||
import org.dolphinemu.dolphinemu.utils.ThemeHelper.setNavigationBarColor
|
|
||||||
import org.dolphinemu.dolphinemu.utils.ThemeHelper.setTheme
|
import org.dolphinemu.dolphinemu.utils.ThemeHelper.setTheme
|
||||||
|
|
||||||
class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
||||||
|
@ -55,6 +52,7 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
setTheme(this)
|
setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
@ -69,8 +67,6 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
||||||
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
||||||
setContentView(binding!!.root)
|
setContentView(binding!!.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
|
|
||||||
val launcher = intent
|
val launcher = intent
|
||||||
var gameID = launcher.getStringExtra(ARG_GAME_ID)
|
var gameID = launcher.getStringExtra(ARG_GAME_ID)
|
||||||
if (gameID == null) gameID = ""
|
if (gameID == null) gameID = ""
|
||||||
|
@ -291,10 +287,6 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
||||||
)
|
)
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding!!.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding!!.workaroundView)
|
||||||
setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(binding!!.appbarSettings, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ class SettingsFragmentPresenter(
|
||||||
} else if (
|
} else if (
|
||||||
menuTag == MenuTag.GRAPHICS
|
menuTag == MenuTag.GRAPHICS
|
||||||
&& this.gameId.isNullOrEmpty()
|
&& this.gameId.isNullOrEmpty()
|
||||||
&& !NativeLibrary.IsRunning()
|
&& NativeLibrary.IsUninitialized()
|
||||||
&& GpuDriverHelper.supportsCustomDriverLoading()
|
&& GpuDriverHelper.supportsCustomDriverLoading()
|
||||||
) {
|
) {
|
||||||
this.gpuDriver =
|
this.gpuDriver =
|
||||||
|
@ -1226,6 +1226,24 @@ class SettingsFragmentPresenter(
|
||||||
MenuTag.getWiimoteMenuTag(3)
|
MenuTag.getWiimoteMenuTag(3)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
sl.add(SwitchSetting(context, object : AbstractBooleanSetting {
|
||||||
|
override val isOverridden: Boolean = IntSetting.WIIMOTE_BB_SOURCE.isOverridden
|
||||||
|
|
||||||
|
override val isRuntimeEditable: Boolean = IntSetting.WIIMOTE_BB_SOURCE.isRuntimeEditable
|
||||||
|
|
||||||
|
override fun delete(settings: Settings): Boolean {
|
||||||
|
return IntSetting.WIIMOTE_BB_SOURCE.delete(settings)
|
||||||
|
}
|
||||||
|
|
||||||
|
override val boolean: Boolean get() = IntSetting.WIIMOTE_BB_SOURCE.int == 2
|
||||||
|
|
||||||
|
override fun setBoolean(settings: Settings, newValue: Boolean) {
|
||||||
|
// 0 == None
|
||||||
|
// 1 == Emulated
|
||||||
|
// 2 == Real
|
||||||
|
IntSetting.WIIMOTE_BB_SOURCE.setInt(settings, if (newValue) 2 else 0)
|
||||||
|
}
|
||||||
|
}, R.string.real_balance_board, 0))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addGraphicsSettings(sl: ArrayList<SettingsItem>) {
|
private fun addGraphicsSettings(sl: ArrayList<SettingsItem>) {
|
||||||
|
@ -1303,7 +1321,7 @@ class SettingsFragmentPresenter(
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.gpuDriver != null && this.gameId.isNullOrEmpty()
|
this.gpuDriver != null && this.gameId.isNullOrEmpty()
|
||||||
&& !NativeLibrary.IsRunning()
|
&& NativeLibrary.IsUninitialized()
|
||||||
&& GpuDriverHelper.supportsCustomDriverLoading()
|
&& GpuDriverHelper.supportsCustomDriverLoading()
|
||||||
) {
|
) {
|
||||||
sl.add(
|
sl.add(
|
||||||
|
@ -1777,6 +1795,14 @@ class SettingsFragmentPresenter(
|
||||||
0
|
0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
sl.add(
|
||||||
|
SwitchSetting(
|
||||||
|
context,
|
||||||
|
BooleanSetting.GFX_VSYNC,
|
||||||
|
R.string.vsync,
|
||||||
|
R.string.vsync_description
|
||||||
|
)
|
||||||
|
)
|
||||||
sl.add(
|
sl.add(
|
||||||
SwitchSetting(
|
SwitchSetting(
|
||||||
context,
|
context,
|
||||||
|
@ -1987,6 +2013,16 @@ class SettingsFragmentPresenter(
|
||||||
0
|
0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
sl.add(
|
||||||
|
RunRunnable(
|
||||||
|
context,
|
||||||
|
R.string.debug_jit_wipe_block_profiling_data,
|
||||||
|
0,
|
||||||
|
R.string.debug_jit_wipe_block_profiling_data_alert,
|
||||||
|
0,
|
||||||
|
true
|
||||||
|
) { NativeLibrary.WipeJitBlockProfilingData() }
|
||||||
|
)
|
||||||
sl.add(
|
sl.add(
|
||||||
RunRunnable(
|
RunRunnable(
|
||||||
context,
|
context,
|
||||||
|
|
|
@ -180,11 +180,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||||
|
|
||||||
private fun run(isActivityRecreated: Boolean) {
|
private fun run(isActivityRecreated: Boolean) {
|
||||||
if (isActivityRecreated) {
|
if (isActivityRecreated) {
|
||||||
if (NativeLibrary.IsRunning()) {
|
if (NativeLibrary.IsUninitialized()) {
|
||||||
|
loadPreviousTemporaryState = true
|
||||||
|
} else {
|
||||||
loadPreviousTemporaryState = false
|
loadPreviousTemporaryState = false
|
||||||
deleteFile(temporaryStateFilePath)
|
deleteFile(temporaryStateFilePath)
|
||||||
} else {
|
|
||||||
loadPreviousTemporaryState = true
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.debug("[EmulationFragment] activity resumed or fresh start")
|
Log.debug("[EmulationFragment] activity resumed or fresh start")
|
||||||
|
@ -203,7 +203,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
||||||
|
|
||||||
private fun runWithValidSurface() {
|
private fun runWithValidSurface() {
|
||||||
runWhenSurfaceIsValid = false
|
runWhenSurfaceIsValid = false
|
||||||
if (!NativeLibrary.IsRunning()) {
|
if (NativeLibrary.IsUninitialized()) {
|
||||||
NativeLibrary.SetIsBooting()
|
NativeLibrary.SetIsBooting()
|
||||||
val emulationThread = Thread({
|
val emulationThread = Thread({
|
||||||
if (loadPreviousTemporaryState) {
|
if (loadPreviousTemporaryState) {
|
||||||
|
|
|
@ -83,7 +83,7 @@ class InputOverlay(context: Context?, attrs: AttributeSet?) : SurfaceView(contex
|
||||||
|
|
||||||
fun initTouchPointer() {
|
fun initTouchPointer() {
|
||||||
// Check if we have all the data we need yet
|
// Check if we have all the data we need yet
|
||||||
val aspectRatioAvailable = NativeLibrary.IsRunningAndStarted()
|
val aspectRatioAvailable = NativeLibrary.IsRunning()
|
||||||
if (!aspectRatioAvailable || surfacePosition == null)
|
if (!aspectRatioAvailable || surfacePosition == null)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -9,14 +9,13 @@ import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup.MarginLayoutParams
|
import android.view.ViewGroup.MarginLayoutParams
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import com.google.android.material.color.MaterialColors
|
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import org.dolphinemu.dolphinemu.activities.EmulationActivity
|
import org.dolphinemu.dolphinemu.activities.EmulationActivity
|
||||||
|
@ -53,13 +52,13 @@ class MainActivity : AppCompatActivity(), MainView, OnRefreshListener, ThemeProv
|
||||||
installSplashScreen().setKeepOnScreenCondition { !DirectoryInitialization.areDolphinDirectoriesReady() }
|
installSplashScreen().setKeepOnScreenCondition { !DirectoryInitialization.areDolphinDirectoriesReady() }
|
||||||
|
|
||||||
ThemeHelper.setTheme(this)
|
ThemeHelper.setTheme(this)
|
||||||
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
||||||
setInsets()
|
setInsets()
|
||||||
ThemeHelper.enableStatusBarScrollTint(this, binding.appbarMain)
|
ThemeHelper.enableStatusBarScrollTint(this, binding.appbarMain)
|
||||||
|
|
||||||
|
@ -330,10 +329,6 @@ class MainActivity : AppCompatActivity(), MainView, OnRefreshListener, ThemeProv
|
||||||
binding.pagerPlatforms.setPadding(insets.left, 0, insets.right, 0)
|
binding.pagerPlatforms.setPadding(insets.left, 0, insets.right, 0)
|
||||||
|
|
||||||
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
InsetsHelper.applyNavbarWorkaround(insets.bottom, binding.workaroundView)
|
||||||
ThemeHelper.setNavigationBarColor(
|
|
||||||
this,
|
|
||||||
MaterialColors.getColor(binding.appbarMain, R.attr.colorSurface)
|
|
||||||
)
|
|
||||||
|
|
||||||
windowInsets
|
windowInsets
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.dolphinemu.dolphinemu.utils
|
package org.dolphinemu.dolphinemu.utils
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
@ -14,11 +13,8 @@ import com.google.android.material.appbar.MaterialToolbar
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import com.google.android.material.elevation.ElevationOverlayProvider
|
import com.google.android.material.elevation.ElevationOverlayProvider
|
||||||
import com.google.android.material.color.MaterialColors
|
import com.google.android.material.color.MaterialColors
|
||||||
import android.graphics.Color
|
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import kotlin.math.roundToInt
|
|
||||||
|
|
||||||
object ThemeHelper {
|
object ThemeHelper {
|
||||||
|
|
||||||
|
@ -32,8 +28,6 @@ object ThemeHelper {
|
||||||
const val GREEN = 3
|
const val GREEN = 3
|
||||||
const val PINK = 4
|
const val PINK = 4
|
||||||
|
|
||||||
const val NAV_BAR_ALPHA = 0.9f
|
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun setTheme(activity: AppCompatActivity) {
|
fun setTheme(activity: AppCompatActivity) {
|
||||||
// We have to use shared preferences in addition to Dolphin's settings to guarantee that the
|
// We have to use shared preferences in addition to Dolphin's settings to guarantee that the
|
||||||
|
@ -166,32 +160,6 @@ object ThemeHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun setNavigationBarColor(activity: Activity, @ColorInt color: Int) {
|
|
||||||
val gestureType = InsetsHelper.getSystemGestureType(activity.applicationContext)
|
|
||||||
val orientation = activity.resources.configuration.orientation
|
|
||||||
|
|
||||||
// Use black if the Android version is too low to support changing button colors
|
|
||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O_MR1) {
|
|
||||||
activity.window.navigationBarColor =
|
|
||||||
ContextCompat.getColor(activity.applicationContext, android.R.color.black)
|
|
||||||
} else if ((gestureType == InsetsHelper.THREE_BUTTON_NAVIGATION ||
|
|
||||||
gestureType == InsetsHelper.TWO_BUTTON_NAVIGATION) &&
|
|
||||||
orientation == Configuration.ORIENTATION_LANDSCAPE
|
|
||||||
) {
|
|
||||||
activity.window.navigationBarColor = color
|
|
||||||
} else if (gestureType == InsetsHelper.THREE_BUTTON_NAVIGATION ||
|
|
||||||
gestureType == InsetsHelper.TWO_BUTTON_NAVIGATION
|
|
||||||
) {
|
|
||||||
activity.window.navigationBarColor = getColorWithOpacity(color, NAV_BAR_ALPHA)
|
|
||||||
} else {
|
|
||||||
activity.window.navigationBarColor = ContextCompat.getColor(
|
|
||||||
activity.applicationContext,
|
|
||||||
android.R.color.transparent
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun enableScrollTint(
|
fun enableScrollTint(
|
||||||
activity: AppCompatActivity, toolbar: MaterialToolbar, appBarLayout: AppBarLayout
|
activity: AppCompatActivity, toolbar: MaterialToolbar, appBarLayout: AppBarLayout
|
||||||
|
@ -232,13 +200,4 @@ object ThemeHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.O_MR1)
|
|
||||||
@ColorInt
|
|
||||||
private fun getColorWithOpacity(@ColorInt color: Int, alphaFactor: Float): Int {
|
|
||||||
return Color.argb(
|
|
||||||
(alphaFactor * Color.alpha(color)).roundToInt(), Color.red(color),
|
|
||||||
Color.green(color), Color.blue(color)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
<string name="wiimote_extension_2">Wii Remote Extension 3</string>
|
<string name="wiimote_extension_2">Wii Remote Extension 3</string>
|
||||||
<string name="wiimote_extension_3">Wii Remote Extension 4</string>
|
<string name="wiimote_extension_3">Wii Remote Extension 4</string>
|
||||||
|
|
||||||
|
<string name="real_balance_board">Real Balance Board</string>
|
||||||
|
|
||||||
<string name="wiimote">Wii Remote</string>
|
<string name="wiimote">Wii Remote</string>
|
||||||
<string name="wiimote_general">Buttons</string>
|
<string name="wiimote_general">Buttons</string>
|
||||||
<string name="wiimote_motion_simulation">Motion Simulation</string>
|
<string name="wiimote_motion_simulation">Motion Simulation</string>
|
||||||
|
@ -330,6 +332,8 @@
|
||||||
<string name="crop">Crop</string>
|
<string name="crop">Crop</string>
|
||||||
<string name="crop_description">Crops the picture from its native aspect ratio to 4:3 or 16:9. If unsure, leave this unchecked.</string>
|
<string name="crop_description">Crops the picture from its native aspect ratio to 4:3 or 16:9. If unsure, leave this unchecked.</string>
|
||||||
<string name="progressive_scan">Enable Progressive Scan</string>
|
<string name="progressive_scan">Enable Progressive Scan</string>
|
||||||
|
<string name="vsync">V-Sync</string>
|
||||||
|
<string name="vsync_description">This setting is unnecessary on most Android devices, because Android always enables V-Sync. If unsure, leave this unchecked.</string>
|
||||||
<string name="backend_multithreading">Backend Multithreading</string>
|
<string name="backend_multithreading">Backend Multithreading</string>
|
||||||
<string name="backend_multithreading_description">Enables graphics backend multithreading (Vulkan only). May affect performance. If unsure, leave this checked.</string>
|
<string name="backend_multithreading_description">Enables graphics backend multithreading (Vulkan only). May affect performance. If unsure, leave this checked.</string>
|
||||||
<string name="prefer_vs_for_point_line_expansion">Prefer VS for Point/Line Expansion</string>
|
<string name="prefer_vs_for_point_line_expansion">Prefer VS for Point/Line Expansion</string>
|
||||||
|
@ -408,6 +412,8 @@
|
||||||
<string name="debug_large_entry_points_map">Disable Large Entry Points Map</string>
|
<string name="debug_large_entry_points_map">Disable Large Entry Points Map</string>
|
||||||
<string name="debug_jit_profiling_header">Jit Profiling</string>
|
<string name="debug_jit_profiling_header">Jit Profiling</string>
|
||||||
<string name="debug_jit_enable_block_profiling">Enable Jit Block Profiling</string>
|
<string name="debug_jit_enable_block_profiling">Enable Jit Block Profiling</string>
|
||||||
|
<string name="debug_jit_wipe_block_profiling_data">Wipe Jit Block Profiling Data</string>
|
||||||
|
<string name="debug_jit_wipe_block_profiling_data_alert">Re-initialize JIT block profiling data?</string>
|
||||||
<string name="debug_jit_write_block_log_dump">Write Jit Block Log Dump</string>
|
<string name="debug_jit_write_block_log_dump">Write Jit Block Log Dump</string>
|
||||||
<string name="debug_jit_header">Jit</string>
|
<string name="debug_jit_header">Jit</string>
|
||||||
<string name="debug_jitoff">Jit Disabled</string>
|
<string name="debug_jitoff">Jit Disabled</string>
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
|
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
|
|
||||||
|
#include <fmt/format.h>
|
||||||
|
#include <fmt/ranges.h>
|
||||||
|
|
||||||
#include "Common/FileUtil.h"
|
#include "Common/FileUtil.h"
|
||||||
#include "Common/IniFile.h"
|
#include "Common/IniFile.h"
|
||||||
#include "Core/ConfigManager.h"
|
#include "Core/ConfigManager.h"
|
||||||
|
@ -58,7 +61,7 @@ Java_org_dolphinemu_dolphinemu_features_cheats_model_GeckoCheat_getCreator(JNIEn
|
||||||
JNIEXPORT jstring JNICALL
|
JNIEXPORT jstring JNICALL
|
||||||
Java_org_dolphinemu_dolphinemu_features_cheats_model_GeckoCheat_getNotes(JNIEnv* env, jobject obj)
|
Java_org_dolphinemu_dolphinemu_features_cheats_model_GeckoCheat_getNotes(JNIEnv* env, jobject obj)
|
||||||
{
|
{
|
||||||
return ToJString(env, JoinStrings(GetPointer(env, obj)->notes, "\n"));
|
return ToJString(env, fmt::to_string(fmt::join(GetPointer(env, obj)->notes, "\n")));
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL
|
JNIEXPORT jstring JNICALL
|
||||||
|
|
|
@ -101,6 +101,10 @@ void Host_PPCSymbolsChanged()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Host_PPCBreakpointsChanged()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void Host_RefreshDSPDebuggerWindow()
|
void Host_RefreshDSPDebuggerWindow()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -118,8 +122,7 @@ void Host_Message(HostMessageID id)
|
||||||
}
|
}
|
||||||
else if (id == HostMessageID::WMUserStop)
|
else if (id == HostMessageID::WMUserStop)
|
||||||
{
|
{
|
||||||
if (Core::IsRunning(Core::System::GetInstance()))
|
Core::QueueHostJob(&Core::Stop);
|
||||||
Core::QueueHostJob(&Core::Stop);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,6 +150,14 @@ void Host_UpdateDisasmDialog()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Host_JitCacheInvalidation()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Host_JitProfileDataWiped()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void Host_UpdateMainFrame()
|
void Host_UpdateMainFrame()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -292,13 +303,6 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetIsBooting
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_IsRunning(JNIEnv*, jclass)
|
JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_IsRunning(JNIEnv*, jclass)
|
||||||
{
|
|
||||||
return s_is_booting.IsSet() ||
|
|
||||||
static_cast<jboolean>(Core::IsRunning(Core::System::GetInstance()));
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_IsRunningAndStarted(JNIEnv*,
|
|
||||||
jclass)
|
|
||||||
{
|
{
|
||||||
return static_cast<jboolean>(Core::IsRunning(Core::System::GetInstance()));
|
return static_cast<jboolean>(Core::IsRunning(Core::System::GetInstance()));
|
||||||
}
|
}
|
||||||
|
@ -309,6 +313,13 @@ Java_org_dolphinemu_dolphinemu_NativeLibrary_IsRunningAndUnpaused(JNIEnv*, jclas
|
||||||
return static_cast<jboolean>(Core::GetState(Core::System::GetInstance()) == Core::State::Running);
|
return static_cast<jboolean>(Core::GetState(Core::System::GetInstance()) == Core::State::Running);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_IsUninitialized(JNIEnv*,
|
||||||
|
jclass)
|
||||||
|
{
|
||||||
|
return static_cast<jboolean>(Core::IsUninitialized(Core::System::GetInstance()) &&
|
||||||
|
!s_is_booting.IsSet());
|
||||||
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetVersionString(JNIEnv* env,
|
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetVersionString(JNIEnv* env,
|
||||||
jclass)
|
jclass)
|
||||||
{
|
{
|
||||||
|
@ -417,9 +428,10 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_DefaultCPUCo
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL
|
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)
|
JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetMaxLogLevel(JNIEnv*, jclass)
|
||||||
|
@ -427,6 +439,22 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetMaxLogLev
|
||||||
return static_cast<jint>(Common::Log::MAX_LOGLEVEL);
|
return static_cast<jint>(Common::Log::MAX_LOGLEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_WipeJitBlockProfilingData(
|
||||||
|
JNIEnv* env, jclass native_library_class)
|
||||||
|
{
|
||||||
|
HostThreadLock guard;
|
||||||
|
auto& system = Core::System::GetInstance();
|
||||||
|
auto& jit_interface = system.GetJitInterface();
|
||||||
|
const Core::CPUThreadGuard cpu_guard(system);
|
||||||
|
if (jit_interface.GetCore() == nullptr)
|
||||||
|
{
|
||||||
|
env->CallStaticVoidMethod(native_library_class, IDCache::GetDisplayToastMsg(),
|
||||||
|
ToJString(env, Common::GetStringT("JIT is not active")), JNI_FALSE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
jit_interface.WipeBlockProfilingData(cpu_guard);
|
||||||
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_WriteJitBlockLogDump(
|
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_WriteJitBlockLogDump(
|
||||||
JNIEnv* env, jclass native_library_class)
|
JNIEnv* env, jclass native_library_class)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
#include <fmt/ranges.h>
|
||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/FileUtil.h"
|
#include "Common/FileUtil.h"
|
||||||
|
@ -332,5 +333,5 @@ std::string CPUInfo::Summarize()
|
||||||
if (bSHA2)
|
if (bSHA2)
|
||||||
sum.push_back("SHA2");
|
sum.push_back("SHA2");
|
||||||
|
|
||||||
return JoinStrings(sum, ",");
|
return fmt::to_string(fmt::join(sum, ","));
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ private:
|
||||||
std::array<uint32_t, 36 + sizeof...(ExtraMatches)> _conns;
|
std::array<uint32_t, 36 + sizeof...(ExtraMatches)> _conns;
|
||||||
std::optional<V> _val;
|
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
|
constexpr size_t IndexOf(char c) const
|
||||||
|
|
|
@ -77,6 +77,8 @@ add_library(common
|
||||||
Hash.cpp
|
Hash.cpp
|
||||||
Hash.h
|
Hash.h
|
||||||
HookableEvent.h
|
HookableEvent.h
|
||||||
|
HostDisassembler.cpp
|
||||||
|
HostDisassembler.h
|
||||||
HttpRequest.cpp
|
HttpRequest.cpp
|
||||||
HttpRequest.h
|
HttpRequest.h
|
||||||
Image.cpp
|
Image.cpp
|
||||||
|
@ -183,6 +185,11 @@ PRIVATE
|
||||||
${VTUNE_LIBRARIES}
|
${VTUNE_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if ((DEFINED CMAKE_ANDROID_ARCH_ABI AND CMAKE_ANDROID_ARCH_ABI MATCHES "x86|x86_64") OR
|
||||||
|
(NOT DEFINED CMAKE_ANDROID_ARCH_ABI AND _M_X86_64))
|
||||||
|
target_link_libraries(common PRIVATE bdisasm)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
target_link_libraries(common
|
target_link_libraries(common
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
@ -333,6 +340,28 @@ if(OPROFILE_FOUND)
|
||||||
target_link_libraries(common PRIVATE OProfile::OProfile)
|
target_link_libraries(common PRIVATE OProfile::OProfile)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_LLVM)
|
||||||
|
find_package(LLVM CONFIG)
|
||||||
|
if(LLVM_FOUND)
|
||||||
|
message(STATUS "LLVM found, enabling LLVM support in disassembler")
|
||||||
|
target_compile_definitions(common PRIVATE HAVE_LLVM)
|
||||||
|
# Minimal documentation about LLVM's CMake functions is available here:
|
||||||
|
# https://releases.llvm.org/16.0.0/docs/CMake.html#embedding-llvm-in-your-project
|
||||||
|
# https://groups.google.com/g/llvm-dev/c/YeEVe7HTasQ?pli=1
|
||||||
|
#
|
||||||
|
# However, you have to read the source code in any case.
|
||||||
|
# Look for LLVM-Config.cmake in your (Unix) system:
|
||||||
|
# $ find /usr -name LLVM-Config\\.cmake 2>/dev/null
|
||||||
|
llvm_expand_pseudo_components(LLVM_EXPAND_COMPONENTS
|
||||||
|
AllTargetsInfos AllTargetsDisassemblers AllTargetsCodeGens
|
||||||
|
)
|
||||||
|
llvm_config(common USE_SHARED
|
||||||
|
mcdisassembler target ${LLVM_EXPAND_COMPONENTS}
|
||||||
|
)
|
||||||
|
target_include_directories(common PRIVATE ${LLVM_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
# Posix networking code needs to be fixed for Windows
|
# Posix networking code needs to be fixed for Windows
|
||||||
add_executable(traversal_server TraversalServer.cpp)
|
add_executable(traversal_server TraversalServer.cpp)
|
||||||
|
|
|
@ -20,7 +20,6 @@ struct ConfigChangedCallbackID
|
||||||
size_t id = -1;
|
size_t id = -1;
|
||||||
|
|
||||||
bool operator==(const ConfigChangedCallbackID&) const = default;
|
bool operator==(const ConfigChangedCallbackID&) const = default;
|
||||||
bool operator!=(const ConfigChangedCallbackID&) const = default;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
using ConfigChangedCallback = std::function<void()>;
|
using ConfigChangedCallback = std::function<void()>;
|
||||||
|
|
|
@ -15,11 +15,6 @@ bool Location::operator==(const Location& other) const
|
||||||
strcasecmp(key.c_str(), other.key.c_str()) == 0;
|
strcasecmp(key.c_str(), other.key.c_str()) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Location::operator!=(const Location& other) const
|
|
||||||
{
|
|
||||||
return !(*this == other);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Location::operator<(const Location& other) const
|
bool Location::operator<(const Location& other) const
|
||||||
{
|
{
|
||||||
if (system != other.system)
|
if (system != other.system)
|
||||||
|
|
|
@ -28,7 +28,6 @@ struct Location
|
||||||
std::string key;
|
std::string key;
|
||||||
|
|
||||||
bool operator==(const Location& other) const;
|
bool operator==(const Location& other) const;
|
||||||
bool operator!=(const Location& other) const;
|
|
||||||
bool operator<(const Location& other) const;
|
bool operator<(const Location& other) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -252,8 +252,8 @@ Signature Sign(const u8* key, const u8* hash)
|
||||||
bn_mul(s.data.data(), minv, kk, ec_N, 30);
|
bn_mul(s.data.data(), minv, kk, ec_N, 30);
|
||||||
|
|
||||||
Signature signature;
|
Signature signature;
|
||||||
std::copy(r.data.cbegin(), r.data.cend(), signature.begin());
|
std::ranges::copy(r.data, signature.begin());
|
||||||
std::copy(s.data.cbegin(), s.data.cend(), signature.begin() + 30);
|
std::ranges::copy(s.data, signature.begin() + 30);
|
||||||
return signature;
|
return signature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,7 @@ std::vector<std::string> DoFileSearch(const std::vector<std::string>& directorie
|
||||||
// Remove duplicates (occurring because caller gave e.g. duplicate or overlapping directories -
|
// Remove duplicates (occurring because caller gave e.g. duplicate or overlapping directories -
|
||||||
// not because std::filesystem returns duplicates). Also note that this pathname-based uniqueness
|
// not because std::filesystem returns duplicates). Also note that this pathname-based uniqueness
|
||||||
// isn't as thorough as std::filesystem::equivalent.
|
// isn't as thorough as std::filesystem::equivalent.
|
||||||
std::sort(result.begin(), result.end());
|
std::ranges::sort(result);
|
||||||
result.erase(std::unique(result.begin(), result.end()), result.end());
|
result.erase(std::unique(result.begin(), result.end()), result.end());
|
||||||
|
|
||||||
// Dolphin expects to be able to use "/" (DIR_SEP) everywhere.
|
// Dolphin expects to be able to use "/" (DIR_SEP) everywhere.
|
||||||
|
@ -107,7 +107,7 @@ std::vector<std::string> DoFileSearch(const std::vector<std::string>& directorie
|
||||||
if constexpr (os_separator != DIR_SEP_CHR)
|
if constexpr (os_separator != DIR_SEP_CHR)
|
||||||
{
|
{
|
||||||
for (auto& path : result)
|
for (auto& path : result)
|
||||||
std::replace(path.begin(), path.end(), '\\', DIR_SEP_CHR);
|
std::ranges::replace(path, '\\', DIR_SEP_CHR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -448,7 +448,7 @@ FSTEntry ScanDirectoryTree(std::string directory, bool recursive)
|
||||||
// about with directory separators (for host paths - emulated paths may require it) and instead
|
// about with directory separators (for host paths - emulated paths may require it) and instead
|
||||||
// use fs::path to interact with them.
|
// use fs::path to interact with them.
|
||||||
auto wpath = path.wstring();
|
auto wpath = path.wstring();
|
||||||
std::replace(wpath.begin(), wpath.end(), L'\\', L'/');
|
std::ranges::replace(wpath, L'\\', L'/');
|
||||||
return WStringToUTF8(wpath);
|
return WStringToUTF8(wpath);
|
||||||
#else
|
#else
|
||||||
return PathToString(path);
|
return PathToString(path);
|
||||||
|
|
158
Source/Core/Common/HostDisassembler.cpp
Normal file
158
Source/Core/Common/HostDisassembler.cpp
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
// Copyright 2008 Dolphin Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "Common/HostDisassembler.h"
|
||||||
|
|
||||||
|
#include <span>
|
||||||
|
|
||||||
|
#include <fmt/format.h>
|
||||||
|
#include <fmt/ostream.h>
|
||||||
|
#include <fmt/ranges.h>
|
||||||
|
|
||||||
|
#if defined(HAVE_LLVM)
|
||||||
|
#include <llvm-c/Disassembler.h>
|
||||||
|
#include <llvm-c/Target.h>
|
||||||
|
#elif defined(_M_X86_64)
|
||||||
|
#include <disasm.h> // Bochs
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_LLVM)
|
||||||
|
class HostDisassemblerLLVM final : public HostDisassembler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit HostDisassemblerLLVM(const char* host_disasm, const char* cpu = "",
|
||||||
|
std::size_t inst_size = 0);
|
||||||
|
~HostDisassemblerLLVM();
|
||||||
|
|
||||||
|
private:
|
||||||
|
LLVMDisasmContextRef m_llvm_context;
|
||||||
|
std::size_t m_instruction_size;
|
||||||
|
|
||||||
|
std::size_t Disassemble(const u8* begin, const u8* end, std::ostream& stream) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
HostDisassemblerLLVM::HostDisassemblerLLVM(const char* host_disasm, const char* cpu,
|
||||||
|
std::size_t inst_size)
|
||||||
|
: m_instruction_size(inst_size)
|
||||||
|
{
|
||||||
|
LLVMInitializeAllTargetInfos();
|
||||||
|
LLVMInitializeAllTargetMCs();
|
||||||
|
LLVMInitializeAllDisassemblers();
|
||||||
|
|
||||||
|
m_llvm_context = LLVMCreateDisasmCPU(host_disasm, cpu, nullptr, 0, nullptr, nullptr);
|
||||||
|
|
||||||
|
// Couldn't create llvm context
|
||||||
|
if (!m_llvm_context)
|
||||||
|
return;
|
||||||
|
|
||||||
|
LLVMSetDisasmOptions(m_llvm_context, LLVMDisassembler_Option_AsmPrinterVariant |
|
||||||
|
LLVMDisassembler_Option_PrintLatency);
|
||||||
|
}
|
||||||
|
|
||||||
|
HostDisassemblerLLVM::~HostDisassemblerLLVM()
|
||||||
|
{
|
||||||
|
if (m_llvm_context)
|
||||||
|
LLVMDisasmDispose(m_llvm_context);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::size_t HostDisassemblerLLVM::Disassemble(const u8* begin, const u8* end, std::ostream& stream)
|
||||||
|
{
|
||||||
|
std::size_t instruction_count = 0;
|
||||||
|
if (!m_llvm_context)
|
||||||
|
return instruction_count;
|
||||||
|
|
||||||
|
while (begin < end)
|
||||||
|
{
|
||||||
|
char inst_disasm[256];
|
||||||
|
|
||||||
|
const auto inst_size =
|
||||||
|
LLVMDisasmInstruction(m_llvm_context, const_cast<u8*>(begin), static_cast<u64>(end - begin),
|
||||||
|
reinterpret_cast<u64>(begin), inst_disasm, sizeof(inst_disasm));
|
||||||
|
if (inst_size == 0)
|
||||||
|
{
|
||||||
|
if (m_instruction_size != 0)
|
||||||
|
{
|
||||||
|
// If we are on an architecture that has a fixed instruction
|
||||||
|
// size, we can continue onward past this bad instruction.
|
||||||
|
fmt::println(stream, "{}\tInvalid inst: {:02x}", fmt::ptr(begin),
|
||||||
|
fmt::join(std::span{begin, m_instruction_size}, ""));
|
||||||
|
begin += m_instruction_size;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We can't continue if we are on an architecture that has flexible
|
||||||
|
// instruction sizes. Dump the rest of the block instead.
|
||||||
|
fmt::println(stream, "{}\tInvalid inst: {:02x}", fmt::ptr(begin),
|
||||||
|
fmt::join(std::span{begin, end}, ""));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fmt::println(stream, "{}{}", fmt::ptr(begin), inst_disasm);
|
||||||
|
begin += inst_size;
|
||||||
|
}
|
||||||
|
++instruction_count;
|
||||||
|
}
|
||||||
|
return instruction_count;
|
||||||
|
}
|
||||||
|
#elif defined(_M_X86_64)
|
||||||
|
class HostDisassemblerBochs final : public HostDisassembler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit HostDisassemblerBochs();
|
||||||
|
~HostDisassemblerBochs() = default;
|
||||||
|
|
||||||
|
private:
|
||||||
|
disassembler m_disasm;
|
||||||
|
|
||||||
|
std::size_t Disassemble(const u8* begin, const u8* end, std::ostream& stream) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
HostDisassemblerBochs::HostDisassemblerBochs()
|
||||||
|
{
|
||||||
|
m_disasm.set_syntax_intel();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::size_t HostDisassemblerBochs::Disassemble(const u8* begin, const u8* end, std::ostream& stream)
|
||||||
|
{
|
||||||
|
std::size_t instruction_count = 0;
|
||||||
|
while (begin < end)
|
||||||
|
{
|
||||||
|
char inst_disasm[256];
|
||||||
|
|
||||||
|
const auto inst_size =
|
||||||
|
m_disasm.disasm64(0, reinterpret_cast<bx_address>(begin), begin, inst_disasm);
|
||||||
|
fmt::println(stream, "{}\t{}", fmt::ptr(begin), inst_disasm);
|
||||||
|
begin += inst_size;
|
||||||
|
++instruction_count;
|
||||||
|
}
|
||||||
|
return instruction_count;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
std::unique_ptr<HostDisassembler> HostDisassembler::Factory(Platform arch)
|
||||||
|
{
|
||||||
|
switch (arch)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_LLVM)
|
||||||
|
case Platform::x86_64:
|
||||||
|
return std::make_unique<HostDisassemblerLLVM>("x86_64-none-unknown");
|
||||||
|
case Platform::aarch64:
|
||||||
|
return std::make_unique<HostDisassemblerLLVM>("aarch64-none-unknown", "cortex-a57", 4);
|
||||||
|
#elif defined(_M_X86_64)
|
||||||
|
case Platform::x86_64:
|
||||||
|
return std::make_unique<HostDisassemblerBochs>();
|
||||||
|
#else
|
||||||
|
case Platform{}: // warning C4065: "switch statement contains 'default' but no 'case' labels"
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
return std::make_unique<HostDisassembler>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::size_t HostDisassembler::Disassemble(const u8* begin, const u8* end, std::ostream& stream)
|
||||||
|
{
|
||||||
|
fmt::println(stream, "{}\t{:02x}", fmt::ptr(begin), fmt::join(std::span{begin, end}, ""));
|
||||||
|
return 0;
|
||||||
|
}
|
26
Source/Core/Common/HostDisassembler.h
Normal file
26
Source/Core/Common/HostDisassembler.h
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2008 Dolphin Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
#include <iosfwd>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include "Common/CommonTypes.h"
|
||||||
|
|
||||||
|
class HostDisassembler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum class Platform
|
||||||
|
{
|
||||||
|
x86_64,
|
||||||
|
aarch64,
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual ~HostDisassembler() = default;
|
||||||
|
|
||||||
|
static std::unique_ptr<HostDisassembler> Factory(Platform arch);
|
||||||
|
|
||||||
|
virtual std::size_t Disassemble(const u8* begin, const u8* end, std::ostream& stream);
|
||||||
|
};
|
|
@ -85,7 +85,7 @@ bool IniFile::Section::Delete(std::string_view key)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
values.erase(it);
|
values.erase(it);
|
||||||
keys_order.erase(std::find(keys_order.begin(), keys_order.end(), key));
|
keys_order.erase(std::ranges::find(keys_order, key));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ const IniFile::Section* IniFile::GetSection(std::string_view section_name) const
|
||||||
{
|
{
|
||||||
for (const Section& sect : sections)
|
for (const Section& sect : sections)
|
||||||
{
|
{
|
||||||
if (CaseInsensitiveStringCompare::IsEqual(sect.name, section_name))
|
if (CaseInsensitiveEquals(sect.name, section_name))
|
||||||
return §
|
return §
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ IniFile::Section* IniFile::GetSection(std::string_view section_name)
|
||||||
{
|
{
|
||||||
for (Section& sect : sections)
|
for (Section& sect : sections)
|
||||||
{
|
{
|
||||||
if (CaseInsensitiveStringCompare::IsEqual(sect.name, section_name))
|
if (CaseInsensitiveEquals(sect.name, section_name))
|
||||||
return §
|
return §
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,29 +15,6 @@
|
||||||
|
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
struct CaseInsensitiveStringCompare
|
|
||||||
{
|
|
||||||
// Allow heterogenous lookup.
|
|
||||||
using is_transparent = void;
|
|
||||||
|
|
||||||
bool operator()(std::string_view a, std::string_view b) const
|
|
||||||
{
|
|
||||||
return std::lexicographical_compare(
|
|
||||||
a.begin(), a.end(), b.begin(), b.end(),
|
|
||||||
[](char lhs, char rhs) { return Common::ToLower(lhs) < Common::ToLower(rhs); });
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool IsEqual(std::string_view a, std::string_view b)
|
|
||||||
{
|
|
||||||
if (a.size() != b.size())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return std::equal(a.begin(), a.end(), b.begin(), b.end(), [](char lhs, char rhs) {
|
|
||||||
return Common::ToLower(lhs) == Common::ToLower(rhs);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class IniFile
|
class IniFile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -86,7 +63,7 @@ public:
|
||||||
bool GetLines(std::vector<std::string>* lines, const bool remove_comments = true) const;
|
bool GetLines(std::vector<std::string>* lines, const bool remove_comments = true) const;
|
||||||
|
|
||||||
bool operator<(const Section& other) const { return name < other.name; }
|
bool operator<(const Section& other) const { return name < other.name; }
|
||||||
using SectionMap = std::map<std::string, std::string, CaseInsensitiveStringCompare>;
|
using SectionMap = std::map<std::string, std::string, CaseInsensitiveLess>;
|
||||||
|
|
||||||
const std::string& GetName() const { return name; }
|
const std::string& GetName() const { return name; }
|
||||||
const SectionMap& GetValues() const { return values; }
|
const SectionMap& GetValues() const { return values; }
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
#include <fmt/ranges.h>
|
||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/FileUtil.h"
|
#include "Common/FileUtil.h"
|
||||||
|
@ -141,7 +142,7 @@ std::string EscapePath(const std::string& path)
|
||||||
for (const std::string& split_string : split_strings)
|
for (const std::string& split_string : split_strings)
|
||||||
escaped_split_strings.push_back(EscapeFileName(split_string));
|
escaped_split_strings.push_back(EscapeFileName(split_string));
|
||||||
|
|
||||||
return JoinStrings(escaped_split_strings, "/");
|
return fmt::to_string(fmt::join(escaped_split_strings, "/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string UnescapeFileName(const std::string& filename)
|
std::string UnescapeFileName(const std::string& filename)
|
||||||
|
|
|
@ -36,10 +36,10 @@ MACAddress GenerateMacAddress(const MACConsumer type)
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case MACConsumer::BBA:
|
case MACConsumer::BBA:
|
||||||
std::copy(oui_bba.begin(), oui_bba.end(), mac.begin());
|
std::ranges::copy(oui_bba, mac.begin());
|
||||||
break;
|
break;
|
||||||
case MACConsumer::IOS:
|
case MACConsumer::IOS:
|
||||||
std::copy(oui_ios.begin(), oui_ios.end(), mac.begin());
|
std::ranges::copy(oui_ios, mac.begin());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,72 +17,72 @@
|
||||||
|
|
||||||
namespace Common
|
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()
|
const SettingsBuffer& SettingsWriter::GetBytes() const
|
||||||
{
|
|
||||||
m_buffer = buffer;
|
|
||||||
Decrypt();
|
|
||||||
}
|
|
||||||
|
|
||||||
const SettingsHandler::Buffer& SettingsHandler::GetBytes() const
|
|
||||||
{
|
{
|
||||||
return m_buffer;
|
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";
|
constexpr char delim[] = "\n";
|
||||||
std::string toFind = std::string(delim).append(key).append("=");
|
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)
|
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)
|
if (delimFound == std::string_view::npos)
|
||||||
delimFound = decoded.length() - 1;
|
delimFound = m_decoded.length() - 1;
|
||||||
return decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
return m_decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
toFind = std::string(key).append("=");
|
toFind = std::string(key).append("=");
|
||||||
found = decoded.find(toFind);
|
found = m_decoded.find(toFind);
|
||||||
if (found == 0)
|
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)
|
if (delimFound == std::string_view::npos)
|
||||||
delimFound = decoded.length() - 1;
|
delimFound = m_decoded.length() - 1;
|
||||||
return decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
return m_decoded.substr(found + toFind.length(), delimFound - (found + toFind.length()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
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_decoded.push_back((u8)(buffer[position] ^ key));
|
||||||
m_position++;
|
key = (key >> 31) | (key << 1);
|
||||||
m_key = (m_key >> 31) | (m_key << 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// The decoded data normally uses CRLF line endings, but occasionally
|
// The decoded data normally uses CRLF line endings, but occasionally
|
||||||
// (see the comment in WriteLine), lines can be separated by CRLFLF.
|
// (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.
|
// To handle this, we remove every CR and treat LF as the line ending.
|
||||||
// (We ignore empty lines.)
|
// (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));
|
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_position = m_position;
|
||||||
const u32 old_key = m_key;
|
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())
|
if (m_position >= m_buffer.size())
|
||||||
return;
|
return;
|
||||||
|
@ -116,7 +116,7 @@ void SettingsHandler::WriteByte(u8 b)
|
||||||
m_key = (m_key >> 31) | (m_key << 1);
|
m_key = (m_key >> 31) | (m_key << 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SettingsHandler::GenerateSerialNumber()
|
std::string SettingsWriter::GenerateSerialNumber()
|
||||||
{
|
{
|
||||||
const std::time_t t = std::time(nullptr);
|
const std::time_t t = std::time(nullptr);
|
||||||
|
|
||||||
|
|
|
@ -13,34 +13,35 @@
|
||||||
|
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
class SettingsHandler
|
using SettingsBuffer = std::array<u8, 0x100>;
|
||||||
|
|
||||||
|
class SettingsWriter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum
|
SettingsWriter();
|
||||||
{
|
|
||||||
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);
|
|
||||||
|
|
||||||
void AddSetting(std::string_view key, std::string_view value);
|
void AddSetting(std::string_view key, std::string_view value);
|
||||||
|
|
||||||
const Buffer& GetBytes() const;
|
const SettingsBuffer& GetBytes() const;
|
||||||
std::string GetValue(std::string_view key) const;
|
|
||||||
|
|
||||||
static std::string GenerateSerialNumber();
|
static std::string GenerateSerialNumber();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Decrypt();
|
|
||||||
void WriteLine(std::string_view str);
|
void WriteLine(std::string_view str);
|
||||||
void WriteByte(u8 b);
|
void WriteByte(u8 b);
|
||||||
|
|
||||||
std::array<u8, SETTINGS_SIZE> m_buffer;
|
SettingsBuffer m_buffer;
|
||||||
u32 m_position, m_key;
|
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
|
} // namespace Common
|
||||||
|
|
|
@ -235,8 +235,8 @@ std::string_view StripQuotes(std::string_view s)
|
||||||
// Turns "\n\rhello" into " hello".
|
// Turns "\n\rhello" into " hello".
|
||||||
void ReplaceBreaksWithSpaces(std::string& str)
|
void ReplaceBreaksWithSpaces(std::string& str)
|
||||||
{
|
{
|
||||||
std::replace(str.begin(), str.end(), '\r', ' ');
|
std::ranges::replace(str, '\r', ' ');
|
||||||
std::replace(str.begin(), str.end(), '\n', ' ');
|
std::ranges::replace(str, '\n', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
void TruncateToCString(std::string* s)
|
void TruncateToCString(std::string* s)
|
||||||
|
@ -369,21 +369,6 @@ std::vector<std::string> SplitString(const std::string& str, const char delim)
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string JoinStrings(const std::vector<std::string>& strings, const std::string& delimiter)
|
|
||||||
{
|
|
||||||
// Check if we can return early, just for speed
|
|
||||||
if (strings.empty())
|
|
||||||
return "";
|
|
||||||
|
|
||||||
std::ostringstream res;
|
|
||||||
std::copy(strings.begin(), strings.end(),
|
|
||||||
std::ostream_iterator<std::string>(res, delimiter.c_str()));
|
|
||||||
|
|
||||||
// Drop the trailing delimiter.
|
|
||||||
std::string joined = res.str();
|
|
||||||
return joined.substr(0, joined.length() - delimiter.length());
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string TabsToSpaces(int tab_size, std::string str)
|
std::string TabsToSpaces(int tab_size, std::string str)
|
||||||
{
|
{
|
||||||
const std::string spaces(tab_size, ' ');
|
const std::string spaces(tab_size, ' ');
|
||||||
|
@ -490,8 +475,7 @@ std::string ConvertStringForGame(const std::string& input, int length)
|
||||||
|
|
||||||
size_t StringUTF8CodePointCount(std::string_view str)
|
size_t StringUTF8CodePointCount(std::string_view str)
|
||||||
{
|
{
|
||||||
return str.size() -
|
return str.size() - std::ranges::count_if(str, [](char c) -> bool { return (c & 0xC0) == 0x80; });
|
||||||
std::count_if(str.begin(), str.end(), [](char c) -> bool { return (c & 0xC0) == 0x80; });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -861,20 +845,24 @@ std::string GetEscapedHtml(std::string html)
|
||||||
|
|
||||||
void ToLower(std::string* str)
|
void ToLower(std::string* str)
|
||||||
{
|
{
|
||||||
std::transform(str->begin(), str->end(), str->begin(), [](char c) { return Common::ToLower(c); });
|
std::ranges::transform(*str, str->begin(), static_cast<char (&)(char)>(Common::ToLower));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToUpper(std::string* str)
|
void ToUpper(std::string* str)
|
||||||
{
|
{
|
||||||
std::transform(str->begin(), str->end(), str->begin(), [](char c) { return Common::ToUpper(c); });
|
std::ranges::transform(*str, str->begin(), static_cast<char (&)(char)>(Common::ToUpper));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CaseInsensitiveEquals(std::string_view a, std::string_view b)
|
bool CaseInsensitiveEquals(std::string_view a, std::string_view b)
|
||||||
{
|
{
|
||||||
if (a.size() != b.size())
|
return std::ranges::equal(
|
||||||
return false;
|
a, b, [](char ca, char cb) { return Common::ToLower(ca) == Common::ToLower(cb); });
|
||||||
return std::equal(a.begin(), a.end(), b.begin(),
|
}
|
||||||
[](char ca, char cb) { return Common::ToLower(ca) == Common::ToLower(cb); });
|
|
||||||
|
bool CaseInsensitiveLess::operator()(std::string_view a, std::string_view b) const
|
||||||
|
{
|
||||||
|
return std::ranges::lexicographical_compare(
|
||||||
|
a, b, [](char ca, char cb) { return Common::ToLower(ca) < Common::ToLower(cb); });
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string BytesToHexString(std::span<const u8> bytes)
|
std::string BytesToHexString(std::span<const u8> bytes)
|
||||||
|
|
|
@ -200,7 +200,6 @@ std::from_chars_result FromChars(std::string_view sv, T& value,
|
||||||
std::string TabsToSpaces(int tab_size, std::string str);
|
std::string TabsToSpaces(int tab_size, std::string str);
|
||||||
|
|
||||||
std::vector<std::string> SplitString(const std::string& str, char delim);
|
std::vector<std::string> SplitString(const std::string& str, char delim);
|
||||||
std::string JoinStrings(const std::vector<std::string>& strings, const std::string& delimiter);
|
|
||||||
|
|
||||||
// "C:/Windows/winhelp.exe" to "C:/Windows/", "winhelp", ".exe"
|
// "C:/Windows/winhelp.exe" to "C:/Windows/", "winhelp", ".exe"
|
||||||
// This requires forward slashes to be used for the path separators, even on Windows.
|
// This requires forward slashes to be used for the path separators, even on Windows.
|
||||||
|
@ -333,6 +332,14 @@ std::string GetEscapedHtml(std::string html);
|
||||||
void ToLower(std::string* str);
|
void ToLower(std::string* str);
|
||||||
void ToUpper(std::string* str);
|
void ToUpper(std::string* str);
|
||||||
bool CaseInsensitiveEquals(std::string_view a, std::string_view b);
|
bool CaseInsensitiveEquals(std::string_view a, std::string_view b);
|
||||||
|
|
||||||
|
// 'std::less'-like comparison function object type for case-insensitive strings.
|
||||||
|
struct CaseInsensitiveLess
|
||||||
|
{
|
||||||
|
using is_transparent = void; // Allow heterogenous lookup.
|
||||||
|
bool operator()(std::string_view a, std::string_view b) const;
|
||||||
|
};
|
||||||
|
|
||||||
std::string BytesToHexString(std::span<const u8> bytes);
|
std::string BytesToHexString(std::span<const u8> bytes);
|
||||||
} // namespace Common
|
} // namespace Common
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
#include <fmt/ranges.h>
|
||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/Intrinsics.h"
|
#include "Common/Intrinsics.h"
|
||||||
|
@ -275,5 +276,5 @@ std::string CPUInfo::Summarize()
|
||||||
if (bSHA2)
|
if (bSHA2)
|
||||||
sum.push_back("SHA2");
|
sum.push_back("SHA2");
|
||||||
|
|
||||||
return JoinStrings(sum, ",");
|
return fmt::to_string(fmt::join(sum, ","));
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,6 @@ struct OpArg
|
||||||
return std::tie(scale, offsetOrBaseReg, indexReg, offset, operandReg) ==
|
return std::tie(scale, offsetOrBaseReg, indexReg, offset, operandReg) ==
|
||||||
std::tie(b.scale, b.offsetOrBaseReg, b.indexReg, b.offset, b.operandReg);
|
std::tie(b.scale, b.offsetOrBaseReg, b.indexReg, b.offset, b.operandReg);
|
||||||
}
|
}
|
||||||
constexpr bool operator!=(const OpArg& b) const { return !operator==(b); }
|
|
||||||
u64 Imm64() const
|
u64 Imm64() const
|
||||||
{
|
{
|
||||||
DEBUG_ASSERT(scale == SCALE_IMM64);
|
DEBUG_ASSERT(scale == SCALE_IMM64);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue