Commit Graph

22140 Commits

Author SHA1 Message Date
Markus Wick ec5cfd2aae JitArm64: Update CR helpers to reflect their usage.
This helpers are not for general CR calculation, they are just for the
common case of the sign extended result of integer instructions if the
rc bit is set.
They must not be used by other instructions like cmp, so there is no
need to be as flexible.
2017-08-11 21:17:13 +02:00
Markus Wick 7d4c14feba JitArm64: Fix and improve the cmpXX instructions. 2017-08-11 21:17:13 +02:00
Ryan Meredith 7154c0f0ff m_bt_wiimote_motor rename and tooltip addition 2017-08-11 15:15:51 -04:00
Markus Wick b89e4b5258 Interpreter: Fix cmpi.
cmpi shall compare two signed 32 bit values. The used difference a-b
may overflow and so the resulting 32 bit value can't represent it.
A correct way would be cr = s64(a) - s64(b) and it should be done in
this way in the JITs, but the Interpreter shall implement the most
readable way.

Also drops the now unused helper function.
2017-08-11 17:35:22 +02:00
Stenzek f8a64ab1fc UberShaderPixel: Use an if trees instead of switch statements on GL
The switch statements in these functions appear to get transformed into
an if..else chain on NVIDIA's OpenGL/Vulkan drivers, resulting in lower
performance than the D3D counterparts. Transforming the switch into a
binary tree of ifs can increase performance by up to 20%.
2017-08-12 00:16:19 +10:00
Leo Lam 5767309670 Merge pull request #5914 from sepalani/rso-data
RSO: Import data symbols
2017-08-11 21:02:28 +08:00
Léo Lam 1bd7fefec1 Config: Set DOL/ELF region to UNKNOWN
This allows the region to be chosen by the user.
2017-08-11 20:28:33 +08:00
Léo Lam bec35b287e Config: Fall back to the system menu region
Since we don't want users to have to configure the region manually
and always enforce one automatically, we should fall back to a region
that was likely to be chosen by the user instead of always using
PAL whenever the title region cannot be detected.

Dolphin doesn't mess with installed NAND titles like the system menu,
so it is a reliable indicator of what region the user wants.
2017-08-11 20:28:33 +08:00
Leo Lam 86e932b833 Merge pull request #5915 from JosJuice/pad-size
DolphinQt2: Replace "Pad size" with "Buffer size"
2017-08-11 20:27:52 +08:00
JosJuice 3570a9b636 DolphinWX: Replace "Pad buffer" with "Buffer size" 2017-08-11 12:36:42 +02:00
Leo Lam c91211b6ce Merge pull request #5867 from leoetlino/widescreen
GameINI: Replace Wii.Widescreen with AspectRatio
2017-08-11 18:23:54 +08:00
JosJuice 9747a4c697 DolphinQt2: Replace "Pad size" with "Buffer size"
"Pad size" just doesn't make much sense. Let's go with "Buffer size"
instead, since the control for it is labeled "Buffer".

(Another possibility is "Pad buffer size", but I'm against that,
because we've stopped referring to controllers as "pads" in almost
all GUI strings.)
2017-08-11 12:22:44 +02:00
Leo Lam 438610a58d Merge pull request #5748 from nitrousox1de/hide-mouse-delay-fullscreen
Hide mouse delay fullscreen
2017-08-11 17:34:46 +08:00
Leo Lam 54778303ee Merge pull request #5871 from JosJuice/read-swapped-and-shifted
DiscIO: Add a Volume::ReadSwappedAndShifted function
2017-08-11 15:58:42 +08:00
Léo Lam 940cc843ed Config: Fix Movie config loading/saving
* Add missing Language setting loading/saving. This was added after the
  original OnionConfig PR, which is why support for it was missing.

* Change MovieConfigLoader to reuse ConfigInfos. Less duplication.

* Extract MovieConfigLoader::Save into SaveToDTM. The DTM should use
  the current config and not just the movie layer. This makes more
  sense than just saving the movie layer, which may not always exist,
  and also fixes a crash that would happen when creating a new
  recording because the movie layer wouldn't exist in that case.

  (Plus, having to get the loader from the layer and call ChangeDTM
  on it manually is not very pretty.)
2017-08-11 15:36:32 +08:00
Léo Lam fa7e3e55d2 Config: Add MainSettings
Not really used anywhere yet, but useful for not having to duplicate
config locations and for getting rid of conflicts when I get around
to rebase my Main.Core and Main.DSP porting PR.
2017-08-11 15:36:32 +08:00
Léo Lam e471505632 WX: Reload Wii config pane on config change 2017-08-11 15:36:32 +08:00
Léo Lam b2c41cec0a Config: Include SYSCONF in base layer
Settings that come from the SYSCONF are now included in Dolphin's
config system as part of the base layer. They are handled in a
special way compared to other settings to make sure they are only
loaded from and saved to the SYSCONF (to avoid different, possibly
contradicting sources of truth).
2017-08-11 15:36:31 +08:00
Léo Lam c900e77ac5 Config: Add Get/Set on Layer
For convenience, when getting/setting from ConfigInfos.
2017-08-11 15:28:11 +08:00
Leo Lam e86f5ac04b Merge pull request #5913 from ligfx/qtselectedgamegamefile
GameList: make GetSelectedGame a pointer to GameFile
2017-08-11 15:25:15 +08:00
Sepalani ae4790ff25 RSO: Import data symbols 2017-08-10 21:30:32 +01:00
Michael M 3c002f0213 GameList: make GetSelectedGame a pointer to GameFile 2017-08-10 13:22:35 -07:00
Michael M fcb1eb9d3b dsp_rom: skip bootucode_ax when running from entrypoint
This could cause the first branch of the bootucode procedure, which
takes its parameters from the AX registers, to run during the ROM init
sequence. Since the ROM doesn't set any of the AX registers, the values
aren't meaningful, and can cause bad DMA transfers and crashes.
2017-08-10 10:53:12 -07:00
Léo Lam 5ba6182bbc Qt: Fix WiiUpdate progress dialog cancel button
We didn't properly remove the default cancellation handler, which would
cause crashes if the dialog was gone too early.
2017-08-10 23:47:18 +08:00
Léo Lam ea3b351d92 Qt: Add menu item to perform system update from disc 2017-08-10 23:47:18 +08:00
Léo Lam 0e71c0760e WX: Add menu item to perform system update from disc 2017-08-10 23:47:18 +08:00
Léo Lam 0fdae2adb8 UI: Refactor Wii update code
This moves the progress dialog logic and the result dialog to separate
functions that can easily be reused for disc updates.
2017-08-10 23:47:18 +08:00
Léo Lam 916deb9004 WiiUtils: Add a disc updater 2017-08-10 23:47:18 +08:00
Léo Lam eb1ba4b0e9 DiscIO: Add a blob reader for Volume files 2017-08-10 23:47:18 +08:00
Léo Lam ca0438e26d WiiWad: Allow using WiiWad with more than just files
This adds a WiiWad constructor that takes a BlobReader, so that the
class can be used with more than just files from the host filesystem.

Required for using WiiWad with WADs from update partitions.
2017-08-10 23:47:18 +08:00
Léo Lam 5976d3934d WiiUtils: Refactor InstallWAD
Allows using an existing instance of IOS and WiiWAD.
2017-08-10 23:47:18 +08:00
Léo Lam bc588948c9 WiiUtils: Move ShouldInstallTitle to the online updater
The disc updater uses different conditions.
2017-08-10 23:47:18 +08:00
Léo Lam 71f403d05b BTBase: Fix a file deletion issue on Windows
> The process cannot access the file because it is being used by another process.
2017-08-10 23:30:52 +08:00
JosJuice e806928071 Make DolphinQt2 netplay strings more like in DolphinWX 2017-08-10 15:58:04 +02:00
spycrab 366d4c7744 Qt/NetPlay: Use TraversalClient::FailureReason 2017-08-10 15:41:01 +02:00
Leo Lam e41a9905c0 Merge pull request #5744 from JosJuice/remove-non-integer-irs
Remove non-integer IRs
2017-08-10 17:10:26 +08:00
Leo Lam d0304c9b38 Merge pull request #5810 from spycrab/qt_netplay
Qt: Implement Netplay
2017-08-10 14:45:52 +08:00
Leo Lam 15e46cb216 Merge pull request #5900 from ligfx/fixupnpinit
Fix UPnP init
2017-08-10 14:41:50 +08:00
Leo Lam 13b0ba3f55 Merge pull request #5908 from beholdnec/fix-i8-typo
VideoCommon: Fix typos in comments introduced by #5849
2017-08-10 14:39:30 +08:00
spycrab 9b65f38382 Make Visual Studio happy 2017-08-10 06:49:57 +02:00
spycrab 78cc759d56 Settings: Implement NetPlay globals 2017-08-10 06:49:57 +02:00
spycrab 2e29509b75 Qt/GameList: Add "Host with NetPlay" option 2017-08-10 06:49:57 +02:00
spycrab 13fac93a29 Qt: Implement NetPlay 2017-08-10 06:49:57 +02:00
Michael Lelli 4fb2d1e361 Ignore capabilities reported by an XInput device 2017-08-09 22:51:01 -05:00
spycrab d5629017b9 Qt/NetPlay: Implement MD5 dialog 2017-08-09 23:13:20 +02:00
N.E.C b52aff7966 VideoCommon: Fix typo in comments introduced by #5849 2017-08-09 00:02:27 -07:00
Michael M 6faacbeea5 TraversalClient: make FailureReason an enum class 2017-08-08 15:29:56 -07:00
spycrab 962af060a0 Qt/GameList: Add method to get unique ID for item 2017-08-09 00:05:48 +02:00
spycrab e9138f7512 Qt/GameList: Implement GetModel() 2017-08-09 00:05:48 +02:00
spycrab 655778f7f1 Qt: Implement GetUniqueID() 2017-08-09 00:05:48 +02:00
spycrab ca1646d99b Qt: Add "Start NetPlay" option to the menubar 2017-08-09 00:05:48 +02:00
Léo Lam 58b7350562 SettingsHandler: Fix generated serial numbers
Must be 9 characters at most; otherwise the serial number will be
rejected by SDK libraries, as there is a check to ensure the string
length is strictly lower than 10.
2017-08-08 23:25:40 +08:00
JosJuice 1fc910b3ea Convert to/from old EFB scale numbering 2017-08-08 12:09:50 +02:00
JosJuice f090a94319 Remove non-integer IRs 2017-08-08 12:09:50 +02:00
Michael M 9e81fec816 NetPlayServer: encapsulate m_upnp_inited in initUPnP() 2017-08-07 11:35:13 -07:00
Michael M 6a8c0ca70b NetPlayServer: actually set m_upnp_inited 2017-08-07 11:35:13 -07:00
Leo Lam a25f7b9b4c Merge pull request #5892 from leoetlino/sysmenu-emu-fixes
Boot/BS2: Accuracy fixes
2017-08-08 01:33:05 +08:00
JosJuice cbe43e58a7 Merge pull request #5890 from leoetlino/sd-fixes
IOS/SDIO: Small fixes
2017-08-07 17:03:18 +02:00
Leo Lam f64b189850 Merge pull request #5895 from lioncash/sw
TransformUnit: Get rid of most pointer casting in TransformColor()
2017-08-07 14:18:35 +08:00
Michael M 2abf13ae36 NetPlayServer: remove goto statements 2017-08-06 23:06:38 -07:00
Leo Lam dbb26a2b54 Merge pull request #5837 from leoetlino/auto-pause
WX: Automatically pause the core for the JIT menu items
2017-08-07 13:21:54 +08:00
Scott Mansell 3b5cad6682 Merge pull request #5860 from jturcotte/fix-macos-nswitch-axis
Fix axis not working with Switch Pro controller on macOS
2017-08-07 13:44:07 +12:00
Lioncash 745f92b4e5 TransformUnit: Get rid of pointer casting in TransformColor() where applicable
The casts to u32* are technically undefined behavior. The u8* cast is
left, as char/unsigned char is exempted from this rule to allow for
bvtewise inspection of objects (and this is what s8/u8 are typedefs of
on platforms we support).
2017-08-06 19:04:31 -04:00
Lioncash 4d35a3105e TransformUnit: Make LightColor()'s chan parameter const
Also marks references/pointers const where applicable
2017-08-06 18:15:05 -04:00
Andrew d38987e1e8 Hide mouse cursor after delay in DolphinQt 2017-08-06 17:52:37 -04:00
Lioncash 2363be4c63 ElidedButton: Make constructor explicit
Prevents implicit conversions to ElidedButton.
2017-08-06 17:31:29 -04:00
Lioncash 5153271278 ElidedButton: Add missing override specifier on paintEvent() 2017-08-06 17:26:07 -04:00
Leo Lam 1385444d86 Merge pull request #5883 from sepalani/term-close
DolphinWX: Prevent Dolphin to be shutdown when closing cmd.exe
2017-08-07 00:50:31 +08:00
Léo Lam 9f36499f9e IOS/SDIO: Make GetCSDv1/v2 const member functions 2017-08-07 00:48:51 +08:00
Léo Lam c24418a822 IOS/SDIO: Fix warnings about missing braces 2017-08-07 00:48:16 +08:00
Léo Lam d86d5d62ad IOS/SDIO: Add missing save calls in DoState 2017-08-07 00:48:16 +08:00
Leo Lam 1833354ef9 Merge pull request #5891 from lioncash/const
File: Make GetSize() a const member function
2017-08-07 00:46:49 +08:00
Léo Lam 6d73c3e8e3 Boot/BS2: Don't write part of the debugger hook
Writing to 0x60 does actually not "init exception[s]" or anything like
that. Not at all. Rather, it *breaks* a check in Nintendo's SDK, which
makes it fail to realise that the hook hasn't been set up.

This prevents the SDK initialisation routines from writing the rest of
the hook instructions (total: 0x20 bytes), which in turn causes an
anti-piracy check to fail in some Ubisoft games (including Tintin).

Dolphin can be really amazing sometimes.
2017-08-07 00:36:35 +08:00
Léo Lam d612416ce8 Boot/BS2: Write to 0x3194 and 0x3198 2017-08-07 00:36:35 +08:00
Léo Lam 0bdcabdfa9 Boot/BS2: Write the "devkit boot program version" 2017-08-07 00:36:34 +08:00
Léo Lam 81b298f747 Boot/BS2: Set the proper value for 0x000030d8
No clue where people got the 0 value from, or why it's labelled as
"time". As far as I can tell, it is always set to 0xffffffff by
official NAND titles, including the system menu.
2017-08-07 00:36:34 +08:00
Léo Lam 29b1276548 Boot/BS2: Update state file 2017-08-07 00:36:34 +08:00
Léo Lam 363bf27cce Boot/BS2: Write empty play record 2017-08-07 00:36:34 +08:00
Léo Lam 8489d9da90 Boot: Move StateFlags from Boot_WiiWAD to Boot
It's not specific to WADs. The BS2 emulation boot code will also need
to update the state file.

Move the struct to Boot and add a helper function that will handle
reading + computing the checksum + writing the state file.
2017-08-07 00:36:34 +08:00
Lioncash f0308151a8 File: Make GetSize() a const member function 2017-08-06 07:57:43 -04:00
JosJuice fa4723ffb4 DolphinQt2: Rename "Table"/"List" to "List View"/"Grid View"
Sentret_C posted this comment on Transifex recently:

"What Dolphin refers to as "Table View" and "List View" are
similar to "List View" and "Grid View" in Steam, and I think
the Steam names describe them better."

I agree with that, so here's a commit that changes the names.
2017-08-06 11:35:45 +02:00
Leo Lam 84ecc0ecc9 Merge pull request #5842 from TBoshoven/sdhc-support
Add support for SDHC
2017-08-06 11:17:50 +08:00
Tom Boshoven 10c615d7db Added proper SDHC initialization to protocol v2. 2017-08-05 19:55:08 +02:00
degasus cc4b3b180b VideoSW: Drop log level of missing anti aliasing support.
We don't want to emit such a high priority warning here, else fifoci will die.
2017-08-05 19:20:19 +02:00
Tom Boshoven b29c8c1a63 Redid initialization logic.
Looks like initialization is done automatically by IOS versions that support SDHC.
2017-08-05 18:51:24 +02:00
Lioncash 01c262fe47 Filesystem: Declare FileInfo iterator's move constructor and assignment operator noexcept
Prevents potential extra copies being created in the context of
std::move_if_noexcept.
2017-08-05 12:29:02 -04:00
Tom Boshoven 47e056a654 Re-enable SDIO events. 2017-08-05 14:52:03 +02:00
Tom Boshoven 494e935ca7 Use std::array for CSD.
Fix double negative in comment.

Fixed member variable names, added some const correctness.
2017-08-05 14:49:38 +02:00
Stenzek 6d91c1b079 ProgramShaderCache: Call glTexImage3D after glTexParameter
Was missed before merge.
2017-08-05 18:18:30 +10:00
Anthony 3c5112bb21 Merge pull request #5856 from stenzek/optimus-crash
Fix ubershader crashes with primus/bumblebee
2017-08-05 00:54:28 -07:00
Léo Lam e58ba76f07 Don't force the aspect ratio in GameINIs
Instead, add a SuggestedAspectRatio option which tells Dolphin which
aspect ratio to use when the aspect ratio option is set to Auto.
2017-08-05 14:27:16 +08:00
Anthony 737e045bd8 Merge pull request #5849 from beholdnec/tex-format-bookkeeping
Video: Clearly separate Texture and EFB Copy formats
2017-08-04 22:34:34 -07:00
Sepalani eb3975eee8 DolphinWX: Prevent Dolphin to be shutdown when closing cmd.exe 2017-08-04 18:35:02 +01:00
Leo Lam 9bab7ffa83 Merge pull request #5794 from spycrab/qt_menubar
Qt: Overhaul menubar
2017-08-04 14:42:58 +08:00
Leo Lam 284aa99a0d Merge pull request #5169 from ligfx/sidevicegbastate
SI_DeviceGBA: refactor and make GBASockServer a member rather than parent
2017-08-04 14:40:51 +08:00
iwubcode bc3622c2a8 Fix the size of s_last_connect_request_counter to be 5 (wiimotes + balance board) 2017-08-04 00:32:20 -05:00
Leo Lam f274bbcbe1 Merge pull request #5872 from ligfx/wxnetplayonionconfig
WX: make Netplay use new-style config
2017-08-04 10:07:05 +08:00
Leo Lam 51af8d4aeb Merge pull request #5829 from ligfx/qtmsgalerthandler
Qt: register MsgAlertHandler
2017-08-04 09:53:24 +08:00
Leo Lam fac085940e Merge pull request #5877 from JosJuice/log-strings
DolphinQt2: Make logging strings more like in DolphinWX
2017-08-04 09:50:08 +08:00
N.E.C c3a57bbad5 Video: Clearly separate Texture and EFB Copy formats
Improve bookkeeping around formats. Hopefully make code less confusing.

- Rename TlutFormat -> TLUTFormat to follow conventions.
- Use enum classes to prevent using a Texture format where an EFB Copy format
  is expected or vice-versa.
- Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-08-03 18:35:29 -07:00