Commit Graph

4454 Commits

Author SHA1 Message Date
Morilli 3841d88268 Regenerate MainForm.Designer.cs
this is not a functional change. I changed something, did ctrl+z and saved.
2024-06-23 02:53:49 +02:00
Morilli e1af631af6 Apply some sketchy nullable related changes
TasView_PointedCellChanged will now not short-circuit when the OldCell has null values (happens on MouseEnter mainly).
Also, null column is accepted as this allows dragging off-control without input being dropped.
Also, OldCell and NewCell are assumed to never be null (is true in the current logic).
2024-06-23 02:11:37 +02:00
Morilli 8278b30579 Do local selection check in TasView_PointedCellChanged 2024-06-23 02:09:00 +02:00
Morilli cfc76ee47a Fix subframe core check in tastudio bk2 exporting 2024-06-22 23:04:03 +02:00
Morilli ad1f4f40b5 Fix cheat compare value saving
- closes #3567, closes #3523
2024-06-22 21:13:37 +02:00
Morilli 6364475b21 Fix potential crash in savestate loading
Also throw when attempting to create such an invalid savestate. No idea yet how that can happen but apparently it can.
2024-06-22 01:41:01 +02:00
Morilli aeb80e5810 Implement DragDrop for MultiDiskBundler
- closes #3950
2024-06-21 20:15:10 +02:00
Morilli 542e043261 Change ToRawInt to ToRawUInt
I firmly believe this has advantages. Don't ask me which.
Also move ReinterpretAsF32 to BizHawk.Common and use it more
2024-06-21 17:14:11 +02:00
CasualPokePlayer a11077ef4e Revert "Simplify MainSlnExecutable.props"
This reverts commit 1edddb2126.
2024-06-20 16:21:58 -07:00
CasualPokePlayer 1edddb2126 Simplify MainSlnExecutable.props
makes it play nicer with Rider WinForms designer and is much simpler than what was present before

also not sure where the "TargetName changing AssemblyName" behavior actually came from, testing on Rider/dotnet build/VS2022 all yield no changes to AssemblyName, so I assume this is fine
2024-06-20 15:16:48 -07:00
Moritz Bender 256218305b
Refactor IControlMainform handling in Mainform (#3935)
This allows any loaded tool to control any aspect of `IControlMainform` independently of others. Also improves rewinder handling when any tool `WantsToControlRewind`.
2024-06-20 19:16:11 +02:00
Moritz Bender 1a9e5e52f1
Refactor RamSearch to increase speed and improve functionality (#3954)
- merges `IMiniWatchDetailed` and `IMiniWatch` into one
- allow switching search modes without restarting the search
- general speed improvements due to less peeks when e.g. auto-search is toggled
- removes `PreviousType.LastSearch` due to its questionable use case
2024-06-20 18:25:15 +02:00
CasualPokePlayer 866fb86b60 Guard against mismatched GPUs with D3D11 GL interop
resolves #3939
2024-06-19 23:04:03 -07:00
YoshiRulz a9df8b40d7
Simplify About dialog audio playback 2024-06-20 04:17:01 +10:00
YoshiRulz 3490b544b4
Have About dialog copy full Git commit hash to clipboard
and use full hash in GitHub web app URI
2024-06-20 04:01:58 +10:00
YoshiRulz e5dc04dc37
Move some version processing from About dialog to `VersionInfo` 2024-06-20 03:59:39 +10:00
Morilli 90c79d2220 ensure tests don't fail 2024-06-18 21:33:56 +02:00
Morilli f6d5271c61 Add test file just to be sure 2024-06-18 21:14:35 +02:00
Morilli 8abe276829 Give slightly more infformation in LoadOrThrow 2024-06-18 20:53:46 +02:00
Morilli 89824bac1c Simplify ReinterpretAsF32 2024-06-18 20:53:20 +02:00
CasualPokePlayer 6f68c84d8f bump up max samples for melonDS 2024-06-16 23:30:53 -07:00
YoshiRulz ae74e37d2d
Fix AooRE due to malformed response from wbox core (seen in melonDS) 2024-06-17 15:59:44 +10:00
CasualPokePlayer d52e67b9e9 Don't use ToLower() 2024-06-16 21:28:50 -07:00
CasualPokePlayer a9c04524c7 get ICycleTiming from service provider
fixes 87209aa11b
2024-06-16 21:27:05 -07:00
CasualPokePlayer 87209aa11b Add way to unregister auto-registered services with BasicServiceProvider
allows for better handling with SubNESHawk and Libretro statable, maybe others
2024-06-16 21:18:24 -07:00
CasualPokePlayer 145e0431d0 Register IDriveLight for SubNesHawk
fixes another issue pointed out in #3949
2024-06-16 20:57:06 -07:00
CasualPokePlayer d2869686dc Hook up FDS and VS controls for SubNesHawk
fixes #3949
2024-06-16 20:55:34 -07:00
feos acca29a66e uae: allow loading HDFs even tho they give black screen now 2024-06-17 02:36:03 +03:00
Morilli 4cfaf74837 Simplify this function 2024-06-17 01:22:53 +02:00
Morilli bbd21eb775 Prefill values in the MultiDiskBundler from currently loaded xml
If the currently loaded "rom" is an xml, the MultiDiskBundler will now prefill its text boxes with the information from that xml instead of leaving everything empty.

- closes #3947
2024-06-17 01:11:52 +02:00
Morilli a364ec9a11 Allow creating MultiDiskBundler xmls with absolute paths 2024-06-17 01:08:49 +02:00
Morilli ec1c27596b Reduce unnecessary action duplications in MultiDiskBundler 2024-06-17 00:47:01 +02:00
Morilli 85886bc2cd Don't freeze first selection in HexEditor when freezing was canceled
- fixes #3833

The entire "primary highlight" + n "secondary highlights" system seems overengineered, but I chose to just fix this in the simplest way possible.
2024-06-16 19:54:54 +02:00
Morilli b904041edd Fix clear all / clear current tab buttons in hotkey config
fixes 3a2b3e1d06.

I fixed the incorrect logic but forgot to reverse the parameter.
2024-06-16 16:31:37 +02:00
Morilli 3a2b3e1d06 Add button to hotkey config to restore defaults for the current tab
- closes #3900
2024-06-16 16:27:20 +02:00
Morilli 33d34dca78 Ignore Restart in RamSearch when form hasn't loaded yet
- closes #3724
2024-06-15 17:38:04 +02:00
feos 4d4333aa19 uae: mnemonics 2024-06-14 12:07:25 +03:00
feos d3c560b0df uae: eject when inserting
less repeated magic
2024-06-14 10:58:42 +03:00
CasualPokePlayer f54faf4e7b Expose SGM memory for RetroAchievements
see https://github.com/RetroAchievements/rcheevos/pull/350
2024-06-13 20:21:11 -07:00
CasualPokePlayer bc1fa455f3 Fix Hex Editor scroll bar; include older dpiAware for < Win 10 v1607 2024-06-13 19:10:14 -07:00
Morilli 2cf2eaf643 Make OSD scale float to more accurate match system scale 2024-06-14 03:11:39 +02:00
Morilli 6200a12d9c Revert back to system level dpi awareness for now 2024-06-14 03:03:04 +02:00
CasualPokePlayer 99ba03823a Add back dpiAware stuff in app.manifest
also make it so it uses the newest dpiAware possible
2024-06-13 17:04:33 -07:00
feos ab20bb8eb5 simplify 2024-06-14 01:29:15 +03:00
feos 0069c6825b analyzer
(disks will be supported later)
2024-06-14 00:39:06 +03:00
feos a01a7bb61e uae: swapper 2024-06-13 23:13:42 +03:00
feos 939762d9fb uae: cd swapping will happen later 2024-06-13 19:07:15 +03:00
feos 52fb840b0e uae: swapper wip 2024-06-13 17:33:55 +03:00
CasualPokePlayer 830f5ba205 Add Amiga support for RetroAchievements 2024-06-12 23:38:18 -07:00
feos 1a62b7874c uae: allow limiting drive count 2024-06-13 00:13:16 +03:00
feos c39da847c2 uae: support up to 4 floppies through xml bundler 2024-06-12 23:49:20 +03:00
Morilli 712c82b0df Fix running on mono harder 2024-06-12 18:36:40 +02:00
feos 72f9e6c952 uae: move 2024-06-12 13:42:20 +03:00
feos 9c1db0a0cc uae: sound_stereo_separation 2024-06-12 13:38:59 +03:00
feos 4b17feaca0 uae: standalone core settings 2024-06-12 13:05:02 +03:00
feos b98045108f uae: refactor settings
enable cycle exact for cpu below 68030
add mouse speed
2024-06-12 12:57:51 +03:00
YoshiRulz cbf1bc6abf
Simplify parsing of `--dump-frames` flag 2024-06-12 06:43:05 +10:00
YoshiRulz 044729cc57
Change `SocketServer.Port` to a u16 (y'know like ports are) 2024-06-12 06:40:24 +10:00
YoshiRulz b742998296 Remove `CoreSystem` enum 2024-06-11 19:43:32 +02:00
feos 472f881f24
PUAE core (#3941)
* puae wbx submodule
export symbols
load core
firmware and command line args to core
input
settings
2024-06-11 16:02:38 +03:00
YoshiRulz bfc03434fa
Comment-out unit test cases which assume too much about filesystem 2024-06-11 16:31:48 +10:00
YoshiRulz 155ea9ac79
Remove `IGameInfoApi` which was deprecated in 2.9 2024-06-11 16:27:39 +10:00
YoshiRulz 6c27e89bc7
Remove unused `BizHawkSystemIdToEnumConverter` instance
fixes 64a6700cc
2024-06-11 16:12:45 +10:00
YoshiRulz 875e26d3ca
Remove `CoreSystem` enum 2024-06-11 16:06:40 +10:00
YoshiRulz 64a6700cc7
Remove ext. tool attributes which were deprecated in 2.9 2024-06-11 16:06:27 +10:00
YoshiRulz 415f0cc98c
When core preference changes, set for all sysIDs in group
see 823ce4f78
2024-06-11 14:07:23 +10:00
CasualPokePlayer 96f5a4b100 Fix running on Mono 2024-06-10 11:32:32 -07:00
Morilli 2765da78ef make Bk2LogEntryGenerator.GenerateLogKey static
there is no reason for it to be an instance method
2024-06-10 15:49:05 +02:00
Morilli f679d8622f Add offscreen mnemonic for SNES system 2024-06-10 15:46:32 +02:00
Morilli f99a09283a add TODO comment to BkmImport 2024-06-10 15:44:27 +02:00
YoshiRulz 14cf4b3486
Re-use SSoT when initialising `Config.PreferredCores`
could have been a static readonly field but it should be called at most
once per program lifecycle
2024-06-10 21:03:26 +10:00
YoshiRulz a8b0e74185
Maybe fix PowerShell script not running in CI
fixes c5f6dcd4e, reverts 68c160b96
2024-06-10 20:56:07 +10:00
CasualPokePlayer 823ce4f783 Add missing default entries to PreferredCores
there's some logic *somewhere* in the core to compensate for missing entries by populating the first item on the list with the first sysid applied to, but that ends up missing other sysids that item applies to, not sure where that code is, probably should be fixed?
2024-06-09 19:58:42 -07:00
Morilli 42aa9d991d Reduce hacks and duplication in TAStudio movie loading
Previously, there was no way to load a movie without saving it to a file first. This has been changed, so lots of saves and loads are no longer necessary.
This also partially gets rid of the default.tasproj, although the name is still used as a placeholder for now.
2024-06-10 04:02:38 +02:00
Morilli 0165b5f286 Allow editing subtitles and comments from PlayMovie
also resolve a TODO in regards to TasMovie disposing
2024-06-10 03:48:32 +02:00
CasualPokePlayer efc6674215 delete GenDbgHlp.cs
unused ancient code from pre-wbx days it seems?
2024-06-09 18:06:53 -07:00
CasualPokePlayer dc391721c8 Add SMS Pause button for GPGX; do various cleanups/misc fixes
resolves #3942
2024-06-09 17:51:54 -07:00
CasualPokePlayer fb76975bd2 Fix bugs in LoadM3U 2024-06-09 11:58:13 -07:00
Morilli c94c3a6fb1 Don't generate `LogKey:` in GenerateLogKey
this would cause `LogKey:LogKey:...` to get written when setting the value with the result of a GenerateLogKey call.
Luckily this was not an issue for us because the reading code indescriminately replaces all occurances of `LogKey` with nothing.
2024-06-09 20:07:40 +02:00
Morilli 0a95d86094 Optimize LsmvImport 2024-06-09 20:00:56 +02:00
YoshiRulz 68c160b96b
Skip trying to install Git hooks in CI 2024-06-09 22:29:46 +10:00
YoshiRulz c5f6dcd4e8
Make PowerShell strictly optional for Git hooks
...and remove auto-`dotnet tool restore`. If you don't have PowerShell
on `$PATH`/`%PATH%`, Git hooks will simply not be ran.
I still intend to migrate the rest of `/Dist` to PowerShell. Undecided
on unmanaged cores and wbox.
2024-06-09 12:51:32 +10:00
Morilli f0bc8fbd2e Discard apihawksurface in TAStudio LoadState when frame advancing after
This fixes an issue where lua scripts could write to the screen twice when seeking to a frame in TAStudio as the screen was not cleared between the load and the following frame advance.

This fixes / expands 1a9176e12f.
2024-06-08 14:42:38 +02:00
CasualPokePlayer bcc0d83bf0 Fix OpenGL shared contexts not actually being shared 2024-06-07 23:41:13 -07:00
CasualPokePlayer 5ad4e457d3 Make sure to scale up message coordinates too 2024-06-07 23:08:14 -07:00
CasualPokePlayer e8c957a7a8 Scale OSD text according to display scale
fixes #2605
2024-06-07 23:00:07 -07:00
YoshiRulz 4a54a99dbb
Fix typo
fixes 028861f01, reverts 1f41f5ff2
deja vu
2024-06-08 13:02:37 +10:00
YoshiRulz 028861f010
Change label of TAStudio's pause button again
reverts a123776fe and 1f41f5ff2
2024-06-08 12:36:54 +10:00
CasualPokePlayer c825603d23 Update ported core version listings 2024-06-07 18:54:41 -07:00
Morilli b487782eec Update outdated app config values 2024-06-07 17:12:35 +02:00
YoshiRulz cbf0728d4e
Scale back autorestore of dotnet tools to only be in `BizHawk.Common`
fixes f58b4640c
and to be fair this was the one place actually using a tool during the
build process, so it makes sense to keep them together I guess
2024-06-07 22:11:26 +10:00
YoshiRulz f58b4640c5
Have local dotnet tools restored with NuGet packages
reverts 8f7e61339
2024-06-07 22:03:16 +10:00
YoshiRulz 5c31711710
Automatically install client-side Git hooks
This is how npm-style RCE hacks happen by the way. You should all be
vetting `dotnet-tools.json` and all MSBuild and PowerShell scripts.
2024-06-07 15:39:44 +10:00
CasualPokePlayer 1a318941ff Fix 3DS tilting
resolves #3931
2024-06-06 21:41:56 -07:00
CasualPokePlayer be4f6c4148 More fixes for TIC80 mouse input 2024-06-06 17:25:09 -07:00
CasualPokePlayer 8fb2ba6afa Fix TIC80 mouse inputs
resolves #3938
2024-06-06 15:18:45 -07:00
CasualPokePlayer a7c8156710 fix build 2024-06-06 13:51:19 -07:00
CasualPokePlayer 43a621a695 Handle nand/firmware a bit bitter; add sound interpolation options; add hybrid screen option 2024-06-06 13:50:29 -07:00
Morilli 890111703f Simplify NESHawk InitialWRamStatePattern 2024-06-06 14:39:51 +02:00
Morilli 3b3fa2e96d Simply TAStudio ClientSettings loading 2024-06-06 14:00:46 +02:00
Morilli 1da58888ff exterminate File.OpenWrite usage 2024-06-06 13:56:42 +02:00
CasualPokePlayer 9ff8f6b63a remove some unused imports 2024-06-06 00:45:12 -07:00
CasualPokePlayer 7ec0a4c4af seal NDS
shuts up a warning
2024-06-06 00:43:49 -07:00
CasualPokePlayer b7265e2f39 Update melonDS 2024-06-05 23:37:53 -07:00
YoshiRulz 75502e7ffb
Unimplement `IEnumerable` on `RecentFiles` and `PathEntryCollection` 2024-06-06 14:36:34 +10:00
YoshiRulz fab1fae66a
Use `nameof` for `[CallerArgumentExpression]` 2024-06-06 14:11:24 +10:00
YoshiRulz e468d6ee76
Fix target-gated `#if`s to cover every applicable TFM 2024-06-06 14:07:19 +10:00
YoshiRulz 7691f2f724
Fix possible mismatch between `$(IsTargetingNetFramework)` and TFM
just in case
2024-06-06 13:16:12 +10:00
YoshiRulz 4e6559af39
Populate the default window scales for a few sysIDs 2024-06-06 13:08:02 +10:00
YoshiRulz df05537ca6
Replace `ZoomFactors` with a plain `Dictionary` 2024-06-06 13:02:11 +10:00
Morilli 7bb7cdeaee Don't double-load subtitles from movies
this duplicated all subtitles on every load... ???
- fixes bc16a2cdaa
2024-06-05 22:40:38 +02:00
Morilli 6ffe5a0d5d Fix the Subtitles button in PlayMovie not showing the form
it was immediately disposed woops
2024-06-05 19:28:44 +02:00
Morilli f90cd201bc Use `UseWindowsForms` instead of Reference
it's the modern way and there's some implications of not having it set for VS for example
2024-06-05 19:25:21 +02:00
kalimag 2c6129fb68
Fix possible TAStudio NRE (squashed PR #3936)
* Skip `AskSaveChanges` in disposed `TAStudio`, fix #3499

* Revert "Skip `AskSaveChanges` in disposed `TAStudio`, fix #3499"

This reverts commit eabe939547.

* Stop calling `AskSaveChanges()` on inactive tools, fix #3499
2024-06-05 10:00:55 +10:00
hegyak 5da5697f8f
Better Firmware Names (#3766)
* Better Firmware Names

Renaming Firmware Files based on System Name as BizHawk uses or at least renamed to be related to what it's for.

Unify Firmware names for Vectrex, Lynx, MSX resolve Name Collision, Odyssey 2 G7400, Gameboy, GameBoy Color.

---------

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2024-06-04 13:37:38 +02:00
Morilli dbb106e407 fix O2 platform frame rates rounding
fixes 1cf5af83dd
2024-06-03 18:42:10 +02:00
kalimag 1b961f248d
Sanitize text pasted into hex text boxes (squashed PR #3684)
* Sanitize text pasted into hex text boxes

Trim `0x` and `$` prefixes and whitespace pasted into `HexTextBox` and `WatchValueBox`. Prevent pasting non-hex text.

Add `ClipboardEventTextBox` control with `OnPaste` event

* Fall back to trapping paste keyboard shortcuts on Linux

* Adjust code style, seal `PasteEventArgs`

* Use slightly more sophisticated shared method for sanitizing hex strings

* Use moderately more sophisticated method for sanitizing hex strings

* More `string.Empty`

* Add some comments

* Code style

* Remove superfluous format check
2024-06-03 18:08:50 +10:00
YoshiRulz ec8ba06dbe
Attempt to fix NRE when importing `.bk2` into TAStudio 2024-06-03 09:32:49 +10:00
CasualPokePlayer 1d5a9e521d Fix some more off by ones with imgui 2D renderer
thanks GDI+
2024-06-01 17:09:12 -07:00
YoshiRulz 1f41f5ff20
Fix typo
fixes a123776fe
2024-06-02 08:54:43 +10:00
YoshiRulz a123776fe6
Change label of TAStudio's pause button 2024-06-02 08:49:57 +10:00
CasualPokePlayer c1d5d17771 Fix off by ones for drawPolygon 2024-06-01 15:24:43 -07:00
CasualPokePlayer f13f69b1ed Try fixing filling arbitrary polygons 2024-06-01 15:16:59 -07:00
YoshiRulz bc9f4afe76
Add PSX on PSP BIOS 2024-06-02 08:00:00 +10:00
YoshiRulz e18a3494c3
Change `Acceptable` PSX BIOS options to `Ideal` 2024-06-02 07:55:26 +10:00
CasualPokePlayer 1a9176e12f Fix "double rendering" in Lua/ApiHawk gui stuff 2024-06-01 14:01:01 -07:00
CasualPokePlayer dcfe55360a Prevent textures being created over the maximum texture dimension, fixes #3341 2024-06-01 13:14:19 -07:00
CasualPokePlayer 07ee33b777 Fix build 2024-06-01 08:21:30 -07:00
YoshiRulz a81adfff41
Bump Magick.NET 2024-06-01 18:04:16 +10:00
YoshiRulz 64db1febbb
Fix NRE when flushing SaveRAM in GambatteLink for some roms
fixes d788e603f
not clear on the reproduction steps, but it will of course involve a rom
which triggers the "no SaveRAM, return null" in Gambatte
2024-06-01 17:30:00 +10:00
CasualPokePlayer 0488bbd33a Fix mupen grabbing an OpenGL context based on whatever current version/flag attributes were present
This is global state that gets mucked by us since we also use SDL2 to handle OpenGL context management, Rice/Glide/Glidemk2 don't like core contexts due to them using old deprecated functionality
2024-05-31 20:50:48 -07:00
YoshiRulz d2ea93d5e2
Mark checksum and Lua test classes as single-threaded 2024-06-01 09:45:47 +10:00
Morilli 657531a328 Fix ConvertFilenameToTasMovie test 2024-05-31 19:08:40 +02:00
YoshiRulz 6bc771bf57
Use simpler implementations for "Different by" in `RamSearchEngine` 2024-05-31 13:21:13 +10:00
YoshiRulz 72a7df1227
Be consistent with `SignExtendAsNeeded` in `CompareSpecificValue`
not sure why it's applied to the pivot value here but not in
`CompareDifference`, frankly I'm not sure what it actually does
2024-05-31 13:21:13 +10:00
YoshiRulz 46584cee10
Fix remaining float comparison bugs in `RamSearchEngine` 2024-05-31 13:21:13 +10:00
YoshiRulz b279a6bdb0
Move some conditionals outside blocks in `RamSearchEngine` 2024-05-31 13:21:13 +10:00
YoshiRulz 625a7438fd
Use JIT-friendly array iteration in `RamSearchEngine.Start` 2024-05-31 13:21:13 +10:00
YoshiRulz 7d5574910c
Unindent many blocks in `RamSearchEngine` 2024-05-31 13:21:13 +10:00
CasualPokePlayer 515050d76a Remove unused import 2024-05-30 19:00:54 -07:00
CasualPokePlayer a84f5c8b17 Bump up FFmpeg writer to the first AV writer slot
fixes #3915
2024-05-30 19:00:18 -07:00
YoshiRulz 089b7ed6c5
Fix RAM Search using numeric conversion for float in comparisons
(instead of a reinterpret-cast, which its counterpart in the UI was
correctly using)
2024-05-31 11:51:41 +10:00
CasualPokePlayer 40e7297272 Add PSX DCache to RetroAchievements memory map
see https://github.com/RetroAchievements/rcheevos/issues/345 and https://github.com/RetroAchievements/rcheevos/pull/346
2024-05-30 09:39:26 -07:00
YoshiRulz b5ff65f2cb
Add Analyzer to enforce spaces in `[]` 2024-05-30 15:51:20 +10:00
CasualPokePlayer 7e6e9705ae Update libstdc++ dll and friends, also fix a crash in gambatte due to OOB string accesses 2024-05-29 18:59:11 -07:00
YoshiRulz a1256782fc
Bump `<LangVersion/>` for satellite .NET projects 2024-05-30 10:44:55 +10:00
CasualPokePlayer 7a959ffb55 Fix BizHawk.Tests.Testroms.GB build 2024-05-29 16:34:02 -07:00
YoshiRulz 01bea49ee0
Misc. refactors, reverting some code style "fixes" 2024-05-30 09:22:18 +10:00
YoshiRulz b8c600783a
Apply `<GenerateDocumentationFile/>` to satellite .NET projects 2024-05-30 09:22:17 +10:00
CasualPokePlayer e46267494d Fix BizHawk.Bizware.Test and related 2024-05-29 16:02:49 -07:00
Morilli 1da8cb9bc1 fix ExternalToolManager Fail logic for windows 2024-05-29 18:20:39 +02:00
James Groom bd786a0e95
Downgrade `<LangVersion/>` for external .NET projects
fixes 62b8ec457
2024-05-29 10:36:38 +10:00
YoshiRulz 9eb9ffa5df Enable nullability for `Cell` and co. and clean up 2024-05-29 06:24:52 +10:00
Morilli f83602c1c9 simplify and optimize some variables in DisplayManager 2024-05-28 15:17:32 +02:00
Morilli 62b8ec4578 Bump LangVersion to 12
- fix IDE0100
- fix IDE0230
- a couple of usages of the collection expression
2024-05-28 15:13:14 +02:00
CasualPokePlayer ea042d1a70 Update version info for ares
(also despite what previous commits said it was in fact updated to v138 i put in v134 by mistake urk)
2024-05-27 22:09:24 -07:00
CasualPokePlayer 70c1d90eea Document newer gui.*string/text behavior. 2024-05-27 14:55:32 -07:00
CasualPokePlayer 0c6df6e79b Don't clamp touch/screen coord transformations 2024-05-27 13:33:46 -07:00
feos c65a11eb2b fix #3917
[genesisplusgx] "VDP mode" option (for eliminate region lockups / megakey behavior) #3917
2024-05-27 19:55:45 +03:00
CasualPokePlayer ab5d4750da Add backwards compat hack for DrawRectangle; make sure images displayed have normal blending (GDI+ apparently did this?) 2024-05-25 18:17:04 -07:00
CasualPokePlayer cb901b3aff simplify drawRectangle 2024-05-25 17:42:27 -07:00
CasualPokePlayer efee5f0cb3 properly dispose everything when disposing the imgui resource cache 2024-05-25 16:25:44 -07:00
CasualPokePlayer 3716a65638 Fix unwanted bitmap disposing 2024-05-25 16:24:40 -07:00
CasualPokePlayer d6fda19d2e Fix texture caching in imgui 2d renderer 2024-05-25 16:14:48 -07:00
CasualPokePlayer 32c0bc0c73 fix drawLine off by ones correctly (again) 2024-05-25 14:15:15 -07:00
CasualPokePlayer 766da10a1d Fix another off by one for drawLine 2024-05-25 13:36:15 -07:00
CasualPokePlayer 51dac42195 fix drawLine properly 2024-05-25 13:16:52 -07:00
CasualPokePlayer 99cf91e6ca Fix off by one in drawPixel 2024-05-25 13:08:46 -07:00
CasualPokePlayer 8b9473957f Fix off by one for drawLine 2024-05-25 13:04:56 -07:00
CasualPokePlayer c85ab6cbe6 Try to fix double drawing in rectangle corners 2024-05-25 12:51:49 -07:00
CasualPokePlayer 75064675f1 Mostly correct blending for 2D renderers 2024-05-25 12:01:52 -07:00
CasualPokePlayer 9bc3e182f9 Fix DrawBox calculation 2024-05-24 22:52:58 -07:00
CasualPokePlayer 0551295157 Fix glDrawElementsBaseVertex call
indexStart should indicate the starting index element, but glDrawElementsBaseVertex expects the byte offset (i.e. 2 * indexStart)
2024-05-24 21:20:22 -07:00
CasualPokePlayer 8b969dfeab Correct uSamplerEnable uniform in ImGui shader; make sure to pop the unused imgui command before rendering
Makes gui.drawString somewhat work under OpenGL, but there's still something wrong when it's combined with other draw functions
2024-05-24 20:45:40 -07:00
CasualPokePlayer 476ac94d80 Add GPU acceleration for most of ApiHawk's GuiApi (gui.* lua APIs), refactor ApiHawk surfaces 2024-05-24 13:26:58 -07:00
Sergio Martin cadd5c7f2e Fixing a wrong variable name that caused a crash in GPGX's load state 2024-05-24 04:13:11 +10:00
Morilli 3bab84445c gpgx: implement paddle controller 2024-05-23 11:51:23 +02:00
Morilli fe645025eb gpgx: fix INPUT_SYSTEM enum 2024-05-23 11:50:42 +02:00
Morilli 955e35b61f simplify away FileInfo calls 2024-05-23 06:04:37 +02:00
James Groom 5e8cc23f75
Fix ext. tool dependencies not loading in Release config
and improve logging
2024-05-23 02:45:23 +10:00
CasualPokePlayer 8eb3b62724 Choose the DXGI swapchain model better 2024-05-20 22:30:12 -07:00
CasualPokePlayer ddf9a70bcf Do minor cleanups with D3D11 handling 2024-05-20 22:10:49 -07:00
CasualPokePlayer 2dd9284b76 Get DXGIFactory*s from the created D3D11 device instead of creating our own
Creating our own usually ends up working, but for some setups it does not (seen in Win7 VirtualBox setup)
2024-05-20 21:52:55 -07:00
CasualPokePlayer ef05b6ec2f Add OpenGL <-> D3D11 interop handling
Lets D3D11 display method take a wrapping GL tex id fast path, avoiding a CPU readback for GL cores. Requires the WGL_NV_DX_interop2 extension (which is probably somewhat well supported by GPUs?)
2024-05-20 14:54:04 -07:00
Morilli d9ac6fc455 attempt to fix fceux movie import hash check 2024-05-20 19:47:46 +02:00
CasualPokePlayer f04c85f249 Create IPipeline and classes for it, consolidate pipeline resources/creation of those resoures into pipeline construction, remove old OpenGL legacy binding 2024-05-19 20:01:10 -07:00
CasualPokePlayer 8aac335d9b Change RenderTarget to IRenderTarget, implement classes accordingly
Changes GDI+ handling quite a bit, hopefully didn't break anything
2024-05-18 01:26:37 -07:00
CasualPokePlayer 25f62c6620 Beginnings of IGL split-up, make Texture2d into an interface and make classes for each IGL implementation for this interface, do cleanups from this 2024-05-16 22:25:39 -07:00
CasualPokePlayer ea068cf70d Optimize GDI+ control rendering, maybe fix GDI+ rendering on Linux? 2024-05-16 16:41:35 -07:00
James Groom 84fd85c749
Fix `.tasproj` autoload loading mismatched savestates 2024-05-17 09:16:41 +10:00
James Groom a63efffa14
Fold some long lines 2024-05-17 09:07:45 +10:00
James Groom 3c06face00
Prevent infinite loop in `BinaryReader.ReadByteBuffer` extension 2024-05-17 09:06:48 +10:00
James Groom 51b64f63f1
Fix off-by-one in edge cases for `tastudio.ongreenzoneinvalidated`
fixes ad07eb857
also updated the docs to match the actual behaviour
2024-05-17 08:36:09 +10:00
CasualPokePlayer 1260ecd01a Avoid hard depending on Direct3D 11.1, slighly optimize presentation 2024-05-16 14:50:56 -07:00
CasualPokePlayer bfec776bd7 remove D3D9-syntax from default d3d11 vertex/pixel shader, split the shader into two (more efficient for constant buffer usage) 2024-05-15 18:40:01 -07:00
CasualPokePlayer f78fcc82e3 Giant reorg, move most of Bizware.BizwareGL to Bizware.Graphics, remove some unused code, de-duplicate more code
TODO: Change a lot of these IGL resources into interfaces (instead of doing IGL specific things for that instance in the opaque member)
2024-05-15 18:09:08 -07:00
James Groom d787c0fefc
Allow `InputRoll.QueryRowBkColor` to be used without `QueryItemBkColor` 2024-05-16 03:31:34 +10:00
James Groom fdc45cd61a
Reorder debug utilities menu 2024-05-15 23:41:06 +10:00
CasualPokePlayer 92633e7743 Add IGL extensions to replace a ton of overloaded calls, remove BeginScene/EndScene (mostly just D3D9 specific, not relevant nowadays; GDI+ usage seemed to not be needed in reality), misc cleanup 2024-05-14 19:10:33 -07:00
James Groom a2bcbbdfb8
Set a couple extra test runner parameters for main project 2024-05-15 11:10:11 +10:00
YoshiRulz 9fb98ef5ef Retarget testroms projects to `net48` to match EmuHawk 2024-05-15 10:47:38 +10:00
YoshiRulz 7e974c3475 Update lists of known testrom failures 2024-05-15 10:47:38 +10:00
YoshiRulz 66e6aa7eb8 Tell GitLab CI to continue running tests in .NET 8
fixes afc181c40
sort of defeats the purpose, but hey it was working before, and
compilation errors will still be caught automatically
2024-05-15 10:47:38 +10:00
CasualPokePlayer 60d90a32ad Remove ability to specify texture wrap mode (never was ever used besides the default clamping); merge specifying min/mag filters into one function (with only linear/nearest neighbor options) 2024-05-14 17:28:49 -07:00
CasualPokePlayer b38344077f Cleanup some IGL_OpenGL variables, slightly optimize Draw() calls 2024-05-14 17:00:45 -07:00
James Groom afc181c40b
Retarget main test project to `net48` to match EmuHawk
I swear the test runner didn't use to pick up Mono, otherwise I wouldn't have gone for .NET Core, but clearly it does now
2024-05-14 23:02:08 +10:00
James Groom 4dadbbe42e
Mark this Windows-only test method as such
apparently this works anyway under .NET Core on Linux
2024-05-14 22:51:51 +10:00
CasualPokePlayer f2f23b088d minor cleanups/fixes from last commit 2024-05-14 01:45:57 -07:00
CasualPokePlayer e293e02369 Replace D3D9 IGL impl with a D3D11 IGL impl 2024-05-14 01:37:59 -07:00
James Groom 0122dec099
Warn at runtime if a lowercase/invalid hash is added to FWDB (resolves #3916)
left the existing unit test untouched
2024-05-12 07:41:14 +10:00
James Groom ae1692f2e1
Fix passing value instead of name to AooRE
and leave a note for myself re: patches
2024-05-12 07:24:04 +10:00
CasualPokePlayer e86bbb6136 Fix building on Linux 2024-05-11 01:18:08 -07:00
James Groom d8ba3d2448
Enable running unit tests in parallel
not that it has a noticeable effect, I'm really just leaving this here so I don't forget later
2024-05-11 04:17:59 +10:00
James Groom 1c33e2bad8
Actually fix indentation in project files 2024-05-10 18:38:26 +10:00
CasualPokePlayer 702080e582 Fix tab/spacing for MainSlnExecutable.props 2024-05-09 19:53:35 -07:00
CasualPokePlayer 8a8d739fc4 Restore `<OutputPath/>` for library projects to implicit default, rework post build copying to play nicer with IDEs 2024-05-09 19:50:43 -07:00
CasualPokePlayer 8577a286a6 Revert "Restore `<OutputPath/>` for library projects to implicit default"
This reverts commit 0008531537.

Do not remove this, not until non-exe projects are doing the copying to output/dll after their post build events instead of relying on the exe project post build event to do that.
2024-05-08 22:31:17 -07:00
James Groom 0008531537
Restore `<OutputPath/>` for library projects to implicit default
see 597d2e244
2024-05-09 15:24:21 +10:00
kalimag b0fee2bbbb
Update `CurrentlyOpenRom` before `Tools.Restart` (#3691) 2024-05-07 11:44:56 -05:00
Morilli e78e53ba72 fix avwriter warning display text 2024-05-07 14:51:04 +02:00
100thCoin c380a60010 Update NESPPU.Designer.cs
Expanded the palette viewer to show all the palettes.
2024-05-07 15:55:47 +10:00
CasualPokePlayer 6967cff72d Add newly discovered CGB bootrom entry 2024-05-06 12:05:38 -07:00
James Groom d38b6d02d2
Add build flag for easily overriding TFMs
Despite the name, this affects libs too, since those have to match (at least in terms of Framework vs. Core).
For example, you could build for .NET Framework 4.6.1 with:
`Dist/BuildDebug.sh -p:ExecProjTargetFrameworkOverride=net461`
and I believe that will run on XP and later... not sure about building for 32-bit machines though, hopefully that doesn't require code changes.
You can't go below `net461` because some of our NuGet dependencies aren't available on those targets.
You may pass .NET Core TFMs, but for that you should check out the existing branch+PR.
2024-05-07 00:56:05 +10:00
James Groom b8f2437e8c
Add a few `#if`s to fix errors when targeting `net461` 2024-05-07 00:47:16 +10:00
James Groom 7f574eec25
Extract constant from attribute calls in `LibRCheevos` 2024-05-07 00:40:38 +10:00
James Groom a3f8f04d20
Use type check syntax in BizInvoke rather than `GetType` + `==` 2024-05-06 20:39:52 +10:00
CasualPokePlayer 9a60f84ff6 Remove DirectSound support
This has been the source of various reported odd issues/crashes due to buggy DirectSound drivers. DirectSound is just deprecated anyways, and the code handling it is very fragile and filled with hacks. XAudio2 would be preferred in practically any case (not to mention XAudio2 is built-in for modern Windows versions, with some redist version available for older Windows versions). OpenAL works fine as a substitute in case XAudio2 isn't available.
2024-05-05 17:52:44 -07:00
Morilli 706d7c43e6 fix build 2024-05-06 01:53:27 +02:00
KshitijKapoor8 6754120dc7 Updated Amstrad CPC Non-Sync Settings name 2024-05-06 09:11:39 +10:00
CasualPokePlayer 4d5e588a59
Remove DInput input adapter (#3867) 2024-05-05 14:19:05 -07:00
James Groom 348866b75a
Fix NRE in `movie.getinput` 2024-05-06 01:20:58 +10:00
CasualPokePlayer 597d2e244f Revert "Don't set output path for non-exe projects"
This reverts commit 41e7c04678.
2024-05-04 17:48:25 -07:00
CasualPokePlayer 7fa3288d01 Corrections to chd
CHD seems to poorly define how to handle subchannel data, this is a best guess based on what seems to be the intent of the code
2024-05-03 22:58:56 -07:00
CasualPokePlayer 6cab4a4f99 Switch libchdr to chd-rs 2024-05-02 22:14:56 -07:00
CasualPokePlayer 186a4a16f4 Fix off by one in SGB memory handling for RetroAchievements 2024-05-02 20:22:51 -07:00
CasualPokePlayer 125c11c57c Update RetroAchievement memory map for GB/C
see https://github.com/RetroAchievements/rcheevos/pull/329
2024-05-02 17:17:17 -07:00
CasualPokePlayer cc4b693c8b fix another comment 2024-05-02 15:33:08 -07:00
CasualPokePlayer 2fb02110c1 fix comment 2024-05-02 15:32:32 -07:00
CasualPokePlayer 1a0bdc521c HAWK'd CHD support in DiscoHawk 2024-05-02 15:29:16 -07:00
James Groom 9c74104e77
Re-order preferred cores menu, have invalid values auto-set to first
...upon opening menu
note that first != empty-config default (though with this commit, they all match)
2024-05-01 23:46:55 +10:00
CasualPokePlayer c2f549d02c Move zstd wrapping code to BizHawk.Common
thanks delegate*
2024-04-30 22:44:06 -07:00
CasualPokePlayer f0a2ea1ed2 don't init gpgx trace buffer when not emulating genesis, more proper genesis bootrom firmware handling 2024-04-30 20:58:03 -07:00
CasualPokePlayer 7fb09637de retroachievement fixes for gpgx sms/gg support 2024-04-30 20:22:05 -07:00
CasualPokePlayer 8b45f93aad Fix z80 bus not being added for gpgx mem domains 2024-04-30 20:11:13 -07:00
CasualPokePlayer e9af682975 Fixes/cleanups C# for GPGX (mainly for SMS/GG mode) 2024-04-30 20:08:23 -07:00
CasualPokePlayer 5fc8dd6690 Better-ish VirtualWidth/Height for GPGX 2024-04-30 14:50:06 -07:00
CasualPokePlayer b37bc7b5ff Fix #3905 2024-04-30 12:22:48 -07:00
James Groom 9087538a2d
Remove unused imports 2024-04-30 22:14:44 +10:00
James Groom 4c7ea21cea
Add a failsafe to Nyma's settings callback to avoid NREs 2024-04-30 22:06:59 +10:00
James Groom fa0c693448
Attempt to fix loading `.exe`s in Nymashock 2024-04-30 22:01:37 +10:00
James Groom b40c405921
Remove useless check from Nymashock ctor
when you load a `.bin`, well in my case it asked me to choose a platform, but once I picked PSX, it continued to synthesise a `.cue` and side-step this check
2024-04-30 22:00:41 +10:00
CasualPokePlayer 296eb8f1a0 fix message 2024-04-30 00:52:00 -07:00
CasualPokePlayer 65a7c89318 make extensions how gpgx wants to see them 2024-04-30 00:49:09 -07:00
CasualPokePlayer 60fb92f685 partially revert previous commit (seems that throwing in this callback causes a stack overflow? wtf? throwing normally works in nyma firmware handling which is in a callback so this is odd)
add proper gg firmware entry
2024-04-30 00:49:09 -07:00
CasualPokePlayer c41dea6683 Cleanup some GPGX stuff, fix system detection for archived roms 2024-04-29 23:23:17 -07:00
CasualPokePlayer 21b6bd331b Add CHD CD support 2024-04-29 22:21:47 -07:00
Sergio Martin 9dcb84336e
Wiring up GPGX as core for SMS, GG, and SG (#3902)
* Adding GPGX as core for SMS and GG
* Enabling SMS FM selection
* Allow selecting PicoDrive as the preferred core for MD/Genesis

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: feos <feykomylce@gmail.com>
2024-04-28 20:10:44 +03:00
James Groom 8a0bf19869
Restore previous GPGX display name
if you're going to fix this, fix the rest at the same time, and use the name verbatim with spaces
2024-04-28 23:54:57 +10:00
James Groom 653844e692
Add workaround for a Mono bug 2024-04-27 18:50:59 +00:00
CasualPokePlayer 127209f3a2 Fix wrong track mode being given to gpgx 2024-04-27 06:15:49 -07:00
James Groom df0ae2c2d0
Leave some comments in `LuaConsole.InputBox_KeyDown` 2024-04-27 12:15:10 +00:00
James Groom 6ed83ed7a0
Improve UX for long-running commands in the Lua REPL 2024-04-27 12:13:28 +00:00
CasualPokePlayer d4c4ef8f17 C# fixes for gpgx 2024-04-27 03:12:25 -07:00
CasualPokePlayer 06ceec6390 Fixup nyma flatbuffer comms, update flatbuffer 2024-04-27 02:52:14 -07:00
CasualPokePlayer 811555d594 fix gpgx invisible heap size
kb is not bytes
2024-04-26 16:26:00 -07:00
CasualPokePlayer fb438863f5 Fix crash when saving CD ebram 2024-04-26 16:18:34 -07:00
CasualPokePlayer 80f209ed0d Remove CD caching code
It was a sort of novel speed boost idea, but it doesn't work too well due to wbx heap limitations and the drive light still needing a callback anyways
2024-04-26 15:41:33 -07:00
CasualPokePlayer 979258f2cf Fix calculation for disc buffer size needed 2024-04-26 14:41:22 -07:00
CasualPokePlayer 55fbf68c8a Better calculation for disc buffer space needed 2024-04-26 13:53:28 -07:00
CasualPokePlayer f1dec3dd07 C# changes for fixing GPGX drive light 2024-04-26 13:51:36 -07:00
CasualPokePlayer 5326d76ec5 Fix GPGX CD buffer allocation 2024-04-26 12:55:21 -07:00
CasualPokePlayer b91f328436 More C# changes for GPGX adjustments 2024-04-26 12:47:17 -07:00
CasualPokePlayer 9e2d239a02 Adjust C# parts for GPGX changes 2024-04-26 12:12:14 -07:00
CasualPokePlayer 3c168ed64c Fix crashes when a branch is saved/loaded while the main window is minimized
primarily occurs with the case of a lua script and the user decides to minimize the main window
2024-04-25 14:14:06 -07:00
James Groom 24d2794554
Fix typo in doc comment
fixes df36aaaa1
2024-04-25 14:14:04 +10:00
James Groom df36aaaa1c
Add docs to the config props which control host audio volume 2024-04-25 04:09:39 +00:00
Sergio Martin 5cb1fe0042
Update Genesis Plus GX Core (#3889)
* Added deep freeze functionality
* Adding support for selecting sound chip
* Adding LUA interface to the deepfreeze list
* Implemented sprite always on top in the VDP
* Found and fixed the issue that manifested itself in a reset Gargoyles and an outright fail in Ristar. The issue was the use of a union type containing overlapping cd and cartdrige data. Using struct now to keep them separated
* Fix PC reg in tracelogs
---------
Co-authored-by: feos <feykomylce@gmail.com>
Co-authored-by: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
2024-04-21 18:34:54 +03:00
Morilli e06369bed8 Fix inverted timestamp condition in branch id check
fixes 05abb3adfa
2024-04-20 12:46:28 +02:00
James Groom 1ff7d54511
Make Lua `onqueryitemtext` more resilient (resolves #3897) 2024-04-19 00:03:30 +10:00
James Groom 45e2307a7b
Reword a label for clarity in the bundler 2024-04-17 14:59:27 +10:00
James Groom 8f963ba58c
Improve error dialog when `DiscMountJob` fails 2024-04-15 13:10:24 +10:00
James Groom c35aeb992f
Don't start with `CompileCueJob` if the `ParseCueJob` had an error 2024-04-15 13:01:04 +10:00
CasualPokePlayer fe8a119eaf update mGBA 2024-04-12 19:38:54 -07:00
James Groom d415bf4ca0
Fix typo
fixes 7d951c6a3
2024-04-06 03:42:21 +10:00
James Groom 7d951c6a3d
Fix `FileNotFoundException` thrown from quickslot preview
fixes 1db54108a
2024-04-06 03:41:12 +10:00
James Groom 1db54108ac
Wire up `ScreenshotForm` for the quickslot buttons in the status bar 2024-04-05 00:14:21 +00:00
James Groom 20ff7a10ba
Merge `ScreenshotForm` to custom controls dir 2024-04-04 23:59:17 +00:00
James Groom 58f810a0e1
Merge `ScreenshotForm` into one file and fix doc comment 2024-04-04 23:56:43 +00:00
James Groom 73c3056bd6
Shuffle logic between `ScreenshotForm.UpdateValues` and call-site 2024-04-04 23:51:09 +00:00
James Groom 3cb7847b35
Improve memoisation in `ScreenshotForm` 2024-04-04 23:39:17 +00:00
feos 18f8f3faa2 mame: mnemonics for Robotron 2084 2024-04-04 18:12:16 +03:00
James Groom dd9e4178d6
Use MSBuild to create empty dirs in output 2024-04-04 00:17:32 +00:00
James Groom b427e7c417
Fix generation of API reference `.xml` files 2024-04-04 00:16:11 +00:00
James Groom d0594c2224
Fix post-build file shuffling again
fixes b654d4a2a
2024-04-04 00:14:44 +00:00
James Groom 82d80bf4bf
Embed debug info for main solution only
fixes 0e892a5f1
2024-04-03 23:32:29 +00:00
Morilli b654d4a2ac Fix and simplify PostBuild file moving 2024-04-03 22:57:45 +02:00
Morilli 41e7c04678 Don't set output path for non-exe projects
surely this is safe and fine and all
2024-04-03 22:38:43 +02:00
James Groom 2206571ab8
Hide asms from ext. tool list if they don't reference any Hawk asms 2024-03-30 07:15:31 +10:00
James Groom a3faf6fbd7
Skip generating ext. tool menu items for files that aren't assemblies 2024-03-30 07:12:24 +10:00
James Groom 7e8623fdda
Retain `BizHawk.Client.` prefix in executables' assembly names 2024-03-30 07:07:21 +10:00
Morilli 6d06dcd5d2 Fix BinarySearch test failures 2024-03-29 18:56:56 +01:00
Morilli af9d337900 Add one more failing test 2024-03-29 18:56:38 +01:00
Morilli b983bdb361 Add failing binary search tests
Fixing these functions is left as an exercise to the reader
2024-03-29 13:08:52 +01:00
CasualPokePlayer be6647f10c [MAME] Fix System Bus causing desyncs 2024-03-28 17:58:34 -07:00
James Groom d67b1c1d23
Fix typo
fixes 4f144c74d
2024-03-27 17:19:16 +00:00
James Groom 4f144c74d4
Create constructors for `RollColumn` 2024-03-27 17:17:53 +00:00
James Groom 8967f58df8
Move `&&`/`||` to start of next line in main solution 2024-03-27 16:35:31 +00:00
James Groom b0ba7a1246
Move `&&`/`||` to start of next line in EmuHawk project 2024-03-27 16:10:32 +00:00
James Groom 8987ba8650
Remove unused import
fixes cf45d41c8
2024-03-27 02:24:29 +00:00
James Groom 651c79abeb
Fix typos from `&&`/`||` refactoring
fixes 5685befe1
2024-03-27 02:21:50 +00:00
James Groom 5685befe14
Move `&&`/`||` to start of next line in Emulation.Cores project 2024-03-27 02:10:39 +00:00
Morilli e5582cd016 Use UtcNow instead of Now 2024-03-26 22:28:18 +01:00
Morilli 95381170d8 Add optimization for >>1k fps scenarios 2024-03-26 20:14:54 +01:00
Morilli cf45d41c85 Don't unnecessarily create and return a Dictionary from GetAxisValues 2024-03-26 19:23:50 +01:00
Morilli 032d1b85d6 -1 list allocation per frame yay 2024-03-26 19:20:54 +01:00
Morilli d498f8c3be Simplify logic in OverrideAdapter 2024-03-26 19:10:22 +01:00
Morilli 45159091e6 Optimize IsLoaded<T>
can we get rid of the other 3 functions maybe?
2024-03-26 18:32:32 +01:00
James Groom 3c2b01f34b
Replace some spaces used as indentation 2024-03-26 16:52:47 +00:00
James Groom 7b5f688590
Fix double enumeration in `InputRoll.SelectRow` 2024-03-26 01:11:07 +10:00
James Groom 85caed48cc
Fix movie importer crashing on files with unrecognised extentions 2024-03-22 17:00:43 +00:00
Sergio Martin 9c4a818423
Replace QuickNES core with QuickerNES (squashed PR #3839)
resolves #3848
2024-03-23 01:31:22 +10:00
James Groom 0857dd6771
Clean up equality implementation for `Cell` 2024-03-20 22:19:57 +00:00
James Groom 01ed94d167
Replace mutation w/ pre-init check for N64 C button column header hack
also fixes width not being recalculated
fixes fde16fa5a
2024-03-20 19:51:41 +00:00
James Groom 41cae2dd22
Remove unused props from `RollColumn` and `RollColumns` 2024-03-20 19:46:56 +00:00
James Groom c5a478a28a
Remove unused prop `Cell.CurrentText` 2024-03-20 19:34:45 +00:00
James Groom bbe7040554
Remove temporary no-crash-plz shims 2024-03-20 19:33:46 +00:00
James Groom a3aa67681f
Clean up debug serialisation of `Cell`
fixes 2a67cf93e
2024-03-20 19:31:34 +00:00
YoshiRulz 57439f9697 Reduce LINQ calls on `CellList` 2024-03-20 11:24:13 +00:00
James Groom 0f9f6f0e53 Drop import 2024-03-20 11:24:13 +00:00
Morilli ca0fb69570 Optimize operations with selected items 2024-03-20 11:24:13 +00:00
James Groom 2a67cf93ec Replace `SortedSet` with `SortedList<T>` in `InputRoll`
see 6d40c08c3
2024-03-20 11:24:13 +00:00
SkiHatDuckie 328d36d0ca
Refactor window scale menu, add 6x through 9x (squashed PR #3872)
resolves #3826
2024-03-20 09:48:15 +10:00
adelikat b6efbfe54b add hotkey to toggle the last used lua script 2024-03-19 11:10:15 -05:00
Morilli bfae8d0f1e reduce allocations in CalculatePointedCell 2024-03-16 13:26:53 +01:00
Morilli cad3699221 Don't triple-allocate in FrameToStringPadded 2024-03-15 18:31:46 +01:00
James Groom 2f6a507fdf
Simplify some logic in `InputRoll.{SelectCell,OnMouseDown}` 2024-03-15 12:10:20 +00:00
James Groom 967ce66e9e
Use helper prop in `InputRoll`, simplifying LINQ call 2024-03-15 12:01:58 +00:00
Morilli 0cbc65ba4e Improve Cell comparison 2024-03-14 21:59:25 +01:00
James Groom 86a4aa69ee
Fix double enumeration in `InputRoll.SelectRow` 2024-03-15 06:02:29 +10:00
James Groom ce6d032051
Fix logic in `Bk2Controller.SetFromMnemonic`
fixes fdf63900b
2024-03-14 04:15:56 +10:00
James Groom 8d892346d2
Fix crash when loading `.wch` into RAM Search 2024-03-13 23:42:25 +10:00
James Groom 0f8995eec7
Clean up conditionals in `TAStudio.TasView_QueryItemIcon`
fixes 17ed62b39
2024-03-12 15:35:44 +10:00
James Groom e55c6c2688
Avoid delegate wrapper in `ICollection.RemoveAll` extension hot path
see 6d40c08c3
2024-03-12 15:24:41 +10:00
James Groom 24bd99eb07
Refactor `HotkeyInfo.ResolveWithDefaults` 2024-03-12 15:22:07 +10:00
Morilli fdf63900b6 Reduce string allocations in SetFromMnemonic 2024-03-12 02:17:59 +01:00
Morilli 17ed62b39e Prevent unnecessary TasMovieRecord queries 2024-03-12 01:41:22 +01:00
Morilli 9a2de650d1 Reduce Cell allocation spam
Don't really like this change but it does help allocation count a lot. Perhaps Cell should just be a struct?
2024-03-12 00:04:29 +01:00
Morilli 6d40c08c3c fix #3675
This looks to just be better on .net framework...
2024-03-11 22:43:57 +01:00
CasualPokePlayer 5bf9d387b4 prevent various apis from being used while in an input/memory callback 2024-03-10 23:18:55 -07:00
CasualPokePlayer 38ef6028d7 correct buffer check condition 2024-03-10 15:25:01 -07:00
CasualPokePlayer 04fe0d7d04 fix crash with SDLResampler 2024-03-10 15:10:17 -07:00
CasualPokePlayer 03fa3fc19d get rid of this Flush call
isn't really needed
2024-03-10 15:03:33 -07:00
CasualPokePlayer d9a93c474a throw out the speex resampler, place in SDL's resampler to replace it
no more 2010 vc++ runtime requirement
2024-03-10 15:02:25 -07:00
Morilli 05abb3adfa Optimize IndexOfFrame function in TAStudio 2024-03-10 19:21:05 +01:00
Morilli 87197e0524 Optimize IsMarker checks in TAStudio 2024-03-10 18:57:08 +01:00
CasualPokePlayer d547ff3d57 update comment due to prev commit 2024-03-10 03:40:18 -07:00
CasualPokePlayer c85aee928f remove DInput dependency with RawKeyInput 2024-03-09 22:01:44 -08:00
CasualPokePlayer 90369fce13 encore: add lag detection 2024-03-08 20:25:25 -08:00
CasualPokePlayer 59176ca2d3 encore: fix aes_keys.txt / seeddb.bin not being properly picked up by the core 2024-03-08 19:12:54 -08:00
CasualPokePlayer 6dd0bb25e8 encore: remove async file io completely, fix savestate crashes due to AsyncWakeUpCallback serialization attempts 2024-03-08 17:29:40 -08:00
James Groom 69d29c39f5
Fix cheat editor resetting display type when changing size
and when choice is no longer valid, default to hex instead of unsigned
2024-03-08 21:42:20 +10:00
James Groom 2f758459dd
Add docs and unit tests for `IList.LowerBoundBinarySearch` extension
without d29da10e9, the final case in this test method would throw an exception
2024-03-08 11:22:44 +00:00
James Groom 49fa40f562
Rename newly-added `.props` file, improve MSTest output
fixes 6df491c9d
2024-03-08 10:50:57 +00:00
James Groom 5a6fcce981
Use new way of importing MSTest framework 2024-03-08 10:42:37 +00:00
James Groom 9e12480c3e
Bump MSTest and Magick.NET 2024-03-08 10:38:08 +00:00
James Groom 6df491c9d9
Dedup test project files and also mute style warnings in GambatteSuite 2024-03-08 10:33:53 +00:00
James Groom 8630ccdd41
Update list of known testrom failures from Gambatte suite 2024-03-08 10:30:12 +00:00
CasualPokePlayer d9cd9f4810 do various determinism fixes for encore 2024-03-07 22:31:16 -08:00
James Groom 729ca96517
Hopefully fix double BOM
thanks VS Code
2024-03-08 03:50:05 +00:00
James Groom 615c2eaf88 Leave comment in `FindIOSurfaceInfo`
fixes 7ee0e0afa
2024-03-08 13:42:47 +10:00
Morilli 7ee0e0afac Reduce allocations in FindIOSurfaceInfo 2024-03-08 02:22:56 +01:00
Morilli d29da10e91 Fix LowerBoundBinarySearch, fix lag check 2024-03-08 02:22:31 +01:00
Morilli b8e49413cf Remove unnecessary TasMovieRecord allocations 2024-03-07 23:52:18 +01:00
Morilli 674997b345 Optimize speed and allocations of TasMovieMarker.Previous[OrCurrent]
was quite a ridiculous amount of allocations due the amount of calls to this functions
2024-03-07 22:53:39 +01:00
James Groom 592eb34370
Update lists of known testrom failures (except Gambatte suite) 2024-03-07 06:55:43 +00:00
James Groom 1f70320ea8
Get testroms projects building again
fixes 8ae947fed, e87536ea8, e7f4ad822, 59fcdb04c, 72cc19266, d788e603f, and 86684b689
2024-03-07 06:54:16 +00:00
CasualPokePlayer 7c4f997f88 encore: add in some new settings, expose some other settings, rework upscaling management (more in line with how melonds is handled) 2024-03-06 21:08:57 -08:00
James Groom 07d1c41712
Fix typo
fixes 8c3f857ab
2024-03-06 17:39:38 +10:00
James Groom 8c3f857ab6
Fix cheat editor showing "0x" prefix when not hex type 2024-03-06 16:30:14 +10:00
CasualPokePlayer 5a55f04f1e -headless isn't a postfix for encore 2024-03-05 18:28:12 -08:00
CasualPokePlayer 1bbc54f29f add back encore submodule + build script + add windows build + a few more renamings 2024-03-05 16:13:51 -08:00
CasualPokePlayer 7cf8c968df rename all the things 2024-03-04 18:39:30 -08:00
CasualPokePlayer f02080b61b fix build 2024-03-04 17:13:51 -08:00
CasualPokePlayer 5304467855 update to nightly-2104 2024-03-04 17:06:40 -08:00
James Groom 3f58dba4f5
Use title case for this menu item 2024-02-25 06:42:51 +10:00
James Groom 4df850973f
Document invariant
see df4aa7974
2024-02-24 05:15:31 +10:00
Morilli df4aa7974b Optimize InputDisplayGenerator.Generate 2024-02-22 19:27:38 +01:00
YoshiRulz d31047ffc3 Use NuGet central package management 2024-02-14 16:24:31 +00:00
James Groom daf9ea7bb2
Check for FFmpeg when using DiscoHawk's bottom box
no download option for now
2024-02-14 16:23:11 +00:00
James Groom 3f2f9cc170
Copy error dialog code from DiscoHawk's top box to its bottom box 2024-02-14 16:21:34 +00:00
feos 54ef35d2e0 black text on white BG is how input roll is meant to look
if we ever support swapping the colors for a dark theme, bd3f919129 could be a useful refactor, but only allowing linux users to see input roll properly was wrong (because setting BG to Control color makes it look disabled)
2024-02-13 01:11:50 +03:00
CasualPokePlayer b34e713f1c update sqlite stuff, also swap it with Microsoft.Data.Sqlite.Core / SQLitePCLRaw.provider.e_sqlite3 and do a different hack to avoid pulling in native deps 2024-02-12 13:59:16 -08:00
James Groom 131bc65e8f
Bump .NET SDK to 8.x 2024-02-12 20:38:03 +00:00
CasualPokePlayer 17434f78cf init rtc before calling nyma init functions
mainly needed for saturnus
2024-02-09 18:37:34 -08:00
CasualPokePlayer 5fb7b486b3 dumb rcheevos saturn memory fix
yeah this is dumb
2024-02-08 23:48:53 -08:00
CasualPokePlayer 2c521fdc5a add ISaveRam explicitly
this is needed for new saveram interface to be picked up apparently
fixes 446fac3242
2024-02-08 23:36:12 -08:00
CasualPokePlayer 446fac3242 add in c# side code to actually use new saturnus saveram interface 2024-02-08 23:32:14 -08:00
CasualPokePlayer 5d54c09577 update saturn entries in firmware db
mainly don't consider other region bios files as "acceptable", mednafen policy is to reject the wrong region (see ss.bios_sanity handling)
2024-02-07 06:17:54 -08:00
James Groom 33f0b5ca32
Remove imports no longer used after recent changes 2024-02-06 11:10:05 +00:00
James Groom 33a71cf0e1
Replace `null` array w/ empty in `NESSyncSettings.OkBtn_Click` (fixes #3858)
fixes 103fb3832
2024-02-06 09:03:16 +10:00
James Groom 103fb38322
Clean up `NESSyncSettings.OkBtn_Click` (resolves #3856) 2024-02-01 15:11:52 +00:00
James Groom 484e1fee78
Clean up `NESSyncSettings.InitialWRamStatePattern` 2024-02-01 15:10:02 +00:00
James Groom 7e8950ea52
Clean up `BytesToHexString` 2024-02-01 15:04:36 +00:00
James Groom f3aae71da6
Expose PALRAM domain from NesHawk (resolves #3854) 2024-01-31 09:31:22 +00:00
CasualPokePlayer 2f11560b14 fix alternative keyboard layout handling for extended scancodes 2024-01-26 07:01:22 -08:00
James Groom acf368e67f
Rewrite Game Genie (GB) decoder 2024-01-21 15:01:20 +00:00
James Groom 2f9119834b
Add test cases for Game Genie (GB) decoder 2024-01-21 14:49:22 +00:00
James Groom 21706d8421
Fix typo
fixes f6a9dee46
2024-01-18 14:55:51 +10:00
James Groom f6a9dee467
Prevent an IooRE in *Action 52*
see https://github.com/TASEmulators/BizHawk/issues/2999#issuecomment-1895239013
2024-01-17 17:35:25 +10:00
CasualPokePlayer 62afd3c747 add missing member to this struct 2024-01-16 22:04:30 -08:00
CasualPokePlayer 1b7fe8e7fd misc cheevo stuff 2024-01-16 20:16:25 -08:00
CasualPokePlayer d03d076fa7 several rcheevo updates, mostly for 3DS stuff 2024-01-16 20:00:45 -08:00
CasualPokePlayer 67b535d0f8 remove dsi skip fw restriction c# side 2024-01-16 11:08:40 -08:00
CasualPokePlayer 8be0111e72 fix build 2023-12-31 18:02:49 -08:00
CasualPokePlayer d6fdf503b9 /s/RIM_KEY/RI_KEY
seems to be a dumb typo (docs have RI_KEY_* not RIM_KEY_*)
2023-12-31 06:00:48 -08:00
CasualPokePlayer 6330a703a1 fix Pause key not working with RAWINPUT 2023-12-31 05:44:50 -08:00
CasualPokePlayer 79d6bee75f this can be null 2023-12-30 16:40:25 -08:00
CasualPokePlayer f94bcb64b1 add back hawk sound when opening About box 2023-12-30 16:37:37 -08:00
CasualPokePlayer 51925e7cc9 make SDL2WavStream consume a generic Stream rather than passing in a file path
this now should make it functionally the same as a System.Media.SoundPlayer, letting us only doing disk access one time per wav file (and allows some embbed wav to be played)
2023-12-30 16:03:21 -08:00
CasualPokePlayer a38e854a6d add method to play wav files via ISoundOutput, use this instead of System.Media.SoundPlayer 2023-12-30 04:49:26 -08:00
CasualPokePlayer 94f6616e74 fix #1862, also rename front facing setting ("non-vi" makes no sense here) 2023-12-25 00:46:13 -08:00
CasualPokePlayer bc432de43a fix 7ceb6345e4
somehow mixed up files and put the wrong tmd in lol
2023-12-24 23:46:20 -08:00
CasualPokePlayer 7ceb6345e4 add missing TMD for USA California Super Sports, also remove unneeded data in TMDs 2023-12-24 19:05:20 -08:00
CasualPokePlayer ded668fe5a add PolySharp as explicit dep, do some BizHawk.Common .NET6 cleanups
PolySharp was already an implicit dep due to some transitive dep from Vortice. This causes some problems in the test project, although it seems it's specific to the test project setup / one of the test project deps exposing internal classes rather than actually the fault of PolySharp (enabling PolySharpExcludeTypeForwardedToDeclarations works around it)
PolySharp provides source generated internal IsExternalInit/Range/Index, allowing us to use init props and range/index operators, and since it's source generated and internal to each project, it should play nice with potential multi-targetting (keeping in mind the test project is an edge case that doesn't apply in general)
2023-12-22 14:26:24 -08:00
James Groom 3fb30a2ca7
Clean up some `AskSaveChanges` implementations 2023-12-22 04:48:49 +00:00
James Groom bd3f919129
Don't hardcode colours in InputRoll 2023-12-22 04:16:01 +00:00
James Groom cae739a826
Clean up peeking for Hex Editor's N64 Matrix view 2023-12-22 01:17:02 +10:00
James Groom 0d5b0ac964
Fix typos from copy-pasting via human
fixes 6f39bed3f
2023-12-22 01:11:39 +10:00
James Groom 6f39bed3f8
UI+UX improvements for Hex Editor's N64 Matrix view
no idea what this is actually for but now it's usable
2023-12-22 01:04:57 +10:00
James Groom e1571189c5
Mute NU1702 harder 2023-12-21 13:36:13 +10:00
James Groom ea00f3be54
Use helper method
fixes 73bb9b4bd
this is the only code style warning atm
2023-12-21 13:35:23 +10:00
CasualPokePlayer d00a512026 add comment noting StopSound can't be used for directsound's ResetToDefaultDevice 2023-12-18 02:37:30 -08:00
CasualPokePlayer f4ac17c904 Replace OpenAL dlls with openal-soft provided ones (downloaded from their official site: https://www.openal-soft.org/)
Fix hanging issue with OpenAL on device disconnection
Cleanup other hanging/crash fixes in other audio backends
2023-12-18 02:32:37 -08:00
CasualPokePlayer ad3aa2f5dc fix weird double utf8 bom in Bk2LogEntryGenerator 2023-12-17 04:27:17 -08:00
CasualPokePlayer f4ef12a38b simplify xaudio2 critical error handling
don't need to be this fancy, also this can still potentially deadlock anyways since audio throttle isn't going to be message pumping in throttling code
2023-12-17 04:24:19 -08:00
CasualPokePlayer d5fc092c0a Fix disconnecting an audio device potentially crashing/hanging for DirectSound and XAudio2
OpenAL seems to only do this on Windows, Linux does not care. This issue is also only relevant for audio throttle wrt XAudio2/OpenAL.
2023-12-17 04:11:27 -08:00
James Groom 7f21cbd029
Fix syntax errors in interp. string
fixes 0e084eaef
2023-12-17 20:00:30 +10:00
James Groom 0e084eaefd
Elaborate on admin warning, now with manual override (resolves #3835) 2023-12-17 09:46:44 +00:00
feos 4f522bac11 mame: put soft reset first so its dups could be resolved automatically
should complete #3704
2023-12-13 20:57:43 +03:00
James Groom 8a806c897d
Improve error message in `Bk2LogEntryGenerator` ctor (see #3704) 2023-12-13 07:50:16 +10:00
CasualPokePlayer 3bcc6ee977 do some more cleanup with rcheevos stuff, also rework rcheevos read map. having a dict full of delegates ends up allocating >26GiB of memory for New 3DS (i.e. 256MiB of memory), so instead have a map of _memFunction indexes corresponding to address, thereby making memory usage equal to the memory mapping size (so for New 3DS this will only take 256MiB of memory). it comes with some limitations, none of which matter for now 2023-12-11 03:59:10 -08:00
CasualPokePlayer 6b0b6f2106 do cleanup with rcheevos, using record structs where possible
also add in `in` support for the BizInvoker for compat interop
(non-compat interop doesn't really matter here, the point of `in` is to avoid a copy back for non-blittable objects, which doesn't apply for non-compat which only works for blittable objects / always just pins them down)
2023-12-10 16:02:07 -08:00
Morilli 83e784ecec Actually provide proper OAM memory domain in bsnes 2023-12-10 00:48:50 +01:00
CasualPokePlayer cc0b6c0d99 update rcheevos to latest release, change a ton of ints to uints (what's actually used often)
todo: trim out unneeded defs and do c# 10 cleanups
2023-12-09 02:25:40 -08:00
CasualPokePlayer 4d6bc5a33a fix build 2023-12-06 23:23:16 -08:00
CasualPokePlayer 2019f4baf2 c# side for 7b4bd8cdc3 2023-12-06 23:22:17 -08:00
feos 688fb249f9 fix #3715 2023-12-03 15:50:49 +03:00
feos 79baa45ca6 bounds have proper dimensions now 2023-12-03 11:48:49 +03:00
feos 0efdd02085 address #3715 (need to fix hawk side aspect ratio) 2023-12-03 03:12:58 +03:00
feos 73bb9b4bd9 mame: add driver src file to dump info 2023-12-02 22:35:05 +03:00
feos 2a40b172e1 fix #3704 2023-12-02 20:53:37 +03:00
feos a3746fe7b7 fix #3721 2023-12-02 18:06:43 +03:00
CasualPokePlayer 5f6243bd76 Remove SDL_INIT_HAPTIC use
We don't actually use the haptic API, which is a separate thing from SDL_GameControllerRumble/SDL_JoystickRumble
2023-11-23 23:09:46 -08:00
James Groom 2105871122
Clean up handling of modal dialogs and parenting in RA 2023-11-23 07:56:45 +00:00
James Groom 36df9c387b
Add `IDialogParent.AddOnScreenMessage` extension 2023-11-23 07:45:40 +00:00
James Groom 5ef398c309
Lazily init `BasicApiProvider`/`ApiContainer` 2023-11-23 06:47:36 +00:00
James Groom 525c9c2f9c
Use `MainForm.QuicksaveLoad` directly for RA 2023-11-23 06:34:29 +00:00
James Groom 40b17b59c4
Move events from `EmuClientApi` to `MainForm`
the `event` members remain, but the triggering is now delegated back to `MainForm`, and the additional processing has been moved there too
2023-11-22 12:25:44 +00:00
James Groom ca5dc1a6e8
Extract disc hashing from Octoshock, clean it up, and add to Nymashock 2023-11-21 06:54:11 +00:00
CasualPokePlayer 859ea8e249 improve Program startup, remove the OSTailoredCode duplication hack, use RuntimeInformation.IsOSPlatform for figuring out OS, use AppContext.BaseDirectory to get exe location (apparently even works with bundled assemblies in .net5+) 2023-11-18 20:00:16 -08:00
feos c7d65eb0ca mame: add defender mnemonics 2023-11-18 12:52:46 +03:00
James Groom 000f741994
Respect `BIZHAWK_HOME` for e.g. loading Waterbox cores
pretty much only affects NixHawk, where the wbox cores are in one dir and EmuHawk.exe and the other assemblies are in another, and all are symlinked into one tree
2023-11-18 17:26:49 +10:00
CasualPokePlayer ba24907d9c Improve NLua lua library loading, using C# function pointers. It now no longer depends on BizHawk.BizInvoke/BizHawk.Common. It might be faster too
Add in liblua-* variant for Linux lua library names (resolves #3678)
Remove some more unused NLua code
Make LuaState internal, we don't need to see it (NLua.Lua API slightly changed to accommodate this, tests could be broken due to this?)
Make various other NLua classes internal, we don't need to see them
Check against lua library loading failing, provide a non-fatal message box if it has failed instead of crashing on some exception.
Remove UnixSearchPaths (unneeded with LD_LIBRARY_PATH being set) and unused IImportResolvers
2023-11-17 19:03:03 -08:00
James Groom 1956302a15
Use IRODictionary in `BkmMnemonicConstants` 2023-11-18 04:52:09 +10:00
James Groom a9bfd96027
Backport `IEnumerable<KeyValuePair<,>>.ToDictionary` 2023-11-18 04:26:28 +10:00
James Groom c2ddc40468
Clean up impl. of `LinkedDebuggable`
see ed5a708f9
2023-11-18 04:11:02 +10:00
James Groom a227e7d113
Fix typos
fixes b36f4aa4e and ed5a708f9
2023-11-18 03:44:36 +10:00
James Groom ed5a708f93
Clean up `IDebuggable` impl. for GBHawkLink{,3x,4x} 2023-11-18 03:37:17 +10:00
James Groom b36f4aa4ef
Remove unused imports 2023-11-18 03:30:27 +10:00
James Groom 024739d22e
Fix typo in `GBHawkLink4x.SetCpuRegister`
broken since introduction in a751aab74
2023-11-18 03:20:50 +10:00
James Groom 63127695d4
Expose `IInputApi.GetPressedAxes` to Lua, improve `input` lib docs 2023-11-17 13:27:53 +10:00
James Groom 8eef419c62
Rename "Max" window size menu item to "10x" to reflect behaviour 2023-11-17 12:36:51 +10:00
James Groom e53f30f105
Fix "Max" window size menu item never being unchecked 2023-11-17 12:35:50 +10:00
CasualPokePlayer 7edba4962c fix 70bd081a93 (again)
see a2185d9ef0 and 8a5921182e
2023-11-16 09:14:25 -08:00
CasualPokePlayer 582446651f fix all the analyser warnings in NLua 2023-11-16 03:14:47 -08:00
CasualPokePlayer 49807254f6 remove ComImport usage for Win32ShellContextMenu, also /s/ShlobjImports/Shell32Imports 2023-11-15 18:58:06 -08:00
CasualPokePlayer 4660e4d25b Slightly improve ShellLink com interop, resolve todo (seems to work perfectly fine) 2023-11-15 13:29:09 -08:00
CasualPokePlayer 3bc44d6756 Remove SHGetMalloc usage, use Marshal.FreeCoTaskMem instead
Marshal.FreeCoTaskMem can be used instead (assuming we're >= Win2000), see https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetmalloc
Also fix pszDisplayName allocation (needs * sizeof(char) due to unicode funny)
2023-11-15 12:55:40 -08:00
CasualPokePlayer 956af3577e Change a lot of CharSet.Auto's to CharSet.Unicode, explicitly put W postfix on relevant winapi functions/structs, put ExactSpelling = true for winapi functions.
We don't care for ANSI functions (no way somebody is going to run BizHawk on Windows 98/ME), and ExactSpelling = false (default) has a minor runtime cost, so this should be slightly more performant.
Also, replace ShellLink COM usage with custom COM interaction code. See https://github.com/TASEmulators/BizHawk/issues/3767. The same is yet to be done for the two other COM usages.
2023-11-15 11:33:50 -08:00
James Groom 391190b6d4
Inline `ICoreFileProvider.DllPath` 2023-11-14 18:05:32 +10:00
CasualPokePlayer edf5f15134 slightly improve xlib bindings, should now in theory work for 32 bit systems 2023-11-11 11:16:52 -08:00
CasualPokePlayer f9c85172e4 try to fix issues where reloading Citra when recording a movie results a crash due to the temp user folder having active file handles
unloading the dll would forcefully evict these file handles. unknown whether Linux does the same with the .so, perhaps it does, perhaps it doesn't. not really any extra harm if it doesn't
2023-11-11 09:11:17 -08:00
James Groom e9468cb0c8
Check FWIDs in database at runtime
see e119bdda3
2023-11-09 08:51:29 +10:00
CasualPokePlayer 282417c9af pass DateTimeFormatInfo.CurrentInfo here instead of suppressing the warning
fixes 5ae15c8
2023-11-08 11:58:38 -08:00
CasualPokePlayer 5ae15c89c3 remove invariant culture here
fixes 6e20a3091c
2023-11-08 10:32:37 -08:00
CasualPokePlayer e119bdda39 fix up firmware entries which had spaces in the id 2023-11-08 10:26:01 -08:00
CasualPokePlayer 5095f0c999 force real bios use when gba cart is present for melonds
melonds' freebios doesn't work with gba cart usage
2023-11-08 08:27:42 -08:00
CasualPokePlayer 6a80336787 add some more ds fw hashes 2023-11-06 09:46:34 -08:00
CasualPokePlayer eeb824d035 add in Chinese / Korean language options, remove unneeded firmware checks 2023-11-04 05:33:14 -07:00
Morilli 7d4b21f9c7 Fix some analyzer warnings
also improve globalconfig readability
2023-11-03 11:56:23 +01:00
CasualPokePlayer cdf89f4b09 add in missing asms in SubMain asm ver check 2023-11-03 03:52:32 -07:00
CasualPokePlayer b1f16cf437 fix ordinal loading (im pretty sure what was being done before only actually worked for dllimport and not getprocaddress)
cleanup some more win32 imports (new LoaderApiImports, although it isn't used for OSTailoredCode to avoid hard dep on BizHawk.Common, probably want to use same hack on LoaderApiImports)
2023-11-02 22:48:12 -07:00
CasualPokePlayer 195846f2f3 cleanup c# side melon code 2023-11-02 13:55:12 -07:00
CasualPokePlayer 7e91e1b260 fix dsi firmware checking 2023-11-02 10:16:30 -07:00
CasualPokePlayer 1ca7b0295d c# changes for melonDS update 2023-11-02 10:12:56 -07:00
Moritz Bender e1fb97dee6
Update snes9x to 1.62.3 (#3729)
* Update snes9x to 1.62.3

* Update snes9x submodule

* Implement msu1 for snes9x

* do less bullshit initialization

* Update snes9x submodule
2023-11-02 18:48:54 +03:00
Morilli abc5ddcc6e Fix lua console null output logging
- closes #3810
- fixes bb7f933429
2023-11-02 13:56:20 +01:00
CasualPokePlayer ebaafe2658 error check against gl context being failed to be set to current
in practice this should only throw when someone has a broken driver
2023-11-01 08:03:17 -07:00
CasualPokePlayer 151908104e Revert 683aa263a0 2023-10-28 22:50:05 -07:00
James Groom aaf46cc9a7
Fix `--lua=*.luases` being interpreted as a script (fixes #3814) 2023-10-29 06:38:06 +10:00
CasualPokePlayer c8f109eb34 fix ctrl/shift (probably more) with alt kb layout handling with RawKeyInput
also fix dinput not filtering out unknown key events (TODO: shouldn't this be handled higher up the input chain? surely we wouldn't want to respond at all to unknown key events)
2023-10-28 08:21:44 -07:00
CasualPokePlayer b98942dcfd minor fix in CWDHacks.Get()
fixes 686119c7dd
2023-10-28 05:10:31 -07:00
CasualPokePlayer 686119c7dd organize and cleanup a ton of win32 imports, do cleanup elsewhere with that 2023-10-28 05:05:36 -07:00
feos b4a6b06fba tastudio: disable rec mode when drawing inputs
see #2144
2023-10-28 13:35:01 +03:00
feos bb0bd415a6 address #3500 2023-10-28 12:20:22 +03:00
James Groom ef864536de
Fix typo'd `return;` in non-void method
fixes 672536305
2023-10-28 12:12:15 +10:00
James Groom 6725363052
Allow drawing on LuaPictureBoxes on multiple windows (fixes #3778)
fixes bb4ba2184, though it wasn't working correctly before that either
this whole thing needs deduping
2023-10-28 02:35:27 +10:00
James Groom 14c00d0ca2
In Debug config, don't use `Assembly.Load(byte[])` for ext. tools
apparently messes with the debugger IDK
2023-10-27 08:21:11 +10:00
James Groom 940c392fa3
Prevent selecting 'None' placeholder ext. tool 2023-10-27 06:46:20 +10:00
CasualPokePlayer 5c475ce898 Remove BizExvoker (unused for a long time, probably never going to use it)
Move MemoryBlock stuff and FPCtrl over from BizInvoke to Common
Move imports over to Common, remove unused imports
Do tons of cleanup here
2023-10-26 03:22:28 -07:00
CasualPokePlayer f2a4794105 Use source generation for SettingsUtil.SetDefaultValues 2023-10-25 22:52:06 -07:00
feos 5ce0aa24a5 fix #3481 2023-10-25 21:02:08 +03:00
feos 7ac9bc26cd mame: add reset 2023-10-25 20:30:32 +03:00
CasualPokePlayer edcd2cd548 fix Ctrl+C not SIGINT'ing, I think 2023-10-24 07:36:17 -07:00
James Groom 736abf32ac
Ensure FFmpeg DL target is writable before downloading 2023-10-24 23:11:54 +10:00
James Groom 542a0e08be
Fix `Process.Start` crash in Play Movie dialog on Linux 2023-10-24 22:50:44 +10:00
James Groom c7f438c240
Use loaded movie's filename for A/V filename 2023-10-24 22:46:22 +10:00
James Groom 65060c00f1
Fix/mute code style warnings 2023-10-24 22:32:17 +10:00
CasualPokePlayer b88c7e6baa fix warning from last commit 2023-10-23 22:48:42 -07:00
CasualPokePlayer cd4e58eaca make CRC32/SHA1 hashers not die when on a non-x86_64 platform 2023-10-23 15:41:27 -07:00
CasualPokePlayer 12a63e27e6 give more memory to melonDS
fixing OOM with 512MB games
2023-10-23 05:52:36 -07:00
CasualPokePlayer ee7fc95fac fix some usings 2023-10-22 19:28:23 -07:00
CasualPokePlayer 8941bac1ce remove BinaryQuickSerializer
see #3768
2023-10-22 19:23:32 -07:00
CasualPokePlayer cfdf607373 fix #3807 2023-10-22 01:05:32 -07:00
CasualPokePlayer 19552d6408 update Silk.* packages to 2.18.0, remove Silk .config hack (unneeded with this update) 2023-10-21 20:51:42 -07:00
CasualPokePlayer 220268809c Remove EvDevKeyInput. Pretty much useless in practice as apparently you need higher permissions (e.g. root) to access keyboard evdev files, direct evdev is more reserved for gamepads (already handled by SDL2)
Turn these OS specific key input impls into instantiable classes instead of a ton of static classes, a lot nicer to work with as don't need to constantly check CurrentOS to know which class to use, only the factory needs to check that!
2023-10-20 21:43:23 -07:00
CasualPokePlayer 62501ad859 do minor cleanup with EvDevKeyInput, add in define for switching from X11KeyInput to EvDevKeyInput 2023-10-16 16:08:19 -07:00
CasualPokePlayer d4602cf831 add Quartz key input handler
unused of course since no macOS support, but there when we need it
2023-10-15 19:06:53 -07:00
CasualPokePlayer b6d4b0dc81 remove some unused stuff 2023-10-15 04:17:06 -07:00
CasualPokePlayer a35ee381d0 Add evdev keyboard handler. Untested and unused for now 2023-10-15 04:11:32 -07:00
kalimag f3796756bc
Add setting to control what happens when double-clicking RAM watch (squashed PR #3802)
* Make RamWatch double click action configurable
* Make RamWatch Enter press share double-click behavior
* Make RamWatch double-click action default to poke
* Fix code style
* Reduce total diff size from extracting method
* Make sub-menu text more specific
2023-10-15 14:43:10 +10:00
CasualPokePlayer b5ebee7cd5 move RAWINPUT imports to a new file 2023-10-12 20:49:17 -07:00
CasualPokePlayer 5fc37d6aac add RAWInput keyboard handler, use it for OSTailoredKeyInputAdapter / SDL2
re-removes hard DirectInput dependency
2023-10-12 00:36:13 -07:00
CasualPokePlayer a320928a6f fix IOE in X11KeyInput.Update() 2023-10-11 17:48:23 -07:00
CasualPokePlayer ac3913ded3 add user agent for cheevo stuff 2023-10-05 02:05:31 -07:00
feos c438faeec9 added more mame mnemonics 2023-10-04 19:07:20 +03:00
James Groom 27c5b0e9b7
Also clear `GuiApi`'s image cache when restarting 2023-10-04 05:21:22 +10:00
CasualPokePlayer 0d4a1a6b26 fix #3781 2023-10-02 22:32:30 -07:00
CasualPokePlayer af4e9200ed fix memory leak when screenshotting/framedumping with osd with d3d9 display method 2023-10-02 21:08:48 -07:00
Morilli a71b228c70 reset "change" variables on tasproj load
Doing this fixes tasproj prompting for save on bk2->tasproj conversion (which makes no sense) and generally seems senseful to do; there is no point ever having a changelog or changes bool set just after loading a tasproj
2023-09-27 21:54:35 +02:00
James Groom cf809ed5aa
Override duration for onboarding OSD message
fixes a351dcc55
this is why you test changes even when you're sure they will compile
2023-09-26 23:52:52 +10:00
CasualPokePlayer 2b00e33560 add TransformPoint impl for NDS 2023-09-25 22:18:44 -07:00
CasualPokePlayer f6a77a8410 Fix touch coord calc when OpenGL is not available, probably fix off by one here too (I think this is right?) 2023-09-25 05:35:15 -07:00
CasualPokePlayer 07126b1e48 c# changes for 3d5c2120f2 2023-09-25 05:26:17 -07:00
CasualPokePlayer f63e50c91b C# changes for melonDS OpenGL support
also add in a way to debug OpenGL stuff (only built when uncommenting a define)
also do various cleanup here
2023-09-24 04:28:42 -07:00
CasualPokePlayer acff619034 add more mmap heap to melonds, check against 0 sized arrays in roms 2023-09-17 12:37:37 -07:00
CasualPokePlayer 0496d45e09 melonDS's logs already have a newline 2023-09-17 02:52:44 -07:00
CasualPokePlayer 0ad1f7feb2 waterbox has fun limitations 2023-09-17 02:16:25 -07:00
CasualPokePlayer 178939f76c woops 2023-09-17 01:03:42 -07:00
CasualPokePlayer d3dff6fe37 update c# side for melonDS changes 2023-09-17 00:58:49 -07:00
Morilli 2fc9f719e5 Fix #3685 again 2023-09-12 16:44:31 +02:00
CasualPokePlayer 4f98bf101c fix minor oops in previous commit 2023-09-11 22:57:04 -07:00
CasualPokePlayer d788e603fd force usage of bios on gambatte when recording a movie
(except when the rom cant be booted with bios, then enable bios sync setting is respected)
also cleanup this code a lot
2023-09-11 22:52:48 -07:00
CasualPokePlayer ed0dbb77ae expose SRAM for GBA rcheevos
see https://github.com/RetroAchievements/rcheevos/pull/265
2023-09-11 21:29:34 -07:00
James Groom e68a49aa51
Use absolute path to `ffmpeg` in `FFmpegWriter` 2023-09-11 16:31:23 +10:00
James Groom a7ee68f47d
Fix typo in Satellaview header model
see #3749
2023-09-10 22:38:19 +10:00
James Groom 2647bb8300
Log FFmpeg download fails to stdout in Debug config 2023-09-09 16:56:06 +10:00
James Groom a351dcc557
Make the onboarding flow impossible to miss
This should motivate widening the scope of profiles, and may also inspire additional features for onboarding such as paths/firmware, screen layout, or keybinds.
2023-09-05 05:47:03 +10:00
James Groom ebe3cad66c
Change UI label for `Config.AcceptBackgroundInput`
see #671
2023-09-02 01:47:52 +10:00
Moritz Bender 362269c982
Establish basic style analyzer rules (#3759)
* Fix analyzer nullable error

can't disable them in CA1305 xdd

* .editorconfig -> .globalconfig

* Add basic set of style analyzer rules

* dotnet format output

* Some additional fixes

* Apply manual simplification

* Transform some enum comparisons

* fix typo

* add TODO
2023-08-30 23:08:21 +02:00
James Groom 7193313e12
Comment-out unreachable code
fixes a315b122c
2023-08-25 11:59:35 +10:00
James Groom e86a0d6dda
When editing watches, select notes field 2023-08-25 11:41:51 +10:00
CasualPokePlayer 1575949762 upgrade these for c#10 2023-08-22 19:34:51 -07:00
CasualPokePlayer 19443040c4 slightly refactor OSD layer, no longer uses a render callback, rather it will do its logic itself and has its own enable drawing flag 2023-08-22 17:57:46 -07:00
CasualPokePlayer 53563657fe Implement blending enable/disable for IGL_GDIPlus (more just moving it away from GDIPlusGuiRenderer)
Fix GDI+ used for display method (got broken in some cleanup commits ago)
Remove some things meant to be removed in the last commit (fixes debug build)
2023-08-22 17:16:48 -07:00
CasualPokePlayer 8c1d996b80 simplify IGL 3: Remove ability to make custom blend states (was never used), only have 2 functions for blending, one enabling "normal" blending, one disabling blending (with alpha copy semantics) (only 2 which actually were used) 2023-08-22 16:46:21 -07:00
Morilli 757ae3293f Resolve part 4 of #3735 2023-08-22 19:22:34 +02:00
kalimag 54b1b2e421 Stop moving executables' pdbs to dll folder 2023-08-20 14:24:30 +10:00
kalimag d459aaaf6f
Dispose disks in Nyma cores (#3751) 2023-08-19 23:27:05 +02:00
Moritz Bender c57657bbd4
Set inputdisplay correctly on LoadState (#3747)
* Set inputdisplay correctly on LoadState

* Add explanatory comment for future generations
2023-08-19 23:22:55 +02:00
Morilli ebf1950873 fix #3686 2023-08-18 04:58:38 +02:00
Morilli 4fea6752f3 Fix #3685 2023-08-18 04:06:28 +02:00
Morilli ea7683a996 Bump LangVersion to 10 2023-08-16 16:30:06 +02:00
CasualPokePlayer c17f65fb10
Slightly increase sleep time while paused, should resolve #3737 2023-08-14 20:11:22 -07:00
Morilli c10d2927ca bump AnalysisModeUsage to Recommended
fixes CA2211, CA2215, CA2241, CA2251

silence CA1816 because it's unnecessary

reduce severity of CA2201 because I like the concept but don't wanna fix them all
2023-08-14 14:18:45 -07:00
Morilli 71e08e27b9 bump AnalysisModePerformance to Recommended
fixes CA1841

silence CA1805 and CA1822 because of sheer amount of violations

reduce severity of CA1838 because I don't wanna fix it lol
2023-08-14 14:18:45 -07:00
Morilli 6e20a3091c Fix CA1305 and bump to error 2023-08-14 14:18:45 -07:00
Morilli 8e557b0b9d bump AnalysisModeGlobalization to Recommended
fixes CA1304, CA1309, CA1310, CA1311

temporarily silences CA1305

reduce severity of CA2101
2023-08-14 14:18:45 -07:00
CasualPokePlayer 44dce7dc08 remove unused experimental code 2023-08-13 14:24:03 -07:00
CasualPokePlayer ae42858560 fix D3D9 crashing on minimize 2023-08-13 14:21:58 -07:00
Moritz Bender 56ac05f9a3
Allow migrating non-SHA1 hashes on movie import (#3733)
* Allow migrating non-SHA1 hashes on movie import

* Show more descriptive message on missing hash

* actually return null here

* Simplify LsmvImport

* add more hash HeaderKeys

* remove unnecessary IEmulator argument

this could potentially fix bugs even

* explicitly cast to ReadOnlySpan
2023-08-13 23:11:48 +02:00
Morilli b6f1bae7e1 Revert erroneous change to bk2 loading for now
fixes 0af4d125b2
2023-08-13 21:14:35 +02:00
Morilli 9131c8ab2e Change SmvImport to import to Snes9x core; various fixes
the importer is still far from perfect, but it should handle some things better than before

- closes #3177
2023-08-13 20:01:56 +02:00
Morilli 0af4d125b2 revert bd9ec3c57d, fix bk2 framebuffer load 2023-08-12 18:16:54 +02:00
CasualPokePlayer 4ad7736ca7 add some kind of 3DS support to retroachievements, probably 2023-08-12 04:22:46 -07:00
CasualPokePlayer 72cc192661 Create a new project to house the IGL WinForms controls (Bizware.Graphics.Controls), thus allowing for Bizware.Graphics to be netstandard2.0
also move GDIPlus IGL stuff over from BizwareGL to Bizware.Graphics
2023-08-12 03:56:02 -07:00
CasualPokePlayer 9139870e7e fix bug from 3622fe76f9, remove variable unused since 3622fe76f9 2023-08-11 16:59:14 -07:00
CasualPokePlayer dfd7caaacb use glBufferSubData when possible instead of glBufferData, gives a nice performance boost 2023-08-11 16:57:20 -07:00
CasualPokePlayer 3622fe76f9 simplify IGL 2: Combine BindArrayData and DrawArrays calls into one Draw call: only supports triangle strips (already limitation with D3D9), assumes start is 0, binding and drawing are implicitly merged into a single call (in practice BindArrayData would just save the vertex pointer to some class level variable for DrawArrays, so this is just better all around) 2023-08-11 15:33:08 -07:00
CasualPokePlayer 64abeddc2b simplify IGL 1: Combine Clear and SetClearColor, remove support for non-color buffers (not supported by GDI+, never actually used) 2023-08-11 13:30:46 -07:00
CasualPokePlayer f2942feb93 minor cleanup for 47c2d315ce 2023-08-11 00:34:07 -07:00
CasualPokePlayer 47c2d315ce drop OpenGL 2.0 support (annoying to support given we already require FBO support, which is an extension pre-3.0, and VAOs also fall under that same group, polyfilling this is just bleh)
in practice this means nothing for any Windows user (since D3D9 would support whatever garbage GPUs that had OGL 2.0 support but not OGL 3.0 support), so it only affects Linux users with GPUs from 2004-2010 (~2011 GPUs supported at least OGL 3.0), and those users probably have options to still use BizHawk if they really wanted to anyways

With this, switch the GuiRenderer (main) pipeline to use VAOs/VBOs instead of the old legacy fixed pipeline crap (other shaders still need that crap for now, so there is still a fallback path there). Also add in way to "free" the vertex layout (since it now can hold a VAO/VBO which needs to be freed once the vertex layout is finished)
2023-08-11 00:30:47 -07:00
CasualPokePlayer 8260a59bcf fix #3726 2023-08-10 00:07:10 -07:00
Randomno 1cf5af83dd
Change Odyssey 2 framerate (squashed PR #3728)
* change o2 framerate

* result
2023-08-10 04:11:02 +10:00
Morilli a496f09f07 Fix SmvImport CRC32 import
closes #3727
2023-08-09 11:14:31 +02:00
Morilli fe845ce8ef Don't double-load movies from the PlayMovie dialog 2023-08-07 14:14:22 +02:00
CasualPokePlayer 20ca53dfd1 Apply e186514c39 for copy mechanism
Also fix the formatting of the string, we want : here not .
2023-08-07 02:45:54 -07:00
Morilli e186514c39 Display day length for 1+ day long movies 2023-08-07 11:40:24 +02:00
CasualPokePlayer f8b3914126 fix broken movie length calculation
this happened to work by chance most of the time, but for movies which cant store the number of milliseconds in an int, it breaks down
2023-08-07 02:32:32 -07:00
CasualPokePlayer 97d9ce35e2 Disable Hybrid Screen setting in Citra for now 2023-08-06 03:21:22 -07:00
CasualPokePlayer 59fcdb04cd Remove Bizware Vector2/3/4 and Matrix4 in favor of System.Numerics's implementation
Many many cleanups in BizwareGL and DisplayManager and GDI+ code
2023-08-06 03:21:22 -07:00
CasualPokePlayer bb96825c60
System.Data.SQLite -> Microsoft.Data.Sqlite (#3719)
* Swap System.Data.SQLite with Microsoft.Data.Sqlite

Apparently this is supposed to be a kind of successor? https://learn.microsoft.com/en-us/dotnet/standard/data/sqlite/compare

* Add e_sqlite3 libs to Assets, prevent runtimes folder creation with OS tailored libs plopped in, delete System.Data.SQLite references
2023-08-05 17:45:40 -07:00
James Groom 2150061c91
Update LuaConsole.cs 2023-08-06 03:01:44 +10:00
CasualPokePlayer ca756a2df3 dont use ContextMenu
winforms net6 doesn't support it, and "replacement" ContextMenuStrip doesn't work for this use case, so just create a slim wrapper using CreatePopupMenu/DestroyMenu directly
2023-08-04 00:54:42 -07:00
CasualPokePlayer ba8656e345 slight tastudio tweaks wrt 12830bab4e 2023-08-03 21:03:20 -07:00
James Groom 1ebc006873
Update unit test to match new config schema
fixes 12830bab4
2023-08-02 18:03:06 +10:00
CasualPokePlayer dc34b0b1a9 add in Wine/Proton detection, used to prevent D3D9 from being used if a user ends up using wine/proton (as often it seems D3D9 wine/proton just doesn't work and crashes in weird ways, sometimes *after* checking the renderer so it wouldn't fallback to OpenGL anyways)
Probably can add in some first time message box warning the user that wine/proton isnt supported, although we probably shouldn't block wine/proton (considering it's the only option for some distros with read-only filesystems, like the Steam Deck)
2023-07-31 23:02:30 -07:00
CasualPokePlayer 67e5505899 Rework OpenGL version support checking to be more robust, slightly rework OpenGL context creation request (they can now explicitly request the core profile) 2023-07-31 22:32:30 -07:00
CasualPokePlayer a2ea86fae0 add NET6_0 guard for GetValueOrDefault backports 2023-07-31 22:01:05 -07:00
CasualPokePlayer 811275cca8 Rewire memory domain pointers after reset in Citra
Add 3DS framerate in PlatformFrameRates
2023-07-31 21:22:57 -07:00
CasualPokePlayer 1ee2ef928c Prevent SDL from doing windows message pumping
Normally SDL doesn't do this as we don't ever call SDL_PumpEvents (or anything that calls that). However, OpenGL context creation code ends up calling WIN_PumpEvents regardless. This usually doesn't matter, however, in some cases, this can cause crashes, mainly with loading a state with Citra, as that ends up re-constructing its frame dumping OpenGL context (yeah that's dumb and useless but it's mostly harmless, outside of this message pumping). The WIN_PumpEvents calls appear to be unneeded anyways, so we can safely disable message pumping here.
2023-07-31 15:55:36 -07:00
CasualPokePlayer a315b122c5 force OpenGL renderer in Citra for now
the software renderer doesn't seem to be functional and the code for blitting it is incomplete
2023-07-29 17:03:53 -07:00
CasualPokePlayer 33f1c5472a add missing Dispose() for Citra ctor failure case 2023-07-29 16:26:29 -07:00
CasualPokePlayer 0a72dc046f add in missing mnemonics for 3DS controls 2023-07-29 15:22:56 -07:00
CasualPokePlayer e62c972ca3 Check in citra dll/so, add in build scripts/linux glslangValidator for citra, some minor cleanup handling with citra input handling 2023-07-29 15:09:17 -07:00
CasualPokePlayer f1e9f10454 Minor reworking of IGL OpenGL context creation
Try to regain compat with < OpenGL 3.0 users, better checks against OpenGL availability
2023-07-28 23:26:51 -07:00
CasualPokePlayer e7f4ad8220 fix exception popping up when Dispose()'ing DisplayManagerBase with OpenGL 2023-07-28 22:19:15 -07:00
CasualPokePlayer 12830bab4e Add in flag to IStatable to hint to the frontend that it should avoid rewind (not entire sure with the name, maybe SlowStates would have been better? trivial to mass-rename anyways)
Add in logic to not create the main rewinder if this flag is true, and add in logic to tastudio to avoid the main greenzone captures (instead only capture on branch save/load)
2023-07-28 22:07:31 -07:00
CasualPokePlayer 1ad3ed2216 minor cleanups in IGL_OpenGL 2023-07-28 15:38:43 -07:00
CasualPokePlayer 7a2f1532bf fix DS being shown upside down when ScreenControlNDS is used
fixes 78f5e75534
2023-07-28 14:54:02 -07:00
CasualPokePlayer f7448495b0 correct 3DS rom check in XmlGame
fixes 8c41b09108
2023-07-28 05:37:47 -07:00
CasualPokePlayer 8c41b09108 Add in 3DS rom extensions to rom filter
make it so CIAs past index 0 will be "installed" (mostly only relevant for movies, as the temp user folder is wiped each session in deterministic mode)
ensure XMLs won't load 3DS roms into memory (same reasoning as other hack, might be >=2GiB)
do some cleanup with this code
2023-07-28 05:33:56 -07:00
CasualPokePlayer 4ff157f652 add in Citra for global core config menu 2023-07-27 22:41:03 -07:00
CasualPokePlayer bd2c2ffc86 /s/_3DS/N3DS 2023-07-27 22:37:06 -07:00
CasualPokePlayer 5607845b24 Add in screen control filter for Citra port 2023-07-27 22:20:50 -07:00
CasualPokePlayer ff57303821 Add in 3DS entry for SystemIDDisplayNames 2023-07-24 00:39:50 -07:00
CasualPokePlayer 89b387e50d add memory domains for Citra 2023-07-24 00:14:11 -07:00
CasualPokePlayer 67510f3b56 cleanup 3DS firmware handling
seems these methods aren't really supported in citra, so I guess have fun dealing with manually setting firmware files
2023-07-23 21:22:26 -07:00
CasualPokePlayer 18b81a2011 Fixup OpenGL version reporting; add debug print for 3DS firm installing message
fixes 8ae947fed7
2023-07-23 20:09:17 -07:00
CasualPokePlayer 41ee99999a Add 3DS firmware handling 2023-07-23 19:55:58 -07:00
CasualPokePlayer 739c35c174 fix #3692 2023-07-23 03:58:46 -07:00
CasualPokePlayer dd5cbc92af set WRAM as the main memory domain in SameBoy
see #3711
2023-07-23 03:44:09 -07:00
CasualPokePlayer 2d17290918 add in RetroAchievements support for Uzebox and TI83 2023-07-23 03:38:29 -07:00
CasualPokePlayer 01cc5ca476 fix a RetroAchievements PSX hashing edge case 2023-07-23 03:28:54 -07:00
CasualPokePlayer e87536ea8f commit C# parts for Citra port
not committing the dll yet until some more things are ready
2023-07-23 03:14:26 -07:00
CasualPokePlayer cdfb8d67e8 commit citra submodule 2023-07-23 02:46:37 -07:00
CasualPokePlayer bed66e2cd4 fix minor oopsies / dumbs with previous commit 2023-07-23 02:16:24 -07:00
CasualPokePlayer 8ae947fed7 prep work for easier OpenGL interop for cores 2023-07-23 01:54:36 -07:00
CasualPokePlayer 78f5e75534
Kill Bizware .NET Framework deps (#3702)
The main objective in this PR is to get rid of the main .NET Framework dependencies in Bizware packages. This PR doesn't do that completely per se, still having .NET Framework used for WinForms Controls, but that can easily be swapped over for whatever UI framework we use next as long as it exposes native window handles in some way.

For this PR, it does some reorganizing of Bizware, splitting Bizware.OpenTK3 and Bizware.DirectX into 3 packages based on usage; Bizware.Audio, Bizware.Graphics, and Bizware.Input. These packages in the future probably could have more functionality moved into them, but for now they are largely just a reshuffling of the Bizware.OpenTK3 and Bizware.DirectX packages.

As both SlimDX and OpenTK3 are .NET Framework, they have been removed in this PR. Their replacements are as follows:

SharpDX: DirectSound, Direct3D9
Vortice: XAudio2, DirectInput/XInput
Silk.NET: OpenAL, OpenGL
SDL2-CS / native SDL2: OpenGL context management, new gamepad backend (replacing OpenTK's role for gamepads)
native X11: New key input backend (replacing one of OpenTK's roles for keyboards)

GLControl has been replaced by custom made control which just uses SDL2 for context management.

The OpenTK input backend has been replaced with a combination of SDL2 and an OS tailored key input backend (DirectInput on Windows, X11 on Linux, and planned to be Quartz on macOS). This is just represented on the user side as "SDL2" without mentioning the key input backend. This does mean for a while DirectX will be mandatory on Windows again, until a RAWINPUT backend is written for handling key input on Windows for the SDL2 input backend.
2023-07-23 00:35:43 -07:00
zeromus fe47285394 trim cheat lines, since it's virtually impossible to copy text from a web browser without getting junk around it 2023-06-30 19:42:28 -04:00
YoshiRulz 6b87e3ac91
Fix being unable to open SubGBHawk via system menu (fixes #3693) 2023-06-25 01:23:14 +10:00
SG d8ea4547d4
Add StringFormat to pixeltext DrawString parameters (squashed PR #3690)
* Add StringFormat to DrawString parameters

* Revert whitespace changes

* Code style nitpicks, cache `StringFormat`

---------

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-06-21 09:20:54 +10:00
YoshiRulz 4ee7e4cad7
Add deduper utility to RAM Watch 2023-06-13 23:43:53 +10:00
YoshiRulz 25ad59d895
Replace type check with enum (int) comparison in `Watch` 2023-06-13 23:43:53 +10:00
YoshiRulz ca8a183f38
Add `WatchList.InsertRange` and use when duplicating rows in RAM Watch 2023-06-13 23:43:53 +10:00
YoshiRulz 4d4887ee31
Fix `WatchList.Insert` not setting dirty flag
not sure if this was problematic in practice
2023-06-13 23:43:53 +10:00
Morilli 13dd04a026 Fix #3679 2023-06-07 23:01:54 +02:00
CasualPokePlayer 9e5fb35f7a Add in missing TMD for Cave Story Japan 2023-05-29 02:25:36 -07:00
Morilli c3ec8393d0 Optimize Remove[Prefix|Suffix] by using ordinal string comparison 2023-05-27 03:50:46 +02:00
adelikat f6135abe65 disabled log generator caching in bk2, it has playback problems not found it basic testing, need to revisist this later 2023-05-26 19:19:08 -05:00