James Groom
69d29c39f5
Fix cheat editor resetting display type when changing size
...
and when choice is no longer valid, default to hex instead of unsigned
2024-03-08 21:42:20 +10:00
James Groom
2f758459dd
Add docs and unit tests for `IList.LowerBoundBinarySearch` extension
...
without d29da10e9
, the final case in this test method would throw an exception
2024-03-08 11:22:44 +00:00
James Groom
49fa40f562
Rename newly-added `.props` file, improve MSTest output
...
fixes 6df491c9d
2024-03-08 10:50:57 +00:00
James Groom
5a6fcce981
Use new way of importing MSTest framework
2024-03-08 10:42:37 +00:00
James Groom
9e12480c3e
Bump MSTest and Magick.NET
2024-03-08 10:38:08 +00:00
James Groom
6df491c9d9
Dedup test project files and also mute style warnings in GambatteSuite
2024-03-08 10:33:53 +00:00
James Groom
8630ccdd41
Update list of known testrom failures from Gambatte suite
2024-03-08 10:30:12 +00:00
CasualPokePlayer
d9cd9f4810
do various determinism fixes for encore
2024-03-07 22:31:16 -08:00
James Groom
729ca96517
Hopefully fix double BOM
...
thanks VS Code
2024-03-08 03:50:05 +00:00
James Groom
615c2eaf88
Leave comment in `FindIOSurfaceInfo`
...
fixes 7ee0e0afa
2024-03-08 13:42:47 +10:00
Morilli
7ee0e0afac
Reduce allocations in FindIOSurfaceInfo
2024-03-08 02:22:56 +01:00
Morilli
d29da10e91
Fix LowerBoundBinarySearch, fix lag check
2024-03-08 02:22:31 +01:00
Morilli
b8e49413cf
Remove unnecessary TasMovieRecord allocations
2024-03-07 23:52:18 +01:00
Morilli
674997b345
Optimize speed and allocations of TasMovieMarker.Previous[OrCurrent]
...
was quite a ridiculous amount of allocations due the amount of calls to this functions
2024-03-07 22:53:39 +01:00
James Groom
592eb34370
Update lists of known testrom failures (except Gambatte suite)
2024-03-07 06:55:43 +00:00
James Groom
1f70320ea8
Get testroms projects building again
...
fixes 8ae947fed
, e87536ea8
, e7f4ad822
, 59fcdb04c
, 72cc19266
, d788e603f
, and 86684b689
2024-03-07 06:54:16 +00:00
CasualPokePlayer
7c4f997f88
encore: add in some new settings, expose some other settings, rework upscaling management (more in line with how melonds is handled)
2024-03-06 21:08:57 -08:00
James Groom
07d1c41712
Fix typo
...
fixes 8c3f857ab
2024-03-06 17:39:38 +10:00
James Groom
8c3f857ab6
Fix cheat editor showing "0x" prefix when not hex type
2024-03-06 16:30:14 +10:00
CasualPokePlayer
5a55f04f1e
-headless isn't a postfix for encore
2024-03-05 18:28:12 -08:00
CasualPokePlayer
1bbc54f29f
add back encore submodule + build script + add windows build + a few more renamings
2024-03-05 16:13:51 -08:00
CasualPokePlayer
7cf8c968df
rename all the things
2024-03-04 18:39:30 -08:00
CasualPokePlayer
f02080b61b
fix build
2024-03-04 17:13:51 -08:00
CasualPokePlayer
5304467855
update to nightly-2104
2024-03-04 17:06:40 -08:00
James Groom
3f58dba4f5
Use title case for this menu item
2024-02-25 06:42:51 +10:00
James Groom
4df850973f
Document invariant
...
see df4aa7974
2024-02-24 05:15:31 +10:00
Morilli
df4aa7974b
Optimize InputDisplayGenerator.Generate
2024-02-22 19:27:38 +01:00
YoshiRulz
d31047ffc3
Use NuGet central package management
2024-02-14 16:24:31 +00:00
James Groom
daf9ea7bb2
Check for FFmpeg when using DiscoHawk's bottom box
...
no download option for now
2024-02-14 16:23:11 +00:00
James Groom
3f2f9cc170
Copy error dialog code from DiscoHawk's top box to its bottom box
2024-02-14 16:21:34 +00:00
feos
54ef35d2e0
black text on white BG is how input roll is meant to look
...
if we ever support swapping the colors for a dark theme, bd3f919129
could be a useful refactor, but only allowing linux users to see input roll properly was wrong (because setting BG to Control color makes it look disabled)
2024-02-13 01:11:50 +03:00
CasualPokePlayer
b34e713f1c
update sqlite stuff, also swap it with Microsoft.Data.Sqlite.Core / SQLitePCLRaw.provider.e_sqlite3 and do a different hack to avoid pulling in native deps
2024-02-12 13:59:16 -08:00
James Groom
131bc65e8f
Bump .NET SDK to 8.x
2024-02-12 20:38:03 +00:00
CasualPokePlayer
17434f78cf
init rtc before calling nyma init functions
...
mainly needed for saturnus
2024-02-09 18:37:34 -08:00
CasualPokePlayer
5fb7b486b3
dumb rcheevos saturn memory fix
...
yeah this is dumb
2024-02-08 23:48:53 -08:00
CasualPokePlayer
2c521fdc5a
add ISaveRam explicitly
...
this is needed for new saveram interface to be picked up apparently
fixes 446fac3242
2024-02-08 23:36:12 -08:00
CasualPokePlayer
446fac3242
add in c# side code to actually use new saturnus saveram interface
2024-02-08 23:32:14 -08: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
33f0b5ca32
Remove imports no longer used after recent changes
2024-02-06 11:10:05 +00:00
James Groom
33a71cf0e1
Replace `null` array w/ empty in `NESSyncSettings.OkBtn_Click` ( fixes #3858 )
...
fixes 103fb3832
2024-02-06 09:03:16 +10:00
James Groom
103fb38322
Clean up `NESSyncSettings.OkBtn_Click` ( resolves #3856 )
2024-02-01 15:11:52 +00:00
James Groom
484e1fee78
Clean up `NESSyncSettings.InitialWRamStatePattern`
2024-02-01 15:10:02 +00:00
James Groom
7e8950ea52
Clean up `BytesToHexString`
2024-02-01 15:04:36 +00:00
James Groom
f3aae71da6
Expose PALRAM domain from NesHawk ( resolves #3854 )
2024-01-31 09:31:22 +00:00
CasualPokePlayer
2f11560b14
fix alternative keyboard layout handling for extended scancodes
2024-01-26 07:01:22 -08:00
James Groom
acf368e67f
Rewrite Game Genie (GB) decoder
2024-01-21 15:01:20 +00:00
James Groom
2f9119834b
Add test cases for Game Genie (GB) decoder
2024-01-21 14:49:22 +00:00
James Groom
21706d8421
Fix typo
...
fixes f6a9dee46
2024-01-18 14:55:51 +10:00
James Groom
f6a9dee467
Prevent an IooRE in *Action 52*
...
see https://github.com/TASEmulators/BizHawk/issues/2999#issuecomment-1895239013
2024-01-17 17:35:25 +10:00
CasualPokePlayer
62afd3c747
add missing member to this struct
2024-01-16 22:04:30 -08:00
CasualPokePlayer
1b7fe8e7fd
misc cheevo stuff
2024-01-16 20:16:25 -08:00
CasualPokePlayer
d03d076fa7
several rcheevo updates, mostly for 3DS stuff
2024-01-16 20:00:45 -08:00
CasualPokePlayer
67b535d0f8
remove dsi skip fw restriction c# side
2024-01-16 11:08:40 -08:00
CasualPokePlayer
8be0111e72
fix build
2023-12-31 18:02:49 -08:00
CasualPokePlayer
d6fdf503b9
/s/RIM_KEY/RI_KEY
...
seems to be a dumb typo (docs have RI_KEY_* not RIM_KEY_*)
2023-12-31 06:00:48 -08:00
CasualPokePlayer
6330a703a1
fix Pause key not working with RAWINPUT
2023-12-31 05:44:50 -08:00
CasualPokePlayer
79d6bee75f
this can be null
2023-12-30 16:40:25 -08:00
CasualPokePlayer
f94bcb64b1
add back hawk sound when opening About box
2023-12-30 16:37:37 -08:00
CasualPokePlayer
51925e7cc9
make SDL2WavStream consume a generic Stream rather than passing in a file path
...
this now should make it functionally the same as a System.Media.SoundPlayer, letting us only doing disk access one time per wav file (and allows some embbed wav to be played)
2023-12-30 16:03:21 -08:00
CasualPokePlayer
a38e854a6d
add method to play wav files via ISoundOutput, use this instead of System.Media.SoundPlayer
2023-12-30 04:49:26 -08:00
CasualPokePlayer
94f6616e74
fix #1862 , also rename front facing setting ("non-vi" makes no sense here)
2023-12-25 00:46:13 -08:00
CasualPokePlayer
bc432de43a
fix 7ceb6345e4
...
somehow mixed up files and put the wrong tmd in lol
2023-12-24 23:46:20 -08:00
CasualPokePlayer
7ceb6345e4
add missing TMD for USA California Super Sports, also remove unneeded data in TMDs
2023-12-24 19:05:20 -08:00
CasualPokePlayer
ded668fe5a
add PolySharp as explicit dep, do some BizHawk.Common .NET6 cleanups
...
PolySharp was already an implicit dep due to some transitive dep from Vortice. This causes some problems in the test project, although it seems it's specific to the test project setup / one of the test project deps exposing internal classes rather than actually the fault of PolySharp (enabling PolySharpExcludeTypeForwardedToDeclarations works around it)
PolySharp provides source generated internal IsExternalInit/Range/Index, allowing us to use init props and range/index operators, and since it's source generated and internal to each project, it should play nice with potential multi-targetting (keeping in mind the test project is an edge case that doesn't apply in general)
2023-12-22 14:26:24 -08:00
James Groom
3fb30a2ca7
Clean up some `AskSaveChanges` implementations
2023-12-22 04:48:49 +00:00
James Groom
bd3f919129
Don't hardcode colours in InputRoll
2023-12-22 04:16:01 +00:00
James Groom
cae739a826
Clean up peeking for Hex Editor's N64 Matrix view
2023-12-22 01:17:02 +10:00
James Groom
0d5b0ac964
Fix typos from copy-pasting via human
...
fixes 6f39bed3f
2023-12-22 01:11:39 +10:00
James Groom
6f39bed3f8
UI+UX improvements for Hex Editor's N64 Matrix view
...
no idea what this is actually for but now it's usable
2023-12-22 01:04:57 +10:00
James Groom
e1571189c5
Mute NU1702 harder
2023-12-21 13:36:13 +10:00
James Groom
ea00f3be54
Use helper method
...
fixes 73bb9b4bd
this is the only code style warning atm
2023-12-21 13:35:23 +10:00
CasualPokePlayer
d00a512026
add comment noting StopSound can't be used for directsound's ResetToDefaultDevice
2023-12-18 02:37:30 -08:00
CasualPokePlayer
f4ac17c904
Replace OpenAL dlls with openal-soft provided ones (downloaded from their official site: https://www.openal-soft.org/ )
...
Fix hanging issue with OpenAL on device disconnection
Cleanup other hanging/crash fixes in other audio backends
2023-12-18 02:32:37 -08:00
CasualPokePlayer
ad3aa2f5dc
fix weird double utf8 bom in Bk2LogEntryGenerator
2023-12-17 04:27:17 -08:00
CasualPokePlayer
f4ef12a38b
simplify xaudio2 critical error handling
...
don't need to be this fancy, also this can still potentially deadlock anyways since audio throttle isn't going to be message pumping in throttling code
2023-12-17 04:24:19 -08:00
CasualPokePlayer
d5fc092c0a
Fix disconnecting an audio device potentially crashing/hanging for DirectSound and XAudio2
...
OpenAL seems to only do this on Windows, Linux does not care. This issue is also only relevant for audio throttle wrt XAudio2/OpenAL.
2023-12-17 04:11:27 -08:00
James Groom
7f21cbd029
Fix syntax errors in interp. string
...
fixes 0e084eaef
2023-12-17 20:00:30 +10:00
James Groom
0e084eaefd
Elaborate on admin warning, now with manual override ( resolves #3835 )
2023-12-17 09:46:44 +00:00
feos
4f522bac11
mame: put soft reset first so its dups could be resolved automatically
...
should complete #3704
2023-12-13 20:57:43 +03:00
James Groom
8a806c897d
Improve error message in `Bk2LogEntryGenerator` ctor (see #3704 )
2023-12-13 07:50:16 +10:00
CasualPokePlayer
3bcc6ee977
do some more cleanup with rcheevos stuff, also rework rcheevos read map. having a dict full of delegates ends up allocating >26GiB of memory for New 3DS (i.e. 256MiB of memory), so instead have a map of _memFunction indexes corresponding to address, thereby making memory usage equal to the memory mapping size (so for New 3DS this will only take 256MiB of memory). it comes with some limitations, none of which matter for now
2023-12-11 03:59:10 -08:00
CasualPokePlayer
6b0b6f2106
do cleanup with rcheevos, using record structs where possible
...
also add in `in` support for the BizInvoker for compat interop
(non-compat interop doesn't really matter here, the point of `in` is to avoid a copy back for non-blittable objects, which doesn't apply for non-compat which only works for blittable objects / always just pins them down)
2023-12-10 16:02:07 -08:00
Morilli
83e784ecec
Actually provide proper OAM memory domain in bsnes
2023-12-10 00:48:50 +01:00
CasualPokePlayer
cc0b6c0d99
update rcheevos to latest release, change a ton of ints to uints (what's actually used often)
...
todo: trim out unneeded defs and do c# 10 cleanups
2023-12-09 02:25:40 -08:00
CasualPokePlayer
4d6bc5a33a
fix build
2023-12-06 23:23:16 -08:00
CasualPokePlayer
2019f4baf2
c# side for 7b4bd8cdc3
2023-12-06 23:22:17 -08:00
feos
688fb249f9
fix #3715
2023-12-03 15:50:49 +03:00
feos
79baa45ca6
bounds have proper dimensions now
2023-12-03 11:48:49 +03:00
feos
0efdd02085
address #3715 (need to fix hawk side aspect ratio)
2023-12-03 03:12:58 +03:00
feos
73bb9b4bd9
mame: add driver src file to dump info
2023-12-02 22:35:05 +03:00
feos
2a40b172e1
fix #3704
2023-12-02 20:53:37 +03:00
feos
a3746fe7b7
fix #3721
2023-12-02 18:06:43 +03:00
CasualPokePlayer
5f6243bd76
Remove SDL_INIT_HAPTIC use
...
We don't actually use the haptic API, which is a separate thing from SDL_GameControllerRumble/SDL_JoystickRumble
2023-11-23 23:09:46 -08:00
James Groom
2105871122
Clean up handling of modal dialogs and parenting in RA
2023-11-23 07:56:45 +00:00
James Groom
36df9c387b
Add `IDialogParent.AddOnScreenMessage` extension
2023-11-23 07:45:40 +00:00
James Groom
5ef398c309
Lazily init `BasicApiProvider`/`ApiContainer`
2023-11-23 06:47:36 +00:00
James Groom
525c9c2f9c
Use `MainForm.QuicksaveLoad` directly for RA
2023-11-23 06:34:29 +00:00
James Groom
40b17b59c4
Move events from `EmuClientApi` to `MainForm`
...
the `event` members remain, but the triggering is now delegated back to `MainForm`, and the additional processing has been moved there too
2023-11-22 12:25:44 +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
CasualPokePlayer
859ea8e249
improve Program startup, remove the OSTailoredCode duplication hack, use RuntimeInformation.IsOSPlatform for figuring out OS, use AppContext.BaseDirectory to get exe location (apparently even works with bundled assemblies in .net5+)
2023-11-18 20:00:16 -08:00
feos
c7d65eb0ca
mame: add defender mnemonics
2023-11-18 12:52:46 +03:00
James Groom
000f741994
Respect `BIZHAWK_HOME` for e.g. loading Waterbox cores
...
pretty much only affects NixHawk, where the wbox cores are in one dir and EmuHawk.exe and the other assemblies are in another, and all are symlinked into one tree
2023-11-18 17:26:49 +10:00
CasualPokePlayer
ba24907d9c
Improve NLua lua library loading, using C# function pointers. It now no longer depends on BizHawk.BizInvoke/BizHawk.Common. It might be faster too
...
Add in liblua-* variant for Linux lua library names (resolves #3678 )
Remove some more unused NLua code
Make LuaState internal, we don't need to see it (NLua.Lua API slightly changed to accommodate this, tests could be broken due to this?)
Make various other NLua classes internal, we don't need to see them
Check against lua library loading failing, provide a non-fatal message box if it has failed instead of crashing on some exception.
Remove UnixSearchPaths (unneeded with LD_LIBRARY_PATH being set) and unused IImportResolvers
2023-11-17 19:03:03 -08:00
James Groom
1956302a15
Use IRODictionary in `BkmMnemonicConstants`
2023-11-18 04:52:09 +10:00
James Groom
a9bfd96027
Backport `IEnumerable<KeyValuePair<,>>.ToDictionary`
2023-11-18 04:26:28 +10:00
James Groom
c2ddc40468
Clean up impl. of `LinkedDebuggable`
...
see ed5a708f9
2023-11-18 04:11:02 +10:00
James Groom
a227e7d113
Fix typos
...
fixes b36f4aa4e
and ed5a708f9
2023-11-18 03:44:36 +10:00
James Groom
ed5a708f93
Clean up `IDebuggable` impl. for GBHawkLink{,3x,4x}
2023-11-18 03:37:17 +10:00
James Groom
b36f4aa4ef
Remove unused imports
2023-11-18 03:30:27 +10:00
James Groom
024739d22e
Fix typo in `GBHawkLink4x.SetCpuRegister`
...
broken since introduction in a751aab74
2023-11-18 03:20:50 +10:00
James Groom
63127695d4
Expose `IInputApi.GetPressedAxes` to Lua, improve `input` lib docs
2023-11-17 13:27:53 +10:00
James Groom
8eef419c62
Rename "Max" window size menu item to "10x" to reflect behaviour
2023-11-17 12:36:51 +10:00
James Groom
e53f30f105
Fix "Max" window size menu item never being unchecked
2023-11-17 12:35:50 +10:00
CasualPokePlayer
7edba4962c
fix 70bd081a93
(again)
...
see a2185d9ef0
and 8a5921182e
2023-11-16 09:14:25 -08:00
CasualPokePlayer
582446651f
fix all the analyser warnings in NLua
2023-11-16 03:14:47 -08:00
CasualPokePlayer
49807254f6
remove ComImport usage for Win32ShellContextMenu, also /s/ShlobjImports/Shell32Imports
2023-11-15 18:58:06 -08:00
CasualPokePlayer
4660e4d25b
Slightly improve ShellLink com interop, resolve todo (seems to work perfectly fine)
2023-11-15 13:29:09 -08:00
CasualPokePlayer
3bc44d6756
Remove SHGetMalloc usage, use Marshal.FreeCoTaskMem instead
...
Marshal.FreeCoTaskMem can be used instead (assuming we're >= Win2000), see https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetmalloc
Also fix pszDisplayName allocation (needs * sizeof(char) due to unicode funny)
2023-11-15 12:55:40 -08:00
CasualPokePlayer
956af3577e
Change a lot of CharSet.Auto's to CharSet.Unicode, explicitly put W postfix on relevant winapi functions/structs, put ExactSpelling = true for winapi functions.
...
We don't care for ANSI functions (no way somebody is going to run BizHawk on Windows 98/ME), and ExactSpelling = false (default) has a minor runtime cost, so this should be slightly more performant.
Also, replace ShellLink COM usage with custom COM interaction code. See https://github.com/TASEmulators/BizHawk/issues/3767 . The same is yet to be done for the two other COM usages.
2023-11-15 11:33:50 -08:00
James Groom
391190b6d4
Inline `ICoreFileProvider.DllPath`
2023-11-14 18:05:32 +10:00
CasualPokePlayer
edf5f15134
slightly improve xlib bindings, should now in theory work for 32 bit systems
2023-11-11 11:16:52 -08:00
CasualPokePlayer
f9c85172e4
try to fix issues where reloading Citra when recording a movie results a crash due to the temp user folder having active file handles
...
unloading the dll would forcefully evict these file handles. unknown whether Linux does the same with the .so, perhaps it does, perhaps it doesn't. not really any extra harm if it doesn't
2023-11-11 09:11:17 -08:00
James Groom
e9468cb0c8
Check FWIDs in database at runtime
...
see e119bdda3
2023-11-09 08:51:29 +10:00
CasualPokePlayer
282417c9af
pass DateTimeFormatInfo.CurrentInfo here instead of suppressing the warning
...
fixes 5ae15c8
2023-11-08 11:58:38 -08:00
CasualPokePlayer
5ae15c89c3
remove invariant culture here
...
fixes 6e20a3091c
2023-11-08 10:32:37 -08:00
CasualPokePlayer
e119bdda39
fix up firmware entries which had spaces in the id
2023-11-08 10:26:01 -08:00
CasualPokePlayer
5095f0c999
force real bios use when gba cart is present for melonds
...
melonds' freebios doesn't work with gba cart usage
2023-11-08 08:27:42 -08:00
CasualPokePlayer
6a80336787
add some more ds fw hashes
2023-11-06 09:46:34 -08:00
CasualPokePlayer
eeb824d035
add in Chinese / Korean language options, remove unneeded firmware checks
2023-11-04 05:33:14 -07:00
Morilli
7d4b21f9c7
Fix some analyzer warnings
...
also improve globalconfig readability
2023-11-03 11:56:23 +01:00
CasualPokePlayer
cdf89f4b09
add in missing asms in SubMain asm ver check
2023-11-03 03:52:32 -07:00
CasualPokePlayer
b1f16cf437
fix ordinal loading (im pretty sure what was being done before only actually worked for dllimport and not getprocaddress)
...
cleanup some more win32 imports (new LoaderApiImports, although it isn't used for OSTailoredCode to avoid hard dep on BizHawk.Common, probably want to use same hack on LoaderApiImports)
2023-11-02 22:48:12 -07:00
CasualPokePlayer
195846f2f3
cleanup c# side melon code
2023-11-02 13:55:12 -07:00
CasualPokePlayer
7e91e1b260
fix dsi firmware checking
2023-11-02 10:16:30 -07:00
CasualPokePlayer
1ca7b0295d
c# changes for melonDS update
2023-11-02 10:12:56 -07:00
Moritz Bender
e1fb97dee6
Update snes9x to 1.62.3 ( #3729 )
...
* Update snes9x to 1.62.3
* Update snes9x submodule
* Implement msu1 for snes9x
* do less bullshit initialization
* Update snes9x submodule
2023-11-02 18:48:54 +03:00
Morilli
abc5ddcc6e
Fix lua console null output logging
...
- closes #3810
- fixes bb7f933429
2023-11-02 13:56:20 +01:00
CasualPokePlayer
ebaafe2658
error check against gl context being failed to be set to current
...
in practice this should only throw when someone has a broken driver
2023-11-01 08:03:17 -07:00
CasualPokePlayer
151908104e
Revert 683aa263a0
2023-10-28 22:50:05 -07:00
James Groom
aaf46cc9a7
Fix `--lua=*.luases` being interpreted as a script ( fixes #3814 )
2023-10-29 06:38:06 +10:00
CasualPokePlayer
c8f109eb34
fix ctrl/shift (probably more) with alt kb layout handling with RawKeyInput
...
also fix dinput not filtering out unknown key events (TODO: shouldn't this be handled higher up the input chain? surely we wouldn't want to respond at all to unknown key events)
2023-10-28 08:21:44 -07:00
CasualPokePlayer
b98942dcfd
minor fix in CWDHacks.Get()
...
fixes 686119c7dd
2023-10-28 05:10:31 -07:00
CasualPokePlayer
686119c7dd
organize and cleanup a ton of win32 imports, do cleanup elsewhere with that
2023-10-28 05:05:36 -07:00
feos
b4a6b06fba
tastudio: disable rec mode when drawing inputs
...
see #2144
2023-10-28 13:35:01 +03:00
feos
bb0bd415a6
address #3500
2023-10-28 12:20:22 +03:00
James Groom
ef864536de
Fix typo'd `return;` in non-void method
...
fixes 672536305
2023-10-28 12:12:15 +10:00
James Groom
6725363052
Allow drawing on LuaPictureBoxes on multiple windows ( fixes #3778 )
...
fixes bb4ba2184
, though it wasn't working correctly before that either
this whole thing needs deduping
2023-10-28 02:35:27 +10:00
James Groom
14c00d0ca2
In Debug config, don't use `Assembly.Load(byte[])` for ext. tools
...
apparently messes with the debugger IDK
2023-10-27 08:21:11 +10:00
James Groom
940c392fa3
Prevent selecting 'None' placeholder ext. tool
2023-10-27 06:46:20 +10:00
CasualPokePlayer
5c475ce898
Remove BizExvoker (unused for a long time, probably never going to use it)
...
Move MemoryBlock stuff and FPCtrl over from BizInvoke to Common
Move imports over to Common, remove unused imports
Do tons of cleanup here
2023-10-26 03:22:28 -07:00
CasualPokePlayer
f2a4794105
Use source generation for SettingsUtil.SetDefaultValues
2023-10-25 22:52:06 -07:00
feos
5ce0aa24a5
fix #3481
2023-10-25 21:02:08 +03:00
feos
7ac9bc26cd
mame: add reset
2023-10-25 20:30:32 +03:00
CasualPokePlayer
edcd2cd548
fix Ctrl+C not SIGINT'ing, I think
2023-10-24 07:36:17 -07:00
James Groom
736abf32ac
Ensure FFmpeg DL target is writable before downloading
2023-10-24 23:11:54 +10:00
James Groom
542a0e08be
Fix `Process.Start` crash in Play Movie dialog on Linux
2023-10-24 22:50:44 +10:00
James Groom
c7f438c240
Use loaded movie's filename for A/V filename
2023-10-24 22:46:22 +10:00
James Groom
65060c00f1
Fix/mute code style warnings
2023-10-24 22:32:17 +10:00
CasualPokePlayer
b88c7e6baa
fix warning from last commit
2023-10-23 22:48:42 -07:00
CasualPokePlayer
cd4e58eaca
make CRC32/SHA1 hashers not die when on a non-x86_64 platform
2023-10-23 15:41:27 -07:00
CasualPokePlayer
12a63e27e6
give more memory to melonDS
...
fixing OOM with 512MB games
2023-10-23 05:52:36 -07:00
CasualPokePlayer
ee7fc95fac
fix some usings
2023-10-22 19:28:23 -07:00
CasualPokePlayer
8941bac1ce
remove BinaryQuickSerializer
...
see #3768
2023-10-22 19:23:32 -07:00
CasualPokePlayer
cfdf607373
fix #3807
2023-10-22 01:05:32 -07:00
CasualPokePlayer
19552d6408
update Silk.* packages to 2.18.0, remove Silk .config hack (unneeded with this update)
2023-10-21 20:51:42 -07:00
CasualPokePlayer
220268809c
Remove EvDevKeyInput. Pretty much useless in practice as apparently you need higher permissions (e.g. root) to access keyboard evdev files, direct evdev is more reserved for gamepads (already handled by SDL2)
...
Turn these OS specific key input impls into instantiable classes instead of a ton of static classes, a lot nicer to work with as don't need to constantly check CurrentOS to know which class to use, only the factory needs to check that!
2023-10-20 21:43:23 -07:00
CasualPokePlayer
62501ad859
do minor cleanup with EvDevKeyInput, add in define for switching from X11KeyInput to EvDevKeyInput
2023-10-16 16:08:19 -07:00
CasualPokePlayer
d4602cf831
add Quartz key input handler
...
unused of course since no macOS support, but there when we need it
2023-10-15 19:06:53 -07:00
CasualPokePlayer
b6d4b0dc81
remove some unused stuff
2023-10-15 04:17:06 -07:00
CasualPokePlayer
a35ee381d0
Add evdev keyboard handler. Untested and unused for now
2023-10-15 04:11:32 -07:00
kalimag
f3796756bc
Add setting to control what happens when double-clicking RAM watch (squashed PR #3802 )
...
* Make RamWatch double click action configurable
* Make RamWatch Enter press share double-click behavior
* Make RamWatch double-click action default to poke
* Fix code style
* Reduce total diff size from extracting method
* Make sub-menu text more specific
2023-10-15 14:43:10 +10:00
CasualPokePlayer
b5ebee7cd5
move RAWINPUT imports to a new file
2023-10-12 20:49:17 -07:00
CasualPokePlayer
5fc37d6aac
add RAWInput keyboard handler, use it for OSTailoredKeyInputAdapter / SDL2
...
re-removes hard DirectInput dependency
2023-10-12 00:36:13 -07:00
CasualPokePlayer
a320928a6f
fix IOE in X11KeyInput.Update()
2023-10-11 17:48:23 -07:00
CasualPokePlayer
ac3913ded3
add user agent for cheevo stuff
2023-10-05 02:05:31 -07:00
feos
c438faeec9
added more mame mnemonics
2023-10-04 19:07:20 +03:00
James Groom
27c5b0e9b7
Also clear `GuiApi`'s image cache when restarting
2023-10-04 05:21:22 +10:00
CasualPokePlayer
0d4a1a6b26
fix #3781
2023-10-02 22:32:30 -07:00
CasualPokePlayer
af4e9200ed
fix memory leak when screenshotting/framedumping with osd with d3d9 display method
2023-10-02 21:08:48 -07:00
Morilli
a71b228c70
reset "change" variables on tasproj load
...
Doing this fixes tasproj prompting for save on bk2->tasproj conversion (which makes no sense) and generally seems senseful to do; there is no point ever having a changelog or changes bool set just after loading a tasproj
2023-09-27 21:54:35 +02:00
James Groom
cf809ed5aa
Override duration for onboarding OSD message
...
fixes a351dcc55
this is why you test changes even when you're sure they will compile
2023-09-26 23:52:52 +10:00
CasualPokePlayer
2b00e33560
add TransformPoint impl for NDS
2023-09-25 22:18:44 -07:00
CasualPokePlayer
f6a77a8410
Fix touch coord calc when OpenGL is not available, probably fix off by one here too (I think this is right?)
2023-09-25 05:35:15 -07:00
CasualPokePlayer
07126b1e48
c# changes for 3d5c2120f2
2023-09-25 05:26:17 -07:00
CasualPokePlayer
f63e50c91b
C# changes for melonDS OpenGL support
...
also add in a way to debug OpenGL stuff (only built when uncommenting a define)
also do various cleanup here
2023-09-24 04:28:42 -07:00
CasualPokePlayer
acff619034
add more mmap heap to melonds, check against 0 sized arrays in roms
2023-09-17 12:37:37 -07:00
CasualPokePlayer
0496d45e09
melonDS's logs already have a newline
2023-09-17 02:52:44 -07:00
CasualPokePlayer
0ad1f7feb2
waterbox has fun limitations
2023-09-17 02:16:25 -07:00
CasualPokePlayer
178939f76c
woops
2023-09-17 01:03:42 -07:00
CasualPokePlayer
d3dff6fe37
update c# side for melonDS changes
2023-09-17 00:58:49 -07:00
Morilli
2fc9f719e5
Fix #3685 again
2023-09-12 16:44:31 +02:00
CasualPokePlayer
4f98bf101c
fix minor oops in previous commit
2023-09-11 22:57:04 -07:00
CasualPokePlayer
d788e603fd
force usage of bios on gambatte when recording a movie
...
(except when the rom cant be booted with bios, then enable bios sync setting is respected)
also cleanup this code a lot
2023-09-11 22:52:48 -07:00
CasualPokePlayer
ed0dbb77ae
expose SRAM for GBA rcheevos
...
see https://github.com/RetroAchievements/rcheevos/pull/265
2023-09-11 21:29:34 -07:00
James Groom
e68a49aa51
Use absolute path to `ffmpeg` in `FFmpegWriter`
2023-09-11 16:31:23 +10:00
James Groom
a7ee68f47d
Fix typo in Satellaview header model
...
see #3749
2023-09-10 22:38:19 +10:00
James Groom
2647bb8300
Log FFmpeg download fails to stdout in Debug config
2023-09-09 16:56:06 +10:00
James Groom
a351dcc557
Make the onboarding flow impossible to miss
...
This should motivate widening the scope of profiles, and may also inspire additional features for onboarding such as paths/firmware, screen layout, or keybinds.
2023-09-05 05:47:03 +10:00
James Groom
ebe3cad66c
Change UI label for `Config.AcceptBackgroundInput`
...
see #671
2023-09-02 01:47:52 +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
James Groom
7193313e12
Comment-out unreachable code
...
fixes a315b122c
2023-08-25 11:59:35 +10:00
James Groom
e86a0d6dda
When editing watches, select notes field
2023-08-25 11:41:51 +10:00
CasualPokePlayer
1575949762
upgrade these for c#10
2023-08-22 19:34:51 -07:00
CasualPokePlayer
19443040c4
slightly refactor OSD layer, no longer uses a render callback, rather it will do its logic itself and has its own enable drawing flag
2023-08-22 17:57:46 -07:00
CasualPokePlayer
53563657fe
Implement blending enable/disable for IGL_GDIPlus (more just moving it away from GDIPlusGuiRenderer)
...
Fix GDI+ used for display method (got broken in some cleanup commits ago)
Remove some things meant to be removed in the last commit (fixes debug build)
2023-08-22 17:16:48 -07:00
CasualPokePlayer
8c1d996b80
simplify IGL 3: Remove ability to make custom blend states (was never used), only have 2 functions for blending, one enabling "normal" blending, one disabling blending (with alpha copy semantics) (only 2 which actually were used)
2023-08-22 16:46:21 -07:00
Morilli
757ae3293f
Resolve part 4 of #3735
2023-08-22 19:22:34 +02:00
kalimag
54b1b2e421
Stop moving executables' pdbs to dll folder
2023-08-20 14:24:30 +10:00
kalimag
d459aaaf6f
Dispose disks in Nyma cores ( #3751 )
2023-08-19 23:27:05 +02:00
Moritz Bender
c57657bbd4
Set inputdisplay correctly on LoadState ( #3747 )
...
* Set inputdisplay correctly on LoadState
* Add explanatory comment for future generations
2023-08-19 23:22:55 +02:00
Morilli
ebf1950873
fix #3686
2023-08-18 04:58:38 +02:00
Morilli
4fea6752f3
Fix #3685
2023-08-18 04:06:28 +02:00
Morilli
ea7683a996
Bump LangVersion to 10
2023-08-16 16:30:06 +02:00
CasualPokePlayer
c17f65fb10
Slightly increase sleep time while paused, should resolve #3737
2023-08-14 20:11:22 -07: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
6e20a3091c
Fix CA1305 and bump to error
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
44dce7dc08
remove unused experimental code
2023-08-13 14:24:03 -07:00
CasualPokePlayer
ae42858560
fix D3D9 crashing on minimize
2023-08-13 14:21:58 -07:00
Moritz Bender
56ac05f9a3
Allow migrating non-SHA1 hashes on movie import ( #3733 )
...
* Allow migrating non-SHA1 hashes on movie import
* Show more descriptive message on missing hash
* actually return null here
* Simplify LsmvImport
* add more hash HeaderKeys
* remove unnecessary IEmulator argument
this could potentially fix bugs even
* explicitly cast to ReadOnlySpan
2023-08-13 23:11:48 +02:00
Morilli
b6f1bae7e1
Revert erroneous change to bk2 loading for now
...
fixes 0af4d125b2
2023-08-13 21:14:35 +02:00
Morilli
9131c8ab2e
Change SmvImport to import to Snes9x core; various fixes
...
the importer is still far from perfect, but it should handle some things better than before
- closes #3177
2023-08-13 20:01:56 +02:00
Morilli
0af4d125b2
revert bd9ec3c57d
, fix bk2 framebuffer load
2023-08-12 18:16:54 +02:00
CasualPokePlayer
4ad7736ca7
add some kind of 3DS support to retroachievements, probably
2023-08-12 04:22:46 -07:00
CasualPokePlayer
72cc192661
Create a new project to house the IGL WinForms controls (Bizware.Graphics.Controls), thus allowing for Bizware.Graphics to be netstandard2.0
...
also move GDIPlus IGL stuff over from BizwareGL to Bizware.Graphics
2023-08-12 03:56:02 -07:00
CasualPokePlayer
9139870e7e
fix bug from 3622fe76f9
, remove variable unused since 3622fe76f9
2023-08-11 16:59:14 -07:00
CasualPokePlayer
dfd7caaacb
use glBufferSubData when possible instead of glBufferData, gives a nice performance boost
2023-08-11 16:57:20 -07:00
CasualPokePlayer
3622fe76f9
simplify IGL 2: Combine BindArrayData and DrawArrays calls into one Draw call: only supports triangle strips (already limitation with D3D9), assumes start is 0, binding and drawing are implicitly merged into a single call (in practice BindArrayData would just save the vertex pointer to some class level variable for DrawArrays, so this is just better all around)
2023-08-11 15:33:08 -07:00
CasualPokePlayer
64abeddc2b
simplify IGL 1: Combine Clear and SetClearColor, remove support for non-color buffers (not supported by GDI+, never actually used)
2023-08-11 13:30:46 -07:00
CasualPokePlayer
f2942feb93
minor cleanup for 47c2d315ce
2023-08-11 00:34:07 -07:00
CasualPokePlayer
47c2d315ce
drop OpenGL 2.0 support (annoying to support given we already require FBO support, which is an extension pre-3.0, and VAOs also fall under that same group, polyfilling this is just bleh)
...
in practice this means nothing for any Windows user (since D3D9 would support whatever garbage GPUs that had OGL 2.0 support but not OGL 3.0 support), so it only affects Linux users with GPUs from 2004-2010 (~2011 GPUs supported at least OGL 3.0), and those users probably have options to still use BizHawk if they really wanted to anyways
With this, switch the GuiRenderer (main) pipeline to use VAOs/VBOs instead of the old legacy fixed pipeline crap (other shaders still need that crap for now, so there is still a fallback path there). Also add in way to "free" the vertex layout (since it now can hold a VAO/VBO which needs to be freed once the vertex layout is finished)
2023-08-11 00:30:47 -07:00
CasualPokePlayer
8260a59bcf
fix #3726
2023-08-10 00:07:10 -07:00
Randomno
1cf5af83dd
Change Odyssey 2 framerate (squashed PR #3728 )
...
* change o2 framerate
* result
2023-08-10 04:11:02 +10:00
Morilli
a496f09f07
Fix SmvImport CRC32 import
...
closes #3727
2023-08-09 11:14:31 +02:00
Morilli
fe845ce8ef
Don't double-load movies from the PlayMovie dialog
2023-08-07 14:14:22 +02:00
CasualPokePlayer
20ca53dfd1
Apply e186514c39
for copy mechanism
...
Also fix the formatting of the string, we want : here not .
2023-08-07 02:45:54 -07:00
Morilli
e186514c39
Display day length for 1+ day long movies
2023-08-07 11:40:24 +02:00
CasualPokePlayer
f8b3914126
fix broken movie length calculation
...
this happened to work by chance most of the time, but for movies which cant store the number of milliseconds in an int, it breaks down
2023-08-07 02:32:32 -07:00
CasualPokePlayer
97d9ce35e2
Disable Hybrid Screen setting in Citra for now
2023-08-06 03:21:22 -07:00
CasualPokePlayer
59fcdb04cd
Remove Bizware Vector2/3/4 and Matrix4 in favor of System.Numerics's implementation
...
Many many cleanups in BizwareGL and DisplayManager and GDI+ code
2023-08-06 03:21:22 -07:00
CasualPokePlayer
bb96825c60
System.Data.SQLite -> Microsoft.Data.Sqlite ( #3719 )
...
* Swap System.Data.SQLite with Microsoft.Data.Sqlite
Apparently this is supposed to be a kind of successor? https://learn.microsoft.com/en-us/dotnet/standard/data/sqlite/compare
* Add e_sqlite3 libs to Assets, prevent runtimes folder creation with OS tailored libs plopped in, delete System.Data.SQLite references
2023-08-05 17:45:40 -07:00
James Groom
2150061c91
Update LuaConsole.cs
2023-08-06 03:01:44 +10:00
CasualPokePlayer
ca756a2df3
dont use ContextMenu
...
winforms net6 doesn't support it, and "replacement" ContextMenuStrip doesn't work for this use case, so just create a slim wrapper using CreatePopupMenu/DestroyMenu directly
2023-08-04 00:54:42 -07:00
CasualPokePlayer
ba8656e345
slight tastudio tweaks wrt 12830bab4e
2023-08-03 21:03:20 -07:00
James Groom
1ebc006873
Update unit test to match new config schema
...
fixes 12830bab4
2023-08-02 18:03:06 +10:00
CasualPokePlayer
dc34b0b1a9
add in Wine/Proton detection, used to prevent D3D9 from being used if a user ends up using wine/proton (as often it seems D3D9 wine/proton just doesn't work and crashes in weird ways, sometimes *after* checking the renderer so it wouldn't fallback to OpenGL anyways)
...
Probably can add in some first time message box warning the user that wine/proton isnt supported, although we probably shouldn't block wine/proton (considering it's the only option for some distros with read-only filesystems, like the Steam Deck)
2023-07-31 23:02:30 -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
a2ea86fae0
add NET6_0 guard for GetValueOrDefault backports
2023-07-31 22:01:05 -07:00
CasualPokePlayer
811275cca8
Rewire memory domain pointers after reset in Citra
...
Add 3DS framerate in PlatformFrameRates
2023-07-31 21:22:57 -07:00