Commit Graph

97 Commits

Author SHA1 Message Date
YoshiRulz af8a330422
Replace unnecessary init props w/ ctors, remove hack for init props 2021-01-15 21:39:43 +10:00
nattthebear 0b432994df
Rework GB GPU memory areas API (#2566)
* Rework GB GPU memory areas API

All cores can easily implement it now with no copying or awkward garbage.  Also fix the scanline callback and printer callback in Sameboy, which had been broken for some time.

Fixes #2564
2021-01-14 19:17:40 -05:00
YoshiRulz 5078ac392b
Simplify null-safety checks in GetEnumFromDescription<T : Enum> 2021-01-09 05:13:57 +10:00
YoshiRulz 979afcb54d
Do something cleverer than throwing NRE in a few places 2021-01-09 05:08:09 +10:00
YoshiRulz e976e0c2ad
Use nameof in DeepEquality, fix typo 2021-01-09 04:54:02 +10:00
nattthebear ecafbde89d Let's not break the entire fucking program brahs 2021-01-08 13:41:15 -05:00
YoshiRulz c1a734a04d
Update the NuGet deps which should be safe to update 2021-01-02 20:31:54 +10:00
nattthebear f284fda3a6 Object.Equals(object) overrides should not throw
Especially not if you pass null.  null is simply not equal to this, that's all.  The post condition is satisfiable; you can return false.
2021-01-01 17:06:59 -05:00
YoshiRulz 51b62629c6
Enable nullability in most of the remaining files in BizHawk.Common 2021-01-02 02:39:13 +10:00
YoshiRulz 60d2bfa85c
Bump C# language level for ReSharper/Rider 2020-12-22 20:07:35 +10:00
adelikat fe5655d1e3 misc cleanups in BizHawk.Common 2020-12-15 17:54:44 -06:00
adelikat b83556fc6f make fields readonly where possible 2020-12-15 16:00:55 -06:00
YoshiRulz 877c11d5f9
Merge UpdateChecker.ParseVersion into VersionInfo.VersionStrToInt 2020-12-06 07:35:12 +10:00
YoshiRulz 66e0d4b214
Misc. cleanups in VersionInfo 2020-12-06 07:28:31 +10:00
YoshiRulz 508dc4a9d9
Use readonly instead of const in VersionInfo 2020-12-06 07:28:23 +10:00
YoshiRulz 9dcc8f56f4
Move VersionStrToInt helper to VersionInfo 2020-12-06 07:27:54 +10:00
nattthebear 27e600c1ac Fix some confusions in no-dirty-detection mode
This caused some awful crashes, but doesn't affect any real release builds of waterboxhost
2020-10-13 09:10:40 -04:00
YoshiRulz 24d07121e2
Bump version 2020-10-11 18:31:15 +10:00
YoshiRulz 03f82226cf
Cleanup GetRelativePath after move from MultiDiskBundler
fixes 5d001f3aa
2020-10-01 22:33:32 +10:00
zeromus 5d001f3aa9 put MultiDiskBundler's GetRelativePath() in PathExtensions.cs. but I didn't end up using it... 2020-10-01 03:12:42 -04:00
zeromus 99f9b9b447 rename GetTempFilename `extension` arg to make it clear that you should provide the dot... 2020-10-01 03:02:13 -04:00
adelikat 995993357f
StateManager - increase performance when there are a lot of states, fixes issue #2428 (#2433)
* StateManager - switch from SortedSet to List<int> + duplicate checks.  Seems to make raw capture speed to be slighly slower, but greatly speeds up invalidate which speeds up painting

* Add SortedList<T> : ICollection<T> which wraps List<T>

More interfaces can be added as needed. There's an indexer though ICollection
doesn't specify one.

* Update SortedList<T>

* StateManager - use SortedList<int>, seems to offer raw unthrottled drawing speed with no drawbacks, painting is still smooth when there is a high number of states

* remove a space

* Add RemoveAfter to our SortedList for efficiency

* fix unit tests to use [DataRow]

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: RetroEdit <30182911+RetroEdit@users.noreply.github.com>
2020-09-30 08:37:36 -05:00
YoshiRulz f8e624befe
Create common property IsTargetingNetFramework
* if true, will add reference assemblies <PackageReference/>
* slightly less dumb <Move/>
2020-09-22 22:11:00 +10:00
YoshiRulz 877bb2ccea
Move Assets to output <Target/> to BizHawk.Common 2020-09-22 09:33:44 +10:00
YoshiRulz 5ed192c5ce
Bump version 2020-09-14 16:19:07 +10:00
adelikat 40fe4b3022 Merge branch 'release' 2020-09-13 11:10:38 -05:00
adelikat f104807193 update version info 2020-09-12 20:36:29 -05:00
YoshiRulz 5488c80f4d
Enable SA1400 and fix noncompliance (except in Cores)
"Access modifier should be declared"
2020-09-08 21:57:14 +10:00
RetroEdit aa00184737
Revert "DeveloperBuild = false"
This reverts commit e524f3e4e5.
2020-09-03 20:15:44 +00:00
RetroEdit cd499b2378
Merge branch 'release' 2020-09-03 20:14:45 +00:00
YoshiRulz 1793e991ca
Move Windows version check to OSTailoredCode and cleanup 2020-09-02 07:47:57 +10:00
adelikat e524f3e4e5 DeveloperBuild = false 2020-08-30 11:54:48 -05:00
adelikat 5b93ef14dc update version info 2020-08-30 11:49:48 -05:00
YoshiRulz 45063aa6fa Add helper for when calling .GetTypes() on EmuHawk assembly 2020-08-30 07:19:36 +10:00
YoshiRulz 14653fac0e
Fix or mute remaining code style warnings 2020-08-29 00:52:23 +10:00
YoshiRulz 17ff66c61b
Opt-in to .NET 5 SDK's extra static analysis, update Analyzer packages
the extra CSxxxx rules should be available for Framework too if using the new
SDK, I haven't tried
2020-08-29 00:51:34 +10:00
nattthebear 5cbd1ed385 zwinder buffer - when saving to disk, only save what has actually been put in the buffer 2020-08-08 13:11:19 -04:00
YoshiRulz 476295ccec
Remove unused HawkFile static helpers 2020-08-07 16:30:17 +10:00
YoshiRulz f6edd02195
More cleanup of VersionInfo code gen 2020-08-01 17:48:27 +10:00
YoshiRulz e5de63ea94
Cleanup VersionInfo and code gen 2020-08-01 11:57:14 +10:00
YoshiRulz ebd9645c1e
Cleanup assembly attributes
We're not using this metadata for anything, except one [InternalsVisibleTo] for
unit tests, and a half-assed version check in EmuHawk.Program.
2020-08-01 11:56:30 +10:00
YoshiRulz 771621e0c9
Teach DLIR that dirs are not files on Unix
even though everything is a file
2020-07-28 20:28:46 +10:00
YoshiRulz b6f4344592
Pass lib path from run script as env. var and read it in DLIR
It's always set by the run script, but I've added a fallback in case someone
hardcodes the mono command in a .desktop or something
2020-07-28 18:15:37 +10:00
YoshiRulz 34d56ca555
Update search paths order for DLIR on Unix and add mupen lib dir 2020-07-28 17:54:54 +10:00
YoshiRulz 75e815f09e
A little cleanup of DLIR 2020-07-28 17:53:28 +10:00
zeromus fd30826655 experimental ffmpeg downloading: in place of the ffmpeg encode settings is a download form. This downloads it to the prescribed local location. It then checks to make sure it is the EXACT required version -- the only version we support 2020-07-24 22:25:00 -04:00
zeromus b24a4ecc09 rename to FFmpegService 2020-07-24 22:25:00 -04:00
zeromus dd01c26c92 move FFmpeg sources to FFmpeg service 2020-07-24 22:25:00 -04:00
zeromus 72ad0d8d74 copy DiscDecoding.cs to FFmpegService.cs in another project 2020-07-24 22:24:59 -04:00
YoshiRulz e36098becf
A little dedup 2020-07-24 13:33:12 +10:00