Commit Graph

21842 Commits

Author SHA1 Message Date
CasualPokePlayer f9d4737104 Expose SA1 IRAM in old BSNES 2024-09-30 22:16:26 -07:00
CasualPokePlayer 444d8d5d10 [Snes9x] Increase CARTRAM to 512KiB (the 128KiB limit was a product of the old snes9x port, newer snes9x has 512KiB as the new limit). Expose SA1 IRAM. Let ROM be writable in the memory domain (no reason not to) 2024-09-30 21:07:19 -07:00
Morilli 461a3dfb8d Optimize some linq Any() calls to list Exists() calls 2024-09-30 23:31:54 +02:00
Morilli 08125ae82d Cleanup CloseGame and CloseRom some more
- fixes  and hopefully breaks nothing else
2024-09-30 23:29:53 +02:00
CasualPokePlayer 9ce41a2a88 only update custom backdrop palette if in mode 5
maybe affects https://github.com/TASEmulators/Genesis-Plus-GX/issues/5 ?
2024-09-30 13:32:12 -07:00
Moritz Bender 2d229be6ba
Move ZwinderBuffer invalidation logic into the class ()
in scenarios with MANY states and high fps, the overhead of calling `GetState` every time was significant.
2024-09-30 15:55:48 +02:00
YoshiRulz fedd2dbb03 Replace `ImGuiResourceCache.BrushCache` with a single `Brush` 2024-09-30 21:47:07 +10:00
YoshiRulz fb425c9db6 Replace caches in `LuaPictureBox` with a single `Brush` and `Pen` 2024-09-30 21:47:07 +10:00
YoshiRulz 4f69796e51 Check for cached `SolidBrush` in `LuaPictureBox.DrawText` 2024-09-30 21:47:07 +10:00
YoshiRulz 6c514bcdd0 Change `NesPPU.HandlePaletteViewMouseMove` to re-use one `SolidBrush` 2024-09-30 21:47:07 +10:00
YoshiRulz 1b1589f2e8 Change `SNESGraphicsDebugger.RenderPalette` to re-use one `SolidBrush` 2024-09-30 21:47:07 +10:00
YoshiRulz 0313e1c119 Use `Brushes.*` instead of creating new ones from `Color` constants 2024-09-30 21:47:07 +10:00
YoshiRulz f4298d74f4 Change `SNESGraphicsDebugger.DrawPaletteRegion` to re-use one `Pen` 2024-09-30 21:47:07 +10:00
YoshiRulz ca95336349 Use `Pens.*` instead of creating new ones from `Color` constants 2024-09-30 21:47:07 +10:00
CasualPokePlayer 64f6742c15 Fix drawString not blending when it should
Drawing a string is really having GDI+ do the drawing in software, uploading the result to a texture, then overlaying it to the render target. Since this texture is largely transparent, it needs blending. Of course, assuming the colors are all otherwise opaque, we only need to do this for the string texture draw
2024-09-29 21:39:20 -07:00
Morilli ae5d4ab160 Make StateInformation a readonly struct
This helps a lot when many states exist, struct allocs are much cheaper than classes
2024-09-29 04:05:32 +02:00
Morilli 0ac81016b1 Optimize sound output buffer handling
turns out a Queue isn't the optimal data structure when you're queueing millions of elements
2024-09-29 01:44:39 +02:00
Morilli f3876da840 Optimize Vsync getter functions
trust me this is a highly relevant optimization
2024-09-29 01:39:55 +02:00
CasualPokePlayer ed676cda39 rebuild libmgba for Linux 2024-09-28 09:02:21 -07:00
CasualPokePlayer cab0b2df0b [mGBA] Fix savestates not writing back GPIO variables to gpioBase
The issue wasn't light sensor specific, but rather GPIO specific (so e.g. RTC games like Pokemon would also get affected)

resolves 
2024-09-28 08:58:24 -07:00
Morilli 0669483bd2 optimize TasLagLog.RemoveLagEntry
just because I can
2024-09-28 17:30:42 +02:00
Morilli 24012bfb21 optimize TasLagLog.RemoveFrom
- closes 
2024-09-28 17:30:40 +02:00
YoshiRulz 9a440d0301
Add missing syncsetting check to `Gameboy.FrameAdvancePrep` (Gambatte)
see 
2024-09-28 18:01:00 +10:00
YoshiRulz 444d1b2182
Avoid exceptions in `AxisValue` implementations (resolves )
see 
only in Release config, because cores really shouldn't be using
undeclared axes and I'd like to be able to catch that
2024-09-28 17:57:47 +10:00
YoshiRulz e3cfcdaeb9
Nix expr: Fix `emuhawk-*-bin` eval error
fixes 760a5b528
2024-09-28 12:51:27 +10:00
Morilli 15ff0ec2c7 refactor sticky hold/autofire logic in TAStudio
- setting multiple buttons to autofire actually works
- the config to respect lag in autofire is applied now
- can set meaningful axis hold / autofire
- removed last reference to "float autofire"
2024-09-27 00:14:09 +02:00
Morilli 6d9aa4d467 implement bitwise logic for axes
noticable in inputdisplay or when trying to set axis autofire
2024-09-27 00:14:08 +02:00
YoshiRulz 509bd1504a
Set some more metadata on BizHawk assemblies
The documentation for these is lacking, as I've come to expect, but I'm
angry all the same.
For EmuHawk and DiscoHawk, I've pushed `$(Description)` (normally only
seen when publishing to NuGet) into `$(AssemblyTitle)`, which Windows
labels as "File description", and then explicitly set `$(Product)`.
Also `$(NeutralLanguage)` doesn't set a culture, it points any lookups
for `en-US` localisations to embedded resources, which I believe is the
default. This just makes it explicit.
2024-09-27 08:13:33 +10:00
Morilli 5504deb73f make new from savestate and saveram work again
broke with 8956657a34 I'm assuming. Notably this will now no longer copy the current settings over, but that might actually be more consistent with the behavior of the normal new option, so...
2024-09-26 22:34:30 +02:00
Morilli 8f497d44f4 Make PatternsForm title text readable 2024-09-26 22:14:46 +02:00
YoshiRulz 4ccf4eafef
Add missing disc presence check to `NymaCore.FrameAdvancePrep`
fixes 
`ControllerAdapter` ctor uses `(discs?.Length ?? 0) > 0`, but it gets
`discs` from earlier in core init; when it's later assigned to `_disks`,
empty lists are replaced with null, and other places in `NymaCore` use
`_disks != null`. The `default(int)` is to match pre-3af5b7a7f
behaviour.
2024-09-27 05:47:27 +10:00
Morilli eaef1f3829 Fix display issue in TAStudio when <3 frames are visible
also left a giant TODO, not sure what else to do about it
2024-09-26 21:11:17 +02:00
Morilli bccc118091 Cleanup some more TAStudio function calls
in an ongoing effort to try and make the logic understandable

This should also restore default columns now when an existing tasmovie is currently loaded with column changes
and an existing bk2 is opened (which is then converted to a tasproj) (possible after 2ad7fc095c)
2024-09-26 21:07:18 +02:00
Morilli 2ad7fc095c Refactor tasmovie input roll settings handling
this allows loading the input roll settings stored in a tasproj even after it was initially `Load()`ed. This fixes those settings not getting applied when loading an existing, playing tasmovie into TAStudio.
2024-09-26 18:52:32 +02:00
Morilli 81b6c2793c Respect AutoFireLagFrames config setting in sticky controllers
Previously, there was no way to configure this and sticky autofire controls would always adjust to lag.
2024-09-26 13:49:21 +02:00
Morilli 6eba7930fc fix watch editor notes label position 2024-09-26 13:49:21 +02:00
YoshiRulz dde61e309f
Make `ServiceNotApplicableAttribute` constructor `params` 2024-09-26 13:54:42 +10:00
YoshiRulz f056059e48
Fix collection type in `ServiceNotApplicableAttribute` 2024-09-26 13:45:54 +10:00
YoshiRulz bcd13fe37f
Make `IDriveLight` optional for cores 2024-09-26 13:45:15 +10:00
YoshiRulz c22f2ab4f5
Remove redundant inter-project dependencies 2024-09-26 09:52:00 +10:00
Moritz Bender 3af5b7a7f0
Refactor sticky controller logic to separate it from user input () 2024-09-24 16:05:00 +02:00
Morilli 117b35f037 update bsnes from upstream source
includes some reverts to unnecessary source modifications
2024-09-24 15:57:17 +02:00
Morilli 1231d44afc Update llvm to latest point release 2024-09-24 15:57:14 +02:00
Morilli 9f137753b9 hide no-op context menus for separators in ram watch
- closes 
2024-09-24 15:23:25 +02:00
YoshiRulz e8b717c18e
Reorder fields in `WatchEditor` (resolves ) 2024-09-24 13:55:20 +10:00
YoshiRulz 775dc90ce2
Use a TLP to align UI elements in `WatchEditor` 2024-09-24 13:55:20 +10:00
YoshiRulz 9d1a22cab0
Fix typos from `WatchEditor` Designer file 2024-09-24 13:55:20 +10:00
YoshiRulz b8d65ae92a
Merge in Designer file for `WatchEditor` 2024-09-24 13:54:39 +10:00
YoshiRulz f1c901ce00
Revert "Improve watch editor layout"
This reverts commit f6bf38141a.
2024-09-24 12:30:59 +10:00
YoshiRulz 1d8c088261
Fix `--lua`/`--luaconsole` causing that window to open before MainForm 2024-09-24 12:25:16 +10:00