Michael M
737651f298
MsgHandler: small cleanup
2017-08-03 13:29:59 -07:00
Michael M
76459d88bf
QtUtils: add RunOnObject
2017-08-03 13:29:59 -07:00
Michael M
dde3471b62
WX: make Netplay use new-style config
2017-08-03 13:16:17 -07:00
Michael M
f8fea83e67
NetPlayLauncher: store window geometry in native wxConfig
2017-08-03 13:16:17 -07:00
Michael M
9867677211
WxUtils: add WxStrToUL
2017-08-03 13:16:17 -07:00
Michael M
7d509a7a94
Config/Section: support u16 values
2017-08-03 13:16:16 -07:00
Markus Wick
9649494f67
Merge pull request #5827 from JonnyH/WIP/fix-glMultiDrawElementsBaseVertex-invalid-OES-suffix
...
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
2017-08-03 18:45:32 +02:00
JosJuice
b29ca4f830
DolphinQt2: Make logging strings more like in DolphinWX
...
Like PR 5817 but for strings that were added after that PR was merged.
2017-08-03 16:43:50 +02:00
Stenzek
7f88711186
Vulkan: Add a driver bug for NV when MSAA is enabled
...
This causes the card to lock up when vkCmdClearAttachments is called,
when multisampling is enabled. Seems to be restricted to Maxwell and
newer?
2017-08-03 17:40:15 +10:00
Leo Lam
6a76ca7bb7
Merge pull request #5873 from mimimi085181/fix-real-wiimote
...
Properly handle g_wiimotes_mutex again for real wiimotes
2017-08-03 13:09:57 +08:00
mimimi085181
576bf32ab2
Properly handle g_wiimotes_mutex again for reconnect on button press for real wiimotes
...
Sorry, i overlooked the mutex in PR https://github.com/dolphin-emu/dolphin/pull/4949
This pr fixes issue 10434: https://bugs.dolphin-emu.org/issues/10434
2017-08-03 01:54:49 +02:00
JosJuice
5e3c98af1d
DiscIO: Add a Volume::ReadSwappedAndShifted function
...
This is a fairly common operation, so let's make a utility
function for it to cut down on code duplication.
2017-08-02 22:00:51 +02:00
Stenzek
fee08cf63d
Vulkan: Use optimal tiling for dummy texture
...
Fixes a crash on some NVIDIA drivers. Apparently calling
vkCmdClearColorImage on an image with linear tiling causes the
GPU/driver to lock up.
2017-08-02 21:33:10 +10:00
Stenzek
287859c5e1
GLInterface: Support surfaceless contexts on GLX
2017-08-02 20:12:28 +10:00
Stenzek
67997529b8
ProgramShaderCache: Create a FBO for shared contexts to draw into
...
This way it allows us to use surfaceless contexts in EGL/GLX. It also
ensures that the shared context shares a similar setup to the main
context's framebuffer, potentially reducing the number of variants a
driver needs to generate.
2017-08-02 20:12:28 +10:00
Stenzek
d0bcdc7f89
Merge pull request #5858 from stenzek/ubershader-6-bit-color
...
Ubershaders: Fix 6-bit color truncation not being applied
2017-08-02 20:10:34 +10:00
Stenzek
57f34d748b
D3DBase: Raise error if d3dcompiler_47.dll cannot be loaded
...
Previously we were falling back to an earlier version of the compiler.
The older version cannot compile our ubershaders without various
graphical issues.
2017-08-02 19:54:55 +10:00
Leo Lam
a8e4a3c915
Merge pull request #5759 from AwesomeMarioFan/master
...
Fix Time in Forecast Channel
2017-08-02 12:54:26 +08:00
Leo Lam
7565d97733
Merge pull request #4980 from FunctionalDragon/patch-2
...
send stop message before saving recording
2017-08-02 12:49:46 +08:00
Leo Lam
d3bb964d79
Merge pull request #5809 from HannesMann/master
...
Send rumble data to the adapter on a separate thread
2017-08-02 12:36:35 +08:00
FunctionalDragon
11cab1c68d
Send stop message before saving recording
...
When recording during netplay, the stop message was only sent after you
have chosen a filename for the replay, causing the other player(s)
to freeze for a few seconds. This takes care of the annoyance.
2017-08-02 12:29:49 +08:00
Leo Lam
d6e051c942
Merge pull request #5703 from ligfx/blockuserinputfilter
...
QtUtils: add BlockUserInputFilter
2017-08-02 12:13:56 +08:00
Leo Lam
4ddf4e9604
Merge pull request #5862 from JosJuice/bs2-cleanup
...
Emulated BS2 cleanup
2017-08-02 12:03:50 +08:00
Leo Lam
407bc7a544
Merge pull request #4949 from mimimi085181/netplay-reconnect-on-button-press
...
Wiimote Netplay: Sync button press for reconnect
2017-08-02 12:00:28 +08:00
Leo Lam
f208ed8924
Merge pull request #5861 from JosJuice/pr-5817-fixup
...
PR #5817 fixup
2017-08-02 11:57:14 +08:00
Leo Lam
02e80af104
Merge pull request #5863 from MerryMage/oop
...
Config: Missed a line in #5770
2017-08-02 11:56:31 +08:00
Leo Lam
c7602cce04
Merge pull request #5865 from JosJuice/noncopyable-move
...
DirectoryBlob: Use NonCopyable
2017-08-02 11:56:16 +08:00
Hannes Mann
56239d1ae1
Send rumble data to the adapter on a separate thread
2017-08-02 00:44:46 +02:00
JosJuice
2bcccd893a
DirectoryBlob: Remove unused DiscContent member
2017-08-01 22:01:34 +02:00
JosJuice
f7032f8deb
FileSystemGCWii: Don't add 0-size files to m_offset_file_info_cache
...
This is done in order to reduce the risk of files not being added
due to them having the same end offset as another file.
2017-08-01 21:58:25 +02:00
JosJuice
b155c46aca
DirectoryBlob: Fix reading beyond the end of the disc
...
There were two problems with this:
1. If the starting offset was beyond the end of the disc,
we would dereference an invalid iterator.
2. The data beyond the end of the disc was non-deterministic.
2017-08-01 21:58:18 +02:00
JosJuice
74ada98e84
DirectoryBlob: Remove redundant assert
...
DiscContent::Read contains an equivalent assertion.
2017-08-01 21:58:12 +02:00
JosJuice
6b0a60d2ee
DirectoryBlob: Don't add DiscContents with size 0
...
Having DiscContents with size 0 would mean that some DiscContents
might not get added to the std::set because of them comparing
identically to another DiscContent.
This replaces an older piece of code in WriteDirectory that ensures
that no two files have the same starting offset. (We now care about
the ending offset, not the starting offset. The new solution both
ensures that no two files have the same ending offset and that no
two files have the same starting offset.)
2017-08-01 21:58:04 +02:00
JosJuice
78fa98f559
DirectoryBlob: Change the return type of Add/CheckSizeAndAdd
...
Only return the information that isn't already known to the caller.
2017-08-01 21:57:54 +02:00
JosJuice
1b1a75ee3a
DirectoryBlob: Lookup DiscContents by offset + size instead of offset
...
This simplifies DiscContentContainer::Read.
2017-08-01 21:57:48 +02:00
JosJuice
d6260e02ce
DirectoryBlob: Replace std::set<DiscContent> with a new class
2017-08-01 21:57:24 +02:00
JosJuice
a7a8e467b6
DirectoryBlob: Use NonCopyable
2017-08-01 21:52:30 +02:00
mimimi085181
acde0b8b6c
Sync info about pressed wiimote button
2017-08-01 20:56:45 +02:00
JosJuice
b0ee8bd0a0
NonCopyable: Allow moving
...
NonCopyable is only supposed to prevent classes from being copied,
not make it hard for classes to be moveable.
2017-08-01 20:50:11 +02:00
mimimi085181
8b1e61b00a
Change wiimote reconnect on button press code
...
This moves the reconnect logic into a single function, so the netplay code doesn't need to be written 2 times
2017-08-01 20:41:05 +02:00
MerryMage
31ec3e2501
Config: Missed a line in #5770
2017-08-01 18:07:53 +01:00
Leo Lam
9b0fae3183
Merge pull request #5730 from spycrab/qt_logging
...
Qt: Implement logging window
2017-08-01 23:51:35 +08:00
JosJuice
363547a5b2
Boot: Make EmulatedBS2 require a volume
2017-08-01 16:05:53 +02:00
JosJuice
eb6f0a7258
Boot: Remove volume parameter from SetupWiiMemory
2017-08-01 16:05:20 +02:00
JosJuice
42d7dc2e08
Boot: Remove skip_app_loader parameter
2017-08-01 16:04:15 +02:00
JosJuice
fea75d045c
Boot: Split out some code to a new function SetupGCMemory
...
Just like the existing function SetupWiiMemory.
2017-08-01 16:03:55 +02:00
JosJuice
a345ab2515
PR 5817 fixup
2017-08-01 14:34:44 +02:00
Leo Lam
a8606f5d13
Merge pull request #5844 from leoetlino/video-analytics
...
Analytics: Report a few more video settings
2017-08-01 19:23:59 +08:00
JosJuice
b6c6a04f95
DirectoryBlob: Standardize the spelling of disc
...
DirectoryBlob was using disk in some places and disc in other places.
2017-08-01 11:36:40 +02:00
JosJuice
d0c322f6e6
DirectoryBlob: Don't silently set GC region to NTSC-J if bi2.bin is missing
...
We were already handling the Wii region in region.bin in this way.
2017-08-01 11:36:40 +02:00
JosJuice
3fd0d39a85
DirectoryBlob: Write partition headers properly
2017-08-01 11:36:40 +02:00
JosJuice
09832caf41
DolphinQt2: Fix memory leak in GameLoader::LoadGame
2017-08-01 11:36:40 +02:00
JosJuice
a6be1513bf
DolphinWX: Increment game list cache version
...
This is so that DirectoryBlobs won't look like valid discs
in old versions that don't support the DirectoryBlob format.
2017-08-01 11:36:40 +02:00
JosJuice
5fe3745750
Don't show "extra" files from DirectoryBlobs in game list
...
For instance, we don't want to show TGC files that might be
inside the /files/ directory of a GameCube DirectoryBlob,
and we don't want to show the /sys/main.dol files for extra
partitions of Wii DirectoryBlobs.
2017-08-01 11:36:40 +02:00
JosJuice
1ea44f425d
DirectoryBlob: Change ConvertUTF8NamesToSHIFTJIS's parameter to pointer
2017-08-01 11:36:40 +02:00
JosJuice
34fd08e7eb
DirectoryBlob: Support multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
955ab72b1d
DirectoryBlob: Remove m_root_directory from DirectoryBlob
2017-08-01 11:36:40 +02:00
JosJuice
e15b957d53
DirectoryBlob: Implement GetDataSize()
2017-08-01 11:36:40 +02:00
JosJuice
d84bee3ff4
DirectoryBlob: Prepare more for supporting multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
a3ee61e1a9
DirectoryBlob: Let DirectoryBlob force GC/Wii for partition
2017-08-01 11:36:40 +02:00
JosJuice
fb09874f79
DirectoryBlob: Reorder functions in .cpp file
...
They're now grouped by which class they belong to.
2017-08-01 11:36:40 +02:00
JosJuice
ba0ee3f54b
DirectoryBlob: Prepare for supporting multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
953ca9cee1
DirectoryBlob: Make PadToAddress and Write32 static
2017-08-01 11:36:40 +02:00
JosJuice
ab4762c4c2
DirectoryBlob: Split out setting BI2 to new function
2017-08-01 11:36:40 +02:00
JosJuice
2ea0a1a086
DirectoryBlob: Make some constants local
2017-08-01 11:36:40 +02:00
JosJuice
0d4ad0e39e
DirectoryBlob: Remove m_fst_name_offset
2017-08-01 11:36:40 +02:00
JosJuice
ef39b4da46
DirectoryBlob: Improve SetApploader
...
The code gets simpler by using IOFile instead of ReadFileToString.
Also, we now write -1 in all cases where loading fails.
2017-08-01 11:36:40 +02:00
JosJuice
31d8322c5a
DirectoryBlob: Don't use member variables for addresses
...
Now it's clearer that SetDOL depends on SetApploader
and BuildFST depends on SetDOL.
As a side note, we now load the DOL even if there's
no apploader. (I don't think it matters whether we
do it, but it was easier to implement this way.)
2017-08-01 11:36:40 +02:00
JosJuice
b28ec0b7ee
DirectoryBlob: Split out setting partition table to new function
2017-08-01 11:36:40 +02:00
JosJuice
c4879aa48d
DirectoryBlob: Split out setting TMD and ticket to new function
2017-08-01 11:36:40 +02:00
JosJuice
5a00bda490
DirectoryBlob: Move content emplacement out of the constructor
2017-08-01 11:36:40 +02:00
JosJuice
1258d18f21
DirectoryBlob: Restructure SetApploader
2017-08-01 11:36:40 +02:00
JosJuice
8747b1b6ab
DirectoryBlob: Support region.bin
2017-08-01 11:36:40 +02:00
JosJuice
c73f6b6c26
DirectoryBlob: Add ReadFileToVector function
2017-08-01 11:36:40 +02:00
JosJuice
8afa230787
DirectoryBlob: Rename DISKHEADERINFO_ADDRESS to BI2_ADDRESS
...
Because DISKHEADERINFO is too easy confuse with DISKHEADER.
Also adding BI2_SIZE and DISKHEADER_SIZE contants.
2017-08-01 11:36:40 +02:00
JosJuice
975b2b40fa
DirectoryBlob: Support bi2.bin
2017-08-01 11:36:40 +02:00
JosJuice
251828ccc0
Don't check validity twice when creating DirectoryBlob
2017-08-01 11:36:40 +02:00
JosJuice
a6bbf7e21b
DirectoryBlob: Don't keep DOL in memory
2017-08-01 11:36:40 +02:00
JosJuice
4cc8d3091c
DirectoryBlob: Require header file (boot.bin)
2017-08-01 11:36:40 +02:00
JosJuice
71578b468d
DirectoryBlob: Support tickets and TMDs
2017-08-01 11:36:40 +02:00
JosJuice
02610d4b28
DirectoryBlob: Use DISCIO instead of DVDINTERFACE for logging
2017-08-01 11:36:40 +02:00
JosJuice
3f9eec9ae4
DirectoryBlob: Use DiscContent for ReadNonPartition too
...
ReadPartition and ReadNonPartition are now unified into
ReadInternal, with a parameter controlling whether
the read is in a partition or not.
2017-08-01 11:36:40 +02:00
JosJuice
a0fa350ca6
DirectoryBlob: Use DiscContent for everything in ReadPartition
2017-08-01 11:36:40 +02:00
JosJuice
936ef5b9dd
DirectoryBlob: Let DiscContent be backed by memory instead of file
2017-08-01 11:36:40 +02:00
JosJuice
e1321b131d
DirectoryBlob: Create a DiscContent class for use in m_virtual_disc
2017-08-01 11:36:40 +02:00
JosJuice
b56214789e
DirectoryBlob: Make some functions private
2017-08-01 11:36:40 +02:00
JosJuice
b8d8c7370f
DirectoryBlob: Move constants to .cpp file
2017-08-01 11:36:40 +02:00
JosJuice
12cbeb2288
Remove DVD root and apploader path settings
2017-08-01 11:36:40 +02:00
JosJuice
37c09343d8
Turn VolumeDirectory into DirectoryBlob
...
This lets VolumeDirectory/DirectoryBlob skip implementing
various volume functions like GetGameID, GetBanner, etc.
It also lets us view extracted discs in the game list.
This ends up breaking the boot process for Wii
DirectoryBlobs due to workarounds being removed from the
boot process, but that will be fixed later by adding
proper DirectoryBlob support for things like TMDs.
We now expect the directories to be laid out in a certain
format (based on the format that WIT uses) instead of requiring
the user to set the DVD root and apploader path settings.
2017-08-01 11:36:40 +02:00
JosJuice
5f8935932d
Blob: Add interface for reading decrypted Wii data directly
...
This is useful for blob types that store Wii data unencrypted
(such as WIA and discs extracted to directories) so that
we don't have to waste CPU time encrypting in the blob code
just to decrypt right afterwards in the volume code.
2017-08-01 11:36:40 +02:00
JosJuice
878869488d
Boot: Consider DOL/ELF files as possible volumes
...
The old approach to detecting DOL/ELF files doesn't fit
with the new way of implementing extracted discs.
The game list is already doing it in a way that's similar
to the approach that this commit uses.
2017-08-01 11:36:40 +02:00
Leo Lam
2098ee1b15
Merge pull request #5859 from stenzek/android-ubershader-setting
...
Android: Fix ubershader hybrid setting
2017-08-01 17:22:25 +08:00
Leo Lam
764c93f932
Merge pull request #5683 from JosJuice/volume-wii-defer
...
VolumeWii: Defer loading tickets, TMDs and keys until when needed
2017-08-01 17:11:30 +08:00
Leo Lam
c4b2aa88ec
Merge pull request #5690 from ligfx/removecoreaudio
...
Remove CoreAudio audio backend
2017-08-01 16:42:01 +08:00
Leo Lam
4dcc931d97
Merge pull request #5855 from leoetlino/config-reload
...
Config: Reload game INI on title change
2017-08-01 13:40:05 +08:00
Stenzek
fe65b26d53
Merge pull request #5834 from stenzek/bc7
...
Support loading BC7 (BPTC) textures from DDS files
2017-08-01 12:39:19 +10:00
Stenzek
b93d118cef
Merge pull request #5857 from stenzek/drop-force-ubershader-settings
...
VideoConfig: Drop force vertex/pixel ubershader settings
2017-08-01 12:01:33 +10:00
Stenzek
63305e9173
HiresTextures: Support loading BC7 (BPTC) from DDS files
2017-08-01 11:59:38 +10:00
Stenzek
d18988f41e
GLExtensions: Add GL_ARB_texture_compression_bptc
2017-08-01 11:58:57 +10:00
Jocelyn Turcotte
200fb26148
Fix axis not working with Switch Pro controller on macOS
...
Each axis would appear as multiple elements with 0 min/max.
Filter the list of elements using the correct usage page like
done for buttons.
2017-08-01 01:58:30 +02:00
spycrab
84b44fa467
Qt: Implement logging widget (+ configuration)
2017-08-01 01:36:08 +02:00
spycrab
962d684ca2
Qt: Implement logging settings and signals
2017-08-01 01:36:08 +02:00
spycrab
5b733b8710
Qt: Add log menubar options
2017-08-01 01:36:08 +02:00
Léo Lam
4129aa2438
Config: Reload game INI on title change
...
Enables any code that uses OnionConfig to use the correct config for
the current title, not just the first title that was booted.
2017-07-31 22:44:32 +08:00
Leo Lam
131c97e87c
Merge pull request #5853 from leoetlino/onionconfig-fix
...
Config: Fix the loader Load() being called twice
2017-07-31 22:43:32 +08:00
Stenzek
134b0ca940
Android: Fix ubershader hybrid setting
2017-08-01 00:38:26 +10:00
Léo Lam
f5fd183571
Config: Fix the loader Load() being called twice
...
The Config::AddLoadLayer functions call Load on the layer
explicitly, but Load is already called in the constructor,
so they'd cause the loader's Load function to be called twice,
which is potentially expensive considering we have to read an INI
from the host filesystem.
This commit removes the Config::AddLoadLayer functions because
they don't appear to be necessary.
2017-07-31 22:32:05 +08:00
Stenzek
852e30bb8c
Ubershaders: Fix 6-bit color truncation not being applied
2017-08-01 00:01:09 +10:00
Stenzek
d62dcd397d
VideoConfig: Drop force vertex/pixel ubershader settings
...
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
Léo Lam
23ae756192
WX: Automatically pause the core for the JIT menu items
...
Removes the need to manually pause the core, select the menu item and
then unpause.
2017-07-31 17:31:26 +08:00
Léo Lam
f777c01c5d
WX/Debugger: Clean up event handling
...
Boot to Pause and Automatic Start are not JIT or CPU menu items,
so they are supposed to be handled by OnCPUMode.
2017-07-31 17:31:26 +08:00
Léo Lam
603762ec4d
Config: Fix returned game INI filenames for title IDs
...
Using the first letter or the 3 letters of the ID only makes sense
if the ID is an actual game ID (which has 6 characters).
2017-07-31 17:00:44 +08:00
Leo Lam
ed331918f0
Merge pull request #5851 from leoetlino/sysconf-fix
...
SysConf: Fix writing a new SYSCONF
2017-07-31 16:45:06 +08:00
Leo Lam
279c80b414
Merge pull request #5852 from leoetlino/wiimotes
...
Core: Reset s_wants_determinism on shutdown
2017-07-31 16:44:05 +08:00
Leo Lam
c11172497f
Merge pull request #5840 from leoetlino/wx-focus-fix
...
WX: Fix 'renderer has focus' returning false after start
2017-07-31 16:43:53 +08:00
Leo Lam
ca49de80c5
Merge pull request #5826 from JonnyH/WIP/add-option-to-prefer-GLES-when-using-EGL
...
Add "PreferGLES" option to EGL GLInterface
2017-07-31 16:43:38 +08:00
Léo Lam
311cfe9223
Core: Reset s_wants_determinism on shutdown
...
Without doing this, Core::WantsDeterminism() will keep returning true
and some GUI options may be disabled for no reason.
2017-07-31 15:38:39 +08:00
Léo Lam
b5e7c417ff
SysConf: Fix writing a new SYSCONF
...
On Windows, File::GetTempFilenameForAtomicWrite returns a path
somewhere in C:\Users\XXX\AppData\Local\Temp\{UUID here}\
in which all writes just fail.
Just use the SYSCONF path + ".tmp" for the temporary file name.
2017-07-31 15:18:43 +08:00
Lioncash
f6c21e002b
General: Remove unnecessary semicolons
2017-07-30 16:39:53 -04:00
Lioncash
b3c1bff34b
SysConf: Add explicit to single-argument constructor
...
Prevents implicit construction from FromWhichRoot values.
2017-07-30 15:35:16 -04:00
Léo Lam
072991fa31
Force ticket to have a correct key index for importing
...
This commit changes the import code to ensure the common key index
in the ticket is correct, as it's checked by IOS.
2017-07-31 00:50:19 +08:00
Léo Lam
a1f75f3370
Analytics: Report a few more video settings
...
* per-pixel lighting
* usershader mode
* fast depth
* vertex rounding
2017-07-30 21:50:33 +08:00
Tom Boshoven
fa683adaf5
SDHC documentation and cleanups.
...
Added some more comments.
Cleanups based on PR feedback.
Comment was unclear.
2017-07-30 13:06:38 +02:00
Léo Lam
f0aa454662
WX: Fix 'renderer has focus' returning false after start
...
The main window was already active, so the activate event was never
emitted, and m_renderer_has_focus was never changed.
2017-07-30 17:48:54 +08:00
Stenzek
b154edb4fb
VideoCommon: Move WM_USER_CREATE message to after backend initialization
...
Fixes the mouse cursor being left visible after ubershader
precompilation when the hide option is checked.
2017-07-30 17:43:59 +10:00
Stenzek
d54ca2a16a
PixelShaderGen: Don't include host early z support in UID
...
Disable it at shader generation time instead. This way the UIDs are
sharable.
2017-07-30 17:43:59 +10:00
Stenzek
e968c191ff
Ubershaders: Support per-pixel lighting
2017-07-30 17:43:59 +10:00
Stenzek
c8f31656cb
VideoBackends: Support a different number of threads for precompiling
...
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
Stenzek
e17efb1d8d
ShaderGen: Use consistent variable names for texture coordinates
2017-07-30 17:43:59 +10:00
Stenzek
25338c53e0
NativeVertexFormat: Drop unused virtual method SetupVertexPointers
2017-07-30 17:43:59 +10:00
Stenzek
33f6668544
Vulkan: Multithreaded creation of UID pipeline caches
...
Should give a decent speedup to boot time.
2017-07-30 17:43:59 +10:00
Stenzek
81b4ed2a81
Vulkan: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
4bf5625895
D3D: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
cd502990fa
OGL: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
901bf9c257
VideoConfig: Add config options for ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
745d541527
ShaderGen: Implement vertex ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
7d78cf0f6f
ShaderGen: Implement pixel ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
07591e7d5c
PixelShaderGen: Move header generation to seperate function
2017-07-30 17:43:59 +10:00
Stenzek
c783cd2aaf
GeometryShaderGen: Add UID enumeration functions
2017-07-30 17:43:59 +10:00
Stenzek
38c48ff72e
VertexLoaderManager: Add methods to generate "uber" vertex formats
...
These vertex formats enable all attributes. Inactive attributes are set
to offset=0, and the smallest type possible. This "optimization" stops
the NV compiler from generating variants of vertex shaders.
2017-07-30 17:43:59 +10:00
Stenzek
f48ef65bec
XFMemory: Convert several registers to bitfields
2017-07-30 17:43:59 +10:00
Scott Mansell
479abde9f4
BPMemory: Convert a number of unions to BitFields
2017-07-30 17:43:59 +10:00
Stenzek
0a9574eaa1
VideoCommon: Add AsyncShaderCompiler class implementation
2017-07-30 17:43:59 +10:00
Anthony
5bad2ee4a4
Merge pull request #5832 from stenzek/ubershader-prereq
...
Ubershader prerequisites
2017-07-30 00:42:36 -07:00
Stenzek
357c55442f
Vulkan: Clear decoding texture before usage
...
Fixes a validation layer warning.
2017-07-30 12:38:50 +10:00
Stenzek
447aeb8f77
EGLInterface: Create shared context with same attributes as main context
2017-07-30 12:38:50 +10:00
Stenzek
aff44684a4
Vulkan: Move shader/pipeline-related methods to ShaderCache
2017-07-30 12:38:49 +10:00
Stenzek
d23fd17e1a
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
...
Seems to produce faster ubershaders, at least.
2017-07-30 12:38:49 +10:00
Stenzek
416afa065c
BitField: Add StartBit() and NumBits() accessors
2017-07-30 12:38:49 +10:00
Stenzek
3e508fc0a2
GLInterface: Support shared contexts on AGL
2017-07-30 12:38:49 +10:00
Ryan Houdek
01ae02482c
GLInterface: Support shared contexts in GLX
2017-07-30 12:38:49 +10:00
Stenzek
621287e7eb
VideoCommon: Improve precision of FPS counter
2017-07-30 12:38:48 +10:00
Stenzek
1fccbd5be3
DolphinWX: Add a progress dialog host command
...
Allows feedback from backends to be communicated to the user when
long-running operation are performed (e.g. shader compilation).
2017-07-30 12:38:48 +10:00
Tom Boshoven
4cbb66637b
Add support for SDHC.
...
This add support for SD protocol 2 while staying compatible with protocol 1.01.
Most of this is quite hacky, but it seems to be working well.
The original implementation was quite confusing, so I didn't touch most of the stuff I did not understand.
2017-07-29 21:24:01 +02:00
spycrab
b3e93c5273
Qt: Overhaul menubar
2017-07-29 21:19:05 +02:00
Léo Lam
5a90a26080
IOS: Fix the error code for ES_DEVICE_ID_MISMATCH
2017-07-30 00:24:47 +08:00
ligfx
2f932273bb
LogManager: remove stand-alone semicolon
...
My bad!
2017-07-27 21:15:05 -07:00
Anthony
97ea97564f
Merge pull request #5833 from leoetlino/unused
...
Qt/Config: Remove unused members
2017-07-27 12:00:33 -07:00
Anthony
6fe33f844f
Merge pull request #5770 from ligfx/lognewconfig
...
LogManager: use layered config
2017-07-27 11:58:57 -07:00
Léo Lam
27924a1e2e
Qt/Config: Remove unused members
2017-07-27 17:26:28 +08:00
Leo Lam
7a51b0bcec
Merge pull request #5807 from leoetlino/connect-wiimote
...
Move the Wiimote connect code out of Host
2017-07-27 15:02:28 +08:00
Leo Lam
5c29ea54c5
Merge pull request #5817 from JosJuice/qt-strings-match-wx
...
Make DolphinQt2 strings more like DolphinWX strings
2017-07-27 15:01:56 +08:00
Leo Lam
b140a6eb04
Merge pull request #5830 from lioncash/prototypes
...
DolphinQt2: Remove unimplemented prototypes
2017-07-27 15:01:29 +08:00
Leo Lam
bf7c0c8024
Merge pull request #5831 from lioncash/include
...
DolphinQt2: Add missing include guards
2017-07-27 15:00:52 +08:00
Stenzek
a11bde7d16
Merge pull request #5679 from stenzek/no-host-state-in-uids
...
ShaderGen: Decouple host state from shader UIDs
2017-07-27 13:30:38 +10:00
Jonathan Hamilton
0fbd0cab6a
Add "PreferGLES" option to EGL GLInterface
...
This makes the EGL interface select OpenGL|ES contexts over "desktop"
OpenGL ones.
Possibly not useful for anyone outside my own debugging, but you never
know
2017-07-26 19:26:36 -07:00
Lioncash
fb42c3eddc
DolphinQt2: Add missing include guards
2017-07-26 16:31:58 -04:00
Lioncash
80b938b403
DolphinQt2: Remove unimplemented prototypes
...
Also removes an unnecessary includes in related files
2017-07-26 16:26:55 -04:00
Michael M
0437f4c486
IOWindow: use BlockUserInputFilter
2017-07-26 10:30:02 -07:00
Michael M
c624ef43f0
MappingButton: use BlockUserInputFilter
2017-07-26 10:30:02 -07:00
Michael M
7d438da911
QtUtils: Add BlockUserInputFilter
2017-07-26 10:30:01 -07:00
JosJuice
de6bd80f9c
DolphinQt2: Add i18n comments for Table/List
...
To avoid confusion with the verb "list" and the kind of table
that's a type of furniture.
2017-07-26 08:04:10 +02:00
JosJuice
b32fe5e41d
DolphinQt2: Remove the %1 from "%1 Banner Details"
...
It's not particularily useful to list the platform here,
and these kinds of messages that use words as parameters
are more likely to be mistranslated than the average string.
2017-07-26 08:04:10 +02:00
JosJuice
960525859b
Make DolphinWX strings more like DolphinQt2 strings
...
Same as the previous commit, except I'm copying strings
in the other direction because the DolphinWX variants
of these strings could use some improvement.
2017-07-26 08:04:10 +02:00
JosJuice
ce11b34e74
Make DolphinQt2 strings more like DolphinWX strings
...
Without this, we would be pushing a lot of extra strings onto
translators now that 55fb6ef
is merged.
2017-07-26 08:04:10 +02:00
JosJuice
fb80c5398a
DolphinWX: Use title case for hotkey group names
2017-07-26 08:00:17 +02:00
JosJuice
d7d88aeb7d
DolphinWX: Mark AF choices as translatable
...
For consistency with DolphinQt2.
2017-07-26 08:00:17 +02:00
JosJuice
8deba867e8
DolphinQt2: Remove ellipses from settings menu options
...
The action that these menu options perform is to open a
settings window, and that action is completed instantly,
so we shouldn't have ellipses.
2017-07-26 08:00:17 +02:00
Leo Lam
10db1bcbca
Merge pull request #5828 from ligfx/qtqueueonobject
...
Qt: add QueueOnObject
2017-07-26 12:56:08 +08:00
Leo Lam
be8324380d
Merge pull request #5786 from grimpunch/qt_viewoptions
...
Qt: Implement Show Platforms / Show Regions
2017-07-26 12:02:14 +08:00
Michael M
2c03cfacc2
Qt WiiUpdate: use QueueOnObject instead of Core::QueueHostJob
2017-07-25 17:44:07 -07:00
Michael M
734c9e1459
QtUtils: add QueueOnObject
2017-07-25 17:44:07 -07:00
Jonathan Hamilton
184e4d7b4a
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
...
The spec says it should have an EXT not OES suffix, as it's enabled as
an interaction with GL_EXT_multi_draw_arrays.
On some drivers GetProcAddress() returns NULL, which causes the
GLExtensions init to fail
This 'happened' to work if GetProcAddress() doesn't return NULL on missing
functions (as allowed in EGL) - as the function appears to never be called so
this would not have been noticed.
Mesa also (incorrectly?) exports the EXT version, so this would all
happen to work there, but appears to be contrary to the spec.
This invalid prefix even ended up in the upstream khronos registry, the
issue was reported here:
https://github.com/KhronosGroup/OpenGL-Registry/issues/81
2017-07-25 12:52:39 -07:00
JosJuice
8292d378ea
Merge pull request #5824 from lioncash/include-guard
...
ListProxyModel: Add missing include guard
2017-07-25 08:23:49 +02:00
Mat M
63f1f122fa
Merge pull request #5729 from ligfx/qtremoveoldsyntax
...
DolphinQt2: update old SLOT/SIGNAL syntax
2017-07-24 18:48:20 -05:00
Lioncash
7373474888
ListProxyModel: Add missing include guard
2017-07-24 19:46:25 -04:00
Christian Murphy
df35a26628
Qt: Implement Show Platforms / Show Regions
...
Porting the View config logic from WX to Qt.
Adds to the View Menu
2017-07-24 14:36:09 +01:00
Leo Lam
c27dd9dc20
Merge pull request #5785 from leoetlino/sysconf-fix
...
SysConf: Minor fixes
2017-07-24 14:03:33 +08:00
Leo Lam
a23a38da23
Merge pull request #5821 from JosJuice/qt-builtin-database-placement
...
DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
2017-07-24 11:06:20 +08:00
Michael Maltese
aafb61c187
DolphinQt2: Remove 'slots:' syntax from headers
...
With Qt5's new connection syntax, method pointers and functors are
connected directly. There's no need to declare slots.
2017-07-23 15:07:49 -07:00
Michael Maltese
f0fd38698e
DolphinQt2: use new connection syntax instead of old syntax
2017-07-23 15:07:49 -07:00
Michael Maltese
a365686956
GameList: fix Decompress slot typo
...
There is no such `DecompressISO` slot.
2017-07-23 15:07:49 -07:00
Leo Lam
7c70e77c74
Merge pull request #5818 from JosJuice/qt-localization-fixes
...
DolphinQt2: Fix localization issues
2017-07-23 22:04:17 +08:00
Leo Lam
96a8fb720d
Merge pull request #5819 from JosJuice/qt-analytics-message
...
DolphinQt2: Reword the analytics message
2017-07-23 22:02:02 +08:00
JosJuice
bb3bbb2887
DolphinQt2: Fix saving "Use Built-In Database of Game Names"
...
This one is my fault too
2017-07-23 15:29:43 +02:00
JosJuice
22fbd65d47
DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
...
When I added this setting, I didn't notice that the interface
pane in DolphinQt2 was split into two different sections.
2017-07-23 15:28:34 +02:00
JosJuice
34cacd4944
DolphinQt2: Reword the analytics message
...
"this" made sense when "Do you authorize..." was on the bottom,
but it doesn't make sense when it's at the top.
Also removing unnecessary newlines.
2017-07-23 15:18:12 +02:00
JosJuice
20172196f5
DolphinQt2: Let game properties show names for WADs
2017-07-23 15:11:18 +02:00
JosJuice
5938c58f99
DolphinQt2: Fix localization issues
2017-07-23 10:50:20 +02:00
Léo Lam
02f32a9b26
Handle BT.DINF properly
...
The section is 0x461 bytes long, not 0x460. The config data is also now
initialised to zero to avoid garbage being written to the SYSCONF.
Because our handling has been wrong forever, we discard older BT.DINF
section backups as using them would result in the section being the
wrong size / incomplete again.
2017-07-23 15:58:04 +08:00
Léo Lam
c759739ee9
SysConf: Handle array entries properly
...
It turns out that the last byte of array entries isn't unused (as we
thought); instead, it looks like it's actually part of the main data,
and the length stored next to the name is in fact the length minus one.
Getting it wrong and always storing a null byte in there won't affect
most entries (since the last byte is zeroed most of the time), except:
- IPL.NIK: the length is stored in the last byte, and it must be kept.
- BT.DINF: u8 unknown[0x45] should be another Bluetooth device entry.
- Possibly other unknown affected entries.
2017-07-23 15:57:29 +08:00
Léo Lam
1c33dfc787
Wiimote: Remove useless disconnections
...
ChangeWiimoteSource does not need to disconnect a Wiimote if it isn't
connected.
2017-07-23 15:52:15 +08:00
Léo Lam
ee868e2362
Move the Wiimote connect code out of Host
...
I don't know who thought it would be a good idea to put the Wiimote
connect code as part of the Host interface, and have that called
from both the UI code and the core. And then hack around it by having
"force connect" events whenever Host_ConnectWiimote is called
from the core...
2017-07-23 15:47:32 +08:00
Léo Lam
9357fa3514
Qt/AboutDialog: Fix the copyright string
2017-07-23 14:58:01 +08:00
Leo Lam
673210afea
Merge pull request #5814 from ligfx/macremovecfbundlelocalizations
...
Remove CFBundleLocalizations from Info.plist
2017-07-23 14:48:38 +08:00
Leo Lam
2c35983126
Merge pull request #5787 from ligfx/wxsortfallbacktotitle
...
Wx: make GameListCtrl fallback to sorting by title
2017-07-23 14:47:31 +08:00
Leo Lam
81abecbf46
Merge pull request #5739 from leoetlino/correct-key
...
IOS/ES: Use the correct import/export key (fix DLC)
2017-07-23 14:47:10 +08:00
Leo Lam
3cbf56a9ad
Merge pull request #5797 from ligfx/qtoptionsmenu
...
Qt: implement remainder of 'Options' menu
2017-07-23 14:46:48 +08:00
Leo Lam
55fb6efea3
Merge pull request #5812 from ligfx/gettexttizeqt
...
gettextize: extract arguments to Qt's `tr`
2017-07-23 14:35:44 +08:00
Leo Lam
a7c3d035c8
Merge pull request #5806 from Starsam80/qt-movable-headers
...
Qt: Allow the game list headers to be rearranged
2017-07-23 14:19:46 +08:00
Leo Lam
68e00b3ee6
Merge pull request #5808 from leoetlino/hci-array
...
BT: Use a std::array for all Bluetooth addresses
2017-07-23 14:19:24 +08:00
Michael Maltese
03f26ec5b3
Remove CFBundleLocalizations from Info.plist
...
It's only needed for apps that don't use .lproj folders.
2017-07-22 23:15:14 -07:00
Michael Maltese
4776fdc130
Qt/AboutDialog: remove literal UTF-8 characters
2017-07-22 22:35:25 -07:00
Lioncash
5859914da5
TraversalClient: Fix memory leaks in ReleaseTraversalClient()
...
release() relinquishes ownership of a pointer, it doesn't actually free
it.
2017-07-22 18:19:25 -04:00
Léo Lam
b6ae70ac7e
BT: Use a std::array for all Bluetooth addresses
...
BluetoothEmu had its own bdaddr_t type which is a old style C struct
and typedef, which makes comparisons and copies a bit ugly.
On the other hand, BTReal had its own btaddr_t type using std::array.
To make things very slightly nicer, this commit changes the Bluetooth
code to use a single type (std::array<u8, 6>) for all BT addresses.
2017-07-23 02:07:02 +08:00
Leo Lam
efd318df64
Merge pull request #5791 from leoetlino/wiimote-indicator
...
Remove Wii Remote connection status from status bar
2017-07-22 22:03:25 +08:00
Starsam80
d9a09cff14
Qt: Allow the game list headers to be rearranged
2017-07-22 00:38:09 -06:00
Léo Lam
fbcc6bbd57
IOS/ES: Use the correct key for imports/exports
...
Imports/exports don't always use the title key. Exporting a title and
importing it back uses the PRNG key (aka backup key handle or key #5 ),
not the title key (at all).
To make things even more fun, some versions of IOS have a bug that
causes it to use a zeroed key instead of the PRNG key. When Nintendo
decided to fix it, they added checks to keep using the zeroed key only
in affected titles to avoid making existing exports useless.
(Thanks to tueidj for drawing my attention to this.
I missed this edge case during the initial implementation.)
This commit implements these checks so we are using the correct key
in all of these cases.
We now also use IOSC for decryption/encryption since built-in key
handles are used. And we now reject any invalid common key index,
just like ES.
2017-07-21 17:42:59 +08:00
Léo Lam
e608d79f42
IOSC: Load the backup/PRNG key
2017-07-21 17:42:59 +08:00
Léo Lam
05016e8dca
EcWii: Add function to get the backup key
2017-07-21 17:42:59 +08:00
Léo Lam
5b09657a1f
ESFormats: Add entry for unknown title flag
2017-07-21 17:42:59 +08:00
Léo Lam
5cbbe2dda2
IOSC: Add support for importing decrypted keys directly
2017-07-21 17:42:59 +08:00
Léo Lam
5729ac0fc6
Core: Replace recursive locking from PauseAndLock
...
PauseAndLock cannot be called recursively anymore.
2017-07-21 16:45:59 +08:00
Léo Lam
f106a9637d
Replace balanced Core::PauseAndLock calls with RunAsCPUThread
...
Core::PauseAndLock requires all calls to it to be balanced, like this:
const bool was_unpaused = Core::PauseAndLock(true);
// do stuff on the CPU thread
Core::PauseAndLock(false, was_unpaused);
Aside from being a bit cumbersome, it turns out all callers really
don't need to know about was_unpaused at all. They just need to do
something on the CPU thread safely, including locking/unlocking.
So this commit replaces Core::PauseAndLock with a function that
makes both the purpose and the scope of what is being run on the
CPU thread visually clear. This makes it harder to accidentally run
something on the wrong thread, or forget the second call to
PauseAndLock to unpause, or forget that it needs to be passed
was_unpaused at the end.
We also don't need comments to indicate code X is being run on the
CPU thread anymore, as the function name makes it obvious.
2017-07-21 16:45:59 +08:00
JosJuice
1fc5830d0c
Remove region mismatch check for GCI folders
...
The region mismatch check that we used can give false positives.
Skipping the check won't lead to any harm - games will ignore
save files that have a non-matching fourth game ID character.
2017-07-20 15:24:07 +02:00
Stenzek
3ea9d86faa
ShaderGen: Pass host config to shader generation functions
...
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
Stenzek
d01b0bf60f
VideoCommon: Move shader cache filename generation to common
2017-07-20 17:46:59 +10:00
Stenzek
7c5bbafdd1
Vulkan: Don't save/load pipeline UID cache when shader cache is disabled
2017-07-20 17:46:59 +10:00
Stenzek
b380f292b4
Vulkan: Reload pipeline cache when relevant host config changes
2017-07-20 17:46:59 +10:00
Stenzek
a8343cc19a
Vulkan: Don't save pipeline cache if shader cache is disabled
...
We still create a pipeline cache object, since that speeds up driver's
creation of pipelines at runtime. However, we should not save it.
2017-07-20 17:46:59 +10:00
Stenzek
d9a3b29a07
Vulkan: Emit input/output locations for EFB poke geometry shader
2017-07-20 17:46:59 +10:00
Stenzek
228ddb8aba
D3D11: Reload shader cache when relevant config changes
2017-07-20 17:46:59 +10:00
Stenzek
62a901508b
OGL: Reload shader cache when relevant video config changes
2017-07-20 17:46:59 +10:00
Stenzek
d1381f5021
VideoConfig: Add host config union
...
Contains all host state that can affect shadergen.
2017-07-20 17:46:59 +10:00
Stenzek
82c27182a8
ShaderGen: Remove host state from shader uids
2017-07-20 17:46:59 +10:00
Leo Lam
c207a1072d
Merge pull request #5795 from JosJuice/gc-region-detection
...
Improve GameCube region detection
2017-07-20 14:13:11 +08:00
Anthony
39e17ccc41
Merge pull request #5793 from spycrab/qt_fullscreen_fix
...
Qt: Fix missing window border after exiting fullscreen under Windows
2017-07-19 08:52:22 -07:00
Leo Lam
baf950c417
Merge pull request #5796 from JosJuice/findfileinfo-find
...
Use find_first_not_of in FileSystemGCWii::FindFileInfo
2017-07-19 21:52:13 +08:00
Michael Maltese
e1554c04a1
Qt: implement remainder of 'Options' menu
2017-07-16 18:23:59 -07:00
Michael Maltese
2b712bdbaa
ListTabWidget: disallow deselecting items
2017-07-16 18:23:59 -07:00
Michael Maltese
19dc580a4e
Qt: extract ListTabWidget from SettingsWindow
2017-07-16 18:23:59 -07:00
Starsam80
c6478cac2f
Qt: Shrink settings window and make widgets stretch
2017-07-16 14:50:52 -06:00
JosJuice
c83cac7cca
Fix the handling of NTSC-K for GCI folders
2017-07-16 16:31:12 +02:00
JosJuice
be8e93f472
Ensure that Volume::GetRegion doesn't return invalid enum values
2017-07-16 14:52:17 +02:00
JosJuice
db1c534b3e
Add warning comments to RegionSwitch and code that uses it
2017-07-16 14:49:28 +02:00
JosJuice
cd60810d9d
Improve Japanese check in TitleDatabase
...
We should check the language of a game rather than the region.
RegionSwitchGC counts W as NTSC-J, and W games aren't in Japanese.
2017-07-16 14:33:14 +02:00
JosJuice
c8b4645039
Detect Korean GC releases as Korean when possible
...
According to http://scanlines16.com/en/blog-3/retro-gaming/game-cube/gamecube-korean-master-list/ ,
Korean GC releases use the following country codes:
- E or W for games in English
- K for games in Korean
- Unknown value for games in Japanese (my guess is that they might
have made the discs bit-for-bit identical to Japanese releases
because the regions of these games are already set to NTSC-J)
As far as I know, the GC has no Taiwanese releases, which is what
the W country code is used for on the Wii. But I could be wrong.
A small note: The country_byte == 'K' check in the code isn't
actually necessary as long as RegionSwitchGC returns NTSC_J
for 'K', but I thought it would be better to not rely on that.
2017-07-16 14:30:41 +02:00
JosJuice
ebf0f64a01
Detect GC region based on the actual region value
...
The county code isn't 100% reliable for detecting the region.
For instance, some games released in Korea have the country
code E even though they're region-locked to NTSC-J consoles.
This commit makes the GC disc region detection match the Wii
disc region detection (apart from the region value being in
a different place on the disc).
2017-07-16 14:29:43 +02:00
JosJuice
fe10e8aa6c
Fix RegionSwitchGC for the value 'K'
...
Korean GameCube releases have their region set to NTSC-J.
2017-07-16 13:52:53 +02:00
JosJuice
c64d668c3c
Use find_first_not_of in FileSystemGCWii::FindFileInfo
2017-07-16 13:19:18 +02:00
spycrab
e3cf1e4f37
Qt: Fix missing window border after exiting fullscreen under Windows
2017-07-16 01:09:36 +02:00
Jules Blok
ba356f78d1
Merge pull request #5774 from Armada651/d3d-fs-fixes
...
D3DBase: Set the fullscreen state in Create()
2017-07-15 15:01:46 +02:00
Léo Lam
91f8283a1d
Remove Wii Remote connection status from status bar
...
Showing the Wii remote connection status leads to inconsistent UX,
because we don't do anything like that for GameCube controllers
or with Bluetooth passthrough.
It's also questionable how useful it is given that:
* it doesn't print the number of connected remotes, just that one
remote is connected, connecting or not connected, so the only info
it provides is actually wrong when using multiple remotes;
* this user-facing feature is actually broken in master and no one has
complained AFAIK, which means people don't really rely on it;
* the status bar isn't visible most of the time unless the user is
using render to main or deliberately keeping the main window's
status bar visible by moving the render window and they're not too
far away from their screen;
* emulated Wii remotes now reconnect on input, which means that there
is less of a need to actually know at all times whether a remote
is connected, since pressing any button will reconnect it and provide
immediate, visible feedback via OSD messages and the Wii remote
pointer appearing.
2017-07-15 13:01:56 +08:00
Andrew
3095f585dd
Hide mouse cursor after delay in DolphinWX
2017-07-14 22:28:52 -04:00
Michael Maltese
41917cb43c
Wx: make GameListCtrl fallback to sorting by title
...
Fixes an issue with game items moving around randomly when resorted.
2017-07-14 15:29:48 -07:00
Michael Maltese
becb1a744b
SI_DeviceGBA: if a client doesn't respond within 1s, disconnect them
...
Rather than returning 0 / not creating an expected SI interrupt. You can
test this by running VBA-M in a debugger and stopping it while it's
connected to Dolphin: on current master, Dolphin will freeze-up until it
gets a response. With this PR, Dolphin will gracefully disconnect the device, and reconnect if it starts responding again.
2017-07-14 13:57:17 -07:00
Michael Maltese
f004dfa92b
SI_DeviceGBA: use SI_ERROR_NO_RESPONSE when client isn't connected
...
Slight behavior change, but fills a gaping hole in the state logic.
2017-07-14 13:57:17 -07:00
Michael Maltese
8dee8e6494
SI_DeviceGBA: extract magic numbers SEND_MAX_SIZE, RECV_MAX_SIZE
2017-07-14 13:57:17 -07:00
Michael Maltese
05ab03a551
SI_DeviceGBA: make GBASockServer a member instead of parent
2017-07-14 13:57:17 -07:00
Michael Maltese
ff78327643
SI_DeviceGBA: remove duplication of GBASockServer destructor logic
2017-07-14 13:57:17 -07:00
Michael Maltese
e6cfc3a75b
SI_DeviceGBA: clean up GetTransferTime()
2017-07-14 13:57:17 -07:00
Michael Maltese
d30e0ea28e
GBASockServer: clean up Receive() return value
2017-07-14 13:57:16 -07:00
Michael Maltese
89ca32daa6
GBASockServer: cleanup GetNextSock and GetNextClock
2017-07-14 13:57:16 -07:00
Michael Maltese
751377256b
Move GBASockServer logging into SI_DeviceGBA
2017-07-14 13:57:16 -07:00
Michael Maltese
72946a40f6
SI_DeviceGBA: clarify request-response state machine
...
Inspired by "#5147: GBASockServer: remove m_device_number (fixes
warning)," trying to wrap my head around how this file works.
2017-07-14 13:57:16 -07:00
Leo Lam
bacc35d99e
Merge pull request #5733 from leoetlino/import-context
...
IOS/ES: Merge the title import and export contexts
2017-07-14 23:34:37 +08:00
Léo Lam
777d150f83
Movie: Get rid of the manual buffer management
...
Tracking a buffer's size manually and storing it under a name that
does not make it obvious it is related to the buffer is really... meh.
Also gets rid of the need to manually manage its capacity and
new/delete an array.
2017-07-14 16:15:05 +08:00
Léo Lam
1ba1b51606
IOS/ES: Rename context.title_import
...
This makes it obvious that the same context is used for both
title imports and exports.
2017-07-14 13:23:21 +08:00
Léo Lam
dc1707faa8
IOS/ES: Merge the title import and export contexts
...
This commit merges the import and export contexts into a single context
because this is what IOS does, which means we can only reproduce its
behaviour correctly if we use a single context for both operations.
The other reason is that having two separate and very similar structs
is not really a good idea.
While working on this commit, I was notified that our handling of
ImportTmd/ExportTitleInit is not correct. In particular, we always use
the title key for both importing and exporting, which is wrong. To make
this easier to fix in a follow-up PR, the context now also has a title
key field, just like ES. This also lets us avoid computing it every
single time in ImportContentDone.
2017-07-14 13:23:21 +08:00
Léo Lam
0dff8a3bde
IOS/ES: Separate title content functions from IPC handlers
...
Allows them to be reused easily. Still a bit too much duplicated code
in my opinion (OpenContent/SeekContent/ReadContent should just call
FS code), but this is a start.
2017-07-14 13:23:21 +08:00
Leo Lam
460b81ac06
Merge pull request #5778 from ligfx/fixinputbitmaps
...
DolphinWX: fix input bitmaps not working when background input is off
2017-07-14 13:08:13 +08:00
Leo Lam
d7efac6ed5
Merge pull request #5780 from spycrab/qt_header_save
...
Qt: Save sorting order
2017-07-14 13:05:41 +08:00
Michael Maltese
ebeac18472
DolphinQt2/Host: cleanup
2017-07-13 12:58:32 -07:00
Michael Maltese
8e55374662
RenderWidget: watch for activation/deactivation, not focus in/out
...
"Focus" refers mainly to keyboard focus. "Window focus" is exposed
through the window activation and deactivation events.
2017-07-13 12:58:32 -07:00
Michael Maltese
8d5fe1f1c4
RenderWidget: mark 'event' function as override
2017-07-13 12:58:32 -07:00
JosJuice
100b0a52d3
Merge pull request #5777 from JosJuice/unify-getgameinifilenames
...
Unify GetGameIniFilenames
2017-07-12 19:24:46 +02:00
spycrab
8ca6814673
Qt: Save sorting order
2017-07-12 18:25:54 +02:00
Michael Maltese
0019c34c73
DolphinWX: fix input bitmaps not working when background input is off
2017-07-12 00:12:07 -07:00
Anthony
ab5a5ee3ea
Merge pull request #5726 from mimimi085181/minimal-tmem-cache-emulation
...
Implement minimal emulation of TMEM caching
2017-07-11 22:49:19 -07:00
JosJuice
d4f5038571
Unify GetGameIniFilenames
...
This deduplicates code and fixes the new config system's lack of
1-char game ID INI support.
2017-07-11 13:10:11 +02:00
Leo Lam
1de9bf2cca
Merge pull request #5743 from spycrab/qt_fix_shutdown
...
Qt: Fix multiple emulation shutdown bugs
2017-07-11 09:13:07 +02:00
Leo Lam
ce4732dd96
Merge pull request #5776 from sepalani/kd-log
...
NetKDTime: Log IOCtl
2017-07-11 00:40:37 +02:00
Leo Lam
b6c3479bb4
Merge pull request #5720 from JosJuice/file-metadata
...
FileUtil: Redesign Exists/IsDirectory/GetSize
2017-07-11 00:28:34 +02:00
Leo Lam
12f6d0b56b
Merge pull request #5773 from JosJuice/builtin-titledatabase-optional
...
Make the built-in wiitdb files optional
2017-07-11 00:20:09 +02:00
Leo Lam
38e32c6324
Merge pull request #5775 from leoetlino/hardcoded-fs-usage
...
IOS/FS: Remove hardcoded FS usage data
2017-07-11 00:18:55 +02:00
Sepalani
b7ae49c4d2
NetKDTime: Log IOCtl
2017-07-10 23:14:26 +01:00
Léo Lam
1376484f76
IOS/FS: Remove hardcoded FS usage data
...
I think I do not need to explain why hardcoding space usage for two
random directories when we can calculate it and when IOS doesn't
actually do that is wrong.
2017-07-10 23:08:25 +02:00
Jules Blok
3fc9a48da0
D3DBase: Use the swapchain discard mode when possible.
2017-07-10 14:25:28 +02:00
Jules Blok
65495a1297
D3D: Resize the swapchain when the fullscreen state is changed
2017-07-10 14:24:11 +02:00
Jules Blok
07c5dcd739
D3DBase: Set the fullscreen state in Create()
2017-07-10 14:03:04 +02:00
JosJuice
1d7a57869a
Make the built-in wiitdb files optional
...
There are some cases where overriding the opening.bnr names
isn't desirable, such as when someone has several modded
versions of a game that differ in names but not game IDs.
2017-07-10 10:16:06 +02:00
spycrab
ebe169a218
Qt: Fix multiple emulation shutdown bugs
2017-07-10 08:16:51 +02:00
Michael Maltese
06f1761f9f
LogWindow: don't unconfigure logger on destruction
...
This was causing Dolphin to always save "WriteToWindow = False". Instead
of disabling logging to the window (a config value), tell LogManager
that there's no window to log to (a runtime state).
2017-07-09 18:50:55 -07:00
Michael Maltese
ff83b13344
LogConfigWindow: fix verbosity
2017-07-09 18:50:55 -07:00
mimimi085181
53663c00b9
Implement minimal emulation of TMEM caching
...
This is a remake of https://github.com/dolphin-emu/dolphin/pull/3749
Full credit goes to phire.
Old message:
"If none of the texture registers have changed and TMEM hasn't been invalidated or changed in other ways, we can blindly reuse the old texture cache entries without rehashing.
Not only does this fix the bloom effect in Spyro: A Hero's Tail (The game abused texture cache) but it will also provide speedups for other games which use the same texture over multiple draw calls, especially when safe texture cache is in use."
Changed the pr per phire's instructions to only return the current texture(s) if none of the texture registers were changed. If any texture register was changed, fall back to the default hashing and rebuilding textures from memory.
2017-07-10 01:49:27 +02:00
Michael Maltese
28d6c61e34
LogManager: use layered config
2017-07-09 16:28:54 -07:00
Michael Maltese
e6c4455e65
remove commented-out FileLogListener::GetName
2017-07-09 16:28:54 -07:00
Michael Maltese
8b54ac225b
Merge Core/Config/Config.h into Common/Config/Config.h
...
Allows code in Common to take advantage of the layered config logic.
2017-07-09 16:28:54 -07:00
Jules Blok
0f13c61daa
D3DBase: Only create a stereo swapchain when needed.
2017-07-10 01:24:43 +02:00
Jules Blok
77a318789a
D3DBase: Implement Windows 7 swapchain fallback.
2017-07-10 01:02:29 +02:00
Jules Blok
938939136e
D3DBase: Only use temporary mono when supported by the swapchain.
2017-07-10 01:02:05 +02:00
Tillmann Karras
31dd690ed1
Core: fix log category for startup message
2017-07-09 18:48:35 +01:00
Leo Lam
a621a1bc2f
Merge pull request #5755 from ligfx/qtglobalorganizationname
...
DolphinQt2: set QSettings parameters globally
2017-07-09 16:25:31 +02:00
Leo Lam
e6c1b04b69
Merge pull request #5764 from ligfx/cleanuplogmanager
...
LogManager: clean ups and encapsulate config file management
2017-07-09 16:18:49 +02:00
Leo Lam
eb726194ed
Merge pull request #5762 from spycrab/qt_disable_iwad
...
Qt: Fix "Install WAD" being enabled while emulation is running
2017-07-09 16:13:39 +02:00
spycrab
adf2cd4252
Qt: Fix "Install WAD" being enabled while emulation is running
2017-07-09 16:09:30 +02:00
Tilka
039e456d6f
Merge pull request #5761 from spycrab/qt_warning
...
Qt: Make the "In Development" warning less threatening
2017-07-09 14:49:29 +01:00
Pierre Bourdon
d6dd0e4687
Merge pull request #5766 from JosJuice/fst-u32
...
Fix reading FSTs for multi-disc games
2017-07-08 15:28:29 +02:00
JosJuice
edc7a4c895
Fix reading FSTs for multi-disc games
...
It's a wonder that this managed to work for any discs at all...
2017-07-08 15:17:05 +02:00
Leo Lam
d0fb1bc4bf
Merge pull request #5728 from Starsam80/remove-qt-whats-this
...
Qt: Don't show the Qt "What's this" button
2017-07-08 10:55:28 +02:00
Leo Lam
51bb10d371
Merge pull request #5757 from blubberdiblub/wx-fix-custom-rtc
...
Fix date and time handling for custom RTC in wxWidgets.
2017-07-08 10:53:05 +02:00
spycrab
63d401102b
Qt: Make the "In Development" warning less threatening
2017-07-08 10:47:31 +02:00
Michael Maltese
234ab6f759
DolphinQt2: set QSettings parameters globally
2017-07-07 17:08:00 -07:00
Michael Maltese
13721d35e7
DolphinWX: remove INI logic from LogConfigWindow
2017-07-07 16:44:38 -07:00
Michael Maltese
c9e8289e82
LogManager: add SaveSettings
2017-07-07 16:44:38 -07:00
Michael Maltese
8ff8dfcdf2
LogManager: make LogContainer a POD and don't allocate
2017-07-07 16:44:38 -07:00
Michael Maltese
18da6dee8e
LogManager: remove per-container listeners
2017-07-07 16:44:38 -07:00
Michael Maltese
546fa628fb
LogManager: remove per-container verbosities
2017-07-07 16:44:38 -07:00
Michael Maltese
26aa9f88a4
LogManager: clean up header
2017-07-07 16:44:38 -07:00
Niels Boehm
ee9fb47c53
Fix date and time handling for custom RTC in WX.
...
The actual problem was combining the values from the date and time
pickers incorrectly. The uninteresting parts of the returned wxDateTime
need to be ignored and the WX documentation says so for the time picker.
I also cleaned up the handling of both widgets a bit, removing redundant
member variables in the process, in order to not risk correctness.
2017-07-07 17:12:05 +02:00
Leo Lam
c941cd6aa9
Merge pull request #5753 from ZirconiumX/master
...
Explain what Yes/No means in an assert window
2017-07-07 16:56:21 +02:00
Leo Lam
ff9f271edc
Merge pull request #5756 from spycrab/qt_sysmenu
...
Qt: Implement "Load System Menu"
2017-07-07 16:51:53 +02:00
John Pansera
72c573f6dc
Fix Forecast Channel
2017-07-06 20:28:33 -04:00
spycrab
2cf0228ada
Qt: Implement sysmenu booting
2017-07-06 21:27:31 +02:00
spycrab
3a27d60937
Qt: Add "Load System Menu" option to menubar
2017-07-06 19:48:10 +02:00
Jules Blok
8476d0271d
PixelShaderGen: Add missing inputs.
...
This fixes a linkage warning in D3D because of mismatched inputs.
2017-07-05 22:43:39 +02:00
Jules Blok
b485329353
D3DBase: Set the monoscopic flag when we don't use stereoscopy.
2017-07-05 22:43:39 +02:00
Jules Blok
1f2d43c870
Vulkan: Implement Quad-Buffered stereoscopy support.
2017-07-05 22:43:39 +02:00
Jules Blok
f3508742ac
OGL: Support Quad-Buffered stereoscopy.
2017-07-05 22:43:39 +02:00
Jules Blok
2ab068d3f2
D3DBase: Always create a stereo swapchain.
2017-07-05 22:43:39 +02:00
Jules Blok
383645a4b1
VideoConfigDiag: Rename Quad-Buffer to HDMI 3D.
...
This 3D mode is often associated with the HDMI 1.4a standard,
so this name is more helpful to users with such a setup.
2017-07-05 22:43:39 +02:00
Jules Blok
179602e921
D3D: Add quad-buffer stereoscopy support.
2017-07-05 22:43:39 +02:00
Jules Blok
6863abb31d
D3DBase: Switch to a flip-model swap chain.
2017-07-05 22:43:39 +02:00
Jules Blok
c399e2bc40
D3DBase: Upgrade to DXGI 1.2.
...
This effectively drops for Vista and Windows 7 without the Platform Update in this backend.
2017-07-05 22:43:39 +02:00
Dan Ravensloft
982663c728
Explain what Yes/No means in an assert window
...
It's a bit confusing to get a yes/no dialogue box without any indication
of what yes or no will do in this situation, so add a short explanatory
sentence.
2017-07-05 20:00:52 +00:00
JosJuice
421a2c5776
Merge pull request #5750 from AwesomeMarioFan/master
...
IOS: Add IOS4v3 Constants
2017-07-05 21:01:31 +02:00
John Pansera
f7017b2992
IOS: Add IOS4v3 Constants
...
Fix indentation
2017-07-05 14:10:20 -04:00
Leo Lam
24f05f14f2
Merge pull request #5752 from leoetlino/to_string
...
Replace StringFromInt with std::to_string
2017-07-05 17:36:07 +02:00
Léo Lam
90f8265497
Replace StringFromInt with std::to_string
...
Updated version of #47 . Android should support to_string now that
we use a modern version of libc++ when building.
2017-07-05 13:49:33 +02:00
JosJuice
78217532e5
VolumeWii: Defer loading tickets, TMDs and keys until when needed
...
This should make building the game list cache a tiny bit
faster, since we won't have to read anything from
partitions other than the game partition.
2017-07-04 21:31:24 +02:00
JosJuice
2c7e93f3b8
Common: Add a Lazy type
2017-07-04 20:58:03 +02:00
JosJuice
93e9740683
Drop unnecessary check from FileSystemGCWii::FindFileInfo
...
If the current file_info is a file, the ranged for loop will
run 0 times, and we'll reach the last line of the function.
2017-07-04 20:40:32 +02:00
JosJuice
6a31d2598e
Support leading slashes in FileSystemGCWii::FindFileInfo
2017-07-04 20:40:08 +02:00
Leo Lam
60ee0b2913
Merge pull request #5745 from JosJuice/partition-map
...
VolumeWii: Change the format of partition maps
2017-07-04 19:31:21 +02:00
JosJuice
333b6d99d2
VolumeWii: Change the format of partition maps
...
Having a separate map for each type of data is a bit unnecessary.
2017-07-04 16:20:13 +02:00
Leo Lam
cf79ff2366
Merge pull request #5738 from spycrab/qt_fix_ampersand
...
Qt: Fix ampersands not displaying properly in mapping windows
2017-07-04 15:31:36 +02:00
spycrab
36fe1a5415
Qt: Fix ampersands not displaying properly in mapping windows
2017-07-04 15:26:10 +02:00
Leo Lam
e0b94b55b8
Merge pull request #5651 from JosJuice/new-disc-extraction
...
Use new format for disc extraction
2017-07-04 13:46:18 +02:00
Leo Lam
aa1d750f30
Merge pull request #5664 from ligfx/removesettings
...
DolphinQt2: replace Settings with SConfig where possible
2017-07-04 13:45:21 +02:00
Leo Lam
365892c61c
Merge pull request #5667 from ligfx/cleanupdspdisassembler
...
DSPDisassembler: various code cleanups
2017-07-04 13:43:45 +02:00
Leo Lam
5a41bfaf6f
Merge pull request #5740 from Starsam80/qt-size
...
Qt: Don't force a minimum size for the main window
2017-07-04 13:39:44 +02:00
Starsam80
4d56951d3b
Qt: Remove border from game list
2017-07-02 17:25:46 -06:00
Starsam80
3eac4b6c9d
Qt: Don't force a minimum size for the main window
2017-07-02 16:20:37 -06:00
Leo Lam
0f9ae6d361
Merge pull request #5731 from mimimi085181/terminate-background-input
...
Disable Background Input when Background Input is disabled
2017-07-01 16:49:15 +02:00
JosJuice
0588a76830
DolphinWX: Fix inconsistent region name for online system update
...
This was inconsistent with the other three regions
and with DolphinQt2.
2017-07-01 16:40:07 +02:00
mimimi085181
b6ada2b633
Disable Background Input when Background Input is disabled
...
Only remaining issue is that clicking on the titlebar of the window, to give it focus, is already interpreted as input. But clicking on the window in the task bar, or using alt tab works to get back, without causing an input event.
2017-06-30 16:17:29 +02:00
Michael Maltese
7dab92d8b5
DSPDisassembler: fail when buffer too large
2017-06-30 01:47:02 -07:00
Michael Maltese
1d0185d7d5
DSPDisassembler: remove unused base_addr parameter
2017-06-30 01:47:02 -07:00
Michael Maltese
2564823522
DSPDisassembler: cleanup disassembler text handling
2017-06-30 01:47:02 -07:00
Michael Maltese
0f98cd636b
DSPDisassembler: remove unused labels member from dspdisassembler
2017-06-30 01:47:02 -07:00
Michael Maltese
54ef5299bb
DSPDisassembler: remove UnkOps.txt write on destruction
2017-06-30 01:47:01 -07:00
Michael Maltese
391c7319f5
DSPDisassembler: get rid of double-pass and temp file
2017-06-30 01:47:01 -07:00
Starsam80
ed0ba7ef28
Qt: Don't show the Qt "What's this" button
2017-06-29 18:52:53 -06:00
Michael Maltese
d0fdb9f149
DolphinQt2: replace Settings with SConfig where possible
...
Changes:
- `ShowDevelopmentWarning` is now under the '[Interface]' group in
Dolphin.ini, with other interface-related settings. So, whoever uses
DolphinQt will have to edit that manually again. Sorry!
- Game search paths and the last file are now shared properly with
DolphinWX
- Qt-only preferences like "Preferred View: list/table" are now
stored using the platform's native settings storage, rather than in
UI.ini
2017-06-29 17:17:32 -07:00
Michael Maltese
21fa010bb6
Remove CoreAudio audio backend
...
Cubeb handles everything the CoreAudio backend can, plus supports DPL2.
2017-06-29 16:53:20 -07:00
Mat M
898bbffaa7
Merge pull request #5724 from JonnyH/WIP/fix-some-ODR-warnings
...
Fix some GCC ODR warnings
2017-06-29 18:48:47 -04:00
Jonathan Hamilton
e66e034419
Fix some GCC ODR warnings
...
struct GekkoOPTemplate was implemented differently in different
compilation units, which breaks the ODR and could end up causing issues
as symbols exported from one compilation unit could end up being used by
another even if they have different implementations.
This puts them in an anonymous namespace, restricting any generated
symbols to the single compilation unit.
2017-06-29 12:21:32 -07:00
JosJuice
5ca3aee00a
FileUtil: Add a class for Exists/IsDirectory/GetSize
...
Some code was calling more than one of these functions in a row
(in particular, FileUtil.cpp itself did it a lot...), which is
a waste since it's possible to call stat a single time and then
read all three values from the stat struct. This commit adds a
File::FileInfo class that calls stat once on construction and
then lets Exists/IsDirectory/GetSize be executed very quickly.
The performance improvement mostly matters for functions that
can be handling a lot of files, such as File::ScanDirectoryTree.
I've also done some cleanup in code that uses these functions.
For instance, some code had checks like !Exists() || !IsDirectory(),
which is functionally equivalent to !IsDirectory(), and some
code was using File::GetSize even though there was an IOFile
object that the code could call GetSize on.
2017-06-29 19:07:29 +02:00
Niels Boehm
68198d6c32
Make one log font monospaced for all platforms.
...
The MonoSpaceFont of the LogWindow was using a Windows native way to
specify a font name.
Now it's using wxFONTFAMILY_TELETYPE.
On Win32 it will additionally request the specific font name "Consolas",
so it doesn't use ugly "Courier New". I pilfered that specialization
from Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp.
2017-06-29 07:05:15 +02:00
JosJuice
a59edfe8cf
FilesystemPanel: Put partitions in separate folders when extracting all partitions
2017-06-28 22:25:27 +02:00
JosJuice
478c4fd1f3
FileSystemGCWii: Use DiscExtractor's FST offset/size functions
2017-06-28 22:25:09 +02:00
JosJuice
1b6506f4e8
DiscExtractor: Add support for more things to extract
2017-06-28 22:24:33 +02:00
JosJuice
94b18bfb07
FilesystemPanel: Replace Extract Apploader/DOL with Extract System Data
...
Because having one option for each thing to extract is
going to be way too many options once I add support for
more things to extract.
2017-06-28 22:23:10 +02:00
JosJuice
0b068d84d5
FilesystemPanel: Overhaul the right-click menu
2017-06-28 22:23:01 +02:00
JosJuice
2ca5f1dec8
FilesystemPanel: Handle root correctly in BuildFilePathFromSelection
...
This was unnecessary in the past but is necessary
for the next commit.
2017-06-28 22:22:50 +02:00
JosJuice
39ff203c1e
DiscExtractor: Don't create extra folders when extracting a folder
...
Before, if you extracted a directory like /map/Final/Release/,
Dolphin would create the nested folders map, Final and Release
in the output directory and put the files in Release instead of
just putting the files directly in the output directory.
2017-06-28 22:22:41 +02:00
JosJuice
6d51992648
Move ExtractDir from FilesystemPanel to DiscExtractor
2017-06-28 22:22:31 +02:00
JosJuice
5778e8bdba
FilesystemPanel: Refactor partition name stripping
2017-06-28 22:22:22 +02:00
JosJuice
baf3a3b188
DiscExtractor: Don't hardcode names in ExportApploader and ExportDOL
2017-06-28 22:22:13 +02:00
JosJuice
89c901780e
DiscScrubber: Deduplicate code for writing to file
2017-06-28 22:22:04 +02:00
JosJuice
1f31390b54
DiscExtractor: Improve error handling
2017-06-28 22:21:55 +02:00
JosJuice
a17272c146
DiscExtractor: Minor cleanup
2017-06-28 22:21:48 +02:00
JosJuice
d06b532150
DiscIO: Move parts of Filesystem to the new file DiscExtractor
2017-06-28 22:21:23 +02:00
JosJuice
23bb029250
DiscIO: Add convenience methods IsDisc and IsWii for Platform enum
2017-06-28 21:46:43 +02:00
spycrab
4d37190327
Make Visual Studio happy
2017-06-28 20:42:01 +02:00
spycrab
04bb6b3d59
Qt/GraphicsSettings: Implement hacks tab
2017-06-28 20:42:01 +02:00
spycrab
0b9f0d44e6
Qt/GraphicsSettings: Implement software rendering tab
2017-06-28 20:42:01 +02:00
spycrab
6598c23d0e
Qt/GraphicsSettings: Implement general tab
2017-06-28 20:42:01 +02:00
spycrab
e64a2d4e09
Qt/GraphicsSettings: Implement enhancements tab
2017-06-28 20:41:50 +02:00
spycrab
b6690b274b
Qt/GraphicsSettings: Implement advanced tab
2017-06-28 20:14:38 +02:00
spycrab
908e1e9aba
Qt: Implement graphics window and controls
2017-06-28 20:14:38 +02:00
spycrab
1b1ab3119a
Qt: Add Graphics option to tool bar
2017-06-28 20:13:37 +02:00
spycrab
7c97c14eba
UICommon: Move Wx Graphics Settings functions
2017-06-28 20:13:37 +02:00
Léo Lam
4dcfa5371a
IOS/ES: Don't open store in rw mode in WriteNewCertToStore
...
Causes different issues on different platforms.
r+b is broken on Windows for some reason.
a+b is broken on macOS.
2017-06-28 11:23:08 +02:00
Léo Lam
1a6b5ca36a
Qt: Add menu item to perform online update
2017-06-28 11:23:08 +02:00
Léo Lam
f06367febc
WX: Add menu item to perform online update
2017-06-28 11:22:10 +02:00
Léo Lam
42d217b9a8
WiiUtils: Add an online updater
...
While setting up a proper NAND for Wii emulation has become much easier
now that disc and online system updates work, they still require users
to have a recent disc game, certificates extracted from IOS or a NAND
dump for online updates to work and to really get all system titles.
This commit adds the ability to do an online update right from
Dolphin itself, which solves that usability issue.
2017-06-28 11:22:10 +02:00
Léo Lam
0c7b9570b4
Move WiiUtils to Core
...
Allows reusing the WAD import logic more easily, whereas UICommon
code can only be used from UICommon and UI.
And managing what's on the NAND is the Core's responsability, not UI.
2017-06-28 11:22:10 +02:00
Leo Lam
7454a20f4f
Merge pull request #5707 from leoetlino/content-table
...
IOS/ES: Fix content table handling
2017-06-28 10:42:59 +02:00
Leo Lam
72bde53f9f
Merge pull request #5713 from Tilka/pool_edge
...
GameSettings: enforce real XFB for Pool Edge
2017-06-28 10:29:43 +02:00
shuffle2
17fe293981
Merge pull request #5715 from JosJuice/non-ascii-dofilesearch
...
Fix DoFileSearch for non-ASCII paths on Windows
2017-06-28 01:01:43 -07:00
JosJuice
98b0d8a119
Fix DoFileSearch for non-ASCII extensions on Windows
...
We don't use non-ASCII extensions for anything right now,
but we might as well fix this.
2017-06-28 09:50:02 +02:00
JosJuice
6f98915c32
Fix DoFileSearch for non-ASCII paths on Windows
...
It didn't work when there were non-ASCII characters
in the directories argument, but it worked fine with
non-ASCII characters in names of found files and folders.
2017-06-28 09:48:28 +02:00
Tillmann Karras
ad51311dbf
Fix GCC warnings
2017-06-28 01:12:13 +01:00
Jules Blok
4a7b96c93a
FramebufferManager: Fix EFB layers being attached to the wrong FBO.
...
Fixes typo in commit 56fe938366
.
2017-06-27 23:42:42 +02:00
shuffle2
951f6400fb
Merge pull request #5706 from JosJuice/more-gamelist-speedup-followup
...
More follow-up for the gamelist speedup PR
2017-06-27 12:36:16 -07:00
JosJuice
7992c786b9
Fix references to CACHE_REVISION in DiscIO comments
...
The ISOFile.cpp one has been moved, and the GameFile.cpp one isn't
used for anything because DolphinQt2 doesn't support caching yet.
2017-06-27 21:32:14 +02:00
JosJuice
a6471234a2
FileSearch: Use strcasecmp in non-std code
...
Because why should only Windows get in on the FileSearch speedup fun?
(Not that this fixes the slowness of File::ScanDirectoryTree...)
2017-06-27 21:32:07 +02:00
JosJuice
caf6087766
GameListItem: Rename m_banner to m_volume_banner
...
I want to clarify that it isn't used for PNG banners.
2017-06-27 21:31:37 +02:00
JosJuice
89716025da
GameListItem: Reduce levels of indentation
2017-06-27 21:29:56 +02:00
shuffle2
0ea17dafd9
Merge pull request #5710 from leoetlino/more-wiiroot-fixes
...
Remove unnecessary WiiRoot inits/shutdowns
2017-06-27 12:05:38 -07:00
shuffle2
d19e1ed4bf
Merge pull request #5705 from JosJuice/strerror-r-version
...
Try to make sure that we have the XSI version of strerror_r
2017-06-27 11:49:26 -07:00
shuffle2
f1425a0c60
Merge pull request #5652 from spycrab/qt_audio
...
Qt/Settings: Implement Audio tab
2017-06-27 11:46:14 -07:00
shuffle2
9e1977e129
Merge pull request #5685 from spycrab/qt_dragndrop
...
Qt: Implement gamelist drag and drop
2017-06-27 11:44:06 -07:00
Léo Lam
ff83b93949
Remove unnecessary WiiRoot inits/shutdowns
...
* IOS: WiiRoot shutdown was moved to HW.
* Movie: Don't call UpdateWantDeterminism() if we're not running yet,
because this will automatically be done during the boot process.
Not doing this will result in two NANDs being created.
2017-06-27 20:43:39 +02:00
shuffle2
ffe4135d77
Merge pull request #5708 from leoetlino/once
...
Initialise WiiRoot once per emulation session
2017-06-27 11:41:34 -07:00
shuffle2
2579a7c03d
Merge pull request #5607 from leoetlino/logging-fix
...
Logging fixes
2017-06-27 11:40:26 -07:00
shuffle2
ce4d514542
Merge pull request #5631 from LAGonauta/openal-real-latency
...
Fixed latency setting and cleaned-up OpenAL backend
2017-06-27 11:31:16 -07:00
spycrab
ba3df3db05
Qt/Settings: Implement audio pane
2017-06-27 20:25:38 +02:00
spycrab
feb67a3953
Qt: Fix emulation not returning to its original state when aborting shutdown
2017-06-27 18:06:27 +02:00
spycrab
15243093c4
Qt: Implement missing settings
2017-06-27 17:32:43 +02:00
Léo Lam
f5ef060b21
Initialise WiiRoot once per emulation session
...
This removes unnecessary initialisations which would cause issues in
determinism mode.
2017-06-27 15:44:17 +02:00
Léo Lam
da5a7fcc63
IOS/ES: Fix content table handling
...
This is larger than I thought I would be, but unfortunately it's quite
hard to split fixes like this when the handling is wrong in tons of
different places.
The content table is limited in size. It can only hold 16 entries.
Three consequences:
* Since the table cannot grow indefinitely, instead of using a std::map
we use a std::array as we should.
* Remove a hack where the CFD was cleared back to 0 on IPC close (wtf?)
* The CFD now doesn't keep increasing to infinity. It's unknown if this
would fix anything at all, but some issues in the past were caused
by CFDs being excessively large.
Other minor changes:
* Simplify save state logic.
* Keep track of the UID like ES does. Not sure how useful this is, but
we can do this very easily so why not.
* Remove the guesswork and use the actual error codes.
* Add more error checking to make Dolphin less likely to crash.
Something that should be done in the future: deduplicate the filesystem
logic. Something that takes one line in the actual ES code takes
10+ lines in our implementation... while duplicating the FS logic...
This will likely harder to fix though, so I'm leaving that
for another time.
2017-06-27 15:37:00 +02:00
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