diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2016-07-13 19:51:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-13 19:51:01 +0200 |
| commit | 014037ebb7897bd7051bdd9b76128fbc20db1674 (patch) | |
| tree | 2a47fb496d72d5c72413b6433afc4006fdc4aa02 /Source/Core/DiscIO/Enums.cpp | |
| parent | 89a03174ccfcc0dc80c9f59b84338f508919a555 (diff) | |
| parent | 0a15aaaa123482ecf7b2490a13e33a884416d51c (diff) | |
Merge pull request #3983 from JosJuice/discio-enums
Move DiscIO enums to a new file
Diffstat (limited to 'Source/Core/DiscIO/Enums.cpp')
| -rw-r--r-- | Source/Core/DiscIO/Enums.cpp | 530 |
1 files changed, 530 insertions, 0 deletions
diff --git a/Source/Core/DiscIO/Enums.cpp b/Source/Core/DiscIO/Enums.cpp new file mode 100644 index 0000000000..d19ac3e038 --- /dev/null +++ b/Source/Core/DiscIO/Enums.cpp @@ -0,0 +1,530 @@ +// Copyright 2016 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include <map> +#include <string> + +#include "DiscIO/Enums.h" +#include "Common/CommonTypes.h" +#include "Common/Logging/Log.h" + +namespace DiscIO +{ +// Increment CACHE_REVISION (ISOFile.cpp & GameFile.cpp) if the code below is modified + +Country CountrySwitch(u8 country_code) +{ + switch (country_code) + { + // Worldwide + case 'A': + return Country::COUNTRY_WORLD; + + // PAL + case 'D': + return Country::COUNTRY_GERMANY; + + case 'X': // Used by a couple PAL games + case 'Y': // German, French + case 'L': // Japanese import to PAL regions + case 'M': // Japanese import to PAL regions + case 'P': + return Country::COUNTRY_EUROPE; + + case 'U': + return Country::COUNTRY_AUSTRALIA; + + case 'F': + return Country::COUNTRY_FRANCE; + + case 'I': + return Country::COUNTRY_ITALY; + + case 'H': + return Country::COUNTRY_NETHERLANDS; + + case 'R': + return Country::COUNTRY_RUSSIA; + + case 'S': + return Country::COUNTRY_SPAIN; + + // NTSC + case 'E': + case 'N': // Japanese import to USA and other NTSC regions + case 'Z': // Prince of Persia - The Forgotten Sands (Wii) + case 'B': // Ufouria: The Saga (Virtual Console) + return Country::COUNTRY_USA; + + case 'J': + return Country::COUNTRY_JAPAN; + + case 'K': + case 'Q': // Korea with Japanese language + case 'T': // Korea with English language + return Country::COUNTRY_KOREA; + + case 'W': + return Country::COUNTRY_TAIWAN; + + default: + if (country_code > 'A') // Silently ignore IOS wads + WARN_LOG(DISCIO, "Unknown Country Code! %c", country_code); + return Country::COUNTRY_UNKNOWN; + } +} + +u8 GetSysMenuRegion(u16 title_version) +{ + switch (title_version) + { + case 128: + case 192: + case 224: + case 256: + case 288: + case 352: + case 384: + case 416: + case 448: + case 480: + case 512: + return 'J'; + case 97: + case 193: + case 225: + case 257: + case 289: + case 353: + case 385: + case 417: + case 449: + case 481: + case 513: + return 'E'; + case 130: + case 162: + case 194: + case 226: + case 258: + case 290: + case 354: + case 386: + case 418: + case 450: + case 482: + case 514: + return 'P'; + case 326: + case 390: + case 454: + case 486: + case 518: + return 'K'; + default: + return 'A'; + } +} + +std::string GetCompanyFromID(const std::string& company_id) +{ + static const std::map<std::string, std::string> companies = { + {"01", "Nintendo"}, + {"02", "Rocket Games / Ajinomoto"}, + {"03", "Imagineer-Zoom"}, + {"04", "Gray Matter"}, + {"05", "Zamuse"}, + {"06", "Falcom"}, + {"07", "Enix"}, + {"08", "Capcom"}, + {"09", "Hot B Co."}, + {"0A", "Jaleco"}, + {"0B", "Coconuts Japan"}, + {"0C", "Coconuts Japan / GX Media"}, + {"0D", "Micronet"}, + {"0E", "Technos"}, + {"0F", "Mebio Software"}, + {"0G", "Shouei System"}, + {"0H", "Starfish"}, + {"0J", "Mitsui Fudosan / Dentsu"}, + {"0L", "Warashi Inc."}, + {"0N", "Nowpro"}, + {"0P", "Game Village"}, + {"0Q", "IE Institute"}, + {"12", "Infocom"}, + {"13", "Electronic Arts Japan"}, + {"15", "Cobra Team"}, + {"16", "Human / Field"}, + {"17", "KOEI"}, + {"18", "Hudson Soft"}, + {"19", "S.C.P."}, + {"1A", "Yanoman"}, + {"1C", "Tecmo Products"}, + {"1D", "Japan Glary Business"}, + {"1E", "Forum / OpenSystem"}, + {"1F", "Virgin Games (Japan)"}, + {"1G", "SMDE"}, + {"1J", "Daikokudenki"}, + {"1P", "Creatures Inc."}, + {"1Q", "TDK Deep Impresion"}, + {"20", "Zoo"}, + {"21", "Sunsoft / Tokai Engineering"}, + {"22", "Planning Office Wada / VR1 Japan"}, + {"23", "Micro World"}, + {"25", "San-X"}, + {"26", "Enix"}, + {"27", "Loriciel / Electro Brain"}, + {"28", "Kemco Japan"}, + {"29", "Seta"}, + {"2A", "Culture Brain"}, + {"2C", "Palsoft"}, + {"2D", "Visit Co., Ltd."}, + {"2E", "Intec"}, + {"2F", "System Sacom"}, + {"2G", "Poppo"}, + {"2H", "Ubisoft Japan"}, + {"2J", "Media Works"}, + {"2K", "NEC InterChannel"}, + {"2L", "Tam"}, + {"2M", "Jordan"}, + {"2N", "Smilesoft / Rocket"}, + {"2Q", "Mediakite"}, + {"30", "Viacom"}, + {"31", "Carrozzeria"}, + {"32", "Dynamic"}, + {"34", "Magifact"}, + {"35", "Hect"}, + {"36", "Codemasters"}, + {"37", "Taito / GAGA Communications"}, + {"38", "Laguna"}, + {"39", "Telstar / Event / Taito "}, + {"3B", "Arcade Zone Ltd."}, + {"3C", "Entertainment International / Empire Software"}, + {"3D", "Loriciel"}, + {"3E", "Gremlin Graphics"}, + {"3F", "K. Amusement Leasing Co."}, + {"40", "Seika Corp."}, + {"41", "Ubisoft Entertainment"}, + {"42", "Sunsoft US"}, + {"44", "Life Fitness"}, + {"46", "System 3"}, + {"47", "Spectrum Holobyte"}, + {"49", "IREM"}, + {"4B", "Raya Systems"}, + {"4C", "Renovation Products"}, + {"4D", "Malibu Games"}, + {"4F", "Eidos"}, + {"4G", "Playmates Interactive"}, + {"4J", "Fox Interactive"}, + {"4K", "Time Warner Interactive"}, + {"4Q", "Disney Interactive"}, + {"4S", "Black Pearl"}, + {"4U", "Advanced Productions"}, + {"4X", "GT Interactive"}, + {"4Y", "Rare"}, + {"4Z", "Crave Entertainment"}, + {"50", "Absolute Entertainment"}, + {"51", "Acclaim"}, + {"52", "Activision"}, + {"53", "American Sammy"}, + {"54", "Take 2 Interactive / GameTek"}, + {"55", "Hi Tech"}, + {"56", "LJN Ltd."}, + {"58", "Mattel"}, + {"5A", "Mindscape / Red Orb Entertainment"}, + {"5B", "Romstar"}, + {"5C", "Taxan"}, + {"5D", "Midway / Tradewest"}, + {"5F", "American Softworks"}, + {"5G", "Majesco Sales Inc."}, + {"5H", "3DO"}, + {"5K", "Hasbro"}, + {"5L", "NewKidCo"}, + {"5M", "Telegames"}, + {"5N", "Metro3D"}, + {"5P", "Vatical Entertainment"}, + {"5Q", "LEGO Media"}, + {"5S", "Xicat Interactive"}, + {"5T", "Cryo Interactive"}, + {"5W", "Red Storm Entertainment"}, + {"5X", "Microids"}, + {"5Z", "Data Design / Conspiracy / Swing"}, + {"60", "Titus"}, + {"61", "Virgin Interactive"}, + {"62", "Maxis"}, + {"64", "LucasArts Entertainment"}, + {"67", "Ocean"}, + {"68", "Bethesda Softworks"}, + {"69", "Electronic Arts"}, + {"6B", "Laser Beam"}, + {"6E", "Elite Systems"}, + {"6F", "Electro Brain"}, + {"6G", "The Learning Company"}, + {"6H", "BBC"}, + {"6J", "Software 2000"}, + {"6K", "UFO Interactive Games"}, + {"6L", "BAM! Entertainment"}, + {"6M", "Studio 3"}, + {"6Q", "Classified Games"}, + {"6S", "TDK Mediactive"}, + {"6U", "DreamCatcher"}, + {"6V", "JoWood Produtions"}, + {"6W", "Sega"}, + {"6X", "Wannado Edition"}, + {"6Y", "LSP (Light & Shadow Prod.)"}, + {"6Z", "ITE Media"}, + {"70", "Atari (Infogrames)"}, + {"71", "Interplay"}, + {"72", "JVC (US)"}, + {"73", "Parker Brothers"}, + {"75", "Sales Curve (Storm / SCI)"}, + {"78", "THQ"}, + {"79", "Accolade"}, + {"7A", "Triffix Entertainment"}, + {"7C", "Microprose Software"}, + {"7D", "Sierra / Universal Interactive"}, + {"7F", "Kemco"}, + {"7G", "Rage Software"}, + {"7H", "Encore"}, + {"7J", "Zoo"}, + {"7K", "Kiddinx"}, + {"7L", "Simon & Schuster Interactive"}, + {"7M", "Asmik Ace Entertainment Inc."}, + {"7N", "Empire Interactive"}, + {"7Q", "Jester Interactive"}, + {"7S", "Rockstar Games"}, + {"7T", "Scholastic"}, + {"7U", "Ignition Entertainment"}, + {"7V", "Summitsoft"}, + {"7W", "Stadlbauer"}, + {"80", "Misawa"}, + {"81", "Teichiku"}, + {"82", "Namco Ltd."}, + {"83", "LOZC"}, + {"84", "KOEI"}, + {"86", "Tokuma Shoten Intermedia"}, + {"87", "Tsukuda Original"}, + {"88", "DATAM-Polystar"}, + {"8B", "Bullet-Proof Software"}, + {"8C", "Vic Tokai Inc."}, + {"8E", "Character Soft"}, + {"8F", "I'Max"}, + {"8G", "Saurus"}, + {"8J", "General Entertainment"}, + {"8N", "Success"}, + {"8P", "Sega Japan"}, + {"90", "Takara Amusement"}, + {"91", "Chunsoft"}, + {"92", "Video System / Mc O' River"}, + {"93", "BEC"}, + {"95", "Varie"}, + {"96", "Yonezawa / S'pal"}, + {"97", "Kaneko"}, + {"99", "Marvelous Entertainment"}, + {"9A", "Nichibutsu / Nihon Bussan"}, + {"9B", "Tecmo"}, + {"9C", "Imagineer"}, + {"9F", "Nova"}, + {"9G", "Take2 / Den'Z / Global Star"}, + {"9H", "Bottom Up"}, + {"9J", "Technical Group Laboratory"}, + {"9L", "Hasbro Japan"}, + {"9N", "Marvelous Entertainment"}, + {"9P", "Keynet Inc."}, + {"9Q", "Hands-On Entertainment"}, + {"A0", "Telenet"}, + {"A1", "Hori"}, + {"A4", "Konami"}, + {"A5", "K. Amusement Leasing Co."}, + {"A6", "Kawada"}, + {"A7", "Takara"}, + {"A9", "Technos Japan Corp."}, + {"AA", "JVC / Victor"}, + {"AC", "Toei Animation"}, + {"AD", "Toho"}, + {"AF", "Namco"}, + {"AG", "Media Rings Corporation"}, + {"AH", "J-Wing"}, + {"AJ", "Pioneer LDC"}, + {"AK", "KID"}, + {"AL", "Mediafactory"}, + {"AP", "Infogrames / Hudson"}, + {"AQ", "Kiratto Ludic Inc."}, + {"B0", "Acclaim Japan"}, + {"B1", "ASCII"}, + {"B2", "Bandai"}, + {"B4", "Enix"}, + {"B6", "HAL Laboratory"}, + {"B7", "SNK"}, + {"B9", "Pony Canyon"}, + {"BA", "Culture Brain"}, + {"BB", "Sunsoft"}, + {"BC", "Toshiba EMI"}, + {"BD", "Sony Imagesoft"}, + {"BF", "Sammy"}, + {"BG", "Magical"}, + {"BH", "Visco"}, + {"BJ", "Compile"}, + {"BL", "MTO Inc."}, + {"BN", "Sunrise Interactive"}, + {"BP", "Global A Entertainment"}, + {"BQ", "Fuuki"}, + {"C0", "Taito"}, + {"C2", "Kemco"}, + {"C3", "Square"}, + {"C4", "Tokuma Shoten"}, + {"C5", "Data East"}, + {"C6", "Tonkin House / Tokyo Shoseki"}, + {"C8", "Koei"}, + {"CA", "Konami / Ultra / Palcom"}, + {"CB", "NTVIC / VAP"}, + {"CC", "Use Co., Ltd."}, + {"CD", "Meldac"}, + {"CE", "Pony Canyon / FCI "}, + {"CF", "Angel / Sotsu Agency / Sunrise"}, + {"CG", "Yumedia / Aroma Co., Ltd"}, + {"CJ", "Boss"}, + {"CK", "Axela / Crea-Tech"}, + {"CL", "Sekaibunka-Sha / Sumire Kobo / Marigul Management Inc."}, + {"CM", "Konami Computer Entertainment Osaka"}, + {"CN", "NEC Interchannel"}, + {"CP", "Enterbrain"}, + {"CQ", "From Software"}, + {"D0", "Taito / Disco"}, + {"D1", "Sofel"}, + {"D2", "Quest / Bothtec"}, + {"D3", "Sigma"}, + {"D4", "Ask Kodansha"}, + {"D6", "Naxat"}, + {"D7", "Copya System"}, + {"D8", "Capcom Co., Ltd."}, + {"D9", "Banpresto"}, + {"DA", "Tomy"}, + {"DB", "LJN Japan"}, + {"DD", "NCS"}, + {"DE", "Human Entertainment"}, + {"DF", "Altron"}, + {"DG", "Jaleco"}, + {"DH", "Gaps Inc."}, + {"DN", "Elf"}, + {"DQ", "Compile Heart"}, + {"E0", "Jaleco"}, + {"E2", "Yutaka"}, + {"E3", "Varie"}, + {"E4", "T&E Soft"}, + {"E5", "Epoch"}, + {"E7", "Athena"}, + {"E8", "Asmik"}, + {"E9", "Natsume"}, + {"EA", "King Records"}, + {"EB", "Atlus"}, + {"EC", "Epic / Sony Records"}, + {"EE", "Information Global Service"}, + {"EG", "Chatnoir"}, + {"EH", "Right Stuff"}, + {"EL", "Spike"}, + {"EM", "Konami Computer Entertainment Tokyo"}, + {"EN", "Alphadream Corporation"}, + {"EP", "Sting"}, + {"ES", "Star-Fish"}, + {"F0", "A Wave"}, + {"F1", "Motown Software"}, + {"F2", "Left Field Entertainment"}, + {"F3", "Extreme Ent. Grp."}, + {"F4", "TecMagik"}, + {"F9", "Cybersoft"}, + {"FB", "Psygnosis"}, + {"FE", "Davidson / Western Tech."}, + {"FK", "The Game Factory"}, + {"FL", "Hip Games"}, + {"FM", "Aspyr"}, + {"FP", "Mastiff"}, + {"FQ", "iQue"}, + {"FR", "Digital Tainment Pool"}, + {"FS", "XS Games / Jack Of All Games"}, + {"FT", "Daiwon"}, + {"G0", "Alpha Unit"}, + {"G1", "PCCW Japan"}, + {"G2", "Yuke's Media Creations"}, + {"G4", "KiKi Co., Ltd."}, + {"G5", "Open Sesame Inc."}, + {"G6", "Sims"}, + {"G7", "Broccoli"}, + {"G8", "Avex"}, + {"G9", "D3 Publisher"}, + {"GB", "Konami Computer Entertainment Japan"}, + {"GD", "Square-Enix"}, + {"GE", "KSG"}, + {"GF", "Micott & Basara Inc."}, + {"GH", "Orbital Media"}, + {"GJ", "Detn8 Games"}, + {"GL", "Gameloft / Ubisoft"}, + {"GM", "Gamecock Media Group"}, + {"GN", "Oxygen Games"}, + {"GT", "505 Games"}, + {"GY", "The Game Factory"}, + {"H1", "Treasure"}, + {"H2", "Aruze"}, + {"H3", "Ertain"}, + {"H4", "SNK Playmore"}, + {"HF", "Level-5"}, + {"HJ", "Genius Products"}, + {"HY", "Reef Entertainment"}, + {"HZ", "Nordcurrent"}, + {"IH", "Yojigen"}, + {"J9", "AQ Interactive"}, + {"JF", "Arc System Works"}, + {"JJ", "Deep Silver"}, + {"JW", "Atari"}, + {"K6", "Nihon System"}, + {"KB", "NIS America"}, + {"KM", "Deep Silver"}, + {"KP", "Purple Hills"}, + {"LH", "Trend Verlag / East Entertainment"}, + {"LT", "Legacy Interactive"}, + {"MJ", "Mumbo Jumbo"}, + {"MR", "Mindscape"}, + {"MS", "Milestone / UFO Interactive"}, + {"MT", "Blast!"}, + {"N9", "Terabox"}, + {"NG", "Nordic Games"}, + {"NK", "Neko Entertainment / Diffusion / Naps team"}, + {"NP", "Nobilis"}, + {"NQ", "Namco Bandai"}, + {"NR", "Data Design / Destineer Studios"}, + {"NS", "NIS America"}, + {"PL", "Playlogic"}, + {"QC", "Kadokawa Shoten"}, + {"RM", "Rondomedia"}, + {"RS", "Warner Bros. Interactive Entertainment Inc."}, + {"RT", "RTL Games"}, + {"RW", "RealNetworks"}, + {"S5", "Southpeak Interactive"}, + {"SP", "Blade Interactive Studios"}, + {"SV", "SevenGames"}, + {"SZ", "Storm City"}, + {"TK", "Tasuke / Works"}, + {"TV", "Tivola"}, + {"UG", "Metro 3D / Data Design"}, + {"VN", "Valcon Games"}, + {"VP", "Virgin Play"}, + {"VZ", "Little Orbit"}, + {"WR", "Warner Bros. Interactive Entertainment Inc."}, + {"XJ", "Xseed Games"}, + {"XS", "Aksys Games"}, + {"YT", "Valcon Games"}, + {"Z4", "Ntreev Soft"}, + {"ZA", "WBA Interactive"}, + {"ZH", "Internal Engine"}, + {"ZS", "Zinkia"}, + {"ZW", "Judo Baby"}, + {"ZX", "Topware Interactive"}}; + + auto iterator = companies.find(company_id); + if (iterator != companies.end()) + return iterator->second; + else + return ""; +} +} |
