~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Source/Core/DiscIO/Src/VolumeCommon.cpp

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2013 Dolphin Emulator Project
 
2
// Licensed under GPLv2
 
3
// Refer to the license.txt file included.
 
4
 
 
5
#include "Volume.h"
 
6
 
 
7
namespace DiscIO
 
8
{
 
9
IVolume::ECountry CountrySwitch(u8 CountryCode)
 
10
{
 
11
        switch (CountryCode) 
 
12
        {
 
13
                // Region free - fall through to European defaults for now
 
14
                case 'A':
 
15
 
 
16
                
 
17
                // PAL
 
18
                case 'D': // German
 
19
                        return IVolume::COUNTRY_GERMANY;
 
20
                        break;
 
21
 
 
22
                case 'X': // Used by a couple PAL games
 
23
                case 'Y': // German, french
 
24
 
 
25
                case 'L': // Japanese import to PAL regions
 
26
                case 'M': // Japanese import to PAL regions
 
27
                case 'S': // Spanish-speaking regions
 
28
                case 'P':
 
29
                case 'U': // Australia 
 
30
                        return IVolume::COUNTRY_EUROPE;
 
31
                        break;
 
32
                        
 
33
                case 'F':
 
34
                        return IVolume::COUNTRY_FRANCE;
 
35
                        break;
 
36
                        
 
37
                case 'I':
 
38
                        return IVolume::COUNTRY_ITALY;
 
39
                        break;
 
40
                        
 
41
                case 'R':
 
42
                        return IVolume::COUNTRY_RUSSIA;
 
43
                        break;
 
44
 
 
45
                // NTSC
 
46
                case 'E':
 
47
                case 'N': // Japanese import to USA and other NTSC regions
 
48
                case 'Z': // Prince Of Persia - The Forgotten Sands (WII)
 
49
                        return IVolume::COUNTRY_USA;
 
50
                        break;
 
51
 
 
52
                case 'J':
 
53
                        return IVolume::COUNTRY_JAPAN;
 
54
                        break;
 
55
 
 
56
                case 'K':
 
57
                case 'T': // Korea with English language
 
58
                case 'Q': // Korea with Japanese language
 
59
                        return IVolume::COUNTRY_KOREA;
 
60
                        break;
 
61
 
 
62
                case 'O':
 
63
                        return IVolume::COUNTRY_SDK;
 
64
                        break;
 
65
 
 
66
                case 'W':
 
67
                        return IVolume::COUNTRY_TAIWAN;
 
68
                        break;
 
69
 
 
70
                default:
 
71
                        if (CountryCode > 'A') // Silently ignore IOS wads
 
72
                                WARN_LOG(DISCIO, "Unknown Country Code! %c", CountryCode);
 
73
                        return IVolume::COUNTRY_UNKNOWN;
 
74
                        break;
 
75
        }
 
76
}
 
77
 
 
78
u8 GetSysMenuRegion(u16 _TitleVersion)
 
79
{
 
80
        switch(_TitleVersion)
 
81
        {
 
82
        case 128:       case 192:       case 224:       case 256:
 
83
        case 288:       case 352:       case 384:       case 416:
 
84
        case 448:       case 480:       case 512:
 
85
                return 'J';
 
86
        case 97:        case 193:       case 225:       case 257:
 
87
        case 289:       case 353:       case 385:       case 417:
 
88
        case 449:       case 481:       case 513:
 
89
                return 'E';
 
90
        case 130:       case 162:       case 194:       case 226:
 
91
        case 258:       case 290:       case 354:       case 386:
 
92
        case 418:       case 450:       case 482:       case 514:
 
93
                return 'P';
 
94
        case 326:       case 390:       case 454:       case 486:
 
95
        case 518:
 
96
                return 'K';
 
97
        default:
 
98
                return 'A';
 
99
        }
 
100
}
 
101
 
 
102
std::string IVolume::GetName() const
 
103
{
 
104
        auto names = GetNames();
 
105
        if (names.empty())
 
106
                return "";
 
107
        else
 
108
                return names[0];
 
109
}
 
110
 
 
111
}