Commit Graph

22388 Commits

Author SHA1 Message Date
Techjar b06b7e5686 NetPlay: Add full Wii save sync
This adds the ability to sync all Wii saves, instead of only the
selected game. Useful for cases like launching a game though GeckoOS.
2018-11-19 06:37:09 -05:00
Techjar f4eb4fab08 HW/WiiSave: Fix reversed condition in WriteFiles
This didn't make any sense, as it would only attempt to create the directory if it already existed, and would simply fail if it didn't exist.
2018-11-19 06:37:09 -05:00
Techjar 6730748309 NetPlay: Use chunked data transfer for save sync 2018-11-19 06:37:09 -05:00
Techjar d94922002b NetPlay: Implement chunked data transfer
This sends arbitrary packets in chunks to be reassembled at the other
end, allowing large data transfers to be speed-limited and interleaved
with other packets being sent. It also enables tracking the progress of
large data transfers.
2018-11-19 06:37:09 -05:00
Techjar 529796bd59 NetPlay: Remove PadMapping type
Its usage was inconsistent, confusing, and buggy, so I opted to just
remove it entirely. It has been replaced with PadIndex for the
appropriate instances (mainly networking), and inappropriate usages
(where it was really just a player ID) have been replaced with the
PlayerId type. The definition of "no mapping" has been changed from -1
to 0 to match the defintion of "no player", as -1 (255 unsigned) is
actually a valid player ID.

The bugs never manifested because it only occurs with a full lobby of
255 players, at which point the last player's ID collides with the "no
mapping" definition and some undefined behavior occurs. Nevertheless, I
thought it best to fix it anyways as the usage of PadMapping was
confusing.
2018-11-19 05:45:32 -05:00
Pierre Bourdon e6b2758ab4
Merge pull request #7477 from Zexaron/ext-minizip
Externals: Add a stripped down version of minizip
2018-11-17 22:23:02 +01:00
Léo Lam c56516502d
Merge pull request #7440 from JosJuice/wii-menu-1.0-region
Never return Unknown from SConfig::GetFallbackRegion
2018-11-17 21:18:38 +01:00
Pierre Bourdon 08f9df2461
Merge pull request #7574 from spycrab/updater_pb
Updater: Add total progressbar
2018-11-17 16:42:32 +01:00
spycrab 3cfa255c5a Updater: Add total progressbar 2018-11-17 16:37:53 +01:00
Techjar 94d7e7d78a Qt/NetPlayDialog: Add external IP to interface combo box
The interface address isn't particularly useful in most circumstances
(playing over internet), and we have a way to get the external IP now,
so displaying it in the dialog is useful.
2018-11-15 03:29:28 -05:00
Pierre Bourdon ef562ec2f1 Analytics: add simple framework for game quirks reporting
And use it for reporting games that rely on ICache emulation to some
degree. We know of a few but it would be interesting to get a more
exhaustive list from crowdsourcing.
2018-11-15 03:32:49 +01:00
Pierre Bourdon 6b7a1ca6d1
Merge pull request #7535 from UnclePunch/synccodes
Netplay: Sync AR and gecko codes with clients
2018-11-13 22:39:25 +01:00
Pierre Bourdon 41333fa971
Merge pull request #7564 from Techjar/netplay-sync-wii-shutdown
NetPlay: Sync power button event
2018-11-13 22:33:59 +01:00
Techjar ef89e4e70c NetPlay: Sync power button event
This fixes the deadlock on shutdown when Wii Remotes are in use.
2018-11-12 22:32:18 -05:00
Stenzek 502c4c0e87 TextureCache: Recompute overlapping XFB copy hashes after copying to RAM 2018-11-13 12:48:27 +10:00
Techjar caf2fc3c3e NetPlay: Sync Defer EFB Copies setting 2018-11-12 20:45:12 -05:00
Pierre Bourdon 97e3200f57
Merge pull request #7519 from stenzek/controller-window
Core: Switch controller interface to render surface on booting
2018-11-12 17:26:03 +01:00
Stenzek a0653a1a34 Vulkan: Fix incorrect fence being assigned to staging texture 2018-11-12 01:02:32 +10:00
Pierre Bourdon a9f7df5b15 SystemTimers: fix a 1-in-1000 crash happening in throttler performance 2018-11-10 20:50:17 +01:00
MerryMage df08a77812 Jit_LoadStore: Ra needs to be ReadWrite when writeback is required
This was an erronous change in 534db3b, Ra was previously loaded but was changed to not being loaded.
Why is loading necessary? Loading is necessary because when a memory exception occurs, the current
register values are flushed. This occurs before a new value is loaded into Ra, so the previous value
is required in Ra.
2018-11-10 10:57:15 +00:00
JosJuice 0e1cca54da
Merge pull request #7555 from Techjar/config-delcaration-unused
Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration
2018-11-09 08:07:21 +01:00
Pierre Bourdon 61b9ef33ab
Merge pull request #7492 from MerryMage/regcache2
JitRegCache: Refactor register cache
2018-11-09 04:45:47 +01:00
Techjar 4fd2a25253 Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration 2018-11-08 22:39:42 -05:00
Pierre Bourdon 162e34ad22
Merge pull request #7534 from Techjar/fix-netplay-gamelist-saving
NetPlay: Fix saving host game selection
2018-11-09 04:28:55 +01:00
Pierre Bourdon 541c5ee996
Merge pull request #7550 from JosJuice/widescreen-hack-suggested-ratio
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-09 04:28:31 +01:00
Pierre Bourdon e903d346ea
Merge pull request #7552 from stenzek/texture-cache-leak
TextureCache: Fix leaking TCacheEntry instances
2018-11-09 04:27:14 +01:00
spycrab 1595a9bdcd Updater: Show progress in taskbar 2018-11-08 11:54:56 +01:00
Stenzek 78056686fd TextureCache: Fix leaking TCacheEntry instances 2018-11-08 11:52:17 +10:00
JosJuice a42432cae4 RenderBase: Set m_aspect_wide on start
It doesn't feel great to let the value from a previous emulation session
linger around considering that the GC aspect ratio heuristic can use
the previous value of m_aspect_wide when calculating m_aspect_wide.
2018-11-07 19:01:45 +01:00
JosJuice b93b7ec419 Fix the widescreen hack for Wii games with 4:3 forced in game INI 2018-11-07 19:00:24 +01:00
Pierre Bourdon 16a618f413
Merge pull request #7548 from stenzek/graphics-window-crash
OGL: Fix crash when opening graphics window on another backend
2018-11-07 17:45:52 +01:00
Pierre Bourdon a77882468b
Merge pull request #7544 from DXGLdotinfo/master
Add supportedOS manifests for Windows 7, 8, 8.1, and 10 to DolphinQt …
2018-11-07 15:35:56 +01:00
Stenzek 0c0d66809d PixelShaderGen: Split bbox into seperate variables
The Metal shader compiler fails to compile the atomic instructions
when operating on individual components of a vector. Spltting it
into four variables shouldn't make any difference for other
platforms, as they are accessed independently.
2018-11-07 05:41:09 -08:00
Stenzek 673f1963a0 Vulkan: Support macOS via MoltenVK
The path to the MoltenVK library can be specified by the
LIBMOLTENVK_PATH environment variable, otherwise it assumes it is
located in the application bundle's Contents/MacOS directory.
2018-11-07 05:41:09 -08:00
Stenzek c7a2b1572b CMake: Build Vulkan backend on macOS 2018-11-07 05:12:20 -08:00
Stenzek 041b977523 Common: Use GCD semaphores on macOS
Unnamed semaphores are not supported.
2018-11-07 05:12:20 -08:00
Stenzek a1b9a9f519 DolphinQt: Add backend multithreading to graphics config 2018-11-07 05:12:20 -08:00
Stenzek 487ea5ab36 VideoBackend: Add a virtual PrepareWindow function
Executes backend-specific commands on the main thread.
2018-11-07 05:12:20 -08:00
Pierre Bourdon c52bdba28a
Merge pull request #7542 from Tilka/fifo_analyzer
FIFOAnalyzer: don't use misleading format strings
2018-11-07 13:26:01 +01:00
Stenzek 7efdd1070b OGL: Fix crash when opening graphics window on another backend 2018-11-07 21:20:12 +10:00
Techjar dfa4395ba0 Core/Config: Fix memcard path not being saved 2018-11-07 04:29:44 -05:00
Stenzek a45f977d26 Analytics: Add deferred EFB copies setting to graphics settings 2018-11-07 16:25:01 +10:00
Stenzek 66b6e72c5e Vulkan: Submit fewer command buffers in deferred EFB copies mode 2018-11-07 16:25:01 +10:00
Stenzek 8e2c063d62 TextureCache: Implement deferred/batched EFB copies 2018-11-07 16:25:01 +10:00
William 6d437b282a Add supportedOS manifests for Windows 7, 8, 8.1, and 10 to DolphinQt and Updater. Enables high contrast themes on Windows 8+. 2018-11-03 22:33:55 -04:00
Tillmann Karras 6714159660 FIFOAnalyzer: don't use misleading format strings 2018-11-03 14:37:22 +00:00
JosJuice 20b8c24847 Fix first DTK track not playing after booting with IPL
DVDLowAudioBufferConfig doesn't start a DTK stream, it just tells the
drive that the game is allowed to use DTK. At least if I'm not mistaken.
2018-11-01 21:06:11 +01:00
Vin Bertinelli 469f29350f Netplay: Sync codes
Adds a tickbox to the server's window to syncronize codes. Codes
are temporarily sent to each client and are used for the duration of the
session.

Saves the "sync codes" tickbox as per PR Netplay: Properly save hosting
settings #7483
2018-10-29 23:00:51 +01:00
Techjar 203ecb534d NetPlay: Fix saving host game selection 2018-10-29 17:01:30 -04:00
Pierre Bourdon 6bb31fc94c DolphinQt: tell analytics to reload settings on change 2018-10-29 05:07:47 +01:00
Stenzek 6392be61eb Host: Also call ControllerInterface::ChangeWindow when window changes
This should prevent us from trying to poll against destroyed native
windows.
2018-10-29 11:46:06 +10:00
Stenzek cb6ba59a44 Host: Don't call ChangeSurface when handle hasn't changed
This was causing a deadlock when switching to fullscreen in
render-to-main-window mode.
2018-10-29 11:46:06 +10:00
Stenzek 52828901ef Core: Switch controller interface to render widget on booting
Previously, the Qt frontend would initialize the controller
interface on starting, resulting in the cursor position being
relative to the main window, instead of the render window.
2018-10-29 11:46:06 +10:00
Stenzek a7f334dc2a ControllerInterface: Don't crash on non-X11 QPA 2018-10-29 11:46:06 +10:00
Pierre Bourdon 9095233d21
Merge pull request #7483 from Zexaron/netplay_save-host-settings
Netplay: Properly save hosting settings
2018-10-29 01:44:41 +01:00
Pierre Bourdon f1413dbbf6
Merge pull request #7501 from Techjar/class-memaccess-cleanup
VideoCommon: Clean up class-memaccess warnings
2018-10-28 23:59:51 +01:00
Pierre Bourdon 7094f225d4
Merge pull request #7515 from JosJuice/wcsftime
Use wcsftime instead of strftime on Windows to fix encoding errors
2018-10-28 23:58:17 +01:00
Pierre Bourdon 53a45e5c28
Merge pull request #7445 from Techjar/improve-sfmlhelper
Improve SFMLHelper
2018-10-28 23:53:59 +01:00
Pierre Bourdon 98987beb73
Merge pull request #7526 from Tilka/mo_logging
DolphinQt: reduce warnings about MO files
2018-10-28 23:52:22 +01:00
Pierre Bourdon 2071dea9b7
Merge pull request #7497 from stenzek/lazy-initialize
Qt/MainWindow: Lazy initialize child windows
2018-10-28 23:51:23 +01:00
MerryMage 342067abfa JitRegCache: Remove old interface 2018-10-28 17:57:46 +00:00
MerryMage 08c41090b2 JitRegCache: Add RegistersInUse 2018-10-28 17:57:46 +00:00
MerryMage 096392f295 JitRegCache: Add PreloadRegisters function 2018-10-28 17:57:46 +00:00
MerryMage 9f683f9bb1 BitSet: Add << operator 2018-10-28 17:57:46 +00:00
MerryMage e699b6b283 Jit: Remove OpArg variant of ComputeRC 2018-10-28 17:57:46 +00:00
MerryMage 7d7316c90f Jit_SystemRegisters: mffsx 2018-10-28 17:57:46 +00:00
MerryMage 62484141f2 Jit_SystemRegisters: mtfsfx 2018-10-28 17:57:46 +00:00
MerryMage 192f8ba6f1 Jit_Paired: ps_res 2018-10-28 17:57:46 +00:00
MerryMage 66d9349643 Jit_Paired: ps_rsqrte 2018-10-28 17:57:45 +00:00
MerryMage 3fc3a55a9a Jit_Paired: mergeXX 2018-10-28 17:57:45 +00:00
MerryMage cf5823c146 Jit_Paired: ps_muls 2018-10-28 17:57:45 +00:00
MerryMage 1550729688 Jit_Paired: ps_sum 2018-10-28 17:57:45 +00:00
MerryMage be8fec6244 Jit_Paired: ps_mr 2018-10-28 17:57:45 +00:00
MerryMage 96b86a9bc4 Jit_FloatingPoint: HandleNaNs 2018-10-28 17:57:45 +00:00
MerryMage 0a96da578e Jit_FloatingPoint: fresx 2018-10-28 17:57:45 +00:00
MerryMage e812a62879 Jit_FloatingPoint: frsqrtex 2018-10-28 17:57:45 +00:00
MerryMage 68bbd56c01 Jit_FloatingPoint: frspx 2018-10-28 17:57:45 +00:00
MerryMage cc77e2f3ef Jit_FloatingPoint: fctiwx 2018-10-28 17:57:45 +00:00
MerryMage 457327cbc4 Jit_FloatingPoint: FloatCompare 2018-10-28 17:57:45 +00:00
MerryMage 55c21a15a2 Jit_FloatingPoint: fmrx 2018-10-28 17:57:45 +00:00
MerryMage fecbf091e5 Jit_FloatingPoint: fselx 2018-10-28 17:57:45 +00:00
MerryMage d62ca40496 Jit_FloatingPoint: fsign 2018-10-28 17:57:45 +00:00
MerryMage 537eeb7ebf Jit_FloatingPoint: fmaddXX 2018-10-28 17:57:45 +00:00
MerryMage a26c9c4b74 Jit_FloatingPoint: fp_arith 2018-10-28 17:57:45 +00:00
MerryMage 2337e089bf Jit_SystemRegisters: mtspr 2018-10-28 17:57:45 +00:00
MerryMage d87436c57d Jit_LoadStorePaired: psq_lXX 2018-10-28 17:57:45 +00:00
MerryMage 0b29b5cb83 Jit_LoadStorePaired: psq_stXX 2018-10-28 17:57:45 +00:00
MerryMage 459f977483 Jit_LoadStoreFloating: stfiwx 2018-10-28 17:57:45 +00:00
MerryMage dcfe955087 Jit_LoadStoreFloating: stfXXX 2018-10-28 17:57:45 +00:00
MerryMage f564da7233 Jit_LoadStoreFloating: lfXXX 2018-10-28 17:57:45 +00:00
MerryMage 36790ad3ad Jit_SystemRegisters: mtcrf 2018-10-28 17:57:45 +00:00
MerryMage d8b2bf785a Jit_SystemRegisters: mfcr 2018-10-28 17:57:45 +00:00
MerryMage 6ff8f9e991 Jit_SystemRegisters: mfmsr 2018-10-28 17:57:45 +00:00
MerryMage 5fa6df8c1e Jit_SystemRegisters: mtmsr 2018-10-28 17:57:45 +00:00
MerryMage 1d867493d9 Jit_SystemRegisters: mfspr 2018-10-28 17:57:45 +00:00
MerryMage 9438ea0ef5 Jit_LoadStore: stmw 2018-10-28 17:57:45 +00:00
MerryMage 98cf0b3286 Jit_LoadStore: lmw 2018-10-28 17:57:45 +00:00
MerryMage c6b9712ac4 Jit_LoadStore: stXx 2018-10-28 17:57:44 +00:00
MerryMage 90cef22d57 Jit_LoadStore: stX 2018-10-28 17:57:44 +00:00
MerryMage 4a2efc8f5e Jit_LoadStore: dcbz 2018-10-28 17:57:44 +00:00
MerryMage 0e501e5c36 Jit_LoadStore: dcbx 2018-10-28 17:57:44 +00:00
MerryMage 534db3b2ed Jit_LoadStore: lXXx 2018-10-28 17:57:44 +00:00
MerryMage 00d65f7a69 Jit: memcheck 2018-10-28 17:57:44 +00:00
MerryMage c896d41c37 DoJit 2018-10-28 17:57:44 +00:00
MerryMage 4443b36326 Jit_Branch: bclrx 2018-10-28 17:57:44 +00:00
MerryMage 0cd85bbce7 Jit_Branch: bcctrx 2018-10-28 17:57:44 +00:00
MerryMage 453417ad8c Jit_Branch: bcx 2018-10-28 17:57:44 +00:00
MerryMage 256e234949 Jit_Integer: DoMergedBranchCondition 2018-10-28 17:57:44 +00:00
MerryMage 0d3393b306 Jit_Integer: rlwimix 2018-10-28 17:57:44 +00:00
MerryMage b866b5bdd9 Jit_Integer: reg_imm 2018-10-28 17:57:44 +00:00
MerryMage ace2ed27ac Jit_Integer: DoMergedBranchImmediate 2018-10-28 17:57:44 +00:00
MerryMage 88e5d0d8b1 Jit_Integer: cmpXX 2018-10-28 17:57:44 +00:00
MerryMage b256286690 Jit_Integer: boolX 2018-10-28 17:57:44 +00:00
MerryMage b7a4296bec Jit_Integer: extsXx 2018-10-28 17:57:44 +00:00
MerryMage c380764ed0 Jit_Integer: twX 2018-10-28 17:57:44 +00:00
MerryMage 5621907283 Jit_Integer: cntlzwx 2018-10-28 17:57:44 +00:00
MerryMage 31bd9b5cd0 Jit_Integer: srawix 2018-10-28 17:57:44 +00:00
MerryMage 817fddf734 Jit_Integer: srawx 2018-10-28 17:57:44 +00:00
MerryMage 32572dd639 Jit_Integer: slwx 2018-10-28 17:57:44 +00:00
MerryMage 22600b33ee Jit_Integer: srwx 2018-10-28 17:57:44 +00:00
MerryMage 4a97f31aa2 Jit_Integer: negx 2018-10-28 17:57:44 +00:00
MerryMage 42614ede16 Jit_Integer: rlwnmx 2018-10-28 17:57:44 +00:00
MerryMage d4e2acc9cd Jit_Integer: rlwinmx 2018-10-28 17:57:44 +00:00
MerryMage bde5df03a3 Jit_Integer: arithcx 2018-10-28 17:57:44 +00:00
MerryMage 6ce718b920 Jit_Integer: arithXex 2018-10-28 17:57:44 +00:00
MerryMage 9bf75a0f31 Jit_Integer: addx 2018-10-28 17:57:44 +00:00
MerryMage 50e7b97406 Jit_Integer: divwx 2018-10-28 17:57:44 +00:00
MerryMage f945457915 Jit_Integer: divwux 2018-10-28 17:57:44 +00:00
MerryMage 2652d4dfdb Jit_Integer: mulhwXx 2018-10-28 17:57:44 +00:00
MerryMage 24aadd933e Jit_Integer: mullwx 2018-10-28 17:57:44 +00:00
MerryMage 02deaab6ee Jit_Integer: mulli 2018-10-28 17:57:44 +00:00
MerryMage 497ac5789d Jit_Integer: subfx 2018-10-28 17:57:44 +00:00
MerryMage 64c29ab942 Jit_Integer: Port subfic to new register cache interface 2018-10-28 17:57:44 +00:00
MerryMage 33812319ac Jit: Add preg_t variant of ComputeRC 2018-10-28 17:57:44 +00:00
MerryMage 5e46c16e4f JitRegCache: Add IsZero to RCOpArg 2018-10-28 17:57:43 +00:00
MerryMage 2e955012b2 JitRegCache: Add BindOrImm 2018-10-28 17:57:43 +00:00
MerryMage 590ec866b0 JitRegCache: Add revertable binds 2018-10-28 17:57:43 +00:00
MerryMage 16f8b7413d JitRegCache: IsAllUnlocked 2018-10-28 17:57:43 +00:00
MerryMage 6c61d9a426 JitRegCache: RCForkGuard 2018-10-28 17:57:43 +00:00
MerryMage 367a0bb672 JitRegCache: Add RCOpArg::ExtractWithByteOffset 2018-10-28 17:57:43 +00:00
MerryMage ae1bd7a6b0 JitRegCache: New interface 2018-10-28 17:57:43 +00:00
MerryMage 6fef683e14 JitRegCache: Move files to subdirectory 2018-10-28 17:57:43 +00:00
MerryMage 448fc89e4c JitRegCache: Count locks/unlocks 2018-10-28 17:57:43 +00:00
MerryMage 2dce7e6e21 Common: Add variant utilities 2018-10-28 17:57:43 +00:00
Pierre Bourdon 98b0efb6de
Merge pull request #7499 from JosJuice/purge-game-list-cache
DolphinQt: Implement "Purge Game List Cache"
2018-10-28 17:00:04 +01:00
Tillmann Karras 13930f565a DolphinQt: reduce warnings about MO files 2018-10-28 11:45:59 +00:00
JosJuice 8baafcc523 Accurate region detection for NAND titles 2018-10-28 11:27:08 +01:00
Stenzek 7c4607a05a Vulkan: Add missing increment of draw call count 2018-10-28 11:32:26 +10:00
Pierre Bourdon 756a2fe14d
Merge pull request #7517 from delroth/analytics-perf
Report performance information through our analytics subsystem
2018-10-28 00:43:12 +02:00
Pierre Bourdon 83c3370c2a RenderBase: send performance sample at every end of frame
Not the best integration point, but couldn't think of something better.
This implementation has the benefit to be super simple.
2018-10-27 17:39:54 +02:00
Pierre Bourdon 6a891ea37c Core/Analytics: add support for performance sampling
Samples are pushed to the analytics module every frame but only sent
once every ~15min. We send data for 100 frames at a time.
2018-10-27 17:39:53 +02:00
Pierre Bourdon d98c0da41b Common/Analytics: add basic support for vector serialization
Only supports u32 for now since that's the only thing we need.
2018-10-27 17:16:58 +02:00
Pierre Bourdon 64e04eb38c SystemTimers: export performance index from the throttler callback 2018-10-27 15:14:59 +02:00
JosJuice 5718b870d1 Use wcsftime instead of strftime on Windows to fix encoding errors
Reported by https://forums.dolphin-emu.org/Thread-odd-codes-appear-in-save-load-state-when-chinese-language-is-used
2018-10-26 14:26:21 +02:00
JosJuice 34edcdd454 Never return Unknown from SConfig::GetFallbackRegion
This happens if Wii Menu 1.0 is installed.

Reported by https://forums.dolphin-emu.org/Thread-default-case-should-not-be-reached
2018-10-25 17:54:13 +02:00
JosJuice 8bbec31295 DolphinQt: Implement "Purge Game List Cache"
This is a missing feature from DolphinWX.
2018-10-25 08:29:54 +02:00
Mat M 74c49c961e
Merge pull request #7504 from JosJuice/game-id-partition-none
Fix issue 11422 (inconsistent game ID for some hacked games)
2018-10-24 21:15:10 -04:00
Pierre Bourdon eadb4a66a5 ThrottleCallback: use microseconds to represent realtime
Using milliseconds doesn't provide a lot of granularity, and we can use
all we can get for performance analysis.
2018-10-25 02:27:49 +02:00
Stenzek 8c84e27155 Core: Fix display being passed as surface to ControllerInterface 2018-10-24 15:24:10 +10:00
Stenzek 1e8cdc02d1 CMake: Fix DolphinNoGUI build 2018-10-24 14:50:23 +10:00
Stenzek 2c6d96433c GLContext: Try GL versions 3.2-4.6 when getting a context
GLX previously was only creating a 4.0 context.
2018-10-20 21:11:34 +10:00
Stenzek c95802afeb CMake: Make X11 and EGL optional 2018-10-20 21:11:34 +10:00
Stenzek 0559311f92 GLContext: Runtime selection of EGL/GLX on Linux 2018-10-20 21:11:34 +10:00
Stenzek 025e909773 GLContext: Use destructor instead of Shutdown() to cleanup
Also uses the Initialize() method to make the context current.
2018-10-20 21:11:34 +10:00
Stenzek 4b8d1c2b42 GLContext: Combine shared context initialization and creation 2018-10-20 21:11:34 +10:00
Stenzek dcdd02d646 GLContext: Remove global context pointer 2018-10-20 21:11:34 +10:00
Stenzek eb284b5d66 VideoBackends: Pass window system info from host on creation 2018-10-20 21:11:34 +10:00
Stenzek 9c57a98723 GLContext: Use host connection
This also removes the need for a sleeping event thread.
2018-10-20 21:11:34 +10:00
Stenzek 1d827a5223 Renderer: Pull dimensions from GLInterface/Swapchain 2018-10-20 21:11:34 +10:00
Stenzek a3961750a7 Drop Host_GetRenderSurface and pass display to backend 2018-10-20 21:11:34 +10:00
Stenzek 134d967be2 Refactoring and cleanup of GLInterface (now GLContext) 2018-10-20 21:11:34 +10:00
Stenzek 74b82bab3b GLInterface: Drop Haiku support 2018-10-20 21:11:33 +10:00
Tillmann Karras 97cc9894e4 Update to Visual Studio's default Windows SDK 2018-10-20 00:53:08 +01:00
Mat M 4d62037f88
Merge pull request #7505 from JosJuice/korean-country-code
DiscIO: Restore the Korean case in CountryCodeToCountry
2018-10-19 17:28:50 -04:00
JosJuice 338f3467e5 DiscIO: Restore the Korean case in CountryCodeToCountry
I must've goofed or something last time I changed this.
2018-10-19 18:45:59 +02:00
JosJuice 03d401127e Fix issue 11422 (inconsistent game ID for some hacked games)
Starting with PR 7411, the rest of Dolphin reads the game ID from
PARTITION_NONE, but SetRunningGameMetadata was still reading from
the game partition. https://bugs.dolphin-emu.org/issues/11422
2018-10-16 21:41:28 +02:00
Tilka cb576bf382
Merge pull request #7503 from MerryMage/signed_comparison
BTReal: Correct comparison of integers of different signs
2018-10-15 19:36:45 +01:00
MerryMage 688e8db904 BTReal: Correct comparison of integers of different signs 2018-10-15 19:30:58 +01:00
Anthony cffca7cbec
Merge pull request #7502 from JosJuice/functions-signature
Improve the "functions signature" string
2018-10-15 11:01:36 -07:00
JosJuice 4a07b9a0e1 Improve the "functions signature" string 2018-10-15 18:31:02 +02:00
Techjar 8560eecd49 VideoCommon: Clean up class-memaccess warnings 2018-10-14 23:05:47 -04:00
Z1ni d7640f5929 Qt/GameList: Cancel ISO compression when the user cancels the save dialog 2018-10-14 21:04:43 +03:00
Stenzek ea77899ddd Qt/MainWindow: Maintain pointer to hotkey window
Prevents multiple hotkey windows from being opened.
2018-10-14 22:24:31 +10:00
Stenzek 211a9bf6d2 Qt/MainWindow: Lazy initialize child windows 2018-10-14 21:46:59 +10:00
Tilka b5d855caf7
Merge pull request #7496 from stenzek/null-shader-cache
ShaderCache: Don't create or load shader cache with Null backend
2018-10-14 12:30:32 +01:00
Stenzek e3f475b30e NullBackend: Initialize vtx_decl in VertexFormat
This field was previously left uninitialized, which resulted in corrupted
UID caches being created.
2018-10-14 21:24:09 +10:00
Tilka 660fb3fca0
Merge pull request #7412 from AdmiralCurtiss/xfb-stitch-in-order
Stitch together overlapping XFB regions in order of XFB copy creation.
2018-10-14 12:00:41 +01:00
Stenzek c2fab7f016 ShaderCache: Don't create or load shader cache with Null backend 2018-10-14 20:03:57 +10:00
Tilka 64515d0840
Merge pull request #7216 from leoetlino/test
Fix BT passthrough by sending larger packets
2018-10-14 10:22:51 +01:00
Tilka 8d1e996f39
Merge pull request #7495 from JosJuice/wii-menu-1.0-region-3
Show 1.0U instead of 1.0 for Wii Menu 1.0
2018-10-14 09:49:26 +01:00
JosJuice 34c05e17dc Show 1.0U instead of 1.0 for Wii Menu 1.0
As suggested by https://github.com/dolphin-emu/dolphin/pull/7487#issuecomment-429528407
2018-10-14 09:47:47 +02:00
Tilka e18fbb9bd3
Merge pull request #7449 from amaiorano/fix-extensions-combo-update-on-reset-defaults
Fix extensions combo update on reset defaults
2018-10-14 02:22:54 +01:00
Tilka 9a1f259626
Merge pull request #7486 from amaiorano/fix-infinite-polling-for-usb-devices
Fix infinite polling for usb devices after the "add to whitelist" dia…
2018-10-14 01:13:35 +01:00
Tilka 1abb27909d
Merge pull request #7480 from sp00nd/master
Change gecko sorting back to manual
2018-10-14 01:07:51 +01:00
Tilka 2d0e217715
Merge pull request #7485 from amaiorano/double-click-to-add-usb-whitelist-device
Make double click on selected usb whitelist device add it
2018-10-14 01:02:50 +01:00
MerryMage 93ec976975 Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0 (Redux)
* BTR modifies its argument.
* Do not fallthrough.
2018-10-13 19:20:08 +01:00
Pierre Bourdon 2508f6c621
Revert "Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0" 2018-10-13 20:04:30 +02:00
Pierre Bourdon 2bdee9b80b
Merge pull request #7455 from spycrab/qt_tags
Qt/GameList: Implement tag system
2018-10-13 19:58:32 +02:00
MerryMage e7a65c31a8 Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0
BTR modifies its argument
2018-10-13 15:59:40 +01:00
Zexaron 550aa93ed0 NetPlay: Properly save Hosting GUI settings 2018-10-13 10:35:42 +02:00
Antonio Maiorano 3dec84a91b Fix infinite polling for usb devices after the "add to whitelist" dialog has been opened once
Problem is that USBDeviceAddToWhitelistDialog starts a timer once created to poll for devices every second. In Qt, closing a heap-allocated dialog doesn't delete it, so it keeps on polling. This fix is to allocate dialog on the stack, then use "exec" to run it modally without returning. Once closed, the stack instance will get destroyed, thus killing the timer.
2018-10-12 21:34:05 -04:00
MerryMage d60345f15e Jit_FloatingPoint: Make fp_tri_op a local lambda 2018-10-12 20:46:02 +01:00
Tilka 94f07e7fa9
Merge pull request #7472 from Z1ni/usb-dev-dialog-close
Qt/Settings: Add Cancel button to USB passthrough device dialog
2018-10-12 20:43:09 +01:00
Mat M bbb08eec98
Merge pull request #7487 from JosJuice/wii-menu-1.0-region-2
Treat Wii Menu 1.0 as NTSC-U
2018-10-12 14:45:17 -04:00
JosJuice 7643d6d2f9 Treat Wii Menu 1.0 as NTSC-U
See the comments of https://github.com/dolphin-emu/dolphin/pull/7440.
2018-10-12 17:13:40 +02:00
Mat M 57529bc455
Merge pull request #7438 from RolandMunsil/master
Fix issue where breakpoint type wasn't correct in debugger memory view.
2018-10-12 10:30:31 -04:00
Mat M ecd4897d43
Merge pull request #7437 from stenzek/graphics-options-race
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
Mat M b3cd6158fc
Merge pull request #7471 from JosJuice/country-region-switch
DiscIO: Improve RegionSwitch/CountrySwitch
2018-10-12 10:25:45 -04:00
JosJuice f834ef1dfe DiscIO: Rename RegionSwitch/CountrySwitch
Callers don't need to know that these functions are implemented
with a switch statement.
2018-10-12 12:32:22 +02:00
JosJuice 7fd1784b9a DiscIO: Add more RegionSwitch/CountrySwitch comments 2018-10-12 12:32:22 +02:00
JosJuice 7607dc3573 DiscIO: Fix CountrySwitch's 'M' comment (and clarify other VC comments) 2018-10-12 12:31:52 +02:00
Tilka f5bfcdda5a
Merge pull request #7473 from aldelaro5/fix-signature-export
Qt/debugger: restore previously lost symbols and signature features
2018-10-11 13:03:37 +01:00
Tilka b35e0fd456
Merge pull request #7451 from stenzek/gles-blit-scissor
OGL: Disable scissor test when calling glBlitFramebuffer()
2018-10-11 13:00:17 +01:00
Antonio Maiorano 3a8493cc59 Make double click on selected usb whitelist device add it 2018-10-09 20:34:32 -04:00
Tillmann Karras db54b903ef Zero-initialize CPU state and register view 2018-10-10 00:04:02 +01:00
Tillmann Karras dfe8305ae7 PowerPC: fix a cast warning 2018-10-10 00:03:54 +01:00
sp00nd 6cd53bf92d
Change gecko sorting back to manual
Gecko codes are a core foundation of most netplay sessions and most general modding cases. It has gone so far as to now have an ini for almost every game.

After the massive UI overhaul, the gecko code sorting defaults to Alphabetical with no option to change it. This removes the possibility for netplay builds to have important and necessary codes at the top for easy selecting, and removes the ability to sort massive code lists in categories.

This will also make the sorting consistent with AR codes, which are sorted manually.
2018-10-09 17:46:11 -05:00
Tilka 7cfba7397c
Merge pull request #7475 from aldelaro5/symbols-search-case-insensitive
Qt/debugger: make the symbols search case insensitive
2018-10-09 21:18:06 +01:00
Z1ni b27c688fdf Qt/Settings: Add Cancel button to USB passthrough device dialog 2018-10-09 15:28:40 +03:00
Pierre Bourdon 8e26d33133 Externals: Add a stripped down version of minizip. 2018-10-09 14:27:53 +02:00
Stenzek 2e905455b1 OGL: Disable scissor test when calling glBlitFramebuffer()
glBlitFramebuffer() does not bypass the scissor test, which meant that
part of texture copies (e.g. XFB) could have been clipped when running
under OpenGL ES, as glCopyImageSubData() is not supported.
2018-10-09 22:00:40 +10:00
Tilka 480972612c
Merge pull request #7474 from aldelaro5/fix-pc-icons-swap
Qt/debugger: reorder the PC toolbar icons to their correct buttons
2018-10-09 09:02:10 +01:00
Tilka 5b8e1e61e8
Merge pull request #7470 from Tilka/fifoplayer
FifoPlayer: reduce XF_REGS_SIZE to what we know
2018-10-09 08:56:48 +01:00
aldelaro5 68aff9c023
Qt/debugger: make the symbols search case insensitive 2018-10-08 21:17:33 -04:00
aldelaro5 9fd7da59b1
Qt/debugger: reorder the PC toolbar icons to their correct buttons 2018-10-08 21:10:18 -04:00
aldelaro5 3921d8a8be
Qt/debugger: restore previous symbols and signature features
They were mysteriously lost after the Qt migration.
2018-10-08 20:59:55 -04:00
Tillmann Karras 56fdcf5f00 VideoCommon: remove unnecessary floor()
floatindex is clamped to the range [0, 9]. For non-negative numbers
floor() is equivalent to trunc(). Truncation happens implicitly when
converting to uint, so the floor() is unnecessary.
2018-10-09 00:31:43 +01:00
Tilka 31594a8138
Merge pull request #7462 from aldelaro5/fix-signature-export
Qt/debugger: Accept empty prefix input
2018-10-09 00:30:19 +01:00
Tillmann Karras 79051a28c4 evdev: simplify code
No need to check write access if we call open() right after which checks
that anyway. Also only get the device name once.
2018-10-08 19:51:29 +01:00
JosJuice cab5e52d15 DiscIO: Fix the 'W', 'X', 'Y' and 'Z' country codes
These country codes have the unfortunate property that they are used
by Wii disc games in two different regions. We already correct for this
in VolumeGC::GetCountry and VolumeWii::GetCountry, so this commit
shouldn't really have any effect on how the game list behaves,
but it will be useful if we in the future would want to call
CountrySwitch directly without having extra code in the caller for
handling region weirdness.
2018-10-08 13:57:31 +02:00
JosJuice 504024ab46 DiscIO: Add the missing 'V' country code 2018-10-08 13:57:31 +02:00
JosJuice 57d05293fd DiscIO: Move the Korean GC mess out of VolumeGC 2018-10-08 13:56:13 +02:00
Tillmann Karras 9c7136453d FifoPlayer: reduce XF_REGS_SIZE to what we know
This avoids out-of-bounds warnings when replaying FIFO captures.

The value of XF_REGS_SIZE is written into the DFF header and we only
read the min of XF_REGS_SIZE and the header value, so this change is
backward compatible and doesn't break forward compatibility for old
Dolphin versions either.
2018-10-08 06:54:32 +01:00
Tillmann Karras b37886580b GekkoDisassembler: fix mtfsf yet again 2018-10-08 02:43:34 +01:00
Tillmann Karras 09385b9542 FIFOAnalyzer: print BP registers without X suffix 2018-10-08 02:00:25 +01:00
Tillmann Karras ec4c019a7b FIFOAnalyzer: fix printing of XF registers 2018-10-08 02:00:25 +01:00
Mat M 74fd95c4c4
Merge pull request #7465 from Tilka/mtfsf_disasm
GekkoDisassembler: fix disassembly of mtfsf
2018-10-07 20:53:55 -04:00
Tilka 63dcd33e9c
Merge pull request #7467 from MerryMage/lXXx
Jit_LoadStore: Name indexed condition
2018-10-07 20:35:05 +01:00
MerryMage 8e3846d844 Jit_LoadStore: Name indexed condition
inst.OPCD == 31 represents an indexed instruction
2018-10-07 20:29:47 +01:00
Jules Blok 1ab1d41b10
Merge pull request #7457 from Tilka/use_clamp
VideoSoftware: make use of Clamp()
2018-10-07 19:53:45 +01:00
Tillmann Karras 29c271d0eb GekkoDisassembler: fix disassembly of mtfsf
This fixes https://dolp.in/i11411.
2018-10-07 17:27:02 +01:00
Tillmann Karras c53cd09b00 BPStructs: don't warn about busclock/perf regs 2018-10-07 16:08:18 +01:00
mazes-80 eae36399dc IOWindow: append new text at the end by default
This fixes https://dolp.in/i11026.
2018-10-07 12:27:05 +01:00
MerryMage d448ed3308 JitRegCache: Fix SanityCheck 2018-10-07 11:48:06 +01:00
MerryMage d5999bc0df JitRegCache: Rename CachedReg function names
* BoundTo -> SetBoundTo
* Flushed -> SetFlushed
* Remove argument from MakeDirty
2018-10-07 11:48:06 +01:00
MerryMage 29d301e303 JitRegCache: Use preg_t for PPC register indexes 2018-10-07 11:48:06 +01:00
MerryMage d9e2b3ed98 JitRegCache: Make {Store,Load}Register protected
No reason for them to be public
2018-10-07 11:48:06 +01:00
MerryMage 66c3d1e183 JitRegCache: Remove FlushR
No external users.
2018-10-07 11:48:05 +01:00
MerryMage ba33e1e69b JitRegCache: Simplify ASSERTs 2018-10-07 11:48:05 +01:00
aldelaro5 4b75876ba1
Qt/debugger: Accept empty prefix input 2018-10-06 21:22:34 -04:00
MerryMage ff0a6b8331 JitRegCache: Encapsulate behavior of X64CachedReg 2018-10-06 19:27:56 +01:00
MerryMage dd41bab365 JitRegCache: Encapsulate behavior of PPCCachedReg 2018-10-06 19:27:56 +01:00
Tilka af2f212039
Merge pull request #7348 from spycrab/gl_cache_shaders
GL/TextureCache: Clean up inline shader code
2018-10-06 00:28:54 +01:00
Tilka 32ef8706e5
Merge pull request #7414 from Sintendo/shortmovs
x64Emitter: emit shorter MOVs for 64-bit immediates
2018-10-06 00:01:35 +01:00
Tilka b480db9392
Merge pull request #7419 from Sintendo/miscopts
Miscellaneous x64 micro-optimizations
2018-10-05 23:44:25 +01:00
Tilka 781b707af8
Merge pull request #7444 from amaiorano/fix-messagebox-icons
Fix QMessageBox icons using the default rather than the Dolphin logo
2018-10-05 23:34:40 +01:00
Tillmann Karras a6a5d86cd8 VideoSoftware: make use of Clamp() 2018-10-05 22:07:38 +01:00
JosJuice 08d0b98988 DiscIO: Merge RegionSwitchGC and RegionSwitchWii 2018-10-05 17:54:29 +02:00
spycrab 6e873c6e06 Qt/GameList: Implement tag system 2018-10-05 08:22:51 +02:00
Antonio Maiorano bf18f19b0a Make the progress dialog look better (used for e.g. shader compiling)
* Removed the Cancel button since the code doesn't react to it anyway.
* Only show a window title, not the help icon (?), and disable the close button
* Set the title to "Dolphin" instead of repeating the label text
2018-10-03 21:35:10 -04:00
Antonio Maiorano f257630c0a Fix resetting emulated wii remote settings to default not updating Extension combo box 2018-10-02 23:34:32 -04:00
Techjar c5b4e1a5f6 Improve SFMLHelper
Switch to using additional overloads of sf::Packet, so we can eliminate
some of the messy code and just use the normal syntax for
BigEndianValue.

We can't avoid helper functions with u64 due to SFML's non-standard way
of defining 64-bit integer types.
2018-10-02 05:44:50 -04:00
Antonio Maiorano 165ac1c29e Fix QMessageBox icons using the default rather than the Dolphin logo 2018-10-02 00:26:43 -04:00
Pierre Bourdon 58b0a284a8
Merge pull request #7408 from AdmiralCurtiss/twin-snakes-cutscene-flicker-fix
Do not consider XFB copies for invalidating textures when loading a new texture.
2018-10-01 22:24:31 +02:00
Pierre Bourdon 91d9190e69
Merge pull request #7442 from shuffle2/fix-sram
mx sram: fix checksum calc; use Common::BigEndianValue for rtc field.
2018-10-01 22:08:42 +02:00
Pierre Bourdon 94c70bf884
Merge pull request #7441 from JosJuice/fix-read-title-id
Fix reading title IDs of Wii discs
2018-10-01 22:07:03 +02:00
Shawn Hoffman 2a0f022da3 mx sram: replace union-with-byte-array with operator[] to make gcc happy. 2018-10-01 00:00:20 -07:00
Shawn Hoffman d300f3bbbc exi ipl: quiet a gcc warning 2018-09-30 18:22:35 -07:00
Shawn Hoffman 2cd96aa5bb mx sram: fix checksum calc; use Common::BigEndianValue for rtc field. 2018-09-30 17:58:37 -07:00
JosJuice 0bcb9923f8 Fix reading title IDs of Wii discs
Partial revert of a1db82a.
Should fix https://bugs.dolphin-emu.org/issues/11404.
2018-09-30 17:46:20 +02:00
Shawn Hoffman d594d4f12f Fix sram accesses. 2018-09-29 22:52:29 -07:00
Sintendo d8953dbe57 x64Emitter: nit, use helper method in CMP_or_TEST 2018-09-29 09:52:54 +02:00
Sintendo ef94fca504 DSPJit: various micro-optimizations 2018-09-29 09:52:30 +02:00
Sintendo e3b424facd EmuCodeBlock: remove redundant instructions
Their result is overwritten by a subsequent MOV.
2018-09-28 23:58:16 +02:00
MerryMage 89a0b0de32 Jit64AsmCommon: Reduce branches in fast-path and inline most behavior
The only behavior requires a function call is denormal behaviour. We also fix fpscr exception raising.
2018-09-28 18:11:30 +01:00
Stenzek 349765ba77 GraphicsWindow: Ensure adapter selection isn't enabled while running 2018-09-28 22:01:23 +10:00
Stenzek eb33d7af64 Core: Call InitBackendInfo before loading config 2018-09-28 21:44:41 +10:00
Stenzek 93923e2b29 Don't fill backend info when core is running
The current approach results in the UI thread creating a graphics device
whilst the core is running, leading to races on function pointers, and
potentially crashing.
2018-09-28 21:43:22 +10:00
Mat M a1db82a72e
Merge pull request #7411 from JosJuice/wii-metadata-unencrypted
Read Wii disc metadata from the unencrypted header
2018-09-28 00:44:25 -04:00
Stenzek a877d5f6dc Remove unused Host_ShowVideoConfig 2018-09-28 14:05:53 +10:00
Mat M a5c74cd6d1
Merge pull request #7382 from stenzek/drop-vk-nv-glsl
Vulkan: Drop usage of VK_NV_glsl extension
2018-09-27 21:56:22 -04:00
Mat M 3cee297c87
Merge pull request #7331 from booto/si_buffer
SI: Add 16bit accessors for SI IO buffer
2018-09-27 21:50:50 -04:00
Mat M d0b2f04539
Merge pull request #7421 from JosJuice/qt-sd-hotplug
DolphinQt: Allow inserting/ejecting SD cards during emulation
2018-09-27 21:48:16 -04:00
Mat M 62b88f890d
Merge pull request #7422 from JosJuice/scrub-unencrypted
Fix scrubbing unencrypted Wii disc images
2018-09-27 21:47:49 -04:00
Roland Munsil 5eefd0482a Fix issue with breakpoint type loaded from settings not propogating to MemoryWindow 2018-09-25 17:45:18 -05:00
Roland Munsil 54bd16e753 Fix typo causing "Remove from Watch" in Cheat Manager to crash Dolphin 2018-09-24 23:01:24 -05:00
Roland Munsil 04969f94b6 Fix some Cheat Manager comparisons being wrong 2018-09-24 21:34:48 -05:00
Markus Wick 85961f996e
Merge pull request #7400 from zackhow/phone-rumble
Android: Add rumble for phone
2018-09-21 17:05:46 +02:00
JosJuice facaeb615e Fix scrubbing unencrypted Wii disc images
Untested with unencrypted Wii disc images, because I don't have any.
I tested that normal Wii disc images still work, though.
2018-09-20 23:23:10 +02:00
JosJuice ce3e0fc091 Refactor DiscScrubber::MarkAsUsedE 2018-09-20 23:23:06 +02:00
JosJuice 5db27b8e7e DolphinQt: Allow inserting/ejecting SD cards during emulation
This is possible on real hardware and was possible in DolphinWX.
2018-09-20 18:41:37 +02:00
Sintendo 53a947749a x64Emitter: short MOV for 64bit immediates (2)
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.

0:  48 b8 ef be ad de 00    movabs rax,0xdeadbeef
7:  00 00 00

With this change, it will instead rely on the fact that on x64 writes to
32-bit registers are automatically zero extended to 64-bits, allowing
us to emit a 5 or 6-bytes instruction with the same effect for certain
immediates.

0:  b8 ef be ad de          mov    eax,0xdeadbeef
2018-09-16 19:52:03 +02:00
Léo Lam e90bd035cb
Merge pull request #7262 from lioncash/force
ControlGroup: Return state data via GetState() by value where applicable
2018-09-16 16:04:21 +02:00
Léo Lam 5a289de27a Fix BT passthrough by sending larger packets
Fixes a critical regression from 8bb08d1ca6.

In that commit, I replaced a 1024 byte buffer with a SHCIEventCommand.
However, it looks like some Bluetooth adapters actually require such
a large buffer, so this change needs to be reverted.
2018-09-16 15:36:58 +02:00
Léo Lam 40b7fab235
Merge pull request #7261 from lioncash/static
WiimoteReal: Make functions internally linked where applicable
2018-09-16 15:30:25 +02:00
Léo Lam 3ecc4ed1c4
Merge pull request #7390 from Techjar/qt-save-grid-scale
Qt/GameList: Make grid view scale persistent
2018-09-16 15:21:00 +02:00
Léo Lam c49eb2d249
Merge pull request #7398 from Techjar/emu-speed-skip-vsync
VideoCommon: Skip vsync if configured emulation speed is not 100%
2018-09-16 15:19:45 +02:00
Léo Lam 80c402e1ad
Merge pull request #7161 from lioncash/disasm
CMake: Only link in Bochs on x86 platforms
2018-09-16 15:16:00 +02:00
Léo Lam 3a16c0d47e
Merge pull request #7401 from JosJuice/translation-fixes
Translation fixes
2018-09-16 15:09:26 +02:00
Pierre Bourdon e3a52b3361
Merge pull request #7415 from JosJuice/korean-shop-channel-check
Include the Korean Wii Shop Channel when checking default credentials
2018-09-15 17:37:35 +02:00
JosJuice b5bb445f21 Include the Korean Wii Shop Channel when checking default credentials 2018-09-15 17:28:23 +02:00
Admiral H. Curtiss f2fa63783b Do not consider XFB copies for invalidating textures when loading a new texture.
This fixes severe image flickering in some cutscenes of Twin Snakes. The game appears to sometimes load a previously made XFB copy as a texture before it is actually rendered to the screen, which we took as an invitation to invalidate the XFB copy.
2018-09-15 13:56:45 +02:00
Sintendo 575f1b309a x64Emitter: short MOV for 64bit immediates (1)
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.

0:  48 b8 ef be ad de ff    movabs rax,0xffffffffdeadbeef
7:  ff ff ff

With this change, it will instead emit a 7-byte instruction when it is
possible to express the 64-bit immediate using a signed 32-bit value.

0:  48 c7 c0 ef be ad de    mov    rax,0xffffffffdeadbeef
2018-09-14 23:11:26 +02:00
Admiral H. Curtiss 3e95d3c477 Stitch together overlapping XFB regions in order of XFB copy creation. 2018-09-14 19:41:27 +02:00
Admiral H. Curtiss d97bc0d359 Correctly adjust the rendered XFB region at non-native internal resolutions when XFB was loaded from console RAM.
If, for whatever reason, the XFB has to be loaded from console memory, it's possible that the texture is returned at native resolution instead of EFB-scaled resolution. In this case, our xfb_rect.right adjustment must also happen at native resolution instead of scaled resolution.
2018-09-13 19:39:49 +02:00
JosJuice cec601f1fb Read Wii disc metadata from the unencrypted header
The header of a Wii disc can be read from two places: The
unencrypted area at the beginning of the disc, or the beginning of
the game partition. The two copies are usually identical (except
for 0x60 and 0x61), but there are exceptions. For most of Dolphin's
history, we have been reading from the header inside the game
partition when getting metadata. This was however not the case
starting with 4.0-4901 and ending with 5.0-3762. This commit once
again makes Dolphin read metadata from the unencrypted header,
because of the following reasons that I recently was informed about:

- The "pink fish" disc has the game ID 410E01 in the unencrypted
  header but the placeholder game ID RELSAB in the partition header.
- The revisions of some games differ between the two headers,
  with the unencrypted one making more sense.
  (See https://bugs.dolphin-emu.org/issues/11387)

For better or worse, this also means that sloppily hacked games where
only the game ID in the unencrypted header has been changed now will
use that modified game ID. And unlike with the partition header,
there is no signing or hashing that can tell us whether the
unencrypted header has been modified by someone other than Nintendo.
2018-09-12 13:41:30 +02:00
booto 3825e2e5ff SI: Add 16bit accessors for SI IO buffer
Dolphin has traditionally treated the SI IO buffer (128 bytes) as a set of
32 little endian u32s. This works out fine if you only ever read/write
using aligned 32bit accesses. Different sized accesses or misaligned reads
will mess it up. Byte swapping reads/writes will fix this up, but all the
SI devices that use the SI IO buffer need to be adjusted.
2018-09-11 22:19:13 -04:00
JosJuice fb6b31bba8 Re-add i18n comments that were lost in the DolphinWX removal 2018-09-08 15:58:15 +02:00
JosJuice e0cb56edb9 Reword some translatable strings
We've decided to use the term "Usage Statistics Reporting"
instead of "Analytics" in user-facing strings.
2018-09-08 15:19:01 +02:00
JosJuice 5f35edf505 Remove unused function and translatable strings 2018-09-08 15:18:31 +02:00
JosJuice a4f950ee86 Fix a string not getting translated 2018-09-08 15:16:39 +02:00
zackhow 126ff8dc5f Android: Add rumble for phone
This currently only supports using the internal vibrate on a phone for rumble.
2018-09-07 08:54:03 -04:00
Techjar e9046f8eec VideoCommon: Skip vsync if configured emulation speed is not 100%
It doesn't make much sense to try to vsync at weird framerates, and
vsync actually causes the speed setting to not work as expected.
2018-09-05 05:40:22 -04:00
Techjar bb598529be Qt/GameList: Make grid view scale persistent 2018-09-02 18:22:44 -04:00
Pierre Bourdon 95c2a92f26
Revert "ShaderGen: Drop broken fragment shader index workaround for Vulkan" 2018-09-01 05:32:56 +02:00
spycrab 392df8a11d GL/TextureCache: Clean up inline shader code 2018-08-30 16:05:39 +02:00
MerryMage 9753f21cc7 Arm64Emitter: Remove unsequenced expressions
Incrementing `it` twice between sequence points is undefined behavior.
2018-08-30 07:38:37 +01:00
Stenzek 448e19629d Vulkan: Drop usage of VK_NV_glsl extension
It's not providing a large performance improvement anymore, after the
more recent drivers introduced a new shader compiler.
2018-08-29 13:12:19 +10:00
Stenzek 3ad7812b53 ShaderGen: Drop broken fragment shader index workaround for Vulkan
AMD appears to have since fixed this in their driver, and it makes
shadergen ever so slightly less messy.
2018-08-28 23:39:47 +10:00
JosJuice fbdc239199 Fix reducing log paths when building with MSVC
The LogManager code had trouble detecting the "/Source/Core/" substring
for two reasons, neither of which seemed to happen a few years ago:

1. __FILE__ is in lowercase on MSVC
2. __FILE__ uses backslash as the directory separator on MSVC

Fixes https://bugs.dolphin-emu.org/issues/11366
2018-08-28 11:48:43 +02:00
JosJuice 762747f8c1
Merge pull request #7377 from Techjar/more-frameskip-junk
Core/Core: Remove another leftover part of frameskip
2018-08-28 08:29:43 +02:00
Techjar c5ae721eca Core/Core: Remove another leftover part of frameskip 2018-08-28 02:22:05 -04:00
Pierre Bourdon 2033d660d2
Merge pull request #7376 from lioncash/sfml
Externals: Update SFML to 2.5.0
2018-08-28 02:53:05 +02:00
Lioncash d10a0b440f SFMLHelper: Simplify 64-bit packet reading function and remove 64-bit write function
Now that SFML's packet class can properly handle 64-bit values, we don't
need a helper function just to write values to the packets.
2018-08-27 17:38:07 -04:00
Lioncash e6a4116bf2 Common/SFMLHelper: Remove unused forward declaration
BigEndianValue isn't used in either the header or SFMLHelper.cpp, so it
can be removed.
2018-08-27 16:48:12 -04:00
Pierre Bourdon 4c75331d5d
Merge pull request #7374 from lioncash/iowin
IOWin: Make functions internally linked where applicable
2018-08-27 22:13:24 +02:00
Lioncash 8753321841 IOWin: Use anonymous namespaces where applicable
Several functions (and one variable) were being given external linkage.
Instead, relocate them all to anonymous namespaces to make them
internally linked.
2018-08-27 16:10:07 -04:00
Lioncash d40022d6d0 JitInterface: Move explanatory comment of ClearSafe() to the function's prototype
Puts the comment in the header where it's more likely to be seen
initially. We can also remove the TODO, given doing nothing or returning
an error is what is generally done for the JIT interface if the JIT
instance isn't valid.
2018-08-27 13:04:05 -04:00
Lioncash 36b24bf7a0 PowerPC: Remove Profiler.cpp
With 7aa305ea35 merged, all that remains
within Profiler.cpp is an unused function that just forwards to the
equivalent function within JitInterface. Given that, we can just remove
the source file.
2018-08-27 12:13:39 -04:00
Lioncash 7aa305ea35 Profiler: Migrate global g_ProfileBlocks boolean to JitOptions
This global belongs in the JitOptions structure, as it's a conditional
setting (A.K.A. option) that changes the behavior of what the JIT does.

Plus it keeps the scope of the variable constrained to the general area
it's intended to be used and nothing further.
2018-08-27 11:30:19 -04:00
Pierre Bourdon 88a91562b5
Merge pull request #7370 from lioncash/constness
JitArm64/Jit: Don't cast away const within DumpCode()
2018-08-27 16:31:15 +02:00
Lioncash cc2ef5a2c3 JitArm64/Jit: Don't cast away const within DumpCode()
swap32() has a const u8* overload that swaps the data being pointed to as
if it were a 32-bit word. We can just use that instead. It gets rid of
undefined behavior, as we're not type punning a pointer and dereferencing it,
and gets rid of the need to cast entirely.
2018-08-27 10:28:11 -04:00
Lioncash e81408588f JitCommon/JitCache: Make JitBlock's checkedEntry and normalEntry members non-const pointers
In both cases of the x64 and AArch64 JITs, these would have const casted
away from them, followed by them being placed within an emitter and
having breakpoint instructions written in them.

In this case, we shouldn't be using const period if we're writing to the
emitted data.
2018-08-27 10:23:22 -04:00
Pierre Bourdon 25898cfa55
Merge pull request #7368 from lioncash/const-cast
Arm64Emitter: Make the Align* functions return a non-const data pointer
2018-08-27 15:54:05 +02:00
Lioncash 208be26bb4 Arm64Emitter: Make the Align* functions return a non-const data pointer
Similar in nature to e28d063539 in which
this same change was applied to the x64 emitter.

There's no real requirement to make this const, and this should also
be decided by the calling code, considering we had places that would
simply cast away the const and carry on
2018-08-27 09:44:38 -04:00
Pierre Bourdon 6a22f1b3e0
Merge pull request #7253 from booto/fifo_reg
CP: some bits in some of the HI registers cannot be set
2018-08-27 14:56:12 +02:00
Pierre Bourdon b2b72bd3ce
Merge pull request #7272 from Techjar/xkb-mouse-button-fix
InputCommon/XInput2: Increase mouse buttons to 32
2018-08-27 14:52:37 +02:00
Techjar 311d0442de InputCommon/XInput2: Increase mouse buttons to 32
Xlib supports many mouse buttons, though there are 9 standard buttons, and they aren't arranged like other mouse APIs. Using only 5 buttons was preventing the use of buttons besides left/right/middle click and the scroll wheel. Here's what all the standard buttons are:
1. left button
2. middle button (pressing the scroll wheel)
3. right button
4. turn scroll wheel up
5. turn scroll wheel down
6. push scroll wheel left
7. push scroll wheel right
8. 4th button (aka browser backward button)
9. 5th button (aka browser forward button)

The remaining button indices are non-standard and device-specific, and technically far more than 32 are supported, but this seems like a reasonable limit to avoid cluttering the list with tons of useless mouse buttons. What mouse has more than 32 buttons anyways?
2018-08-27 08:47:32 -04:00
Techjar f1bc17ab9e Qt/MD5Dialog: Fix pressing enter on NetPlay window causing dialog to close 2018-08-27 08:39:39 -04:00
Pierre Bourdon ea26ccbbe1
Merge pull request #7318 from VinDuv/rename-master-log
LogManager: Change Master Log short name to fix log configuration loading
2018-08-27 13:36:04 +02:00
Pierre Bourdon 62928de547
Merge pull request #7357 from Techjar/qt-memcard-manager-select-button
Qt/GCMemcardManager: Make slot and file selection more intuitive
2018-08-27 13:35:38 +02:00
Pierre Bourdon af2e69dfdc
Merge pull request #7366 from Techjar/discord-pics-popular
DiscordPresence: Add popular games to artwork list
2018-08-27 12:40:57 +02:00
Techjar 80c4e77735 DiscordPresence: Add popular games to artwork list 2018-08-27 06:10:11 -04:00
Pierre Bourdon f2323331ea
Merge pull request #7240 from lioncash/namespace
Common/DebugInterface: Namespace code under the Common namespace
2018-08-27 04:49:26 +02:00
Pierre Bourdon 0c39590353
Merge pull request #7229 from lioncash/truncate
Interpreter: Remove an unnecessary cast in Trace()
2018-08-27 04:49:06 +02:00
Pierre Bourdon e096ca20e9
Merge pull request #7358 from Techjar/qt-memcard-manager-deletion-fix
Qt/GCMemcardManager: Fix deletion of multiple files
2018-08-27 04:48:07 +02:00
Pierre Bourdon dbb7563cce
Merge pull request #7363 from Techjar/netplay-hia-comments
NetPlay: Add additional comments for host input authority mode
2018-08-27 04:45:20 +02:00
Pierre Bourdon db55c36f09
Merge pull request #7359 from stenzek/intel-d3d-crash
PixelShaderGen: Ensure all components of ocol1 are initialized
2018-08-27 04:42:28 +02:00
Pierre Bourdon 246b1f4459
Merge pull request #7350 from zackhow/android-analytics
Android: Add usage statistics to android
2018-08-27 04:37:17 +02:00
Techjar 1ba834d13c NetPlay: Add additional comments for host input authority mode 2018-08-26 22:28:23 -04:00