61 Commits

Author SHA1 Message Date
spycrab
df61e527da Core/PowerPC: Add option to disable branch following 2018-07-09 22:58:40 +02:00
Techjar
5adeca4087 Add "Reduce Polling Rate" option to NetPlay
Normally, SI is polled at a rate defined by the game, and we have to send the pad state to other clients on every poll or else we'll desync. This can result in fairly high bandwidth usage, especially with multiple controllers, mostly due to UDP/IP overhead.

This change introduces an option to reduce the SI poll rate to once per frame, which may introduce up to one frame of additional latency, but will reduce bandwidth usage substantially, which is useful for users on very slow internet connections.

Polling SI less frequently than the game asked for did not seem to cause any problems in my testing, so this should be perfectly safe to do.
2018-06-30 13:13:44 -04:00
Lioncash
2354d933c8 Movie: Make pointer parameters const where applicable
A few functions don't actually modify the data being pointed to, so
these can be made pointer-to-const.
2018-06-21 12:27:30 -04:00
Léo Lam
75d056bc48 Movie: Replace some C style arrays with std::array
This replaces some C style arrays with std::array to make copying
and comparing arrays slightly nicer.
2018-05-05 23:40:23 +02: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
JosJuice
d0b9923b0a Move XFB settings in DTM header back to where they were
7f0834c9 moved the locations of the Real XFB (now XFB to RAM) and
Disabled XFB (now Immediate Mode) settings. There are programs
other than Dolphin that parse DTM headers, so this is not good.

Note that Immediate XFB actually is the inversion of Disabled XFB.
I hope that's not too much of a problem...
2017-11-19 19:03:03 +01:00
Michael Maltese
379e28b58c Add GCPadStatus.isConnected boolean 2017-11-19 16:01:08 +01: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
65cd085f9b Add new GUI option to skip XFBToRam and remove old XFB options 2017-11-17 22:11:28 -06:00
Michael M
d217e797f2 move Movie::DoFrameStep to Core::DoFrameStep 2017-09-13 17:30:18 -07: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
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
22992ae41e Boot: Clean up the boot code
* Move out boot parameters to a separate struct, which is not part
  of SConfig/ConfigManager because there is no reason for it to
  be there.

* Move out file name parsing and constructing the appropriate params
  from paths to a separate function that does that, and only that.

* For every different boot type we support, add a proper struct with
  only the required parameters, with descriptive names and use
  std::variant to only store what we need.

* Clean up the bHLE_BS2 stuff which made no sense sometimes. Now
  instead of using bHLE_BS2 for two different things, both for storing
  the user config setting and as a runtime boot parameter,
  we simply replace the Disc boot params with BootParameters::IPL.

* Const correctness so it's clear what can or cannot update the config.

* Drop unused parameters and unneeded checks.

* Make a few checks a lot more concise. (Looking at you, extension
  checks for disc images.)

* Remove a mildly terrible workaround where we needed to pass an empty
  string in order to boot the GC IPL without any game inserted.
  (Not required anymore thanks to std::variant and std::optional.)

The motivation for this are multiple: cleaning up and being able to add
support for booting an installed NAND title. Without this change, it'd
be pretty much impossible to implement that.

Also, using std::visit with std::variant makes the compiler do
additional type checks: now we're guaranteed that the boot code will
handle all boot types and no invalid boot type will be possible.
2017-06-06 16:27:52 +02:00
JosJuice
256a0cf4db Remove JITIL 2017-05-19 22:21:07 +02:00
Lioncash
7f0203a5b0 Frame: Make TAS dialogs private
Amends the TAS callbacks to internally store functions using
std::function instead of raw function pointers. This allows binding
extra contextual state via lambda functions, as well as keeping the
dialogs internal to the main frame (on top of being a more flexible
interface).
2017-04-02 04:11:47 -04:00
Chris Burgener
5224771dac Copy Wii save for current game for Netplay and TAS 2017-02-05 13:17:05 -05:00
JosJuice
6aa41ebc55 Movie: Put Wii s_bClearSave handling in a more logical place 2017-02-03 19:53:23 +01:00
JosJuice
88e0a5e418 Don't call Movie::SetTitleId from ES
Movie basically just wants to get the title ID of
the initally booted game, so let's set the title ID in
ConfigManager at boot like we do with the regular game ID.

Aside from being cleaner, this should make the approach to
title IDs compatible with booting non-disc software (WADs).
2017-02-03 19:52:25 +01:00
JosJuice
55fe77e986 Movie: Replace incorrect name and comment for numControllers
Also add similar comments to the variables memcards and bongos.
2016-12-24 18:27:56 +01:00
Chris Burgener
2e2ba37bc1 Remove leftover SkipIdle function 2016-12-19 15:20:56 -05:00
anthony
b427ead0cc Remove Frameskip 2016-10-08 11:49:51 -05:00
JosJuice
9f6000bb27 Move code into Movie::SignalDiscChange
DVDInterface shouldn't need to know anything about
the DTM format's 40-character limitation.

Also replacing "filename" in variable names with "path"
to make it clearer which variables contain the whole path
and which ones only contain the filename.
2016-08-21 12:51:14 +02:00
Chris Burgener
222c4ba077 Remove Global Declarations from Movie 2016-08-04 15:24:44 -04:00
Chris Burgener
0ef1ee7a83 Display RTC on OSD 2016-07-22 09:58:34 -04:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Mathew Maidment
b420abc908 Merge pull request #3769 from RisingFog/remove_framestep
Remove Unused Framestop Functions
2016-04-29 19:41:25 -04:00
Chris Burgener
54eb8c09f9 Remove Unused Framestop Functions 2016-04-05 12:19:12 -04:00
Chris Burgener
4aa6f6c812 Apply Wii Settings on Movie Recording/Playback 2016-02-24 21:22:37 -05:00
JosJuice
0d3c763126 State/Movie: Use char instead of u8 for game ID
Gets rid of casts.
2015-11-28 09:36:48 +01:00
Admiral H. Curtiss
277348cd75 Movie: Add the PAL60 setting to Movie files. 2015-06-14 17:10:34 +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
degasus
967eaad8df VideoCommon: rename efb2tex and efb2ram 2015-02-24 23:10:13 +01:00
skidau
dc63f8f461 Merge pull request #1471 from RachelBryk/reset-record
Allow hard resets to be recorded in movies.
2014-11-04 12:30:48 +11:00
Rachel Bryk
f9495a484c Allow hard resets to be recorded in movies. 2014-11-03 00:30:29 -05:00
Rachel Bryk
2eac08aa30 Add nunchuk support to tas input. 2014-11-02 20:52:13 -05:00
Rachel Bryk
c41b31d3ff Add wiimote tas input. 2014-10-03 12:02:52 -04:00
Rachel Bryk
4280d9777a Add support for cc and nunchuck in input display. 2014-10-01 03:51:49 -04:00
Lioncash
b06ec302d1 Remove some unnecessary semicolons 2014-09-11 13:05:31 -04:00
skidau
67f7e7e28b Merge pull request #1040 from RachelBryk/movie-cleanup
Movie cleanup
2014-09-11 11:47:55 +10:00
Rachel Bryk
08db8c646b Cleanup Movie.h/cpp. 2014-09-09 21:23:54 -04:00
Rohit Nirmal
fbc64984ca Include CommonTypes.h instead of Common.h. 2014-09-08 15:39:58 -04:00
Rachel Bryk
5a163ec5e6 Add an IsMovieActive function.
Makes things a bit simpler, since this is a common check.
2014-09-06 23:44:25 -04:00
Lioncash
41af9a81a5 Core: Remove unused parameters in Movie 2014-08-02 15:07:13 -04:00
Lioncash
eb3a1de3f6 Core: Turn some includes into forward declarations. 2014-07-27 13:37:09 -04:00
degasus
7e79806efc remove unused globals
Also change globals into statics which are only used in one file
2014-07-11 16:10:20 +02:00
Lioncash
896d7e5685 Change SPADStatus struct name to GCPadStatus
Also get rid of the typedef, since this is unnecessary in C++
2014-07-10 22:02:38 -04:00
Pierre Bourdon
b0b70381f7 Revert "Don't add segfault handler in interpreter mode" 2014-07-07 05:30:06 +02:00
Tillmann Karras
311e9e655a CoreParameter: add enum CPUBackend 2014-07-05 11:02:41 +02:00
Rachel Bryk
de3f587b32 Add support for 2 memory cards for movies. 2014-07-02 22:26:29 -04:00