James Groom
8967f58df8
Move `&&`/`||` to start of next line in main solution
2024-03-27 16:35:31 +00: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
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
YoshiRulz
d31047ffc3
Use NuGet central package management
2024-02-14 16:24:31 +00: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
484e1fee78
Clean up `NESSyncSettings.InitialWRamStatePattern`
2024-02-01 15:10:02 +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
James Groom
c2ddc40468
Clean up impl. of `LinkedDebuggable`
...
see ed5a708f9
2023-11-18 04:11:02 +10:00
James Groom
391190b6d4
Inline `ICoreFileProvider.DllPath`
2023-11-14 18:05:32 +10:00
James Groom
e9468cb0c8
Check FWIDs in database at runtime
...
see e119bdda3
2023-11-09 08:51:29 +10:00
CasualPokePlayer
e119bdda39
fix up firmware entries which had spaces in the id
2023-11-08 10:26:01 -08:00
CasualPokePlayer
151908104e
Revert 683aa263a0
2023-10-28 22:50:05 -07:00
CasualPokePlayer
f2a4794105
Use source generation for SettingsUtil.SetDefaultValues
2023-10-25 22:52:06 -07:00
James Groom
a7ee68f47d
Fix typo in Satellaview header model
...
see #3749
2023-09-10 22:38:19 +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
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
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
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
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
bd2c2ffc86
/s/_3DS/N3DS
2023-07-27 22:37:06 -07:00
CasualPokePlayer
ff57303821
Add in 3DS entry for SystemIDDisplayNames
2023-07-24 00:39:50 -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
41ee99999a
Add 3DS firmware handling
2023-07-23 19:55:58 -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
8ae947fed7
prep work for easier OpenGL interop for cores
2023-07-23 01:54:36 -07:00
YoshiRulz
9daac2c26f
Add and use extension method `string.StartsWith(char)`
...
reverts 333ce98a7
, partially reverts bc16a2cda
2023-05-23 09:18:25 +10: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
CasualPokePlayer
36fae775d4
Prevent annoying waits when using firmware manager with DSi NANDs present
2023-05-03 02:19:56 -07:00
YoshiRulz
66f26bb1c1
Create and use `IDictionary.GetValueOrPut{,New,New1}` extensions
2023-04-27 17:25:03 +10:00
YoshiRulz
70bd081a93
Refactor `ServiceInjector`
2023-04-23 17:41:55 +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
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
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
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
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
CasualPokePlayer
8737203f3a
Add ISaveRam implementation for AppleII, fix bug which caused DiskIIController to not be correctly stated
2023-04-04 23:46:26 -07:00
CasualPokePlayer
116bc26556
add in entries for the various regions for DSi NAND, add in handling to autodetect region
...
tentatively add in the bios7i and bios9i hashes from nointro
2023-03-31 20:22:23 -07:00
YoshiRulz
f28067e7fc
More improvements to mem hook docs
...
fixes 6b4f3355f
2023-03-18 10:00:50 +10:00
YoshiRulz
6b4f3355fd
Correct mem callbacks docs ( resolves #3522 )
2023-03-16 14:48:17 +10:00
kalimag
565a0b9141
Implement specialized `IMemoryCallback` collection
2023-03-16 14:30:19 +10:00
YoshiRulz
1ca1f4a397
Finalise sysID name and alphabetise
2023-03-11 07:29:23 +01:00
Morilli
6329d6a6fd
add all satellaview roms as separate firmware files
...
also implement corresponding loading code in the core
2023-03-11 07:29:23 +01:00
YoshiRulz
c954a84cd8
Add Satellaview rom detection code
2023-03-11 07:29:23 +01:00
Morilli
c906c830dd
Implement bsx + bs memory loading
...
connect satellaview when loading bsmemory
this makes rtc somewhat work
also mark SubBSNESv115 as BSX core
2023-03-11 07:29:23 +01:00
YoshiRulz
c66d0c746e
Document `IMemoryDomains` invariants
2023-01-25 02:04:10 +10:00
YoshiRulz
16ee704332
Deduplicate `MemoryDomainDelegateSysBusNES`
2023-01-08 07:54:20 +10:00
CasualPokePlayer
0bd2a1d89b
Resolve bigEndian nonsense for MemoryDomainDelegateSysBusNES too
...
TODO: This is just MemoryDomainDelegate but with a SendCheatToCore delegate allowed to be added, surely we could just add this to the existing MemoryDomainDelegate? Or better yet MemoryDomainDelegateSysBusNES could just inherit MemoryDomainDelegate if this wants to be separated (and reduce all this code duplication)
2023-01-06 10:10:14 -08:00
CasualPokePlayer
2a7cbda8c5
Correctly pass in bigEndian for MemoryDomainDelegate's BulkPeekUshort/BulkPeekUint, fixes #3516
2023-01-06 10:02:28 -08:00
YoshiRulz
af9f5b9b9c
Add some sort of documentation for B/V gamedb flags
2023-01-05 00:41:25 +10:00
CasualPokePlayer
00d450075e
oops forgot a colon here
2022-12-21 00:43:52 -08:00
CasualPokePlayer
c7c5ed229d
add pc2 extension for wonderswan
...
these are pocket challenge v2 roms, which is some handheld system which is actually just a wonderswan inside so these roms work anyways with cygne
2022-12-21 00:41:42 -08:00
CasualPokePlayer
27f6800d45
fix #3489 (InitializeWork is called by itself for each gamedb file #include'd, so the event would have been set once the first gamedb file is loaded, oops), do some other cleanup here
2022-12-10 23:42:08 -08:00
YoshiRulz
102874e480
Fix N64 header detection being swapped ( fixes #3477 )
...
fixes abeaa2a10
how ironic
2022-12-07 14:34:52 +10:00
YoshiRulz
abeaa2a106
Be less lazy about N64 header detection in byteswapper
...
fixes 82c3b471a
, 9660c16a0
2022-12-05 04:54:19 +10:00
CasualPokePlayer
3dd36f5f07
revert the explicit try/finally use for PeekByte/PokeByte monitor domain methods, testing seems to show the ref struct use makes EnterExit allocation (now forced to the stack) a non-issue performance wise
2022-12-03 18:30:09 -08:00
CasualPokePlayer
9420c8b21c
merge latest ares, hook up its new N64DD support, make ares use AxisContraint (see #3453 ), some other cleanups here
2022-11-27 05:44:00 -08:00
YoshiRulz
683aa263a0
Include `ControllerDefinition._orderedControls` in clone ctor
...
I don't think this is used, but as the caching was new in 2.8, going to include
this just in case
2022-11-23 15:35:45 +10:00
CasualPokePlayer
d0266816a5
Fix #3448 . Support MAME 7z romsets
2022-11-16 17:32:20 -08:00
CasualPokePlayer
066297d5e7
MAME Waterbox ( #3437 )
2022-11-10 00:05:25 -08:00
YoshiRulz
a8f571f2d6
Reinstate `GameInfo.NullInstance`'s name, and only instantiate it once
...
reverts 8dcea2470
`PathEntryCollection.RetroSystemAbsolutePath` extension didn't like this, there
may be others, and I don't want to look through them all
2022-11-03 11:02:44 +10:00
YoshiRulz
2b4d9c0c7d
Add debug utility to byteswap N64 roms
2022-10-11 10:12:49 +10:00
YoshiRulz
82c3b471a5
Minor refactors to byteswapping (N64 rom loading and Lua bit library)
2022-10-11 10:12:45 +10:00
CasualPokePlayer
2fa46efda6
add jaguar db, change db parser to prefer the strongest hash available, fix potential edge case if a crc32: prefix is present (and simplify the code)
2022-10-04 22:05:38 -07:00
CasualPokePlayer
70a21ee07e
push c# side for memtrack support
2022-09-28 03:28:01 -07:00
YoshiRulz
1bf2bb758c
Change serialisation of Jaguar VSystemID
...
also fixed line ending
2022-09-12 17:13:15 +10:00
CasualPokePlayer
483258a04d
virtualjaguar port, resolves #1907
2022-09-11 21:38:46 -07:00
CasualPokePlayer
463780a875
more cleanly deal with dummy hashes
...
fixes a515672
2022-08-28 03:13:23 -07:00
CasualPokePlayer
a515672d4d
fix #3159
2022-08-28 02:56:31 -07:00
YoshiRulz
dce961357a
Refactor `IGameInfo.FilesystemSafeName` extension
...
it doesn't make any sense to split this string into dir+filename, it shouldn't
contain a slash
2022-08-17 17:35:07 +10:00
YoshiRulz
a5652ee3bc
Backport `IEnumerable.Order`/`OrderDescending` shorthand
...
at time of writing, in .NET 7 preview
https://github.com/dotnet/runtime/pull/70525
2022-08-13 02:18:26 +10:00
CasualPokePlayer
5be8b0aab9
Zstd Compression ( #3345 )
...
Deflate compression in rewinder is now zstd compression
Binary blobs in zip files are zstd compressed (text is uncompresed for user ease).
All wbx cores and resources are re-compressed with zstd, wbx build scripts are changed to account for this. Shaves off a bit with download size and it's faster to decompress to.
2022-08-09 23:33:28 -07:00
YoshiRulz
8f153fd503
Restore PS2 sysID and add some others from RomLoader
2022-08-06 09:22:51 +10:00
CasualPokePlayer
5cd37c76b2
dobie removal cleanup
...
fixes 89972a3579
2022-08-05 03:32:09 -07:00
YoshiRulz
8dcea24703
Fix `GameInfo.NullInstance` having a name... why did it have a name
2022-07-25 11:15:19 +10:00
YoshiRulz
d142555ec3
Enable MA0066 and fix noncompliance
...
"Hash table unfriendly type is used in a hash table"
2022-07-22 07:28:31 +10:00
YoshiRulz
17df5673d2
Enable MA0098 and fix noncompliance
...
"Use indexer instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
b1ad34839a
Enable MA0029 and fix noncompliance
...
"Combine LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
26b6a1c4a9
Enable MA0020 and fix noncompliance
...
"Use direct methods instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
697c10e3e6
Enable MA0015 and fix noncompliance
...
"Specify the parameter name in ArgumentException"
needed to update package because this rule was broken until now
2022-07-22 03:51:46 +10:00
YoshiRulz
92c4714be1
Enable CA2208 and MA0043 and fix noncompliance
...
"Instantiate argument exceptions correctly" and
"Use nameof operator in ArgumentException"
2022-07-22 03:51:45 +10:00
YoshiRulz
8ac4dabaf7
Enable MA0012 and MA0014 and fix noncompliance
...
"Do not raise reserved exception type" and
"Do not raise System.ApplicationException type"
now mostly compliant with
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/using-standard-exception-types
2022-07-22 03:51:43 +10:00
CasualPokePlayer
8289c1051b
add hash for newly discovered GBC-GBA bootrom
2022-07-16 22:03:47 -07:00
YoshiRulz
90fe31529e
Replace `InvalidDataException` with `InvalidOperationException`
...
This should be safe because we never filter caught exceptions by this type. I
assume these were all typos, this exception has something to do with Streams.
2022-07-14 23:46:34 +10:00
CasualPokePlayer
9e90290b87
make MemoryDomain implement IMonitor (default is no-op Enter/Exit), cleanup, remove wrapper use (has a lot of churn itself), probably better performance with bulk functions
2022-07-03 20:19:53 -07:00
Morilli
fe22d61b3a
Save Monitor for all Monitor MemoryDomains
...
appends 596bd03ebe
for speedup for those domains
2022-07-03 23:48:48 +02:00
CasualPokePlayer
596bd03ebe
expose a possible IMonitor for memory domains, use it to speed up RAM Search for waterbox cores (25-30% speedup?)
...
see #3296
2022-07-03 13:18:09 -07:00
CasualPokePlayer
2c3b6b3cd4
ti80 core
2022-06-16 00:14:48 -07:00
YoshiRulz
2e46d13980
Add missing system display names, add MSX to rom file ext. filters
2022-06-15 07:44:51 +10:00
YoshiRulz
b8d5dd8990
Handle `$BIZHAWK_DATA_HOME` nicely instead of w/ a hack in `Database`
2022-05-31 01:36:38 +10:00
YoshiRulz
4938f427a4
Extract interface from `SettingsAdapter`, add alt. impl. using config
...
replaces hacks in `N64VideoPluginConfig` and `ProfileConfig`
2022-05-29 03:20:08 +10:00
YoshiRulz
5b403f9c2a
Refactor `PutCore{S,SyncS}ettings` call chain
2022-05-29 03:20:08 +10:00
YoshiRulz
1026503d92
Refactor firmware config so icons make sense ( resolves #3157 )
2022-05-21 04:39:44 +10:00
CasualPokePlayer
d90166e1ed
try to fix dsm importing (thanks microsoft for making dictionary order undefined)
2022-05-06 00:08:50 -07:00
YoshiRulz
635fff6c5d
Handle removing mem callbacks from within a callback ( resolves #1823 )
2022-05-04 15:59:04 +10:00
YoshiRulz
f7ead5f592
Rewrite `IController.ToDictionary` helper, now works with > 9 players
2022-05-01 15:11:14 +10:00
Morilli
76729aa56b
Prevent churn by not allocating a new video buffer every frame in NullVideo
2022-03-25 14:19:07 +01:00