Commit Graph

22223 Commits

Author SHA1 Message Date
YoshiRulz 9b72b2292e
Nix expr: Regen NuGet lockfile 2024-12-23 21:54:36 +10:00
YoshiRulz 7350e0f7ce
Remove unused imports
fixes b09134489
2024-12-23 02:48:45 +10:00
YoshiRulz b091344896
Actually fix `GenOrderedControls` invariant, dropping Libretro hack
fixes a8368849a and 3384ce862
2024-12-23 02:37:56 +10:00
YoshiRulz 1eb8433b4a
Sort rom file picker filters 2024-12-23 02:20:00 +10:00
YoshiRulz 44dae6428d
Add bundles to rom file picker 2024-12-23 02:20:00 +10:00
YoshiRulz 319bfd3d3a
Show `.exe`s in rom file picker for PSX
see fa0c69344
2024-12-23 02:20:00 +10:00
feos 3384ce8629 input OSD: fix potentially absent P0
I don't know if there's any core that lacks non-player controls but this feels like the right thing to do anyway (for the future too)
2024-12-22 19:07:22 +03:00
feos fcff79e794 uae: fix double eject 2024-12-22 17:51:59 +03:00
feos 0e300fc094 fix #4142
store slot index for each drive instead of filename, and add it to savestates
2024-12-22 16:25:21 +03:00
feos a8368849a9 fix #4132
controls that don't belong to any indexed player are put at index 0, which makes them appear in front of everything that's used all the time. when there's only a few of those, it's fine. but for systems with keyboards, you have to fullscreen the emulator window to even see regular inputs

I moved index 0 to the end for input display, but didn't touch the original generator, since it may affect other things I'm not sure about (and I'm not smart enough to properly change it)
2024-12-22 14:53:12 +03:00
Morilli 1526de58ad Remove outdated SystemLookup
- closes #4143 by using EmulatorExtensions.SystemIDDisplayNames instead
2024-12-22 10:20:22 +01:00
Morilli 4dc0ec5b87 fix bundled input display script's controller detection
surely this breaks nothing
2024-12-20 20:24:35 +01:00
Morilli 18ef28ccef Improve bundled input display script's handling of unsupported systems 2024-12-20 20:23:51 +01:00
YoshiRulz cf90a96af0
Fix an error message from Cheats displaying an address in decimal 2024-12-19 06:20:33 +10:00
YoshiRulz 4bf29a6b00
Optimise all PNGs in main solution
fixes libpng errors from images added in 9e9687f02
2024-12-19 03:08:27 +10:00
YoshiRulz 3095aca86a
Use `StringPool` from CommunityToolkit in `ToUpperASCIIFast` extension
from be0736be4 (+ cherry-picked ccba93440) to this commit:
- `Database` reported runtime 0.64 s --> 0.68 s
- profiled `ParseCGIRecord` mean runtime 0.190 ms --> 0.179 ms
- `GameDBHelper` 1M lookups reported runtime 1.03 s --> 0.69 s
- managed allocations (w/o the 1M lookups) 131 MiB --> 123 MiB (fewer
strings but more char[]s?)

since `CompactGameInfo` obviously can't store `Span`s, I tried with
`StringSegment`, but it made both lookups *and init* slower, thanks MS
2024-12-17 01:03:41 +10:00
YoshiRulz c2200cb234
Use allocless `ReadOnlySpan.Split` in `Database.InitializeWork`
reverts 4c69ce4e2
2024-12-17 01:03:41 +10:00
YoshiRulz d72332e97d
Backport `ReadOnlySpan.Split` and co.
Includes: `Range`/`Index` and other polyfilled types are now `public` in
BizHawk.Common rather than `internal` in each assembly. Not for dedup
reasons--though that's probably good too--just because it was necessary
for exposing these new `public` methods with `Range` in their params.
2024-12-17 01:03:41 +10:00
YoshiRulz 48f5125c84
Improve `BIZHAWKBUILD_RUN_ONLY_GAMEDB_INIT` 2024-12-17 01:03:41 +10:00
feos 9e9687f026 rework firmware icons
better tooltip for deal bind
2024-12-15 20:11:12 +03:00
YoshiRulz ab5d92f319
Add note to `--help` re: rom argument
thanks MS
2024-12-15 22:50:14 +10:00
YoshiRulz 6cb19d8b8e
Fix typos
fixes 8645ed3bb
so the speedup isn't as big as with the broken code, but it's close
I think I'll be changing this again to use Span and I'll reprofile then
2024-12-15 15:09:55 +10:00
YoshiRulz 8645ed3bb9
Optimise `Database.FormatHash`
runtime (as reported by `Database`) reduced by -14%, allocations reduced
by -5%, and number of calls reduced by -32%
this is all under Mono so YMMV
2024-12-15 14:37:31 +10:00
YoshiRulz be0736be46
Remove ancient text file from root of repo 2024-12-15 12:30:59 +10:00
feos fc2b37cab7 uae: fix DevilsTemple 2024-12-14 23:14:59 +03:00
feos 18078c8764 rename puae to uae
while libretro initially ported original puae (which is long dead), they switched to just pulling updates from winuae every once in a while (and renamed to libretro-uae), because it's still active and is kinda considered golden standard these days
2024-12-14 19:01:31 +03:00
feos 4274b75379 puae: fix drives population with slots 2024-12-14 18:39:29 +03:00
YoshiRulz 8f384c6ef6
Fix typo in readme
per
https://en.wikipedia.org/wiki/Talk:Apple_silicon/Archive_2#Requested_move_4_November_2021
2024-12-13 10:47:22 +10:00
CasualPokePlayer c5c8b6bdd9 Don't open choose file from archive dialog when trying to fallback to a different core for a MAME ROM
The fallback is intended in cases where there is a misdetection for MAME ROMs, since it just goes off the archive's filename against a db. MAME ROMs will not have any sensical ROM extensions in them, and will most likely just have multiple files in it. As such, if this is actually a MAME ROM, they're pretty much guaranteed to show the choose file in archive dialog, which would confuse users. If it's not a MAME ROM, it most likely will not show this dialog and will just be loaded by the appropriate core (of course in practice this likely doesn't occur anyways, since most users likely just have their ROMs named with dat names like No-Intro etc which never match MAME's names).
2024-12-11 19:39:07 -08:00
feos b8ec340c90 puae: fix crash on switching to initially empty drive 2024-12-11 18:47:31 +03:00
YoshiRulz 56e5105d0d
Fix `Order{,Descending}` preventing GitLab CI from building tests 2024-12-11 10:22:54 +10:00
Morilli 2b71ff9a79 rename duplicate suggested firmware file names
- closes #4136
2024-12-10 22:53:38 +01:00
feos eed7b601ed space 2024-12-10 19:32:40 +03:00
feos aca5ccae50 puae: fix region change 2024-12-10 19:31:46 +03:00
feos dad929fd9f that's very helpful, thanks 2024-12-09 20:55:01 +03:00
feos 656618f310 analyzer makes sure to only ever report one problem at a time? 2024-12-09 20:48:43 +03:00
feos e02d22a044 k 2024-12-09 20:44:21 +03:00
feos b1c43a6379 file 2024-12-09 20:39:54 +03:00
feos 48913b4653 puae: led light 2024-12-09 20:35:24 +03:00
feos 6f7a1de25c puae: use winuae icon since it's more canonical 2024-12-08 16:52:11 +03:00
feos 2cd22490e9 uae: print slot/drive contents (#4138)
fix wrong const in the core
2024-12-08 14:54:27 +03:00
YoshiRulz 384b6f17a7
Add unit test for duplicate firmware filenames 2024-12-07 08:25:45 +10:00
Morilli 69b61b574d fix RecalculateScrollBars
- closes #4133.

This has a 50% chance of breaking something else (it either happens or doesn't), but should be more correct. Mainly, RecalculateScrollbars was called based on visible rows which depend on whether scrollbars are visible or not, but the NeedsVScrollbar calculation did not take the existence of the HScrollbar into account, leading to an off-by-one. I think.
2024-12-05 22:50:27 +01:00
Morilli 49458ab182 fix TAStudio input roll display issues
Resolves the remaining bug mentioned in https://tasvideos.org/Forum/Topics/12519?CurrentPage=85&Highlight=532467#532467
2024-12-05 19:28:04 +01:00
feos 29b848d336 remove harder
see d89035c400
2024-12-05 12:40:40 +03:00
YoshiRulz fac788a455
Revert unrelated changes to `TAStudio.Designer.cs`
fixes 1da3e4d77
see 0189b5110
2024-12-05 14:40:45 +10:00
YoshiRulz 0189b5110d
Revert whitespace changes to `TAStudio.Designer.cs`
fixes 1da3e4d77
2024-12-05 11:14:45 +10:00
feos a0da874431 fix removing everything
closes #734
2024-12-05 01:26:58 +03:00
feos b2f3bb3cba fix wrong pause in AutoAdjustInput()
it has to rewind to remove a frame, which makes it pause on first removed frame when we hit restore, instead of going all the way to LastPositionFrame. I tried a ton of things to fix it, and they break one of the 3 scenarios of going from the edited frame, emulating through removed was-lag frames until LastPositionFrame, and pausing there:
- autorestore
- restore manually via middle-click or the || button
- step frame by frame using wheel+RMB
wheel+RMB steps used to unpause in wrong places because paused state was disabled when it fires, so we couldn't decide whether to unpause or not based on it at the end of AutoAdjustInput(). so I'm enabling """paused""" state inside TasView_MouseWheel(), much like < and > buttons do, except they can be held to force unpause, but here you can't let go of mouse wheel since it already only fires once anyway. I'm disabling this state once tastudio has reached its INTERIM seek frame, and based on it I now can decide to unpause after AutoAdjustInput().

AutoAdjustInput() still has a tiny problem of not advancing the first removed was-lag frame when you go step by step, because it can only go one direction at a time, and it goes up as explained above, but we need it to also go down. this can be forced if we allow tastudio to seek to the CURRENT frame by loading its state and reemulating it, but I don't know if this will cause issues, and nobody is stepping through autoadjusted frames anyway, since it's meant to happen quickly and on autorestore

TODO: removing consecutive was-lag frames seems to remove them ALL!!!

inb4 all this causes other wild bugs...
2024-12-05 00:53:55 +03:00
feos 1da3e4d773 tastudio: AutoadjustInput
remove all consecutive was-lag frames in batch like taseditor does. current frame has no lag so they will all have to go anyway

still need to fix wrong pausing
2024-12-04 22:56:59 +03:00