Morilli
18c29ca57c
refactor saveram saving error handling in CloseGame
...
The previous code did nothing when a new rom was loaded or the emulator was closed. Now the user at least gets the chance to try again, however much that will help.
2025-06-04 22:23:39 +02:00
Morilli
1b7e858977
Harden FlushSaveRam
...
more try = more catch. Disk errors while writing saveram are rare and probably user error, but they're unrecoverable and shouldn't crash the emulator outright.
See #4258 and #1466
2025-06-04 22:00:49 +02:00
Morilli
291dd80c27
refactor LoadSaveRam
...
The code will now consider both autosaveram and normal saveram files on load. Normal saveram is preferred unless an autosave exists that is more recent than the normal save, in which case the user is prompted to select which saveram to load.
2025-06-04 21:23:55 +02:00
Morilli
f1ecb13249
ensure autosaveram interval is always set and fix off-by-1
2025-06-04 19:38:24 +02:00
Morilli
93fbb0202c
bump minimum AutoSaveRAM interval to 1 second
...
I don't think we need the option to backup saveram every frame
2025-06-04 19:10:26 +02:00
Morilli
150fc2f4c2
don't check SaveRamModified on shutdown
...
let's flush the saveram unconditionally instead of relying on SaveRamModified which could get unset from autosaves or elsewhere
see also #4344
2025-06-04 18:51:04 +02:00
Morilli
a2cf4e0797
clarify semantics and implementation of ISaveRam.SaveRamModified
2025-06-04 18:51:04 +02:00
feos
5fa597ad8a
dsda: fix automap inputs crashing outside level
...
update settings descriptions
2025-06-04 16:14:56 +03:00
YoshiRulz
abba6ed260
Add help on changing peripherals to TAStudio's `Columns` menu
...
see #2449
2025-06-03 10:49:35 +10:00
YoshiRulz
bc0090f414
Move TAStudio `Columns` > `Show Player #` into those submenus
...
resolves #2449
2025-06-03 10:22:43 +10:00
YoshiRulz
c5c760afa6
Change behaviour of TAStudio `Columns` > `Show Player #`
...
partially reverts b62f4bc6a
see #2449
No longer hides the submenu, and toggling individual columns updates the
whole-player checkbox, which is now tri-state.
Same for the "Show Keys" item.
And after all that, Mono doesn't distinguish Indeterminate :P
2025-06-03 10:22:36 +10:00
YoshiRulz
094adb0cb0
Some refactors to `TAStudio.SetUpToolStripColumns`
2025-06-03 10:10:01 +10:00
YoshiRulz
b4105f9423
Add `IEnumerable<bool>.Unanimity` extension
2025-06-03 10:10:01 +10:00
YoshiRulz
bb7e5bc02c
Add Meziantou.Polyfill
2025-06-03 10:10:01 +10:00
YoshiRulz
071423fe8b
This is polyfilled already
2025-06-03 10:09:58 +10:00
CasualPokePlayer
74647e4dc8
Linux sameboy build (with actual rumble mode changes this time)
2025-06-01 23:39:16 -07:00
CasualPokePlayer
f5588c1464
Forgot to commit these sameboy changes re rumble mode
2025-06-01 23:38:54 -07:00
CasualPokePlayer
803f72e85a
Make SameBoy's rumble mode configurable, default to rumble pak games only
...
see #4343
2025-06-01 23:38:54 -07:00
CasualPokePlayer
6c10ccd1d1
Linux sameboy build
2025-06-01 23:37:43 -07:00
Morilli
327c45f418
fix initial FeedbackBind display
2025-06-02 07:27:23 +02:00
Morilli
6c396f964a
fix outdated description
2025-06-02 07:14:24 +02:00
Morilli
4743a2af87
fix feedback binds not allowing unbinding
...
see #4343
2025-06-02 07:14:14 +02:00
YoshiRulz
5cf2d1a7d1
Further clarify `joypad.setanalog` docs
...
fixes d48bea5
see #2310
2025-06-02 06:01:19 +10:00
Morilli
3c774e2607
remove old dispose hack in MovieSession
...
no longer relevant since recent commits and didn't fail since the TasStateManager changes a while back anyway
2025-06-01 20:34:05 +02:00
Morilli
047e1556cb
cleanup MovieConversionExtensions
...
none of these clear calls are required, also resolved TODOs
2025-06-01 20:34:05 +02:00
Morilli
1da70c884d
refactor bk2->tasproj conversion
...
- don't mutilate the bk2movie during the conversion
- don't immediately set MovieSession.Movie without having loaded the taproj
2025-06-01 20:34:05 +02:00
Morilli
10f57bad2c
remove unnecessary SetMainformMovieInfo calls in TAStudio
2025-06-01 20:34:05 +02:00
YoshiRulz
c3dd2c2d63
Set `trim_trailing_whitespace` in EditorConfig
2025-06-02 03:57:49 +10:00
YoshiRulz
f98476b825
Fix code style warnings in `LibDSDA.cs`
...
fixes f0564300c
2025-06-02 03:57:36 +10:00
feos
40b7b49f8c
dsda: announce gamma on front end
...
they say the code should be so verbose that you won't need comments. indeed comments that restate the same thing that the code is doing are considered sloppy, because code will change and comments will become outdated. but if a comment is describing the logic of decision making or some unintuitive quirk, they're perfectly fine. so in a few places I go crazy with comments because the decision made there took a long time and a lot of changes, so it kinda summarizes the best result. that's it, no elaborate description of the change itself here... because I put it into that comment instead XD
2025-06-01 19:41:37 +03:00
feos
f0564300c7
dsda: set gammma after core seal but before first frame advance
2025-06-01 16:23:40 +03:00
feos
2d23183569
dsda: decide aspect once on init
2025-06-01 13:25:55 +03:00
YoshiRulz
4fd52088e4
Drop outdated part of `joypad.setanalog` docs
...
fixes d48bea505
see #2310
2025-06-01 11:05:19 +10:00
feos
93ebbc60d6
add all other official freedoom versions to db
...
(and remove unofficial ones)
2025-05-31 21:29:10 +03:00
YoshiRulz
b01436bdc6
Include Stella's B&W/colour switch in savestates
...
fixes b5e13206c
2025-06-01 01:14:18 +10:00
feos
6190a0573b
dsda: woops
...
it was there twice... with different values!
2025-05-31 11:26:35 +03:00
YoshiRulz
a0a06a58ab
Add `bizstring.{decode,encode}` ( resolves #3035 )
2025-05-31 10:35:49 +10:00
YoshiRulz
933e1616db
Fix code style warnings
...
fixes f86b7aed6
2025-05-31 09:35:50 +10:00
feos
f86b7aed68
dsda: simplify
...
predefine a set of resolutions per aspect ratio for those that can't be calculated without complicated logic (hacks)
2025-05-31 02:10:53 +03:00
YoshiRulz
7ae2f9372d
Add missing `leaveOpen: true` in `MainForm.FlushSaveRAM`
...
fixes f0daba69b
2025-05-31 08:59:43 +10:00
YoshiRulz
8c9f6bd8ce
Fix copy-paste error in `MainForm.LoadRomInternal` hiding a warning
...
fixes 348cbd18d
2025-05-31 07:59:58 +10:00
YoshiRulz
f0daba69be
Call `FileStream.Flush` for SaveRAM and movies ( resolves #3419 )
...
...and anything else which uses `FrameworkZipWriter`/`ZipStateSaver`,
which I think is just savestates
2025-05-31 07:53:57 +10:00
YoshiRulz
fe1b973132
Remove line-end whitespace in `DSDA.cs`
...
fixes 621ad8e45
2025-05-31 07:53:49 +10:00
feos
621ad8e454
dsda: remove the workaround because it broke the FOV
...
increase the resolution for 1x 16:9 instead
2025-05-31 00:51:07 +03:00
feos
8632e9d3be
dsda: a little bit less logic and more notes
2025-05-30 23:52:24 +03:00
Morilli
6b9cf49e15
delete redundant CreateDirectory wrapper
2025-05-30 22:06:56 +02:00
Morilli
4215ea81a3
remove redundant directory creation in RecordMovie
...
added in 5fc78efe85
and no longer necessary since... idk
2025-05-30 22:06:56 +02:00
feos
ec65117fdf
dsda: add some freedooms to db
...
support other aspect ratios (otherwise hires automap looks bad if we only correct aspect in frontend)
2025-05-30 22:35:02 +03:00
YoshiRulz
83169be667
Skip platform chooser when reloading core
...
if you make a mistake, you can still reopen via the recents menu
2025-05-31 05:19:19 +10:00
YoshiRulz
7665448202
Convert `LoadRomArgs` to a `record class`
2025-05-31 05:15:45 +10:00