Commit Graph

35696 Commits

Author SHA1 Message Date
Scott Mansell a33cf27885 TMEM: Handle savestate and init 2021-10-12 15:51:24 +13:00
Scott Mansell 88bd10cd30 Extend TMEM cache implementation
Now works with games that deliberately avoid invalidating TMEM because
they know textures are too large to fit:

 * Sonic Riders
 * Metal Arms: Glitch in the System
 * Godzilla: Destroy All Monsters Melee
 * NHL Slapshot
 * Tak and the Power of Juju
 * Night at the Museum: Battle of the Smithsonian
 * 428: Fūsa Sareta Shibuya de
2021-10-12 15:51:24 +13:00
Scott Mansell eee302c040
Merge pull request #10158 from phire/bb-missing-include
BoundingBox: Add missing include
2021-10-10 16:15:10 +13:00
Scott Mansell 5a8455e8ce BoundingBox: Add missing include 2021-10-10 13:21:31 +13:00
Scott Mansell af043c07bb
Merge pull request #10096 from phire/consolidate_tex_unit_addressing
Consolidate TexUnit addressing
2021-10-10 09:10:52 +13:00
Scott Mansell 9fa26624b0 BPMemory: Refactor/consolidate TexUnit Addressing
Currently the logic for addressing the individual TexUnits is splattered all
across dolphin's codebase, this commit attempts to consolidate it all into a
single place and formalise it using our new TexUnitAddress struct.
2021-10-10 09:09:43 +13:00
Scott Mansell ef0e401708 BPMem: Abstract TexUnit Addressing into struct
The addressing of the texture units is a bit non-obvious.
This struct abstracts the complexity away.
2021-10-10 09:01:57 +13:00
JMC47 1beaa07793
Merge pull request #9670 from iwubcode/freelook-input-controller
Core / VideoCommon: refactor FreeLookCamera
2021-10-09 12:18:41 -04:00
iwubcode 514475646d VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
iwubcode aa07fde8a0 VideoCommon: update fov multiplier variables and add constant variables for defaults to the Free Look camera 2021-10-08 18:17:20 -05:00
iwubcode 0bbea6d67b Core: Update state to account for save system change 2021-10-08 18:17:18 -05:00
iwubcode e70157474b Core / VideoCommon: refactor FreeLookCamera to have the underlying controller handle all the logic (field-of-view, movement, etc) 2021-10-08 18:16:32 -05:00
Léo Lam ff1cb5a1c0
Merge pull request #9803 from Techjar/bbox-videocommon
VideoCommon: Abstract bounding box
2021-10-08 22:24:38 +02:00
Léo Lam d90b30ca25
Merge pull request #10145 from NoNoTeal/master
Import Apple/FFmpeg libraries for AVI dumps on macOS
2021-10-07 08:18:53 +02:00
nonoteal 90437d1574 Change how FFmpeg is imported for Apple computers.
Imports Apple libraries and also pulls swresample in, so when compiling Dolphin doesn't throw undefined symbols.
2021-10-06 18:11:32 -10:00
Léo Lam bf6a278c04
Merge pull request #10131 from malleoz/hotkey-syntax-fix
IOWindow: Do not accept on syntax errors
2021-10-06 00:27:06 +02:00
JosJuice a6023c1f79
Merge pull request #10153 from PPLToast/gba-rename
Rename GameBoy -> Game Boy
2021-10-05 16:30:32 +02:00
PPLToast e26d2053e2
Update MappingWindow.cpp 2021-10-05 16:53:23 +03:00
Techjar 1161af8059 VideoCommon: Abstract bounding box
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
2021-10-04 15:51:24 -04:00
Léo Lam 33ffc7aa66
Merge pull request #10146 from JosJuice/nkit-convert-warning
DolphinQt/Android: Add warning when converting NKit files
2021-10-03 21:47:04 +02:00
JosJuice 207c931a04 Translation resources sync with Transifex 2021-10-03 19:41:38 +02:00
Léo Lam 480cd35951
Merge pull request #10138 from Pokechu22/abort-on-panic-alert-fmt
Fix AbortOnPanicAlert with PanicAlertFmt
2021-10-03 19:10:19 +02:00
Léo Lam 9dc6229705
Merge pull request #10148 from JosJuice/i18n-keep-addresses
DolphinQt: Add i18n comment for "Keep addresses where value in memory"
2021-10-03 19:00:07 +02:00
JosJuice 8f9086f28a DolphinQt: Add i18n comment for "Keep addresses where value in memory"
This string is extremely likely to be mistranslated without the
proper context. Actually, it's probably impossible to translate
this string in a good way to some languages, but I'm not sure how
to solve that. Let's at least add an i18 comment for now.
2021-10-03 16:12:37 +02:00
Pokechu22 ec9db320d3 Fix AbortOnPanicAlert with PanicAlertFmt
PR #10066 added functionality to call std::abort when a panic alert occurs; however, that PR only implemented it for MsgAlert and not MsgAlertFmtImpl, meaning that the functionality was not used with PanicAlertFmt (only PanicAlert, which is not used frequently).
2021-10-02 17:24:09 -07:00
JosJuice 9bb85ca706 DolphinQt/Android: Add warning when converting NKit files
Yes, that's right! It's time to add even more NKit warnings,
because users still don't understand what NKit is or how it works!

More specifically, some users seem to be under the impression that
converting an NKit file to for instance RVZ using Dolphin's convert
feature will result in a normal RVZ file, when it in fact results in
an NKit RVZ file (since NKit is not a container format in the sense
that GCZ/WIA/RVZ/WBFS/CISO is, but rather a kind of trimmed ISO).
I can hardly blame users for not knowing this, because it's not
intuitive unless you know the technical details of how NKit works.
2021-10-02 11:09:36 +02:00
Mai M 890a5ed99a
Merge pull request #10141 from shuffle2/arm64-buildfix
fix unused variable warning
2021-09-30 14:49:42 -04:00
Shawn Hoffman e11fdaabf1 fix unused variable warning 2021-09-30 14:27:53 -04:00
Scott Mansell 40d9694bd0
Merge pull request #10139 from malleoz/movie-mismatch-fix
Movie: display correct input difference on movie mismatch
2021-09-30 15:34:10 +13:00
sowens99 faa5cf40ce Movie: display correct input difference on movie mismatch
Previously, s_temp_input was being used for BOTH the savestate's and the movie's input printout in the panic alert.

This commit simply performs memcpy from the correct vector for the movInput printout.
2021-09-29 20:58:19 -04:00
Scott Mansell a7224b299c
Merge pull request #10136 from malleoz/show-input-polls-on-m_ShowFrameCount
RenderBase: Show input count on m_ShowFrameCount
2021-09-30 07:49:09 +13:00
sowens99 30dcac15fa RenderBase: Show input count on m_ShowFrameCount
Just to stay consistent, I believe it is best to show total input polls alongside the framecount.
2021-09-29 14:36:09 -04:00
Scott Mansell a47b91e946
Merge pull request #9945 from OatmealDome/intel-broken-discard
DriverDetails: Add broken dual source blending bug to MoltenVK on Intel GPUs
2021-09-30 06:04:06 +13:00
JosJuice c84c1ac69e
Merge pull request #10124 from malleoz/play-recording-hotkey-support
HotkeyScheduler: add PlayRecording hotkey support
2021-09-29 16:26:56 +02:00
Scott Mansell bb367394cf
Merge pull request #10129 from malleoz/recording-save-playback-window
QFileDialog: differentiate between recording open/save
2021-09-29 15:39:25 +13:00
Scott Mansell 34b6a788c2
Merge pull request #10133 from malleoz/play-recording-vi-total-display
Core: UpdateTitle with total framecount on recording playback
2021-09-29 15:33:21 +13:00
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 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
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
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