Commit graph

24207 commits

Author SHA1 Message Date
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
Sean Maas
6190b1c4e2 Android: Animate onscreen joystick
Invalidate more often, display nub as pressed when in use, and implement
basic nub bounds.
2017-05-14 15:29:47 -04: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
Markus Wick
247cdca9b9 Merge pull request #5398 from mahdihijazi/controls_states
Android: Add pressed state to the on-screen controllers
2017-05-14 20:45:12 +02:00
Mahdi Hijazi
216a7ceea8 Android: Add pressed state to the on-screen controllers
Now the buttons will be shown in different color to indicate a press event
2017-05-14 18:41:04 +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
Tilka
9944712f6e Merge pull request #5414 from MerryMage/config-fixups
Config: Minor fixups
2017-05-13 15:58:01 +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
Leo Lam
460459fb7d Merge pull request #5412 from JosJuice/small-boot-simplifications
Boot: Small simplifications and formatting cleanup
2017-05-13 12:55:58 +02:00
JosJuice
9e8293f5e3 Boot: Small simplifications and formatting cleanup 2017-05-13 12:13:33 +02:00
JosJuice
faae89861b Automatic translation resources sync with Transifex 2017-05-13 11:36:37 +02:00
Leo Lam
936a9089e9 Merge pull request #5410 from JosJuice/dol-boot-setupbat
Use console-appropriate SetupBAT when booting DOL files
2017-05-13 11:05:30 +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
JosJuice
cc59afe830 Merge pull request #5407 from spycrab/qt_fix_interface
Qt: Fix Interface Pane
2017-05-12 21:02:13 +02:00
spycrab
dd54f3c0c1 Qt: Fix Interface Pane 2017-05-12 20:56:00 +02:00
JosJuice
20f7a7a3e3 Boot: Read apploader trailer for Wii discs too
This was probably an oversight from back when the code
was duplicated between EmulatedBS2_GC and EmulatedBS2_Wii.
2017-05-12 18:49:00 +02:00
JosJuice
22c499aafe Boot: Deduplicate code by creating a RunApploader function 2017-05-12 18:00:17 +02:00