Commit graph

25188 commits

Author SHA1 Message Date
JosJuice
20172196f5 DolphinQt2: Let game properties show names for WADs 2017-07-23 15:11:18 +02:00
JosJuice
e60cde942f Merge pull request #5816 from ligfx/gettextizeqttrnoop
gettextize: extract arguments to QT_TR_NOOP
2017-07-23 11:32:11 +02:00
Michael Maltese
5316df9130 gettextize: extract arguments to QT_TR_NOOP 2017-07-23 02:03:24 -07:00
Leo Lam
9237137c3a Merge pull request #5815 from leoetlino/about
Qt/AboutDialog: Fix the copyright string
2017-07-23 15:13:22 +08:00
Léo Lam
9357fa3514 Qt/AboutDialog: Fix the copyright string 2017-07-23 14:58:01 +08:00
Leo Lam
673210afea Merge pull request #5814 from ligfx/macremovecfbundlelocalizations
Remove CFBundleLocalizations from Info.plist
2017-07-23 14:48:38 +08:00
Leo Lam
2c35983126 Merge pull request #5787 from ligfx/wxsortfallbacktotitle
Wx: make GameListCtrl fallback to sorting by title
2017-07-23 14:47:31 +08:00
Leo Lam
81abecbf46 Merge pull request #5739 from leoetlino/correct-key
IOS/ES: Use the correct import/export key (fix DLC)
2017-07-23 14:47:10 +08:00
Leo Lam
3cbf56a9ad Merge pull request #5797 from ligfx/qtoptionsmenu
Qt: implement remainder of 'Options' menu
2017-07-23 14:46:48 +08:00
Leo Lam
55fb6efea3 Merge pull request #5812 from ligfx/gettexttizeqt
gettextize: extract arguments to Qt's `tr`
2017-07-23 14:35:44 +08:00
Leo Lam
a7c3d035c8 Merge pull request #5806 from Starsam80/qt-movable-headers
Qt: Allow the game list headers to be rearranged
2017-07-23 14:19:46 +08:00
Leo Lam
68e00b3ee6 Merge pull request #5808 from leoetlino/hci-array
BT: Use a std::array for all Bluetooth addresses
2017-07-23 14:19:24 +08:00
Michael Maltese
03f26ec5b3 Remove CFBundleLocalizations from Info.plist
It's only needed for apps that don't use .lproj folders.
2017-07-22 23:15:14 -07:00
Michael Maltese
4776fdc130 Qt/AboutDialog: remove literal UTF-8 characters 2017-07-22 22:35:25 -07:00
Michael Maltese
e9328e5fa0 gettextize: extract arguments to Qt's tr 2017-07-22 22:35:25 -07:00
Anthony
ccfd2e502e Merge pull request #5811 from lioncash/leak
TraversalClient: Fix memory leaks in ReleaseTraversalClient()
2017-07-22 15:49:53 -07:00
Lioncash
5859914da5 TraversalClient: Fix memory leaks in ReleaseTraversalClient()
release() relinquishes ownership of a pointer, it doesn't actually free
it.
2017-07-22 18:19:25 -04:00
Léo Lam
b6ae70ac7e BT: Use a std::array for all Bluetooth addresses
BluetoothEmu had its own bdaddr_t type which is a old style C struct
and typedef, which makes comparisons and copies a bit ugly.
On the other hand, BTReal had its own btaddr_t type using std::array.

To make things very slightly nicer, this commit changes the Bluetooth
code to use a single type (std::array<u8, 6>) for all BT addresses.
2017-07-23 02:07:02 +08:00
Leo Lam
efd318df64 Merge pull request #5791 from leoetlino/wiimote-indicator
Remove Wii Remote connection status from status bar
2017-07-22 22:03:25 +08:00
JosJuice
57affaff22 Merge pull request #5803 from leoetlino/pause-and-lock
Replace balanced Core::PauseAndLock calls with RunAsCPUThread
2017-07-22 12:42:55 +02:00
Starsam80
d9a09cff14
Qt: Allow the game list headers to be rearranged 2017-07-22 00:38:09 -06:00
Léo Lam
fbcc6bbd57 IOS/ES: Use the correct key for imports/exports
Imports/exports don't always use the title key. Exporting a title and
importing it back uses the PRNG key (aka backup key handle or key #5),
not the title key (at all).

To make things even more fun, some versions of IOS have a bug that
causes it to use a zeroed key instead of the PRNG key. When Nintendo
decided to fix it, they added checks to keep using the zeroed key only
in affected titles to avoid making existing exports useless.
(Thanks to tueidj for drawing my attention to this.
I missed this edge case during the initial implementation.)

This commit implements these checks so we are using the correct key
in all of these cases.

We now also use IOSC for decryption/encryption since built-in key
handles are used. And we now reject any invalid common key index,
just like ES.
2017-07-21 17:42:59 +08:00
Léo Lam
e608d79f42 IOSC: Load the backup/PRNG key 2017-07-21 17:42:59 +08:00
Léo Lam
05016e8dca EcWii: Add function to get the backup key 2017-07-21 17:42:59 +08:00
Léo Lam
5b09657a1f ESFormats: Add entry for unknown title flag 2017-07-21 17:42:59 +08:00
Léo Lam
5cbbe2dda2 IOSC: Add support for importing decrypted keys directly 2017-07-21 17:42:59 +08:00
Léo Lam
5729ac0fc6 Core: Replace recursive locking from PauseAndLock
PauseAndLock cannot be called recursively anymore.
2017-07-21 16:45:59 +08:00
Léo Lam
f106a9637d Replace balanced Core::PauseAndLock calls with RunAsCPUThread
Core::PauseAndLock requires all calls to it to be balanced, like this:

    const bool was_unpaused = Core::PauseAndLock(true);
    // do stuff on the CPU thread
    Core::PauseAndLock(false, was_unpaused);

Aside from being a bit cumbersome, it turns out all callers really
don't need to know about was_unpaused at all. They just need to do
something on the CPU thread safely, including locking/unlocking.

So this commit replaces Core::PauseAndLock with a function that
makes both the purpose and the scope of what is being run on the
CPU thread visually clear. This makes it harder to accidentally run
something on the wrong thread, or forget the second call to
PauseAndLock to unpause, or forget that it needs to be passed
was_unpaused at the end.

We also don't need comments to indicate code X is being run on the
CPU thread anymore, as the function name makes it obvious.
2017-07-21 16:45:59 +08:00
Anthony
2f0bec93cb Merge pull request #5801 from JosJuice/remove-gci-region-check
Remove region mismatch check for GCI folders
2017-07-20 22:49:59 -07:00
JosJuice
1fc5830d0c Remove region mismatch check for GCI folders
The region mismatch check that we used can give false positives.
Skipping the check won't lead to any harm - games will ignore
save files that have a non-matching fourth game ID character.
2017-07-20 15:24:07 +02:00
Leo Lam
c207a1072d Merge pull request #5795 from JosJuice/gc-region-detection
Improve GameCube region detection
2017-07-20 14:13:11 +08:00
Anthony
39e17ccc41 Merge pull request #5793 from spycrab/qt_fullscreen_fix
Qt: Fix missing window border after exiting fullscreen under Windows
2017-07-19 08:52:22 -07:00
Leo Lam
baf950c417 Merge pull request #5796 from JosJuice/findfileinfo-find
Use find_first_not_of in FileSystemGCWii::FindFileInfo
2017-07-19 21:52:13 +08:00
Pierre Bourdon
5461cf211d Merge pull request #5800 from ligfx/lintstrictmode
Tools/lint.sh: turn on Bash 'strict mode'
2017-07-19 00:56:49 +02:00
Michael Maltese
6939590598 Tools/lint.sh: turn on Bash 'strict mode'
Now fails if any commands fail. I noticed that on the buildbot, the
arguments to this script can be incorrect (somehow?) which can result in
no lint checks happening but the buildbot still passing.
2017-07-18 15:36:15 -07:00
JosJuice
bcdab8af48 Automatic translation resources sync with Transifex 2017-07-17 14:18:34 +02:00
Michael Maltese
e1554c04a1 Qt: implement remainder of 'Options' menu 2017-07-16 18:23:59 -07:00
Michael Maltese
2b712bdbaa ListTabWidget: disallow deselecting items 2017-07-16 18:23:59 -07:00
Michael Maltese
19dc580a4e Qt: extract ListTabWidget from SettingsWindow 2017-07-16 18:23:59 -07:00
Anthony
42f2851fa1 Merge pull request #5655 from Starsam80/qt-settings-size
Qt: Shrink settings window and make widgets stretch
2017-07-16 14:35:18 -07:00
Starsam80
c6478cac2f
Qt: Shrink settings window and make widgets stretch 2017-07-16 14:50:52 -06:00
JosJuice
c83cac7cca Fix the handling of NTSC-K for GCI folders 2017-07-16 16:31:12 +02:00
JosJuice
be8e93f472 Ensure that Volume::GetRegion doesn't return invalid enum values 2017-07-16 14:52:17 +02:00
JosJuice
db1c534b3e Add warning comments to RegionSwitch and code that uses it 2017-07-16 14:49:28 +02:00
JosJuice
cd60810d9d Improve Japanese check in TitleDatabase
We should check the language of a game rather than the region.
RegionSwitchGC counts W as NTSC-J, and W games aren't in Japanese.
2017-07-16 14:33:14 +02:00
JosJuice
c8b4645039 Detect Korean GC releases as Korean when possible
According to http://scanlines16.com/en/blog-3/retro-gaming/game-cube/gamecube-korean-master-list/,
Korean GC releases use the following country codes:
- E or W for games in English
- K for games in Korean
- Unknown value for games in Japanese (my guess is that they might
  have made the discs bit-for-bit identical to Japanese releases
  because the regions of these games are already set to NTSC-J)

As far as I know, the GC has no Taiwanese releases, which is what
the W country code is used for on the Wii. But I could be wrong.

A small note: The country_byte == 'K' check in the code isn't
actually necessary as long as RegionSwitchGC returns NTSC_J
for 'K', but I thought it would be better to not rely on that.
2017-07-16 14:30:41 +02:00
JosJuice
ebf0f64a01 Detect GC region based on the actual region value
The county code isn't 100% reliable for detecting the region.
For instance, some games released in Korea have the country
code E even though they're region-locked to NTSC-J consoles.

This commit makes the GC disc region detection match the Wii
disc region detection (apart from the region value being in
a different place on the disc).
2017-07-16 14:29:43 +02:00
JosJuice
fe10e8aa6c Fix RegionSwitchGC for the value 'K'
Korean GameCube releases have their region set to NTSC-J.
2017-07-16 13:52:53 +02:00
JosJuice
c64d668c3c Use find_first_not_of in FileSystemGCWii::FindFileInfo 2017-07-16 13:19:18 +02:00
spycrab
e3cf1e4f37 Qt: Fix missing window border after exiting fullscreen under Windows 2017-07-16 01:09:36 +02:00