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
YoshiRulz
fde16fa5a3
Hide D=>A TAStudio columns w/ Ares64, rename C* buttons in header
...
initial implementation by @thekovic
2023-05-27 03:01:49 +10:00
nattthebear
3d5b068c2f
QuickNES: Slightly tweak palette rounding computation
...
Fixes #3668
2023-05-26 07:01:56 -04:00
nattthebear
8a94204a2f
QuickNES: Fix loading 64 color palettes
...
Since ee0992158d
, we were using the default palette for deemphasis modes, instead of computing it based off of the input palette.
2023-05-26 06:46:56 -04:00
adelikat
cb721a39da
de-engineer some movie stuff, ILogEntryGenerator is not an important abstrations now that Bkm is gone
2023-05-25 15:01:30 -05:00
adelikat
33ed05b20c
BK2LogEntryGenerator - further optimize by doing the control ordering once
2023-05-25 13:32:58 -05:00
Morilli
f697a828c8
Optimize CreateLogEntry
...
Surely this is safe, right?
2023-05-25 13:19:16 -05:00
adelikat
05f8747321
optimize movie recording loop a bit, do not create a new instance of log entry generator every frame, avoids a lot of memory allocations with mnemonic lookups that do not change for the lifetime of the movie, also a slight optikmization in Bk2 controller, co-authored iwth morilli
2023-05-24 11:18:42 -05:00
YoshiRulz
9daac2c26f
Add and use extension method `string.StartsWith(char)`
...
reverts 333ce98a7
, partially reverts bc16a2cda
2023-05-23 09:18:25 +10:00
adelikat
333ce98a71
low hanging fruit speed up in inputlog loading using str[0] == c instead of str.StartsWith(c)
2023-05-22 12:50:30 -05:00
YoshiRulz
681ef72cd5
Change wording of checkbox for `Config.SuppressAskSave`
2023-05-21 16:22:54 +10:00
CasualPokePlayer
ccf2c61a23
fix #3664
2023-05-20 03:11:40 -07:00
CasualPokePlayer
08ead80385
make these callback delegate caches static (why didn't this warn that static was possible here?)
2023-05-19 22:30:17 -07:00
CasualPokePlayer
3c53f52c6d
remove some debugging crap from c9e30060d4
2023-05-19 22:28:32 -07:00
CasualPokePlayer
542cf2433a
Reduce allocation spam in Jaguar disassembly functions
2023-05-19 22:26:45 -07:00
CasualPokePlayer
c9e30060d4
Rework the Reader/Writer callbacks for the WaterboxHost, a bit nicer here working with the userdata
...
Also make it so initial loading uses the zstdstream or filestream directly instead of a memorystream with it all loaded
something of note, not really happy with how these read/write callbacks get used in practice, it seems they get spammed in small chunks
for initial loading, it's 8192 byte chunks each, which can be a LOT of callbacks, depending on core size (gpgx is ~500, MAME is ~22K)
similarly, savestates suffer a similar issue, although instead it's a ton of 4096 byte chunks (page size eh?)
The unmanaged <-> managed transitions obviously are not exactly performant, and I imagine are taking a significant portion of the time here
Perhaps some buffering strategy should come in on the native waterboxhost side to alleviate callback spam?
2023-05-19 22:26:45 -07:00
adelikat
99a6b1d339
add hotkey for toggling the 'Display Nothing" feature
2023-05-19 20:05:16 -05:00
CasualPokePlayer
8a13793d00
Turn WaterboxHostNative ReturnData to a struct, misc cleanups elsewhere
2023-05-18 22:21:17 -07:00
CasualPokePlayer
332143ea8d
invalidate cram caches when poking, maybe
2023-05-18 21:14:57 -07:00
CasualPokePlayer
473d3cc294
fix #3662
2023-05-18 19:09:08 -07:00
CasualPokePlayer
ea854ff39d
make discohawk form a bit bigger
...
all the formats supported means the box wasn't big enough to display all of them lol
2023-05-18 07:28:10 -07:00
CasualPokePlayer
fe79b69123
(Partial) .nrg support
...
TAO support isn't complete, a lot of sanity checking isn't done yet
2023-05-18 07:14:14 -07:00
Morilli
3d30f52e7c
Fix LogWindow treating everything as ascii
...
hopefully this doesn't break anything
2023-05-17 14:54:18 +02:00
CasualPokePlayer
f11b5bc9c4
fixup CDI generated subcode (not sure why I did that)
...
have it generate "leadin" and "leadout" tracks for multisession discs... this is almost certainly wrong for leadin (doesn't matter so far), leadout is probably right...
2023-05-12 20:47:29 -07:00
CasualPokePlayer
0e6d5fb708
minor addendum to 2012b083f6
2023-05-12 03:28:14 -07:00
CasualPokePlayer
2012b083f6
Fixup multisession handling with MDS and improve its track/sector size handling, also maybe fix it entirely? (not sure if this ever worked)
...
Move the various synths using the CUE SS_Base to a file, mostly just a nicer organizational change as MDS and CDI use one of these but not CUE
Misc improvements elsewhere
2023-05-12 02:44:05 -07:00
CasualPokePlayer
1f3068fe77
fix synthesizing disc tracks with multisession discs when the first session has a large amount of tracks
...
FirstRecordedTrackNumber only works here for the first session, for future sessions it doesn't work and may just result in out of range exception
2023-05-11 02:57:14 -07:00
CasualPokePlayer
858ea372a9
Fix Jaguar CD detection for Caves of Fear
2023-05-11 02:28:33 -07:00
CasualPokePlayer
e3c27813b6
fix the fix in 45a0c8cffb
2023-05-10 05:37:03 -07:00
CasualPokePlayer
45a0c8cffb
another fix for 9551394
2023-05-10 05:23:24 -07:00
CasualPokePlayer
c52a950c41
Fix dumping CCDs with multisession discs, fix oopsies with CDI parsing giving the wrong last recorded track number
2023-05-10 04:58:37 -07:00
CasualPokePlayer
2379650e1b
Implement error and verbose message callbacks for rcheevos (currently they just output to the console)
...
Implement debug option for hashing with more pure rcheevos logic, mostly just useful for figuring out disc hashing issues
2023-05-10 03:11:50 -07:00
CasualPokePlayer
d3a689c589
Resolve #3650 . Also fix a bug which caused overwriting lua scripts with a new lua script to fail (fixes 380e459bec
)
2023-05-08 03:01:41 -07:00
CasualPokePlayer
f677e92504
fix TOC field mixup with Jaguar CD
2023-05-07 22:09:52 -07:00
CasualPokePlayer
40e21b716e
fix 955139454a
2023-05-07 02:59:38 -07:00
CasualPokePlayer
7d5a1d5c98
Lower CPU usage from RCheevos http stuff
2023-05-07 02:41:07 -07:00
CasualPokePlayer
68cd28c28a
fix directionals and other common buttons being dropped from controller inputs when hotkeys overrode controller inputs
2023-05-07 01:00:13 -07:00
YoshiRulz
4a752f66b7
Add Analyzer to require checking or discarding `TryGetValue`
...
I'm pretty sure all the existing instances were intended to use `default(T)` if
the key isn't present, except maybe the cheatcode converters but I don't care to
rewrite those at the moment
2023-05-05 06:27:15 +10:00
YoshiRulz
384a4e1e18
Bump version info post-release
2023-05-04 08:10:07 +10:00
CasualPokePlayer
36fae775d4
Prevent annoying waits when using firmware manager with DSi NANDs present
2023-05-03 02:19:56 -07:00
CasualPokePlayer
5f6d70ac46
Fix random crashes with rcheevos. The issue was that rc_runtime_t can store pointers to itself, which is bad when rcheevos expected the user to allocate that struct and did not provide functions for that. I've added that functionality and PR'd it (I'll fixup submodule to point to upstream when it's merged)
...
PR can be found here: https://github.com/RetroAchievements/rcheevos/pull/239
Also minor fixes wrt the ContinueWith usage in InternalDoRequest
2023-05-03 01:54:57 -07:00
CasualPokePlayer
248b8ab984
Fixup bad threading (no, you cannot access rcheevo's _runtime in a separate thread! main thread use only!). Should fix up some random crashes
...
Slightly change up the request model, now InternalDoRequest does not block
Fixup logic of ToSoftcoreMode (and comments so it isn't screwed up again)
2023-05-02 21:47:09 -07:00
CasualPokePlayer
8ef1d93891
Prevent UI thread deadlocking on Dispose()'ing rcheevos stuff
2023-05-02 17:18:31 -07:00
CasualPokePlayer
b9a983f1fe
Fix typo causing crash with SMSHawk with RetroAchievements & Hardcore Mode
2023-05-02 17:08:39 -07:00
CasualPokePlayer
41d94e4262
Change up multithreaded rendering in melonDS
...
Instead of creating a new Task and destroying it every frame, just create a new thread and call the delegate when needed.
Also allow for rendering a frame twice, this is actually possible anyways (albeit rarely done).
This should also help against a potential deadlock due to the Task.Wait call on the UI thread (which has special semantics in WinForms)
Also minor nitpicks in RCheevos code
2023-05-02 16:52:48 -07:00
CasualPokePlayer
b517228475
Refactor rcheevo http requests (again). This should better protect against the UI thread deadlocking due to Task semantics with WinForms
2023-05-01 03:50:49 -07:00
vadosnaprimer
e065263ff2
MAME does mark bad dumps, but it only keeps their info if good dump is not known yet. once a good dump appears, its info replaces the bad one.
...
so simply sticking to newest rom sets is the safest, otherwise there's little user control, because there's no global list of all known dumps with indications which of them are bad and what to use instead.
2023-04-30 14:07:08 +03:00
CasualPokePlayer
2010f5e15c
disable leaderboard list form, for now, and revert efa6505
...
see that commit for details on issues with this form (this form is kind of useless anyways, meh)
2023-04-28 18:37:06 -07:00
YoshiRulz
8a5921182e
Add Analyzer to disallow discarding locals e.g. `_ = result;`
...
fixes 70bd081a9
, a2185d9ef
2023-04-29 01:52:43 +10:00
CasualPokePlayer
a2185d9ef0
fix 70bd081a93
...
The entire call is skipped in release mode if you place it inside a Debug.Assert.
2023-04-28 03:14:56 -07:00
YoshiRulz
66f26bb1c1
Create and use `IDictionary.GetValueOrPut{,New,New1}` extensions
2023-04-27 17:25:03 +10:00
YoshiRulz
fa48278354
Enable MEN014 and fix noncompliance
...
"Prefer TryGetValue"
2023-04-27 17:24:55 +10:00
CasualPokePlayer
c8589de5c6
fix #3648
2023-04-26 23:05:11 -07:00
sverx
102dee9622
Fix some SMS audio inaccuracies (squashed PR #3602 )
...
* fix noise audio channel on SMS VDP
* Update SN76489sms.cs
also, white noise is generated by XORing bits 0 and 3, not 0 and 1, on an SMS/GG VDP
* Update SN76489sms.cs
reverting commit #7b857e7
2023-04-27 15:46:52 +10:00
Daniel Parks
dd30a389a0
TAStudio/PatternsForm: Block deletion of loop entry which would cause a crash
2023-04-27 15:14:44 +10:00
Daniel Parks
07ba36956a
TAStudio/PatternsForm: Allow looping to entry zero
2023-04-27 15:14:44 +10:00
YoshiRulz
9cbd238997
Convert `GenericDebugger.DisasmOp` to a struct
2023-04-23 19:08:19 +10:00
YoshiRulz
70bd081a93
Refactor `ServiceInjector`
2023-04-23 17:41:55 +10:00
YoshiRulz
c5d6a66e01
Resolve TODO re: memoisation in `GenericDebugger`
2023-04-23 17:41:55 +10:00
YoshiRulz
4b001a48a9
Dedup `GenericDebugger.EngageDebugger`
2023-04-23 17:41:55 +10:00
YoshiRulz
ac3e76309f
Use helper prop here
2023-04-23 17:41:54 +10:00
YoshiRulz
bcdeec369a
Move commented-out code to `#if false`
2023-04-23 17:41:50 +10:00
Morilli
396e876320
Optimize TAStudio column drawing by caching PlayerNumber for each column name
...
TAStudio previously called `PlayerNumber(...)` for each visible cell with the column's name, only to determine whether its player number is odd or even.
Because that function uses regex and is potentially called extremely often, this had a noticable impact on fps.
I've decided to just cache the odd/even playernumber result in a dictionary for faster access, which while not being my preferred way of handling this at least results in a decent speedup.
2023-04-23 00:15:43 +02:00
Morilli
afb92870e4
TargetName -> AssemblyName
...
this fixes the winforms designer in Rider, let's hope it doesn't break anything though
2023-04-22 13:51:13 +02:00
CasualPokePlayer
a8aced4474
Workaround crashes in MAME's zlib decompression code ( #3639 )
...
* Workaround crashes in MAME's zlib decompression code (see https://github.com/TASEmulators/BizHawk/issues/3615 )
* Use using block, only catch InvalidDataException (what will be thrown if the zip entry has an unsupported (likely lzma) compression method)
2023-04-20 09:29:03 -07:00
CasualPokePlayer
efa6505826
prevent crashes when loading up leaderboard forms
...
apparently some game had 2002 leaderboards which caused a crash when making a form for every one of them in the leaderboard list, I guess windows has a limit on the amount of forms that can be active at once?
this is a quick hack to prevent such a crash, design needs to be rethought
2023-04-20 09:00:16 -07:00
Morilli
1356bc6a3f
i guess this is required oops
...
fixes bc16a2cdaa
2023-04-20 12:31:33 +02:00
Moritz Bender
bc16a2cdaa
Implement IBasicMovieInfo interface for IMovie ( #3634 )
...
* Implement IBasicMovieInfo interface for IMovie
this allows parsing basic movie fields into an own class that is independent from Bk2Movie/TasMovie
This is mainly useful for the PlayMovie dialog which can now load movie information from files on disk without having to go through the entire Bk2Movie/TasMovie loading process
* don't potentially iterate input log twice
* Optimize LoadFramecount
2023-04-20 10:43:02 +02:00
CasualPokePlayer
cf88e61875
c# side changes to use the split ares' binaries
...
resolves #3614 and #3617
2023-04-19 23:23:12 -07:00
CasualPokePlayer
8cf820da4d
Don't send invalid paths to MAME
...
Waterbox cores can't create files anyways, and trying to send in ? might make MAME try to make the directory anyways (which crashes due to the syscall for that being unimplemented), while "" will not do that
2023-04-19 18:41:05 -07:00
YoshiRulz
b5e2a0c422
Move some .gitignore entries to nested dirs
2023-04-19 15:59:34 +10:00
CasualPokePlayer
955139454a
fix Jaguar CD homebrew hashing wrt retroachievements
2023-04-18 22:38:13 -07:00
CasualPokePlayer
4268c50617
Fix RetroAchievements rich presence not working
...
Cleanup this code so it plays nicer with BizHawk's "run everything on the main thread" (+ WinForms not playing nice with async methods)
Resend any game session start / achievement unlocks / leaderboard triggers if they failed. Wait for all achievement unlocks and leaderboard triggers to finish on Dispose() (mostly for catching them when user closes BizHawk)
Update rcheevos to 10.7.0
2023-04-18 21:35:58 -07:00
YoshiRulz
20e5c43bc8
Add `--socket_udp` CLI flag
2023-04-18 19:15:02 +10:00
Morilli
0f2a76bd5e
lazy-initialize zstd contexts to reduce alloations
...
This becomes mostly apparent in the PlayMovie dialog where one zstd instance is created for every single movie, churning significant amounts of memory even though zstd isn't even used
2023-04-16 15:33:40 +02:00
CasualPokePlayer
98afdb8993
(Actually) Fix DeltaSerializer's `GetDelta`
...
fixes 2838a5412a
2023-04-15 22:04:21 -07:00
CasualPokePlayer
2838a5412a
Fix DeltaSerializer's `GetDelta`
...
Fixes AppleII/C64 states sometimes crashing when a disk change actually happens
2023-04-15 21:33:51 -07:00
YoshiRulz
ebd36f08b6
Downgrade `System.Drawing.Common` to 6.0.0 and enable Unix impl.
...
fixes 65ffa3fc2
testroms run now, CBB checking GambatteSuite runs but I'm guessing it does too
2023-04-16 10:49:18 +10:00
YoshiRulz
6ffe99c006
Use the right `Sameboy` ctor in testroms project
...
This reverts commit 379eeeeed8
.
2023-04-16 10:14:46 +10:00
YoshiRulz
236c748b1a
Downgrade MSTest to 2.2.9
...
fixes 65ffa3fc2
2.2.10 and above result in the error `The type or namespace name 'TestContext'
could not be found`
2023-04-16 10:14:43 +10:00
YoshiRulz
a1fe557d31
Re-enable MA0020 and fix noncompliance
2023-04-16 09:02:40 +10:00
YoshiRulz
65ffa3fc2e
Blindly update NuGet deps
...
temporarily disabled MA0020
2023-04-16 09:02:40 +10:00
100thCoin
85a481f93f
Nes.Core now updates the DataBus in WriteMemory() ( #3633 )
...
* Nes.Core now updates the DataBus in WriteMemory()
This will fix open bus execution following write instructions.
* Properly formatted changes in previous commit
I have addressed the requested changes.
2023-04-15 21:24:27 +03:00
YoshiRulz
f2880d8325
Update `CoreComm` init in testroms project to new signature
...
fixes 76a29d356
2023-04-15 10:36:43 +10:00
YoshiRulz
379eeeeed8
Make `Sameboy` ctor public so testroms project can use it
...
fixes 9528a2030
2023-04-15 10:36:39 +10:00
vadosnaprimer
c90fcbbd54
mame: numerator 0x4000'0000 and above breaks mp4 on youtube...
2023-04-14 19:32:29 +03:00
vadosnaprimer
8e6eac7bfd
mame lua doesn't expose settings for optional dip switches, so hide them for now
...
38498868fc/src/mame/toaplan/toaplan2.cpp (L2960)
2023-04-14 19:23:50 +03:00
YoshiRulz
59562d8930
Fix `[RequiredService]`s checked for `null`
2023-04-13 08:53:14 +10:00
YoshiRulz
5f77a310c5
Remove `ServiceInjector.ClearServices`
...
This call in `ToolManager.Restart` was to set `[{Optional.Required}Service]`
props to `null`, but the tool form would get `Close`d immediately afterwards, so
it never gets the chance to hit the `null` path if one exists. However, some
tools are written as though they keep the stale value, for example attempting to
call a cleanup function on it in their `Closed` event handler. These will now
work as intended.
`[OptionalService]`s that can't be satisfied are set to `null` by
`ServiceInjector.UpdateServices`, so clearing those isn't necessary, and
`ClearServices` has no other usages.
2023-04-13 08:53:14 +10:00
Moritz Bender
ddc3e929e9
Use source generation for VersionInfo ( #3625 )
...
* Use source generator for VersionInfo
* Remove leftover hacks
* Use same fallbacks as NixHawk when Git not available
---------
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-04-12 21:14:44 +02:00
CasualPokePlayer
03aa420bd5
fix last issue in #2951 properly
2023-04-09 23:43:28 -07:00
vadosnaprimer
ffd8e6897a
don't keep multidisk flag on after it was set once
...
don't replace mame rom info icon and text with multidisk ones if there are emulation issues
2023-04-09 23:52:50 +03:00
vadosnaprimer
fadc445f9c
mame: print more rom info
2023-04-09 23:40:59 +03:00
vadosnaprimer
76a29d3563
allow setting OSD message duration for its callbacks
...
todo: simulate optional args for Action?
2023-04-09 22:08:37 +03:00
vadosnaprimer
b4394af824
mame: report emulation status via rom info icon and text
...
mame won't care too much about how good the dump is, but it will warn you in orange that emulation is imperfect, and in red if it's broken. we happen to use rom status icon to inform the user about multidisk bundle, so using it for mame info feels natural, because it directly affects what users can safely submit to tasvideos. we warn them about bad dumps because it's banned for pub, so it's similar here.
2023-04-09 21:38:56 +03:00
vadosnaprimer
8aa03c3059
mame: add emulation issues info to RomDetails
...
reorder file hashes and names so it looks aligned
2023-04-09 19:22:19 +03:00
YoshiRulz
0469c04372
If a PSX `.bin` is loaded, try synthesising a `.cue`
...
this works but takes forever, which I'm guessing is because somewhere it's
trying to hash the whole file. that's not a new problem though
2023-04-09 10:06:06 +10:00
CasualPokePlayer
5f0683c1ae
Fix #3616
...
This had two issues. One, relative pathing with dlls is a no-go. Our hackery with changing cwd seems to confuse lua, and while it can find the dll, it fails to load as Windows (at least) does not consider cwd for loading up dlls it appears. Secondly, people using luasockets never actually loaded up the luasockets dll, rather we were bundling it ourselves. From history it seems this was due to our lua being compiled with CLR/.NET and that didn't play nice with exceptions? Doesn't seem to be an issue anymore, but we should probably still bundle luasockets for the time being given it used in many different projects which use the same script with multiple different emulators (thus our own sockets are simply not usable).
2023-04-08 16:01:36 -07:00
YoshiRulz
8ef8d4efb9
Remove unused `kernel32` import
2023-04-09 08:02:35 +10:00
vadosnaprimer
e06d32c70a
Revert "throttle shouldnt act as paused when rewinding"
...
This reverts commit 007442773a
.
fixes #3268 but unfixes #3053 , which should instead be fixed by something that doesn't lead to breaking other things and the author of the "fix" giving up on the project
2023-04-08 23:07:34 +03:00
YoshiRulz
45ab749caf
Fix N64 (Ares64) system menu having a blank space on Mono
2023-04-09 05:34:19 +10:00