Commit graph

127 commits

Author SHA1 Message Date
Chris Burgener
cac9516e39 Add Configurable RTC 2016-07-19 11:20:02 -04:00
Pringo
8d6f23fa9c Clarify Boot from DVD Message 2016-07-15 13:11:13 -07: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
Chris Burgener
046c96f1b8 Merge pull request #3944 from RisingFog/configurable_dump_path
Add Dump Path to Configuration Menu
2016-06-30 20:46:52 -04:00
Chris Burgener
e92ff9d09f Add Dump Path to Configuration Menu 2016-06-30 20:20:48 -04:00
JosJuice
ed42467e87 Fall back to default theme when the configured theme doesn't exist 2016-06-30 11:49:13 +02:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Pierre Bourdon
121f270367 Add an Analytics reporting system.
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
2016-06-19 02:55:46 +02:00
Scott Mansell
baad10593e GameInis: Allow one ini to cover all VC games for a console
Since all Virtual console releases use the same emulator (though there
are multiple revisions some emulators) and generally need the same
setting, this commit allows the creation of INI files which cover all
Virtual Console games fow each system.

For example, F.ini can provide settings that all NES games have in common
and C.ini will provide settings for all Commadore 64 games.

If needed, a 3 letter ini can override settings for individual games.
2016-02-05 17:35:13 +13: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
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
Scott Mansell
0216879d3e Revert "Config Hotfix: Prevent per-game settings (ie. GameINI) being stored to the global user configuration." 2015-12-24 18:25:22 +13:00
Admiral H. Curtiss
3149140052 Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration. 2015-12-22 00:16:29 +01:00
degasus
814a7da102 ConfigManager: Add get/set for missing ini options. 2015-12-12 09:52:57 +01:00
Ryan Houdek
cb5be45f72 Merge pull request #3200 from degasus/master
Throttler + Mixer: Configureable variance
2015-12-11 07:04:56 -05:00
degasus
f3b6afe1c5 ConfigManager: initialize m_revision
FifoPlayer don't set it, and don't need it. But it's used...
2015-12-02 21:37:12 +01:00
Markus Wick
a3433e162a Merge pull request #3149 from ShadowsFriend/fname_column
DolphinWX: Add a filename column
2015-12-02 15:04:36 +01:00
degasus
888c377b57 Throttler + Mixer: Configureable variance 2015-11-03 08:22:36 +01:00
flacs
05e339a605 Merge pull request #3139 from JosJuice/fix-wii-root
Mark which Wii root to use in the NAND path code
2015-10-16 16:49:34 +02: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
Christian Widmer
3fdaf377b0 DolphinWX: Add a filename column 2015-10-11 05:29:01 +02:00
Lioncash
66a576548c ConfigManager: Get rid of an unnecessary smart-pointer get() call 2015-10-08 19:36:28 -04:00
Lioncash
19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00
Lioncash
8fdb013d54 General: Toss out PRI macro usage
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Anthony Serna
db7fe9507e Implemented ability to block writes to the SD card
Renamed variable to be more accurate
2015-08-28 17:32:29 -07:00
Anthony Serna
faedf1bc5c Implemented .elf and .dol support in gamelist
Fixed a TON of structuring, formatting.

removed README.txt files from themes at MaJoR's request

Added platform icon for ELFs/DOLs
2015-08-28 11:10:03 -07:00
Anthony Serna
b6da5490c1 Changed GC adapter "Direct Connect" to false by default 2015-08-15 02:09:47 -07:00
Pierre Bourdon
a92727e862 DSPHLE: Add a config parameter to dump UCode to disk 2015-08-14 15:19:57 +02:00
Ryan Houdek
d9037d6c4a Remove perf_dir Dolphin WX option.
Move the option for the directory to the Dolphin.ini
This way more than DolphinWX can take advantage of it.
2015-08-07 01:59:29 -05:00
degasus
dc83c8912f JitArm64: Support branching fallbacks 2015-07-01 17:58:17 +02:00
Admiral H. Curtiss
1b8b99e9f1 ConfigManager: Set homebrew video mode based on Dolphin's PAL60 config instead of always using 50Hz.
This is a bit indirect, but since homebrew always boots in a European environment the framerate depends on the bPAL60 flag, which is always auto turned off if bNTSC is set to true as of 2e5e724f94. By actually indicating that we're PAL on homebrew boot, the rest just falls into place.
2015-06-19 15:07:19 +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
degasus
d31bed8b79 Fifo: Rewrite SyncGpu
The new implementation has 3 options:
 SyncGpuMaxDistance
 SyncGpuMinDistance
 SyncGpuOverclock

The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.

The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Ryan Houdek
59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Jasper St. Pierre
c84cefa990 Remove wx-based Hotkey stuff
The core InputCommon Hotkeys interface does all of this for us.
2015-06-04 10:44:20 +02:00
degasus
eabda0efa5 Hotkeys: Implement default hotkeys
Also disable the default hotkeys of the old system.
2015-06-03 19:26:43 +02: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
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
skidau
a6739c0960 Merge pull request #2386 from mathieui/irhotkeys
Add hotkeys to increase/decrease the IR
2015-05-12 13:05:53 +10:00
mathieui
ea709b6c12 Add hotkeys to increase/decrease the IR 2015-05-10 02:02:47 +02:00
Gabriel Corona
04cb6fccd6 GDB stub over UNIX socket
This is available with the `GDBSocket` option in
`~/.dolphin-emu/Config/Dolphin.ini`.

GDB can connect to it with:

    $ powerpc-eabi-gdb
    (gdb) target remote |socat STDIO UNIX:foo.sock

Because I don't like so much binding the GDB stub socket to 0.0.0.0.
On Linux, with a suitable umask, we can make sure that another local
user cannot connect to the socket.
2015-05-08 14:23:37 +02: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
JosJuice
df8e768b77 wx: Now that Wii doesn't support descriptions, rename Notes to Maker
I'm not sure if Maker is the best name (Developer? Publisher?
Company? Copyright?) but I went with it because it's
what the game properties window uses. For the sake of
backwards compatibility, the INI option wasn't renamed.
2015-05-03 16:13:55 +02:00
mathieui
ec7445d66b GCAdapter: Add a setting to toggle rumble 2015-04-30 11:35:16 +02:00
Stevoisiak
7c1ab2911a Move down Country_World
The countries are sorted alphabetically. This should have been changed
when the variable was renamed from Country_International to
Country_World
2015-04-08 18:55:16 -04:00