Commit Graph

36089 Commits

Author SHA1 Message Date
sowens99 51cd92a04c QFileDialog: differentiate between recording export/play
Previously, the file dialog window was ambiguous between saving or loading a .dtm. This commit simply gives a bit more context to differentiate the two windows.
2021-09-28 22:30:19 -04:00
Scott Mansell a963829ab6
Merge pull request #10134 from malleoz/framecount-in-input-display
RenderBase: show total framecount on movie playback
2021-09-29 15:23:59 +13:00
sowens99 53ca2ec274 RenderBase: show total framecount on movie playback
Previously, when playing back a movie, you could not see the total frame count of a movie, only the total number of input polls.

This change simply shows the total frame count on movie playback.

Note that this change also results in the framecount and framecount total ALWAYS being displayed if show_movie_window is true, regardless of whether or not m_ShowFrameCount is true. I believe this is fine, as TASers are much more likely to reference the framecount than the input poll count.
2021-09-28 22:15:25 -04:00
sowens99 ffaa149b96 Core: UpdateTitle with total framecount on recording playback
Previously, only the number of total input polls would be shown in the window title when playing back a movie. This simply adds the VI / frame count total as well, which is a much more relevant number to look at while TASing.
2021-09-28 21:51:24 -04:00
sowens99 556323561c Do not update hotkey assignments on window close
If this commit is not applied, then the previous commit will cause hotkeys to be saved if there is a syntax error when hitting "OK" and the user presses the X to close the window.

This commit only applies changes to hotkey config if no syntax error occurs.
2021-09-27 16:21:28 -04:00
sowens99 242bce27a1 Do not accept on hotkey syntax errors
Previously you could type whatever gibberish you wanted into the formula bar, press OK, and receive a modal syntax error window. Closing the syntax error window would cause the hotkey config window to close as well, and your gibberish would be applied to the hotkey assignment.

This commit requires that a syntax error does not occur before accept() is called.
2021-09-27 14:28:08 -04:00
sowens99 6fd54276ea Include digital L and R buttons in Input Display
Previously, using TAS Input to activate the digital L and R buttons would not show these inputs in the Input Display. This commit adds the digital L and R presses to the Input Display, and also displays just "L" or "R" if the analog is set to 255.
2021-09-25 18:07:42 -04:00
sowens99 d5845ff281 HotkeyScheduler: add PlayRecording hotkey support
This hotkey was not previously implemented in the scheduler, even though it's present in the hotkey menu.
2021-09-24 11:58:41 -04:00
Mai M 753a1595bf
Merge pull request #10122 from malleoz/record-hotkeys-without-game-running
HotkeyScheduler: Check for certain hotkeys in game list
2021-09-23 11:32:43 -04:00
sowens99 e5051c516f Check for certain hotkeys in game list
There are certain hotkeys that we absolutely want to be able to use
without being in-game. Presently, no hotkeys are recognized unless we
are in-game.

I've identified and moved the following hotkeys to be checked before the
HotkeyScheduler checks to see if the Core is running:

- Open
- Exit
- Start Recording
- Refresh Game List

Note that Play Recording should also be implemented here, however it
looks like there is no signal for a PlayRecording() function, so this
will have to be handled in a later PR once that signal is created and
implemented.
2021-09-23 10:46:04 -04:00
Sintendo da9546cb2f Jit64: Merge subfx and subfcx
Again, logic and optimizations are mostly the same so it makes sense.
2021-09-22 22:29:20 +02:00
Sintendo a725eb80ff Jit64: Merge addx and addcx
They are extremely similar and can share nearly all optimizations.
2021-09-22 22:28:54 +02:00
Lioncash 3840b55292 NetPlayClient/NetPlayServer: Remove now-unnecessary static_casts
Now that we have the enum helpers in place, quite a few casts on their
own can be removed.
2021-09-22 15:59:43 -04:00
Lioncash 80b4a4d7fd NetPlayProto: Remove now-unused MessageId type alias
Now that we have enum helpers for inserting values into packets and have
migrated all other enumerations over, there's no need to keep this alias
around any longer.
2021-09-22 15:42:04 -04:00
Lioncash a034f378a0 NetPlayProto: Turn connection error enum into an enum class
Continues the migration off the MessageId type alias
2021-09-22 15:42:04 -04:00
Lioncash dedd0b7ba1 NetPlayProto: Turn Sync-related enums into enum classes 2021-09-22 15:42:04 -04:00
Lioncash af4aaf4609 NetPlayProto: Turn MessageID enum into an enum class
Now we can leverage our helper to insert enum values without the need to
cast.
2021-09-22 15:42:04 -04:00
Lioncash 07af775afa SFMLHelper: Add stream insertion overload helpers for enum types
Will be used in future changes to eliminate the need to cast when
inserting various message IDs
2021-09-22 15:42:01 -04:00
Léo Lam 0d8ad5f53a
Merge pull request #10008 from JosJuice/android-remove-emulationstate
Android: Remove the EmulationState class
2021-09-22 11:07:19 +02:00
Sintendo a9e0f21373 Jit64: Split arithcx into addcx and subfcx
JitArm64 also opts to separate the two. The shared logic makes less
sense once we start adding more optimizations.
2021-09-21 22:11:11 +02:00
JosJuice 53d7d595e6 Android: Remove the EmulationState class
The purpose of this class was to keep track of state which the
emulation core was already keeping track of. This is rather risky -
if we update the state of one of the two without updating the other,
the two become out of sync, leading to some rather confusing problems.

This duplicated state was removed from EmulationState in the
previous commits, so now there isn't much left in the class.
Might as well move its members directly into EmulationFragment.
2021-09-21 16:34:00 +02:00
JosJuice 2cd09b8eb3 Android: Remove synchronized keywords from EmulationState
These methods are only being called from the GUI thread anyway...
2021-09-21 16:33:59 +02:00
JosJuice 3eb07e9772 Android: Don't rely on onPause for pausing before destroying surface
Fixes a crash which was uncovered (or just made more likely?)
by the previous commit.
2021-09-21 16:33:57 +02:00
JosJuice 446e2d9119 Android: Remove state from EmulationState 2021-09-21 16:32:47 +02:00
JosJuice 2c564a0b9d Android: Remove mSurface from EmulationState 2021-09-21 16:31:55 +02:00
Mai M cc84799c7f
Merge pull request #10117 from AdmiralCurtiss/disc-content-comparators
DiscIO/DirectoryBlob: Fix swapped DiscContent comparison operators.
2021-09-21 02:24:42 -04:00
Admiral H. Curtiss 6684e26ae2
DiscIO/DirectoryBlob: Fix swapped DiscContent comparison operators. 2021-09-21 08:01:21 +02:00
OatmealDome a256c11d2f DriverDetails: Add broken dual source blending bug to MoltenVK on Intel GPUs 2021-09-20 19:14:41 -04:00
OatmealDome aa64f7f14f VulkanContext: Don't assume anv for Intel GPUs on macOS 2021-09-20 18:57:19 -04:00
Léo Lam 22f7c07caf
Merge pull request #10081 from sepalani/mem-hex0
MemoryWidget: Simplify the search logic
2021-09-20 22:17:20 +02:00
JMC47 7ec02ee4d3
Merge pull request #10116 from malleoz/tas-input-gui-changes
StickWidget: Inscribe stick circle within a square
2021-09-20 14:04:36 -04:00
sowens99 3bc9f66336 Inscribe StickWidget ellipse in square
Previously, it was not clear where the boundary of the StickWidget was when interacting outside of the circle. This aims to restore the gray square present in the Wx-era.
2021-09-20 13:18:13 -04:00
Sepalani 94cba46467 MemoryWidget: Simplify the search logic
Fix leading nul bytes being ignored in hex search
2021-09-20 20:46:26 +04:00
Léo Lam 6129290d31
Merge pull request #10057 from JosJuice/jitarm64-divwx
JitArm64: Optimize divwx
2021-09-20 15:37:57 +02:00
Léo Lam a25f4fab20
Merge pull request #10080 from lioncash/membf
MemoryInterface: Migrate bitfields over to Common::BitField
2021-09-20 14:54:27 +02:00
Léo Lam b43cee8fe4
Merge pull request #10098 from AdmiralCurtiss/scan-dir-tree-trailing-slash
Common/FileUtil: Strip trailing path separator in ScanDirectoryTree().
2021-09-20 14:50:11 +02:00
Léo Lam 276ea43237
Merge pull request #10102 from lioncash/netplay
NetPlayClient: Split out OnData() into smaller functions
2021-09-20 14:41:47 +02:00
Léo Lam 29d236068c
Merge pull request #10104 from AdmiralCurtiss/cheats-manager-ux
Cheats Manager UX improvements.
2021-09-20 14:30:04 +02:00
Léo Lam 28e6e8752c
Merge pull request #10113 from JosJuice/tas-input-latency
DolphinQt: Reduce latency of TAS input's controller input passthrough
2021-09-20 14:26:13 +02:00
Léo Lam e7c0b8ecbd
Merge pull request #10114 from AdmiralCurtiss/disc-addresses
Core/DiscIO: Extract disc and partition constants to DiscUtils.h.
2021-09-20 14:25:59 +02:00
Admiral H. Curtiss ad410009bb
Core/DiscIO: Extract disc and partition constants to DiscUtils.h. 2021-09-19 22:43:52 +02:00
Mai M 70a9003947
Merge pull request #10109 from JosJuice/android-clear-confirmation
Android: Show confirmation dialog for clearing game settings
2021-09-19 16:10:22 -04:00
Mai M 57f71a55f8
Merge pull request #10110 from JosJuice/remove-request-refresh-info
Core: Remove s_request_refresh_info
2021-09-19 16:09:58 -04:00
Mai M ca2589f7df
Merge pull request #10103 from AdmiralCurtiss/cheat-search-length-underflow
Core/CheatSearch: Avoid length underflow on new search.
2021-09-19 16:09:43 -04:00
JosJuice 1a5e0c2084 DolphinQt: Reduce latency of TAS input's controller input passthrough
Fixes https://bugs.dolphin-emu.org/issues/12676.

Needs testing to see if this impacts performance when controller
inputs are changing.
2021-09-19 17:08:10 +02:00
JMC47 31ca114721
Merge pull request #10068 from leoetlino/more-low-mem1-constants
IOS: Add missing writes of low MEM1 constants
2021-09-19 09:45:01 -04:00
JosJuice b0fc95ee31
Merge pull request #10112 from JMC47/kingkongxfb
Disable Immediate XFB in King Kong
2021-09-19 15:27:21 +02:00
JMC47 c1349fa613 Disable Immediate XFB in King Kong
The game has extra XFB copies in some menus, messing up framepacing on
VRR monitors and breaking vsync in general.
2021-09-19 09:15:24 -04:00
JMC47 ca064b55fe
Merge pull request #10111 from JosJuice/networkwidget-hidden
DolphinQt: Don't update NetworkWidget when hidden
2021-09-18 09:33:45 -04:00
JosJuice 0a973ddcbb DolphinQt: Don't update NetworkWidget when hidden
Like 92a655c but for NetworkWidget (which was added later).
2021-09-18 14:41:11 +02:00