Commit Graph

157 Commits

Author SHA1 Message Date
Chris Burgener 80ac4a359d Disable changing Custom RTC when game is running 2016-07-19 16:30:00 -04:00
Chris Burgener cac9516e39 Add Configurable RTC 2016-07-19 11:20:02 -04:00
JosJuice 0a15aaaa12 Move DiscIO enums to a new file
At first there weren't many enums in Volume.h, but the number has been
growing, and I'm planning to add one more for regions. To not make
Volume.h too large, and to avoid needing to include Volume.h in code
that doesn't use volume objects, I'm moving the enums to a new file.
I'm also turning them into enum classes while I'm at it.
2016-07-13 17:29:27 +02:00
JosJuice 6951228abd Use g_want_determinism more 2016-07-05 18:50:06 +02:00
Chris Burgener e92ff9d09f Add Dump Path to Configuration Menu 2016-06-30 20:20:48 -04:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
hthh 45ad585baf GUI: Fix truncated text on OS X 2016-06-23 22:17:53 +10:00
Pierre Bourdon 63dab254e0 Analytics: Implement UI.
* Opt-in popup on first start.
* Checkbox and button in the main config dialog.
2016-06-19 02:55:46 +02:00
JosJuice 3d62b1ced7 Add more languages, and remove Hebrew because it's very incomplete 2016-05-25 23:33:18 +02:00
Anthony Serna 8ba9839161 [Config UI] add "normal speed" to speed limit 100% 2016-03-02 19:51:05 -06:00
JosJuice 85ab84935a Use the English name for DK Bongos in the English version of Dolphin
Tarukonga is Japanese. People who don't speak Japanese are unlikely to
understand it.
2016-01-07 00:12:25 +01:00
Ryan Houdek 342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
Ryan Houdek 6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek 1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
degasus 3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek 49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00
Markus Wick e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
Bartosz Kaszubowski 4655cd01fa minor General Config GUI improvements
- theme and language selectors wrapped into one GridBagSizer for better
appearance
- missing left padding added to checkbox on Advanced Pane
2015-12-08 02:13:32 +01:00
JosJuice 74ea765427 Mark more strings for translation 2015-11-20 11:33:47 +01:00
comex c22d1d68ab Mark which Wii root to use in the NAND path code.
It's used by both the GUI to do things like install WADs and check up on
the system menu, in which case the global root should be used, and by
/dev/es, in which case the local one should.  The latter isn't
*terribly* useful today, since no contents will ever be installed in
temporary roots (although it's still relevant for data directories), but
converting the whole thing makes sense because then it will Just Work
once the entire NAND is synced.

Because it would have been a bit of work to split it up (but I can if
desired), this commit also contains some basic cleanup of
NANDContentLoader:

(1) The useless interface class INANDContentLoader is removed and the
    methods are changed to just return CNANDContentLoader (the only
    implementation);
(2) CNANDContentManager is changed to use unique_ptr and cleaned up a
    bit.
2015-10-16 09:10:39 +02:00
Scott Mansell 58d893e56f Merge pull request #3075 from waddlesplash/no-regexp
FileSearch: Don't use RegExes, just do string comparisons.
2015-10-02 04:00:23 +13:00
waddlesplash 5643fe5d1f FileSearch: Don't use RegExs, just do string comparisons.
Nothing used the RegEx feature of FileSearch, and GCC < 4.9
doesn't support C++11 RegEx properly, so get rid of it.
2015-09-27 13:25:51 -04:00
Lioncash cc036ca86c Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
degasus 1c9b5efb4c CachedInterpreter: New kind of jit which always fallback to interpreter. 2015-07-22 23:19:20 +02:00
skidau ad68de59bc Merge pull request #2665 from AdmiralCurtiss/relative-memory-card-paths
GameCube Config: Store paths relatively when selected file is within Dolphin's directory. (Windows)
2015-07-20 14:09:36 +10:00
Lioncash 57ca783b72 PathConfigPane: Use shortened variants of the browse buttons 2015-07-16 18:03:14 -04:00
Admiral H. Curtiss c5b81b1aff GameCubeConfig: Case insensitive compare & absolute path compare for the part-of-exe-dir check. 2015-06-27 18:34:54 +02:00
Admiral H. Curtiss 583e3fd9e0 GameCubeConfig: If the user selects a memcard file path within Dolphin's directory, store the path relative to it.
This makes Dolphin more portable in portable mode, since the memory card file is still found if the directory is moved somewhere else.

This also means that we have to explicitly compare absolute paths if we want to check for both slots containing the same file.
2015-06-27 01:11:44 +02:00
Admiral H. Curtiss 92447fb052 Config: Add a boolean for PAL60, like the Progressive Scan one.
This decouples the Dolphin PAL60 option from the currently set value in the Wii SYSCONF file.
2015-06-13 02:09:19 +02:00
degasus c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
Admiral H. Curtiss 33f5aaf956 GameCube Config: Add option to override the NTSC auto language change.
Some NTSC games have translations on the game disc that can be accessed via the system language byte.
2015-06-11 18:40:41 +02:00
Ryan Houdek 59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Admiral H. Curtiss 3520a1d123 Config: Fix incorrect array length detection for CPU Emulation Engine options. 2015-06-07 19:39:54 +02:00
Matthew Parlane 1aa829c03c Fixed translation of strings at runtime.
Static strings can not be translated until wxLocale is initialised.

This reverts commit 0004b6004b.

Conflicts:
	Source/Core/DolphinWX/VideoConfigDiag.cpp
2015-06-07 20:38:36 +12:00
comex dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
degasus b64301d65c DolphinWX: Drop dead hotkey button. 2015-05-26 15:50:15 +02:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Lioncash af2daf6c5c WiiConfigPane: Handle switch cases explicitly
Gets rid of a warning on higher warning levels (switching on an enum type should handle cases explicitly)
2015-05-11 06:37:07 -04:00
Tillmann Karras cdf6d185f6 Fix -Wswitch warning 2015-05-11 10:17:36 +02:00
Lioncash 76bbd46829 Core: Remove some header inclusions in header files
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00
Lioncash cb20589d7f Merge pull request #2341 from lioncash/fwd
DolphinWX: Remove unnecessary forward declarations
2015-05-08 09:54:23 -04:00
comex 6414cdabb2 Merge pull request #2286 from JosJuice/wii-opening-bnr
Read opening.bnr to get names from Wii discs
2015-05-05 16:20:04 -04:00
Simon McFarlane cd7466864e Make OC slider match enabled state on window load 2015-04-30 01:28:43 -07:00
Simon McFarlane 6728f87677 Add size to CPU clock override slider
Fixes slider having 0 width on wxGTK
2015-04-29 21:49:58 -07:00
Lioncash 88f7536d81 DolphinWX: Remove unnecessary forward declarations
These are all fully defined
2015-04-28 17:32:38 -04:00
Simon McFarlane 8f56138ec4 Use wxStaticText::Wrap rather than manually inserting newlines 2015-04-28 01:17:43 -07:00
Simon McFarlane df7c9664da Set minimum size on config window
To prevent tabs from getting a scrollbar
2015-04-27 22:55:08 -07:00
comex 7fe13d9af8 Merge pull request #2175 from RachelBryk/oc
Disable oc setting while netplay or movie is active.
2015-04-25 00:58:16 -04:00
JosJuice 235ecfbed7 Return GetNames languages, to avoid hardcoded language lists in callers
This makes the code cleaner and also leads to some user-visible changes:

The wx game properties will no longer let the user
select WAD languages that don't have any names.

The Qt game list will now display names using the languages
set in the configuration instead of always using
English for PAL GC games and Japanese for WADs.

If a WAD doesn't have a name in the user's preferred language,
English is now selected as a fallback before Japanese.
2015-04-23 08:14:39 +02:00
comex 8ebe3d3478 Remove unused field. 2015-04-13 02:27:08 -04:00
Rachel Bryk 48a1d97fe7 Disable oc setting while netplay or movie is active. 2015-04-11 03:54:11 -04:00
Rachel Bryk d4fa8de35a Fix enable cheats checkbox. 2015-03-29 20:43:51 -04:00
Lioncash b459a8ec61 DolphinWX: Propagate event to refresh the game list
Prior to this refactor, certain options would cause the game list to refresh when the config modal dialog is closed (such as adding a folder to the path list). This restores that functionality.
2015-03-18 22:48:05 -04:00
Lioncash febd3909c6 DolphinWX: Eliminate remnants of the event table in ConfigMain 2015-03-18 22:48:03 -04:00
Lioncash 086ec7a9b7 DolphinWX: Break up ConfigMain.cpp into separate classes
Prior to this, ConfigMain.cpp was a large (52KB) cpp file that contained all of the UI setting code.

This breaks up the config code into subclasses of wxPanel, which are then just instantiated to add to the settings wxNoteBook. This keeps all the settings categories separated from one another and also cleans up the code in general.
2015-03-18 22:47:49 -04:00