Commit graph

4872 commits

Author SHA1 Message Date
spycrab
40bb9974f2 Reformat all the things! 2018-04-12 21:28:39 +02:00
JosJuice
9417fc6a3a DolphinWX: Set C++ locale
After 3a83ebc, the Show System Clock feature started using the
unfortunate combination of MM/DD/YY dates (rare outside of the US)
and 24-hour time (rare in the US) regardless of the user's locale
settings. This commit makes it use the configured locale again.

I've noticed one minor difference in behavior between now and
before 3a83ebc: The new way of setting the C/C++ locale seems to
treat "en" as "en-US", but the wx way of setting the C locale
treated it as "en-GB" (at least on Windows).
2018-04-09 19:14:14 +02:00
Lioncash
f1be7cd4a0
CMakeLists: Link bochs in privately where applicable
Everything that links in core doesn't need to see anything related to bochs, because it's only used internally.
Anything else that relies on bochs should be linking it in explicitly.
2018-04-08 04:59:58 -04:00
Lioncash
3e946d87e4
DolphinWX/DolphinQt2 CMakeLists: Use cmake -E instead of mkdir -p for creating language directories
CMake already has this functionality built-in. This lessens depending on the host system environment
and is more cross-platform friendly (which is always nice from a build-system point of view).
2018-04-05 12:49:33 -04:00
Léo Lam
4d5adf3dfa
Merge pull request #6588 from lioncash/cmake
DolphinWX/DolphinQt2 CMakeLists: Remove use of LIBS and SRCS variables
2018-04-04 16:57:01 +02:00
Lioncash
516b46845d
DolphinWX/CMakeLists: Remove usages of the LIBS and SRCS variables
Instead, operated on the target itself.
2018-04-03 08:04:29 -04:00
JosJuice
91732e2baf Remove support for projection hacks
This isn't really useful for anything anymore as far as I know.
2018-04-01 21:41:18 +02:00
Shawn Hoffman
6a0c15491b Remove EmuState 2018-03-31 16:21:17 +02:00
JosJuice
4387432436 DiscIO: Don't use all uppercase for enum values
Also removing some prefixes that we don't need now that we're
using enum classes instead of plain enums.
2018-03-31 14:11:32 +02:00
Stenzek
2f1a7cbee1 Implement "Skip" ubershader mode
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.

This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
Léo Lam
a838d13fd1
Merge pull request #6504 from Ebola16/OSD
Rename "On-Screen Messages" to "On-Screen Display Messages"
2018-03-24 09:59:14 +01:00
Ryan Meredith
976347c65d Rename "On-Screen Messages" to "On-Screen Display Messages" 2018-03-23 12:29:03 -04:00
Lioncash
4c97deb364 PowerPC: Namespace all header contents for PowerPC.h
Puts everything under the same namespace. Previously the header was only
partially namespaced, which is inconsistent.
2018-03-22 19:01:47 -04:00
Anthony
ad8c31699f
Merge pull request #6463 from delroth/auto-update
Initial implementation of the Dolphin auto-updater for Windows
2018-03-20 11:28:26 -07:00
Pierre Bourdon
37902c4aa4 DolphinWX: depend on Updater in order to make sure the binary is included in default builds 2018-03-20 19:21:19 +01:00
JosJuice
a71c615435 Make strings more consistent between DolphinWX and DolphinQt2
Reduces the number of strings to translate.
2018-03-19 18:52:46 +01:00
Lioncash
50a476c371 Assert: Uppercase assertion macros
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
2018-03-14 22:03:12 -04:00
Stenzek
e31cc1f679 ShaderCache: Implement background shader compilation
This enables shaders to be compiled while the game is starting, instead
of blocking startup. If a shader is needed before it is compiled,
emulation will block.
2018-03-10 16:11:19 +10:00
Stenzek
9fa24700b6 VideoConfig: Collapse ubershader configuration fields to a single value 2018-03-10 15:56:45 +10:00
Léo Lam
63838c013b
Merge pull request #6281 from JosJuice/unify-gamelist-code
Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
2018-03-09 20:39:02 +01:00
Léo Lam
ef975b8c56
Merge pull request #6377 from sepalani/memcheck
DolphinWX: Propagate IDM_UPDATE_BREAKPOINTS to CodeWindow
2018-03-09 20:35:54 +01:00
JosJuice
1f1dae367d Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
The original reason I wanted to do this was so that we can replace
the Android-specific code with this in the future, but of course,
just deduplicating between DolphinWX and DolphinQt2 is nice too.

Fixes:

- DolphinQt2 showing the wrong size for split WBFS disc images.

- DolphinQt2 being case sensitive when checking if a file is a DOL/ELF.

- DolphinQt2 not detecting when a Wii banner has become available
after the game list cache was created.

Removes:

- DolphinWX's ability to load PNGs as custom banners. But it was
already rather broken (see https://bugs.dolphin-emu.org/issues/10365
and https://bugs.dolphin-emu.org/issues/10366). The reason I removed
this was because PNG decoding relied on wx code and we don't have any
good non-wx/Qt code for loading PNG files right now (let's not use
SOIL), but we should be able to use libpng directly to implement PNG
loading in the future.

- DolphinQt2's ability to ignore a cached game if the last modified
time differs. We currently don't have a non-wx/Qt way to get the time.
2018-03-09 13:08:38 +01:00
Léo Lam
3af09da0f3 UI: Show title ID in info panel
Add a way to easily get the title ID of a game. For Wii titles, it's
sometimes more useful to know than the game ID.
2018-03-07 17:40:22 +01:00
Léo Lam
1de17d20e1 Fix render surface when using Render to Main and debugger
This fixes a regression introduced by de632fc9c.
2018-02-27 13:18:43 +01:00
spycrab
7f3c1a2de4 Qt/OSX: Fix icon 2018-02-24 21:12:22 +01:00
Stenzek
de632fc9c8 Renderer: Handle resize events on-demand instead of polling
We now differentiate between a resize event and surface change/destroyed
event, reducing the overhead for resizes in the Vulkan backend. It is
also now now safe to change the surface multiple times if the video thread
is lagging behind.
2018-02-20 01:15:55 +10:00
Sepalani
a9b89b35fb DolphinWX: Propagate IDM_UPDATE_BREAKPOINTS to CodeWindow 2018-02-13 20:20:58 +01:00
Rukai
d07e212cef Qt: Implement Wii TAS input window 2018-02-13 07:15:54 +11:00
Stenzek
505d30be3d DolphinWX: Move fullscreen switch to after startup is complete
This means that any error messages won't be hidden by the fullscreen
window.
2018-01-27 14:17:14 +10:00
JosJuice
04b9310bb6 Tweak Qt debugger strings to be more translation friendly 2018-01-21 16:33:46 +01:00
Ryan Meredith
1fabc93756 ISOProperties: Rename Edit Config and Show Defaults 2018-01-11 08:31:01 -05:00
JosJuice
af51063a9a DolphinWX: Rewrite the logic for adding/removing games from cache
Thanks to degasus for coming up with most of this faster design.
2018-01-05 19:52:14 +01:00
JosJuice
04cefc6ed3 DolphinWX: Use vector instead of list for game list cache
The advantage of std::list is that elements can be removed from the
middle efficiently, but we don't actually need that, because the
ordering of the elements doesn't matter for us. We can just replace the
element we want to remove with the last element and then call pop_back.

Replacing list with vector should speed up looping through the elements.
2018-01-04 17:14:35 +01:00
spycrab
0dd52ca7ab UICommon: Move screensaver code to UICommon 2018-01-03 12:38:33 +01:00
JosJuice
9dd88d76dd Redesign the ability to load state at boot
BootParameters can now contain the path of a savestate to load at boot.
Movie has been made to use this instead of poking at Core.cpp's state.
2017-12-26 20:39:03 +01:00
Ryan Meredith
1f226ec14f Update Readme.md and various fixes 2017-12-20 10:54:51 +01:00
JosJuice
4973ae9952 Rename GFX_HACK_COPY_EFB_ENABLED to GFX_HACK_COPY_EFB_SCALED
Not sure why it was named like this... It doesn't affect whether
the copy happens or not, only what resolution it uses.
2017-12-18 21:55:02 +01:00
Leo Lam
7e7f1fe713
Merge pull request #6226 from aldelaro5/add-xer-debugger
debugger: Add the XER to the register view
2017-12-15 20:49:24 +01:00
bobjrsenior
7589ade972 DolphinWX: Add TB and GQR to Register Window
The Time Base Register was added under the BAT registers. TBL and TBU
were ORed together to get one 64-bit value to display. It is labeled TB

The Graphics Quantisation Registers were added under the Segment
Registers. They are Labeled GQR0-GQR7.

All new registers are read only.
2017-12-15 20:38:46 +01:00
Lioncash
e88c457276 DolphinWX: Resolve missing declaration warnings
Without the include, the prototypes of the functions can't be found
2017-12-07 18:58:20 -05:00
Pierre Bourdon
8a830074b6
Merge pull request #6220 from leoetlino/utf8
WX: Fix argument parsing
2017-12-07 15:16:39 +01:00
JosJuice
9d8a82e1d9 Don't use wrong encoding for paths when opening streams on Windows 2017-12-05 21:23:35 +01:00
Lioncash
ed2be3b8e3 DolphinWX/Main: Fix shader compilation dialog translations
Fixes issue 10685
2017-12-04 04:33:49 -05:00
JosJuice
c4db59e7b6 Clarify the "Select the OTP/SEEPROM dump" message
Most users don't know what OTP/SEEPROM means.
2017-12-02 18:23:38 +01:00
aldelaro5
b7fdf374e6 debugger: Add the XER to the register view 2017-12-01 05:31:41 -05:00
Léo Lam
60afb1d1b4 WX: Fix argument parsing
Manually convert each argument to a UTF-8 std::string, because the
implicit conversion for wxCmdLineArgsArray to char** calls ToAscii
(which is obviously undesired).

Fixes https://bugs.dolphin-emu.org/issues/10274
2017-11-26 18:18:48 +01:00
Stenzek
470e8d63b6 VideoConfig: Rename "Full Resolution Frame Dumps" to "Internal"
What is the "full" resolution, anyway?
2017-11-21 17:20:55 +10:00
Stenzek
39559f6358 VideoConfig: Remove bSupportsInternalResolutionFrameDumps
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
Leo Lam
80bcc0d58d
Merge pull request #6186 from lioncash/enum-class
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19 15:08:16 +01:00
JosJuice
b8c83dd5f3
Merge pull request #5973 from ligfx/renamefifoqueue
Rename Common::FifoQueue to Common::SPSCQueue
2017-11-19 13:51:22 +01:00
Lioncash
5337e58284 VideoConfig: Make StereoMode an enum class
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
Pierre Bourdon
609a17a0cd
Merge pull request #5498 from iwubcode/hybrid_xfb
Hybrid xfb
2017-11-19 04:58:59 +01:00
iwubcode
53684701fa HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
iwubcode
7f0834c919 Add 'immediate xfb' which reduces xfb latency at the cost of graphical errors 2017-11-17 22:11:30 -06:00
iwubcode
a71bc9ebbf Move XFB UI option to be under XFB group 2017-11-17 22:11:30 -06:00
iwubcode
65cd085f9b Add new GUI option to skip XFBToRam and remove old XFB options 2017-11-17 22:11:28 -06:00
iwubcode
198d3b69b4 Add ability to dump xfb copies to texture for debugging purposes 2017-11-17 22:11:28 -06:00
Anthony
aa4088a494 [UI] Remove fullscreen resolution UI. 2017-11-17 13:05:50 -08:00
Leo Lam
1e24a5f309
Merge pull request #6167 from ligfx/encapsulatedefaultdevice
EmulatedController: encapsulate default device behind getters/setters
2017-11-11 17:11:56 +01:00
LAGonauta
e7f0279ffc The latency setting now appears only if there is at least one backend
that supports it.
2017-11-07 14:56:43 -02:00
Anthony
835eff15a1
Merge pull request #6162 from JosJuice/nand-check-save-game-name
When NAND is damaged, show title names from save files
2017-11-06 23:11:34 -08:00
Anthony
66ad40074d
Merge pull request #6172 from JosJuice/remove-force-ntsc-j
Remove "Force Console as NTSC-J"
2017-11-06 23:01:27 -08:00
Anthony
98ffaf9661
Merge pull request #6151 from MayImilae/adjust-cpu-override-text
Adjust CPU Override Text
2017-11-06 22:55:36 -08:00
MaJoR
4112936bae Adjust CPU Override Text
There has been a lot of confusion about what the CPU clock override
section does among users, and looking at it… I’m not surprised! It
doesn’t directly state which CPU clock rate is being overridden!

This small change adjusts the language to clarify that the emulated CPU
is being adjusted.
2017-11-06 22:39:12 -08:00
JosJuice
88d851ca45 Remove "Force Console as NTSC-J"
Nowadays that Dolphin detects regions of discs properly and doesn't
force programs with unknown regions (such as homebrew) into running
under a certain region, the "Force Console as NTSC-J" option is
practically useless for making anything run correctly. Enabling it
is however an easy way to totally break many non-Japanese games.
2017-11-06 08:23:30 +01:00
JosJuice
5e70af1ce5
Merge pull request #6109 from t27duck/missing_wiiware_makers_2
Update maker information to match the wiki
2017-11-06 08:05:19 +01:00
Michael M
1b1dd1d749 EmulatedController: encapsulate default device behind getters/setters 2017-11-04 17:08:55 -07:00
JosJuice
6902bbb696 When NAND is damaged, show title names from save files
The earlier code always tried to use TitleDatabase for getting
title names, but that didn't work for disc-based games, because
there was no way to get the maker ID.
2017-11-03 23:17:36 +01:00
JosJuice
5a6d90900e Add WiiSaveBanner class
This class is similar to the BannerLoaderWii class that was
removed in ee694e32.
2017-11-03 23:00:43 +01:00
Leo Lam
53f0974372
Merge pull request #6159 from JosJuice/consistent-gui-strings
Make GUI strings more consistent
2017-11-03 14:18:54 +01:00
Léo Lam
71d4c47eb5 UI: Tweak the NAND check popup message
Inform the user that re-launching titles can also fix the issues.
2017-11-02 16:02:55 +01:00
JosJuice
d454e041b0 Make GUI strings more consistent
Most of the changes I've made here were because of small
differences between DolphinWX and DolphinQt2.
2017-11-02 14:32:16 +01:00
Léo Lam
96d7c39891 NANDImporter: Add support for dumps that don't include keys
This adds support for NAND images that only include the NAND
(i.e. without the OTP/SEEPROM dump appended at the end of the file).
2017-10-28 21:27:18 +02:00
Léo Lam
4b4a9a6486 UI: Implement a command line option to boot NAND title 2017-10-24 11:41:55 +02:00
Léo Lam
346ca009f9 Remove NANDContentManager 2017-10-24 11:41:54 +02:00
Léo Lam
c03aa78c8f [Cleanup] WX: Remove usage of NANDContentManager
Also clean up the way the system menu label is updated. We don't want
to access the NAND while emulation is running, and especially not
that many times per second on an unpredictable timing.
2017-10-24 11:41:54 +02:00
Léo Lam
60ba382799 Boot: Add support for booting NAND titles with just the ID 2017-10-24 11:41:54 +02:00
Tony Drake
b66a72eb8f Update maker information to match the wiki
This updates the maker data to (mostly) mirror that of the Wiki:
https://wiki.dolphin-emu.org/index.php?title=GameIDs

Only maker ids from that page are now included in Dolphin. This
means no homebrew/unofficial makers.

Also, separate multiple maker names with a slash
2017-10-22 11:39:16 -04:00
Leo Lam
d26eda3023 Merge pull request #6096 from leoetlino/wii-fsck
Add a way to check the NAND for issues and fix them
2017-10-11 13:01:39 +02:00
Leo Lam
bc6846ce3b Merge pull request #5922 from sepalani/mem-base
MemoryWindow: base address search added
2017-10-11 12:17:57 +02:00
Vladimir Panteleev
3c51560857 CheatSearchTab: Add UI for manually adding an address
Sometimes an address is already known, e.g. from existing cheat
codes, and only inspecting the variable's value is desired.
2017-10-11 11:41:26 +02:00
Stenzek
edb5f855c2 VideoConfig: Prevent race condition on g_Config when refreshing
There was a race condition between the video thread and the host thread,
if corrections need to be made by VerifyValidity(). Briefly, the config
will contain invalid values. Instead, pause emulation first, which will
flush the video thread, update the config and correct it, then resume
emulation, after which the video thread will detect the config has
changed and act accordingly.
2017-10-10 23:56:33 +10:00
Léo Lam
02e17594b0 WiiUtils: Attempt to fix the NAND more aggressively
Change the repair logic to fix issues more aggressively by deleting bad
titles. This is necessary because of a bug in Dolphin's WAD boot code.

The UI code was updated to inform the user about titles that will be
deleted if they continue a repair, before deleting anything.
2017-10-08 18:57:58 +02:00
Léo Lam
239167245d Add a way to check the NAND for issues and fix them
Old versions of Dolphin are so broken regarding NAND handling that
we need this to repair common issues and avoid issues with titles
like the System Menu or the Wii Shop.

This isn't an exhaustive check, but this will catch most issues
and offer to fix them automatically (if possible).
2017-10-08 18:31:42 +02:00
FoxP
999c23b182 Add some missing WiiWare makers
Some of my WiiWare games does not have a maker :
- Blue's Journey : EAFPJ8
- Magician Lord : EACPJ8
- The King of Fighters '94 : EAGPJ8
- The Last Ninja : C9XPGX
- World Games : C9ZPGX
2017-10-08 13:04:23 +02:00
Leo Lam
5f0de43828 Merge pull request #6098 from aleios/master
WX: Reshow cursor after game termination (issue 10503)
2017-10-05 21:11:20 +02:00
Sepalani
f65dcdcdca DebugInterface: Rename InsertBLR to Patch 2017-10-05 20:22:16 +02:00
aleios
6d04d4b9a2 Fix mouse cursor invisble in WX after game termination 2017-10-05 18:46:37 +02:00
Leo Lam
1e6b670795 Merge pull request #6092 from t27duck/missing_wiiware_makers
Add some missing WiiWare makers
2017-10-04 13:11:18 +02:00
Tony Drake
4035d0781c Update the cache revisions for WX and QT 2017-10-03 17:35:14 -04:00
JosJuice
e50fe00e93 Disable "Eject Disc" when emulation is not running 2017-10-03 17:20:36 +02:00
PEmu1
93e1235a54 More Capitalization Changes 2017-09-27 21:37:44 +02:00
Leo Lam
1501ff7f8e Merge pull request #5714 from ligfx/qtadvancedconfig
Qt: Advanced config pane
2017-09-27 20:24:48 +02:00
Anthony
56d0cb8d61 Cleanup var naming in ISOProperties 2017-09-20 16:46:46 -07:00
JosJuice
e4faabb763 Add an option to eject the disc 2017-09-17 11:44:48 +02:00
JosJuice
b6bc3bc7c9 Remove DVDInterface::ChangeDiscAsHost
There isn't much point in keeping this utility function around
now that RunAsCPUThread provides a simple way of running things
on the CPU thread.
2017-09-17 11:44:27 +02:00
Lioncash
6c326e7215 InputConfigDiag: Fix building DolphinWX on the latest MSVC
const char[1] and wxString() can both be converted to multiple common
types, so this results in an ambiguous conditional expression
compilation error (C2445)
2017-09-17 02:38:12 -04:00
Michael M
4ea8166b93 Qt: Advanced config pane 2017-09-15 10:35:01 -07:00
Leo Lam
7cb8d6612c Merge pull request #5870 from JosJuice/lazy-filesystem
DiscIO: Use Common::Lazy more
2017-09-15 19:30:05 +02:00
Leo Lam
2b4bf8662a Merge pull request #5577 from ligfx/separateexpressionparsingandbinding
ControlReference/ExpressionParser: separate parsing from binding
2017-09-15 19:11:57 +02:00