"Don't use target-typed new for throw expressions"
where there was a type name checked-in before being removed,
I've restored it (they were all `Exception`)
This does change some behavior, but hopefully the new structure is more logical and more correct. Calling HandleFrameAfter from HandleFrameBefore definitely didn't feel proper.
* Update QuickerNES interface to accept arkanoid controllers
* Updating
* Updating quickernes to its latest version and now supporting ArkanoidNES and ArkanoidFamicom controllers
* Apply suggestions from code review
applying yoshi's suggestions
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Using proper C#
* Updating based on Morilli's comments
* Updating the linux core
* Fixes based on Yoshi's comments
---------
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Rename StartNewMovie parameter
* Move PopulateWithDefaultHeaderValues to MainForm.Movie, make private
Author still needs to be set locally
* Make PopulateWithDefaultHeaderValues non-static
* Remove now-unnecessary firmware parameter in RecordMovie
* add TODO comment
* add Prepopulate function before movie load
Now, the main header population happens after the core is reloaded, ensuring all values are in the correct state.
A few movie values still need to be set beforehand though to ensure the core reboot works correctly.
* Allow recording movies even with outstanding reboot
Should be safe now with the previous commit.
I believe this is more correct than what was previously done. In particular the lag log and statemanager should always be invalidated at the same time. Maybe the `this.IsRecording()` check should be removed altogether?
The "workaround" in question is `GTK_DATA_PREFIX='' ./EmuHawkMono.sh`,
which I'll be recommending in the short term until I can figure out how
to load or not load it. (Though `GTK_DATA_PREFIX` is likely part of the
answer).