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
Michael Maltese
548522877a
DolphinQt2: make Settings a singleton
...
With this, we can get signals when properties change.
2017-06-05 16:46:10 -07:00
shuffle2
95ef785b1f
Merge pull request #5537 from sepalani/hle-print-addr
...
HLE: Improve HLE_GeneralDebugPrint detection
2017-06-05 15:06:55 -07:00
Shawn Hoffman
0db59c71f6
msbuild/qt: remove .qrc and .ui file support
2017-06-05 11:50:28 -07:00
Shawn Hoffman
ae3c8a4be9
msbuild: update to Qt5.9.0
2017-06-05 11:44:21 -07:00
Starsam80
e04480e5f5
Qt: Add the version to the window title
2017-06-05 12:36:30 -06:00
JosJuice
69f01bac39
Reimplement support for unencrypted Wii discs
...
You may want to read the PR #2047 comments before reading this.
Dolphin attempts to support an unencrypted type of Wii discs
that apparently is identified by a 4-byte integer at 0x60
being non-zero. I don't know what discs (if any) would be
using that format, so I haven't been able to test Dolphin's
support for it, but it has probably been broken for a while.
The old implementation is very short but also strange.
In CreateVolumeFromFilename, we read a 4-byte integer from
0x60, and if it's non-zero, we create a CVolumeGC object
instead of a CVolumeWiiCrypted object. This might seem like
it makes no sense, but it presumably worked in the past
because IsVolumeWiiDisc used to check the volume type by
reading the magic word for Wii straight from the disc,
meaning that CVolumeGC objects representing unencrypted Wii
discs would be treated as Wii discs by pretty much all of
Dolphin's code except for the volume implementation code.
(It wasn't possible to simply use CVolumeWiiCrypted, because
that class only handled encrypted discs, like the name says.)
However, that stopped working as intended because of ace0607
.
And furthermore, bb93336
made it even more broken by making
parts of Dolphin expect that data read from Wii discs needed
to be decrypted (rather than the volume implementation
implicitly deciding whether to decrypt when Read was called).
Disclaimer: Like I said before, I haven't been able to test
any of this because I don't have any discs that use this
unencrypted Wii disc format, so this is all theoretical.
Later, PR #2047 tried to remove Dolphin's support for
the unencrypted Wii disc format because seemingly no
discs used it, but the PR got closed without being merged.
At the end of that PR, I said that I would make a new PR
with a better implementation for the format after PR #2353
was merged. Now that PR #2353 is merged (two years later...)
and PR #5521 is merged, the new implementation was easy to
make, and here it is!
Untested.
2017-06-05 14:54:37 +02:00
JosJuice
c3fa0d6edf
DiscIO: Use std::optional in Volume and Blob
2017-06-05 13:26:51 +02:00
Leo Lam
e23cfc2965
Merge pull request #5543 from leoetlino/manual-reformat
...
Fix minor formatting issues
2017-06-05 12:14:22 +02:00
JosJuice
886cb26827
Merge pull request #5523 from dolphin-emu/revert-5448-master
...
Revert "GeckoCode: install code handler even if no codes are activated"
2017-06-05 09:02:30 +02:00
Léo Lam
d9fd056803
Fix minor formatting issues
...
These were not caught by the lint script while it was broken.
2017-06-05 02:32:19 +02:00
Starsam80
e1ea6805a7
Qt: Remove booting from the last path
2017-06-04 14:43:41 -06:00
Sepalani
ba5cb50afc
HLE: Improve HLE_GeneralDebugPrint detection
2017-06-04 20:53:14 +01:00
Léo Lam
2e06756f2d
Fix SetRunningGameMetadata not being called for GC titles
...
GC titles don't have a title ID, so this regression would cause
SetRunningGameMetadata to never be called for GC titles.
2017-06-04 18:27:52 +02:00
Leo Lam
4e584ec039
Merge pull request #5534 from JosJuice/dont-bind-no-filesystem
...
DolphinWX: Don't bind context menu when GC filesystem is invalid
2017-06-04 15:02:32 +02:00
Leo Lam
145483d9a2
Merge pull request #5529 from leoetlino/bios-ipl
...
WX: Replace 'BIOS' with 'IPL' and 'Main Menu' in user-facing strings
2017-06-04 15:01:49 +02:00
Leo Lam
bb203bee1f
Merge pull request #5532 from JosJuice/dont-show-fst-size
...
Don't show FST size in game properties
2017-06-04 14:50:59 +02:00
JosJuice
d664c454a4
DolphinWX: Don't bind context menu when GC filesystem is invalid
...
If this isn't done, it's possible to select Extract All Files
and make Dolphin dereference a nullptr m_filesystem.
2017-06-04 14:30:40 +02:00
JosJuice
2ce9281f77
Don't show FST size in game properties
...
Normal users don't care about it. In fact, people care so
little about it that the Wii implementation of it was broken
starting from when it was implemented (eb65601
) to 7 years
later (e0a47c1
), apparently without anyone reporting it.
2017-06-04 14:20:20 +02:00
Léo Lam
3daf7c3f8e
WX: Change GC IPL to GC "Main Menu"
...
That is the official term used by Nintendo.
2017-06-04 13:20:37 +02:00
Tilka
734d0ae07d
Merge pull request #5528 from shuffle2/msvc-defalign
...
msvc: use 8 byte struct member alignment instead of 16
2017-06-04 11:36:51 +01:00
Leo Lam
6065525887
Merge pull request #5521 from JosJuice/check-has-partitions
...
Check for existance of partitions instead of disc type when appropriate
2017-06-04 10:46:59 +02:00
Leo Lam
d90d3d7f3c
Merge pull request #5519 from JosJuice/titledatabase-japanese
...
TitleDatabase: Allow showing Japanese names for Japanese GC games
2017-06-04 10:31:45 +02:00
Léo Lam
94bb55cef0
WX: Replace 'BIOS' with 'IPL'
...
It's not really a BIOS.
2017-06-04 10:20:16 +02:00
Leo Lam
a33d48dd0d
Merge pull request #5526 from ligfx/fixqtc++17
...
CMake: make Qt work when using a manual "-std=c++##" flag
2017-06-04 10:10:54 +02:00
JosJuice
703858e217
Merge pull request #5522 from leoetlino/simpler-gettitleid
...
DiscIO: Use std::optional for GetTitleID instead of pointer
2017-06-04 08:57:36 +02:00
shuffle2
a2bd95a08e
Merge pull request #5432 from sepalani/fd-table
...
IOS/Network: Emulate socket fd table
2017-06-03 21:58:41 -07:00
Sepalani
140969000e
IOS/Network: Fix some error return values
2017-06-04 05:48:41 +01:00
Sepalani
3b217adc5e
IOS/Network: Use Wii's fd in logs rather than host's fd
2017-06-04 05:48:40 +01:00
Sepalani
55a59421d9
IOS/Network: Handle SO_ENETRESET
2017-06-04 05:48:38 +01:00
Sepalani
3b48e613e5
IOS/Network: Handle SO_ENOMEM
2017-06-04 05:48:36 +01:00
Sepalani
a3c4070d91
IOS/Network: Handle SO_EPROTOTYPE
2017-06-04 05:48:31 +01:00
Sepalani
b327fd8b2c
IOS/Network: Handle SO_EMFILE
2017-06-04 05:47:56 +01:00
Sepalani
ef20e85661
IOS/Network: Handle SO_EPROTONOSUPPORT
2017-06-04 05:47:48 +01:00
Sepalani
1c18dc48c7
IOS/Network: Handle SO_EAFNOSUPPORT
2017-06-04 05:44:48 +01:00
Sepalani
5a9e61997c
IOS/Network: Emulate socket fd table
2017-06-04 04:26:25 +01:00
Shawn Hoffman
c02eb27fd5
msvc: use 8 byte struct member alignment instead of 16
2017-06-03 18:37:36 -07:00
Shawn Hoffman
2a01945cf4
msbuild: remove /EHa for wxw, which was just an old warning workaround
2017-06-03 18:20:41 -07:00
Shawn Hoffman
7539259fb9
msbuild: EnableFiberSafeOptimizations is an opt. inhibitor; disable it.
2017-06-03 18:20:41 -07:00
Shawn Hoffman
43dbb635d5
msbuild: remove more meaningless stuff
2017-06-03 18:20:41 -07:00
Shawn Hoffman
4f0c2df8a1
msbuild: wxw does not need xxhash to build
2017-06-03 18:20:41 -07:00
Shawn Hoffman
09367c8c10
msbuild: remove more duplicate code
2017-06-03 18:20:41 -07:00
Shawn Hoffman
7431dd3dce
msbuild: make Externals inclusion methods uniform
2017-06-03 18:20:41 -07:00
Shawn Hoffman
a6c102ba5c
msbuild: remove extra zlib include from UICommon
2017-06-03 18:20:41 -07:00
Shawn Hoffman
9ea7031042
msvc: add /Zc:throwingNew
2017-06-03 18:20:41 -07:00
Shawn Hoffman
0d1324af50
msvc: use pretty compiler diagnostics
2017-06-03 18:20:41 -07:00
Shawn Hoffman
bf3022ef2b
msvc: bump the required _MSC_FULL_VER
2017-06-03 18:20:41 -07:00
Shawn Hoffman
a3caa14ade
remove duplicate code in msbuild files
2017-06-03 18:20:40 -07:00
Shawn Hoffman
7537f8b861
clarify a little in Base.props
2017-06-03 18:20:40 -07:00
Shawn Hoffman
397720a9fe
might as well update yet some more pointless version numbers..
2017-06-03 18:20:40 -07:00
Shawn Hoffman
c251311b02
DolphinQt: remove I_AM_BUILDACUS as the buildbot doesn't use it anymore
2017-06-03 18:20:40 -07:00
Shawn Hoffman
a4d23db041
Include utf8 BOM in sln file so shell displays a nice icon
2017-06-03 18:20:40 -07:00
Shawn Hoffman
ddae5058e9
msbuild: increment other version numbers to vs2017 equivalents
2017-06-03 18:20:39 -07:00
Shawn Hoffman
b116e05abe
[windows] Do not copy cpack_package_description.txt to output dir
2017-06-03 18:20:39 -07:00
Shawn Hoffman
fbf808e691
remove ProjectDependencies from sln file
2017-06-03 18:20:39 -07:00
Tilka
78c0e8c809
Merge pull request #5513 from leoetlino/dns-timeout
...
Analytics: Don't crash when a DNS resolve times out
2017-06-04 01:21:44 +01:00
Michael Maltese
c520a53b07
CMake: make Qt work when using a manual "-std=c++##" flag
...
Based on approach in https://gitlab.kitware.com/cmake/cmake/issues/16468
2017-06-03 17:02:54 -07:00