Commit graph

17872 commits

Author SHA1 Message Date
JosJuice
f4e8a01d16 Merge pull request #5431 from leoetlino/change-disc
DVDInterface: Fix a regression with changing discs
2017-05-15 23:57:51 +02:00
Leo Lam
8e38eca150 Merge pull request #5426 from spycrab/qt_c_refreshbutton
Qt: Implement Wiimote Refresh button
2017-05-15 19:51:49 +02:00
Léo Lam
c660dfcbd9 DVDInterface: Fix a regression with changing discs
We were not clearing s_disc_path_to_insert, which would cause disc
changes to be only possible once.
2017-05-15 19:20:29 +02:00
Leo Lam
d2d7247ebe Merge pull request #5430 from sepalani/connect-log
IOS/Network: Log IOCTL_SO_CONNECT return value
2017-05-15 18:12:56 +02:00
Sepalani
b323c8b34f IOS/Network: Log IOCTL_SO_CONNECT return value 2017-05-15 17:03:03 +01:00
spycrab
4bf9f5e835 Qt: Implement Wiimote Refresh button 2017-05-15 05:14:45 +02:00
Leo Lam
ed5e98c3cc Merge pull request #5419 from leoetlino/import-code-reuse
Reuse the IOS code for WAD installation
2017-05-14 23:35:43 +02:00
Leo Lam
072b24a3d2 Merge pull request #5425 from sepalani/get-interface-opt
IP/Top: Implement GetInterfaceOpt hardcoded cases
2017-05-14 23:27:53 +02:00
Sepalani
6ba8130e11 IP/Top: Implement GetInterfaceOpt hardcoded cases 2017-05-14 21:47:41 +01:00
JosJuice
651340826d Merge pull request #5424 from lioncash/override
MEGASignatureDB: Add missing override specifiers
2017-05-14 22:39:14 +02:00
Lioncash
198d686a41 MEGASignatureDB: Add missing override specifiers 2017-05-14 16:20:45 -04:00
JosJuice
486de022df Don't run EmulatedBS2_Wii with VolumeDirectory
VolumeDirectory doesn't support necessities like TMDs,
so thanks to 5.0-2172 (18968ab), EmulatedBS2_Wii crashes
when the inserted disc is a VolumeDirectory.
This commit fixes that.

This commit makes our DOL booting code very similar to our
ELF booting code. One exception is that the DOL booting
code still always calls SetupBAT. (Note that EmulatedBS2_GC
calls SetupBAT even if no disc is inserted.) I'm not sure
if there's a point to the difference, but I thought I'd
better avoid changing it so that I don't break anything.
2017-05-14 22:01:36 +02:00
Leo Lam
2fca1b925f Merge pull request #4241 from JosJuice/remove-getvolume
Remove DVDInterface::GetVolume
2017-05-14 21:46:28 +02:00
JosJuice
2a2db16087 DVDInterface: Remove GetVolume
For thread safety reasons, the currently inserted volume must
only be accessed by the DVD thread (or by the CPU thread if it
calls DVDThread::WaitUntilIdle() first). After this commit,
only DVDThread.cpp can access the volume, which prevents code in
other files from accessing the volume in a non-threadsafe way.
2017-05-14 21:11:46 +02:00
Léo Lam
aa3dc9a057 IOS/ES: Consider hidden channels/system menu as channels 2017-05-14 17:39:42 +02:00
Léo Lam
c8bffb0153 Reuse the IOS code for WAD installation
* Less code and logic duplication.

* Fixes a bug with the data dir not being created, steps being done in
  the wrong order.
2017-05-14 15:30:42 +02:00
Léo Lam
afcda22da9 DiscIO: Add GetContent() for reading content from WADs
Direct access to the WAD bytes is required to read contents with proper
padding data (since they can sometimes end up being outside of the
data app section). Allowing the whole buffer to be accessed directly
would be error prone, so this commit adds GetContent() to WiiWAD
for getting raw content data by index.
2017-05-14 15:30:42 +02:00
Léo Lam
6916a3d85b Hide non-channel WADs
These cannot be booted, so it is bad UX to show them in the UI as if
they were regular titles, and yet have different behaviour for them.

And technically, there is no reason to allow them to be used to boot
in the first place.

Another reason they should not be shown is that Dolphin fails
spectacularly with WADs that have a valid boot content index, but are
not PPC titles (e.g. IOS WADs). The only reliable way to avoid this
is to check for the title type and only show channels, just like
the Wii System Menu.
2017-05-14 15:30:42 +02:00
Léo Lam
2058f37596 IOS/ES: Implement ImportTitleCancel properly
Mistakenly used the wrong TMD to clean up the import.

The original TMD is the one that is supposed to be used when
cancelling an import, but I forgot it's in the /import directory after
starting an import.
2017-05-14 15:30:39 +02:00
Léo Lam
5587342ca1 IOS/ES: Expose title management ioctlvs
This exposes all ES title management ioctlvs to avoid duplicating IOS
code everywhere and to make it easier to reuse (since this way it's
not unnecessarily tied to the PPC IPC mechanism anymore) and unit test.

Some functions were also renamed for consistency with the other names,
*and* with official names.
2017-05-14 15:30:09 +02:00
Léo Lam
f8ffcb2483 IOS/ES: Remove unused struct 2017-05-14 15:30:08 +02:00
Leo Lam
ad27e90263 Merge pull request #5420 from JosJuice/elf-setupbat
Use SetupBAT in Boot_ELF
2017-05-14 15:29:27 +02:00
JosJuice
41b3b05cfe Use SetupBAT in Boot_ELF
Sigh...
2017-05-14 15:18:58 +02:00
JosJuice
5a55957741 Boot: Pass volume as argument to functions
Avoids using DVDInterface's global state in the boot process.
2017-05-14 13:29:47 +02:00
Leo Lam
690e61b997 Merge pull request #5417 from leoetlino/constructor
IOS: Fix AddCoreDevices being called twice
2017-05-13 23:20:22 +02:00
JosJuice
807e242d05 DVDInterface: Replace SetVolume functions
It's better to just let the calling code provide a volume
object instead of needing one SetVolume for each way of
creating a volume. This simplifies InsertDiscCallback and
is needed for the following commits.
2017-05-13 22:56:11 +02:00
Léo Lam
adf9218e74 IOS: Fix AddCoreDevices being called twice
Also make sure m_title_id is set as soon as possible.
2017-05-13 22:14:29 +02:00
shuffle2
0f504e7a84 Merge pull request #5416 from lcsondes/d3d12-build-fix
VS2017 build fix after upgrading project
2017-05-13 13:10:02 -07:00
shuffle2
67d640bd12 Merge pull request #5376 from ligfx/fixfourswordshle
[RFC] Tweaks to Zelda-HLE to allow multiple GBA connections
2017-05-13 13:06:02 -07:00
lcsondes
94be591606 VS2017 build fix after upgrading project 2017-05-13 20:34:27 +01:00
Tilka
327180daa7 Merge pull request #5415 from MerryMage/frame-toggle-dual-core
Frame: Remove unused member function OnToggleDualCore
2017-05-13 20:15:42 +01:00
MerryMage
c68c6d0f2d Frame: Remove unused member function OnToggleDualCore 2017-05-13 19:43:49 +01:00
Anthony
6cf0377ef8 Merge pull request #5386 from sepalani/ppc-analyst-target
PPCAnalyst: Fix annoyances
2017-05-13 09:03:34 -07:00
Tilka
d95b82abc3 Merge pull request #5413 from leoetlino/dsphle-fixes
DSPHLE: Typo fix
2017-05-13 15:59:15 +01:00
MerryMage
bd3e493695 Section: Fix Section::Get 2017-05-13 15:22:29 +01:00
MerryMage
af33ae0e02 Core: Move ConfigLoaders to a ConfigLoaders filter 2017-05-13 15:22:28 +01:00
MerryMage
dd9e622155 GameConfigLoader: Fix blank keys for variable sections 2017-05-13 15:22:26 +01:00
Léo Lam
df63638b4a DSPHLE: Fix a typo in the savestate code
https://github.com/dolphin-emu/dolphin/pull/5306#discussion_r112840565
2017-05-13 16:08:12 +02:00
JosJuice
9e8293f5e3 Boot: Small simplifications and formatting cleanup 2017-05-13 12:13:33 +02:00
JosJuice
42370e4b5b Use console-appropriate SetupBAT when booting DOL files 2017-05-13 09:24:06 +02:00
Matthew Parlane
fe71836127 Merge pull request #5409 from sepalani/vcxproj
Fix DolphinWX.vcxproj.filters
2017-05-13 14:27:38 +12:00
Tilka
f77fc55568 Merge pull request #5306 from leoetlino/dsphle-ptrs
DSPHLE: Use unique_ptr for ucodes
2017-05-13 03:25:54 +01:00
Sepalani
cc1f4c951f Fix DolphinWX.vcxproj.filters 2017-05-13 01:40:03 +01:00
Leo Lam
ea89e8566e Merge pull request #5391 from leoetlino/delete-title-content
IOS/ES: Implement DeleteTitleContent properly
2017-05-13 00:48:28 +02:00
Leo Lam
dae46fa3d2 Merge pull request #5385 from douglasjv/master
Fix for Emulator Issue #10267: Game list column sizes are being incorrectly calculated.
2017-05-13 00:41:16 +02:00
Leo Lam
a44fa16601 Merge pull request #5370 from Ryanel/qt-settings-general
Qt: Add General Pane to Settings
2017-05-13 00:37:31 +02:00
Léo Lam
bacf52384f IOS/ES: Implement DeleteTitleContent properly
Just like DeleteTitle, Using CNANDContentManager is overkill,
inefficient and useless. And it results in a few failures in
situations where a delete should just always work.

But here it gets bonus points, because it manages to actually use
the TMD for deleting contents, when IOS does none of that and just
deletes files ending with .app in the title content directory. :)
2017-05-13 00:34:58 +02:00
Léo Lam
12801fd722 IOS: Allow instances that are not tied to emulation
This enables constructing an IOS instance that is not tied to emulation
and that can be simply used for internal purposes (ES, FS).

NAND root initialisation was moved to IOS since we cannot rely on HW
doing that for us anymore, and technically the NAND is entirely managed
by IOS anyway.
2017-05-13 00:34:58 +02:00
Leo Lam
f4e115b322 Merge pull request #5406 from JosJuice/refactor-emulatedbs2
Boot: Refactor EmulatedBS2
2017-05-13 00:31:11 +02:00
Léo Lam
8a9075ac1d DSPHLE: Use unique_ptr for ucodes 2017-05-12 23:55:13 +02:00