Commit Graph

22813 Commits

Author SHA1 Message Date
YoshiRulz 0d671f6802
Don't print stacktrace when MultiMessageContext correctly falls back 2025-07-28 04:51:12 +10:00
YoshiRulz 6f1fced939
Add `MultiMessageContext` init using global CultureInfo 2025-07-28 04:50:00 +10:00
YoshiRulz 169e798e8c
Remove Fluent sample 2025-07-28 04:42:18 +10:00
YoshiRulz 1d7928077b
Use more idiomatic Fluent syntax 2025-07-28 04:42:15 +10:00
YoshiRulz b14f0333b5
Adopt Fluent in DiscoHawk, simply moving strings across 2025-07-28 01:07:36 +10:00
YoshiRulz ac27453478
Add Fluent.Net sample to DiscoHawk 2025-07-28 00:45:24 +10:00
YoshiRulz 0dc08f721c
Inline some fields and event handlers in DiscoHawk 2025-07-28 00:45:24 +10:00
YoshiRulz b3fc9ce7ad
Inline Designer files in DiscoHawk 2025-07-28 00:41:54 +10:00
CasualPokePlayer 56f3a2d692 Remove FS304 class, fix Mapper162 with UNIF
FS304 is the same mapper as Mapper162, although it appears to be an earlier attempt at implementing it, with it being less complete than Mapper162 (and not even having savestate code implemented). It even having the same UNIF mapper string used seems to also make it so there's some "randomness" in terms of which class gets used for a UNIF ROM of this mapper (in my experience, 2.10 resulted in Mapper162 being used, while my own dev builds resulted in FS304 being used). UNIF configuration from FS304 is needed for it to be functional in Mapper162 however, so that was ported over.
2025-07-26 23:36:00 -07:00
CasualPokePlayer 6248c9326e Fix NES 2.0 exponent-multiplier ROM size parsing 2025-07-26 16:01:32 -07:00
CasualPokePlayer 14c84e655d Rebuild quickerNES Linux 2025-07-26 13:46:52 -07:00
YoshiRulz 00f32b3506
Fix hang on rom loading when gamedb is missing
fixes 00d2a51ed
2025-07-27 04:31:00 +10:00
CasualPokePlayer f794a82fdb Fix quickerNES string error handling 2025-07-26 05:35:36 -07:00
CasualPokePlayer d0f94df0c1 Add NES 2.0 parsing to quickerNES
This is more just to reject more ROMs that quickerNES cannot run (as it runs under simple iNES assumptions and can't handle complicated cases)

Also resolves #4402 (quickerNES won't be accepting any NES 2.0 ROM indicating it needs PAL or Dendy timing)
2025-07-26 05:35:36 -07:00
YoshiRulz 14032a5b1c
Convert `Bit` to a `readonly record struct` 2025-07-26 12:11:22 +10:00
YoshiRulz f458acbbb4
Remove 5 unused `Bit` methods and reduce visibility of 2 2025-07-26 12:11:22 +10:00
Morilli f7866ce0b7 Nix expr: Regen NuGet lockfile 2025-07-26 01:39:48 +00:00
CasualPokePlayer 120c652cb0 Use iNES v2 region for iNES v1 if available
iNES v1 doesn't have any way reliable way to detect the region. While there are bits for such, they were added late to the spec and thus no ROM bothers to set them. The only reliable way to detect the region with iNES (outside of gamedb) is to use iNES v2's region indicator.

Commit also fixes up the region detection for the case of Dendy (which later iNES v2 gives a bit for)

See #4402, doesn't completely fix it as quickerNES is still accepting the ROM (it doesn't support PAL, so it should be rejecting it outright)
2025-07-25 18:20:58 -07:00
YoshiRulz e727ca4a96
Bump a couple third-party Analyzers 2025-07-26 11:18:46 +10:00
YoshiRulz 79b511c690
Run StyleCop in GitHub Actions better
fixes bbb0e5c1d
FFS this is still not automatic in $currentYear -_-
2025-07-26 11:18:42 +10:00
Morilli 737e2336f7 fix formatting
fixes a82dc1e6cd
2025-07-26 03:11:34 +02:00
Morilli bbb0e5c1d3 run stylecop in ci 2025-07-26 02:57:30 +02:00
YoshiRulz 7b7d5d1154
Remove references to obsolete prop `$(RunAnalyzersDuringBuild)`
fixes 69b923ad5
2025-07-26 10:06:02 +10:00
YoshiRulz d611e800ba
Change `SerializationStabilityTests` to explicitly fail on events
see #4377
2025-07-25 22:11:30 +10:00
SuuperW a82dc1e6cd Add some hotkeys for markers, and display them in tool tips. 2025-07-25 01:08:22 -05:00
SuuperW 9d2bc341b3 Fix: TAStudio would not update selected frames display when changing selection via arrow keys. 2025-07-24 14:41:52 -05:00
CasualPokePlayer 6960e99846 Fix TMD content size read 2025-07-17 15:10:39 -07:00
CasualPokePlayer ea34856fb0 Harden NAND clearing again, ensure file sizes are as expected 2025-07-17 14:55:49 -07:00
CasualPokePlayer 4d9a9fe44f Better handle cert.sys when clearing NAND 2025-07-17 12:39:24 -07:00
CasualPokePlayer 323fbe0ba3 Add blank private.sav files for system files 2025-07-16 19:34:21 -07:00
CasualPokePlayer 22fa04c80b Fix Jan 1, 2000 timestamp 2025-07-16 17:18:39 -07:00
CasualPokePlayer 84e9d131fe Fix pit.bin file path; make sure fat time is always DS epoch (Jan 1, 2000) instead of time(0) 2025-07-16 16:19:29 -07:00
CasualPokePlayer c551f1c5ad Also push rebuild of previous commit 2025-07-16 15:45:49 -07:00
CasualPokePlayer f15c494f13 Harden NAND clearing
This takes a more sledgehammer approach, as it seems even tiny minor difference in the NAND structure can cause sync issues. This is even the case if the entire directory tree and every file is identical (I guess order of files internally matters here or whatever). The entire partition will be recreated here with files manually readded as to minimize NAND differences (assuming system files are the same version anyways)
2025-07-16 15:45:49 -07:00
CasualPokePlayer a05c16d89b Workaround compiler crash 2025-07-16 15:45:49 -07:00
CasualPokePlayer 4cd30674e8 Adjust link script for newer clang versions
melonDS compilation complained the sections weren't aligned to 128, so I guess that's needed for alignment now?
2025-07-16 15:45:49 -07:00
feos af62d83865 dsda: fix defctrl.json 2025-07-14 18:38:31 +03:00
YoshiRulz 35ce3f56c5
Fix `NoTargetTypedThrowAnalyzer` choking on `throw obj.AField;` 2025-07-13 17:11:00 +10:00
YoshiRulz aaefdeaadc
Add BHI6660 to rules declared by several `BizHawk.Analyzer.*Analyzer`
will rebuild in later commit
2025-07-13 17:10:46 +10:00
YoshiRulz 8fcaac676a
Make shader file picker (in `DisplayConfig`) open in data base dir 2025-07-13 16:07:05 +10:00
YoshiRulz b4b95a1e41
Raise level of CA1065 to error
fixes fcb5d0d27
just forgot to stage this
2025-07-13 16:06:26 +10:00
YoshiRulz fcb5d0d273
Enable CA1065 and fix noncompliance
"Do not raise exceptions in unexpected locations" (e.g. static ctors and
`IDisposable.Dispose`, but also prop getters which is a bit annoying)
2025-07-13 15:57:27 +10:00
YoshiRulz 2ccddbd99e
Fix behaviour of `SharpCompressArchiveFile` around disposal 2025-07-13 15:40:07 +10:00
Morilli 766dce5105 fix DATParser 2025-07-12 14:56:05 +02:00
YoshiRulz 25203c59aa
Revert "Set `MONO_THREADS_SUSPEND=preemptive`" (fixes #4396)
This reverts commit 83098604fa.

Caused EmuHawk to hang after some minutes of running emulation, on
Ubuntu (Mono 6.8.0.105) and I think NixOS (Mono 6.12.0.182).
2025-07-12 15:28:58 +10:00
Morilli 6284b56e81 bsnes: implement r/w callback value passing
The value will now be passed to the frontend for read callbacks and both read and write callbacks' values can now be changed in the callback.

execute would probably be possible but would require some additional code changes which I'm not sure about
2025-07-10 20:06:29 +02:00
Morilli 6fe1b2d190 remove heuristic A/V desync exception in NutMuxer
- closes #4394

I assume this was meant as a sanity check expecting it to never be hit. Well, turns out if you break games hard enough this does get hit, so just remove it.
2025-07-10 02:41:34 +02:00
Morilli 2f184c99fe use ArrayPool instead of custom ReusableBufferPool in NutMuxer 2025-07-10 02:40:04 +02:00
YoshiRulz e230178b22
GitHub Actions: Specify artifact retention explicitly 2025-07-09 17:45:36 +10:00
Morilli 97031fdc95 "fix" encore build scripts for cmake 4 2025-07-08 00:58:31 +02:00