LAGonauta
db7bb3bda8
Swapped C-style arrays to std::array
...
Also changed C-Style casts to static_cast
2017-06-27 07:12:15 -03:00
LAGonauta
9eb209c214
Removed redundant conversion to float when playing back stereo.
2017-06-27 07:10:32 -03:00
lfsafady
75af792070
Swapped out the sound_sync_event.Wait() call by a simple std::sleep_for.
...
It seems to make no difference besides allowing lower latencies and more
stability on hardware OpenAL cards. Maybe the Wait() call waits for too
long, causing buffers underruns.
2017-06-27 07:08:43 -03:00
lfsafady
d9d51fe0c4
Renamed some variables to the current coding standard and some to better
...
fit what they really are.
2017-06-27 07:08:43 -03:00
JosJuice
5b7f99e57a
Try to make sure that we have the XSI version of strerror_r
2017-06-27 11:59:39 +02:00
LAGonauta
8fd1af6783
Changed OpenAL latency setting to really reflect how much time it is.
...
Before these changes each value of latency were actually 5ms, with a
minimum latency of ~10 ms. If it was set to 4 ms on the UI, the actual
latency was 10 + 5 * 4 = 30 ms.
Now 30 ms on the UI means 30 ms on the backend.
2017-06-27 06:54:28 -03:00
JosJuice
b9499441ee
GameListItem: Fix comment about PNG banners for volumes
...
f16599f
quietly dropped the ability to set custom banners for volumes.
2017-06-27 11:30:27 +02:00
JosJuice
691b676145
GameListItem: Fix minor naming style violation
2017-06-27 11:28:55 +02:00
JosJuice
e73de25a9e
GameListCtrl: Put CACHE_REVISION in .cpp file
...
Reduces the number of files that have to be recompiled
when changing the cache revision.
2017-06-27 11:27:36 +02:00
shuffle2
94ba78d717
Merge pull request #5614 from ligfx/qtinputmappingrandomcleanups
...
DolphinQt: small input mapping code cleanups and fixes
2017-06-27 01:57:26 -07:00
shuffle2
540ee18966
Merge pull request #5699 from JosJuice/wx-custom-titles
...
DolphinWX: Sync custom title changes on game list rescan
2017-06-27 01:48:22 -07:00
JosJuice
7d801d61dc
DolphinWX: Use std::move when committing in GameListItem
2017-06-27 10:21:33 +02:00
spycrab
2a1d18444f
Qt: Implement gamelist drag and drop
2017-06-27 10:18:15 +02:00
shuffle2
599a235a19
Merge pull request #5691 from ligfx/openalonlywindowsdynamic
...
OpenAL: only enable on Windows + dynamically load DLL
2017-06-27 01:18:06 -07:00
shuffle2
0f3ee2f209
Merge pull request #5700 from leoetlino/title-key
...
ESFormats: Minor changes
2017-06-27 01:02:42 -07:00
Michael Maltese
749889236d
OpenALStream: remove commented-out ALC_REFRESH code
2017-06-27 00:06:14 -07:00
Michael Maltese
8e849b1595
Remove OpenAL DLL from Externals
2017-06-27 00:06:14 -07:00
Michael Maltese
c882d52f4a
OpenAL: load DLL dynamically
2017-06-27 00:06:14 -07:00
Michael Maltese
18e70cdf91
Only build OpenAL on Windows
2017-06-27 00:06:14 -07:00
Michael Maltese
42ea1c8ecf
OpenAL: remove aldlist.cpp
2017-06-27 00:06:13 -07:00
Michael Maltese
32470ef284
clean up OpenALStream::Start()
2017-06-27 00:06:13 -07:00
Michael Maltese
56961f5561
OpenALStream: don't include headers if not building
2017-06-27 00:06:13 -07:00
Michael Maltese
033492717c
BlockingLoop: fix unhandled enum value warning
...
Fixes compiler warning:
```
Source/Core/Common/BlockingLoop.h:212:13: warning: enumeration value 'kNonBlock' not handled in switch [-Wswitch]
switch (mode)
^
```
2017-06-26 23:34:33 -07:00
JosJuice
0ac1562fbd
DolphinWX: Load EmuState and custom name for actual discs
2017-06-27 08:29:57 +02:00
JosJuice
d5bf6f1bbc
DolphinWX: Sync custom title changes on game list rescan
2017-06-27 08:29:48 +02:00
Léo Lam
9f08534a47
IOS: Reuse IOSC instance when possible
...
Changes ESFormats to take an IOSC instance instead of creating its own
temporary instance unnecessarily.
2017-06-27 00:01:20 +02:00
Léo Lam
6d821de2b9
IOS: Use a std::array for the title key instead of vector
...
The title key is always 16 bytes, so it doesn't make sense to make it
a std::vector.
2017-06-27 00:01:20 +02:00
Michael Maltese
b2c9d6d217
Rename CMixer to Mixer
2017-06-26 15:01:07 -07:00
Leo Lam
aa020040f6
Merge pull request #5681 from spycrab/qt_safeshutdown
...
Qt: Implement safe shutdown
2017-06-26 21:55:27 +02:00
spycrab
6688e66c60
Qt: Implement safe shutdown
2017-06-26 21:47:32 +02:00
shuffle2
7d60f03acb
Merge pull request #5687 from shuffle2/wx-cache
...
DolphinWX: properly sync EmuState and banner changes.
2017-06-26 12:40:40 -07:00
Shawn Hoffman
f51df62344
DolphinWX: properly sync EmuState and banner changes.
2017-06-26 12:35:40 -07:00
Leo Lam
0ace7fd8f3
Merge pull request #5694 from leoetlino/dolphin-drm
...
Refuse to launch the shop with default credentials
2017-06-26 21:31:32 +02:00
Leo Lam
f399ca984f
Merge pull request #5692 from JosJuice/titledatabase-override
...
TitleDatabase: Let user files override sys files
2017-06-26 21:30:49 +02:00
shuffle2
02690d5d7c
Merge pull request #5693 from JosJuice/filesearch-minor-changes
...
FileSearch: Minor changes
2017-06-26 11:44:44 -07:00
Léo Lam
70828916e6
IOS/ES: Refuse to launch the shop with default credentials
...
Prevents... misusing the shop.
We are not legally obliged to do this, but let's not make piracy
any easier.
2017-06-26 20:30:13 +02:00
spycrab
2de31317e9
UICommon: Move TriggerSTMPowerEvent() from Wx
2017-06-26 16:28:39 +02:00
Léo Lam
860f07f5a1
IOS/ES: Expose GetDeviceId
2017-06-26 15:18:01 +02:00
Léo Lam
60c6fbe9cc
Add CommonTitles.h for common Wii title IDs
2017-06-26 15:17:55 +02:00
JosJuice
1fc5eae5bd
FileSearch: Add a static_assert for the preferred separator
2017-06-26 11:50:10 +02:00
JosJuice
382356627a
FileSearch: Check isDirectory in the non-Windows code
...
c5fa470
made the extension check discard directories, but
only in the new code that currently only is used on Windows.
Let's add an equivalent check in the old code so that the
behavior is consistent across platforms.
2017-06-26 11:44:23 +02:00
JosJuice
642e3db3c5
TitleDatabase: Add more information to a comment
2017-06-26 11:25:58 +02:00
JosJuice
ee66c562ab
TitleDatabase: Let user files override sys files
...
This seems like an oversight in the old code, because
what's the point of loading user files if the titles
in them are going to be ignored for nearly all games?
This commit fixes the issue by making the first LoadMap
variant not overwrite entries and making the constructor
do everything in the opposite order. An alternative solution
would be to make the second LoadMap variant overwrite entries.
2017-06-26 11:14:27 +02:00
Markus Wick
99b1735424
Merge pull request #5660 from shuffle2/unblock-blockingloop
...
Change "blocking" BlockingLoop::Stop to give up and die after a timeout.
2017-06-26 10:23:21 +02:00
Shawn Hoffman
ed8f293b4f
Change "blocking" BlockingLoop::Stop to give up and die after a timeout.
...
This fixes the global-static fifo object causing infinite hangs in some
cases. Notably, failure to initialize a graphics backend would result in
BlockingLoop::Prepare being called but never executing Run(), leaving the
object in a bad state.
2017-06-25 20:47:30 -07:00
Shawn Hoffman
1634f0cf5e
Use CompareStringOrdinal in DoFileSearch instead of _wcsicmp
2017-06-25 16:47:46 -07:00
shuffle2
88b442e1a8
Merge pull request #5678 from shuffle2/win-qt-vcxproj
...
Windows/Qt: Make maintaining VS files easier.
2017-06-25 15:10:23 -07:00
JosJuice
be162a3316
FileSearch: Remove unnecessary function
2017-06-25 13:21:25 +02:00
shuffle2
991062093b
Merge pull request #5682 from MerryMage/SCMRevGen
...
SCMRevGen: Use DisableFastUpToDateCheck
2017-06-24 10:44:53 -07:00
MerryMage
11a03e7dd2
SCMRevGen: Use DisableFastUpToDateCheck
2017-06-24 17:34:21 +01:00
JosJuice
b440dbd998
FileSystemGCWii: Use case insensitive comparison in FindFileInfo
...
This was a regression in f49b64c
. Some games seem to name the
banner file OPENING.BNR instead of opening.bnr.
Should fix https://bugs.dolphin-emu.org/issues/10354
2017-06-24 14:06:31 +02:00
Shawn Hoffman
311740b587
msvc/qt: list missing headers
2017-06-24 01:52:49 -07:00
Shawn Hoffman
2cf4ce1785
msvc\qt: get rid of .filters; just display directory structure.
2017-06-24 01:52:49 -07:00
Tillmann Karras
c8255092d7
Fix warnings
2017-06-24 01:41:58 +01:00
Shawn Hoffman
a66b747366
DolphinWX: show simple message about scanning in statusbar.
2017-06-23 17:25:53 -07:00
Shawn Hoffman
c5fa470ad8
replace DoFileSearch with optimized version
2017-06-23 17:25:53 -07:00
Shawn Hoffman
f16599f4a8
DolphinWX: defer gamelist scanning and switch to single-file cache.
2017-06-23 17:25:53 -07:00
Shawn Hoffman
79961b6f76
GameListCtrl: minor cleanup
2017-06-23 17:25:53 -07:00
Shawn Hoffman
668c6b5ce9
DolphinWX: rename CGameListCtrl -> GameListCtrl
2017-06-23 17:25:52 -07:00
shuffle2
1bd177561b
Merge pull request #5663 from leoetlino/import-fix
...
IOS/ES: Fix import sanity check
2017-06-23 17:04:26 -07:00
shuffle2
d715e740b5
Merge pull request #5669 from JosJuice/boottopause-false
...
Don't enable Boot to Pause by default in the debugger
2017-06-23 17:02:03 -07:00
sephiroth99
22e1a3c09f
DolphinQt2: fix compile error with analytics disabled
...
Some ifdefs were missed around two lines related to analytics in
GeneralPane.
2017-06-23 19:09:45 -04:00
JosJuice
7ebd324fe7
Don't enable Boot to Pause by default in the debugger
...
This behavior is useful sometimes, but it's not always useful,
and it can be rather confusing if you're not aware of it.
2017-06-23 16:05:27 +02:00
Shawn Hoffman
38b61edaa5
Qt/Windows: Properly link against qtmain.
2017-06-23 00:46:13 -07:00
Léo Lam
a3fdda1675
IOS/ES: Fix import sanity check
...
The sanity check runs *before* finalising the import, so at that time
the whole title directory is still in /import and not in /title.
This means we should check for contents there, not in /title. Whoops.
2017-06-22 23:41:01 +02:00
Niels Boehm
56158ca176
Replace MMU mask tests with dedicated function.
...
The efficient function (that is nearly the same as
https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 )
replaces one loop based instance (which also reused the xx variable
afterwards, whereas it should have used htabmask instead) and one
instance using the population count a.k.a. Hamming weigth.
2017-06-22 20:22:53 +02:00
Niels Boehm
df82adca43
Add function testing whether a bitmask is valid.
...
This one verifies bitmasks where low bits are set to 1 (hence the name).
Any stray 0 among the lower ones or any stray 1 among the higher zeros
renders the mask invalid.
The edge cases of all zeros and all ones are considered valid masks.
It uses an efficient implementation. It's the counterpart of
https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2
2017-06-22 20:22:53 +02:00
shuffle2
e30484e8a7
Merge pull request #5653 from Starsam80/qt-remove-settings-warning
...
Qt: Remove the warning in the settings window
2017-06-21 20:24:31 -07:00
shuffle2
1c741adcc6
Merge pull request #5658 from leoetlino/async
...
WX: Use std::future for checking disc integrity
2017-06-21 20:22:02 -07:00
shuffle2
09edd62cce
Merge pull request #5650 from leoetlino/check-contents
...
IOS/ES: Add some sanity checks to ImportTitleDone
2017-06-21 20:13:44 -07:00
shuffle2
f65fe3efbd
Merge pull request #5646 from Starsam80/cert-import-fixes
...
NANDImporter: Improve certificate extraction
2017-06-21 20:12:57 -07:00
Léo Lam
9d70b894bf
WX: Use std::future for checking disc integrity
...
Simpler, and puts the call to CheckIntegrity right where it should be,
instead of being hidden somewhere in a thread class.
This also makes it more obvious what we're getting from the async task.
Oh, and coincidentally, this fixes a random crash that could occur
during the check. I'm not sure why.
2017-06-21 11:08:07 +02:00
Tillmann Karras
e504da6f04
DSPHLE: add a few comments
2017-06-21 07:07:10 +01:00
Tillmann Karras
b2a3827ecb
DSPHLE: fix volume in NTSC IPL ucode
2017-06-21 06:57:58 +01:00
Starsam80
74df52fb2c
Qt: Remove the warning in the settings window
2017-06-20 18:58:47 -06:00
Tillmann Karras
578ae3c8a1
DSPHLE: the light protocol has no sine table
...
The sine table is only used for Dolby mixing which the light protocol
doesn't support.
2017-06-20 22:00:27 +01:00
Tillmann Karras
a46430851d
DSPHLE: the IPL PAL ucode's 0xC command is a nop
2017-06-20 22:00:27 +01:00
Tillmann Karras
69027bc488
DSPHLE: add another Japanese IPL checksum
...
I'm not actually sure it's version 1.2 but it doesn't really matter
anyway.
2017-06-20 22:00:11 +01:00
Leo Lam
3fe8e102fc
Merge pull request #5648 from leoetlino/qt-shutdown
...
Qt: Fix emulation stopped signal
2017-06-20 21:14:13 +02:00
Léo Lam
3613f33c9b
IOS/ES: Make sure all contents are imported
...
This adds a check to ImportTitleDone to make sure all required contents
that are listed in the TMD have been imported before allowing to finish
the import. Not checking for this could allow titles to be left in an
inconsistent state.
2017-06-20 20:12:50 +02:00
Léo Lam
4d08e90f26
IOS/ES: Block ImportTitleDone if there's a content import
2017-06-20 11:57:00 +02:00
Anthony
b584d2797f
Merge pull request #5508 from ligfx/qtresizerenderwidget
...
DolphinQt2: allow resizing RenderWidget/fix fullscreen
2017-06-19 12:26:18 -07:00
Léo Lam
fb135c99e3
Qt: Fix emulation stopped signal
...
Same old bug as in WX. The core is not shut down until the on stopped
callback is invoked.
2017-06-19 21:24:32 +02:00
shuffle2
74cab88a8c
Merge pull request #5618 from lioncash/fifo
...
FifoRecorder: Don't allocate ~100.7MB on program startup
2017-06-19 08:02:51 -07:00
Leo Lam
1be10e7ebc
Merge pull request #4940 from sjnewbury/wiimote-connect
...
Retry opening of wiimote channels on initial failure
2017-06-19 10:56:09 +02:00
Steven Newbury
e9a696b160
Retry opening of wiimote channels on initial failure #5997
...
There seems to be a race condition between a peripheral device
connecting to the bluetooth controller and it being ready to use.
It's very short and it depends upon the controller, some appear to
connect synchronously and block until the device is ready, others
report the device upon discovery but do not allow communication straight
away. I don't know which is the correct behaviour, or whether it depends
on the peripheral, controller or both. Anyway, Dolphin waits for a
remote to appear and immediately attempts to open the communication
channels, this can fail because the device isn't ready yet, delay, try
again, and it works.
There are other (unlikely) chances the device is busy at random
moments after this initial race condition so it loops around try to
reconnect.
This was inspired by an earlier patch, see here:
https://bugs.dolphin-emu.org/issues/5997#note-20
I can confirm that it works perfectly for me on a bluetooth
controller where otherwise it's impossible to connect (Dell 380
Bluetooth 4.0).
2017-06-19 09:22:04 +01:00
Starsam80
5399311a13
NANDImporter: Improve certificate extraction
2017-06-19 01:23:58 -06:00
Lioncash
82c66e2bab
FifoRecorder: Don't allocate ~100.7MB on program startup
...
So, a FifoRecorder instance is instantiated as a file-local variable and
used as a singleton (ugh). Most users likely don't regularly use the
FIFO player/FIFO recorder, so this is kind of a substantial waste of
memory.
FifoRecorder's internal RAM and ExRAM vectors are 33554432 and 67108864
bytes respectively, which is around 100.66MB in total.
Just on the game list view on a clean build with nothing loaded, this
knocks debug build memory usage down from ~232.4MB to ~137.5MB, and
release build memory usage down from ~101MB to ~5.7MB.
2017-06-19 02:47:26 -04:00
Lioncash
59a947d41d
AbstractTexture: Return config by const reference
...
Returning by const value isn't really necessary (and usually an indicator const reference was intended).
2017-06-18 23:38:42 -04:00
Lioncash
07cddf6f7f
AbstractTexture: Add missing includes (and remove unnecessary ones)
2017-06-18 23:29:22 -04:00
Lioncash
0c57543205
VideoCommon: Fix VS filter for AbstractTexture.cpp
...
This would cause failures when building with VS.
2017-06-18 22:58:02 -04:00
shuffle2
f06e233d49
Merge pull request #5616 from ligfx/qtfocuseventtowindowactivation
...
DolphinQt2: FocusEventFilter -> WindowActivationEventFilter
2017-06-18 16:34:03 -07:00
shuffle2
b59eb76786
Merge pull request #5641 from leoetlino/analytics-timeout
...
Analytics: Set the timeout to 5 seconds
2017-06-18 16:33:18 -07:00
Michael Maltese
f7e2b8dab7
DSPCore: replace 'GC' with 'GameCube' in messages
2017-06-18 15:43:02 -07:00
Michael Maltese
9de2934aae
DSPCore: remove message that the free ROM doesn't work with IPL
...
The GameCube IPL sounds the same when using the free ROM as it does when
using the official ROM (and in Audacity, I couldn't visually distinguish
between the waveforms). It has a reference to an unimplemented function
at 0x8644 which seems to only be used in an inlined version of the CARD
ucode.
2017-06-18 15:43:02 -07:00
Michael Maltese
84808d2e35
DSPCore: update free DSP ROM message for GBA ucode support
...
The GBA ucode is supported as of #5524 / d51be94
.
2017-06-18 15:43:02 -07:00
shuffle2
98b751f810
Merge pull request #5643 from leoetlino/fix-memcpy
...
IOS/ES: Fix bug in ImportTicket ioctlv handler
2017-06-18 15:37:08 -07:00
Léo Lam
29e8988c90
Analytics: Set the timeout to 5 seconds
...
3 seconds is sometimes not enough.
2017-06-18 23:16:03 +02:00
Leo Lam
9a1503a75c
Merge pull request #5642 from lioncash/chrono
...
HttpRequest: Use std::chrono for indicating time periods
2017-06-18 23:13:52 +02:00
Léo Lam
961c85bf7c
IOS/ES: Fix bug in ImportTicket ioctlv handler
2017-06-18 23:09:30 +02:00
Léo Lam
7222ce78ff
SysConf: Don't set "config done" flags by default
...
This allows the user to go through the Wii Menu first boot setup
screen when they launch the System Menu for the first time.
Most useful on a clean profile, after doing a full system update,
to configure settings like the console country.
2017-06-18 22:32:56 +02:00
shuffle2
5072f4e5c3
Merge pull request #5638 from leoetlino/sysconf
...
Rewrite SysConf handling
2017-06-18 13:19:11 -07:00
shuffle2
72d5dd754a
Merge pull request #5639 from leoetlino/unit-test-profile
...
UnitTests: Use a temporary profile directory
2017-06-18 12:57:57 -07:00
shuffle2
e63c337830
Merge pull request #5305 from iwubcode/abstract_texture
...
Abstract Texture
2017-06-18 12:57:05 -07:00
Lioncash
251de89b5c
HttpRequest: Use std::chrono for indicating time periods
...
Allows the use of chrono time points, on top of being more indicative of
time periods used at call sites, if custom timeouts are specified.
2017-06-18 15:48:37 -04:00
Léo Lam
5243eae4e9
UnitTests: Use a temporary profile directory
...
This prevents Dolphin from modifying any file in the user directory.
2017-06-18 16:23:09 +02:00
Léo Lam
d86f020e81
Rewrite SysConf handling
...
This rewrites the SysConf code for several reasons:
* Modernising the SysConf class. The naming was entirely cleaned up.
constexpr for constants.
* Exposing less stuff in the header.
* Probably less efficient parsing and writing logic, but much simpler
to understand and use in my opinion. No more hardcoded offsets.
No more duplicated code for the initial SYSCONF generation.
* More flexibility. It is now possible to add and remove entries,
since we rebuild the file. This allows us to stop spamming
"section not found" panic alerts; we can now use and insert
default entries.
2017-06-18 16:17:05 +02:00
Tillmann Karras
9a2bef97da
JitCache: use SymbolDB names as JIT block names
2017-06-18 06:58:44 +01:00
shuffle2
e9c0535519
Merge pull request #5632 from sepalani/file
...
File/IOFile: Check _tfopen_s properly
2017-06-17 15:03:10 -07:00
Léo Lam
e1990e2645
IOS/ES: Fix title ordering
...
On a real Wii, the title list is not in any particular order. However,
because of how the flash filesystem works, titles such as 1-2 are
*never* in the first position. We must keep this behaviour, or some
versions of the System Menu may break.
2017-06-17 22:39:08 +02:00
Léo Lam
dd8dcdf880
LogManager: Check if listener is valid before using it
2017-06-17 10:39:06 +02:00
Léo Lam
a2ad3e14d0
Logging: Remove duplicated code
2017-06-17 10:20:30 +02:00
Léo Lam
100c433261
Logging: Move verbosity setting code to LogManager
...
No clue why it was in DolphinWX.
2017-06-17 10:20:30 +02:00
Stenzek
68fef47aef
Merge pull request #5314 from stenzek/revert-efb-source-truncation
...
TextureConversionShader: Use integer math for truncating EFB format
2017-06-17 15:21:48 +10:00
Stenzek
adebe2239e
TextureConversionShader: Use integer math for truncating EFB format
2017-06-17 12:17:09 +10:00
Sepalani
b359d82890
File/IOFile: Check _tfopen_s properly
2017-06-17 02:16:58 +01:00
Leo Lam
10beb2aea1
Merge pull request #5628 from JosJuice/updatetitle-encoding
...
DolphinWX: Fix encoding errors in UpdateTitle
2017-06-16 18:37:59 +02:00
Leo Lam
bc9c9b9fe4
Merge pull request #5594 from MerryMage/phack
...
Cleanup Projection Hack
2017-06-16 18:36:39 +02:00
Leo Lam
cc9bd0b0f0
Merge pull request #5625 from leoetlino/fileutil-fixes
...
FileUtil fixes
2017-06-16 18:31:50 +02:00
JosJuice
4bee7b7605
DolphinWX: Fix encoding errors in UpdateTitle
...
An implicit conversion from std::string to wxString
was to blame, as usual. Fixes issue 10341.
2017-06-16 17:20:13 +02:00
Léo Lam
6249244c90
IOS/ES: Fix formatting
2017-06-16 16:17:38 +02:00
Léo Lam
6503a9f538
Allow the user to ignore signature issues during WAD import
...
Improves usability with signature checks.
2017-06-16 16:17:38 +02:00
Léo Lam
c08806d107
IOS/ES: Verify containers in GetTMDStoredContents
2017-06-16 16:17:38 +02:00
Léo Lam
d77b7ac90e
IOS/ES: Verify containers in SetUpStreamKey
2017-06-16 16:17:38 +02:00
Léo Lam
36c5caacf4
IOS/ES: Verify containers in ImportTmd
2017-06-16 16:17:37 +02:00
Léo Lam
54025da00f
IOS/ES: Add note about verification in DiVerify
...
We probably don't want to verify containers there because it might
result in patched/custom games failing the check.
2017-06-16 16:17:37 +02:00
Léo Lam
8a49e1f7db
IOS/ES: Verify containers in ImportTitleInit
2017-06-16 16:17:37 +02:00
Léo Lam
719af1aff4
IOS/ES: Verify containers in ImportTicket
2017-06-16 16:17:37 +02:00
Léo Lam
07d83ada39
IOS/ES: Create missing directories at boot
...
Something that IOS does and that Dolphin doesn't, for whatever reason.
2017-06-16 16:17:37 +02:00
Léo Lam
f3bf1d626c
IOS/ES: Add helper function ReadCertStore
2017-06-16 16:17:37 +02:00
Léo Lam
88348e2903
IOS/ES: Add VerifyContainer
...
Will be used from several functions to verify the signatures for
different containers (TMDs, tickets, device signed blobs).
An option was added to disable signature checks, because that could be
useful for people trying to import unsigned stuff.
2017-06-16 16:17:37 +02:00
Léo Lam
34c9bf391e
IOS: Correct ES return code names about signatures
...
-1027 is used when ES cannot find the issuer of a certificate.
-1012 is used when the signature type is invalid.
2017-06-16 15:49:40 +02:00
Shawn Hoffman
1ada68aecd
windows: fix handle leak when using continuous scan
2017-06-16 04:00:32 -07:00
Léo Lam
01faa5c852
FileUtil: Use errno for printing errors in IsDirectory
...
stat() returns an error code in errno on both POSIX compliant
platforms and Windows.
This means we should always use errno instead of GetLastErrorMsg
which uses GetLastError() (Win32) on Windows.
2017-06-16 12:43:41 +02:00
Léo Lam
aa63199977
FileUtil: Don't manually strip trailing slashes
...
POSIX allows one or more trailing slashes for directories.
From POSIX.1-2008, section 3.271 (Base Definitions / Pathname):
> A pathname can optionally contain one or more trailing <slash>
> characters. Multiple successive <slash> characters are considered to
> be the same as one <slash>, except for the case of exactly two
> leading <slash> characters.
On Windows, the extra trailing slashes are ignored for directories too.
2017-06-16 12:31:26 +02:00
Leo Lam
405d2e28ad
Merge pull request #5621 from Orphis/d3d_include
...
d3d: Add missing include
2017-06-16 10:53:56 +02:00
Shawn Hoffman
f469d86467
cmake/win32: add CompatPatches
2017-06-15 21:26:40 -07:00
Shawn Hoffman
1210c74955
[windows]: Apply compatibility patches to problematic gamepad vibration drivers.
...
Move ucrtFreadWorkaround to use the new LdrWatcher.
2017-06-15 21:21:01 -07:00
Florent Castelli
0b504fa046
d3d: Add missing include
2017-06-16 05:52:01 +02:00
Shawn Hoffman
e51071a9c5
msbuild: put pugixml in Externals solution filter; fix project reference.
2017-06-15 19:06:16 -07:00
Michael Maltese
7c79673d78
MappingButton: make m_block a Common::Flag
2017-06-15 16:15:07 -07:00
Michael Maltese
5b6c8c3ad0
MappingButton: grab and release mouse and keyboard instead of calling parent SetBlockInputs
2017-06-15 16:15:07 -07:00
Michael Maltese
2188ac785a
Move MappingWindow::OnDefaultFieldsPressed() to correct file
2017-06-15 16:15:07 -07:00
Michael Maltese
6c73079011
MappingWidget: fix typo and call Update() on bools
2017-06-15 16:15:07 -07:00
Michael Maltese
ef563fc032
MappingWidget: call Clear() on numerics and bools
2017-06-15 16:15:07 -07:00
Michael Maltese
94038a1e03
MappingButton: remove GetFirstButtonPress logic
2017-06-15 16:15:07 -07:00
Michael Maltese
5b3b6b7f3d
DolphinQt2: FocusEventFilter -> WindowActivationEventFilter
2017-06-15 16:12:05 -07:00
Lioncash
dd4203bec8
Core: Remove unnecessary includes
...
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
Lioncash
b003108b8b
Core: Add WiimoteCommon headers to the VS project
2017-06-15 18:38:21 -04:00
Leo Lam
8f460a1cda
Merge pull request #5611 from JosJuice/reorganize-file-namespace
...
Reorganize File namespace
2017-06-15 23:28:36 +02:00
JosJuice
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
JosJuice
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Leo Lam
9bc1b652fe
Merge pull request #5601 from leoetlino/esformats-additions
...
ESFormats additions and fixes
2017-06-15 21:32:44 +02:00
Leo Lam
743284d39d
Merge pull request #5606 from leoetlino/include
...
NoGUI: Fix a missing include for Xlib
2017-06-15 21:31:21 +02:00
Leo Lam
09c0a3caaf
Merge pull request #2820 from JosJuice/filesystem
...
Filesystem redesign and performance improvements
2017-06-15 21:24:42 +02:00
MerryMage
f8a99ca192
VertexShaderManager: Rename projection hack variables
2017-06-15 16:38:10 +01:00
MerryMage
44f2420517
GraphicsSettings: PH_ZNear and PH_ZFar are std::strings
2017-06-15 16:38:06 +01:00
Léo Lam
a370ad5f6d
IOS/ESFormats: Fix content map writing
...
On Windows, this would fail because the file handle wasn't closed.
2017-06-14 23:13:46 +02:00
Léo Lam
8865208571
IOS/ESFormats: Add ParseCertChain
...
This will be used to avoid duplicating cert chain parsing code.
2017-06-14 22:45:30 +02:00
Léo Lam
e29f6e383f
IOS/ESFormats: Add CertReader
2017-06-14 22:45:30 +02:00
Léo Lam
90280b3f84
IOS/ESFormats: Remove unused TMDReader function
...
The ES function that used to make use of it was changed to be more
sane, so GetRawHeader() is now unused and useless.
2017-06-14 22:45:29 +02:00
Léo Lam
6c3069be97
IOS/ESFormats: Use SignedBlobReader for TMDs and tickets
2017-06-14 22:45:29 +02:00
Léo Lam
2ec04675c9
IOS/ESFormats: Add SignedBlobReader
...
Allows common signature parsing code to not be duplicated.
2017-06-14 22:45:29 +02:00
Anthony
335f54cac6
Merge pull request #5609 from leoetlino/qt-user-path
...
Qt: Support custom user profile paths
2017-06-14 13:40:37 -07:00
JosJuice
583406d900
Filesystem: Make destructors = default
2017-06-14 15:26:04 +02:00
JosJuice
0b7d2e7c68
Filesystem: Modernize variable names
2017-06-14 15:25:09 +02:00
JosJuice
e3a2cd827a
Filesystem: Do more validity checking in the constructor
...
This makes it possible to catch errors earlier so that file systems
simply fail to load instead of behaving oddly. It also makes it possible
to check for errors that weren't checkable before, like the end of a
directory being after the end of the parent directory.
2017-06-14 15:25:05 +02:00
JosJuice
ee27be06d7
Filesystem: Add a cache for finding file info by disc offset
...
FileMonitor calls this every time a read happens, and there's no code that
only calls this a small number of times, so having a cache is worthwhile.
2017-06-14 15:25:02 +02:00
JosJuice
87916fe099
Filesystem: Replace GetFileList()
...
Instead of expecting callers to know how the size of directory file infos
relates to which files are in which directories, filesystems now offer a
GetRoot() method, and file infos offer a way to get their children. As
a bonus, m_FileInfoVector no longer has to be created and kept around
in RAM. Only the file info objects that actually are used are created.
2017-06-14 15:23:48 +02:00
Léo Lam
a9630727fe
Qt: Support custom user profile paths
...
Pretty much the most important option to support, even for a UI
frontend that's still a WIP. It's essential for testing.
2017-06-14 14:31:30 +02:00
Leo Lam
40a9e585a7
Merge pull request #5604 from sepalani/wx-rm-path
...
PathConfigPane: Prevent an invalid index assert
2017-06-14 13:30:15 +02:00
Sepalani
2a349f8e49
PathConfigPane: Prevent an invalid index assert
2017-06-14 12:07:25 +01:00
Leo Lam
c71cb9ac49
Merge pull request #5608 from Starsam80/qt-should-be-like-wx
...
Qt/MappingWindow: Update layout to match WX
2017-06-14 11:14:34 +02:00
Leo Lam
54e882941c
Merge pull request #5600 from leoetlino/xml-library
...
Externals: Add zeux/pugixml@38edf25
2017-06-14 11:13:32 +02:00
Leo Lam
36efcc9f39
Merge pull request #5599 from leoetlino/http-request
...
Common: Add HttpRequest to simplify HTTP requests
2017-06-14 11:12:56 +02:00
Starsam80
e023cc124b
Qt/MappingWindow: Update layout to match WX
2017-06-13 22:42:53 -06:00
JosJuice
ee2b88ebb6
Filesystem: Store pointer to beginning of FST in file infos
...
Needed for the next commit.
2017-06-13 22:44:15 +02:00
JosJuice
1262f08ac1
Filesystem: Better validity checking
...
Now that the FST in read in the constructor, m_Valid
can be set to false when there are errors in the FST.
2017-06-13 22:44:11 +02:00
JosJuice
afe2bc60f6
Filesystem: Initialize everything in constructor
...
Not initializing until the filesystem is used is good when
a filesystem is constructed and then never used, but nobody does that.
This simplifies the code a little and lets all methods be const.
2017-06-13 22:44:07 +02:00
JosJuice
d6ee7ec32c
Filesystem: Read the entire FST in one go
...
Instead of using lots of small scattered reads to read the FST,
only one big read is used, which is more efficient.
This also means that the FST only allocates memory once and stores all
strings close to each other - good for the CPU cache. The file info
objects use pointers to this FST memory of containing data themselves.
Keeping around the big m_FileInfoVector containing objects with only
pointers is a bit unnecessary, but that will be fixed soon.
2017-06-13 22:43:41 +02:00
JosJuice
f49b64caff
Filesystem: Rewrite finding file info by path for performance
...
Instead of calling GetPathFromFSTOffset for every file info, FindFileInfo
now only looks at names in directories that are included in the path.
For the common case of searching for "opening.bnr", this means that
only root-level files and directories have to be searched through.
2017-06-13 22:41:02 +02:00
JosJuice
7c45afecb2
Filesystem: Use file info in arguments instead of path
...
Some callers already have the file info, making the relatively slow
FindFileInfo calls unnecessary. Callers that didn't have the file info
will now need to call FindFileInfo on their own.
2017-06-13 22:40:57 +02:00
JosJuice
3d5ef948d0
Filesystem: Make FindFileInfo public
2017-06-13 22:40:53 +02:00
JosJuice
07d3a39aeb
Filesystem: Replace file info's full path with name
...
Some callers (i.e. ISOProperties) don't want the full path, so giving them
it is unnecessary. Those that do want it can use GetPathFromFSTOffset.
Not storing full paths everywhere also saves a small bit of RAM and is
necessary for a later commit. The code isn't especially pretty right now
(callers need to use FST offsets...) but it'll become better later.
2017-06-13 22:38:31 +02:00
JosJuice
5021b4a567
Filesystem: Replace FileInfo struct with interface
...
GC/Wii filesystem internals shouldn't be exposed to other classes.
This change isn't especially useful by itself, but it opens up the
way for some neat stuff in the following commits.
2017-06-13 22:37:43 +02:00
Leo Lam
38c60156ce
Merge pull request #5479 from spycrab/qt_mapping_io_win
...
Qt: Implement advanced mapping I/O windows
2017-06-13 21:09:45 +02:00
Léo Lam
0d58a0bfe2
HttpRequest: Add support for custom timeouts
2017-06-13 19:17:11 +02:00
spycrab
50c13c1902
Qt: Implement advanced mapping I/O windows
2017-06-13 17:16:41 +02:00
JosJuice
95bc57cff3
DiscScrubber: Use FileInfo::IsDirectory instead of bit magic
2017-06-13 17:01:39 +02:00
Léo Lam
b08201654e
Externals: Add zeux/pugixml@38edf25
...
Along with VS boilerplate to get it to build on Windows.
2017-06-13 14:05:10 +02:00
Léo Lam
ba3f16edbf
HttpRequest: Add support for sending custom headers
2017-06-13 12:52:31 +02:00
Léo Lam
8f87433719
HttpRequest: Log response body on failure
2017-06-13 12:52:31 +02:00
Léo Lam
18678afa6d
Common: Add HttpRequest to simplify HTTP requests
...
Too much boilerplate that is duplicated if we use curl directly.
Let's add a simple wrapper class that hides the implementation details
and just allows to simply make HTTP requests and get responses.
2017-06-13 12:52:31 +02:00
Léo Lam
55916eddda
NoGUI: Fix a missing include for Xlib
2017-06-13 11:46:13 +02:00
iwubcode
e4896d39bd
Video Backends: Move and rename HostTextureFormat to AbstractTextureFormat
2017-06-13 00:41:56 -05:00
iwubcode
2cdc93f4ab
Video Backends: Split texture cache code out into separate files, introduce 'AbstractTexture'
2017-06-13 00:41:51 -05:00
Stenzek
8a56ef42dc
Vulkan: Fix image layout assertion failing for palette textures
2017-06-13 14:47:09 +10:00
Leo Lam
73be025847
Merge pull request #5603 from sepalani/png-warn
...
Silent GameList PNG warnings
2017-06-12 23:58:23 +02:00
Leo Lam
3e1a650a3f
Merge pull request #5591 from leoetlino/wii-fix
...
Core: Misc WiiRoot fixes
2017-06-12 23:41:45 +02:00
Sepalani
b7dde796fa
Silent GameList PNG warnings
2017-06-12 22:19:58 +01:00
Léo Lam
4a3537285b
IOSC: Implement ImportCertificate
...
Same as VerifyPublicKeySign, we currently only support RSA keys
(which is all we need right now).
2017-06-12 20:33:54 +02:00
Léo Lam
1a8144c702
IOSC: Fix ImportPublicKey to work with other public key types
2017-06-12 20:33:54 +02:00
Léo Lam
2eccd45f01
IOSC: Implement GetSizeForType
...
Avoids duplicating sizes everywhere.
2017-06-12 20:33:53 +02:00
Léo Lam
965773bf67
IOSC: Implement VerifyPublicKeySign
...
Partial implementation which doesn't support ECC stuff, but good enough
for our purposes.
2017-06-12 18:24:02 +02:00
Léo Lam
a0392db833
IOSC: Add entry for the root key handle
...
It contains a RSA4096 public key used to validate all other
Nintendo certificates.
2017-06-12 18:24:01 +02:00
Léo Lam
8859bc91e2
IOSC: Add storage for key misc data
...
Will be used to store the exponent for RSA keys.
2017-06-12 18:24:01 +02:00
Léo Lam
d4f501bca6
IOSC: Replace direct access to entries with getter
...
Makes it slightly less likely to forget a check and end up doing an
out-of-bounds access. Also makes it obvious that we *are* indeed
checking whether the handle is valid, instead of hiding it in
HasOwnership (which won't handle the root key handle case properly).
2017-06-12 18:24:01 +02:00
Léo Lam
acf150df3f
IOSC: Add structures for certificates and signatures
2017-06-12 18:24:01 +02:00
shuffle2
2b86cf02a8
Merge pull request #5589 from stenzek/vulkan-validation-fixes
...
Vulkan: Don't transition image layouts inside render passes
2017-06-11 16:59:02 -07:00
JosJuice
b3ac6de7f8
Skip GameCube IPL by default
...
See https://github.com/dolphin-emu/dolphin/pull/5492#issuecomment-306988942
I'm also renaming the setting because HLE_BS2 has already
been set to False automatically in existing INIs.
2017-06-11 17:51:01 +02:00
Léo Lam
17ef4c8046
StringUtil: Make SplitString return by value
...
Simpler usage.
2017-06-11 16:48:20 +02:00
MerryMage
a0b41c83e7
VideoConfig: Remove bRunning
...
Value was set but not used.
2017-06-11 15:06:12 +01:00
Leo Lam
eefae402b3
Merge pull request #5593 from leoetlino/legacy-code
...
VideoConfig: Remove useless code
2017-06-10 21:34:56 +02:00
Léo Lam
774587cbd1
VideoConfig: Remove useless header includes
2017-06-10 20:25:27 +02:00
Léo Lam
0e85c47237
VideoConfig: Remove manual panic alert setting load
...
This code hadn't been touched since 2010. Nowadays, the panic alert
setting is loaded by ConfigManager and applied in UICommon.
VideoConfig has no business messing with it.
2017-06-10 20:24:18 +02:00
Leo Lam
f2a6e39722
Merge pull request #5590 from MerryMage/vcd-refresh
...
VideoConfigDiag: Refresh VideoConfig before opening configuration dialog
2017-06-10 20:21:18 +02:00
MerryMage
33879bf611
Config: Remove creation of unnecessary CommandLine layer
2017-06-10 19:07:17 +01:00
Léo Lam
91bcd756ff
Core: Remove useless ShutdownWiiRoot calls
...
I don't see why we need to call ShutdownWiiRoot on InitializeWiiRoot.
Also, atexit? Really? Not only is this unnecessary, it will also cause
ShutdownWiiRoot to be called twice in rapid succession for no reason.
2017-06-10 20:00:43 +02:00
Léo Lam
3eecf67a2a
Core: Remove useless InitializeWiiRoot call
2017-06-10 19:52:54 +02:00
Léo Lam
8b67a3ada3
Core: Only restore config after HW shutdown
...
The config must only be restored after the HW has shut down, not while
it is still running, because the HW can still query the config, which
can lead to inconsistent states.
This fixes WiiRoot not being able to copy back saves on shutdown.
2017-06-10 19:50:43 +02:00
MerryMage
12e9ce47f6
VideoConfigDiag: Refresh VideoConfig before opening configuration dialog
...
If the video configuration dialog is opened before a game was run, VideoConfig::Refresh was never called.
2017-06-10 16:40:10 +01:00
Stenzek
ca55ba6c1d
Vulkan: Transition texture cache entries before usage
2017-06-10 23:52:39 +10:00
Stenzek
8bb6abacf8
Vulkan: Transition EFB/XFB buffers before beginning swap render pass
...
Image layouts shouldn't be changed within a render pass.
2017-06-10 23:52:32 +10:00
JosJuice
2578a3553b
VolumeDirectory: That's not what "4 byte" means
2017-06-09 20:00:36 +02:00
JosJuice
240cb0ca11
VolumeDirectory: Use correct endianness when writing apploader -1
2017-06-09 20:00:17 +02:00
Anthony
20a3cbb8fc
Merge pull request #5587 from JosJuice/volumewii-game-partition-later
...
VolumeWii: Don't set m_game_partition until we know partition is valid
2017-06-09 10:49:50 -07:00
Anthony
c900829eee
Merge pull request #5586 from JosJuice/expand-game-partition
...
FilesystemPanel: Expand game partition rather than second partition
2017-06-09 10:49:12 -07:00
JosJuice
d2b69f963a
VolumeWii: Don't set m_game_partition until we know partition is valid
...
Without this, we can end up in an inconsistent state where
m_game_partition is set to a partition that isn't in the
partition maps.
2017-06-09 18:39:30 +02:00
Leo Lam
1f30bd1f26
Merge pull request #5583 from shuffle2/remove-psapi
...
remove MemUsage, and therefor psapi dependency
2017-06-09 18:10:04 +02:00
Leo Lam
d9e8a2a7e7
Merge pull request #5584 from JosJuice/boot-tmd-valid
...
Boot: Check TMD validity before reading from TMD
2017-06-09 18:07:26 +02:00
JosJuice
025884b688
FilesystemPanel: Expand game partition rather than second partition
...
The game partition is normally the second partition, but not
if the disc has been scrubbed to only contain one partition.
2017-06-09 18:04:58 +02:00
Leo Lam
25850dd366
Merge pull request #5563 from leoetlino/internal-functions
...
IOS/ES: Make NandUtils member functions
2017-06-09 17:52:09 +02:00
JosJuice
fdd197475b
Boot: Check TMD validity before reading from TMD
...
Otherwise Dolphin crashes when trying to boot a Wii game
with an invalid TMD.
2017-06-09 17:44:43 +02:00
Shawn Hoffman
f206a4ea9c
remove MemUsage, and therefor psapi dependency
2017-06-08 22:25:46 -07:00
Leo Lam
9885a2bb28
Merge pull request #5575 from leoetlino/setup-stream-key
...
IOS/ES: Implement ES_SetUpStreamKey
2017-06-08 20:11:14 +02:00
Léo Lam
7b4404c7d5
IOS/ES: Implement ES_SetUpStreamKey
...
This ioctlv is used to get an IOSC decrypt handle for a title.
It is known to be used internally by the WFS modules, but it can also
be used from the PPC under some conditions.
Brings us down to 2 essentially unimplementable ioctlvs (syscalls which
seem to return kernel thread priorities...), and 1 known but
unimplemented ioctlv (VerifySign).
2017-06-08 18:15:03 +02:00
Léo Lam
e240e260d9
IOSC: Fix the SetOwnership implementation
2017-06-08 18:15:03 +02:00
Léo Lam
47e0a1656e
IOS/ES: Make NandUtils member functions
...
In the future, NAND filesystem access will be limited to one IOS
instance, for safety reasons and to make it possible to consider
supporting NAND images. This means that any code accessing the NAND
filesystem must go through the FS device, both for code that is
external to IOS and internal.
Because we don't want to introduce any singleton, this requires
internal IOS code that needs NAND access to be part of an IOS device
class, so they can access the FS device easily.
Making some of the internal ES implementation functions member
functions also prevents them from being (mis)used outside of IOS,
since they cannot be called everywhere anymore.
2017-06-08 17:44:00 +02:00
Shawn Hoffman
55062afea9
move IOS::HLE::WriteReturnValue to .cpp file
2017-06-08 00:07:10 -07:00
shuffle2
ffd8309aca
Merge branch 'master' into fix-unittests
2017-06-07 21:20:06 -07:00
Shawn Hoffman
602b972773
msvc: enable some default-off warnings
2017-06-07 21:07:36 -07:00
shuffle2
327050348c
Merge pull request #5576 from lioncash/filters
...
Core: Move SignatureDB and Config source files into filters
2017-06-07 20:41:06 -07:00
Shawn Hoffman
fd166032ab
msbuild: obey some warnings about missing virtual destructors
2017-06-07 20:20:25 -07:00
Shawn Hoffman
1065dc4438
msbuild: set warning level 4
2017-06-07 20:20:25 -07:00
Shawn Hoffman
5480efdff2
video: change multisample/AA setting to u32
2017-06-07 20:20:25 -07:00
Shawn Hoffman
9357cee2ef
do not assign in conditional statements
2017-06-07 20:09:44 -07:00
Shawn Hoffman
50f34f8b05
jit64: silence signedness comparison warnings
2017-06-07 20:09:44 -07:00
Shawn Hoffman
ef9090d7da
powerpc: silence an int->u32 init warning
2017-06-07 20:09:43 -07:00
Shawn Hoffman
a97d079138
jit64: quiet variable init warnings
2017-06-07 20:09:43 -07:00
Shawn Hoffman
e6c15e993b
quiet some sign-conversion-in-parameter warnings
2017-06-07 20:09:43 -07:00
Shawn Hoffman
ab4a785f1b
d3d: silence variable shadowing warning
2017-06-07 20:09:43 -07:00
Shawn Hoffman
ead4f19654
ios/usbv4: initialize TransferCommand::data_address to 0
2017-06-07 19:52:08 -07:00
Shawn Hoffman
983f70c9ea
ios: treat return values as s32
2017-06-07 19:52:07 -07:00
Shawn Hoffman
5b5c630afb
set underlying type of some enums to quiet warnings
2017-06-07 19:52:07 -07:00
Shawn Hoffman
ebd3d43b7d
ios/es: make fd s32 -> quiets warnings
2017-06-07 19:52:07 -07:00
Shawn Hoffman
8f12d7fb3c
ios/net/ip/top: introduce a helper to write ip addr (quiets warning)
2017-06-07 19:52:07 -07:00
Shawn Hoffman
4a1b32afe4
windows: use proper type/constant for NET_IFINDEX in ios hle
2017-06-07 19:52:07 -07:00
Shawn Hoffman
7e75a052a4
windows/bba: pass c_str() instead of std::string object through a va_list
2017-06-07 19:52:07 -07:00
Shawn Hoffman
90f863a7a3
HLE: fix unreachable code warning
2017-06-07 19:52:07 -07:00
Shawn Hoffman
f730b775b6
quiet warnings about possibly-uninitialized variable usage
2017-06-07 19:52:07 -07:00
Shawn Hoffman
e1a3e41bf3
fix various instances of -1 being assigned to unsigned types
2017-06-07 19:52:07 -07:00
Shawn Hoffman
be7c6a0819
msvc: disable warning about using setjmp w/c++ objects in scope
2017-06-07 19:52:07 -07:00
Lioncash
a093b58aad
Core: Move SignatureDB and Config source files into filters
...
Keeps things organized instead of being in the root of Core's source
tree when using the filter view.
2017-06-07 21:57:49 -04:00
Shawn Hoffman
f7f1d5d2ca
msvc: disable meaningless constant truncation warnings in SDCardUtil
2017-06-07 18:44:03 -07:00
Shawn Hoffman
4f9dd7277b
msvc: disable unused symbol warning in Core/Common/Crypto/ec.cpp
2017-06-07 18:44:03 -07:00
Shawn Hoffman
5dc7318281
msbuild: cleanup some old comments in DolphinQt2.vcxproj
2017-06-07 17:30:05 -07:00
Shawn Hoffman
8d37301b19
msbuild: Remove hack for ObjectFileName (reduces build parallelism).
2017-06-07 17:30:05 -07:00
Shawn Hoffman
1bb26dddb1
msbuild: only set /NODEFAULTLIB in one place
2017-06-07 17:30:05 -07:00
Shawn Hoffman
0594f7db02
msbuild/DolphinQt: remove extra /INCREMENTAL. Already enabled for Debug.
2017-06-07 17:30:05 -07:00
Shawn Hoffman
4371dd201f
msbuild: remove some remnants of Qt .ui/.qrc support
2017-06-07 17:30:05 -07:00
Léo Lam
0ddb6f9328
DiscIO: Use the correct offset shift for DOL exports
2017-06-07 22:41:00 +02:00
Léo Lam
0b71b60ef0
DiscIO: Fix formatting
2017-06-07 22:40:51 +02:00
Léo Lam
7b490d7cb0
HW/WiiSaveCrypted: Don't use new/delete
2017-06-07 12:49:24 +02:00
Leo Lam
3a83ebcc35
Merge pull request #5567 from lioncash/put_time
...
Movie: Use std::put_time in GetRTCDisplay()
2017-06-07 10:00:31 +02:00
Leo Lam
b3ca876956
Merge pull request #5564 from Starsam80/qt-title-database
...
Qt: Use TitleDatabase for better names in the game list
2017-06-07 09:58:11 +02:00
Leo Lam
6ee2227ba2
Merge pull request #5568 from lioncash/boot
...
Boot: Make BootExecutableReader hierarchy constructors explicit
2017-06-07 09:27:04 +02:00
Lioncash
d9bb2ce3af
DVDInterface: Amend lint formatting issues
2017-06-07 01:20:54 -04:00
Lioncash
b676edd80c
Core: include what you use
...
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
Lioncash
b0427731b3
ElfReader: default the destructor
2017-06-06 23:03:59 -04:00
Lioncash
1af1795695
ElfReader: Make constructors explicit
2017-06-06 23:03:59 -04:00
Lioncash
1876505707
DolReader: Make constructors explicit
2017-06-06 23:03:59 -04:00
Lioncash
927a4a16f8
Boot: Make BootExecutableReader constructors explicit
2017-06-06 22:54:25 -04:00
Starsam80
0c24162928
Qt: Use TitleDatabase for better names in the game list
2017-06-06 19:00:38 -06:00
Lioncash
acac2aeb9b
Movie: Use std::put_time in GetRTCDisplay()
...
No need for a fixed buffer.
2017-06-06 20:56:04 -04:00
Lioncash
e5260dee6b
ec_wii: Add missing <string> header
2017-06-06 20:37:43 -04:00
Lioncash
1ffc311bf3
Core: Fix vcxproj filter
...
This would cause the core project to fail to load.
2017-06-06 20:29:03 -04:00
shuffle2
03c1a1e392
Merge pull request #5510 from spycrab/qt_hotkeys
...
Qt: Implement hotkeys
2017-06-06 16:12:52 -07:00
Michael Maltese
60f4f499e8
OpenAL: hardcode that X-Fi supports surround
2017-06-06 15:23:55 -07:00
Michael Maltese
3bfebf396a
Fix OpenAL backend on macOS
...
OpenALStream was querying the backend for AL_EXT_float32 support (which
suceeds), but AL_FORMAT_STEREO_FLOAT32 was defined incorrectly.
Also changes OpenALStream to query for AL_EXT_MCFORMATS (multichannel
support) rather than hard-coding that it doesn't work on macOS.
2017-06-06 15:23:55 -07:00
Leo Lam
c07058a4ad
Don't show CPU and file related OSD messages on boot ( #5533 )
...
They have been broken since 2 years and no one has noticed,
which shows that no one really cares.
And it's arguable whether showing the CPU info is really useful.
2017-06-06 13:14:30 -07:00
shuffle2
bd489008ff
Merge pull request #5560 from shuffle2/gh5
...
Implement slider bar present on GHWT and GH5 controllers
2017-06-06 13:12:02 -07:00
Léo Lam
d50b4406a6
Boot: Restore symbol map loading
2017-06-06 16:40:00 +02:00
Léo Lam
9a3fb858f3
EXI: Always try to load IPL in GameCube mode
...
I don't see any reason to disable loading the IPL if bHLE_BS2 is
disabled. bHLE_BS2 should only cause us not to run the IPL, but not
skip loading it in the first place. More importantly, without always
loading it, this causes issues when trying to launch only the GC IPL
while having bHLE_BS2 = false.
2017-06-06 16:31:17 +02:00
Léo Lam
d0169fe8db
Boot: Re-use the disc volume
...
Saves some disc IO.
2017-06-06 16:31:16 +02:00
Léo Lam
6f6a18b1b0
Boot: Remove unneeded manual HLE function scan
...
Not needed. And the symbols would get overwritten by the symbol map
load that is just below.
2017-06-06 16:30:55 +02:00
Léo Lam
065261dbad
Boot: Unify the ELF and DOL code paths
...
They're essentially the same. To achieve this, this commit unifies
DolReader and ElfReader into a common interface for boot executable
readers, so the only remaining difference between ELF and DOL is
how which volume is inserted.
2017-06-06 16:30:54 +02:00
Léo Lam
22992ae41e
Boot: Clean up the boot code
...
* Move out boot parameters to a separate struct, which is not part
of SConfig/ConfigManager because there is no reason for it to
be there.
* Move out file name parsing and constructing the appropriate params
from paths to a separate function that does that, and only that.
* For every different boot type we support, add a proper struct with
only the required parameters, with descriptive names and use
std::variant to only store what we need.
* Clean up the bHLE_BS2 stuff which made no sense sometimes. Now
instead of using bHLE_BS2 for two different things, both for storing
the user config setting and as a runtime boot parameter,
we simply replace the Disc boot params with BootParameters::IPL.
* Const correctness so it's clear what can or cannot update the config.
* Drop unused parameters and unneeded checks.
* Make a few checks a lot more concise. (Looking at you, extension
checks for disc images.)
* Remove a mildly terrible workaround where we needed to pass an empty
string in order to boot the GC IPL without any game inserted.
(Not required anymore thanks to std::variant and std::optional.)
The motivation for this are multiple: cleaning up and being able to add
support for booting an installed NAND title. Without this change, it'd
be pretty much impossible to implement that.
Also, using std::visit with std::variant makes the compiler do
additional type checks: now we're guaranteed that the boot code will
handle all boot types and no invalid boot type will be possible.
2017-06-06 16:27:52 +02:00
Léo Lam
4d2fb9b9ba
Core: Replace BOOT_MIOS with an explicit "is MIOS" flag
...
I didn't know better back then, but the boot type is only supposed to
be used for the actual boot params. It shouldn't be used or changed
after booting.
2017-06-06 16:21:58 +02:00
spycrab
151ae38a56
Qt: Implement hotkeys (+ configuration)
2017-06-06 13:49:49 +02:00
Giancarlo Saraceni
ef84e19d55
Implement slider bar present on GHWT and GH5 controllers
2017-06-06 04:38:20 -07:00
Shawn Hoffman
a2358786dc
unittests: set user directory so SYSCONF does not get created at the drive root
2017-06-06 04:07:13 -07:00
shuffle2
096399d371
quick UB fix for 3c0bdd74
2017-06-06 03:49:01 -07:00
Leo Lam
c0495d1d11
Merge pull request #5559 from JosJuice/discio-rename
...
DiscIO: Remove C/I/S prefixes from class names
2017-06-06 12:47:33 +02:00
JosJuice
b2af07a7b7
DiscIO: Remove C/I/S prefixes from class names
...
These prefixes were inconsistent with the rest of Dolphin.
I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13
.
2017-06-06 12:31:59 +02:00
shuffle2
3c0bdd7473
Merge pull request #5558 from Tilka/fix_warnings
...
Interpreter: simplify srawx/srawix
2017-06-06 03:28:19 -07:00
shuffle2
3d6c278892
Merge pull request #5556 from shuffle2/jloehr-FixWiimoteReportSizeOnWindows
...
fix wiimote report size on windows
2017-06-06 03:26:14 -07:00
Tillmann Karras
7702771d61
Interpreter: simplify srawx/srawix
...
This also avoids -Wint-in-bool-context warnings in GCC 7.
2017-06-06 11:05:33 +01:00
shuffle2
1113b131f2
Merge pull request #5548 from JosJuice/volume-wii-unencrypted
...
Reimplement support for unencrypted Wii discs
2017-06-06 01:37:52 -07:00
Shawn Hoffman
2b0c600be5
windows: make IORead return number of valid bytes according to ReportID
2017-06-06 01:21:30 -07:00
JosJuice
d41bb375f1
Fix UB string comparisons
...
Also replacing auto& with const char* so that it's easier
to see that these strings aren't std::strings.
2017-06-06 09:02:29 +02:00
shuffle2
f018d69bff
Merge pull request #5553 from sepalani/strpopback
...
StringUtil: Add StringPopBackIf UnitTests
2017-06-05 22:06:38 -07:00
shuffle2
367fba8e06
Merge pull request #5199 from ligfx/default_gci_folder
...
Make EXIDEVICE_MEMORYCARDFOLDER the default for slot A
2017-06-05 21:56:04 -07:00
Sepalani
5fb26abb17
StringUtil: Add StringPopBackIf UnitTests
2017-06-06 05:50:45 +01:00
shuffle2
442e614021
Merge pull request #5536 from sepalani/getstring
...
HLE: Prevent GetStringVA to strip newlines
2017-06-05 21:31:09 -07:00
shuffle2
c8166951a0
Merge pull request #5418 from MerryMage/config-again-and-again
...
VideoConfig: Port to layered configuration system
2017-06-05 21:11:04 -07:00
Sepalani
f28f23af1d
StringUtil: StringPopBackIf added
2017-06-06 05:08:51 +01:00
shuffle2
192fec50b9
Merge pull request #5276 from ligfx/macosheadless
...
Add headless support on macOS
2017-06-05 20:49:02 -07:00
Sepalani
1209959012
HLE: Prevent GetStringVA to strip newlines
2017-06-06 04:31:01 +01:00
shuffle2
9a9b0eed72
Merge pull request #5552 from sepalani/hle-print-warnings
...
HLE_OS: Fix missing-declarations warnings
2017-06-05 20:29:31 -07:00
Sepalani
190f7cbc4f
HLE_OS: Fix missing-declarations warnings
2017-06-06 04:23:54 +01:00
shuffle2
2d941ad1e7
Merge pull request #5294 from sepalani/mem-view-ascii
...
MemoryView: Prevent non-ascii characters
2017-06-05 20:21:02 -07:00
shuffle2
2f73bc1735
Merge pull request #5293 from sepalani/mem-ascii
...
MemoryView: Fix empty string
2017-06-05 20:20:24 -07:00
shuffle2
0b00477c8a
Merge pull request #5311 from ligfx/mixerdpl2
...
AudioCommon: Move DPL2 decoding into Mixer
2017-06-05 20:09:18 -07:00
shuffle2
98eb192226
Merge pull request #5312 from ligfx/cleanupupdatedrawrectangle
...
RenderBase: clean up UpdateDrawRectangle
2017-06-05 20:03:56 -07:00
shuffle2
3fed604ad9
Merge pull request #4878 from ligfx/geckodownloadcodes
...
Move GeckoCodeDiag download logic to GeckoCodeConfig (and make it use Curl)
2017-06-05 20:00:30 -07:00
Michael Maltese
97e6ba773b
Move DSP::CodesToHeader to DSPTool
...
It's the only place it's used, and highly-specific to DSPTool's needs.
2017-06-05 19:28:40 -07:00
Michael Maltese
1765e54ab3
DSPCodeUtil: remove GenRandomCode
...
It was only used in a specific DSPTool test, which was removed because
non-deterministic tests aren't really useful.
2017-06-05 19:28:40 -07:00
Michael Maltese
80710984dc
DSPTool: extract tests into a DSPAssemblyTest
...
- Moves all test code from DSPTool into UnitTests/Core/DSPAssemblyTest.
- Converts test files (which could only be loaded if they were in the
shell's working directory, so basically never) into C++ values.
- Enables most of the commented-out tests.
- Removes non-deterministic random code test.
2017-06-05 19:28:40 -07:00
Michael Maltese
1580b6e627
DSPTool: make existing tests pass
...
Disassemble code without the additional text for humans, like the
current PC and opcode hex values, so that it can be reassembled.
I'm not updating any commented-out tests here.
2017-06-05 19:28:40 -07:00
shuffle2
b9b3b1dc19
Merge pull request #5347 from JosJuice/do-not-translate-button-names
...
Don't translate button names
2017-06-05 19:05:09 -07:00
shuffle2
bc8024ed21
Merge pull request #5549 from Starsam80/qt-title
...
Qt: Add the version to the window title
2017-06-05 18:49:50 -07:00
shuffle2
59bf761f87
Merge pull request #5551 from shuffle2/msbuild-qt-tidy
...
msbuild/qt: remove .qrc and .ui file support
2017-06-05 18:49:33 -07:00
shuffle2
d51be949a9
Merge pull request #5524 from ligfx/llegba
...
Update free DSP ROM and coefficients to support GBA ucode
2017-06-05 18:40:20 -07:00
shuffle2
cd78a7249f
Merge pull request #5408 from sepalani/assemble
...
CodeView: Assemble menu item added
2017-06-05 18:26:33 -07:00
shuffle2
065c3d78b7
Merge pull request #5486 from sepalani/hle-print
...
HLE: More printf logs added
2017-06-05 17:29:13 -07:00
shuffle2
497afbffab
Merge pull request #5488 from ligfx/qtreordercolumns
...
DolphinQt2: reorder list columns to match DolphinWX
2017-06-05 17:17:08 -07:00
shuffle2
10e54c8a8e
Merge pull request #5490 from ligfx/qtcontrollergridlayout
...
DolphinQt2: use GridLayout for ControllersWindow
2017-06-05 17:16:27 -07:00
shuffle2
b8f2e24dd5
Merge pull request #5546 from ligfx/qtdynamicthemes
...
DolphinQt2: live updates to UI theme
2017-06-05 17:15:17 -07:00
Michael Maltese
6b084e21dc
SettingsWindow: update icons when theme changes
2017-06-05 17:04:29 -07:00
Michael Maltese
d6db515165
SettingsWindow: cleanup includes
2017-06-05 17:04:29 -07:00
Michael Maltese
4be07b4eb2
ToolBar: update icons when theme changes
2017-06-05 17:04:29 -07:00
Michael Maltese
9bdbd02efc
GameListModel: update icons when theme changes
2017-06-05 17:04:29 -07:00
Michael Maltese
5a4ee87d6a
DolphinQt2: Settings: emit ThemeChanged signal
2017-06-05 17:04:29 -07:00
Michael Maltese
328333dfb6
RenderWidget: hide cursor
2017-06-05 16:49:28 -07:00
Michael Maltese
833e38ed56
Settings: emit HideCursorChanged()
2017-06-05 16:49:28 -07:00
Michael Maltese
14da8232f6
ConfigManager: remove bAutoHideCursor
...
It's not used, and sounds like the same thing as `HideCursor`?
2017-06-05 16:49:28 -07:00
Michael Maltese
688f5ed267
DolphinQt2: move Path from toolbar to a pane
2017-06-05 16:46:10 -07:00
Michael Maltese
b296393644
GameList: when list is empty, double-click to add path
...
Simpler than opening the Paths window, and how DolphinWX does it.
2017-06-05 16:46:10 -07:00
Michael Maltese
20f54fd9ed
DolphinQt2: add DoubleClickEventFilter
...
This is an easy way to get a `doubleClicked` signal for any type
of widget without creating custom classes for each one.
2017-06-05 16:46:10 -07:00
Michael Maltese
47e8cb97b4
DolphinQt2: move path signals from PathDialog to Settings
2017-06-05 16:46:10 -07:00