Commit Graph

21615 Commits

Author SHA1 Message Date
Morilli 1fc443640a Reorganize input display drawing
I tested all combinations I can think of and this looks correct. Hopefully this can easily be verified with the given code comments now.
2024-09-14 09:54:33 +02:00
YoshiRulz c913c5a6e6
Further improve malformed `.cue` UX
see 8f963ba58, #4013
2024-09-14 04:59:38 +10:00
YoshiRulz fa361ce06c
Add Analyzer for finding errors with ternaries in interpolated strings
why is this not part of the SDK
2024-09-14 02:44:08 +10:00
YoshiRulz 3a3f567dad
Fix copy-pasted method name 2024-09-14 02:44:08 +10:00
kalimag f90126f19b Overhaul cheat handling during rom load/close
- Stop overwriting/deleting other games' cheat files after rom change
- Always clear/update references to disposed memory domains
- Keep current cheats after core restart
2024-09-14 00:42:34 +10:00
kalimag 76e73e1897 Remove duplicate method in `CheatList` 2024-09-14 00:42:34 +10:00
kalimag ed13e0ef24 Save main window maximized state 2024-09-13 23:32:12 +10:00
kalimag ad73d39176 Prevent title bar and menu moving off-screen 2024-09-13 23:32:12 +10:00
kalimag a3bf347e22 Defer main window resize while minimized/maximized 2024-09-13 23:32:12 +10:00
kalimag 2e4d2ce232
Add option to disable automatic resize of main window (squashed PR #4011)
* Add option to disable automatic main window resize

* Add option to window size submenu

* Rename parameter to `forceWindowResize`

* Add XML doc comments

* Save main window size

* Make `Config.MainWndx `/`MainWndy` nullable

* Reduce total diff size

* Move cast inside of `foreach`

* Remove obsolete workaround

Position isn't saved anymore when minimized

* Combine config values into `Point` and `Size`

* Add `Point` and `Size` to known good serializable types

* Remove doc comment from implementation
2024-09-13 22:17:27 +10:00
CasualPokePlayer d0482ac787 Fix EGL fixes
fixes 3b62a38f1d
2024-09-12 19:54:04 -07:00
Morilli 494dcb1224 start OSDManager cleanup 2024-09-12 18:48:58 +02:00
YoshiRulz dc582a4e7a
Skip setting `SDL_HINT_VIDEO_X11_FORCE_EGL` on NixOS again
see 60fae3540, 08bd14e80, and 3b62a38f1
2024-09-13 00:17:55 +10:00
Morilli 89235cc9cf Make FramesPrompt title readable 2024-09-12 11:10:54 +02:00
CasualPokePlayer 4d71db1089 Add many more missing TMDs
resolves #4028
resolves (partially) #3840
2024-09-12 00:36:29 -07:00
CasualPokePlayer 245f0e2271 Don't invoke UB with possibly unaligned memory 2024-09-11 16:26:00 -07:00
CasualPokePlayer 3b62a38f1d More properly fix EGL issues 2024-09-11 16:26:00 -07:00
Morilli fdb7a0df46 Remove no-op 2024-09-11 19:51:30 +02:00
YoshiRulz 6b5bd34c07
Demote SA1137 to a warning
"Elements should have the same indentation"
2024-09-12 02:09:13 +10:00
Asnivor 6513e2700c
Update readme.md 2024-09-11 16:48:12 +01:00
ASNiVOR 2ec60924d0 [ChannelFHawk] Markdown is the devil 2024-09-11 16:47:02 +01:00
ASNiVOR 958eb454e3 [ChannelFHawk] Update readme 2024-09-11 16:44:40 +01:00
ASNiVOR fabc7e9aca [ChannelFHawk] Enable for release 2024-09-11 16:08:34 +01:00
ASNiVOR 58b5f40277 [ChannelFHawk] Add viewport controls as a SyncSetting 2024-09-11 13:43:25 +01:00
Sergio Martin bf8758e61c
Adding Stella as A2600 emulation core (#3911)
* Adding initial version of the core

* Adding base files

* Trying to load waterbox now

* Adding stella

* Adding bk class

* Compiling bk interface to stella core

* Now compiling against Stella + SDL2-based BK backend

* Progress

* More progress

* Frame advancing (no render)

* Calling video update but crashing on zero div

* Now rendering to screen with correct palette

* Now rendering appropriately and with correct palette based on region

* Now reading controls

* Trying to capture audio

* Now adding audio

* Now polling inputs

* Now polling inputs

* Now reporting memory regions

* Added memory regions

* Removing debug prints

* Fixing indent

* Adding stella core

* Updating readme and make all cores

* Recovering ending comma

* Using heap alloc for sound buffer

* Removing unnecessary files

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Fix

* Restoring vscode

* Removing warning

* Update waterbox readme

* Fix Stella's `[Core]` attr

* Increased sound buffer size to 1Mb, as some games need more than 4K

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2024-09-11 08:18:54 +03:00
Moritz Bender a0800862b3
Refactor InputDisplayGenerator + LogEntryGenerator + ControllerDefinition (#3782)
* refactor InputDisplayGenerator and LogEntryGenerator handling
* Fix NRE in Tastudio. I can already see this avalanching into 100 different bugs
* cba, revert 48f4e13de and bring back bullshit dummy default MovieController
* Refactor MnemonicCache + make Bk2LogEntryGenerator and Bk2InputDisplayGenerator static. This should simplify stuff and make the logic clearer
2024-09-10 22:19:54 +03:00
YoshiRulz 08bd14e800
Skip setting `SDL_HINT_VIDEO_X11_FORCE_EGL` on NixOS
see 60fae3540
2024-09-11 02:57:48 +10:00
Morilli a955868e04 Fix Cell add exception in SelectBetweenMarkers
- closes #3971
2024-09-09 22:44:37 +02:00
YoshiRulz 29c15adbbf
Promote BHI1007 to a build error, fixing some cases and muting others
"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`)
2024-09-10 05:42:11 +10:00
Moritz Bender a72b0f7e8c
Cleanup before/after frame logic in MovieSession (#4023)
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.
2024-09-08 20:18:37 +03:00
YoshiRulz 09f037544f
Don't set `PrivateAssets="all"` for `System.CommandLine` package
fixes d908d7718
2024-09-09 00:26:31 +10:00
kalimag 2d938ae61d Dispose input files in DiscoHawk 2024-09-09 00:11:15 +10:00
YoshiRulz b8b7fabd3a
Nix expr: Regen NuGet lockfile 2024-09-08 23:18:03 +10:00
YoshiRulz e68243fca5
Attempt to restore InputRoll invariant during Select All (see #3971)
I believe this method was already non-atomic so this clear operation
shouldn't change anything
2024-09-08 21:46:04 +10:00
Sergio Martin aa662eb930
Update quickerNES and add Arkanoid input support (squashed PR #3997)
* 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>
2024-09-08 21:24:27 +10:00
Morilli 5e9d3cd2bc Implement clone # times hotkey for TAStudio
- closes #3992.
2024-09-08 12:44:17 +02:00
Morilli b02baf5a6a reorder TAStudio context menu items
they are now better semantically grouped together imo.
2024-09-08 12:40:40 +02:00
RetroEdit e3fee6f824 movies: normalize loaded hashes to upper case
fixes #3979
2024-09-08 19:55:15 +10:00
YoshiRulz 9c93cc0cfb Update readme section re: CLI 2024-09-08 19:48:11 +10:00
YoshiRulz 08c215905f Standardise command-line flags to kebab-case 2024-09-08 19:48:11 +10:00
YoshiRulz ab129bcf35 Improve documentation of CLI flags (output of `--help`) 2024-09-08 19:48:11 +10:00
YoshiRulz a55a5ee5a4 Add `--help` command-line flag 2024-09-08 19:48:11 +10:00
YoshiRulz d908d77186 Replace implementation of `ArgParser` using `System.CommandLine` 2024-09-08 19:48:11 +10:00
YoshiRulz bf5deafdab
Upgrade `CS0809` to an error
"Obsolete member 'memberA' overrides non-obsolete member 'memberB'"
(that simply doesn't work)
2024-09-08 19:34:49 +10:00
YoshiRulz 799f838f13
Manually implement equality on `AxisSpec`
fixes 76a30e5d7
2024-09-08 19:30:29 +10:00
Morilli 0f74595cdb Update gpgx 2024-09-08 10:54:48 +02:00
CasualPokePlayer 16d51b429d Actually use IZ80ALink's IRQ/NMI/IRQACK callbacks 2024-09-07 16:50:02 -07:00
Morilli f6ce041ccf change FirmwareOptionStatus.Ideal description
see #3974. I see no reason why there can't be multiple ideal firmwares.
2024-09-07 23:49:26 +02:00
YoshiRulz fa56f2abef
Better document genericisation of virtual CPU classes
fixes f3ea6fe02 (#1189), 84f4d6ae2, and 666cb3939
2024-09-08 07:08:45 +10:00
CasualPokePlayer 3b1641510e [A2600Hawk] Add SP_RESET for Q-Bert
Fixes "Unable to resolve Frame" exception on soft reset
2024-09-07 13:35:51 -07:00