alyosha-tas
b6e91aef32
SMS: make undrawn area black, overscan itelf still needs reworking, fixes #2892
2021-08-02 11:44:11 -04:00
alyosha-tas
38442bd5fe
LUA: documentation fix from previous commit
2021-08-02 10:15:01 -04:00
alyosha-tas
d784e9c00c
LUA: update documentation of readbyterange to reflect what it actually does. Add readbyterangetable which allows the user to select the starting index to any desired value. Resolves #2844
2021-08-02 10:12:29 -04:00
YoshiRulz
21b2d40832
Move Assets copy to EmuHawk so it only happens for top-level
...
fixes 443c9830b
2021-08-02 21:43:21 +10:00
YoshiRulz
8adb911623
Pull Gambatte submodule, rename Linux binary to .so
2021-08-02 20:54:06 +10:00
YoshiRulz
02de3588a6
Catch and recover from exceptions thrown by OpenTK gamepad poll calls
2021-08-02 19:20:45 +10:00
YoshiRulz
04bf9d0ec2
Fix code style and increase SA1121 level to error
2021-08-02 19:17:31 +10:00
CasualPokePlayer
87f0fd78fc
[Gambatte] sync to upstream
2021-08-02 16:23:38 +10:00
CasualPokePlayer
036e349337
[BSNESv115+] Fix Lag Frames For SGB ( #2886 )
...
* better lag detection for sgb. todo: might want to toggle this?
* correct logic and don't fail build this time
2021-08-01 09:54:59 -04:00
CasualPokePlayer
7518ce962b
[Gambatte] Many Updates ( #2823 )
...
* [Gambatte] Port setregs from upstream, implement SetCpuRegister, misc cleanup/fixes elsewhere
* [Gambatte] Add more proper uninitalized AGB WRAM, based of a GBP dump
* cleanup Gambatte's CpuSetRegister (credits to stringflow)
* additional Gambatte code cleanup
* [Gambatte] cleanup tracelogger code readability
* fix
* Initalize VideoBuffer with a white screen instead of a black screen, misc video fixes
* misc cleanup
* [Gambatte] hdma work
* [Gambatte] add warning for recording a movie without a bios enabled. doing this as I am annoyed enough from disabled bios being the default and you cannot say anything about the profile system since recent submissions have shown that ineffective
* misc cleanup
* [Gambatte] init state tweaks
* [Gambatte] add setting for patching similar bioses
* fix this
Co-authored-by: TiKevin83 <travismcgeehan@gmail.com>
Co-authored-by: alyosha-tas <alexei.f.k@gmail.com>
2021-08-01 09:54:19 -04:00
YoshiRulz
4973e3eba1
Refactor ITraceable and related types
2021-08-01 23:11:45 +10:00
YoshiRulz
9ec72fd543
Enable nullability in some more services and CodeDataLog
2021-08-01 23:11:44 +10:00
YoshiRulz
c26b99b547
Convert RegisterValue to a readonly struct
2021-08-01 23:11:40 +10:00
alyosha-tas
92dfdaec0f
NESHawk: fix MMC3 clear timing, fixes Klax
2021-07-31 22:32:10 -04:00
YoshiRulz
f92387e134
Fix typo in SMS ctor that caused NREs
...
fixes bcd47a1ad
2021-08-01 11:09:40 +10:00
alyosha-tas
9d8a80026e
NESHawk: more DMC work
2021-07-31 09:56:28 -04:00
alyosha-tas
01c0560c89
Merge branch 'master' of github.com:TASVideos/BizHawk
2021-07-29 18:52:01 -04:00
alyosha-tas
fd765b4278
BMp view: make it a function
2021-07-29 18:50:36 -04:00
Hyago Oliveira
dc66b4357f
Add event.onconsoleclose (squashed PR #2884 )
2021-07-30 08:44:24 +10:00
alyosha-tas
0f294a220e
Replace Win32 call in GBA viewer
2021-07-29 17:35:41 -04:00
alyosha-tas
3c257d48ba
Replace Win32 call from Bmp and Gb view
2021-07-29 17:12:25 -04:00
alyosha-tas
6ba3bfa1a2
GB GPUViwer: fix a couple bugs, still leaves a TODO
2021-07-28 10:14:22 -04:00
YoshiRulz
f8df53abda
Improve documentation for VersionInfo.gen.cs
2021-07-28 10:25:07 +10:00
YoshiRulz
b05d64c10c
Redesign PathConfig ( resolves #2435 )
2021-07-28 10:04:35 +10:00
YoshiRulz
dfaf07371e
Use better LINQ in PathConfig
2021-07-28 09:31:59 +10:00
YoshiRulz
28abcac463
Use AssemblyBuilder from System.Reflection.Emit package in BizInvoke
2021-07-27 21:10:50 +10:00
YoshiRulz
cf92bfd9b4
Clean up EmuHawk.Resources
2021-07-27 17:15:14 +10:00
YoshiRulz
3ed650c0ba
And silence the print flood from Database again
2021-07-27 15:17:14 +10:00
YoshiRulz
517be084ab
Replace Debug.WriteLine w/ Util.DebugWriteLine
...
(or `Console.WriteLine` if it's in `#if DEBUG`)
bonus wtf: 2 calls in Database were to `WriteLine(string, string)` overload, not
the intended `WriteLine(string, params object[])` overload
2021-07-27 15:14:13 +10:00
YoshiRulz
99260d2746
Add DocumentationAnalyzers from NuGet and fix syntax in docs
2021-07-27 14:53:04 +10:00
YoshiRulz
8d210df9e3
Enable nullability in some services
2021-07-27 13:31:49 +10:00
alyosha-tas
aa9402f3c8
fix #2298
2021-07-25 11:27:40 -04:00
alyosha-tas
a8e710c73d
fix #2880
2021-07-25 10:31:02 -04:00
CasualPokePlayer
62fcf9cc1d
fix #2864 ( #2869 )
...
* fix #2864
* attempt to preserve 2c8295b
behavior
* misc
2021-07-25 09:10:51 -04:00
Daniel Peter Rutschmann
4b6fc89a71
Fix rewinds sometimes drifting 1 frame forward when loaded. ( #2878 )
...
Co-authored-by: dacin21 <daniel.rutschmann@gmx.ch>
2021-07-25 09:09:42 -04:00
YoshiRulz
fd0d5a38c7
Rewrite OSDManager.InputStrOrAll without local var
2021-07-24 21:09:17 +10:00
YoshiRulz
b4738411a2
Invert nullability in Emulation.Common, enabling it some trivial files
2021-07-24 19:23:18 +10:00
Morilli
f1da6e6cd3
fix #2873 by duplicating code yay
2021-07-23 00:48:56 +02:00
YoshiRulz
8c5bb6715a
Allow loading .so files for libretro, again, and throw a nice message
2021-07-23 08:15:12 +10:00
alyosha-tas
335c8104b6
NESHawk: Tweaks to APU timing
2021-07-22 08:42:29 -04:00
YoshiRulz
726f1f3f11
Move types from Input to top-level in Client.Common and cleanup
2021-07-22 15:09:49 +10:00
YoshiRulz
25da1153b6
Resolve TODO re: encapsulation of r/w InputManager props
2021-07-22 14:49:09 +10:00
YoshiRulz
778098e8b7
Apply current code style to Bizware.Test
...
including enabling NRTs and minifying TestForm w/o Designer
2021-07-22 06:35:53 +10:00
YoshiRulz
d1205fa807
Revive Bizware.Test executable
2021-07-22 06:34:23 +10:00
YoshiRulz
a223072810
Update OpenTK
2021-07-22 05:02:06 +10:00
GhostlyDark
7a48bded0a
Add new GLideN64 settings ( #2872 )
...
* Add new GLideN64 settings
- BackgroundsMode: Set the rendering of large background images, like the JFIF backgrounds of Ocarina of Time. Defaults to stripped as it is more accurate. A user may want to change this to one piece mainly for texture pack usage or performance.
- txEnhancedTextureFileStorage: Use HTS cache instead of HTC for enhanced (upscaled) textures. Defaults to HTC.
- txHiresTextureFileStorage: Use HTS cache instead of HTC for HD textures. Textures are streamed from disk, eliminating the need to prefetch the textures at load. Boots the game near instantly and decreases RAM usage. Defaults to HTC.
* Fix BackgroundsMode type
2021-07-21 16:51:38 +03:00
YoshiRulz
b28a52befa
Add default feedback bind for N64 P1 (and add copy in test data)
...
the rest of the default binds are still garbo though
2021-07-21 12:27:41 +10:00
YoshiRulz
d3733c1fda
Pass Left+Right feedback bind through until PrepareHapticsForHost
2021-07-21 12:27:38 +10:00
YoshiRulz
d254c8121d
Include HapticsChannels prop in ControllerDefinition clone ctor
2021-07-21 10:49:50 +10:00
Meerkov
664ab7fab6
Wire up haptics in Mupen core (squashed PR #2683 )
...
* Wire up host haptics, but only for OpenTK which doesn't support it
and I'm hijacking the Fast Forward hotkey too
* Fix Mupen 64 Vibration DLL
* Enable Mupen 64 Vibration for DirectInput
* Remove unused SDL dep from Mupen input-bkm plugin
this allows it to be built without checking out the deps submodule, I guess
* Fix <OutDir/> in Mupen lib projects
* Remove "Debug" haptic channel and debug hotkey, prepare Mupen
* Fix remaining merge conflicts
* ...with the correct channel name
and hopefully no dangling whitespace changes
* Fix typo from resolving merge conflict, and off-by-one error
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-21 10:06:16 +10:00
YoshiRulz
52333e4862
Remove "Debug" haptic channel and debug hotkey, prepare Mupen
2021-07-21 09:46:19 +10:00
YoshiRulz
38b81ae10b
Re-enable haptic feedback
...
(i.e. revert 567cb0c8f
)
2021-07-21 09:46:15 +10:00
alyosha-tas
864086c510
NESHawk: update apu start state to better match console
2021-07-20 18:50:33 -04:00
nattthebear
8cd67529a3
delta rewinder: fix crash on rewinding when the buffer was full
...
Woops!
Closes #2870 .
2021-07-20 16:53:40 -04:00
nattthebear
7cc73ca9b0
Fix bug with delta state rewinder ( #2871 )
2021-07-20 16:47:10 -04:00
YoshiRulz
56594840ad
Replace sequences of 7 or more = chars in C# source with -
...
just makes it easier to grep for Git merge conflicts
2021-07-19 10:10:16 +10:00
YoshiRulz
2077b19caa
Clean up dumb in GBHawk ctor
2021-07-19 09:19:37 +10:00
YoshiRulz
0892fb8733
Inline remaining CFP.GetFirmware shim
2021-07-19 09:15:05 +10:00
YoshiRulz
70037ee0fc
Refactor CFP.GetFirmware*
2021-07-19 08:52:09 +10:00
YoshiRulz
443c9830bb
Copy /Assets with <None/> instead of a post-build <Target/>
...
see #2725
2021-07-18 07:24:58 +10:00
alyosha-tas
42b43b4431
resolve #2858
2021-07-17 08:26:47 -04:00
Moritz Bender
2ff7e4d39b
Add sa1_iram memory domain for new bsnes ( #2803 )
2021-07-16 18:41:53 -05:00
Mickael Laurent
e79d33bcfd
Add several comm MMF LUA functions
2021-07-17 07:49:11 +10:00
Mickael Laurent
457ff87481
Always initialize MMF LUA functions
2021-07-17 07:49:11 +10:00
Morilli
308d34890c
Fix the superscope controller for the new bsnes core
...
closes #2856
2021-07-14 22:43:09 +02:00
Zach
58293dde9f
Support null (any) address for N64 breakpoints. ( #2833 )
...
* Support null (any) address for N64 breakpoints.
Fixes #2808
* Move null check for better readability.
* Replace debugger mutex with semaphore that counts debug steps.
This is taken directly from upstream m64p. If breakpoints are being hit fast enough and in large enough quantity, m64p always ends up getting into a deadlock. The semaphore seems to resist this problem.
* Remove tabs
2021-07-14 20:49:31 +03:00
CasualPokePlayer
488fd2c6af
Add support for more SGB firmware + Use homebrew bootroms instead of bsnes' illegally provided official ones ( #2837 )
...
* add support for more SGB firmware
* replace illegally provided bootroms with legal homebrew bootroms
* let's swap these with homebrew bootroms too
* add builds
* this should probably be preferred
* Fix incorrect assignment
* Fix whitespace changes to Designer files
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-14 12:48:02 -05:00
nattthebear
913837b904
NESHawk: Fix mapper 88 mirroring
...
Closes #2847
2021-07-12 21:38:01 -04:00
alyosha-tas
420f72f684
resolve #2845
2021-07-12 10:16:05 -04:00
alyosha-tas
6c5d329573
Make tool tips visible for firmware info
2021-07-09 15:17:06 -04:00
alyosha-tas
bf5c73b40c
Resolve #2713
2021-07-09 11:55:47 -04:00
alyosha-tas
bc8280c7b1
SMS: fix null keyboard keys
2021-07-07 21:26:57 -04:00
alyosha-tas
bcd47a1ad9
SMS: bring controllers in line with other cores and fix virtual pads
2021-07-07 21:16:56 -04:00
alyosha-tas
bed5cc66ab
A2600: fix controller selection error
2021-07-07 16:50:32 -04:00
alyosha-tas
946b0e2c01
PSX: maybe fix weird unthrottled behaviour. I didn't realize FrameAdvance had two return paths in octoshock, and missed this one without incrementing Frame when I changed it to the end for the autofire issue. Will audit the rest of the cores as well, but try this in dev build.
2021-07-07 10:24:51 -04:00
alyosha-tas
2d8ea8a989
NESHawk: fix MMC5 IRQ timing, fixes #2036
2021-07-03 20:43:53 -04:00
nattthebear
9488e19d38
Update mednafen cores to 1.27.1 ( #2831 )
2021-07-03 10:01:04 -04:00
alyosha-tas
01c3b14495
Add Basic Bot menu item image
2021-07-02 10:40:49 -04:00
alyosha-tas
3c26d9eec1
Basic Bot: check for Allow U+D/L+R before starting
2021-07-02 09:10:07 -04:00
alyosha-tas
197e5259c3
Basic Bot: fix 2 empty frame issue
2021-07-02 08:57:10 -04:00
YoshiRulz
46a55d6db4
Use nameof in some Type.GetMethod calls
2021-07-02 16:27:31 +10:00
alyosha-tas
a14da86ac0
Fix Basic Bot
2021-07-01 22:06:34 -04:00
nattthebear
2ce269c3e6
Fix bad interaction between rewind+movie+savestates when using delta state rewinder
...
Closes #2826
2021-07-01 17:37:03 -04:00
alyosha-tas
e0498c06ad
NESHawk: Improve DMC emulation
2021-06-30 16:53:15 -04:00
zeromus
858faaeb56
fix terrible looking checkbox that was added to firmwaresconfig toolbar by hand instead of the IDE. actually it's kind of cool that you can jam any kind of controls in there, it gives me hope that you could make better looking toolbars by virtue of their not being styled like the ugly toolbars. but it really needs to be all-or-nothing.
2021-06-30 04:44:09 -04:00
zeromus
0ae2dc774c
remove FirmwaresConfig dialog asserts added by d0a6817c1a
which don't work
2021-06-30 04:38:01 -04:00
alyosha-tas
1aadfd1edf
NESHawk: DMC timing on multiple write ocodes
2021-06-28 14:17:41 -04:00
alyosha-tas
76c76a8775
NESHawk: Update start up state again, fixes Paperboy
2021-06-24 23:04:26 -04:00
zeromus
0a290fa756
someone added a "Can't find the file specified: cue filename" for when ANY error happened (including when bin files couldn't be found), before the error message which would have said "Can't find the bin file specified by the cue file". probably while doing null-related refactor bullshit because they had to throw some exception instead of adopting a null value. fix that by undoing the null-related refactor bullshit and adopting the value which is known not to be null (to us, if not the nagging linter) after checking for the intended error conditions and throwing if they're set. fixes #2819 (probably)
2021-06-24 19:23:46 -04:00
alyosha-tas
28ff96deb5
NESHawk: update startup state
2021-06-22 12:23:15 -04:00
YoshiRulz
1f0e058ef5
Blindly update <PackageReference/>s
2021-06-21 12:13:42 +10:00
YoshiRulz
27547178a3
Allow MotW remover to fail silently
2021-06-21 11:08:56 +10:00
alyosha-tas
cb0c8c0859
NESHawk: add offset to state, change input poll timing to match actual polling
2021-06-19 10:24:17 -04:00
nattthebear
90a12a8e73
Update virtual boy core with a mednafen 1.27.1 fix.
2021-06-19 08:32:50 -04:00
alyosha-tas
02cd2f47f3
NESHawk: update lag definition and add sprite address glitch
2021-06-18 23:08:04 -04:00
alyosha-tas
427d0351af
MOS6502: white space cleanup
2021-06-18 23:07:01 -04:00
YoshiRulz
40c53e0c1f
Inline DisplayManager._glManager
2021-06-15 13:52:09 +10:00
alyosha-tas
f251492a21
GBHawk: revert innacurate changes to window state, window timing needs to be fixed instead
2021-06-14 22:12:41 -04:00
YoshiRulz
0173e8d514
Fix assembly load exception on startup
...
lambda, crash, static local method, no crash... got it
2021-06-15 11:35:19 +10:00
YoshiRulz
22144401e2
Move IGL_GdiPlus to BizwareGL
2021-06-15 10:07:22 +10:00
YoshiRulz
5bdeea6c20
Decouple IGL_GdiPlus from GLControlWrapper_GdiPlus
2021-06-15 10:07:22 +10:00
YoshiRulz
673982003a
Move RenderTargetWrapper to BizwareGL
2021-06-15 10:07:22 +10:00
YoshiRulz
bf4bac93b9
Decouple RenderTargetWrapper from GDI+ implementations
2021-06-15 10:07:22 +10:00
YoshiRulz
984982cd9b
Move IGL_GdiPlus.RenderTargetWrapper to own file
2021-06-15 10:07:21 +10:00
YoshiRulz
826f9469dc
Fix code style issues in ZXHawk
2021-06-15 08:58:52 +10:00
YoshiRulz
8470fcfc72
Disable warnings in copypasta'd code
...
fixes 160217ef7
2021-06-15 08:58:52 +10:00
CasualPokePlayer
ea369408fb
[Gambatte] Open Bus Emulation ( #2798 )
...
* [Gambatte] Open Bus Emulation
* Fix regressions
* a
2021-06-14 18:50:43 -04:00
YoshiRulz
b8f5050d6c
Replace specialised DisplayManager interfaces with DisplayManagerBase
2021-06-15 08:01:47 +10:00
YoshiRulz
798aa9d039
Move DisplayManagerBase to Client.Common
2021-06-15 08:01:47 +10:00
YoshiRulz
f59836442d
Extract subclass DisplayManager from DisplayManagerBase
2021-06-15 08:01:47 +10:00
YoshiRulz
20f405fe35
Rename DisplayManager to DisplayManagerBase
2021-06-15 08:01:47 +10:00
YoshiRulz
af45671eb7
Extract helper method RunFilterChainSteps from UpdateSourceDrawingWork
2021-06-15 08:01:47 +10:00
YoshiRulz
9f7057f09d
Misc. cleanup in DisplayManager
...
added a Deconstruct extension for Size
2021-06-15 08:01:47 +10:00
YoshiRulz
101c04de1b
Remove explicit WinForms dep from DisplayManager (Padding struct)
2021-06-15 08:01:47 +10:00
YoshiRulz
6fa34a6257
Move font resources to Client.Common
2021-06-15 08:01:47 +10:00
YoshiRulz
332542c38b
Move DisplaySurface to Client.Common
2021-06-15 08:01:47 +10:00
Matt Burgess
d8ccd4017a
ZXHawk: Remove left over debug stuff
2021-06-12 10:22:59 +01:00
Matt Burgess
51a67a947a
ZXHawk: Overhaul datacorder and cassette loading code. This should now be more accurate and fixes a number of loading isues with particular games and loading schemes. There be desync dragons here!! Fixes #1446
2021-06-11 23:41:14 +01:00
zeromus
160217ef74
Add the first working IsAbsolutePath I could find, copied from .net core. It works for `\\192.168.0.x\public\SMB1.rom` ¯\_(ツ)_/¯
...
fixes #2787
2021-06-10 12:38:53 -04:00
YoshiRulz
93ca66a243
Fail properly when ext. tools dir is missing ( fixes #2787 for real)
2021-06-11 02:09:16 +10:00
YoshiRulz
07fd664485
Set FormBase.Text in its ctor ( fixes #2759 )
2021-06-11 01:39:33 +10:00
Alan Unger
206314445b
Skip DirectInput initialization for device names containing "Xbox One" or "XINPUT"
2021-06-09 06:02:52 +10:00
Alan Unger
2549c3fa04
Fix crash from disconnecting controllers with XInput (squashed PR #2783 )
2021-06-09 02:35:35 +10:00
YoshiRulz
eaff9274cb
Remove now-unused backing field
...
fixes e5e187982
2021-06-09 02:01:51 +10:00
YoshiRulz
77bbd6b24e
Clean up ext. tools dir monitoring ( resolves #2787 )
2021-06-09 01:58:26 +10:00
nattthebear
14fef0f2b5
Revert "GPGX: apply settings each frame, fixes layer viewer not updating properly"
...
This reverts commit b3fdbe7463
.
2021-06-07 17:18:50 -04:00
YoshiRulz
b26d215edb
Bump version
2021-06-07 22:17:59 +10:00
CasualPokePlayer
e5e187982a
SubGambatte (squashed PR #2732 )
2021-06-07 19:18:24 +10:00
alyosha-tas
b62f4bc6a9
TAStudio: make operation of 'show player #' buttons more intuitive, fixes #2779
2021-06-06 10:00:57 -04:00
YoshiRulz
dabd33c5f4
Un-swap fill and stroke in forms.drawRectangle/LuaCanvas.drawRectangle
...
fixes 0a9d496ec; see #2772
2021-06-06 13:46:29 +10:00
alyosha-tas
b3fdbe7463
GPGX: apply settings each frame, fixes layer viewer not updating properly
2021-06-05 21:26:01 -04:00
alyosha-tas
147a5f0e75
Debugger: full update on restart, remove breakpoints before closing
2021-05-31 21:58:01 -04:00
alyosha-tas
8a09893818
Basic Bot: Add same movie check condition as in Macro tool, fixes #2762
2021-05-30 14:06:08 -04:00
alyosha-tas
733b6c49b0
ToolBox: make icons without instances of tools, I probably missed some but it no longer throws errors at least and works as expected. Fixes #2763
2021-05-30 11:44:16 -04:00
YoshiRulz
2704003429
Dispose of newly-instantiated Forms when populating Tool Box
...
see #2741 , fe6bf7ba1
, #2763
2021-05-31 00:53:23 +10:00
CasualPokePlayer
7e06f71afb
add HLE CGB-DMG colors for No Bios option ( #2756 )
2021-05-29 20:32:20 -04:00
alyosha-tas
c1c032a345
Trace Logger: filter out null cases
2021-05-29 17:53:53 -04:00
alyosha-tas
28fe921983
Debugger: prevent crashes when minimizing and other cases, fixes #2760
2021-05-29 11:25:15 -04:00
YoshiRulz
0b0484ee7c
Fix code style warning (by simplifying)
2021-05-28 16:29:21 +10:00
zeromus
17e3e28d06
Fix a bug in PathExtensions IsAbsolute. Fixes #2747
...
This code should not exist here, anyway. For reasons just like this. Need to find framework method for it.
2021-05-27 16:52:05 -04:00
zeromus
d39fa5d3d1
decrypt PathExtensions IsAbsolute and MakeAbsolute
2021-05-27 16:51:31 -04:00
alyosha-tas
7c17f31cdc
Gambatte; update trace header
2021-05-27 09:27:58 -04:00
CasualPokePlayer
6432d99feb
[Gambatte] Many Updates ( #2742 )
...
* don't put isCGBMode for movies where CgbDmg mode is being used
* various Gambatte accuracy improvements + proper no BIOS support + tracelogger fixes
2021-05-27 08:56:13 -04:00
adelikat
c5e6aadb0e
update version info
2021-05-25 19:46:27 -05:00
Morilli
38bc953e22
Add a designated payload controller based on the multitapcontroller in the new bsnes core
...
- also patched out the left/right and up/down handling in the core, where it didn't belong
- also fixed the existing payloadcontroller because it wasn't working at all lol
2021-05-26 02:27:54 +02:00
feos
3c94000d3e
mame: bios selection works
2021-05-25 21:14:27 +03:00
alyosha-tas
0b3cd0ec0d
GBHawk: Fix some tests
2021-05-25 10:56:28 -04:00
Morilli
359657c29a
Add a payload controller for the new bsnes core
2021-05-25 04:27:06 +02:00
YoshiRulz
817701856c
Respect LogKey of loaded movie for playback
2021-05-25 08:50:58 +10:00
YoshiRulz
38a223ffbd
Fix execution order in Bk2Controller constructors
2021-05-25 08:50:58 +10:00
feos
aedb7d3972
mame: figure out default bios properly
2021-05-24 23:15:49 +03:00
YoshiRulz
cc29c5edc7
s/UDRL/UDLR/ in N64 ControllerDef
2021-05-24 08:39:46 +10:00
feos
e6c6c417d5
mame: populate bios menu
2021-05-24 00:49:00 +03:00
feos
ebff82b968
mame: dip switches work
2021-05-23 17:31:35 +03:00
Morilli
24c74c0e36
Implement IDebuggable for the new bsnes core
2021-05-23 05:02:05 +02:00
feos
a43eaaeee9
mame: sent syncsettings to the core and reboot
2021-05-22 23:03:21 +03:00
feos
512ca30d7e
mame: set up the hawk side of syncsettings (dip switches only)
2021-05-22 19:02:45 +03:00
YoshiRulz
d71eca3b2d
Implement SerializationStabilityTests.TestRoundTripSerialization
2021-05-22 08:15:31 +10:00
YoshiRulz
dd45a3e37c
Exclude get-only props on PathEntryCollection from serialisation
2021-05-22 08:08:04 +10:00
YoshiRulz
da649a1bc0
Fix hash comparison in DearchivalTests.TestSharpCompress
2021-05-22 05:59:35 +10:00
alyosha-tas
4165b2893d
Cores: All cores must update Frame counter post-emulation. NOTE: This is a sync breaking change for MGBA movies using RTC, as the time sent to the core was the pre-incremented time.
2021-05-20 09:24:49 -04:00
alyosha-tas
7c661b5520
Autofire Controller: Latch frame number with controller latch, avoids midframe conflicts when cores update frame pre-emulation.
2021-05-20 09:21:42 -04:00
alyosha-tas
bf9c6d784d
NESHawk: add missing mapper variable to state. Only for some pirate games so won't fix any reported issues, just something I noticed.
2021-05-17 20:45:36 -04:00
alyosha-tas
94a851ef9e
O2Hawk: fix #2684
2021-05-17 18:29:00 -04:00
alyosha-tas
4f24c6ac70
GBHawk: fix #2709 , also fixes a test that previously passed for the wrong reason
2021-05-17 17:10:25 -04:00
alyosha-tas
9f71f9b424
GBHawk: #2715 , still needs vram open bus fix but that's seperate
2021-05-17 17:07:00 -04:00
alyosha-tas
12b5ea62eb
C64: implement memory callbacks
2021-05-17 15:10:09 -04:00
YoshiRulz
270ee700fb
Fix unassigned field warning
2021-05-17 10:47:43 +10:00
YoshiRulz
1aa9481a2a
Flip expected/actual in PlayMovie
2021-05-17 10:43:19 +10:00
nattthebear
bc21f296a0
Romloader: Add `DontTryOtherCores` config setting
...
If set, only the first preference core (whether it be through gamedb or preferredcore or priority or whatever) will be tried, and a failure for it will immediately fail the entire thing. This is mostly a developer feature to aid in debugging.
2021-05-16 11:57:30 -04:00
nattthebear
e0a357f68d
Support `ref structType` in BizInvoker
...
Could be useful if you need a struct type on the C# side for perf reasons, maybe to avoid allocations. Like with passing classes, this is just a pointer conversion: BizInvoker's design philisophy explicitly leaves out any sort of recursive field conversion that would necessitate making new objects.
2021-05-16 11:38:08 -04:00
nattthebear
a18ea12bc0
Bsnes new - delegate refactoring
...
Fix reliance on GetFields() ordering which, per MDN, is unspecified.
CallingConventionAdapters.MakeWaterbox(...) doesn't care what order they're in, but snes_set_callbacks(...) does.
2021-05-16 10:03:03 -04:00
YoshiRulz
fe6bf7ba12
Disable Tool Box on Linux ( fixes #2741 )
...
Was going to Close() the instances made by ToolBox.SetTools, which is probably a
good idea still, but it didn't cause my overridden LogWindow.OnClosing to run so
I gave up. The Tool Box is dumb anyway.
2021-05-16 08:57:12 +10:00
Morilli
e2b38732dd
Fix bsnes memory domains and add bsnes.wbx.gz
2021-05-15 19:36:08 +02:00
Moritz Bender
5d20862f26
Implement bsnes version 115 as a new core ( #2740 )
...
* Slam all this shit in here i don't care
* no lzma pls
* un-hack things that i hacked earlier (closer to bsnes source now)
* remove more unused files
* remove more files
* get some stuff working on this weird ass branch
* do this to get actual video (holy shit it works) while palette is incorrect
* make video look correct and hopefully fix stack waterbox allocation size uh ?
* Move the new bsnes core to its own dir as a new core and get input working
* remove leftover files from old bsnes
* fix some shit for now
* make lag frame detection work
* Improve cartridge loading to hopefully make sgb work (haven't tested)
- also changes some audio buffer stuff, might be better or worse than before idk
- need to figure out the saveram stuff
- path requests might actually completely fail atm, no idea how to verify that
* refactor to use a switch instead of some weird array with function pointers
- and implement snes_get_mapper, might be helpful or smth idk
* implement entropy c++-side and delete all this useless code holy
* delete dumb unnecessary code
* implement snes_peek_logical_register c++-side
* normalize all indentation
* attempt to properly support sharprtc and epsonrtc data loading and writing
* Duplicate winforms code to add entropy support c#-side and implement layer_enable functionality
The duplicated code is just so i can have a proper window for the new bsnes core. I do not like duplicating code like this, so this should be improved if possible
* Checkpoint for the start of getting rid of the ugly api wrapper stuff
* Next checkpoint for a full api refactor
* bullshit denied
just no.
every file is either copied or manually edited or written from scratch etc.
do not. force. one indent_style on every single file.
It just does not work.
* remove the entire eMessage_CMD handling and convert to native function calls
* general improvements regarding functionality
- adds hotfixes and fast_ppu core options
- add back the alwaysDoubleSize setting
- use bsnes's own serialize function for savestating now
- generate and use the color palette only in c# cause it doesn't need to be on the c++-side
- and more cleanup like always
* somewhat implement IMemoryDomains
* Implement trace logger and cleanup more unused stuff
* Implement ISaveRam, fix controller mapping for TAStudio and remove the pwrap stuff
* Fix ISaveRam, add a controller configuration box for the new core, (hopefully) fix controller inputs
- also differentiates BG prio0 and prio1 now (with options for it)
- some minor irrelevant edits in bsnes source
* Cleanup some more and optimize a bit
* Support firmware loading and make sgb work (hopefully)
* Remove all unused files
* Add back CropSGBFrame option and cleanup snes_video_refresh logic
* Some hopefully sensible changes
* One more cleanup pass
* Change to new PortedCore attribute
necessary after the changes in 98b07c42d5
Co-authored-by: nattthebear <goyuken@gmail.com>
2021-05-14 20:06:13 -05:00
YoshiRulz
68ba190c2f
Fix text wrapping in SNESOptions
...
fixes 64d14a7f9
2021-05-14 15:28:47 +10:00
YoshiRulz
fdb5dfb7e5
Silence flood of prints on startup (in Debug), obviously no-one cares
2021-05-14 13:41:28 +10:00
YoshiRulz
a9facd895a
Fix accelerator on system menu
2021-05-14 13:26:18 +10:00
YoshiRulz
f614e41834
Use mnemonic instead of long name for system menu
...
fixes 553319ec9
2021-05-14 12:44:48 +10:00
YoshiRulz
a357da360e
When mGBA fails with missing firmware, throw MissingFirmwareException
2021-05-14 12:19:45 +10:00
YoshiRulz
c57cd97f56
Make MainForm.RebootCore return bool, read in MainForm.StartNewMovie
...
resolves #2147
2021-05-14 12:16:53 +10:00
feos
1c79afe8c8
update mame version
2021-05-12 23:32:36 +03:00
feos
9b2fce578c
make LogWindow automatically scroll to last added line
2021-05-11 21:14:14 +03:00
YoshiRulz
567cb0c8fd
Disable the partial implementation of haptic feedback
2021-05-12 03:59:38 +10:00
zeromus
6f992e92e7
ok let's try this a different way so that mupen can work. now I allow the _lines and listcount to not get updated atomically, but hopefully the listcount gets updated before the user ever gets a chance to see it or interact with it (regardless of whenever that update actually happens)
2021-05-09 15:42:11 -04:00
zeromus
a886a9b12a
fix thread problems in log window (should address #2694 but I'm not calling it closed because maybe someone will jettison this log type completely)
...
note: in principle
1. _lines and the VirtualListSize are meant to be updated atomically
2. these can be written to from a different thread while the gui thread reads them
this necessitates a high degree of caution around how those variables are accessed, which is made complicated because VirtualListSize isn't a variable but rather done as a win32 call on the gui thread only
2021-05-09 14:54:16 -04:00
YoshiRulz
cfad22e80d
Change UI for rewind buffer size ( resolves #2302 )
2021-05-10 03:33:23 +10:00
feos
2832df893b
mame: added more mnemonics
2021-05-08 23:07:00 +03:00
feos
701d340e00
mame: probably fix audio
2021-05-08 21:01:45 +03:00
nattthebear
547bf6d308
Add delta compression rewinder ( #2733 )
...
Good size reduction for some cores, less useful for others. Typically moderately slower. Has some threading built in (cannot be disabled).
Example speeds with PSX core:
104 fps with delta rewinder
112 fps normal rewinder (no compression)
124 fps without rewinder
2021-05-08 08:47:12 -04:00
YoshiRulz
3ea71a2dda
EXTERMINATE SPACES
2021-05-08 08:16:10 +10:00
YoshiRulz
9cd3d0b57f
Finish null-safety in BizInvokerUtilities
...
fixes b6f1afcce
2021-05-08 05:57:24 +10:00
YoshiRulz
98b07c42d5
Extract subtype PortedCoreAttribute from CoreAttribute
2021-05-07 00:14:37 +10:00
YoshiRulz
796d0652e4
Clean up ported vs hawk core handling in BizBoxInfoControl
2021-05-07 00:11:43 +10:00
YoshiRulz
54301e9616
Correct info in melonDS' [Core] attr
...
not sure on the version
2021-05-06 23:28:08 +10:00
YoshiRulz
d570cc2fcc
Return correct CPU name from GBDisassembler (Gambatte)
...
fixes b0095927b
2021-05-06 22:33:58 +10:00
CasualPokePlayer
db97427ae1
Add rgbds syntax for GB/C disassembly ( #2706 )
...
* replace current GB/C syntax with rgbds syntax
* make rgbds syntax an option, only works for Gambatte tracelogger
* fix add sp/ld hl,sp+
These opcodes aren't disassembled correctly at all; they seem to just use the exact same logic as jr, which doesn't really work here since these are explicit adds, and these opcodes use sp, not the pc. This is probably the most logical approach to this opcode.
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-05-05 21:52:25 -04:00
CasualPokePlayer
3372556ef0
[Gambatte] MBC3 RTC Refactor (And add a way to set initial RTC state) ( #2724 )
...
* slightly fix gambatte peeking
* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)
* block toggle layer hotkeys when movie recording
* refactor Gambatte's RTC
* add a way to set an inital RTC state during a movie recording
* prevent Gambatte from saving RTC data when recording a movie, needed to create save-anchored movies
2021-05-05 21:40:36 -04:00
YoshiRulz
7a7522f282
Add path helpers, normalise rom path from CLI, update readme
...
see #2077
2021-05-05 06:48:05 +10:00
YoshiRulz
3fee117c5f
Clean up toggle/refresh buttons in Lua Console
2021-05-04 23:57:12 +10:00
YoshiRulz
0a9d496ece
Accept all 4 colour formats in all Lua functions, update docs/wikitext
...
resolves #2602
2021-05-03 19:06:15 +10:00
YoshiRulz
893396a009
s/long/int/ in Lua so addresses 0x80000000..0xFFFFFFFF are usable
...
see #1734
2021-05-03 16:54:13 +10:00
YoshiRulz
5016f6ef1c
Prevent hangs from trying to go backwards w/ client.seekframe
2021-05-03 16:39:23 +10:00
Zach
8b79720b9d
N64 plugin categories ( #2729 )
...
* GLideN64 categories
* Remove maximize button from n64 plugins window.
Maximize breaks the anchors for the property grids, and the window is fixed size anyway.
* GlideMk2 categories
* Glide64 categories
* Rice categories
Also fixed typo "WinFrame" -> "Wireframe"
2021-05-02 09:39:13 -05:00
adelikat
f83a94954f
Tastudio - remove some vestigial code for background worker workarounds that is now causing a broken tastudio when selecting a New from the File menu and saving changes when asked
2021-05-01 11:57:21 -05:00
adelikat
49dc7a2bd3
tastudio - fix an _initializing hack spot
2021-05-01 11:42:27 -05:00
Zinfidel
e55b19e990
Fix copy-paste description.
2021-05-01 16:12:44 +10:00
feos
a35143539b
add utvideo to ffmpeg dumper
...
speed is 4 times faster than ffv1, size it twice as big (tested on SM64 running at 4K internal res). avisynth is more happy with ut than with ffv1, because for the latter you have to tell it the actual pixel format. great option overall.
2021-04-30 20:09:16 +03:00
YoshiRulz
6dbe73d306
Update Cyotek.Drawing.BitmapFont to 2.0.2 ( fixes #2716 )
2021-04-28 00:51:29 +10:00
zeromus
31d83d0d6e
fix crash in PCE debugger by adding peek and poke to the cpu instead of using read/write memory which triggers callbacks. however, the peek and poke are incomplete, as this requires deeper development (in this case, implementation in the memory maps)
2021-04-24 23:20:00 -04:00
adelikat
aad592cc1c
Tastudio - fix annoying auto-restore bug where it would not set auto-restore position correctly the first time using it after an auto-restore usage earlier in the movie. This might have some regressions, needs testing by people who would know
2021-04-23 18:34:17 -05:00
adelikat
838f571e0b
replace some winforms specific values and ram watch chacks with IToolForm properties. Removes hacks, and some winforms dependencies in tools, and allows for easier implementation of closeable tools ( #2719 )
2021-04-23 15:41:58 -05:00
nattthebear
2ba5fe338a
add missing menacer keys ( #2718 )
...
See eafa39456f
and 307d85cee0
.
This will add extra keys that do nothing on certain non-menacer light guns, but that never seemed to bother anyone in 1.x.
2021-04-18 10:09:33 -05:00
James Groom
5de101107c
Remove 2-way FirmwaresConfig<=>PathsConfig link ( #2698 )
...
* Remove links between PathsConfig and FirmwaresConfig
in the label in FirmwaresConfig, I left the search path and how to change it
* Clean up hacks only needed for FirmwaresConfig<=>PathsConfig links
2021-04-18 10:09:22 -05:00
Moritz Bender
02eb20725a
Fix #2583 ( #2699 )
2021-04-18 10:06:25 -05:00
CasualPokePlayer
b9123453aa
[Gambatte] Slightly fix peeking & fix layer masking ( #2712 )
...
* slightly fix gambatte peeking
* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)
* block toggle layer hotkeys when movie recording
2021-04-18 10:03:44 -05:00
adelikat
82f26ee4ec
fix autoloading of ram watch that was broken in the 2.5 releas
2021-04-18 09:54:35 -05:00
nattthebear
9243a6a215
Revert "Add light gun option for Genesis gamepads"
...
This reverts commit 92241b15cf
.
2021-04-18 08:32:43 -04:00
YoshiRulz
771b5397fe
Fix range, def. binds, and Virtual Pad for SEGA Mouse
2021-04-17 12:54:17 +10:00
YoshiRulz
92241b15cf
Add light gun option for Genesis gamepads
...
seems to work; why do we have our own enum instead of using one of GPGX'?
2021-04-17 12:00:36 +10:00
adelikat
9ff4b904c6
Tastudio - revert double click edit, fix double click navigation to be double click not mouse double click, simplify range checking in said logic
2021-04-16 09:04:16 -05:00
YoshiRulz
b7b10e2631
Update Cyotek.Drawing.BitmapFont to 1.3.4
...
see #2716
2021-04-16 12:49:30 +10:00
adelikat
eb4b3a1f82
Tastudio - open edit marker pop up when double clicking a marker
2021-04-15 21:04:29 -05:00
adelikat
a95c4f1820
fix TAStudio auto-loading, broken by ec5e88c8
(regression introducted in 2.6)
2021-04-15 20:57:11 -05:00
YoshiRulz
652b38d04c
Check-in ReflectionCache assembly instead of including in build
2021-04-14 10:44:46 +10:00
adelikat
b1f2ec77fb
default bsnes core to 1 controller (didn't test this since latest master doesn't compile)
2021-04-13 18:14:31 -05:00
YoshiRulz
65d5e3f7d5
Move NymaTypes to separate project, fiddling w/ project structure
2021-04-09 17:49:07 +10:00
YoshiRulz
a9e78488ac
Add remaining cores to CoreNames, manually changing Designer files
2021-04-09 14:14:59 +10:00
YoshiRulz
fb1d507220
Clean up use of existing CoreNames consts
2021-04-09 14:14:59 +10:00
YoshiRulz
48bb5c24e6
Refactor MainForm.HandlePlatformMenus
2021-04-09 14:14:58 +10:00
YoshiRulz
553319ec95
Clean up "display name" stupidity
...
* removed CoreAttribute.DisplayName (using IEmulator.SystemId instead)
* fixed ToolManager checking for "(Experimental) " prefix on names of unreleased
cores in ToolAttribute.UnsupportedCores
* corrected display name of UZE sysID to "Uzebox" (was "uzem")
* disabled auto-generated accelerators (&A -> Alt+A) on "current system" menu in
MainForm menubar because they could conflict with hardcoded ones
2021-04-09 14:14:58 +10:00
YoshiRulz
193e9aa7dc
Put AviWriter and its imports (and usages) behind #if AVI_SUPPORT
...
for now it's defined even on Linux, try removing it in /src/MainSlnCommon.props
2021-04-08 17:33:46 +10:00
YoshiRulz
262fc72044
Move DisplaySurface and QuickBmpFile to EmuHawk
2021-04-08 16:59:32 +10:00
YoshiRulz
0bfe3cb6ab
Genericise SwappableDisplaySurfaceSet
2021-04-08 16:59:32 +10:00
YoshiRulz
85eedb39fd
Extract interface from DisplaySurface
2021-04-08 16:59:32 +10:00
YoshiRulz
bd9ec3c57d
Convert static class QuickBmpFile to (empty) struct with interface
2021-04-08 16:59:32 +10:00
YoshiRulz
1aebbe9cd6
Add QuickBmpFile.LoadAuto helper
2021-04-08 16:59:32 +10:00
YoshiRulz
1f080be047
Extract byte swapping helpers from RomGame, cleanup, and add tests
2021-04-08 16:59:31 +10:00
YoshiRulz
214f024d86
Replace void* param in IGL.BindArrayData w/ IntPtr
2021-04-08 16:59:31 +10:00
YoshiRulz
3db06c4aa9
Remove unsafe keyword where unused or extraneous
2021-04-08 16:59:28 +10:00
YoshiRulz
4d47861296
Cleanup DisplayManager.ClearApiHawkSurfaces
2021-04-08 16:42:27 +10:00
YoshiRulz
e25121bb79
Fix typo
2021-04-08 15:29:21 +10:00
YoshiRulz
d32f7344ae
Fix RecordMovie having a broken layout on Linux
2021-04-08 09:24:12 +10:00
YoshiRulz
9e609271b9
Correct my claim re: axis bindings in comment and clarify some things
2021-04-05 17:06:50 +10:00
YoshiRulz
5209bc69a1
Fix location and namespace of CorePickerStabilityTests
...
oops
2021-04-05 17:06:49 +10:00
YoshiRulz
d0a6817c1a
In FirmwareConfig, don't treat known-but-bad as good ( resolves #2224 )
2021-04-04 15:52:39 +10:00
YoshiRulz
aab0dd582d
Fix compliance with SA1142 (don't access ValueTuple fields as ItemN)
2021-04-04 14:16:41 +10:00
YoshiRulz
26eaa22be2
Update StyleCop, migrate FxCop to NetAnalyzers (built-in)
2021-04-04 14:15:22 +10:00
YoshiRulz
55bf1d5f56
Reinstate assembly version check
...
made possible by #2697
2021-04-04 12:41:01 +10:00
YoshiRulz
f204f4e367
Use a Source Generator for ReflectionCache classes
2021-04-04 12:41:01 +10:00
YoshiRulz
86dd250a73
Prevent copying BizHawk.Version assembly to output for real
2021-04-04 12:41:01 +10:00
YoshiRulz
56916fbbca
Add test to do sanity checking of core picker and default core prefs
2021-04-02 19:53:12 +10:00
YoshiRulz
c5802e9154
Only use IReadOnlySet in .NET 5, ICollection for other targets
...
forgot AppVeyor compiles the test project for .NET Core 3.1
2021-04-02 19:52:51 +10:00
YoshiRulz
71cb9a8805
Add test to prevent adding unserializable types to Config
2021-04-02 17:29:13 +10:00
YoshiRulz
286727eb44
Make collection-typed fields readonly where possible
...
also I widened them all to the relevant interface
this was done with a naive regex replace, followed by reverting lines until all
the build errors were gone; the regex was something like
s@(public|internal|protected|private) ((?:List|Dictionary)<[^=\n{]+= )@$1
readonly I$2@g
2021-04-02 16:27:40 +10:00
YoshiRulz
5dd7a66120
Cleanup serialisation of test cases in CheatDecoderTests
2021-04-02 16:27:40 +10:00
YoshiRulz
3860199c52
Add ext. methods for calling List<T> methods on collection interfaces
2021-04-02 16:27:36 +10:00
feos
3ff0eb33db
update mame to 0.230
2021-04-01 23:19:07 +03:00
YoshiRulz
1ffc0435b3
Remove haptics from ControllerDefinitionMerger ( fixes #2690 )
2021-04-01 09:22:06 +10:00
YoshiRulz
ad1659eb68
Re-add Debug haptics channel to all cores, but only in Debug config
2021-04-01 09:18:16 +10:00
YoshiRulz
cb88e98f39
Fix syntax error
2021-04-01 09:15:16 +10:00
CasualPokePlayer
d308afa45c
clarify Gambatte sync settings ( #2688 )
2021-03-31 18:07:54 -05:00
Moritz Bender
fc97e096a1
Add initial marker in frame 0 when loading older tasprojs ( #2693 )
...
else this would make the first created marker take slot 1 and be uneditable and undeletable, which isn't good
2021-03-31 18:07:22 -05:00
nattthebear
b964cf9447
bear minium hacks to hapics to get broken cores working
...
affected were bsnes, snes9x, and neshawk
2021-03-31 17:50:31 -04:00
Moritz Bender
2a09345a7e
Microsoft and their zip library can get bent
2021-03-31 17:36:09 -04:00
YoshiRulz
53b3dccb12
Fix missing import
2021-03-31 08:36:21 +10:00
nattthebear
a91fa2754e
clean up names in zipstater
...
We were using some sort of special malformed non-path seperator character to stand in for the path seperator character in in the lump names, and then compensating for that brokenness when loading lumps.
On save, we were relying in our zip library compensating for the brokenness.
2021-03-30 17:47:50 -04:00
Moritz Bender
6c2b72dd8d
Fix some TAStudio branch view issues ( #2686 )
...
* Fix exception, scroll to branch on updating branch and fix #2645
* Make loadbranch hotkey deselect all but one branch
matches updatebranch behavior and fixes part of #2645
2021-03-30 23:33:45 +03:00
feos
ca8c7a5427
break mame into subfiles
2021-03-30 23:26:41 +03:00
Moritz Bender
5743b0257d
Fix #2640 ( #2687 )
2021-03-30 13:51:28 -05:00
YoshiRulz
6f47492d95
Add haptics support to ControllerDefinition and the Controller stack
...
still no cores which support it, "Debug" is still hardcoded, still uses holding
Fast Forward hotkey to trigger
no idea how OverrideAdapter, or the IInputAdapters, or the Bk2/BkmController
will work, I've just thrown NotImplementedException from those
2021-03-30 10:06:26 +10:00
YoshiRulz
bb3fddcb5f
Allow configuring "keybinds" for haptic feedback (see desc.)
...
Open `Config` > `Controllers...` with any rom loaded and go to the last tab.
A "Debug" virtual channel is hardcoded, and will be present on every core.
As with the previous commit, holding Fast Forward causes this channel to fire
and it will be passed through to a bound host gamepad.
The prescale slider works. Virtual channels with a player number prefix also
work, but the single "Debug" channel without a prefix is hardcoded.
Caveats: Reopening the config dialog doesn't load the host channel back into the
combobox. It will save to config correctly.
2021-03-29 17:43:31 +10:00
YoshiRulz
6102db0e68
Wire up host haptics, hold Fast Forward key to test
...
DirectInput works, OpenTK 3 doesn't seem to actually support it even though the
method is present and has documentation -_-
2021-03-29 10:03:55 +10:00
YoshiRulz
bdfc54443f
Use props on GamePad/GamePad360 for pad prefixes
2021-03-29 10:03:50 +10:00
zeromus
d02863e491
Merge branch 'master' of zeromus-github.com:/tasvideos/bizhawk
2021-03-28 15:24:39 -04:00
zeromus
23c0928107
stop using exceptions for flow control
2021-03-28 15:24:28 -04:00
zeromus
99c8e4e910
I dont think GuiAPI should use the ScreenLogicalOffsets this way. Cores should be using this entirely internally -- either adjusting what they fill the framebuffer with, or communicating further data for how to display a limited section of the framebuffer offset to DisplayManager via IVideoProvider or similar but NOT via this. So why does ScreenLogicalOffsets exist? So that scripts can alter that setting. This is actually NOT A GREAT IDEA if you ask me because the same could be done via general PutSettings APIs. nevertheless, that's what we have. So anyway, I dont think when drawing via script we really need this value inspected.
2021-03-28 15:22:42 -04:00
feos
b89f14313e
fix syntax
2021-03-28 20:59:12 +03:00
zeromus
ac349af9f5
stop using exceptions for flow control
2021-03-28 03:44:52 -04:00
YoshiRulz
927a8970d6
Use a nicer loop syntax in MainForm.ProcessInput
2021-03-28 08:48:00 +10:00
YoshiRulz
77e9197bcc
Encapsulate MainForm.ProcessInput to not use Controllers/InputManager
2021-03-28 08:48:00 +10:00
YoshiRulz
095de11f00
Inline Controller.NormalizeAxes and cleanup
2021-03-28 08:48:00 +10:00
YoshiRulz
04257ec676
Resolve TODO in Controller.NormalizeAxes
...
_axes and _axisRanges have the same keys, and should probably be one dict,
and _axisBindings has the same keys or a subset
2021-03-28 08:47:57 +10:00
YoshiRulz
b6f1afcce8
Enable nullable reference types in BizInvoke
2021-03-26 14:52:56 +10:00
YoshiRulz
23d8417ca8
Convert ParameterLoadInfo to a readonly struct
2021-03-26 14:52:55 +10:00
YoshiRulz
d43d8fc38c
Improve encapsulation of InvokerImpl
2021-03-26 14:52:55 +10:00
YoshiRulz
a6f1156012
Throw ObjectDisposedException from MemoryBlock methods after disposed
2021-03-26 14:52:55 +10:00
YoshiRulz
fabf518c73
Narrow constraint on generic GetDelegateForFunctionPointer ext. method
2021-03-26 14:52:55 +10:00
YoshiRulz
cbd875376e
Add and use FirstOrNull ext. method for collections of value types
...
This reverts commit 5567a42bb1
.
2021-03-26 11:26:52 +10:00
zeromus
5567a42bb1
don't depend on exceptions for flow control
2021-03-25 21:13:11 -04:00
YoshiRulz
c6dcb71d92
Remove goto from PCESoundDebugger.UpdateAfter
2021-03-26 10:43:20 +10:00
YoshiRulz
5daed21990
Remove goto from FilterProgram.Compile
2021-03-26 10:41:11 +10:00
YoshiRulz
40a0abc657
Replace Dictionary with List of ValueTuple in ArtManager
...
it was only used as a List of KeyValuePair anyway
I assume this was written before tuples
2021-03-25 19:31:56 +10:00
YoshiRulz
e9ce42bfe0
Remove the other goto from TexAtlas.PackAtlas
2021-03-25 19:20:21 +10:00
YoshiRulz
997df16487
Remove a goto from TexAtlas.PackAtlas
2021-03-25 19:20:21 +10:00
YoshiRulz
89c1406f5a
Minor refactorings in TexAtlas.PackAtlas
2021-03-25 19:20:21 +10:00
YoshiRulz
fc30b0bd26
Replace TexAtlas.PackedAtlasResults with List of ValueTuple
2021-03-25 19:20:18 +10:00
YoshiRulz
98c7db0274
Fix typo in TexAtlas.PackAtlas
...
This has been here since it was added in a2ba761ae
. I think it's never caused
problems because the two lists are the same in all cases where the method's
result is used (the single caller, ArtManager.Close, immediately checks the
result of this method and throws if multiple atlases are used).
2021-03-25 18:58:22 +10:00
YoshiRulz
3da01dbfce
Init LuaFileList/LuaFunctionList outside platform impl. and pass in
...
now init'ing the lists at construction instead of mutating them afterwards
2021-03-25 16:02:22 +10:00
YoshiRulz
ddef661eb2
Move attaching of callbacks from LuaConsole_Load to Restart
...
Y'know, where the thing they're being passed to is created... I don't think them
only being attached once was a problem, as one is also called from elsewhere and
the other is kinda useless
2021-03-25 15:43:20 +10:00
YoshiRulz
f7cacfab99
Inline methods from LuaFunctionListExtensions and cleanup
2021-03-25 15:20:47 +10:00
YoshiRulz
3b8f08b1b0
Create and use helper for changing core pref. when importing movies
2021-03-25 15:11:04 +10:00
YoshiRulz
3249ae202e
Pass MainForm as IDialogParent through to movie importers
2021-03-25 15:11:04 +10:00
YoshiRulz
2fad61e4b5
Don't set preferred core for GBA when importing .vbm, there's only one
...
this wasn't removed when we dropped VBA-Next
2021-03-25 15:11:04 +10:00
zeromus
b1602dae06
lua - actually send a comprehensible string over sockets instead of nonsense
2021-03-24 02:51:43 -04:00
James Groom
f5d21a8f68
Unification of modal dialogs for errors and such ( #2579 )
...
* Pass IDialogParent to IVideoWriter impls via ctor instead of param
* Refactor IDialogController/Parent, moving some of it to Client.Common
tl;dr: MessageBoxButtons.OK => ShowMessageBox/ModalMessageBox,
MessageBoxButtons.YesNo or .OKCancel => ShowMessageBox2/ModalMessageBox2,
MessageBoxButtons.YesNoCancel => ShowMessageBox3/ModalMessageBox3.
Possible breaking change: Cheats had `Owner ?? this` as its "self", which I
think parented any modals it opened to MainForm instead of the Cheats window.
The Cheats window will be their parent now regardless. Other than that, all the
icons and stuff for all the other dialogs should be exactly the same.
* Remove WinForms dep from AV classes where possible
* Cleanup CoreFileProvider init, passing MainForm as IDialogParent
* Pass MainForm as IDialogParent to MovieSession
* Pass IDialogController through to one MovieZone ctor
* Use MessageBox helpers in RecordMovie
* Implement IDialogParent on misc. Forms to use MessageBox helpers
* Use MessageBox helper in misc. config Forms
* Pass IDialogController through to misc. Forms for MessageBox helpers
2021-03-23 19:08:32 -05:00
feos
fbfbda65ad
update mame lua api
2021-03-22 20:12:18 +03:00
zeromus
c252ac2934
blind fix to lua socket receive string which supports embedded nulls and probably fixes rarer cases where long codepoints got broken up. re #2671
2021-03-21 21:28:39 -04:00
YoshiRulz
fafa29a2bf
Add Lua function comm.socketServerSendBytes ( resolves #2194 )
...
takes a single param of an array-like table, casts each element to byte before
passing to ApiHawk
2021-03-22 08:15:53 +10:00
YoshiRulz
45488f2667
Change encoding for sockets to UTF-8, allow ext. tools to override it
2021-03-22 08:11:42 +10:00
nattthebear
f08fdc3859
Fix aspect ratio of intellivision
...
What the fuck was this? Someone went to the effort of entering in a value but expended absolutely no effort in checking it? Oh well. Fixes #2670 .
2021-03-21 09:43:26 -04:00
adelikat
0a643af6df
Hex Editor .tbl file loading - clear table before loading a new one, ignore empty lines in file
2021-03-20 22:45:20 -05:00
YoshiRulz
611d1bfaa1
Use UIHelper in FormsLuaLibrary ( resolves #2604 )
2021-03-21 08:23:31 +10:00
nattthebear
62ddd6495e
Tweak the rewinder. ( #2668 )
...
MainForm intentionally frame advances right after rewinding; this is so it can capture a new framebuffer. The old rewinder sort-of understood this, the new one does not.
Tweak the logic so the new rewinder behaves like the old one, but only when the interval is 1. When the interval is greater than 1, don't go farther back than we have to.
No particular behavior is guaranteed when nonlinear time exists (ie, rewinding through manual loadstates).
Fixes #2667 .
2021-03-20 12:05:19 -04:00
YoshiRulz
f0b9e2e828
Make PathEntry sealed, add constructor and use in PathEntryCollection
2021-03-19 10:33:10 +10:00
YoshiRulz
0b5f48aede
Replace some parameter mutation w/ recursion
2021-03-19 10:33:10 +10:00
YoshiRulz
c5e84ff02e
Create new project Bizware.OpenTK3 from Bizware.BizwareGL and EmuHawk
2021-03-19 07:32:29 +10:00
YoshiRulz
b1af3b1940
Move interface IBlendState to own file
2021-03-19 07:32:29 +10:00
YoshiRulz
f36fc654ca
Copy vector and matrix structs from OpenTK and cleanup
...
I managed to trim the > 5000 LOC of the original 4 files down to 400 LOC \o/
2021-03-19 07:32:29 +10:00
YoshiRulz
337b054042
"Inline" some vector and matrix operations
2021-03-19 07:32:29 +10:00
YoshiRulz
3dd03495e2
Copy enums from OpenTK
2021-03-19 07:32:29 +10:00
YoshiRulz
4a0e343c37
Copy DegreesToRadians method from OpenTK.MathHelper
2021-03-19 07:32:29 +10:00
YoshiRulz
7ff70de159
Split IGL.TexParameter2d into two methods
2021-03-19 07:32:29 +10:00
YoshiRulz
6fc43e9c22
Remove unused class BizwareGLExtensions
2021-03-19 07:32:29 +10:00
nattthebear
90d0e21863
Probably fix SNES core crash on load with CDL enabled, or formerly enabled. ( #2662 )
2021-03-12 23:33:59 +03:00
James Groom
43ba7f94dc
Fix SMSHawk's system ID ( #2650 )
2021-03-09 19:18:25 -06:00
zeromus
6f04ff6252
partly fix #2656 , I guess. This was a shortcoming in the architecture that allowed the joypad API developers to make a mistake. There will be other fallout from that, but this is the minimal fix.
2021-03-06 19:57:49 -05:00
YoshiRulz
3fb35b1599
Re-add enable/disable behaviour to background input config checkboxes
...
erroneously removed in 74ba28146
CBB linking the whole commit and revert history
2021-03-05 03:09:29 +10:00
YoshiRulz
513dbcfe5c
Fix compilation of DBMan ext. tool
2021-03-04 20:14:59 +10:00
YoshiRulz
6afb3be98c
Rewrite some expressions to avoid type checker edge cases
2021-03-04 20:11:18 +10:00
TiKevin83
28241e3042
fix autodetection of console mode
2021-03-04 02:04:45 -05:00
TiKevin83
b2893d24c6
Update Gambatte to fix RTC issues and output location of the DLL in the assets folder
2021-03-04 02:04:45 -05:00
TiKevin83
9ca1b86316
Update gambatte to support the wisdom tree mapper and fix upstream reference and links
2021-03-04 02:04:45 -05:00
YoshiRulz
2affc5bca7
Remove .\ and ..\ from PathConfig autocomplete
...
-_- this has been annoying me since I started contributing and I only just
learned the cause was in our codebase
2021-02-26 20:13:24 +10:00
YoshiRulz
e7512e57a0
Use global lookup for display names in path config
2021-02-26 20:07:34 +10:00
YoshiRulz
0e4e9a2840
Refactor PathConfig.DoTabs and helpers
2021-02-26 20:07:34 +10:00
YoshiRulz
b14ed4966f
Cleanup PathEntryCollection ctors, remove unused method Add
2021-02-26 20:07:34 +10:00
YoshiRulz
0fb9ef77e6
Less dumb #if DEBUG for ZX submenu
2021-02-25 16:59:46 +10:00
YoshiRulz
fece6cf7c4
Cleanup system IDs (see desc.)
...
* `Game Gear` was used instead of `GGL` for linked GG multi-disk bundles and
core constructor (I assume the latter was a hack to fix loading bundles made
with the former bug in effect)
* `Arcade` was used instead of `MAME` in rom loading ("Arcade" is also assigned
to an out param in the MAME ctor but I assume that's an intentional placeholder)
* `Saturn` was used instead of `SAT` in `GameSharkDecoder.CheatDomainName`,
making it non-functional (a comment said it was probably incorrect, so I'm
assuming that if it runs something will break and putting it in #if false)
* `G7400` was only used in firmware IDs, replaced with `O2`
* `Vectrex` was only used in firmware IDs, replaced with `VEC`
* `uzem` (core name) was used instead of `UZE` for MainForm title lookup, making
it non-functional
* `DNGP` doesn't exist
2021-02-25 16:45:55 +10:00
YoshiRulz
c11d410fb7
Remove IEmuClientApi.Get/SetInput and supporting types, and cleanup
...
what's a deprecation cycle
also -1k LOC whoo
2021-02-25 16:13:41 +10:00
YoshiRulz
ef0b380192
Autolock hack is nothing without autounlock hack
2021-02-24 11:12:27 +10:00
YoshiRulz
2859d6c45b
Inline the autolock hack and use it for both surfaces
2021-02-24 10:41:28 +10:00
YoshiRulz
cc7e440fba
Cleanup usage of Config.PreferredPlatformsForExtensions
2021-02-23 05:37:50 +10:00
YoshiRulz
4103a8bab2
Cleanup usages of FirmwareID fields
2021-02-23 02:20:27 +10:00
YoshiRulz
eee4915ddd
Add missing UI strings for firmware group headers
2021-02-23 01:51:47 +10:00
YoshiRulz
485817a8e4
Replace (string, string) w/ FirmwareID in nyma core ctors
2021-02-23 01:09:25 +10:00
nattthebear
cec46f1e65
Grumble grumble I need to learn more C#
2021-02-22 08:17:41 -05:00
YoshiRulz
d0c0b1fdb3
Bump version for dev builds
2021-02-22 21:18:24 +10:00
adelikat
bd31773d9e
Update version info
2021-02-21 15:22:17 -06:00
adelikat
d4dc260fc4
Tastudio - refresh view when middle-clicking to pause
2021-02-21 15:14:57 -06:00
YoshiRulz
a8b1e06e44
Make autolocking of ApiHawk surface less aggressive when used via Lua
2021-02-22 04:26:05 +10:00
nattthebear
d929891c97
Something something mapper 90 out of bounds
...
Closes #2632
2021-02-21 09:24:02 -05:00
nattthebear
13b7b43db6
Fix corruption in ZWinderBuffer when using Stream.ReadByte / Stream.WriteByte overloads ( #2630 )
...
The ZWinderBuffer implementations of Stream.ReadByte and Stream.WriteByte could process data incorrectly in certain circumstances. This had been broken since f4e98fd
.
ReadByte: When the first read from a state stream was a ReadByte, the underlying buffer would be in the wrong place
WriteByte: If a state was evicted and then the eviction was immediately followed by a WriteByte, the underlying buffer would be in the wrong place.
This impacts pretty heavily the rewinder and tasstatemanager for any core whose save and/or loadstate methods happened to use those methods.
2021-02-20 12:21:56 -05:00
zeromus
6b6637fbea
improve xinput availability check which was broken by pointless refactors in 580aa2eaf9
(but it should be even more robust than before, now). fixes #23
2021-02-18 21:52:30 -05:00
YoshiRulz
1fd888dcc9
Fix naming of GDIPlusGuiRenderer
2021-02-14 15:30:45 +10:00
YoshiRulz
ba88712b2b
Rename BizHawk.Client.Common.DisplayType to WatchDisplayType
...
we have aonther type with that identifier, BizHawk.Emulation.Common.DisplayType
2021-02-14 14:48:12 +10:00
YoshiRulz
34cb598fe2
Rename AttributeUsage enum to AttribUsage
...
as to not shadow [AttributeUsage]
2021-02-13 23:11:52 +10:00
YoshiRulz
dc3bd050da
Cleanup FirmwareManager
2021-02-12 17:10:21 +10:00
YoshiRulz
2f18c74840
Convert RealFirmwareFile to readonly struct
2021-02-12 17:07:43 +10:00
YoshiRulz
3a3cb0c30b
Convert FirmwareEventArgs to a readonly struct
2021-02-12 17:07:43 +10:00
YoshiRulz
5fa2c0ff26
Enable nullability for ResolutionInfo.cs
2021-02-12 17:07:43 +10:00
YoshiRulz
a41fc1f1ce
Convert FirmwareRecord to a readonly struct
2021-02-12 17:07:43 +10:00
YoshiRulz
2e52827bc1
Convert FirmwareOption to a readonly struct
2021-02-12 17:07:42 +10:00
YoshiRulz
af7ed156e9
Convert FirmwareFile to a readonly struct
2021-02-12 17:07:42 +10:00
YoshiRulz
10ed0872a4
Add and use FirmwareID struct
...
decided not to propogate to cores yet, left TODOs in Emulation.Common.Extensions
2021-02-12 17:07:42 +10:00
YoshiRulz
35f317a887
Split inner classes of FirmwareDatabase to own files
2021-02-12 15:52:45 +10:00
YoshiRulz
dd0fc1b0b3
Move FirmwareManager to new subdir, split inner classes to own files
2021-02-12 15:48:01 +10:00
YoshiRulz
b4be750427
Use direct casts for Control.Tag of known type in FirmwaresConfig
2021-02-12 15:44:36 +10:00
YoshiRulz
dbe2cd4cde
Cleanup <Reference/>s of NLua (and System.Data.SQLite)
2021-02-12 13:59:40 +10:00
YoshiRulz
f8ba7ece7d
Have ControllerConfig not break when resized ( resolves #2611 )
2021-02-12 13:31:16 +10:00
zeromus
7f14991442
remove list of games in comments from that mapper. they were apparently all wrong; I have seen more updated data in nesdevwiki
2021-02-09 23:03:54 -05:00
zeromus
8254982003
neshawk: fix namco340 mapper's mirroring registers; fixes #2584 (wagyan land 2)
...
note: the nesdevwiki docs were a bit scrambled due to history. I found corroboration for my testing and updated the docs while fixing neshawk
2021-02-09 22:58:22 -05:00
YoshiRulz
f2ff5ea4ee
Move FirmwareDatabase helpers into ctor, prevent mutating collections
2021-02-08 13:19:23 +10:00
YoshiRulz
b2b5647e83
Use Option helper in FirmwareAndOption, then inline _OptionWork
2021-02-08 12:56:41 +10:00
YoshiRulz
144a8aafd0
Cleanup FirmwareDatabase init helpers
...
using the result of File in FirmwareAndOption is setting up for the next commit
2021-02-08 12:56:41 +10:00
YoshiRulz
6716c3fd8f
Inline FirmwareDatabase.LookupFirmwareRecord
2021-02-08 12:56:41 +10:00
YoshiRulz
33a788d74b
Don't populate 2 lists with the same data, move assertion to unit test
2021-02-08 12:56:41 +10:00
YoshiRulz
6db638236e
Hardcode uppercasing of firmware hashes, assert on format in unit test
2021-02-08 12:56:40 +10:00
YoshiRulz
4800fef65e
Cleanup dumb LINQ in FirmwareManager
2021-02-08 12:56:40 +10:00
YoshiRulz
7e2437b396
Typo fixes and other minor cleanups to FirmwareDatabase data
...
* fix desc+info of bad PSX BIOSes
* set FirmwareFile.Bad via param on File method
* use #if false instead of comment for what I assume is a debug BIOS for A7800
* I think a single '!' boi will make that one take precedence
* remove duplicate NDS BIOSes which were commented-out
2021-02-07 23:22:19 +10:00
YoshiRulz
b9e784e153
Replace broken hack with hardcoded data
2021-02-06 20:31:36 +10:00
YoshiRulz
643d7b12dd
Lock/unlock Lua drawing surface for event callbacks ( fixes #2595 )
2021-02-05 10:52:13 +10:00
YoshiRulz
9d1eaa6475
Prevent trying to use DirectInput on Linux ( resolves #2607 )
2021-02-05 07:06:17 +10:00
YoshiRulz
2b72eabdf9
Skip platform tests in CI
2021-02-03 12:38:47 +10:00
YoshiRulz
fb03771bb7
Simplify tests for GetRelativePath and MakeRelativeTo
2021-01-31 11:17:17 +10:00
YoshiRulz
68659055cb
Add Unix implementation matching docs for GetRelativePath, add tests
2021-01-31 10:54:42 +10:00
YoshiRulz
f26ba1dca5
Add tests for most of PathExtensions
2021-01-31 10:16:17 +10:00
YoshiRulz
6858a36552
Fix Unix implementation of GetRelativePath; expand on docs
2021-01-31 10:16:13 +10:00
YoshiRulz
20b93d4690
Fix Windows implementation of IsSubfolderOf
2021-01-31 10:16:08 +10:00
YoshiRulz
7763d7a1cd
Fix Unix implementation of IsSubfolderOf
2021-01-31 10:16:03 +10:00
YoshiRulz
ec80d0fb1d
Add prop OSTailoredCode.IsWSL
2021-01-31 10:15:58 +10:00
YoshiRulz
cb6f435f9a
Refactor Lua forms.setproperty
...
see #2602
2021-01-31 09:39:15 +10:00
YoshiRulz
7a91e54b7b
Set DialogResult in AutofireConfig
...
see #2599
2021-01-31 09:39:00 +10:00
YoshiRulz
4da8a85f8c
Fix missing access modifiers and misc. code style
2021-01-31 09:36:40 +10:00
zeromus
f76f3d7eed
add note about how limited the single instance commandline is
2021-01-27 04:28:14 -05:00
zeromus
e57f4427b3
Revert "Grey-out checkbox for single-instance mode in Config > Customize..."
...
This reverts commit 496d6e0f94
.
2021-01-27 04:26:04 -05:00
zeromus
2d847df848
nobody left a note about why this is needed for five years, so I decided it wasn't needed. It was added with fd6ac896
and seems to be related to the log console, which seems to work fine without it
2021-01-27 04:25:04 -05:00
zeromus
d7ea21d0b6
redo single instance mode from scratch ( fixes #2594 )
2021-01-27 04:24:51 -05:00
YoshiRulz
4f1b240065
Temporary fix for GetRelativePath arguments until I can debug
...
see f79b7e5be
, db74bd842
2021-01-26 12:48:30 +10:00
alyosha-tas
db74bd8426
revert f79b7e5
, fixes multi disk bundler. This works on Windows, maybe linux needs a different implementation, but GetRelativePath appears tailored to Windows and had been working fine the original way.
2021-01-25 18:09:25 -05:00
alyosha-tas
a759e26265
genesis vdp viewer, fix copy paste error, fixes #2596
2021-01-24 19:12:34 -05:00
YoshiRulz
416e9ffbb3
Fix code style (import order)
2021-01-25 06:07:39 +10:00
nattthebear
adca19c30a
Remove icsharp ( #2590 )
...
Since .NET 4.5, there's been a good framework alternative, and it gets lots of eyes on it. I've heard that it's quite fast in .NET Core too.
2021-01-23 09:14:51 -05:00
YoshiRulz
e24709f8fb
Remove redundant attr class VideoWriterIgnoreAttribute
2021-01-23 17:12:31 +10:00
YoshiRulz
a149b7e033
Cleanup instantiation of FFmpegDownloaderForm and FFmpegService
2021-01-23 17:01:54 +10:00
YoshiRulz
73a780674d
Add tests for decompressing/extracting archives
2021-01-22 08:22:58 +10:00
YoshiRulz
acc187008f
Fill out SharpCompress archive file ext. list, adding .tar
...
SharpCompress claims to support .tar.bz2, .tar.gz, and .tar.lz, but I couldn't
get them to work. Left them in for later
2021-01-22 08:20:04 +10:00
YoshiRulz
0f21944755
Fix NRE when enumerating archive members to HawkArchiveFileItems
...
SharpCompress does this for .tar.gz it seems
2021-01-22 08:18:57 +10:00
YoshiRulz
0fd7154eec
Fix false positives, non-.tar flagged as .tar, from SharpCompress
...
Technically, the magic bytes are only found in modern revisions of the format,
but I'd say >99.9% of .tar archives we'll encounter are made with either
libarchive's bsdtar or GNU Tar.
2021-01-22 08:08:07 +10:00
YoshiRulz
b4445c6f8f
Make SharpCompressArchiveFile throw on double Dispose
2021-01-21 22:54:34 +10:00
nattthebear
dbe0229810
Use SharpZipLib for lsmv import instead of hawkfile ( #2589 )
...
Use the same library and ideas that savestate and movie loading use.
2021-01-21 07:50:50 -05:00
YoshiRulz
99d027cc63
Fix code style in dearchiver impl
2021-01-21 20:55:07 +10:00
nattthebear
d3917de1b3
Make sound work correctly during clock throttle mode
...
Fixes #2580
2021-01-20 19:57:48 -05:00
zeromus
3c10a64fd5
re-enable .gz, apparently it works after all if you feed it a file that's actually a .nes.gz etc.
2021-01-20 15:51:02 -05:00
zeromus
6cc4b0e28f
SharpCompressArchiveFile: fix support for solid rar
2021-01-20 15:22:03 -05:00
zeromus
c5d908cc69
HawkFile: limit attempts to dearchive to files with extension .zip, .7z, .rar. fixes #2587
2021-01-20 15:20:55 -05:00
TiKevin83
95e1d5b956
Rename Alternate Sync ( #2586 )
...
* Rename Alternate Sync to describe what is alternate about it
* Add tooltip explaining Sync to Audio
2021-01-20 12:24:54 +03:00
YoshiRulz
1ccac956d8
Rearrange statements, preserving execution order
2021-01-20 16:34:25 +10:00
YoshiRulz
55e066a0cc
Use a consistent format for file extensions throughout HawkFile
...
also cleanup `Bind*` overloads
2021-01-20 16:31:09 +10:00
adelikat
bf5833a1bf
vecrex - report 50fps in play movie dialog
2021-01-18 17:24:16 -06:00
YoshiRulz
496d6e0f94
Grey-out checkbox for single-instance mode in Config > Customize...
2021-01-19 02:46:05 +10:00
YoshiRulz
6cffc9a7cd
Add core name and system readout to Emulation menu
2021-01-19 02:27:03 +10:00
YoshiRulz
a0ebb2f551
Ensure surfaces are unlocked when disposing of GuiApi
...
actually properly fixes #2571 for real this time
2021-01-19 01:14:49 +10:00
YoshiRulz
bba4286123
Dispose of disposable ApiHawk libs when reinitialising
2021-01-19 01:12:50 +10:00
YoshiRulz
5c89d0cb15
Cache ApiContainer instead of GuiApi in Win32LuaLibraries
2021-01-19 01:09:52 +10:00
YoshiRulz
253a24edd6
Pass tool.Config.PathEntryCollection instead of the whole tool
2021-01-18 14:49:31 +10:00
YoshiRulz
ef76d8510e
Cleanup project files
2021-01-18 09:26:51 +10:00
YoshiRulz
8331ac799b
Update default hotkey bindings to use new names ( fixes #2576 )
...
fixes e2ac1aca8
2021-01-18 09:06:04 +10:00
YoshiRulz
fa07dc898f
Remove single-instance feature (keeping config and UI)
2021-01-18 08:55:54 +10:00
adelikat
76b4ef6016
fix year in release date, doesn't matter for releases but dev builds might as well be accurate
2021-01-17 11:57:29 -06:00
James Groom
7749d02382
Refactor DisplaySurface locking as used by ApiHawk (and Lua) ( #2575 )
...
* Refactor how the "emu" drawing surface is automatically opened/closed
fixes #2571 again
`gui.DrawNew("native")` now throws (I will replace this with something better).
`gui.DrawNew("emu")` and `gui.DrawFinish()` do nothing but print warning
messages, for backwards compatibility. This removes the feature which allowed
scripts to draw as soon as they became enabled. It also removes the feature to
draw without clearing the surface, though that wasn't working.
* Reimplement drawing to "client" surface (see desc.)
Changed surface names in APIs to "emucore" and "client" (not in DisplayManager
yet because I can't be bothered).
Via ApiHawk, `IGuiApi.WithEmuSurface(Action)` has been replaced with
`IGuiApi.WithSurface(DrawingSurfaceID, Action)`, the first param being an enum.
Via Lua (or ApiHawk), pass an extra string param (`DrawingSurfaceID` enum for
ApiHawk) to each `gui.draw*` call.
To make it less verbose, omitting the param is treated as using the default
"emucore" surface, *unless* the helper `gui.use_surface("client")` had been
called, which persists the chosen surface until Lua restarts or it's
overwritten. (The same is done when using `WithSurface` in ApiHawk, though it's
cleared once `WithSurface` returns.)
Along with the new surface names, the old names are still valid in the `surface`
params and `gui.use_surface` for now.
* Propogate enum to DisplayManager, s/Lua/ApiHawk/ in DisplayManager
2021-01-17 11:16:48 -06:00
adelikat
58d24cd899
update release version and date
2021-01-17 10:44:21 -06:00
nattthebear
070cc59dbf
NES: Fix battery backup in certain bootgod identified games
...
If the wram with the battery backup on it is internal to the mapper asic, and not a separate ram chip, bootgod will have <chip battery=1> and not <wram battery=1>. Fixes #2570 .
2021-01-17 09:06:33 -05:00
YoshiRulz
b8a0720121
Remove old ext. tool attributes and the code using them
...
it just detected old tools and displayed a specialised error message
2021-01-17 23:44:34 +10:00
YoshiRulz
db7150642a
Remove ClientApi, deprecated in favour of IEmuClientApi
2021-01-17 23:35:05 +10:00
YoshiRulz
476eafc66f
Slightly change wording on prereq checker error message
2021-01-17 23:32:20 +10:00
YoshiRulz
742f182c32
Remove unnecessary clearing of dict entries in joypad Lua lib
...
this was done long enough ago (78d8effcf
) that I'm going to assume it was a
workaround for a problem which has since been fixed
2021-01-17 23:16:30 +10:00
adelikat
187cf46670
Revert "Repair the mental damage with ZwinderStateManager having a method called HasState that doesn't actually tell you whether it has a state"
...
This reverts commit 7204eeb533
.
2021-01-16 18:48:19 -06:00
nattthebear
7204eeb533
Repair the mental damage with ZwinderStateManager having a method called HasState that doesn't actually tell you whether it has a state
...
Reverts commit 4a58ff2a0c
and instead updates ZwinderStateManager to use what apparently is the correct (?) way to tell whether a state is had.
2021-01-16 19:26:06 -05:00
SuuperW
c218cf302f
MelonDS: fix system bus reporting itself as big endian when it isn't (and 4-byte read/write methods)
2021-01-16 13:59:31 -06:00
adelikat
de0d0d19e2
Revert "Remove GuiLibrary from Win32LuaLibraries ( fixes #2571 )"
...
This reverts commit 9cca7c4a31
.
2021-01-16 13:15:27 -06:00
adelikat
4a58ff2a0c
Tastudio - rework StateHistory integrity check to not use HasState() removing any possibility of a cache mismatch causing a false positive of a bad savestate
2021-01-16 13:15:02 -06:00
YoshiRulz
9cca7c4a31
Remove GuiLibrary from Win32LuaLibraries ( fixes #2571 )
...
Wrapping draw calls in DrawNew/DrawFinish is the responsibility of the script
author. This removes the feature which allowed scripts to draw as soon as they
became enabled. see also #2501 (still broken)
2021-01-17 04:25:45 +10:00
adelikat
c28a12a410
fix previous commit, new up a new state manager, also pop up a message to the user. Anyone can feel free to improve the error message
2021-01-16 11:12:20 -06:00
adelikat
2f6bbd155f
add natt suggestion of a try/catch attempts to load tasproj greenzone, puts a big ol piece of duct tape on the real problem but at least users can continue to use their file, fixes #2479 about as well as we can since we have no info as to how the greenzone got corrupted in the first place
2021-01-16 11:00:30 -06:00
SuuperW
97e4d42b7b
TAStudio macros: fix regression from commit 5bbdf2a
caused by bad order of operations (remove ?? operator entirely since we have already checked that the values exist)
2021-01-16 10:10:34 -06:00
SuuperW
dda09dd713
MovieZone: refactor constructors, reducing duplicate code (fixes regression from commit aa80c3a
)
2021-01-16 10:10:34 -06:00
SuuperW
2834f8aa39
TAStudio:
...
-Dis/enable recent macros menu along with other macro menu items.
-Remove redundant code from commit 350724a, make use of existing method.
-Fix regressions from commits 0d72cd9
and cb912be
in said method.
2021-01-16 10:10:34 -06:00
SuuperW
4d06fb1fde
TAStudio: don't rely on a broken instance of a tool form for macro saving/loading
2021-01-16 10:10:34 -06:00
alyosha-tas
5641757b98
Bounds check index on background color check, fixes #2572
2021-01-16 09:26:33 -05:00
SuuperW
26fb9b9694
InputRoll: fix comparing of cells with null column names
2021-01-15 17:47:57 -06:00
SuuperW
764f4ad81e
InputRoll: fix right-click cell selection (use OnMouseMove instead of a separate logic that was being used purely because MouseMove wasn't being triggered, display the new selection so the user knows what's up, invoke SelectedIndexChanged event)
2021-01-15 17:42:49 -06:00
YoshiRulz
3ccd10bb36
Add missing access modifier
2021-01-16 07:35:55 +10:00
SuuperW
f2747b31b0
add an option to capture the Lua without capturing the full OSD, when… ( #2527 )
...
* add an option to capture the Lua without capturing the full OSD, when recording an AVI
* revert designer changes from commit 146022c
not related to the new CaptureLuaMenuItem
* improve code readability
2021-01-15 15:03:46 -06:00
SuuperW
889d3262b1
Input roll scrolling ( #2528 )
...
* Change the BranchView's ScrollSpeed property to 1. The MarkerControl's is 1, and I assume that ScrollSpeed used to be pixel-based and the value of 13 is an accidental left-over.
* Standard behavior for scroll bars across a majority of other applications is for the up/down buttons to scroll 1 unit at a time while wheel may scroll multiple units at a time. So, do this. (Previous behavior was that both methods of scrolling would scroll by the same amount.)
2021-01-15 15:03:18 -06:00
SuuperW
b3e69782dd
Drive states2 ( #2542 )
...
* Expose new backing store type functionality for ZwinderBuffer.
* implement drive states for reserved states
* Include version numbers in Zwinder custom file formats, and for newer files rely on the separately loaded settings. With this, TempFile store types are supported when saving/loading.
2021-01-15 15:02:00 -06:00
SuuperW
6c5447f5da
ZwinderStateManager: Use the gap buffer for forced capture to avoid crowding the "current" buffer and thus reducing it's actual span of covered frames. ( #2569 )
...
also remove a redundant conditional
2021-01-15 14:54:47 -06:00
SuuperW
961e7f2808
move this piece of init code; fixes: opening TAStudio after starting a .tasproj would fail
2021-01-15 11:52:04 -06:00
SuuperW
302cda6d17
ZwinderStateManager: don't erase states that should be reserved!
2021-01-15 11:36:35 -06:00
SuuperW
69af966a2d
TAStudio undo history form: make use of TAStudio methods, so that rewinds necessary to stay inside the greenzone happen. (also refresh after "to here" un/redo)
2021-01-15 11:16:23 -06:00
SuuperW
b6d77586af
Do not attempt to remove what isn't there. (fixes: removing a marker before a state was reserved would throw an exception.)
2021-01-15 09:38:08 -06:00
nattthebear
6424e35c6a
Revert "Replace unnecessary init props w/ ctors, remove hack for init props"
...
This reverts commit af8a330422
.
I like the `init;` feature in modern C# and see it as an improvement on constructor parameters for initializing immutable "data" classes. Feel free to disagree in code you maintain.
2021-01-15 08:47:09 -05:00
YoshiRulz
dd39e95be6
Fix passing the wrong string as param for Bk2LogEntryGenerator ctor
...
fixes 0d2f01462
, see #2567
not sure if the fallback in LogGeneratorInstance is a good idea but it works
2021-01-15 22:44:39 +10:00
YoshiRulz
85f24ca486
Remove file extension check from SharpCompressDearchivalMethod
...
caused .lsmv to not be recognised (it's .zip), wasn't strictly necessary anyway
2021-01-15 22:14:43 +10:00
YoshiRulz
af8a330422
Replace unnecessary init props w/ ctors, remove hack for init props
2021-01-15 21:39:43 +10:00
alyosha-tas
7f0947108c
Fix importing DSM files, fixes #2114
2021-01-14 21:32:47 -05:00
nattthebear
7a5408995e
sameboy: a bit more cleanup with the printer callback
2021-01-14 19:24:06 -05:00
nattthebear
6981dc781b
Make a few small GBHawk cleanups I forgot from the other commit
...
No need to preemptively LockGPU before calling a scanline callback, that all Just Werkz now.
2021-01-14 19:20:20 -05: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
e71506ac6a
Refactor OpenTK gamepad management (the static stuff)
...
maybe fixes #2429
2021-01-15 05:39:24 +10:00
YoshiRulz
d2fb794340
Pass forced core through other paths in RomLoader
...
fixes c0b6bf61b; not sure if this matters currently (PCE-CD maybe?) but it may
become important if we add more alternate cores
2021-01-15 04:33:14 +10:00
alyosha-tas
e65e77e7cd
GB GPU Viewer: Bounds check tile drawing for OBJ window, seems to resolve random crashing
2021-01-14 09:50:46 -05:00
YoshiRulz
c0b6bf61b1
Pass through queued movie's Core header to RomLoader and load only it
2021-01-14 03:52:32 +10:00
alyosha-tas
428e2fe006
GBHawk: Onl save audio cycles in SubGBHawk where it's needed, fixes state integrity checker in TAStudio
2021-01-13 09:11:40 -05:00
alyosha-tas
72e8fa031e
Fix for state gap when frame advancing and painting input ( #2563 )
...
* Fix for state gap when frame advancing and painting input
* simplify
2021-01-12 20:32:44 -06:00
nattthebear
39c0011d09
Move around some error messages
...
See #2561 . From the point of view of romloader, this is all pretty simple: It asks for a particular settings type. It should either get null back (indicating there was nothing, use defaults), or an object of that type. Providing a completely unrelated type is baloney. So this check here is a stupid defensive check that shouldn't be needed. MainForm cannot be trusted.
2021-01-12 09:32:58 -05:00
alyosha-tas
47c98c6a5e
GBHawk: fix debugger disassembler
2021-01-10 14:02:01 -05:00
YoshiRulz
f79b7e5be4
Fix order of arguments to GetRelativePath
...
These have been backwards since the feature was added (5f2e2f39b
). Does the
Windows implementation of GetRelativePath not return weird results?
2021-01-10 22:43:40 +10:00
YoshiRulz
ea0d6b04d8
Fix code style
2021-01-10 19:30:18 +10:00
alyosha-tas
bcee6d4d39
Fix syncless recorder
2021-01-09 22:20:16 -05:00
alyosha-tas
a67d01f04d
Update cheat inde on button press: Fixes #2550
2021-01-09 20:05:10 -05:00
nattthebear
75a655fdd8
Fix screwup in romloader xmlgame handling
...
This may have only affected Saturn in practice. Whoops! Fixes #2557 .
2021-01-09 11:45:16 -05:00
YoshiRulz
9ed56cdc6e
Remove cached global ICodeDataLogger (emu core) in CDL ( fixes #2553 )
...
fixes 234642ed0; this was never going to work because the setter will only be
called by `ServiceInjector.UpdateServices` during a core restart, at which time
the previous core should already have been `Dispose`d. If you want to call
`.SetCDL(null)` on the core when restarting (even though closing the CDL window
already does that three times?), do it in the core's `Dispose` implementation.
2021-01-09 23:13:36 +10:00
YoshiRulz
71ad6deff3
Ensure existing global IEmulator is disposed when reassigning it
2021-01-09 23:02:22 +10: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
0272684cdf
Fix domain names in GBHawk CDL ( fixes #2552 )
...
fixes 7e00b7892
2021-01-09 02:55:14 +10:00
nattthebear
5a8c58de3c
Look mom, I'm using the new C#
2021-01-08 08:52:24 -05:00
nattthebear
cbdcba9643
Fix BS93 garbage
...
Probably. Not sure what this does anymore, but 4 is right and 6 is wrong.
2021-01-06 11:20:37 -05:00
YoshiRulz
0ea597ded5
Fix GBA Game Shark code conversion ( fixes #2545 )
2021-01-06 18:47:05 +10:00
YoshiRulz
fa5ed36f63
Add boilerplate for unit testing GameSharkDecoder
...
should fail without the following commit
2021-01-06 18:46:36 +10:00
YoshiRulz
ab3846906f
Use type checks for DecodeResult/InvalidCheatCode
2021-01-06 17:25:05 +10:00
YoshiRulz
966b8a974a
string.Trim doesn't remove NUL
...
I'm also skeptical of the `if (bs93/*=br.ReadBytes(6)*/ == "BS93") { ... }` just
after this, it doesn't seem the condition can ever be met...
2021-01-06 16:54:23 +10:00
YoshiRulz
c1a734a04d
Update the NuGet deps which should be safe to update
2021-01-02 20:31:54 +10:00
YoshiRulz
4e668612c7
Convert LoadCueJob.TrackInfo to a readonly struct
2021-01-02 20:15:17 +10:00
YoshiRulz
84a6c5a426
Convert CUE_File.Command.* to readonly structs with a superinterface
2021-01-02 20:05:06 +10:00
YoshiRulz
277f57eebd
Convert CompileCueJob.CompiledCueIndex to a readonly struct
2021-01-02 18:35:00 +10:00
YoshiRulz
d87066c634
Convert Blob_ECM.IndexEntry to a readonly struct
2021-01-02 18:14:12 +10:00
YoshiRulz
bb1f7da864
Remove duplicate class Blob_WaveFile.Blob_RawFile
2021-01-02 17:52:23 +10:00
YoshiRulz
449130e081
Move inner classes of Disc up a level, make Disc not partial
2021-01-02 17:40:39 +10:00
YoshiRulz
e24c4c3971
Move CDFS (iso-parser) to new external project, update upstream info
2021-01-02 17:34:13 +10:00
YoshiRulz
333cae15cd
Convert IN_* props of jobs to ctor-initialised readonly fields
2021-01-02 16:10:57 +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
SuuperW
021d8e6e92
Fix: LuaSandbox wasn't reverting current directory after sandboxed operations. Appears to be a regression from commit 5e89e56
.
2021-01-01 06:34:05 -06:00
alyosha-tas
89c69c382c
GBHawk: implement LCDC write glitch for gbc-acid-hell
2020-12-30 19:31:30 -05:00
YoshiRulz
90c0214d5e
Add prop IMemoryApi.MainMemoryName, further delegate mainmemory lib
2020-12-30 16:02:05 +10:00
YoshiRulz
1619b33e8e
Fix overlapping/duplicate controls in FirmwaresConfig's menu on Mono
2020-12-30 01:25:30 +10:00
YoshiRulz
a80dbfa76b
Fix crash when clicking on column headers in FirmwaresConfig on Mono
2020-12-30 00:07:47 +10:00
YoshiRulz
d0edf350f2
Finish my nullability pass over ControlExtensions.cs
2020-12-30 00:03:39 +10:00
YoshiRulz
2de32ed59a
Move more sound classes to Client.Common
2020-12-29 17:04:02 +10:00
YoshiRulz
9cfe9485ef
Fix covariant arrays (passing ASupertype[] where AType[] is expected)
2020-12-29 16:53:31 +10:00
YoshiRulz
206a3e30c8
Cleanup instantiation of FirmwaresManager and PathConfig
...
and remove unused MainForm interface prop
2020-12-29 16:26:01 +10:00
YoshiRulz
18ebfecc97
Move GuiApi (impl.) to Client.Common
2020-12-29 15:53:47 +10:00
YoshiRulz
7edf3b36ad
Extract a tiny interface from DisplayManager for ApiHawk
2020-12-29 15:52:57 +10:00
YoshiRulz
0704db5940
Move OSDManager to Client.Common and move types to own files
2020-12-29 15:40:13 +10:00
YoshiRulz
23a8387dc1
Replace IBlitterFont w/ the type wrapped by its sole inheritor
2020-12-29 15:36:37 +10:00
YoshiRulz
47670714b5
Remove WinForms dep from GuiApi (impl.)
2020-12-29 15:08:01 +10:00
YoshiRulz
8e67d82bd5
Rename file to match type name
2020-12-29 15:00:55 +10:00
YoshiRulz
f431faf65c
Move some DiscoHawk logic to Emulation.DiscSystem
2020-12-29 15:00:25 +10:00
YoshiRulz
1a21765be6
Fix assembly resolution in DiscoHawk on Mono
...
without this the program wouldn't open at all, I assume all of its actual
functions will just workTM now
2020-12-29 01:33:57 +10:00
YoshiRulz
a0c7e9c7fb
Fix non-string resource in DiscoHawk
2020-12-29 01:26:56 +10:00
YoshiRulz
c0cf40b68e
Check for MAME's lib before instantiating the MAME core ( fixes #2538 )
2020-12-29 01:04:36 +10:00
nattthebear
f4e98fd9bd
Refactor ZWinderBuffer to allow use of arbitrary backing Streams ( #2536 )
2020-12-27 18:36:42 -05:00
YoshiRulz
bcf5347823
Use C# 9 improvements to switch / "pattern matching"
2020-12-28 00:07:06 +10:00
YoshiRulz
96f9e8f6e4
Encapsulate MessageBox.Show using IDialogController and some helpers
...
a lot of the calls to `DialogController.ShowMessageBox` from `ToolFormBase`
inheritors could be replaced with `this.ModalMessageBox` (i.e. add self as
parent window)
2020-12-28 00:03:00 +10:00
YoshiRulz
9cafddb1e0
Minor cleanup to improve readability
2020-12-28 00:00:39 +10:00
SuuperW
a928d1887f
fix: Attempted to evict state 0, and attempted to modify collection while enumerating
2020-12-25 09:59:32 -06:00
YoshiRulz
62f90f11f2
Make anything inheriting FormBase slightly less ugly on Linux
2020-12-26 00:44:21 +10:00
alyosha-tas
515f5cf9b0
GBHawk: update RAM state for GBA mode
2020-12-24 19:45:44 -05:00
YoshiRulz
42fc895e12
Update EmuHawk project file
...
these files were removed in b9b1e2d23
2020-12-23 16:46:03 +10:00
YoshiRulz
b9b1e2d237
Move Quantize to new external project, update upstream info
2020-12-23 16:37:47 +10:00
YoshiRulz
faba9035b7
Update attribution of ported code
2020-12-23 15:55:50 +10:00
alyosha-tas
28c35a6274
GBHawk:set initial HRAM to 0, this provides consistent sync when clearing RAM on console, where as 0xFF does not
2020-12-22 20:20:00 -05:00
YoshiRulz
60d2bfa85c
Bump C# language level for ReSharper/Rider
2020-12-22 20:07:35 +10:00
YoshiRulz
b9c9144358
Fix new dep not being copied to output, causing crashes
...
fixes 1e37350e9
I already fixed this before pushing but forgot to stage it
2020-12-22 19:57:55 +10:00
YoshiRulz
1e37350e99
Use NuGet package instead of copy-pasted code in BizwareGL/Borrowed
...
Our copy was equivalent to version 1.0.0 + a patch which allowed Stream instead
of requiring a filename, so I've used 1.0.2 as it has the author's
implementation of the same feature.
There are more recent versions available (note, 1.0.2 isn't for .NET Core).
NuGet: https://www.nuget.org/packages/Cyotek.Drawing.BitmapFont
Project repo: https://github.com/cyotek/Cyotek.Drawing.BitmapFont
2020-12-22 19:48:50 +10:00
YoshiRulz
a5fd5f5d78
Return the tool from IToolApi.GetTool instead of its type
...
also affects Lua client.gettool; this has been broken for quite a while
2020-12-22 18:47:32 +10:00
YoshiRulz
5a098055d7
Fix Lua client.createinstance calling the wrong ApiHawk method
...
fixes e6cb74d31
2020-12-22 18:46:42 +10:00
YoshiRulz
03b4ae18e0
Move Virtual Pads schemata to Cores
2020-12-22 18:37:27 +10:00
YoshiRulz
790a09067e
Cleanup LINQ in VirtualpadTool.CreatePads
2020-12-22 18:34:27 +10:00
YoshiRulz
9124b0f3b5
Pass MessageBox.Show to Virtual Pads schemata as callback
2020-12-22 18:18:40 +10:00
YoshiRulz
0ff60220f7
Use enum to represent button images in Virtual Pads schemata
2020-12-22 15:35:26 +10:00
YoshiRulz
50b17096e1
Remove WinForms dep from Virtual Pads schemata
2020-12-22 14:07:28 +10:00
YoshiRulz
9168b59382
Add base interface for *CheckBoxEx and *RadioButtonEx controls
2020-12-21 16:58:49 +10:00
nattthebear
56b158e72a
minor comment clarification
2020-12-20 21:06:22 -05:00
SuuperW
b5b1e17851
Fix eviction logic for _gapFiller. (we were attempting to remove the wrong value from StateCache, and also weren't checking for reserved)
2020-12-20 18:06:50 -06:00
SuuperW
01bcf22802
Deal with this TODO. Removing from the StateCache here was removing extra frames. (frames between the old last gap frame and new last gap frame which were in another buffer)
2020-12-20 18:04:02 -06:00
nattthebear
55c08dc77f
Revert "misc cleanups in neshawk boards, mostly removing redundant else's"
...
This reverts commit 2b5d0b6219
.
A lot of these make things harder to read:
- Extra empty lines in large switch stacks mean they're more likely to go off one screen
- `if` and its condition on the same line is super hard to read, please never do that. (Are the extra empty lines an attempt to mitigate the above)
- Removing terenaries obscures intent, and now there's more copy paste than before
- """Redundant""" else clauses on if...return kept things nice and lined up.
That was a huge churning diff with no value; let's stop it from spreading.
2020-12-20 15:26:08 -05:00
SuuperW
3d84812341
add a Lua method to get inputs from the movie ( #2526 )
2020-12-20 13:16:28 -06:00
adelikat
2b5d0b6219
misc cleanups in neshawk boards, mostly removing redundant else's
2020-12-20 13:12:51 -06:00
nattthebear
374f646f75
CoreInventory tweaks
...
When constructing a core using ConstructorInfo.Invoke, any exceptions thrown by the core are packaged inside TargetInvocationExceptions. This has no value to us -- the fact that reflection is used is an implementation detail, and it breaks checking specific exceptions for specific information. Accordingly, consumers have to deal with e.InnerException checks. Fix this up so that we only expose the actual exception thrown.
In addition, undo a bad change in 6225e7854b
that made the entirety of CoreInventory nonfunctional.
2020-12-20 09:15:22 -05:00
adelikat
7bb5506ba8
remove 2 deprecated nes library methods (add/remove game genie), they were marked deprecated for enough releases that I think we can go ahead and remove them
2020-12-19 20:17:26 -06:00
adelikat
6225e7854b
a few cleanups in CoreInventory.cs
2020-12-19 20:07:09 -06:00
adelikat
68f9ac9730
remove unused usings in Emulation.Cores
2020-12-19 20:03:37 -06:00
adelikat
aaa1c8e7a8
AutofireController - remove autofire flag that was always true
2020-12-19 18:55:22 -06:00
adelikat
c730a78994
remove redundant null check before assigning null
2020-12-19 13:43:04 -06:00
SuuperW
ec5e88c808
fix: loading a tasproj wouldn't set autofire (despite the gui showing it did)
2020-12-19 13:42:10 -06:00
alyosha-tas
3cc9684ebd
GBHawk: better initial RAM state
2020-12-17 21:02:41 -05:00
adelikat
fe5655d1e3
misc cleanups in BizHawk.Common
2020-12-15 17:54:44 -06:00
adelikat
cb6ef03982
use explicit private/internal modifiers
2020-12-15 16:49:23 -06:00
adelikat
b83556fc6f
make fields readonly where possible
2020-12-15 16:00:55 -06:00
adelikat
213729550d
remove redundant array initializers
2020-12-15 16:00:55 -06:00
nattthebear
eeca40e072
libsnes: Cache region from core once at start
...
The region value in the comm struct is set once and then gets wiped out later. I don't know what wipes it, but so many things have their hands on that, it's not surprising. Someone knew about this and handled _mapper appropriately, but not _region.
Fixes #2503
2020-12-15 08:51:08 -05:00
alyosha-tas
a8e2a420f0
GBHawk: cleanup
2020-12-14 19:32:22 -05:00
alyosha-tas
08f1b69197
GBHawk: prep for future audio work
2020-12-14 19:30:22 -05:00
alyosha-tas
3df6dfb350
GBHawk: update clearing screen for subgbhawk and linked modes
2020-12-14 11:41:19 -05:00
alyosha-tas
b85e7cac2c
O2; set released to true
2020-12-14 11:40:23 -05:00
nattthebear
1c27943707
Make SNES rom memory domain writeable
...
Use at your own risk
2020-12-13 20:11:58 -05:00
nattthebear
fbee96c76b
GPGX: Allow writing to rom memory domains
...
Don't let the diff fool you, a massive amount of work went into making this possible.
2020-12-13 19:49:04 -05:00
nattthebear
72ea5ce866
Waterbox: Allow SEH unwinding through guest calls. ( #2519 )
...
The goal of the separate stacks was to allow this, but I never quite finished the job. Now, when a SEH exception (generally a Rust panic in a guest syscall handler, or a C# Exception in a callback) tries to unwind through guest code, it works. Note that we don't actually unwind the guest stack, as there's nothing useful to be gained from that; When an emulator core throws an exception like this, it should be considered completely hosed. Throw it out and get a new one.
There were two bugs stopping this from working.
First of all, we had custom thunks that lacked sufficient unwind information for RtlUnwind to get through. For the sysv <-> msabi adapter, this was fixed by making it regular Rust code instead of hand assembled junkus. So the compiler generates valid unwind information for all of that. Then we just JIT a small stub on top in the MsHostSysVGuest code, which needs no unwind information because it won't throw an exception itself and transparently passes execution to something with valid unwind information without invalidating that information. (NB: Clr JIT stubs use the same strategy.) For the host <-> guest stack transition code, a small hand generated unwind stub was added to interop.s that is registered with `RtlAddFunctionTable`. I've seen the unwind work successfully without this second set of unwind information, but better safe than sorry.
Secondly, our misuse of SubSystemTib caught up with us. It's an old field, allegedly from OS/2, that we repurposed to hold TLS information needed for the waterbox stack transitions. Most people think nothing uses it any more, but in fact if it's set to a non-NULL value, but doesn't contain valid information, `KERNELBASE!GetModuleFileNameW` will crash when it tries to get a module name from there. The fix here was to simply tighten up our usage of SubSystemTib: We were already nulling it out when returning from guest code, but not when calling back to host code in guest code.
Fixes #2487 . Unwinding of this sort has never worked well in waterbox; the reason why that issue is more recent is that the particular reproducing case of firmware didn't cause an exception in a callback in older code; the exception happened in pure managed code.
2020-12-13 19:12:16 -05:00
YoshiRulz
fa6fd88d62
Import and use OSTailoredCode in DiscoHawk program class
2020-12-14 06:40:06 +10:00
YoshiRulz
24f90c922f
Fix incorrect import
...
I blame Rider
2020-12-14 06:33:46 +10:00
adelikat
28f161ce18
remove unnecessary string interpolation in a few places
2020-12-13 12:12:42 -06:00
adelikat
10d4f66248
Hex Editor - some small cleanups
2020-12-13 11:44:10 -06:00
nattthebear
2f2f104e3d
Update nyma cores to Mednafen 1.26.1
...
See Mednafen release notes for full changes. Mostly just Sega Saturn stuff.
Closes #2464
Closes #2162
2020-12-12 10:50:18 -05:00
alyosha-tas
4447d5ddc7
GBHawk: bug fix, initial ram change, and double speed mode input dumping
2020-12-09 22:54:12 -05:00
Andrew Cook
58cbec6dd6
[PSX] Make Octoshock more debuggable ( #2508 )
...
* [PSX] Bodge in a system bus memory domain
Fixes: debugger window crashes when adding a breakpoint
* [PSX] Use Octoshock's built-in disassembler
* [PSX] Add support for execute memcbs to the core
* [PSX] Have memcbs include actual values
* [PSX] Use SafeHandles instead of raw pointers
* [PSX] Use core's internal peek and poke functions for System Bus
* [PSX] Move memory maps into IDebuggable impl to be next to memory map hooks
* [PSX] Revert using SafeHandles
* [PSX] Fire execution callback after trace callback instead of at end of fetch
2020-12-08 11:34:24 -06:00
alyosha-tas
e81fa92f80
GBHawk: forgot a commit
2020-12-08 11:04:03 -05:00
alyosha-tas
401d635afc
GBHawk: properly fade to white in GBC mode
2020-12-08 10:41:37 -05:00
zeromus
28af57de18
fix mistake in libsnes CARTROM-D CDL block
2020-12-07 15:55:15 -05:00
alyosha-tas
699fb1171c
GBHawk: more mode 1 work
2020-12-06 19:39:25 -05:00
alyosha-tas
a46ffefc77
GBHawk: mode 1 overhaul, fixes several bugs
2020-12-06 15:50:21 -05:00
zeromus
96aa3e85c0
libsnes - remove pointless registers
2020-12-05 23:37:16 -05:00
zeromus
f580773342
add CARTROM-DB and CARTROM-D blocks to libsnes CDL
2020-12-05 23:37:16 -05:00
alyosha-tas
b7c821f8d6
GBHawk: mode1 bug fix
2020-12-05 19:32:34 -05: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
YoshiRulz
98e2d494a2
Bump supported Windows versions
2020-12-06 07:12:27 +10:00
YoshiRulz
eeae3f023f
Merge Sound.Instance into MainForm.Sound and pass back to Program
...
now I don't have to feel bad about sweeping a global under the rug
2020-12-06 05:59:36 +10:00
YoshiRulz
cf901753ba
Update Lua libs' ApiContainer when updating services
...
I don't think this mattered unless the tool restart was triggered by reloading
the rom with client.reboot_core(), which in my defence has always been jank
2020-12-06 05:41:58 +10:00
YoshiRulz
febd4f1340
Remove unused prop EventsLibrary
2020-12-06 05:34:46 +10:00
YoshiRulz
ce7aa1ff64
Convert abstract class LuaLibraries to an interface
2020-12-05 07:51:14 +10:00
YoshiRulz
e42a021215
Move props from LuaLibraries to Win32LuaLibraries
2020-12-05 07:51:11 +10:00
YoshiRulz
c46719c602
Do type checks on LuaConsole.LuaImp
...
this is more safe than is strictly necessary but it's not really less code to
use a direct cast
2020-12-05 07:51:08 +10:00
YoshiRulz
bf116f3ecf
Inline LuaLibraries.RunningScripts
2020-12-05 07:51:05 +10:00
YoshiRulz
c3c02eaad3
Inline LuaLibraries.EnableUpdate/SupressUpdate
...
"suppress" isn't even speled corectly
2020-12-05 07:51:02 +10:00
YoshiRulz
e4a0175351
Extract interface from NamedLuaFunction
2020-12-05 07:50:59 +10:00
YoshiRulz
8f10ce66a6
Merge EventsLuaLibrary.RegisteredFunctions into Win32LuaLibraries
2020-12-05 07:50:56 +10:00
YoshiRulz
6aefa75cff
Add helpers for manipulating NamedLuaFunctions
2020-12-05 07:50:53 +10:00
YoshiRulz
3024bc0d0f
Inline some methods from EventsLuaLibrary into Win32LuaLibraries
2020-12-05 07:50:50 +10:00
YoshiRulz
a54aa0706d
Deprecate emu.getluacore in favour of new func client.get_lua_engine
2020-12-05 07:50:46 +10:00
YoshiRulz
f57897515e
Add prop EngineName to abstract class LuaLibraries
2020-12-05 07:50:43 +10:00
YoshiRulz
89a66563f1
Cleanup FormsLuaLibrary.WindowClosed and usages
2020-12-05 07:50:40 +10:00
YoshiRulz
d51f9c3e88
Use LINQ instead of dumb in FormsLuaLibrary implementations
2020-12-05 07:50:37 +10:00
YoshiRulz
30d9a8b458
Inline Designer and resource files for LuaCanvas
2020-12-05 07:50:33 +10:00
YoshiRulz
b541fe5b40
Use NLuaTableHelper for more conversion to/from LuaTable
...
also fix indexing that I broke in c8e10120d
2020-12-05 07:50:28 +10:00
YoshiRulz
46504b4880
Add and use more extensions for IDialogParent
2020-12-05 07:47:01 +10:00
YoshiRulz
b752b09d62
Implement IDialogParent in some more forms
2020-12-05 07:47:01 +10:00
YoshiRulz
8a6c7be6aa
Cleanup MainForm interfaces, move ShowDialogAsChild to extension
2020-12-05 07:47:01 +10:00
YoshiRulz
f0664ce018
Add and use interface IDialogParent
2020-12-05 07:47:01 +10:00
YoshiRulz
f0657b358d
Inline ShowHawkDialog
...
there were 8 unnecessary double-mutes where ShowHawkDialog was called with a
InputPrompt receiver
2020-12-05 07:47:01 +10:00
YoshiRulz
9d620116f3
Shoehorn IDialogController into ShowHawkDialog call chains
2020-12-05 07:47:01 +10:00
YoshiRulz
dd44ff7f6c
Ensure owner param of ShowHawkDialog overloads are never null
2020-12-05 07:47:01 +10:00
YoshiRulz
aad612593b
Add and use helper method DoWithTempMute (void and generic flavours)
2020-12-05 07:47:01 +10:00
YoshiRulz
cc4acd9c64
Move Start/StopSound calls from InputPrompt to callers
2020-12-05 07:47:01 +10:00
YoshiRulz
2295d47192
Add superinterface IDialogController for IMainFormForConfig/Tools
2020-12-05 07:47:01 +10:00
adelikat
e0c1fc4a4d
misc cleanups in Client.Common
2020-12-04 15:39:52 -06:00
BrunoValads
81ef9ed88b
GB layers ( #2490 )
...
* Fixed OBJ layer toggle message
(it was using the flag from BG toggle)
* Added hotkey option for GB Window layer toggle
* Added hotkey option for GB Window layer toggle
* GB object viewer prototype [Gambatte]
GPU Viewer add-on to display sprite tiles on the real position, just like what you have for the bsnes core
Has several issues:
- Drawing is identical to the current sprite display, so it doesn't have the transparency it should have;
- Drawing doesn't take priority into account, so overlapping is usually wrong;
- The drawing flickers, probably the way of refreshing (with `.Clear()`) is bad.
2020-12-04 14:37:36 -06:00
alyosha-tas
0aea6191ae
GBHawk: HDMA fixes and implement reads for GBC visualizer
2020-12-04 11:20:56 -05:00
YoshiRulz
a060c4e600
Fix building on non-AppVeyor machines without breaking AppVeyor
...
hopefully
2020-12-04 06:12:06 +10:00
zeromus
ec61aad159
as requested, try it with netcoreapp3.1
2020-12-03 14:05:00 -05:00
zeromus
0fda93acea
revert targetframework on bizhawk.tests too
2020-12-03 13:17:08 -05:00
YoshiRulz
c8e10120db
Encapsulate conversion to/from LuaTable, stop passing NLua to Lua libs
2020-12-03 22:54:47 +10:00
YoshiRulz
e69cab3297
Cleanup Win32LuaLibraries init
2020-12-03 22:15:07 +10:00
YoshiRulz
76f03a9508
Merge DelegatingLuaLibrary into LuaLibraryBase
2020-12-03 21:37:17 +10:00
YoshiRulz
d4349aefd4
Allow ext. tools to recieve an ApiContainer
2020-12-03 18:58:34 +10:00
YoshiRulz
608d7dcff8
Add ApiContainer prop to IExternalApiProvider
2020-12-03 18:46:07 +10:00
YoshiRulz
29bceb272f
Merge MouseWheelTracker from MainForm interface into InputManager
2020-12-03 18:35:24 +10:00
YoshiRulz
f6d465a1ac
Move InputApi to Client.Common project
2020-12-03 18:31:45 +10:00
YoshiRulz
6be371aadd
Use callbacks to get mouse pos+buttons to InputApi via InputManager
2020-12-03 18:14:49 +10:00
YoshiRulz
4ade496de5
Move EmuClientApi to Client.Common project
2020-12-03 17:59:30 +10:00
YoshiRulz
56c681ef0c
Use IWindowCoordsTransformer in EmuClient and Input API impl.
2020-12-03 17:50:13 +10:00
YoshiRulz
999df1b041
Extract interface IWindowCoordsTransformer from DisplayManager
2020-12-03 17:48:38 +10:00
YoshiRulz
6b30fb826c
Move ClientLuaLibrary to Client.Common project
2020-12-03 17:35:54 +10:00
alyosha-tas
cfbdde4cc7
GBHawk: more hdma improvements
2020-12-01 19:03:11 -05:00
YoshiRulz
239fa0b22c
Rename files of MainForm interfaces to match type name
...
oops
2020-12-01 02:51:28 +10:00
YoshiRulz
928ea057d8
Enable SA1137 and fix noncompliance (except in Cores)
...
"Elements should have the same indentation"
2020-11-30 21:36:48 +10:00
YoshiRulz
be36c60e9e
Enable SA1208 and fix noncompliance (except in Cores)
...
"System using directives should be placed before other using directives"
2020-11-30 21:26:36 +10:00
YoshiRulz
1a020ba0f5
Make the getters of the 6 ToolFormBase props protected
...
and it only cost a callback and a `public new` hack
2020-11-30 20:56:06 +10:00
YoshiRulz
85faec638a
Update or remove comments mentioning GlobalWin
2020-11-30 20:45:21 +10:00
YoshiRulz
bf968acd57
Move static GlobalWin.Sound to static Sound.Instance, mirroring Input
2020-11-30 20:42:23 +10:00
YoshiRulz
c3a7ec047f
Remove GlobalWin.Config by cleaning up Sound
2020-11-30 20:37:11 +10:00
YoshiRulz
0a9f93c433
Fix encapsulation of Config in FFmpegWriterForm
2020-11-30 20:30:26 +10:00
YoshiRulz
756f9f50e8
Use EmulationApi's config hack in ClientLuaLibrary
2020-11-30 20:19:27 +10:00
YoshiRulz
3b120e7184
Delegate ClientLuaLibrary.GetWindowSize/SetWindowSize to ApiHawk
...
the impls were the same but for getting the global config
2020-11-30 20:19:23 +10:00
YoshiRulz
a393c7d368
Remove weird double-updating of EmuClientApi
...
changes signatures in IEmuClientApi but they were never meant to be called
outside MainForm anyway
2020-11-30 20:14:28 +10:00
YoshiRulz
a1ccac4d67
Delegate ClientLuaLibrary.FrameSkip to ApiHawk
...
the ApiHawk copy was the bad one
2020-11-30 19:57:13 +10:00
YoshiRulz
7c85aee53b
Init global Input instance from MainForm ctor
...
* Input.MainFormInputAllowedCallback is now readonly, set in ctor
* call to Input.Adapter.FirstInitAll is also in the Input ctor
2020-11-30 19:48:25 +10:00
YoshiRulz
709d78d8e0
Use local var instead of GlobalWin.Config in Program
2020-11-30 19:30:15 +10:00
YoshiRulz
f314aa3d61
Pass global Config to BatchRun/BatchRunner
2020-11-30 19:24:17 +10:00
YoshiRulz
32f571144e
Encapsulate GlobalWin.Config access in Input
2020-11-30 19:21:13 +10:00
YoshiRulz
4e38028b49
Fix typo, global access when global is passed as param
2020-11-30 19:15:59 +10:00
YoshiRulz
453ea2b1bb
Pass globals to DisplayManager as with OSDManager
...
* moved initialisation of global `OSDManager` to `DisplayManager` ctor again
* `DisplayManager.UpdateGlobals` calls `DisplayManager.OSD.UpdateGlobals`
* goodbye `GlobalWin.Emulator` and `GlobalWin._mainForm` :)
2020-11-30 19:11:59 +10:00
YoshiRulz
c991babdce
Use MainForm instead of GlobalWin in Lua internals
2020-11-30 19:03:50 +10:00
YoshiRulz
3ccdfa8289
Pass MainForm to UI helpers instead of using GlobalWin.Sound
2020-11-30 16:44:27 +10:00
YoshiRulz
636a9a4735
Pass a callback to some sound internals to read the global IEmulator
2020-11-30 16:16:22 +10:00
YoshiRulz
6d22cdc15f
Pass global MovieSession from MainForm ctor to Program with an out param
2020-11-30 16:02:48 +10:00
YoshiRulz
3a7ca89311
Remove GlobalWin.InputManager
2020-11-30 15:58:50 +10:00
YoshiRulz
a83642fab2
Pass globals to OSDManager via ctor and new UpdateGlobals method
...
also instantiate OSDManager in MainForm and pass it to DisplayManager because
that's how we did it until recently and it's also just easier
2020-11-30 15:55:23 +10:00
YoshiRulz
b9a5c5796d
Pass global InputManager to remaining Virtual Pads controls
2020-11-30 15:43:33 +10:00
adelikat
e3f7519e15
replace unnecessary GlobalWin usage in BookmarksBranchesBox.cs
2020-11-29 22:04:00 -06:00
adelikat
792b317118
add Start/StopSound methods to IEmuHawkMainFormToTools interface and use it in tools instead of GlobalWin.Sound
2020-11-29 19:34:57 -06:00
SuuperW
ac93f28939
Do not attempt to report >100% seek progress. (This could happen if the user starts a seek which results in loading a savestate past the frame previously being seeked.)
2020-11-29 12:29:38 -06:00
SuuperW
e1186d9253
Remove this. It isn't necessary, and is a copy-pasted line from some converted code in commit 2535207a
.
2020-11-29 12:29:38 -06:00
adelikat
8d6cb7685e
TasClipboardEntry, move some logic to Tastudio, fix filename, and move to Client.Common
2020-11-29 12:25:26 -06:00
adelikat
8e70bece16
TAStudioClipboard - remove unused and dubious ToString() override
2020-11-29 12:16:51 -06:00
adelikat
ceade5be5a
move some logic from TAStudioLuaLibrary to TAStudio
2020-11-29 12:13:12 -06:00
adelikat
592cedba1d
make fields readonly where possible in EmuHawk project
2020-11-29 11:26:41 -06:00
adelikat
488409a2ad
MovieZone - remove usage of GlobalWin.Config
2020-11-29 10:57:50 -06:00
YoshiRulz
8bbd6b2d8b
Remove final reference to GlobalWin.Game by hacking an existing hack
2020-11-29 19:15:01 +10:00
YoshiRulz
f7a7b722c5
Pass globals to ExternalToolManager via ctor and Restart method
2020-11-29 19:06:45 +10:00
YoshiRulz
84f0d57fd5
Add restarting to ExternalToolManager, called when replacing Config
2020-11-29 18:58:12 +10:00
YoshiRulz
bed5142ddc
Make ExternalToolManager not static
2020-11-29 17:30:19 +10:00
YoshiRulz
d2c514bc51
Move more ApiHawk impl. classes to Client.Common
2020-11-29 16:50:31 +10:00
YoshiRulz
ebef47203d
Allow ApiHawk impl classes to have any param order in their ctors
2020-11-29 16:39:26 +10:00
YoshiRulz
1f9188da5e
Pass global Config and GameInfo to Emu and GameInfo APIs via ctors
2020-11-29 14:26:19 +10:00
YoshiRulz
85d4d5ed4d
Pass global InputManager to JoypadApi via ctor
2020-11-29 14:18:40 +10:00
YoshiRulz
8ad3ea9cc6
Move GlobalWin.GL to MainForm, passing it through from Program
2020-11-29 14:09:37 +10:00
YoshiRulz
7bf879c095
Explicitly pass first Config through SingleInstanceController
2020-11-29 14:05:23 +10:00
YoshiRulz
a34dde7c4f
Pass global IGL to DisplayConfig (and then to RetroShaderChain)
2020-11-29 13:59:30 +10:00
YoshiRulz
b26aa2e893
Rewrite GlobalWin.GL init with local functions
2020-11-29 13:50:49 +10:00
YoshiRulz
3150cc4493
Remove GlobalWin.IGL_GL, only init OpenTK when using that disp. method
...
also, if it's too old, dispose it before continuing with fallback
2020-11-29 13:50:49 +10:00
YoshiRulz
60022ab146
Move OpenTK configuration to dedicated static ctor
2020-11-29 13:50:49 +10:00
alyosha-tas
f38c75f06d
GBHawk: some accuracy improvements
2020-11-28 18:58:33 -05:00
adelikat
e0eb572e74
misc cleanups, mostly IDE nags, in files I had open
2020-11-28 14:32:05 -06:00
adelikat
bdf1838ac8
pass Config around to various AV writer and form classes, instead of using GlobalWin.Config
2020-11-28 13:57:40 -06:00
nattthebear
84002f1232
Make the menu items for FDS disk changing better named
2020-11-28 13:30:00 -05:00
adelikat
8550d2bd0d
fix previous commit, fix dependencies in PathConfig and remove usage of GlobalWin in FirmwaresConfig
2020-11-28 11:03:38 -06:00
adelikat
be8825fefc
GBPrefs/DGBPrefs - pass in dependencies
2020-11-28 10:53:27 -06:00
adelikat
342164d05c
ColorChooserForm - a bit of cleanup
2020-11-28 10:04:24 -06:00
YoshiRulz
3be90efd57
Make some GlobalWin props read from MainForm instead of the reverse
...
these props' setters were only called from MainForm
2020-11-28 23:28:32 +10:00
YoshiRulz
0899369d1a
Sort out the mess that is creating and updating the global Config
...
hopefully this kills a few subtle bugs re: `Config` > `Load Config`
2020-11-28 23:04:49 +10:00
YoshiRulz
3de87af5de
Pass MovieSession to APIs via ctor
2020-11-28 22:48:02 +10:00
YoshiRulz
c203edba17
Move prop GlobalWin.UserBag to global MovieSession
...
and weaken to IDict<K, V>
2020-11-28 22:39:13 +10:00
YoshiRulz
56df80bb5a
Move prop GlobalWin.OSD to global DisplayManager
2020-11-28 22:27:26 +10:00
YoshiRulz
b0b2b8fa63
Remove GlobalWin.DisplayManager, pass it through from MainForm instead
2020-11-28 22:10:48 +10:00
YoshiRulz
78daf4913d
Move ArgParser to Client.Common and split ParsedCLIFlags into own file
2020-11-28 21:45:52 +10:00
YoshiRulz
251f0e7af8
Move init of network helpers from ArgParser to MainForm ctor
2020-11-28 21:41:33 +10:00
YoshiRulz
1c1aa348cf
Add a new field to MainForm for _autoDumpLength
...
now ParsedCLIFlags can be properly readonly :)
2020-11-28 21:01:17 +10:00
YoshiRulz
35d6bca6c6
Cleanup ArgParser without changing usage
...
(apart from its init in the MainForm ctor)
2020-11-28 20:47:35 +10:00
adelikat
750e1d8980
Sounds.cs - pass in some dependencies instead of using GlobalWIn
2020-11-27 15:53:52 -06:00
adelikat
bae75157f2
remove some unnecessary GlobalWin usages
2020-11-27 15:09:04 -06:00
adelikat
0223c11504
cleanups
2020-11-27 15:07:10 -06:00
adelikat
e640b11e49
remove some unused methods in ToolFormBase
2020-11-27 15:00:28 -06:00
adelikat
e9ca84f8bd
remove GlobalWin.Game usage in ToolFormBase
2020-11-27 14:59:50 -06:00
adelikat
cd146c0f79
remove GlobalWin usage in HeaderEditor
2020-11-27 11:17:47 -06:00
adelikat
488c3def6a
misc cleanups, naming conventions, readonly modifier, pattern matching, explicit modifier, apparently visual studio nags about these things now
2020-11-27 11:06:35 -06:00
adelikat
a87f08379c
GB ColorChooserForm - simplify code, remove a GlobalWin usage for free
2020-11-27 10:33:42 -06:00
adelikat
2c7b2a530c
Remove GlobalWin usage in BmpView, and also use appropriate suffixes in various screenshot saving methods in various graphics tools
2020-11-27 10:25:30 -06:00
YoshiRulz
707dae93a7
Use MainForm's prop to get the global ToolManager in Win32LuaLibraries
2020-11-26 22:55:08 +10:00
YoshiRulz
2c086702c9
Pass global ToolManager to IToolApi impl via ctor
2020-11-26 22:53:27 +10:00
YoshiRulz
794c4b5b84
Pass global ToolManager to Console and TAStudio Lua libs on init
2020-11-26 22:41:46 +10:00
YoshiRulz
256f4d5b06
Make ConsoleLuaLib funcs not static, save callback on init of lib
2020-11-26 22:37:30 +10:00
YoshiRulz
9e0a3c0e34
Pass Lua Console log callback to LuaCanvas and replace static calls
2020-11-26 22:35:52 +10:00
YoshiRulz
72fd3f2fca
Replace static ConsoleLL.Log calls in FormsLL with LogOutputCallback
2020-11-26 22:31:27 +10:00
YoshiRulz
663e9cfbec
Add wrapper for Lua Console log callback and cleanup
2020-11-26 22:24:39 +10:00
YoshiRulz
939cd1bcaf
Add prop IToolApi.AvailableTools and use in ClientLuaLibrary
2020-11-26 22:12:19 +10:00
YoshiRulz
2e428ccc2e
Clean up GlobalWin.Tools assignment and usage in MainForm
2020-11-26 21:46:41 +10:00
YoshiRulz
8aab0d00cd
Move GlobalWin.ExitCode to Program
2020-11-26 21:41:54 +10:00
YoshiRulz
6dfb0a8af8
Move GlobalWin.DisableSecondaryThrottling to MainForm
2020-11-26 21:41:43 +10:00
YoshiRulz
f0843689ed
Clean up global GLManager instance
...
no code actually got run by the GLManager ctor so it should be fine to delay it
2020-11-26 15:42:07 +10:00
YoshiRulz
cdf562264c
Clean up global usage in DisplayManager
2020-11-26 15:22:19 +10:00
YoshiRulz
808ec64dba
Replace GlobalWin.FirmwareManager with MainForm prop
2020-11-26 15:08:15 +10:00
YoshiRulz
21b633c705
Move static IEmuClientApi prop from GlobalWin to ClientApi
2020-11-26 14:32:18 +10:00
YoshiRulz
0e2d35d6aa
Replace ClientApi event sub with direct call in MainForm
2020-11-26 14:29:11 +10:00
YoshiRulz
781976f18e
Pass EmuClientApi instance to MainForm when restarting in ToolManager
2020-11-26 14:24:03 +10:00
YoshiRulz
87a4f1186e
Make EmuClientApi.SystemIdConverter a static instance
2020-11-26 14:21:07 +10:00
YoshiRulz
9fc853d404
Pass more things through to ApiManager
2020-11-26 14:03:07 +10:00
YoshiRulz
4c9c985eed
Use IGameInfo instead of impl. in ApiHawk
2020-11-26 13:45:00 +10:00
alyosha-tas
389979b350
Movies: Still need this line for bk2 movies
2020-11-25 19:57:48 -05:00
alyosha-tas
cf297dacb5
GBHawk: bug fix
2020-11-25 19:05:33 -05:00
alyosha-tas
53efd448d2
GBHawk: clean up
2020-11-25 14:24:52 -05:00
alyosha-tas
78ca48251f
GBHawk: update HDMA implementation
2020-11-25 14:05:17 -05:00
YoshiRulz
13a8a602cf
Move SaveStateLuaLibrary to Client.Common
2020-11-25 19:48:06 +10:00
YoshiRulz
db63222f32
Use new _luaLibsImpl prop instead of LuaConsole.LuaImp via globals
2020-11-25 19:47:07 +10:00
YoshiRulz
a6d1c6595a
Pass LuaLibraries instance to Lua libs via ctors
2020-11-25 19:35:14 +10:00
YoshiRulz
f5752294ff
Simplify Lua lib ctors
2020-11-25 19:27:38 +10:00
YoshiRulz
a4e2e1ad3f
Move absract class LuaLibraries to Client.Common
2020-11-25 19:12:37 +10:00
YoshiRulz
6c05361cda
Move GuiLuaLibrary to Client.Common
2020-11-25 19:11:06 +10:00
YoshiRulz
20111fb4a2
Replace class Win32LuaLibraries.ResumeResult with tuples
2020-11-25 19:01:37 +10:00
YoshiRulz
fd4a534fa7
When restarting Lua, use a single ApiContainer for all Lua libs
...
fixes a7ffdd948
, 104c17e77
, 151911069
2020-11-25 18:04:02 +10:00
alyosha-tas
1afcbe3ab5
GBHawk: update bad SRAm access emulation
2020-11-23 19:41:10 -05:00
alyosha-tas
af38023ba8
GBHawk: open bus behaviour on locked SRAM
2020-11-23 17:06:49 -05:00
YoshiRulz
0093c16d79
Bump .NET SDK to 5.0.100, bump C# to 9.0
...
BizHawk.Tests executable needs to run in CI, but the 5.0 SDK image can't run
Core 3.1 apps somehow, so I bumped that too
2020-11-23 21:48:10 +10:00
YoshiRulz
be536c67de
Update OpenTK and OpenTK.GLControl to latest 3.x ( resolves #2471 )
2020-11-23 21:18:20 +10:00
alyosha-tas
4a76cc322e
GBHawk: some display bug fixes
2020-11-22 17:03:24 -05:00
alyosha-tas
8199e67770
GBHawk: more double speed mode timing work
2020-11-22 11:40:56 -05:00
YoshiRulz
bad08162e2
Restart Sound in MainForm instead of SoundConfig
2020-11-22 12:38:40 +10:00
YoshiRulz
edda120b07
Clean up some dumb in *SoundOutput ctors
2020-11-22 11:48:17 +10:00
YoshiRulz
9e5ab0706e
Move calls of static methods *SoundOutput.GetDeviceNames to a delegate
...
now only MainForm needs to reference *SoundOutput
2020-11-22 11:31:58 +10:00
alyosha-tas
bffe2078d4
GBHawk: More double speed mode work
2020-11-21 16:18:43 -05:00
alyosha-tas
cd7cc7f939
GBHawk: work on double speed mode
2020-11-21 13:49:28 -05:00
YoshiRulz
7596b97218
Add prop FormBase.BlocksInputWhenFocused to simplify some logic
2020-11-21 22:42:42 +10:00
YoshiRulz
e7f83cb492
Small cleanup of <NoWarn/> use in project files
2020-11-21 19:53:13 +10:00
YoshiRulz
e2a496c652
Cleanup OTK_Keyboard
2020-11-21 19:16:34 +10:00
YoshiRulz
e2ac1aca84
Add and use DistinctKey enum (copy of WPF's key enum)
2020-11-21 17:43:58 +10:00
YoshiRulz
641db1bcd7
Comment out unused field
...
was assigned to before refactor in fc92d3c63
2020-11-21 11:24:57 +10:00
alyosha-tas
0b8e4ab6b1
Movies: revert previous 2 commits, too many difficulties around movies in 'finished' mode
2020-11-20 19:20:55 -05:00
alyosha-tas
1fe1138a91
Movies: don't redo steps if movie finished
2020-11-20 18:11:38 -05:00
alyosha-tas
d676036359
Movies: reorder code so that record mode is not entered if state load failed
2020-11-20 17:25:01 -05:00
alyosha-tas
320ecc9093
Movies: Fix #4285
2020-11-20 16:09:58 -05:00
alyosha-tas
349092fec8
GBHawk; fix input when switching from playing a movie to recording another one
2020-11-19 13:59:33 -05:00
alyosha-tas
fc92d3c63e
Debugger: Fix scrolling in disassembly view
2020-11-17 19:54:43 -05:00
alyosha-tas
fa08b25d37
Virtual Pad analog stick: Fix changing x axis name , fixes #2467
2020-11-16 22:00:49 -05:00
alyosha-tas
7865fe2980
Movies: pass SRAM to emulator before state is made
2020-11-16 17:37:49 -05:00
zeromus
6873b1c291
discsystem - load 2352-byte aligned iso as mode2/2352 bins instead. will cause 1 in ~2000 cases of isos to fail in case they are honestly multiples of 2352 sectors. if anyone ever reports that I can possibly try it both ways and see if one can detect as a known disc type and use whichever one succeeds?
...
should "fix" #2478
2020-11-13 03:13:04 -05:00
nattthebear
ebf0f6685e
Fix playing a movie when core is not specified and core is not one we support switching of
...
#2476
2020-11-12 15:12:00 -05:00
alyosha-tas
a4507691b6
GBHawk: Overhaul HDMA emulation
2020-11-07 09:36:53 -05:00
alyosha-tas
2a92121483
GBHawk: refactor some ppu code to prepare for more accurate VRAm glitch emulation
2020-10-29 12:35:45 -04:00
alyosha-tas
bd3ee6f45c
GBHawk: don't clear timer/serial interrupts when they happen at the same time as a set
2020-10-24 21:46:31 -04:00
YoshiRulz
72511add3b
Add ctor to KeyEvent and make readonly struct
2020-10-23 11:10:49 +10:00
alyosha-tas
d7c59e8bd4
GBHawk: Fix behaviour of button pressed during STOP
2020-10-22 20:24:54 -04:00
YoshiRulz
3709968757
Map remaining DInput keys to OTK Unknown
2020-10-21 12:40:55 +10:00
YoshiRulz
4dab259412
Rewrite scan code list for DInput alt. mode
...
In 9d348c9c8
I copied these verbatim, but half of the non-alphanumeric keys were
wrong. I passed 0..0xFFFF to MapWin32VirtualScanCodeToVirtualKey to get what I
assume are the correct values, though it's possible they're per-machine, in
which case the whole alt. mode feature is broken. There are a few keys that
remain commented-out because I didn't find their scan code, notably numpad 0-9.
2020-10-21 12:25:40 +10:00
YoshiRulz
fa7811f848
Add Menu, Oem102, and Unknown to OTK, add Menu and Unknown to DInput
2020-10-21 12:09:44 +10:00
nattthebear
1f313b42c8
Change NES ideal framerates
...
These are used for realtime and recorded AV output. They match closely what the core actually does (not idealized values about what the NES framerate ""should"" be.)
Fixes #2460
2020-10-20 18:27:28 -04:00
YoshiRulz
58aa64b5d6
Add some missing keys to DirectInput alt-keyboard-layout mode
...
maybe THIS will fix the crashes
2020-10-16 14:45:46 +10:00
YoshiRulz
9d348c9c8b
Merge KeyboardMapping into KeyInput and cleanup
2020-10-16 14:14:12 +10:00
YoshiRulz
7f5e777f75
Move DirectX wrappers to new project
2020-10-16 07:30:26 +10:00
YoshiRulz
69a05641e7
Replace global config access in DirectInput wrapper with encapsulation
...
fixes b01f52c01; this required a whole lot of rearchitecting for one obscure
feature which will become obsolete with the move to .NET Core anyway, and I'm
not happy about it
2020-10-16 07:30:26 +10:00
YoshiRulz
02e0804712
Move some host input internals to Client.Common
2020-10-16 07:30:26 +10:00
YoshiRulz
4c8bdf9851
Add properties to IHostAudioManager for accessing global config
2020-10-16 07:30:26 +10:00
YoshiRulz
e1daa7efd3
Extract interface from Sound
...
The interface is a single method plus the four constants from the top of Sound,
which are now properties. The static methods in Sound are moved to extension
methods on the interface.
2020-10-16 07:30:26 +10:00
zeromus
447ae737f3
* don't clear ControllerInputCoalescer when rewiring input. it just collects physical input, there is no reason to unpress it. if you're holding a button, you want it held. the only exceptions would be in case a hotkey and controller input collided, in which case a prior hotkey press (which caused a rom to open or close) would then get handled as a controller input. this could be solved in some other way, probably (unpress hotkeys as soon as received?)
...
* resync controls after CloseRom
fixes #2453
2020-10-15 13:29:53 -04:00
YoshiRulz
35dadd75e6
Maybe fix alt-keyboard-layout mode crashes
2020-10-15 11:51:14 +10:00
alyosha-tas
d3cccf0c3c
GBHawk: multi cart check for bomberman selection
2020-10-14 17:53:53 -04:00
alyosha-tas
f7d96bdedb
GBHawk: Window timing bug fix
2020-10-14 14:40:09 -04:00
YoshiRulz
377c69032c
Really hide ISpecializedEmulatorService from CoreFeatureAnalysis UI
...
fixes 25b7be70b
2020-10-14 09:18:55 +10:00
YoshiRulz
25b7be70bc
Hide ISpecializedEmulatorService from CoreFeatureAnalysis UI
2020-10-14 08:43:41 +10:00
YoshiRulz
ed4ddb13ce
Add CoreInventory.SystemsFlat list and use in UI gen elsewhere
2020-10-14 08:39:26 +10:00
YoshiRulz
fca37ddccf
Refactor CoreInventory.Core creation
2020-10-14 08:25: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
alyosha-tas
e07944b0f1
GBHawk: sprite timing bug fix
2020-10-12 19:45:23 -04:00
alyosha-tas
5a96022f28
GBHawk: Window and sprite timing work
2020-10-12 18:14:36 -04:00
YoshiRulz
2991b69363
Cleanup <ProjectReference/>s
2020-10-12 08:37:47 +10:00
alyosha-tas
da6ea1ec9f
GBHawk: general clean up and minor bug fixes
2020-10-11 17:48:08 -04:00
YoshiRulz
24d07121e2
Bump version
2020-10-11 18:31:15 +10:00
adelikat
ab28dbc501
NesHawk - default to 1 plugged in controller, instead of 2, we want to consistently start cores with 1 standard peripheral
2020-10-07 10:57:32 -05:00
alyosha-tas
f0508df4ae
GBHawk: Fix alignment of sprite evaluation when window is activated
2020-10-05 23:27:42 -04:00
YoshiRulz
7d1133ff9c
Cleanup Timestamp ctor(String)
2020-10-06 06:54:12 +10:00
YoshiRulz
9bd25a1aa1
Move some sound internals to Client.Common
2020-10-06 06:39:57 +10:00
YoshiRulz
49ef7a7a55
Move some DisplayManager internals to Client.Common
2020-10-06 06:39:57 +10:00
YoshiRulz
adc1fefd14
Remove unused import
...
accidentally added in d1257e302?
2020-10-06 06:39:57 +10:00
alyosha-tas
a52c2e79aa
GBHawk: some window clean up and pass new scroll + sprite tests
2020-10-05 16:30:07 -04:00
adelikat
af5dfc454c
add in uzebox framerate
2020-10-04 16:30:45 -05:00
zeromus
f561e79489
add provision for saving mismatching state frames in tastudio integrity checker
2020-10-03 23:53:46 -04:00
nattthebear
6ee62023a2
Re-add M3U capability ( #2390 )
...
Only supports optical disks.
2020-10-02 00:32:56 -04:00
alyosha-tas
38838fa3c1
GBHawk: fix window latching, x-scroll only latching lower 3 bits, and MBC3 RTC reg behaviour.
2020-10-01 20:09:26 -04:00
alyosha-tas
7ebc3a3058
GBHawk: FiX serial port emulation (somewhat) and cleanup some minor bugs
2020-10-01 15:17:58 -04:00
YoshiRulz
60da770532
Replace goto without throwing
2020-10-02 04:19:01 +10:00
zeromus
f363acd16a
Revert "Replace goto" (goto is superior to throwing an exception in unexceptional codepaths)
...
This reverts commit f22f5b732b
.
2020-10-01 14:11:41 -04:00
YoshiRulz
f22f5b732b
Replace goto
2020-10-01 22:33:41 +10:00
YoshiRulz
ac5d53b44e
Code style: add explicit private modifier
2020-10-01 22:33:37 +10:00
YoshiRulz
03f82226cf
Cleanup GetRelativePath after move from MultiDiskBundler
...
fixes 5d001f3aa
2020-10-01 22:33:32 +10:00
nattthebear
7f4d29d0ff
Revert "resume m3u support by turning the m3u to an xml game and then loading that. fixes #2378"
...
This reverts commit 8da5525819
.
2020-10-01 08:17:30 -04:00
zeromus
8da5525819
resume m3u support by turning the m3u to an xml game and then loading that. fixes #2378
2020-10-01 03:40:19 -04: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
zeromus
3fd7e11f60
small improvements to MultiDiskBundler
2020-10-01 02:24:17 -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
alyosha-tas
7a4c5afce4
GBHawk: fix x-scroll latch and add some notes
2020-09-28 21:41:56 -04:00
RetroEdit
8449f9fcb8
Firmware Manager: replace unnecessary gotos
2020-09-28 15:34:28 +00:00
nattthebear
d3f1d0f6ac
Revert "Because the real GBA version of the GBC BIOS is quite obscure, a fallback is needed"
...
This reverts commit f3f70276df
.
2020-09-27 22:32:55 -04:00
TiKevin83
f3f70276df
Because the real GBA version of the GBC BIOS is quite obscure, a fallback is needed
2020-09-27 20:45:55 -04:00
zeromus
9884c93fbf
Revert "Revert "Change build path of executables to output/dll but gooder""
...
This reverts commit f078709b6b
.
2020-09-27 17:27:02 -04:00
zeromus
cfbc148975
fix GB and SNES graphics viewers (and maybe others) due to incorrect (non-100%) windows DPI scaling setting
2020-09-27 17:26:44 -04:00
zeromus
f078709b6b
Revert "Change build path of executables to output/dll but gooder"
...
This reverts commit bb0e92a830
.
I can't build again. e.g:
Unable to move file "..\..\output\BizHawk.WinForms.Controls.dll" to "../../output\dll/BizHawk.WinForms.Controls.dll". Cannot create a file when that file already exists.
We've failed twice now. Please give a rationale for why we have to move these files around.
2020-09-27 16:46:25 -04:00
YoshiRulz
96f4f24968
Fix weirdness in a specific rom loading scenario ( fixes #2024 )
...
Without this commit, choosing "Cancel" from a tool form's "Save changes?" dialog
(i.e. AskSaveChanges) while trying to load a rom from `File` > `Recent ROM`
would treat that recent rom as though it were missing. With this commit, an OSD
message is displayed instead.
This isn't the best fix. The return value from LoadRomInternal isn't even used
anywhere apart from LoadRomFromRecent, which is the only place the new out param
is used.
2020-09-28 05:10:40 +10:00
RetroEdit
3adcc26752
Simplify Gambatte's sync settings for selecting GBA ( #2431 )
...
Having GBA be a console mode is more straightforward for users to understand and a more logical way of arranging options. GBA is literally a console mode, not an additional modifier to a console mode.
2020-09-27 13:06:55 -05:00
adelikat
e4d4c3a9d8
Lua - tastudio library - supress lua console updates when invoking tastudio methods that cause tool udpates, fixes #2172
2020-09-27 12:59:16 -05:00
RetroEdit
b5cf9cb241
Restore Game Boy Pocket firmware to Acceptable
...
It does not have the same issues as early revisions of the GB/C boot roms
2020-09-27 17:13:41 +00:00
adelikat
32b7358f07
Macro tool - fix NRE on File -> Load Macro, fxies #2375
2020-09-27 11:16:18 -05:00
adelikat
32a20dcb3d
Tastudio Markers - scroll to newly added marker instead of assuming it is the last in the list and scrolling to bottom, fixes #2350
2020-09-27 10:54:09 -05:00
adelikat
c8a7c9d98f
Tastudio - Markers - remove some nonsense code
2020-09-27 10:41:33 -05:00
adelikat
7920d148be
InputRoll - auto-initialize MultiSelect to true, to match the DefaulValue attribute
2020-09-27 10:38:16 -05:00
adelikat
6a09bbce38
Branches - fix settings the designer barfed on in a previous commit, and a bit of cleanup
2020-09-27 10:35:58 -05:00
adelikat
cc66ba81c9
Tastudio - branches - disable toolbar buttons and menu items that need specifically 1 branch selected when multiple branches are selected
2020-09-27 10:23:51 -05:00
adelikat
a5884622c8
Tastudio - BookMarks - sanely handle updating toolbar buttons, fixes buttons not disabling when de-selecting
2020-09-27 10:15:19 -05:00
adelikat
a0943000a3
InputRoll - fire selected index changed event on DeselectAll()
2020-09-27 10:10:30 -05:00
adelikat
33c8808ee4
PSX - initialize with a single controller + memcard instead of two, to be consistent with other cores
2020-09-27 09:59:05 -05:00
adelikat
ad9a04d918
Lua Console - fix Session saving saving the session filename instead of the script filename, fixes #2400
2020-09-27 09:48:45 -05:00
adelikat
725cee8b62
Ram Search - persist Use Undo History, and also set it to true by default, fixes #2413
2020-09-27 09:32:34 -05:00
adelikat
63f9de42a7
Tas Profile - fix mistake of snes9x being the snes core instead of bsnes. Also turn off GBC in GBA setting, after discussing with tasvideos staff, this setting is specifically preferred to be false.
2020-09-27 09:10:15 -05:00
RetroEdit
cf58dd8ad1
Minor GB/C and PCFX firmware detection revisions ( #2430 )
...
Change the status of alternate GB/C firmware options to unacceptable. Quoting from CasualPokePlayer "Gambatte is definitely not emulating those cpus [dmg0 and cgb0]. So you would end up with quirks of newer cpus being combined with bootroms only present in older cpus."
Also fix what looks to be a longstanding typo where the PCFX BIOS v1.01 was not being properly detected.
2020-09-27 13:30:12 +00:00
TiKevin83
a932cce636
Revert "initial attempt at a firmware fallback for Gambatte's clean room patch"
...
This reverts commit be25ad0bc8
.
Meant to push this to a different branch for PR
2020-09-26 19:14:20 -04:00
TiKevin83
be25ad0bc8
initial attempt at a firmware fallback for Gambatte's clean room patch
2020-09-26 19:12:58 -04:00
YoshiRulz
bb0e92a830
Change build path of executables to output/dll but gooder
...
fixes 5ae13a230
, 49a18d83b
2020-09-27 02:28:42 +10:00
zeromus
49a18d83bf
I don't know what the fuck this is, and I don't care. If I can't open the sln and debug emuhawk, then it's broken.
...
Revert "Change build path of executables to output/dll"
2020-09-26 00:47:10 -04:00
alyosha-tas
bac502671f
GBHawk: rewok interrupt handling to pass more tests and behave like gambatte on Gensan 2
2020-09-25 20:19:53 -04:00
alyosha-tas
39f6668f18
dual gameboy: fix XML generation and core preference selection
2020-09-25 09:12:33 -04:00
alyosha-tas
7e7713c955
GBHawk: fix color displayed when BG is off
2020-09-24 17:26:50 -04:00
nattthebear
7ea7f75f50
Fix some arm disassembly stuff
...
Some random code which is trying to align columns or something gets pooped up because "BLX" has no second part
2020-09-24 14:52:28 -04:00
nattthebear
fe929c0c55
Fix SGB core picker which was broken ( #2422 )
...
* Fix SGB core picker which was broken
* Restore default SGB core choice of SameBoy
In 2.4.2 and before, SameBoy was implicitly the default, but this makes the choice more explicit and the core picker UI properly show the chosen core when nothing has been selected yet.
* Cleanup core picker UI gen
* Remove now defunct SgbUseBsnes option from Config
Co-authored-by: RetroEdit <30182911+RetroEdit@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2020-09-24 09:23:12 -04:00
nattthebear
757ac4e27e
Fix crash saving zwinder state manager when things align a certain way
2020-09-23 22:03:37 -04: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
1fdd2d5eb1
Import MainSlnCommon.props in MainSlnExecutable.props
2020-09-22 20:51:36 +10:00
YoshiRulz
5ae13a2309
Change build path of executables to output/dll
...
* post-build step moves .exes up a level, to output
* also fixed OpenTK.dll.config location
* also removed redundant step from packaging scripts
* future executables need to be capable of resolving assemblies in dll
2020-09-22 09:39:53 +10:00
YoshiRulz
000e2af543
Extract .props for executable projects
2020-09-22 09:33:53 +10:00
YoshiRulz
da26a18bf5
Remove redundant <AppendTargetFrameworkToOutputPath/>
2020-09-22 09:33:49 +10:00
YoshiRulz
877bb2ccea
Move Assets to output <Target/> to BizHawk.Common
2020-09-22 09:33:44 +10:00
zeromus
c64fb11d0d
dialogs shouldnt be opened without an owner. so give all them an owner. fixes #2420
2020-09-21 13:11:28 -04:00
YoshiRulz
fb5a5ed78c
Add libdarm.so, migrate Darm class to BizInvoker
...
`Tools` > `Debugger` no longer crashes immediately on Linux with mGBA core
2020-09-21 01:38:09 +10:00
Moritz Bender
e5d04e1e52
Fix tasproj backup files getting saved with savestates / greenzone ( #2416 )
2020-09-20 09:31:48 -05:00
RetroEdit
b1a64e2212
Broaden usage of TAStudio-specific movie-loading. ( #2411 )
...
* Broaden usage of TAStudio-specific movie-loading.
fixes #2386
* TAStudio drag-drop: use LoadMovieFile for consistency
2020-09-18 20:08:49 -05:00
nattthebear
302b12cda8
Remove infinite loop on certain stream copy failures
...
Instead we get an error message now
2020-09-18 18:10:40 -04:00
RetroEdit
0d72cd901a
Replace SelectionFocused variable I accidentally added
2020-09-18 20:38:10 +00:00
RetroEdit
9e4f81e3a4
Markers/branch multi-selection ( #2409 )
...
Fixes #2215
* Make marker/branch columns use ColumnType.Text
One step towards fixing multiselect for markers and branches
* Disable some input operations while TasView is unfocused
This prevents accidentally deleting inputs while branches or markers are selected.
2020-09-18 19:39:04 +00:00
adelikat
0ecd155758
Lua console - enable multi-select, InputRoll - refresh on select/deselect all, fixes #2401
2020-09-18 14:29:46 -05:00
RetroEdit
35754469aa
Select only the new branch when created, fixes #2405
2020-09-17 22:34:00 +00:00
YoshiRulz
b6a3c20b49
Code style: Remove a redundant semicolon
2020-09-18 07:28:11 +10:00
YoshiRulz
727c6bc51f
Make ToolFormBase implement IToolForm
2020-09-18 07:28:08 +10:00
YoshiRulz
8aa3dcf72f
Remove ToolFormBase.Config and use base property
...
The non-weird init in ToolManager can't pass in the ctor because 1. Config is
written to in Restart as well as Load and 2. it's a base class and that's not
how ctors work and I should know this
2020-09-18 07:27:59 +10:00
YoshiRulz
9a6b853a49
Fix line breaks in two labels in OpenAdvancedChooser ( fixes #2407 )
...
fixes 64d14a7f9
2020-09-18 02:52:42 +10:00
alyosha-tas
2f01ac2212
GBHawk: add in missing variable to state
2020-09-16 20:54:51 -04:00
YoshiRulz
afbce436cd
Restore FormBase.WindowTitleStatic semantics without breaking Designer
...
fixes daf6f516c
which fixed regression in aa1de1c9d
2020-09-15 13:47:51 +10:00
scrimpeh
70b695a456
TAStudio: Disengage TAStudio after loading .bk2
2020-09-14 15:14:06 -05:00
YoshiRulz
aa74209b3a
Use .so in OAC for Libretro cores on Linux
2020-09-14 16:20:38 +10:00
YoshiRulz
5ed192c5ce
Bump version
2020-09-14 16:19:07 +10:00
zeromus
82c4fa4881
re: #2393 - fix something related to ed9b7b3eb1
(maybe)
2020-09-13 21:16:12 -04:00
adelikat
284af73b14
nes palette viewer - dont' new up brushes on every draw
2020-09-13 12:52:37 -05:00
adelikat
5c5438ea18
add advanced config option that will remove the "Mixed" key priority when clicking the statubar icon or pressing hte hotkey
2020-09-13 12:23:15 -05: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
adelikat
043ec74206
set Faust release flag to true
2020-09-12 09:26:04 -05:00
YoshiRulz
17440fad2f
Fix crash when painting selected row backgrounds in InputRoll
2020-09-12 09:22:58 -05:00
nattthebear
d619a3c7c3
Fix two mostly unrelated nyma settings issues
...
Mednafen has extra aliases of enum values that we don't need here and were confusing the system. Now, NGP no longer has three different "English" options for language.
Internal Mednafen code expects MDFN_GetSettingB ("bool") to work with enum values, so long as those enums are 0 and 1, but we weren't handling that.
Fixes #2385
2020-09-12 09:22:28 -05:00
adelikat
76c97e49e7
Ram watch - clear on screen watches when doing fast updates, fixes #2379
2020-09-12 09:20:29 -05:00
zeromus
be98f272f2
remove parallel from watchlist
2020-09-12 09:20:14 -05:00
YoshiRulz
5099614dbe
Disable "Stay on Top" setting of IToolFormAutoConfigs on Unix
2020-09-12 09:18:17 -05:00
YoshiRulz
f6dde5914d
Prevent trying to load VB.NET assembly on Linux
2020-09-12 09:17:30 -05:00
alyosha-tas
a0c35b397e
GBHawk: Fix start up screen color.
2020-09-12 09:16:33 -05:00
YoshiRulz
15deab90e5
Fix typo
...
forgot to stage this -_- fixes d1de18119
2020-09-12 09:15:53 -05:00
YoshiRulz
27d4bfc8b9
Fix de/serialisation of .tasproj MovieVersion header ( fixes #2377 )
...
.tasproj files written from both American/global and European PCs will now load
anywhere. No new files will use ',' in the header, only '.'.
2020-09-12 09:15:27 -05:00
YoshiRulz
d48bea5056
Fix joypad.setanalog implementation and docs ( fixes #2310 )
2020-09-12 09:12:54 -05:00
YoshiRulz
99440b6095
Change IJoypadApi methods from float to int, allow null in SetAnalog
...
also from Dictionary<,> to IDictionary<,>
2020-09-12 09:12:16 -05:00
alyosha-tas
12c5658050
GBHawk: Add note to use existing SRAM sync setting, fixes #2354
2020-09-12 09:10:50 -05:00
YoshiRulz
f07c24cfcc
Fix crash when painting selected row backgrounds in InputRoll
2020-09-12 21:14:25 +10:00
nattthebear
ddd229e03d
Fix two mostly unrelated nyma settings issues
...
Mednafen has extra aliases of enum values that we don't need here and were confusing the system. Now, NGP no longer has three different "English" options for language.
Internal Mednafen code expects MDFN_GetSettingB ("bool") to work with enum values, so long as those enums are 0 and 1, but we weren't handling that.
Fixes #2385
2020-09-10 08:05:11 -04:00
adelikat
d1257e302b
Ram watch - clear on screen watches when doing fast updates, fixes #2379
2020-09-09 13:28:52 -05:00
adelikat
48b7980cb9
Revert "some fixes to input roll drawing, but it is massively messed up"
...
This reverts commit 23fcb4c1a0
.
2020-09-09 12:38:41 -05:00
zeromus
23fcb4c1a0
some fixes to input roll drawing, but it is massively messed up
2020-09-08 19:51:16 -04:00
zeromus
daf6f516c6
fix bugs from aa1de1c9d2
that made tool windows undesignable
2020-09-08 19:35:42 -04:00
zeromus
e840a32ccc
remove parallel from watchlist
2020-09-08 19:29:40 -04:00
YoshiRulz
bf3f037bd7
Enable SA1212 and fix non-compliance
...
"Property accessors should follow order" (setter should not come before getter)
2020-09-08 22:23:10 +10:00
YoshiRulz
0dd89de0d8
Enable SA1205 and fix non-compliance (except in Cores)
...
"Partial elements should declare access" (type decl. modifier not copied across
all parts)
2020-09-08 22:14:47 +10:00
YoshiRulz
5488c80f4d
Enable SA1400 and fix noncompliance (except in Cores)
...
"Access modifier should be declared"
2020-09-08 21:57:14 +10:00
YoshiRulz
4bf50e6e51
Fix docs/strings/identifiers copypasta'd between various Hawk cores
...
A2600 standard controller and A7800 standard controller were using the same
keybinds, now only Atari2600Hawk uses those and A7800Hawk's are blank unless
configured manually or configured on config regen
2020-09-08 12:02:53 +10:00
YoshiRulz
d170972e3c
Cleanup various Hawk cores' controller decks
...
The main point is referencing types directly instead of iterating them by
reflection and also calling their ctors by reflection.
(disclaimer: [DisplayName] attrs are still necessarily read by reflection)
2020-09-08 00:05:35 +10:00
YoshiRulz
329a7de8b8
Disable "Stay on Top" setting of IToolFormAutoConfigs on Unix
2020-09-07 22:43:54 +10:00
YoshiRulz
f1ef8c64cb
Make *.ReflectionCache.Asm props private
2020-09-07 22:36:24 +10:00
YoshiRulz
f7ccb7dfca
Change signature of CoreInventory ctor
2020-09-07 22:35:14 +10:00
YoshiRulz
e10e139f10
Encapsulate Assembly.GetManifestResourceStream in *.ReflectionCache
2020-09-07 22:31:38 +10:00
YoshiRulz
209fbc6de0
Add and use ReflectionCache classes
2020-09-07 22:01:26 +10:00
YoshiRulz
9325e2f002
Prevent trying to load VB.NET assembly on Linux
2020-09-07 22:01:03 +10:00
alyosha-tas
2a285af5ae
GBHawk: Fix start up screen color.
2020-09-06 19:00:11 -04:00
YoshiRulz
aa1de1c9d2
Unify setting of window titles, add static title option ( fixes #1996 )
...
The only forms that did anything special with their window title were Basic Bot,
CDL, Hex Editor, Log Window, MainForm, and TAStudio. That behaviour is in
WindowTitle, while the rest use WindowTitleStatic.
The implementations of WindowTitleStatic in those six forms are new. There's a
checkbox in `Config` > `Display...` > `Misc` to disable their special behaviour
and use the new static titles.
The Text property is hidden from Designer de/serialisation as well.
2020-09-06 16:18:08 -05:00
YoshiRulz
2c77f76a67
Fix typo
...
forgot to stage this -_- fixes d1de18119
2020-09-06 09:43:36 +10:00
YoshiRulz
d1de181194
Fix de/serialisation of .tasproj MovieVersion header ( fixes #2377 )
...
.tasproj files written from both American/global and European PCs will now load
anywhere. No new files will use ',' in the header, only '.'.
2020-09-06 09:36:08 +10:00
YoshiRulz
8e72dddd41
Set menu de/activate handlers on tool form MenuStrips ( fixes #2281 )
...
these call methods on MainForm, which decides whether or not to pause/unpause
2020-09-05 18:49:29 +10:00
alyosha-tas
1c5f9fccb3
O2Hawk: Mostly fix 4 in a row
2020-09-04 19:46:49 -04: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
RetroEdit
f3f5774bbb
Fix new bugs from painting during auto-restore
...
fixes #2371
2020-09-03 19:38:05 +00:00
RetroEdit
1f19281ed1
Merge pull request #2372 from TASVideos/painting-auto-restore-fix
...
Fix new bugs from painting during auto-restore
2020-09-03 19:08:20 +00:00
RetroEdit
98498f9d50
Fix new bugs from painting during auto-restore
...
fixes #2371
2020-09-03 18:11:37 +00:00
YoshiRulz
242dcf04c7
Fix joypad.setanalog implementation and docs ( fixes #2310 )
2020-09-03 09:32:45 +10:00
YoshiRulz
e77631922e
Change IJoypadApi methods from float to int, allow null in SetAnalog
...
also from Dictionary<,> to IDictionary<,>
2020-09-03 09:32:12 +10:00
alyosha-tas
1ed9adf3cb
GBHawk: Add note to use existing SRAM sync setting, fixes #2354
2020-09-02 17:24:40 -04:00
nattthebear
c1a113ce24
fix NRE
...
closes #2363
2020-09-02 11:09:22 -04:00
nattthebear
7bca0426bf
fix NRE
...
closes #2363
2020-09-02 11:07:39 -04:00
YoshiRulz
affd1914c2
Change default input method on Windows to DirectInput
...
for the record I think this is a bad idea
2020-09-02 07:50:38 +10:00
YoshiRulz
1793e991ca
Move Windows version check to OSTailoredCode and cleanup
2020-09-02 07:47:57 +10:00
adelikat
dbddcfe665
input widget - delete deafult ContextMenu property, this was done to supress the context menu, but we supress it by other means, fixes #2222 , for real this time
2020-09-01 12:52:41 -05:00
adelikat
36b7d9df28
lua functions list - convert from using ContextMenu to ContextMenuStrip, fixes #2222
2020-09-01 10:56:00 -05:00
RetroEdit
f3bc89055b
Remove default joypad bindings for fast-forward/rewind. Fixes #2297
2020-09-01 09:33:56 -05:00
YoshiRulz
a89b0dfdcd
Split TargetedPairSchema.MaxValue to MaxX/MaxY and cleanup
...
* split TargetedPairSchema ctor and added docs to clarify its behaviour
* renamed VirtualPadTargetScreen.RangeX/RangeY to MaxX/MaxY
* left TODOs in the three places MaxValue was actually used
2020-09-01 09:07:06 +10:00
YoshiRulz
509560fa1a
Use RangeTo extension
2020-09-01 08:23:00 +10:00
YoshiRulz
10ac846256
Chain ExceptionBox ctors
2020-09-01 08:21:24 +10:00
YoshiRulz
15c5cd516c
Rename AxisSpec.Mid to Neutral ( resolves #2345 )
2020-09-01 08:09:02 +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
adelikat
33b1bdfcae
Tastudio - fix obvious mouse up typo, if we are going to invalidate from _paintingMinFrame, then we should compare against it, fixes #2351
2020-08-30 11:36:17 -05:00
adelikat
e46de9e5c3
Virtualpads - fix single axis controls being tied to each other, fixes #2351
2020-08-30 11:21:50 -05:00
adelikat
8b46500e32
Tastudio greenzone settings dialog - fix positioning a bit
2020-08-30 09:10:40 -05:00
feos
2e88ddf3c5
description typos
2020-08-30 15:26:58 +03:00
RetroEdit
d3c5bb4990
TAStudio: Fix a typo in tasproj import message
2020-08-30 12:05:16 +00:00
adelikat
b4d89da5d3
be more careful with using gapFiller, it's important that the state not get out of order
2020-08-29 19:21:13 -05:00
adelikat
e98a12eaa3
TAstudio - check initializing flag when doing draw callbacks, in fluky circumstances, a draw can be invoked while trying to load a new movie
2020-08-29 18:36:38 -05:00
adelikat
9db5ee2e7b
hack to fix Tastudio loading when importing an existing bk2
2020-08-29 18:14:54 -05:00
YoshiRulz
7e99989746
Omit ".exe" from FFmpeg on Unix, and hack a note into the downloader
2020-08-30 09:03:18 +10:00
YoshiRulz
252e878b53
Disable single-instance mode on Unix so we can drop VB.NET dependency
2020-08-30 07:19:36 +10:00
YoshiRulz
45063aa6fa
Add helper for when calling .GetTypes() on EmuHawk assembly
2020-08-30 07:19:36 +10:00
YoshiRulz
3179dc8ebe
Put IComm.WebSockets and Lua comm.ws_* behind #ifdef ENABLE_WEBSOCKETS
...
Not confident in the API shape, especially for ApiHawk
2020-08-30 06:35:31 +10:00
YoshiRulz
dc7f5ef7a2
Fix typo
...
fixes a11a7017a
2020-08-30 05:52:50 +10:00
adelikat
1671cd32c4
GBA virtual pad - adjust size so light sensor actually shows
2020-08-29 13:49:06 -05:00
James Groom
a11a7017a7
Fix scaling of axes ( #2334 )
...
* Cleanup NormalizeAxes
no behaviour change yet
* Use a more sensible scaling algorithm in NormalizeAxes
* Replace AxisSpec.FloatRange with AxisSpec.Range (ints)
* Use 0..255 for GBA light sensor, and set its Mid to 0 (fixes #2323 )
2020-08-29 13:39:48 -05:00
RetroEdit
4456e84bf0
mGBA: Update SaveRAM mem domain to a hardcoded size. ( #2311 )
...
* Revert "mgba - try resetting sram memdomain after frame advance, so sram autodetection can progress and feed into frontend. addresses #1620 , maybe not in the best way"
This reverts commit 25327b510d
. We decided exposing the whole buffer would be better than dealing with a variable size memory domain.
* mGBA: Update SaveRAM mem domain to a hardcoded size.
2020-08-29 13:38:02 -05:00
RetroEdit
cdf20ff1be
TAStudio: improve saving behavior ( #2337 )
...
* TAStudio import: ask before saving the bk2
* Only save cycle count at movie end; fixes #2203
* Rework the movie end cycle count warning.
* TAStudio import: allow saving even if no changes are detected
2020-08-29 13:33:13 -05:00
YoshiRulz
56b9ec2350
Add warning for loading config.ini from an older or new version
...
applies on startup and on `Config` > `Load Config From...`
also changed wording for corrupted config.ini warning
2020-08-29 13:29:12 -05:00
adelikat
a421a60a20
restrict ZwinderStateManagerSettings to reasonable values
2020-08-29 13:18:02 -05:00
nattthebear
6de742b01b
Revert a series of questionable zwinder changes
...
These all seem to have been made from the point of view of testing every possible value the UI allowed, and then fixing them all with as little effort as possible, with the fixes going deep in core logic instead of in the validation layer, and the fixes not making anything really "work"; just making it stop complaining.
ZWinderBuffers now require TargetFrameLength >= 1 again: A value of zero doesn't make much sense here, and didn't actually behave differently than 1.
ZWinderBuffers now require Size > 0 again: A size 0 buffer will never capture anything and has no value. If you don't want a buffer, don't make one at all. I believe that omitting some buffers might make sense for the state manager, maybe; those more familiar with all of its uses will have to chime in. If that is the case, then the state manager should not instantiate buffers it does not plan to use.
ZWinderBuffers now throw exceptions again when a single state is bigger than the entire buffer: If you're in this situation, things are phenomenally broken and your buffer is never going to capture anything successfully. Users need to fix their settings in this case; they don't need to have a completely non functional system silently claim to work while not doing anything, leaving them befuddled as to why seeking is taking forever.
2020-08-29 12:42:25 -04:00
adelikat
39ac8864b6
TasMovie loading, simplify a bit by not relying on the existing instance of TasStateManager to hold onto settings
2020-08-29 11:32:41 -05:00
adelikat
be6b1fa6e4
consolidate propertygrid heigh changing logic
2020-08-29 11:27:00 -05:00
adelikat
0951ef084f
Tastudio - rework greenzone settings dialog to fix long descriptions, winforms is bad, this shouldn't have been this hard
2020-08-29 10:49:28 -05:00
adelikat
4b8cb22aba
savestate history settings dialog - designer auto-gen
2020-08-29 10:49:28 -05:00
adelikat
991deee549
attempt to document ZwinderStateManagerSettings settings better
2020-08-29 10:49:27 -05:00
zeromus
234642ed0d
fix some crashes in CDL. things were rough enough for CDL due to tool open/close and core life cycle being wrecked, but it totally melted down when CDL got sent through the service injection stuff, so this has been pretty broken for years now
2020-08-28 19:09:07 -04:00
zeromus
f89840234d
minimally fix nes CDL which was broken 3 years ago
2020-08-28 19:02:21 -04:00
zeromus
56082ddf44
move stackalloc in CDL
2020-08-28 18:50:11 -04:00
SuuperW
8789827100
instead of throwing an exception when the buffer is smaller than the state, don't capture the state
2020-08-28 16:30:50 -05:00
SuuperW
46de6aca94
don't throw exceptions when passing a BufferSize or TargetFrameLength of 0 to a ZwinderBuffer
...
size 0 means 0 states will be captured; TargetFrameLength 0 means no spacing of states (result behavior is identical to TargetFrameLength of 1; capture every frame)
2020-08-28 16:30:36 -05: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
YoshiRulz
52a559908e
Update Config.LastWrittenFrom/Detailed when saving
2020-08-28 06:15:59 +10:00
zeromus
faa3d52500
not sure why we create two tasstatemanagers when engaging tastudio... i guess one is used in case theres existing data (even if theres no existing data). anyway, this fixes the leak
2020-08-27 15:50:49 -04:00
zeromus
f33ac3cce6
change how mainform disposes itself. it seems we can be disposed from deep inside winforms, likely when the window is closed. changed to not accidentally run dispose again
2020-08-27 15:42:32 -04:00
zeromus
0cff659608
tired of seeing zwinder spam
2020-08-27 15:41:20 -04:00
RetroEdit
7aea4e0271
TAStudio: properly resume playback after painting. ( #2340 )
2020-08-27 13:58:19 -05:00
YoshiRulz
08e24c96a7
Skip "run third-party code?" warning when using --open-ext-tool-dll
2020-08-28 04:48:57 +10:00
YoshiRulz
57acee9bd5
Remove unused field
...
fixes e128cb82f
2020-08-28 04:41:17 +10:00
YoshiRulz
e128cb82f2
Add command-line switch --open-ext-tool-dll
...
takes an absolute path; or a relative path with or without `.dll` (relative to
ExternalTools)
2020-08-28 04:38:38 +10:00
adelikat
0109386049
dispose of TasStateManager
2020-08-27 09:22:30 -05:00
adelikat
41109d6fc2
apparently you need powers of 2
2020-08-26 20:14:30 -05:00
adelikat
950eac5be2
TasStateManager settings - make less aggressive RAM consumption defaults, 512mb total instead of 832mb
2020-08-26 16:03:29 -05:00
RetroEdit
00f8129b4d
TAStudio: Fix deletion crashing when deleting invalid indexes ( #2339 )
...
* TAStudio: Fix deletion crashing when deleting invalid indexes
The problem occurs when trying to delete a selection where some of the frames were valid, but the last displayed line (which is currently an extra non-input frame) was in the selection.
* LINQ alignment tweak
2020-08-26 08:18:24 -05:00
SuuperW
956b71060e
fix an error with new logic in commit 6b63db8
2020-08-24 18:34:59 -05:00
SuuperW
6b63db80e2
give user the option to (attempt) keep or discard states when changing state history settings
2020-08-24 18:31:22 -05:00
SuuperW
4b6ff639ac
allow user to change the state history settings for the currently open TAS project
2020-08-24 18:20:47 -05:00
nattthebear
bbc9054517
rohmloader tweak ( #2330 )
...
When a missingfirmwareexception is encountered, do not fallback. It's presumed that these cases are fixable by the end user.
Absolutely does not in any way fix #2327 - the user was emphatic that they had the BIOS file, so they must have hit some other situation.
2020-08-24 15:52:49 -04:00
adelikat
44d7603622
only apply gap filling at the start of the start of an interval. This addresses the "odd" behavior that if you have a gap of 10 in current, and navigate from frame 100 to 99, you get a state saved at 91
2020-08-23 20:40:36 -05:00
adelikat
e6ceb1c323
slight tweak to default state manager settings, make the Gap size to target proportional to Current, so that it gets the same "state gap"
2020-08-23 20:22:01 -05:00
adelikat
354ccd1b23
ZwinderStateManager - when considering evicting from recent to reserved, don't assume the reserved is linear or has all gaps covered. Instead check for "nearby" states. This fixes the problem that any state prior to the first used marker would never get an "ancient" state. Technicalyl this will mean that a state can be _ancientInterval * 2 - 1 frames away from its nearest neighbor, but this should be close enough the desired behavior
2020-08-23 20:10:42 -05:00
adelikat
83686a5a15
slight refactor - MarkerControl.AddMarker, force the caller to pass in the frame instead of implicitely assuming Tastudio.Emulator.Frame when one is not passed on, only 2 places didn't pass a value in anyway
2020-08-23 19:27:27 -05:00
alyosha-tas
6501c48b13
GBHawk: make controller setting only effect MBC7 games
2020-08-23 20:08:43 -04:00
adelikat
7d2e18004f
actually use the default TasStateManager settings from config when creating a new TasMovie
2020-08-23 18:16:41 -05:00
adelikat
16771bb6bf
ZwinderStateManager - speedup and simply the Last property using StateCache
2020-08-23 17:56:01 -05:00
adelikat
1b0139ebc3
Majorly refactor ZwinderStatemanager to address # 2287 ( #2321 )
...
* rename highpriority to ReGreenZone, and add a comment, to better document what it is used for
* rename again, from regreenzone to gapFiller, rename settings too, make gap frame length 1000 instead of 10000
* oops
* merge original state with ancient, since we can never invalidate frame 0 anyway, it can safely be stored here
* unremove nonstate
* change ancient to reserved, in preparation for marker and branch states to go here, add more comments
* capture branch states as reserved, reconsider gap logic to account for the fact that a reserved state might be greater than the last current/recent state
* do not capture to reserved states if the state is already rreserved
* add a callback to check if a state is "reserved", client code wil return whether it is a branch or marker state. Wire up reserved logic into eviction logic. If reserved, go to reserved list, else evict
* add API for evicting reserved states, and wire it up to marker removal
* just in case
* a bit of renaming, add a unit test for an edge case that was broken with the Last property, add unit tests to cover it
* Revert "a bit of renaming, add a unit test for an edge case that was broken with the Last property, add unit tests to cover it"
This reverts commit b0d01ffacb058eb26c68a7fdccb0010d3bca40b2.
* fix AllStates using Concat() and OrderBy(), add unit tests for HasState and GetStateClosestToFrame()
* Fix InvalidateAfter and add tests
* make HasState() a lot faster
* durp
* convert reserved to a Dictionary
* fix count being off by 1 due to no longer correct assumption of there being a separate frame zero state
* a few cleanups
* clean up tests and use less ram, fix a few things that I broke that unit tests caught, yay unit tests
* implement IDisposable and use in unit tests
* fix SaveCreateroundTrip (for me at least), by using a smaller buffer allocation, also be pedantic and use zw.Settings in zw2 to ensure they match
* some tests for Count
* attempt to cache which states have frames, doesn't work, ZwinderBuffer on the last state before it wraps, doesn't behave as I expect, dunno if it is intended
* fix typo when evicting recent to reserved, cleanups, make unit test work
* oops
* cleanup and account for Gaps in unit test
* use StateCache for HasState, fix unit test accordingly
* use statecache to check if a frame exists during Capture, and do this first, before gap logic
* fix reserved logic in Clear, add a unit test for Clear
* fix Engage bug that was breaking loading movies, remove CaptureReserved from the API and instead, call the reserved callback in Capture
* use state.Size to minimize memory thrashing in AddToReserved()
* cleanup some comments
* when loading a tasproj from disk, build up the state cache, without this commit, loading an existing movie was unuseable
* reserve the frame before markers, not hte marker itself, users expect instant navigation to markers, and since we always navigate 1 frame before the target frame to emulate and get a frame buffer, this is the frame that must be reserved
2020-08-23 17:12:33 -05:00
nattthebear
fb6924bd83
improve error message reporting in romloader
...
fixes #2320
2020-08-22 15:24:17 -04:00
alyosha-tas
8499f54127
GBHawk: CPU halt emulation fixes
2020-08-22 15:14:16 -04:00
nattthebear
1f84dcdeb2
zwinder rewinder - fix all sorts of funsies when the state count cap is reached
2020-08-22 14:58:35 -04:00
alyosha-tas
7423a00fbf
Gambatte: use homebrew fast load BIOS files instead of Sameboy when use real bios is false
2020-08-22 14:02:30 -04:00
nattthebear
18780a8752
Fix GBC-AGB bios issues ( #2317 )
...
All six combinations (bios, no bios) X (dmg, cgb, cgb in agb) should work now
Closes #2100
2020-08-21 13:14:50 -04:00
alyosha-tas
6e8362eef0
GBHawk: make timer <> cpu loop interaction consistent
2020-08-19 11:58:06 -04:00
alyosha-tas
96fa21e238
GBHawk:Basic GBA timer glitch implementation
2020-08-17 17:45:55 -04:00
alyosha-tas
9736fb44ba
GBHawk: timer improvements, GB mode
2020-08-17 15:15:23 -04:00
nattthebear
94b47787dc
minor cleanup
...
This variable was used before, but I accidentally changed it out in the process of other refactoring. No behavioral difference
2020-08-17 14:56:21 -04:00
adelikat
4153df9471
simplify and remove some code in O2 constructor
2020-08-17 11:52:09 -05:00
feos
47fe939b41
fix #2313
2020-08-17 18:40:15 +03:00
alyosha-tas
475b1ac211
GBHawk: timer improvements
2020-08-17 11:23:48 -04:00
adelikat
68701e05de
zstatemanager - puting this mistake directly into master, its a nasty one, needs to be fixed immediately
2020-08-17 09:37:55 -05:00
YoshiRulz
e8bc7d50dd
Use float math for polar<=>rect if either range is outside -128..127
...
also set the max of the polar magnitude NUD to the actual measured maximum
2020-08-16 18:53:39 +10:00
YoshiRulz
08c234dcf2
Make VirtualPadDiscManager.OwnerEmulator a readonly field and cleanup
...
Did this as a separate commit because it seems like the intent was for
OwnerEmulator to be mutable, though it was only ever set immediately after
creation. Revert to make it mutable again.
2020-08-16 17:28:48 +10:00
YoshiRulz
b204d65afe
Set properties via ctors instead of obj init syntax and cleanup
2020-08-16 17:17:10 +10:00
zeromus
bea796fb2d
experimental "Frame Inch" designed to make quick presses of frame advance always do something (concerning #2303 ).
2020-08-15 23:13:26 -04:00
nattthebear
732afe6a9e
When the frontend ui generates an empty controller bind, remove it instead of doing nothing
...
Fixes #2264
2020-08-15 13:34:23 -04:00
nattthebear
7adeebb59a
TurboNyma/HyperNyma - make SystemId = "PCECD" when in cd mode
2020-08-15 12:20:26 -05:00
nattthebear
77057d4b16
minor cleanup
2020-08-15 12:53:04 -04:00
adelikat
353ec518c7
update GB/GBC profile settings:
...
longplays - gambatte, require bios (per longplays request)
tas - gambatte, require bios, CGB in GBA (per tasvideos request)
2020-08-15 11:23:34 -05:00
RetroEdit
1f5128bf6b
zwinder: Make GetStateClosestToFrame actually get closest state. ( #2291 )
...
* zwinder: Make GetStateClosestToFrame actually get closest state.
* Clarify docs
2020-08-14 11:00:56 -05:00
RetroEdit
e89449ed27
Input display: At movie end, show both last movie inputs and current inputs; fixes #2295 ( #2305 )
2020-08-14 10:49:06 -05:00
nattthebear
5ea32b875b
rewinder UI - limit target frame length to 500000
...
I guess the 16383 came from looking at the code, but 16383 is a limit on the number of states (which also needs to be increased, TODO) not how many frames back those states go. There is effectively no limit except numerical calculation limits on the target frame length; if you had room for only 10 savestates, but wanted to cover a 10 million frame range, we'd just save once every million frames
2020-08-14 10:20:02 -04:00
zeromus
1d87bcd29c
Dispose MemoryBlock in zwinderbuffer ( fixes #2304 )
2020-08-14 08:12:44 -04:00
nattthebear
356dfcebdb
Change the designer for rewinder to allow up to 32GB of rayums used
...
Since the rewinder scales in powers of two, we might want to reconsider how this control works
2020-08-13 21:14:34 -04:00
nattthebear
4062584719
zwinderbuffer: use memoryblock instead of junko .net arrays. This bad boy can hold more than 1GB of shite now
2020-08-13 21:08:48 -04:00
nattthebear
5d3b85ab9f
Clean up and remove a lot of no longer used memory block stuff
...
All of the cool and quirky stuff it did was solely to support waterbox, which has its own native impl of this now. So now it just lets you allocate memory and change protection on it. Boring. Note that the slot based callback system in waterbox gives constant function pointer addresses inside the box, so it doesn't matter where exactly CallingConventionAdapter is allocated.
2020-08-13 19:41:52 -04:00
RetroEdit
ad07eb8574
Clean up truncate behavior and docs. Fixes #2285 ( #2286 )
...
* Clean up truncate behavior and docs. Fixes #2285
To start with, 770ddc26db
(6 years ago, prior to 1.7.0) made the documentation of how truncate is supposed to work. However, judging by my testing of 1.9.0 and 2.4.2, it probably hasn't ever worked that way in practice. It seems justified to change the documentation to match the behavior that the user is familiar with, and what I see as the commonsense behavior anyway (I can justify this further if anyone is curious).
Note this is not changing the behavior of truncate itself; it is simply documenting what the behavior has always been.
Secondly, Invalidate was modified to become InvalidateAfter. This modifies how it gets called, but otherwise remains mostly identical internal to the Zwinder. This was done to make it easier to reason about relative to the input log, which should be the foundation for an understanding of related components.
* zwinder: "frame after" interpretation in all Invalidate methods
2020-08-11 17:53:27 +00:00
YoshiRulz
953a14016f
Fix phantom NRE from ProcessInput during some crashes on Mono
...
Pretty sure this only affected Mono. The infinite loop in ProgramRunLoop
continued even after the form was disposed (in the testing I did, this was
always during the call to CheckMessages). However, DisplayManager (actually
GlobalWin.DisplayManager) was cleared during disposal, so the call to
DisplayManager.UntransformPoint rightly threw an NRE. After this change, the
"real" stacktrace is still printed as always.
2020-08-11 16:11:28 +10:00
YoshiRulz
6f5028bfcf
Fix line breaks in label
...
see #2284
2020-08-11 13:41:45 +10:00
YoshiRulz
ecfeecdb70
Make Bk2Movie type and ctor public
2020-08-11 12:36:14 +10:00
SuuperW
07d0688f45
Merge pull request #2268 from TASVideos/FixLuaMemoryReadWrite
...
Lua 16/32-bit read/write
2020-08-10 17:23:30 -05:00
zeromus
aa49ac5cf2
change IRewindSettings to use a 'long' for buffer size, for the future. this makes math using it automatically be long.
2020-08-10 16:07:57 -04:00
zeromus
6b57c1e504
cap rewinder buffer size at 1024MiB
2020-08-10 16:07:20 -04:00
nattthebear
2feece847f
I don't understand why we're clearing the rewind buffer, but if we want to do that, just do it, and don't deallocate + reallocate many megs of ram on every loadstate ( #2282 )
2020-08-10 09:59:23 -05:00
alyosha-tas
f08ab6dda8
GBHawk: disassemble second byte of STOP
2020-08-10 10:40:44 -04:00
zeromus
8fbd45b03f
rewinder was being disabled as an approximation for clearing it when loading state while in a movie session. change it to actually just clear it (by recreating it). I decided this was safer than making the rewinder learn how to clear itself. Should fix #2280
2020-08-10 03:46:48 -04:00
nattthebear
337f71357e
PCE cores - rework loading
...
The gods have decreed that PCECD will be PCE, so they all have to come in through the same constructor. Fixes #2279
2020-08-09 18:00:43 -04:00
nattthebear
56e3642d5c
Refactor how movie loading handles preferredCores
...
First of all, use a try..finally pair around the mutating calls to make it clear that Config.PreferredCores will always be rolled back, and to the correct value, after the operation is done.
Then, assume that when Movie.Core is set, we always want to prefer that core... no matter what system comes up. Seems to fix #2259
2020-08-09 17:11:31 -04:00
nattthebear
5a0b49726e
Revert "hack rom loader to keep doing the bullshit we've been doing for 8 years now, where Game.System == "GBC" results in an Emulator with a SystemID. Don't revert without volunteering to fix tasvideos"
...
This reverts commit 31bf9b9147
.
2020-08-09 16:31:49 -04:00
adelikat
31bf9b9147
hack rom loader to keep doing the bullshit we've been doing for 8 years now, where Game.System == "GBC" results in an Emulator with a SystemID. Don't revert without volunteering to fix tasvideos
2020-08-09 15:29:41 -05:00
adelikat
c844af3bbb
RomLoader - remove an unused parameter in LoadOther
2020-08-09 15:15:26 -05:00
adelikat
729934aa42
unknown PCE-CD games should have PCE as the Game.System, to be consistent with the discs that can be properly identified
2020-08-09 15:11:35 -05:00
adelikat
3eca5286b5
DS - avoid allocating a byte buffer everytime a savestate is made
2020-08-09 11:47:52 -05:00
adelikat
a2414f2b4e
Tastudio - branches - enable multi-select and implement ability to remove multiple branches
2020-08-08 16:24:07 -05: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
adelikat
78b03cbdec
remember to set pauseInterrupted = false, when responding to said flag. Use TasView mouse leave instead of form leave for leave logic, since form leave doesn't fire if you move your mouse too fast because winforms is bad. This fixes #2275 and #2258
2020-08-08 10:49:12 -05:00
adelikat
b101df8235
Allow multiple marker selection, and multiple marker deletion, also dejunkify some hack workarounds that aren't needed anymore, and fix focus issues on input roll
2020-08-07 21:03:04 -05:00
Paul Kratt
05c5148610
Merge pull request #2277 from Sappharad/gpgx_ssfmapper
...
Migrate to latest MD cart mappers from GPGX upstream
2020-08-07 20:48:36 -05:00
adelikat
0818e40149
misc cleanups in client.common
2020-08-07 16:19:54 -05:00
nattthebear
25bdeb7f69
Use alloc_plain to allocate the md_cart space so it will be writable if needed
...
This lets us support mapper32k_w without needing extra hacks. Because of lazystates, this doesn't hurt us on state size either (lazystates did not exists when we did 722358c1b1
2020-08-07 07:17:14 -04:00
YoshiRulz
476295ccec
Remove unused HawkFile static helpers
2020-08-07 16:30:17 +10:00
YoshiRulz
e02a3d3baf
Fix double HawkFile construction
2020-08-07 16:29:09 +10:00
YoshiRulz
74bfac2359
Add missing imports to tests
...
fixes c4202fea2
2020-08-07 12:59:39 +10:00
YoshiRulz
c4202fea2e
Fix namespaces in test project
2020-08-07 12:46:40 +10:00
adelikat
84df4141ea
tastudio - bump up the default statemanager buffer settings
2020-08-06 19:25:24 -05:00
adelikat
491c5c20b6
Tastudio - fix NRE when input editing after importing a bk2
2020-08-06 13:22:11 -05:00
adelikat
f2dba97197
Tasproj versioning - use constant in unit test so it doesn't fail on next version bump, when converting bk2, slap the current tasproj verison on it, converting to bk2, remove tasproj version
2020-08-06 13:15:29 -05:00
adelikat
af5acb457d
a few pointless refactors
2020-08-06 13:15:29 -05:00
nattthebear
c32ca26790
saturnus - default ss.correct_aspect to off
2020-08-06 13:13:11 -04:00
adelikat
ac139eabf2
remove byte[] SavestateBinary() from IStatable, consolidate IBinaryStatable into IStatable now that they are the same
2020-08-05 21:07:30 -05:00
adelikat
a93a94aead
remove some usages of SavestateBinary() with the CloneSavestate() extension method
2020-08-05 20:50:46 -05:00
adelikat
2a4cba4f7e
remove option to not save SavestateHistory in .tasproj files, turns out the pre-zwinder implemetnation never exposed a way to turn this off either (except direct json editing). And it seems questionable, we have export to .bk2, clear history, auto-save options, etc if you need a historyless file
2020-08-05 20:48:08 -05:00
adelikat
296b321796
remove some unused code
2020-08-05 20:43:14 -05:00
adelikat
357d87239b
Rewrite TasStateManager ( #2274 )
...
* zwinder state manager wip
* stuff
* fixes
* slightly better defaults
* stuff
* re-delete TasStateManager - re-added by my bad rebase attempt
* add back in saving of a default.tasproj, we are a lot of refactors away from not having to do this
* Make zwinder loadstate a factory method
* progress on wiring up Zwinder to movie shenanigans
* zwinder now survives save/load
* hack for settings to exist
* fix test
* shenangians for frame 0, add some asserts to the unit test
* Add crappy impl of integrity check for zwinderstatemanager
* remove Any() from the IStateManager contract, since it should always have at least 1 state
* move ZwinderStateManagerSettings to its own file
* use NonState, it's there and I suppose this was the intent
* add a test
* don't attempt to capture states if we aren't "currentt"
* ugh
* small cleanup
* ZwinderStateManagerSettings - implement necessary copy constructor
* wire up Settings updating, get rid of Settings setter, add some documentation to IStateManager
* shenanigans to fix Savestate settings UI
* Play around with "high priority"
It's really a mess because there's no information feeding between high priority and normal priority on what captures should take place...
* this fixes the branch gap problem
* bump tasproj version to 1.1, warn user and gracefully handle loading an incompatible version
* if a movie starts from savestate, stuff the anchored state into TasStateManager instead of a frame zero state
* ZwinderBuffer - remove some unused usings
Co-authored-by: nattthebear <goyuken@gmail.com>
2020-08-05 20:39:15 -05:00
YoshiRulz
fcbe8333a6
Move Comm and SaveState APIs to Client.Common
2020-08-06 00:29:50 +10:00
YoshiRulz
13ab27ca4e
Simplify API impl. instantiation
2020-08-06 00:19:08 +10:00
alyosha-tas
c8b8efedac
GBHawk: Fix start up time of HDMA
2020-08-04 10:14:47 -04:00
SuuperW
b6f80b53dc
reformat code
...
also fix error message (regression from commit 99141e8
)
2020-08-04 04:20:00 -05:00
nattthebear
75aca0e7c6
Up the sbrk heap size for dobiestation
...
Guess it manages to run out with 4MB on some stuff?
2020-08-03 21:11:28 -04:00
SuuperW
99141e84bf
fix: Lua multi-byte read/write operations used single-byte read/writes to the core
2020-08-03 15:44:51 -05:00
zeromus
93c3f0f217
Merge pull request #2266 from TASVideos/ps2-disque-check
...
Reorder the optical disk id checks
2020-08-03 16:43:15 -04:00
SuuperW
12ef0fe35b
fix Lua crash (run Lua script, close Lua console, open different ROM)
2020-08-03 13:55:00 -05:00
nattthebear
8e8575ad69
Reorder the optical disk id checks
...
Seems like PS2 games have an appId of PLAYSTATION sometimes, so move the SYSTEM.CNF;1 check first
2020-08-03 12:14:59 -04:00
YoshiRulz
166c50b6cf
Finish implementing WebSockets
...
fixes dbcd6b5b6
2020-08-03 14:30:50 +10:00
David Ackroyd
dbcd6b5b68
Add WebSocket support; wraps BCL ClientWebSocket (squashed PR #2237 )
...
Co-authored-by: David Ackroyd <davidackroydmusic@gmail.com>
2020-08-03 13:11:29 +10:00
SuuperW
22d78efabd
fix separator bug in RAMWatch
2020-08-02 17:13:32 -05:00
SuuperW
9af25f7180
rename NdsSettings to NdsSyncSettings, since that's what it is
2020-08-02 14:06:38 -05:00
SuuperW
2c0fa143c1
fix: attempting to change current movie's GreenzoneSettings would actually change the defaults
2020-08-02 10:40:12 -05:00
adelikat
8531a292bc
rip out Savestate History settings form and reuse the default settings form instead
2020-08-01 17:30:50 -05:00
adelikat
07429a4640
Tastudio - rework DefaultGrezoneSettings to only depend on a settings object and a savecallback
2020-08-01 17:19:30 -05:00
adelikat
3da1df9252
Tastudio -more shenanigans to fix bk2 loading, fixes #2255
2020-08-01 13:43:29 -05:00
alyosha-tas
2499c9b872
GBHawk: update Kirby tilt n- tumble controls
2020-08-01 14:31:08 -04:00
adelikat
e525d512f8
lua - fix NRE when when movie.mode() is called with no movie active, fixes #2262
2020-08-01 13:24:10 -05:00
nattthebear
96bee60cda
nyma -- only ask the frontend for firmwares the core actually requests
...
Fixes #2240
2020-08-01 09:16:01 -04:00
nattthebear
78bf2285fc
Waterbox: Add pseudo-thread implementation and experimental DobieStation (PS2) core ( #2263 )
...
Waterbox supports threads now, but they're not real threads on the host side because that's complicated and can be nondeterministic. Instead, everything is scheduled to share one host thread. This means that scheduling is actually cooperative and certain patterns of spinlocks and other nonsense can fail to work at all, but "regular" code probably will.
With this, add DobieStation PS2 core. This core was selected because it has threads and is otherwise simple to port; easy to build and a good core/frontend separation. It's not a wonderful core however, with low speed (made abysmally lower by our lack of real threads) and low compatibility, so it remains a curiosity for now.
2020-08-01 07:03:29 -04: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
alyosha-tas
9fc8db14c3
Vectrex: fix controls (Hyperchase)
2020-07-31 21:24:58 -04:00
YoshiRulz
00b67f4156
Remove unused prop from a MainForm interface
...
fixes 62537118a
2020-07-31 16:22:02 +10:00
YoshiRulz
b77cd9a7bf
Remove IEmuClientApi.RunningSystem from the API
...
other code in EmuClientApi (the impl.) uses this prop, so it's staying for now
2020-07-31 16:17:02 +10:00
alyosha-tas
9b5997cf7f
GBHawk: fix behaviour of writing to LY reg, fixes Zen console verificaiton
2020-07-29 18:29:26 -04:00
YoshiRulz
a54b9acba2
Pass in globals to Throttle and UpdateChecker
2020-07-29 08:55:56 +10:00
YoshiRulz
fbb38d61fd
Use a DLIR for Mupen core and plugins
...
AttachPlugin still returns IntPtr (thanks to reflection hack) so the code for
audio/input/video is unaffected
2020-07-28 20:29:02 +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
SuuperW
ae667eca29
optimizations and a bug fix
2020-07-27 15:47:49 -05:00
SuuperW
c7c4a08cfd
Further refactoring of state decay.
...
Also, use a larger zeros array size. 16 is pathetic. Probably should go even higher than this.
2020-07-27 15:47:42 -05:00
SuuperW
10dd5b746c
refactor StateManagerDecay to not use goto, and remove the unused align
...
(Align didn't seem to make any sense, it was just weighting priority less towards the current frame. Perhaps helpful in some situations, but I don't think enough so to justify complicating the decay algorithm. Either way it was a misnomer and I don't know what there is to align to.)
2020-07-27 15:43:47 -05:00
SuuperW
60cc8d944f
Merge branch 'master' of https://github.com/TASVideos/BizHawk
2020-07-27 10:43:46 -05:00
SuuperW
a868cd5f5c
fix TAStudio state gap
2020-07-27 10:43:20 -05:00
nattthebear
0d3b26ead9
Re-refix gpgx loading
...
Pier solar needs the rom and the cd
This reverts commit 503469e4e0
.
2020-07-27 08:10:00 -04:00
zeromus
503469e4e0
fix oopsie loading cds in gpgx after recent romloader cleanups. fixes #2252
2020-07-27 00:57:51 -04:00
nattthebear
2cdc978e2f
rework mgba callbacks to not be global junks
2020-07-26 15:36:29 -04:00
nattthebear
9339c02b82
emergency containment on bad code
2020-07-26 15:11:29 -04:00
nattthebear
105250f60d
wow that was hard
2020-07-26 15:06:44 -04:00
adelikat
98da2ebb85
fix loading of bk2 and tasproj files from tastudio menu items
2020-07-26 12:47:46 -05:00
YoshiRulz
d8a92af617
Move Comm and Input Lua libraries to Client.Common
2020-07-26 05:38:55 +10:00
YoshiRulz
2b50f4f112
Cleanup ApiContainer
2020-07-26 05:34:58 +10:00
YoshiRulz
911cb096de
Merge ApiContainer and ApiSubsetContainer
...
(also merge DelegatingLuaLibrary and DelegatingLuaLibraryEmu)
Not sure why this wasn't done earlier, there doesn't seem to be any technical
roadblocks. The contract of the API provider requires an implementation for
IEmuClientApi et al. so they (all 15 interfaces) are free to be used from
Client.Common.
2020-07-26 05:29:04 +10:00
YoshiRulz
1fa7395e20
Screw around with networking helper init
2020-07-26 05:15:56 +10:00
YoshiRulz
1912851186
Expose networking classes in CommApi, delegate its Lua ver. to ApiHawk
...
HttpTest/HttpTestGet in the .NET API now return null instead of throwing (Lua
still throws)
2020-07-26 05:03:58 +10:00
YoshiRulz
da5f76967f
Inline TestGet
2020-07-26 05:01:58 +10:00
YoshiRulz
a931d75143
Add string overload for WriteToFile
...
and also use UTF-8 instead of ASCII to match reads -_-
2020-07-26 04:45:59 +10:00
YoshiRulz
b7eb90f990
Add public prop for setting IP+port simultaneously
2020-07-26 04:34:06 +10:00
YoshiRulz
6acf4ae6fb
Tiny ToolManager.Load cleanup 2 electric boogaloo
...
see 2d6bac879
, 7c3ccd664
2020-07-26 03:49:59 +10:00
adelikat
1f6ead6354
now that restore is on mouse up instead of mouse down, we need to auto-unpause the emulator (if it were paused before editing input) on mouse up instead of mouse down. Mouse down was causing unpausing while painting which caused input to be added without invalidating greenzone. This code introduces unpausing as long as there is not a need to invalidate (if the user only painted down). If the user paints up beyond the original mouse down event it will invalidate and seek to the original mouse down frame and pause.
2020-07-25 10:42:07 -05:00
adelikat
7c3ccd6646
Revert "Tiny ToolManager.Load cleanup"
...
This reverts commit 2d6bac8798
.
2020-07-25 09:26:47 -05:00
adelikat
4a6b3e407a
TasMovie - InvalidateAfter - flag changes if Lag OR States were invalidated, increment rerecords on only on state invalidation not lag validation, this may address 2168
2020-07-25 09:09:43 -05:00
adelikat
4439310250
remove unused method
2020-07-25 08:39:40 -05: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
2d6bac8798
Tiny ToolManager.Load cleanup
2020-07-25 08:44:50 +10:00
YoshiRulz
0fc3ac2105
Don't need this anymore
...
no idea when that happened sorry
2020-07-25 08:30:15 +10:00
adelikat
b0c76f28ca
PCETileViewer - remove unnecessary load event
2020-07-24 14:50:01 -05:00
adelikat
0ed95429cb
simplify some closing closing logic in some tools
2020-07-24 14:36:34 -05:00
adelikat
4f2bf8071e
fix a few tools I missed in previous commit
2020-07-24 14:32:29 -05:00
adelikat
e7e5ebfa90
have tool manager automatically add a Close button to any tool with a File menu, removes a lot of boilerplate from tools, also gives consistency, since half the tools had Close, half had Exit and not all had the shortcut display string
2020-07-24 14:21:53 -05:00
adelikat
d67f97c4e1
Tasutido - slight simplification
2020-07-24 13:20:24 -05:00
adelikat
a51eba88da
move some repetitive logic from tools to the RollColumns class
2020-07-24 13:17:03 -05:00
adelikat
4a3e2113af
convert RamSearch to IToolFormAutoConfig
2020-07-24 12:29:26 -05:00
adelikat
f1a9ba7a08
Ram Search - watch options and settings menu item names
2020-07-24 12:11:34 -05:00
adelikat
c26659187e
convert RamWatch to IToolFormAutoconfig
2020-07-24 12:03:23 -05:00
adelikat
42864977cb
Convert cheats tool to use IToolFormAutoConfig
2020-07-24 11:52:44 -05:00
David Ackroyd
a416841770
clone x times ( #2242 )
...
* tasstudio: clone sequence of inputs x times
* extend frameprompt so that you can put in a custom messagfe
* making FramesPrompt designer compatible
2020-07-24 10:18:15 -05:00
YoshiRulz
e36098becf
A little dedup
2020-07-24 13:33:12 +10:00
adelikat
39424891b4
virtualpads - add another constructor overload to simplify schema classes more
2020-07-23 17:42:36 -05:00
adelikat
6b921c91fb
remove another unused image
2020-07-23 17:09:04 -05:00
adelikat
35d3a7e716
Ram Search - fix typo in menu Option "Always Exclude From Ram Search" to "Always Exclude From Ram Watch"
2020-07-23 17:06:28 -05:00
adelikat
d6be73f395
silly that visual studio rename doesn't save changes on open files, add a bunch of non-saved things, also consolidate two refresh images into 1
2020-07-23 16:55:51 -05:00
adelikat
ed8912db92
rename and reorg stuff in Resources.cs
2020-07-23 16:51:29 -05:00
adelikat
bda8a5ed4e
implement SGX virtual pads
2020-07-23 16:35:09 -05:00
adelikat
a1c6092de1
c64 virtualpad - fix a few keyboard buttons that were not mapped to a key
2020-07-23 16:32:57 -05:00
adelikat
34da24933a
remove more unused images, start using c64 symbol on c64 virtualpad
2020-07-23 16:32:57 -05:00
nattthebear
1c606c1eb6
waterbox - expose read-only information about the guest memory page table
2020-07-23 16:08:24 -04:00
adelikat
e778e5248d
remove a bunch of unused images that we don't intend to use, make lua console menu item image consistent wtih the dialog image
2020-07-23 14:56:48 -05:00
adelikat
4d24b0bcf0
remove some unused usings
2020-07-23 14:25:39 -05:00
adelikat
ae6d512e11
durp
2020-07-22 16:31:52 -05:00
adelikat
5dd65c0ee8
add an osd message when a rewinder is created
2020-07-22 16:24:25 -05:00
YoshiRulz
966a2abe3f
Call base.Dispose to banish warning
2020-07-22 06:34:32 +10:00
nattthebear
85be93c9d2
What was this?
...
Apparently we had random crashes in savestate on waterbox since some recent dev commit woops my bad
2020-07-21 15:43:28 -04:00
YoshiRulz
6371766130
Remove redundant semicolon
2020-07-20 23:42:42 +10:00
YoshiRulz
86e82b97c1
Cleanup internals of comms APIs
2020-07-20 23:42:35 +10:00
adelikat
d94ce80eaa
Tastudio - gracefully fallback to a new tasproj when attempting to load a .tasproj from another core
2020-07-19 16:47:54 -05:00
adelikat
1162e89675
a slight hack to fix Tastudio when loading a different rom while it is open
2020-07-19 15:09:26 -05:00
adelikat
ffd255bb8e
on tool restart, update base properties (particularly needs the Game property to update)
2020-07-19 14:50:05 -05:00
adelikat
4e6d190d48
Tastudio - check MainForm.GameIsClosing in a better place
2020-07-19 14:26:49 -05:00
adelikat
b6cfb9aab7
remove restarting of trace loger in CloseGame, the ToolManager handles this logic just fine
2020-07-19 14:05:46 -05:00
adelikat
f7f6839e6c
fix NRE of Trace Logger close, if the Trace Logger was not used before closing
2020-07-19 13:56:27 -05:00
adelikat
ddbeabf198
Tastudio - pointless refactors
2020-07-19 13:30:07 -05:00
YoshiRulz
86829751aa
Scale VirtualPadAnalogStick correctly when the range isn't ~256 values
2020-07-20 03:18:49 +10:00
adelikat
f6273f2f92
Virtualpads - flip the read-only flag when a movie changes from read-only to another mode
2020-07-19 11:12:38 -05:00
alyosha-tas
77a958af8e
O2: fix mousing cat (timer divider was wrong)
2020-07-18 17:04:24 -04:00
adelikat
74a57c320e
Saturn Virtual pads - fix L/R 3d controller values
2020-07-18 13:36:31 -05:00
adelikat
59661fea86
Tastudio - fix "New" menu item broken by last commit
2020-07-18 13:26:21 -05:00
adelikat
0925997557
have Tastudio control RebootCore when it is open, fixes #2201
2020-07-18 10:24:46 -05:00
alyosha-tas
d8056b3deb
Move code to avoid NRE
2020-07-14 19:18:59 -04:00
adelikat
219b33732c
make TasMovie Emulator null check a bit clearer as to what is going on
2020-07-14 17:47:22 -05:00
adelikat
7040eca741
tastudio - simplify image setting
2020-07-14 17:43:31 -05:00
alyosha-tas
6f461c715d
TAStudio: Fix #2191 with a null check
2020-07-14 17:02:52 -04:00
adelikat
5515e9fea7
Tastudio - add some paranoia checks when drawing markers and branches. This happened one time while debugging and I couldn't reproduce, but it is possible the controls might need be told to redraw while still rebooting the core, in which case there is no TasMovie to read from yet, so check for null
2020-07-13 19:39:29 -05:00
adelikat
946ff45608
Tastudio - just print "File saved" instead of the filename since it is redundant to the Title which has the filename, and it overlaps other text in the status bar, fixes #2142
2020-07-13 19:15:30 -05:00
nattthebear
175556529e
waterboxhost refactor
...
Set up a second mirror of guest memory; easily accomplished because we were already using memfd_create / CreateFileMappingW.
This lets us simplify a lot of host code that has to access guest memory that may not be active right now, or might have been mprotect()ed to something weird. Activate is only needed now to run guest code, or when the C# side wants to peer into guest memory for memory domains and such (waterboxhost does not share the mirror address with the C# side).
2020-07-13 19:38:29 -04:00
adelikat
40e19e64fe
oops
2020-07-13 17:25:16 -05:00
adelikat
b87f976c39
remove some unused usings
2020-07-13 15:01:14 -05:00
adelikat
6a3b014fe3
make a thing readonly
2020-07-13 12:06:48 -05:00
nattthebear
59be09b515
Make picodrive work again
...
All picodrive games were broken by 316a9d1568
2020-07-13 06:16:16 -04:00
nattthebear
5a1b5915bf
Fix compiling on ancient compilers, and add a global.json which restricts bizhawk to ancient compilers
2020-07-12 17:24:12 -04:00
nattthebear
570f17cedd
Bit more W65816 disassembler cleanup
2020-07-12 17:14:47 -04:00
adelikat
316a9d1568
gamedb - replace pico with picodrive, remove core name look up in romloader in favor of this pico change combined with a case insensitive compare
2020-07-12 16:10:01 -05:00
adelikat
b22a1070a4
W65816 Disassembler - assign ibuf to null, so it compiles
2020-07-12 16:06:45 -05:00
adelikat
ed9b7b3eb1
Lua address several memory leaks - when a script stops, take any registered functions and spawn new threads for them to execute, and regularly dispose them. Also, the main lua thread needs to have scheduled disposes run on it, even if there is no active scripts (it was being run as part of disposing individual scripts, needs refactoring). All of this fixes #1920
2020-07-12 15:48:50 -05:00
nattthebear
9278c526d0
fix a few compiler warnings
2020-07-12 16:02:26 -04:00
adelikat
1e3324cfab
Registered Lua Functions dialog - update when a lua script unregisters a file, make dupating more robust to catch other possible scenarios where it failed to update
2020-07-12 13:19:48 -05:00
adelikat
c4bcb2451a
remove now unused class in RomLoader.cs
2020-07-12 13:03:32 -05:00
adelikat
05709628e8
remove a jillion unused usings in RomLoader.cs
2020-07-12 13:02:12 -05:00
adelikat
40ad7ed67e
Lua - account for callbacks with no parent script creating more callbacks by generating a mock lua file with a new thread, and register the thread with the sandbox. Fixes #1983 . Not super proud of this.
2020-07-12 12:58:43 -05:00
nattthebear
021b1639c2
Remove special code for UnsupportedGameException in RomLoader
...
This shouldn't be needed anymore
2020-07-12 13:48:46 -04:00
nattthebear
78bbc75f33
multi rom loading by xml all uses core inventory now
2020-07-12 13:45:33 -04:00
nattthebear
8d56b65734
Convert all single-CD loading to use CoreInventory
2020-07-12 13:21:10 -04:00
nattthebear
ab07e67a07
PCEHawk: Use CoreLoadParameters for cd mode
2020-07-12 13:06:15 -04:00
nattthebear
744a9a97d0
Remove custom loader code for ChannelF
2020-07-12 12:54:36 -04:00
nattthebear
5c5ffed5ff
Next piece of the puzzle
...
This probably breaks something. I am sorry, grab me and I'll fix it
2020-07-12 12:52:27 -04:00
adelikat
33a0954087
lua console - fix recent scripts not updating when creating a new script, opening a script, or duplicating a script. Might be other scenarios that are currently missing (regression from some refactors about a month ago)
2020-07-12 11:12:29 -05:00
nattthebear
4ad89667d6
This will get simpler I promise
2020-07-12 11:37:06 -04:00
nattthebear
6f218ff20b
Remove a benign null reference exception
...
This was in a try catch so you got the null you needed anyway, but it could be confusing to see in a debugger report
2020-07-12 11:10:57 -04:00
alyosha-tas
06fa96e335
O2: finish g7400 graphics set
2020-07-12 10:44:11 -04:00
nattthebear
81d0b4ec9e
Revert "Replace dynamic type w/ casts in CoreInventory/CLP"
...
This reverts commit 9ee4821148
.
# Conflicts:
# src/BizHawk.Emulation.Cores/CoreLoadParameters.cs
This didn't actually work, so revisit later
2020-07-12 10:18:08 -04:00
nattthebear
f41a70ef32
swish swish
2020-07-12 09:06:20 -04:00
alyosha-tas
f5efbff1d3
O2: more g7400 work
2020-07-12 09:03:28 -04:00
nattthebear
9072614dfb
romloader cleanup
2020-07-12 08:09:50 -04:00
nattthebear
dc8615ca06
fix compile, sorry sorry
2020-07-12 07:36:06 -04:00
nattthebear
80793836d3
Use CoreLoadParameters on dual gambatte
2020-07-12 07:28:06 -04:00
nattthebear
9d9dd8a0fd
More romloader stuff
...
It'll all come together eventually
2020-07-12 07:08:52 -04:00
YoshiRulz
9ee4821148
Replace dynamic type w/ casts in CoreInventory/CLP
...
dynamic introduced in cc9d7df9f
2020-07-12 17:30:10 +10:00
adelikat
c712bde84e
remove firmware manager dependency from RomLoader, and a few other cleanups
2020-07-11 20:10:23 -05:00
nattthebear
467f0aff2b
Refactor 32x loading
...
less code is good good
2020-07-11 20:38:09 -04:00
nattthebear
502aef73a0
Clean up ti 83 loading. Probably works, but I have nothing to test against it
2020-07-11 20:31:36 -04:00
adelikat
8900618ce1
respect the Movie end type when loading .tasproj files outside of tastudio
2020-07-11 18:52:52 -05:00
adelikat
1f39160999
give up on the idea of throwing an exception when attaching a core to a movie. The reason this doesn't work is that restart movie keeps the movie in memory (which was previously attached). This commit decrees that it is safe to keep a movie in memory, and attach to a new instance of the same core. The alternative is that movies would have to save and load on restart which is slow and may not be desired
2020-07-11 18:03:53 -05:00
nattthebear
86ac6eadcc
Romloader omega refactor: Use CoreLoadParameters for PSX
2020-07-11 18:47:56 -04:00
nattthebear
6657917281
Fix parse error loading CCD files
2020-07-11 18:47:56 -04:00
adelikat
9d054d19f6
bk2 and tasproj movies - respect the preload flag, only loads header and inputlog. This speeds up the play movie dialog by 50-100%, a lot more if there is a large sizeable .tasproj files in the folder
2020-07-11 17:06:40 -05:00
adelikat
a19791a212
Fm2Import - warn about ignoring the famicom port, instead of a full error, apparently movies can have this port set, but to none, so importing the movie can still be successful, for example: http://tasvideos.org/6739S.html , fixes #1989
2020-07-11 15:57:08 -05:00
nattthebear
7e2251b795
Fix the CoreLoadParameters <-> CoreInventory interop
2020-07-11 16:46:16 -04:00
nattthebear
dbb73805db
error message cleanup
...
Once everything is unified, we'll probably hit this path once in a while
2020-07-11 16:46:16 -04:00
nattthebear
cc9d7df9f7
WIP of some romloader cleanups
...
This one commit doesn't make things cleaner by itself, no. The rough idea is that eventually (R) we'll pass all cores that currently use mangled arse-custom constructors with custom code all o'er the place a single, awesome, CoreLoadParameters object.
Then the romloader can be changed to just synthesize this object on one common codepath, some bs for core preferences, and boom everything is perfect. Sort of.
2020-07-11 16:46:16 -04:00
adelikat
3a820302e3
improve name of a method
2020-07-11 15:42:47 -05:00
adelikat
e5dc473203
inputroll - make escape clear selected items, this was being done custom in ram search but makes sense to be a consistent feature. It's possible people will be upset with this in tastudio since this is new functionality (and not in taseditor either)
2020-07-11 15:41:45 -05:00
adelikat
d44e96f535
remove some redundant code
2020-07-11 15:35:50 -05:00
adelikat
aeaf6aa282
add some KeyCode extension methods to make KeyUp/Down event methods easier to read
2020-07-11 15:35:00 -05:00
alyosha-tas
e29d024a90
O2: graphics work
2020-07-11 16:31:42 -04:00
adelikat
be93903c12
Play Movie dialog - properly show tooltips for detail values, also show expected vs actual (only works on the key column though, because winforms is poo), fixes #1888
2020-07-11 14:53:51 -05:00
adelikat
196934bd56
Tastudio - fix TasSession loading, fixes #2063
2020-07-11 14:28:21 -05:00
adelikat
cb575d36b4
add an option to InputRoll for "Selection when paging", as a bit of a hack to revert Tastudio back to its old PgUp/Dn behavior, while still keeping the current behavior for other input roll usages (as it makes more sense for traditional listview behavior). Fixes #2074
2020-07-11 13:49:00 -05:00
nattthebear
4343414937
Enable hypernyma for uhh, the thing. Yeah, CD games, that thing.
...
I had tested this locally some during original development, but turned it off at some point and forgot to turn it back on.
2020-07-11 13:59:05 -04:00
nattthebear
bd413738a1
Fix nyma core bug with layer settings
...
If you tried to load a nyma core with any of your layers disabled, you would crash
2020-07-11 13:56:43 -04:00
nattthebear
0578443338
Slight modification to previous commit: Keep config forward compatibility in this case.
...
That way, if somedev tries to bisect something, they don't get pooped on by their config.
2020-07-11 13:47:28 -04:00
nattthebear
bcbf124f21
Don't use fragile fully qualified typenames to resolve setting and sync setting types in config files.
...
Instead, the frontend must know what the type will be ahead of time.
TODO: Apply the same fix to mooovies
2020-07-11 13:40:25 -04:00
nattthebear
a28ca37cfb
Fix issue with settings adapter ( #2223 )
...
This would fail to work on any core that used the serviceprovider to provide a settings definition that wasn't on the iemulator itself? Guess we never did that
2020-07-11 13:35:09 -04:00
adelikat
9820fb0879
lua - implement tastudio.submitclearframes(), fixes #2170
2020-07-11 12:19:27 -05:00
nattthebear
4639c1f2ca
minor cleanup of calling convention adapters
...
sync the generator code with the generated code, remove useless endbr64 shit
2020-07-11 11:09:48 -04:00
alyosha-tas
2ed8af145e
O2: default to O2 still
2020-07-11 09:11:35 -04:00
alyosha-tas
1e90dbc978
O2: Make G7400 part of the O2 core instead, not worth a serperatecore
2020-07-11 09:05:38 -04:00
alyosha-tas
39bbe30b8e
O2: fix sprite shifting and add some homebrew to DB
2020-07-11 08:29:11 -04:00
adelikat
1bf8f80510
Subtitle Editor - add a color picker for editing the subtitle color, fixes #1554
2020-07-09 19:24:44 -05:00
YoshiRulz
38d24901cf
Fix 4-octet peeks by Hex Editor having 2 zeroed octets
...
dumb typo
2020-07-10 03:39:02 +10:00
nattthebear
27a5fcdd20
Get rid of some old-style system assembly references
2020-07-09 07:22:19 -04:00
nattthebear
7495a08b9b
Huh?????????????
...
Random LDAP garbage, not used, ever, and has just been hanging out there for 8 years. You won't be missed!
2020-07-09 07:15:02 -04:00
alyosha-tas
7f28bc2caf
Fimware: Fix #2207 and add entry for g7400
2020-07-07 17:59:20 -04:00
nattthebear
c8985e3007
Waterbox: Stack Marshalling ( #2209 )
...
Waterbox guest code now runs on a stack inside the guest memory space. This removes some potential opportunities for nondeterminism and makes future porting of libco-enabled cores easier.
2020-07-07 17:48:12 -04:00
RetroEdit
ce60cb101a
Simplify some DialogResult code. ( #2213 )
2020-07-07 15:09:41 -05:00
YoshiRulz
fa7613d481
Pass IMainForm props in PresentationPanel ctor instead
2020-07-08 02:48:04 +10:00
RetroEdit
9a45d88301
More concise FrameRate definition; comment tweaks ( #2210 )
2020-07-07 11:36:42 -05:00
YoshiRulz
ca646f87cf
Fix style problems, mainly docs
2020-07-08 02:17:31 +10:00
YoshiRulz
b0f38a4d91
Shuffle code in AvFrameAdvance to eliminate goto
2020-07-08 02:17:28 +10:00
YoshiRulz
33d8f4a62c
Add RigidMultiPredicateSort to replace some .ThenBy() boilerplate
...
As documented, the class "Sorts using a single primary predicate, with subsorts
using the remaining predicates in order." So only the most recent
column-header-click is taken into account. I've got a WIP class in #if false for
providing the "remember which column headers I clicked and in which order"
behaviour, but it doesn't look like that behaviour actually exists in the
codebase?
2020-07-08 02:17:24 +10:00
hegyak
2dc28ecc4c
Merge pull request #2204 from hegyak/master
...
Firmware Renaming Unification/Changes. This is Aesthetic.
2020-07-07 05:50:23 -07:00
RetroEdit
9cdf0abc0c
Retype IMovie.TimeLength to TimeSpan; cleanup frame rate code ( #2206 )
...
* Retype IMovie.TimeLength to TimeSpan; cleanup frame rate code
* More concise IsPal field.
2020-07-06 16:24:04 -05:00
alyosha-tas
f52b02d499
Start wok on G7400
2020-07-06 15:19:57 -04:00
hegyak
f430df9575
Firmware Rename (2)
...
Fixed KoF 95 and Ultraman
2020-07-06 11:55:13 -07:00
hegyak
6a73dd0115
Firmware Rename
...
Rename All the Firmware Files to have a more Unified Naming Convention
2020-07-06 10:46:56 -07:00
alyosha-tas
fee733480f
O2Hawk: change PAL timing
2020-07-06 09:38:24 -04:00
alyosha-tas
694b3d88d3
GBhawk: fine tune tilt range some more and fix savestate
2020-07-05 18:39:06 -04:00
RetroEdit
c12d2fa570
EmuVersion needs updating on saving, not loading; I made the wrong call of where to put this originally, but the interaction with PlayMovie slipped my mind. ( #2202 )
2020-07-05 16:29:06 -05:00
adelikat
72993a3bd0
don't double load movie files when pre-loading, remove unused HawkFile parameter
2020-07-05 15:31:43 -05:00
adelikat
624493e6e2
simplify splitter distance loading with an extension method
2020-07-05 15:01:08 -05:00
alyosha-tas
fa7ac3d4c1
A7800Hawk: Fix pokey 0x450 detection
2020-07-05 15:45:08 -04:00
alyosha-tas
6f809de609
Add default DS paths ( fixes #2062 )
2020-07-05 13:54:36 -04:00
RetroEdit
0b07e38bdf
Update emuVersion each time the movie is opened; OriginalEmuVersion preserves old behavior. ( #2193 )
2020-07-05 11:21:01 -05:00
RetroEdit
9e980c7732
Merge redundant copy-pasted movie loading code. ( #2197 )
2020-07-05 09:48:46 -05:00
alyosha-tas
ef0f4b2b96
TAStudio: Don't erase states if they exist already when attaching an emulator instance ( fixes #2057 )
2020-07-05 09:55:38 -04:00
alyosha-tas
d900053dad
TAStudio: Allow insertion of multiple frames at end of movie ( fixes #2169 )
2020-07-05 09:54:35 -04:00
alyosha-tas
34f99922cd
TAStudio: use path.combine now, as well as fix a usage of '\' for filename display in .bk2
2020-07-04 19:07:38 -04:00
alyosha-tas
e215f99f74
GBHawk: increase MBC7 asselerometer return value range
2020-07-04 18:44:34 -04:00
alyosha-tas
4b59282fdf
TAStudio: bounds check previous commit
2020-07-04 11:00:40 -04:00
alyosha-tas
a72286eb5a
TAStudio: More analog control jump fixes
2020-07-04 10:17:01 -04:00
adelikat
d775067037
move BreakpointList to Client.Common
2020-07-03 19:49:29 -05:00
adelikat
2cbe0fb3d9
remove unused GenDbgWin tool
2020-07-03 19:42:09 -05:00
adelikat
9e2b2a9b91
remove pointless name and text parameters from MenuStripEx
2020-07-03 19:26:01 -05:00
alyosha-tas
3dba6857bc
GBHawk: increase range for tilt input
2020-07-03 19:57:29 -04:00
nattthebear
054efa4bdd
Helps if you actually serialize the thing you're serializing
2020-07-03 18:31:21 -04:00
nattthebear
3a18f6356d
Rebuild all of waterbox as sysvabi, not msabi
...
This helps linux at the expense of windows, except it seems like windows gets a nice little speed up as well
2020-07-03 18:21:48 -04:00
alyosha-tas
35fdec2132
Use a forward slash instead. the file name will display incorrect (as Movie/name) when first loaded, but at least it's in the right place.
2020-07-03 17:40:52 -04:00
alyosha-tas
53b61d9cfa
TAStudio: add trailing slash so loading a bk2 multiple times properly puts the file in the movies folder
2020-07-03 17:05:07 -04:00
alyosha-tas
32031d0f67
Atari 7800: support serpentine
2020-07-03 16:07:26 -04:00
adelikat
ce0a529362
pass InputManager dependencies to more virtualpad controls
2020-07-03 14:50:57 -05:00
adelikat
2be1d04182
cleanup ToolStripEx
2020-07-03 14:29:48 -05:00
adelikat
728a946470
pass InputManager to tools, remove other usages of GlobalWin in various tools
2020-07-03 14:26:08 -05:00
adelikat
20a1a49851
remove unnecessary usage of GlobalWin.Emulator (instance was already being passed in)
2020-07-03 13:34:17 -05:00
adelikat
8bb055b392
FilePreferences config - fix message when clicking ok, reduce dependency from the entire config file to the only object it sets, remove usage of GlobalWin
2020-07-03 13:31:47 -05:00
adelikat
7ab20f5667
mainform - a few simplifications
2020-07-03 13:10:48 -05:00
adelikat
c681be033d
rename an interface
2020-07-03 12:59:10 -05:00
nattthebear
2ee3125724
Refactor gpgx init method to use fewer arguments
...
Upcoming waterbox changes will likely limit the number of arguments a function can take to 6, which should be enough for anybody
2020-07-03 13:24:54 -04:00
adelikat
c64eff6baf
reorg controller and input adapter classes
2020-07-03 11:54:10 -05:00
adelikat
6db1d7e61d
cleanups
2020-07-03 11:39:50 -05:00
adelikat
d9e563a655
simplify setting the font style of a ToolStripMenuItemEx
2020-07-03 11:08:48 -05:00
adelikat
715e457a4e
Mainform - property wrapper for GlobalWin.OSD
2020-07-03 11:08:48 -05:00
adelikat
910c37d434
move some logic from mainform to InputManager
2020-07-03 11:08:48 -05:00
adelikat
a3c586b480
mainform - use InputManager property instead of GlobalWin reference
2020-07-03 11:08:48 -05:00
nattthebear
42ceba7d21
Fix linux waterbox
...
Sorry about that -- some things were removed but not others to go with them. It had been working before.
2020-07-03 12:02:11 -04:00
nattthebear
2c2ed72dc6
Remove some unused variables
...
Leftovers from a zwinder refactor
2020-07-03 11:48:51 -04:00
nattthebear
fa5885d7a1
Rewrite WaterboxHost in rust. ( #2190 )
...
This replaces the old managed one. The only direct effect of this is to fix some hard to reproduce crashes in bsnes.
In the long run, we'll use this new code to help build more waterbox features.
2020-07-03 11:45:59 -04:00
adelikat
374964bfb0
a few mainform simplifications
2020-07-03 10:07:56 -05:00
alyosha-tas
e3afead876
SubGBHawk: have TotalExecutedCycles reflect run time
2020-07-03 10:40:17 -04:00
nattthebear
2f18ad5be1
Defer deserialization of core config
...
That was simple. No config file change either. Doesn't seem to have a noticeable effect on startup speed, but it's not any slower, and we're more resilient to core changes now.
2020-07-03 05:54:01 -04:00
adelikat
eede99a505
simplify a few mainform methods with the ToClipBoard() extension method
2020-07-02 17:26:09 -05:00
alyosha-tas
b09b9681e2
TAStudio: don't jump to greenzone on single mouse click of analog cell (this is not an edit event.)
2020-07-02 17:46:21 -04:00
adelikat
be2ba08c10
remove unused method
2020-07-02 13:30:28 -05:00
adelikat
82ae83919a
Lua Console - cleanup
2020-07-02 12:57:02 -05:00
adelikat
fbbe3b6e40
LuaConsole - bump message count max to 100, clear count after using the command input box on the console
2020-07-02 12:33:41 -05:00
adelikat
bb7f933429
Lua - refactor console logging to use a string builder to concat messages, reduces the actual call to the console to 1 call, greatly improving performance (less calls to scrolling and other methods that invoke drawing)
2020-07-02 12:29:37 -05:00
adelikat
8e79f0d5e2
LuaConsole - warn when message cap has been reached
2020-07-02 12:15:02 -05:00
adelikat
ee263fbfbf
LuaConsole - simplify WriteToOutputWindow some
2020-07-02 12:10:15 -05:00
adelikat
12897bb00d
default to TurboNyma instead of PCEHawk - fixes #2122
2020-07-02 09:09:00 -05:00
adelikat
d60e5dc1a2
change View Log Window menu item to Open Log Window, with some different styling, fixes #2110
2020-07-02 08:56:16 -05:00
adelikat
a1278df02e
add icon to MacroInput
2020-07-02 08:40:03 -05:00
adelikat
21823196fc
Add some menu "Ex" controls ( #2187 )
...
* add MenuItemEx and StatusLabelEx and use in MainForm
* use ToolStripMenuItemEx
* use ToolStripSeparatorEx
* fix toolbox sizing
2020-07-02 08:35:15 -05:00
YoshiRulz
1360210331
This was flooding stdout in Release builds
2020-07-02 10:08:26 +10:00
YoshiRulz
4f9d9d29ef
Fix NRE on clicking RecordMovie's browse button ( fixes #2185 )
2020-07-02 10:05:55 +10:00
zeromus
ffabb48f07
remove TopMost from commondialogs (OpenFileDialog, etc.). Fixes #2182 but it is unclear what this was intended to fix in the first place. please gather more information
2020-07-01 14:18:09 -04:00
adelikat
edc31793cf
StatusStripEx, ToolStripEx - lock down size and text properties
2020-07-01 13:13:24 -05:00
adelikat
bf03f3861a
ToolStripEx - don't have a size option (toolstrips flow), or location (they are always 0,0)
2020-07-01 13:04:08 -05:00
adelikat
52f2596492
Move ToolStripEx to WinForms.Controls, break into separate files, add namespaces, make ClickThrough built in instead of an option (if the functionality isn't desired just use the original class)
2020-07-01 12:55:21 -05:00
YoshiRulz
07c6063da1
Slightly change execution order in MainForm ctor ( fixes #2184 )
2020-07-01 19:10:34 +10:00
adelikat
498ba66e8c
Revert "cleanup some icon images by removing some unnecessary resolutions (large images and low bit images)"
...
This reverts commit b40812798b
.
2020-06-30 18:08:09 -05:00
adelikat
5ef46b9969
log window icon
2020-06-30 18:08:09 -05:00
nattthebear
6e938718f5
bizinvoker - fix a bug that caused the CLR to reject any [BizInvoke, Compatibility = false] method with a string parameter in any position except the first
...
According to the rules (which are hard to find), there must be nothing on the evaluation stack when localloc is called (except its own size parameter). The generated string interop code didn't respect that. This didn't cause any problems in existing code.
2020-06-30 17:56:11 -04:00
adelikat
ef311576ee
Use LastInputColor config value instead of hardcoded color
2020-06-30 16:40:00 -05:00
adelikat
e5bbec1800
Message Config - Simplify code and some cleanup ( #2183 )
...
* move messageConfig to its own folder
* start MessageEdit user control
* more setup
* wire stuff up
* progress
* progress
* fixes and cleanup
* start mesage row component
* move method from MessageConfig to extension method
* MessageRow - progress
* progress
* Message row - progress
* progress
* fix initial load
* fix Restore btn
* use RadioButtonEx
* start ColorRow user control
* progress
* progress
* progress
* rename
* make color picker work
* cleanup
* cleanup
* Message config - don't immediate set config values on restore defaults, allow user to press ok or cancel to decide to actually save
* cleanup
* cleanup
2020-06-30 16:16:54 -05:00
alyosha-tas
7aa1a497f7
GBHawk: only latch new window y value if greater then current line (fixes pokemon crystal artifact)
2020-06-30 17:15:00 -04:00
YoshiRulz
dddeab8e12
Refactor UndoHistory
2020-06-30 14:25:02 +10:00
YoshiRulz
05eaf2cfb7
Fix wrapping of 2 labels in DisplayConfig
...
fixes 64d14a7f9
2020-06-30 13:20:39 +10:00
YoshiRulz
cba0eada69
More nullability
2020-06-30 12:57:57 +10:00
YoshiRulz
52203314ca
Misc. style fixes
2020-06-30 11:32:52 +10:00
YoshiRulz
62537118ac
Add GetPanelNativeSize() to DisplayManager
...
not really that helpful, but removes the annoying dependency on
PresentationPanel from IEmuHawkMainForm (ready for move to Client.Common)
2020-06-30 11:02:17 +10:00
YoshiRulz
962ac0d9d4
Extract interface from MainForm
2020-06-30 11:02:17 +10:00
YoshiRulz
e3c54b2268
Change some MainForm event handlers to delegate typed properties
...
makes encapsulation easier
2020-06-30 11:02:17 +10:00
nattthebear
499b59a0bd
zwinder refactoring
...
Looks like a big diff, but isn't. It separates the zwinder buffer part (which does most of the work) with the rewinder impl on top of it. This is part of the effort for a zwinderstatemanager for tastudio, which isn't done yet, but these changes can come in just fine
2020-06-29 15:55:53 -04:00
adelikat
ed49e58489
remove some references to multitrack in some comments
2020-06-29 10:37:05 -05:00
adelikat
452611477b
delete multitrack message position config values, and message config ui, also reposition thingsin message config and fix some positioining, hence designer barf
2020-06-29 10:32:04 -05:00
scrimpeh
1c82340cac
ram search - fix loading of wch files
2020-06-29 09:01:33 -05:00
adelikat
64d14a7f92
mass replace System.Forms.Label with LocLabelEx
2020-06-29 09:00:05 -05:00
adelikat
80599ddbe8
BatchRun - use LabelLocEx
2020-06-29 09:00:05 -05:00
YoshiRulz
141541bc1f
Pass delegates instead of MainForm to RewindConfig
2020-06-29 14:47:53 +10:00
YoshiRulz
e4df38602b
Pass delegates instead of MainForm to BatchRunner
2020-06-29 14:47:51 +10:00
YoshiRulz
c0aefd438a
Pass delegates instead of MainForm to OpenAdvancedChooser
2020-06-29 14:47:44 +10:00
YoshiRulz
4f4a875382
Pass delegates instead of MainForm to EmuHawkOptions
2020-06-29 14:47:42 +10:00
adelikat
b40812798b
cleanup some icon images by removing some unnecessary resolutions (large images and low bit images)
2020-06-28 15:11:02 -05:00
adelikat
3c9a7ff7a5
Multidisk bundler - use LocLabelEx
2020-06-28 13:29:38 -05:00
scrimpeh
286b56de5a
ram search - pr fixes. also remove out of range searches in ramsearch
...
- adds a static IsValid method to IMiniWatch implementations
- reverts .csproj changes
- 'remove out of range' button on ram search didn't seem to actually do anything. this was fixed
2020-06-28 12:29:49 -05:00
scrimpeh
c8ca09724c
ram watch - fix two minor bugs
...
fixes two minor bugs relating to ram watch display type
1.binary display was broken on 32 bit watches
2.changing a watch's size to one with an incompatible display type resulted in an exception (e.g. 32 bit float -> 8 bit unsigned)
2020-06-28 12:29:49 -05:00
scrimpeh
f9e174fd2d
ram search - incorporate domain checking
2020-06-28 12:29:49 -05:00
scrimpeh
1721e4f9ea
ram watch - add IsValid method
2020-06-28 12:29:49 -05:00
adelikat
cacf04f8ca
N64pluginConfig - replace Label wtih LocLabelEx
2020-06-28 09:04:16 -05:00
adelikat
4d53efcf85
N64 plugin config - use property grid in video plugin tabs
2020-06-28 09:04:16 -05:00
adelikat
ff4eda68c8
N64 plugin config - remove use of GameInfo that was nonsense. It was setting per game hacks to GameInfo settings if enabled, but these values are already overridden on RomLoad, so this code was doing nothing
2020-06-28 09:04:16 -05:00
zeromus
bc0849ad9d
add a path entry for libretro ROM, even though it doesn't make sense, because it just isn't worth making sure every consumer of the ROM path is prepared for the possibility that ROM may be missing. This fixes #2176 , but there's any number of other settings we could choose.
2020-06-27 22:32:51 -04:00
YoshiRulz
4f7c1a0b76
Enable nullability in AxisSpec and related types
2020-06-26 15:03:28 +10:00
YoshiRulz
d0f96339ce
Fix reboot.png; no clue what was wrong but the warning is gone
...
for reference, I converted it to .bmp and back w/ ImageMagick
the warning was to stderr and it read `libpng warning: sRGB: cHRM chunk does not
match sRGB`
2020-06-26 14:45:33 +10:00
YoshiRulz
69146b04b2
Add and use DEBUG-conditional WriteLine methods
2020-06-26 14:37:36 +10:00
diddily
46e744cd33
Catch and retry when DirectSound crashes (squashed PR #2166 , fixes #1212 )
...
* Handling for BufferLost
Fixes issue #1212 where adding/removing headphones would lead to a crash by restoring the sound device when it's detected and being defensive with exception handling.
* Internalize the handling of buffer lost and make it a bit more efficient.
Remove interface function for SoundLost and move the logic to soley live inside DirectSoundOutput. Additionally I discovered I did not need to tear down the entire device to restore sound, typically Restore() and Play() handle it. Still need to wrap every place that can throw an exception in a try/catch block and wait for WriteSamples to handle it.
* Update DirectSoundSoundOutput.cs
Logic is hard.
* Retry limiter added to recovery
Added a self reducing retry counter that will try to start sound 5 -> 4 -> 3 -> 2 -> 1 times each time it tries to recover until it succeeds, at which point the counter returns to 5. This allows for quicker attempts at recovery without the risk of an infinite loop or terrible performance from sleeping 10 ms.
2020-06-26 11:56:27 +10:00
adelikat
312f029b0b
Ram Watch - user LocLabelEx
2020-06-25 18:13:08 -05:00
YoshiRulz
3d8ed7483f
Move axis types to own files
2020-06-26 09:00:33 +10:00
YoshiRulz
a0c8f722d2
Use constraints for grouping, add new class for unconstrained pairs
...
e.g. for Intellivision `_controllerDeck.Definition.Axes["P1 Disc X"].PairedAxis`
gives "P1 Disc Y"
2020-06-26 08:53:10 +10:00
YoshiRulz
1e67fc1d4b
Use inheritance for AxisConstraints
2020-06-26 08:43:17 +10:00
YoshiRulz
15906af6e4
Merge AxisRange into AxisSpec
...
was going to move only Mid but this made more sense
2020-06-26 08:08:58 +10:00
YoshiRulz
6cb60aa9fd
Merge AxisControls, AxisRanges, and AxisConstraints into a single dict
2020-06-26 08:08:58 +10:00
adelikat
af2649d9a0
move icon references in designer files to the main files before the designer eats them
2020-06-25 16:32:29 -05:00
adelikat
09a6f54735
add icon back to LogWindow AddToDatabase button, that got eaten by the designer at some point
2020-06-25 09:40:19 -05:00
adelikat
39535eacda
RomStatus picker - remove image setting out of designer before it gets eaten by a designer based change
2020-06-25 09:18:33 -05:00
adelikat
371a7bd4f3
use MainForm.thing instead of GlobalWin.thing in some places, this is marginally better, maybe
2020-06-25 08:52:53 -05:00
alyosha-tas
49cb426a59
GBHawk: Double speed mode timing fix
2020-06-24 17:17:46 -04:00
scrimpeh
85d140c4b5
ram watch: allow duplicate identical ram watches
...
Allows duplicating identical Ram Watches. Previously, the Duplicate Watch dialog would silently discard a new watch if the address didn't change. As a side effect, multiple watches can now be duplicated simulatenously. This commit also removes the check for separate memory domains - it doesn't seem to cause any problems
2020-06-23 11:55:37 -05:00
scrimpeh
d6994ea1af
ram watch: watches are deleted by index
...
If you have two watches with an identical address, deleting one will always delete the first one. This commit fixes that
2020-06-23 11:55:37 -05:00
adelikat
c13430896f
remove empty controller mappings from defctrl, also remove duplicates that caused it to be invalid json (.net happily was deserilizing it anyway), don't save empty mappings when saving from the ui
2020-06-22 19:54:36 -05:00
adelikat
93c47b87b9
Controller config - take label width into account when generating columns
2020-06-22 18:11:31 -05:00
nattthebear
1ce0905deb
Minor zwinder tweaks
...
Change the implementation of state eviction slightly. The result is identical, but this is slightly easier to understand and will be needed to allow an evicted state to be read before eviction.
2020-06-22 18:52:18 -04:00
adelikat
b9f59337dd
fix Saturn and NGP default controls
2020-06-21 17:31:28 -05:00
adelikat
29a492fc2a
fix pc-fx controller name to match old name
2020-06-21 17:22:00 -05:00
nattthebear
53c2318b56
nyma - activate controller deck names
2020-06-21 16:55:41 -04:00
adelikat
cf4a0176a3
bk2 mnemonic lookups - we have a lot of keyboards now, make fkeys standard mnemonics instead of core specific
2020-06-21 15:32:45 -05:00
nattthebear
ae9405fb84
saturn: autofire blah blah again
2020-06-21 16:14:50 -04:00
YoshiRulz
31e621d64e
Move init of form icons to ctor (from InitializeComponent)
...
tested the `global::` syntax on VS2019, the Designer refuses to cooperate
2020-06-22 06:06:59 +10:00
adelikat
03d7fc2498
Saturn virtualpad work
2020-06-21 14:51:22 -05:00
zeromus
2a4ac1f7e1
display manager: fix "use 1:1 pixel size" aspect ratio (re #2159 )
2020-06-21 15:27:51 -04:00
adelikat
c76515d7f7
Saturn - fix virtualpad logic broken by settings changes, fix mnemonic in 3d controller
2020-06-21 13:14:30 -05:00
adelikat
5404fb90d7
nyma - do button name overrides on analog stick suffixes
2020-06-21 12:36:01 -05:00
adelikat
0862024ba6
virtualpad support for NGP
2020-06-21 12:14:12 -05:00
adelikat
39ff851972
tastudio track engaged flag better
2020-06-21 11:00:57 -05:00
adelikat
4d0d9e04aa
TAStudio - don't draw unless Tastudio is "engaged", fixes a lot of NREs through various core reboot scenarios
2020-06-21 10:57:23 -05:00
adelikat
b0258ef3db
fix NRE when closing tastudio
2020-06-21 10:43:05 -05:00
zeromus
4319096b50
format shader compiling errors better
2020-06-20 22:25:41 -04:00
zeromus
f6f7847b95
allow copying selected text from ExceptionBox
2020-06-20 22:25:41 -04:00
YoshiRulz
e24ddc9ebe
Finish renaming floats to axes
2020-06-21 12:16:32 +10:00
alyosha-tas
6fc1228ec2
GBHawk: HDMA timing bug fix
2020-06-20 22:05:05 -04:00
YoshiRulz
3d45799fc5
Specify [SpecializedTool] belongs on classes
2020-06-20 21:31:16 -04:00
YoshiRulz
f76f301f8d
Enable SA1015 and fix noncompliance
...
"Closing generic brackets should be spaced correctly"
2020-06-20 21:31:16 -04:00
YoshiRulz
3c02545066
Enable SA1026 and fix noncompliance
...
"Code should not contain space after new or stackalloc keyword in implicitly
typed array allocation"
2020-06-20 21:31:16 -04:00
YoshiRulz
14e0c96fd8
Enable SA1121 and fix noncompliance
...
"Use built-in type alias"
2020-06-20 21:31:16 -04:00
YoshiRulz
0021cfee70
Enable SA1130 and fix noncompliance
...
"Use lambda syntax"
2020-06-20 21:31:16 -04:00
YoshiRulz
0a3cb5f23f
Enable SA1410 and fix noncompliance
...
"Remove delegate parenthesis when possible"
2020-06-20 21:31:16 -04:00
YoshiRulz
dcae34ce47
Enable SA1314 and fix noncompliance
...
"Type parameter names should begin with T"
2020-06-20 21:31:16 -04:00
YoshiRulz
a8bd9733f4
Enable SA1626 and fix noncompliance
...
"Single-line comments should not use documentation style slashes"
2020-06-20 21:31:16 -04:00
YoshiRulz
a1aca37476
Enable SA1617 and fix noncompliance
...
"Void return value should not be documented"
2020-06-20 21:31:15 -04:00
YoshiRulz
135490c740
Enable CS1572, CS1574, and CS1734, and fix noncompliance
...
malformed references or wrong XML tag
2020-06-20 21:31:15 -04:00
YoshiRulz
0e1271c7c2
Fix exception creation
2020-06-20 21:31:15 -04:00
YoshiRulz
abcf91f7d6
A bit of Range cleanup
2020-06-20 21:31:15 -04:00
YoshiRulz
f37b74c4ba
Enable CS1570 and fix noncompliance
...
malformed XML
2020-06-20 21:31:15 -04:00
YoshiRulz
43cc80f6a3
Mess w/ doc comment warnings
2020-06-20 21:31:15 -04:00
zeromus
dfe027cf8f
finish renaming hyper/turbo wbx files
2020-06-20 20:20:42 -04:00
zeromus
602dec0c4c
clarify that CloneSaveRam() can return null
2020-06-20 20:13:00 -04:00
zeromus
f98c4d18b1
dont create empty file when manually flushing null save ram
2020-06-20 20:12:59 -04:00
nattthebear
a9d1ad16b1
GPGX: Saveram tweaks
...
When saveram doesn't exist, return null, not new byte [0]. If passed a 0-length saveram file, do not pass it to the core (this crashed in interop stubs). Note that as best as I can tell, this is not fixing any problem; even without this commit it seems impossible to get BizHawk to actually generate a 0 byte saveram file for GPGX because of other checks that already existed.
2020-06-20 19:21:55 -04:00
zeromus
fc5e325608
add Reset Speed hotkey. it's bound to Shift+Equals by default because.. well, it's kind of logical... kind of. If you have any better suggestions...
...
fixes #2154
2020-06-20 18:55:39 -04:00
zeromus
936b7606d0
cleanup to Choose A/V writer dialog
2020-06-20 18:46:37 -04:00
adelikat
c6694a5e29
TasMovie - cache mnemonic look ups, gives a noticeable speed boost to drawing
2020-06-20 16:00:08 -05:00
adelikat
249259d7b3
move QuickCollections to the PCEHawk core where it is used, since we don't expect to use it elsewhere, and one of it's advantages was speculating that being in the same assembly would give it good inlining, so being in a common library was negating this
2020-06-20 14:54:21 -05:00
adelikat
dc656ccb23
remove unused extension method
2020-06-20 14:36:57 -05:00
adelikat
21d2667736
remove useless dropdown opened event
2020-06-20 14:27:23 -05:00
adelikat
46188f977c
convert SMSHawk to generic core menu
2020-06-20 14:11:23 -05:00
adelikat
f1d5ef0f0f
create ISmsGpuView and have the Sms VdpViewer tool depend on it
2020-06-20 14:03:57 -05:00
adelikat
8bfe6011bc
convert PCE to generic core menu
2020-06-20 13:42:00 -05:00
adelikat
5570af6514
convert Genesis to generic core menu
2020-06-20 13:12:09 -05:00
adelikat
831197aeaa
created a SpecializedTool attribute for system/core specific tools, and use it to dynamically add available tools to the generic core menu, replace the hardcoded GBA menu using this
2020-06-20 13:05:36 -05:00
adelikat
f1131b1907
Create a generic core menu ( #2155 )
...
* poc - have a default core menu that provides a generic settings menu item, wire up some cores to this generic menu that only have settings to begin wtih
* vectrex - remove strong type for settings, if there are no settings the convention is to use object, which allows GenericCoreConfig to be smart
* convert saturn menu to default core menu
* fixups
* convert PCFX menu to generic core menu
* convert snes9x and faust to generic core menu
* convert GBLink to generic core menus
* convert MAME to generic core menu
* convert NGP to generic core menu
* convert GGLink to generic core menu
* convert wonderswan to generic core menu
* convert virtualboy to generic core menu
2020-06-20 11:28:23 -05:00
nattthebear
e6858c702b
nyma - fix bug that stopped NGP from booting
...
Happened in a recent refactoring. NGP hides the constantfb setting (Because it is always at a constant fb), and that needs to override the core provision, not cause an exception.
2020-06-20 12:12:34 -04:00
zeromus
5e399b8fc3
fix crash shutting down when GL retroshaders failed compiling
2020-06-20 00:52:38 -04:00
zeromus
1b4a6f6415
get gl display method working, at least, minimally, with the scanlines shader. someone else can fix up the others if they need to or make me a bug. at least the hard part is past
2020-06-20 00:48:42 -04:00
zeromus
00e546a537
keep working on CGC-removal
2020-06-20 00:48:42 -04:00
zeromus
b842f3ed16
remove cgc (step 1)
2020-06-20 00:48:42 -04:00
nattthebear
1f966a4cc1
Fix potential crash on exit if certain native resources weren't disposed
...
Finalizers in SpeexResampler and QuickNes assume that the underlying native dll still exists when they run, as they have to in order to successfully clean up leaked memory. This is not true if those resolvers, which were stored as static fields themselves, had been finalized, which can only happen on app exit (because the static fields were readonly and always kept their value). If a SpeexResampler or QuickNes was never disposed and itself lasted all the way to app exit, then the order of these two finalizers would be unspecified and a crash could happen.
In normal circumstances, this was only observable in DS core because apparently Suuper couldn't copy paste properly and missed the dispose part, but that was already fixed in 129d454a67
.
2020-06-19 23:10:56 -04:00
nattthebear
129d454a67
blah blah dispose blah blah
2020-06-19 20:56:16 -04:00
zeromus
ee963e8d64
I found this old icon on an old hard disk. I think I meant it for the log window, but maybe that was back when it opened the windows console instead of another window? Anyway, it's cute, maybe someone will figure out what to do with it.
2020-06-19 19:07:20 -04:00
adelikat
65a6ec03f6
reduce some mainform redundant menus for gb3/4x, they have the same logic as gbhawk link
2020-06-19 17:07:42 -05:00
adelikat
7bac6e933b
add icon that the designer ate
2020-06-19 16:49:23 -05:00
nattthebear
020e5a7e32
minor cleanup
2020-06-19 17:26:58 -04:00
adelikat
487c596d76
cleanup Zwinder
2020-06-19 16:16:07 -05:00
adelikat
53716a40e5
Rewind Config - add UI for Rewind.TargetFrameLength, and a bit of visual re-org. Designer was used so this includes designer file barf
2020-06-19 16:09:17 -05:00
adelikat
da59add3f6
add TargetFrameLength to rewind settings
2020-06-19 15:58:18 -05:00
adelikat
4978fe4b92
Rewind config - more cleanup - calculate maths correctly
2020-06-19 15:53:08 -05:00
adelikat
32b14641f1
Rewind config - better buffer size settings
2020-06-19 15:22:39 -05:00
adelikat
9faa159647
Rewind settings cleanup, make default buffer size 512mb
2020-06-19 15:19:50 -05:00
adelikat
d431947d4e
rewind config cleanup
2020-06-19 15:14:11 -05:00
adelikat
392611d6c6
Rewind - rename Small state enable to just enabled
2020-06-19 15:09:59 -05:00
adelikat
c83027b817
remove medium and large state enabled rewind options
2020-06-19 15:05:49 -05:00
adelikat
6b514293ff
Rewind - remove speed multiplier option, very redundant given that speedup and turbo calculate toward rewind speed
2020-06-19 15:02:03 -05:00
adelikat
6440d92a34
remove rewind frequency settings
2020-06-19 14:57:09 -05:00
adelikat
63533888ad
Rewind config - remove on disk option
2020-06-19 14:47:25 -05:00
adelikat
9d17cd40e8
Rewind - remove ability to define Small, Medium, Large state sizes
2020-06-19 14:45:08 -05:00
adelikat
a58a10e633
remove rewind threading config option
2020-06-19 14:37:36 -05:00
adelikat
270d03bf40
rewind - change UseDeltaCompression to UseCompression
2020-06-19 14:35:55 -05:00
adelikat
dec20a4683
remove old rewinder code
2020-06-19 14:10:06 -05:00
adelikat
84c691021b
settings hacks - actually map compression to a compression settings, give rewind an "off" switch, hacked to small states for now
2020-06-19 14:05:38 -05:00
adelikat
02a2efbed1
oopsies
2020-06-19 14:05:38 -05:00
adelikat
7dd78a9fa4
zwinder - hack in some settings from the ui
2020-06-19 14:05:38 -05:00
nattthebear
3b8e0ce39d
Zwinder: Don't tell the mainform we're rewind-state-capping every 0 frames, that's just silly
2020-06-19 14:05:38 -05:00
nattthebear
1121d430f4
zwinder: add optional compression
2020-06-19 14:05:38 -05:00
nattthebear
5bd75fd001
Testing a new "zwinder" rewinder
2020-06-19 14:05:38 -05:00
alyosha-tas
a914cb69e0
GBHawk: Speed change and window fixes
2020-06-19 14:09:03 -04:00
adelikat
75bd2f8063
fix NRE fix fail
2020-06-19 10:18:28 -05:00
adelikat
91c33a49c0
Rewind config - fix NRE when turning off rewind then going back to the config dialog
2020-06-19 10:01:01 -05:00
zeromus
25327b510d
mgba - try resetting sram memdomain after frame advance, so sram autodetection can progress and feed into frontend. addresses #1620 , maybe not in the best way
2020-06-18 03:08:57 -04:00
zeromus
1efc91cb94
hex editor: handle tiny (even 0 size) memory domains without crashing
2020-06-18 03:07:44 -04:00
YoshiRulz
8e414aea29
Enable CA1829 and fix noncompliance
...
"Use Length/Count property instead of Count() when available"
2020-06-18 09:44:01 +10:00
YoshiRulz
620e54580d
Enable CA1052 and fix noncompliance
...
"Static holder types should be Static or NotInheritable" (classes with only
static members should be static classes)
2020-06-18 09:43:57 +10:00
YoshiRulz
16d1782c9e
Enable CA1018 and fix noncompliance
...
"Mark attributes with AttributeUsageAttribute"
2020-06-18 09:43:53 +10:00
YoshiRulz
7f99dd95d6
Enable CA1010 and fix noncompliance
...
"Collections should implement generic interface"
2020-06-18 09:43:50 +10:00
YoshiRulz
8ca791852a
Enable MEN011 and fix noncompliance
...
"Align using directives"; this file had 2 BOM chars for some reason
2020-06-18 09:43:47 +10:00
YoshiRulz
e71f5b32f0
Minor style cleanups
2020-06-18 09:43:36 +10:00
alyosha-tas
01e3a6cf43
QuickNES: blacklist Burai Fighter fixes #2145
2020-06-17 13:58:51 -04:00
nattthebear
4d3558d7e3
State manager API cleanup
...
add some comments. Remove two methods from the interface definition that aren't actually used in public API
2020-06-17 07:31:00 -04:00
YoshiRulz
abca8e02f2
Move some static data from MainForm to RomLoader
2020-06-17 10:46:54 +10:00
YoshiRulz
77e6a7300a
Create and use MainForm.ShowDialogAsChild(Form) helper
2020-06-17 10:46:51 +10:00
YoshiRulz
0e767add09
Rename ApiHawk files to match type name
2020-06-17 10:38:31 +10:00
YoshiRulz
9d1dfd71a1
Fix EmuClientApi not being registered and merge CloseEmulator()s
...
fixes a74d657a2
, 51a83193a
2020-06-17 10:35:14 +10:00
alyosha-tas
c53bda9235
NESHawk: make game genie compare cheats work
2020-06-16 20:01:34 -04:00
YoshiRulz
ff4662efe8
Delegate more of ClientLuaLibrary to ApiHawk
2020-06-17 08:02:09 +10:00
YoshiRulz
a74d657a2a
Promote IEmuClient to a full-fledged IExternalApi
...
also remove UnpauseEmulation() (duplicate of Unpause()) and rename
SetExtraPadding to SetClientExtraPadding (to match Lua)
2020-06-17 08:02:02 +10:00
nattthebear
9597be621a
Partially revert c42889ceef
...
Pretty sure it's impossible for this to be null; the entry assembly always has a location and only weird dynamic assemblies can have none.
But if somehow it was, then we don't want to create a jumplist item that doesn't work!
2020-06-16 17:30:18 -04:00
nattthebear
8607f7891f
Fix virtual size output on nyma cores. Expose more debugging info to console about screen sizes.
2020-06-16 15:53:10 -04:00
YoshiRulz
51a83193a1
Merge overloads of CloseEmulator to param w/ default
2020-06-17 02:15:33 +10:00
YoshiRulz
cb08d00372
Replace single-use delegate type with Action<bool>
2020-06-17 02:15:11 +10:00
YoshiRulz
03acb1ded7
Move LoadRomArgs to own file
2020-06-17 02:14:33 +10:00
nattthebear
8b9debb8b9
Hide mission stick autofires again
...
I hope someone comes into irc screaming about how they can't do their TAS because we don't support the exact hardware semantics of the mission stick, but the more realistic outcome is that no one ever uses the mission stick for anything
2020-06-16 10:20:11 -04:00
nattthebear
fa4a95f1b1
Looks like this existed solely to support the old bsnes interop, which everyone agrees was awful and something we only did because we had to
2020-06-16 07:45:34 -04:00
nattthebear
7b2ac98520
guess nothing was using this
2020-06-15 17:10:27 -04:00
adelikat
27bb2759a6
more mnemonics for saturn
2020-06-15 15:33:54 -05:00
adelikat
c5ec8eb0ba
saturn - mnemonic for smpc reset button
2020-06-15 14:59:24 -05:00
adelikat
03e2bccf6c
remove a debug line of code
2020-06-15 14:49:26 -05:00
zeromus
98b3d8d335
change PSX framerates to follow mednafen instead of nocash ( fixes #2138 )
2020-06-15 15:10:29 -04:00
adelikat
e6a2fe39e1
faust - support virtual pads
2020-06-15 14:02:34 -05:00
adelikat
cf3e1d51e0
nyma cores - fixes to mnemonic lookups and add a few overrides
2020-06-15 13:43:23 -05:00
adelikat
c8a0b6c323
virtual pads - pce, pcfx - add console buttons
2020-06-15 13:29:31 -05:00
adelikat
25dddf5160
hack to fix Nyma roman numeral buttons, virtualpads - PCE and PCFX fixes
2020-06-15 13:20:40 -05:00
adelikat
3d8920308c
remove nyma virtual pad hacks for direcitonal buttons now that nyma buttons conform to typical naming conventions
2020-06-15 13:20:40 -05:00
adelikat
4122a51153
bk2 mnemonic lookup - remove some nyma hacks now that nyma directional buttons conform to the typical naming scheme
2020-06-15 12:59:54 -05:00
nattthebear
b8bea93cce
Rework nyma controller overrides
2020-06-15 13:37:50 -04:00
nattthebear
5b2b1cf13b
Enable SNES and GBA gpu view on linux
...
I tested the SNES one and it seemed to work. Don't have any working GBA cores right now in linux, I think? But no reason to expect it wouldn't work
2020-06-15 10:49:17 -04:00
nattthebear
8e689dae76
Don't lock out the GB gpu view on linux
...
It works there, why was it disabled?
2020-06-15 10:42:47 -04:00
YoshiRulz
77a810600b
Inline the thing I deleted into somewhere it shouldn't be used, again
2020-06-15 13:09:58 +10:00
YoshiRulz
5f809d8e24
Cleanup N64 controller def init and re-init
2020-06-15 13:03:15 +10:00
nattthebear
e5e4983464
waterbox - remove some unused saverammerer junkus
...
ngp doesn't use this, so...
2020-06-14 20:29:22 -04:00
adelikat
67489bfc3a
PCFX - fix virtualpads, support mouse
2020-06-14 16:21:37 -05:00
nattthebear
30fd675903
woops
2020-06-14 16:27:08 -04:00
adelikat
9027223018
PCE - virtualpads - support all the buttons
2020-06-14 15:19:28 -05:00
adelikat
cecf29e90a
Support PCE mouse in movie mnemonics and virtualpads
2020-06-14 15:19:28 -05:00
nattthebear
ecdfc66617
nyma big setting update
...
Moves a lot of settings around, hopefully addressing some concerns
2020-06-14 16:02:33 -04:00
YoshiRulz
99a5563490
Inline value that was public for some reason
2020-06-15 05:12:14 +10:00
YoshiRulz
dbeb279bf0
Add an extension method to help w/ ControllerDefinition init of axes
2020-06-15 04:47:54 +10:00
nattthebear
2707d1cd92
nyma - rework settings architecture a bit
...
This gives us flexibility to define more featureful overrides
2020-06-14 14:18:13 -04:00
adelikat
e41659e237
rough in for gamepad or none virtualpad support for Turbo and Hyper Nyma cores, only 2 button currently supported, support some uppercase button names in mnemonics
2020-06-14 12:02:09 -05:00
adelikat
9dfd6c3fb3
remove nyma button name overrides, they don't help with virtualpads, and ar e a hassle to maintain, we can just consistently be inconsistent for these cores
2020-06-14 11:32:01 -05:00
nattthebear
a0aa1fb805
Bare minimum to unbreak some mnemonics
2020-06-14 11:58:00 -04:00
nattthebear
278317685c
actualportdata api
2020-06-14 11:47:02 -04:00
nattthebear
aa3369a080
Get saturn virtualpad closer to reworking again
...
This is a mess and we need a new notion of controller definition
2020-06-14 11:33:51 -04:00
nattthebear
7ba3f6db03
saturn - fix crash in dead or alive
...
It does look pretty awful with interlacing, but that's not something bizhawk is equipped to solve at present
2020-06-14 10:15:05 -04:00
adelikat
3610ca2b4c
virtualpads - prevent crash on Turbo and HyperNyma cores, just empty for now, will support these cores later
2020-06-13 18:17:11 -05:00
nattthebear
f2b461bed1
nyma - overhaul some input stuff to support some more things
...
saturn guns and keyboards now work
2020-06-13 18:19:41 -04:00
nattthebear
7f83f311f9
saturnus - wire up the needed analogs for 3d controller
2020-06-13 17:00:59 -04:00
nattthebear
77e3f9acb3
saturn - hide unavailable ports depending on multitap
...
One slight issue is that the bulitin smpc reset is always "player 13", but that's not enough of an issue for me to care
2020-06-13 16:53:46 -04:00
nattthebear
d6cc6abfec
pcfx - hide ports based on multitap
2020-06-13 16:50:01 -04:00
nattthebear
13a5e9d102
faust - hide ports 3-5 and/or 6-8 depending on multitap settings
2020-06-13 16:45:06 -04:00
nattthebear
60614ffa7b
PCE: Hide controllers 2-5 if multitap is disabled
...
They have no power in that situation
2020-06-13 16:39:26 -04:00
adelikat
2dd618b6f2
PCFX - remap some buttons, add (bad) mnemonics for mode buttons
2020-06-13 15:21:52 -05:00
adelikat
573b544a88
new pce cores - add some button name overrides, and support mnemonics
2020-06-13 15:11:00 -05:00
adelikat
b1c2ed0d3d
set movie = null on stop movie, this used to crash tastudio but I can't make it crash anymore, either we fixed the underlying problem or I didn't reproduce it correctly, will fix if it comes up
2020-06-13 14:29:47 -05:00
nattthebear
398d9c45cb
Revert "fix nyma button binding label"
...
This reverts commit 14661f4c76
.
Dunno what was going on here, this is a feature that we'll need to fix #2129 and similar... please don't randomly delete code?
2020-06-13 15:08:20 -04:00
zeromus
14661f4c76
fix nyma button binding label
2020-06-13 13:42:45 -05:00
YoshiRulz
f48e3cd2ea
Re-enable A/V recording on Linux and add a big ol' disclaimer dialog
2020-06-14 02:59:50 +10:00
adelikat
4c77ebd3d1
remove tastudio hack that I'm convinced is either 1) does nothing 2) causes bugs 3) fixes something that should be handled in a different place in the code
2020-06-13 11:47:21 -05:00
adelikat
51e1ee3a46
MovieSession - simplify and improve performance - remove unnecessary CopyController wrapper on MovieIn, and don't set movie controller state unless recording
2020-06-13 11:38:30 -05:00
adelikat
268ab96ae9
remove built-in multitrack movie recorder, justification: tastudio is a much better alternative, it isn't used, and it's causing strain on better movie architecture, also this logic is easily done via lua script. It could be built from scratch one day in a way that plays nice with better movie architecture, if there's demand, but we need to remove this to keep moving forward
2020-06-13 09:49:25 -05:00
nattthebear
03d10cebb9
Support bsnes on LOO-NICKS
...
Had to fix up libspeex and some waterbox cothread funsies
2020-06-12 19:10:42 -04:00
adelikat
bb2e82c94a
GlobalWin.MainForm begone
2020-06-12 16:59:44 -05:00
adelikat
590a2fc245
VirtualPadButton - be more thorough about not responding to keyboard input, instead of focusing on mainform to avoid it
2020-06-12 16:31:38 -05:00
adelikat
336d2fc3a9
simplify EditSubtitlesForm
2020-06-12 15:53:01 -05:00
adelikat
ee0d32d56f
simplify the EditCommentsForm and remove usages of GlobalWin
2020-06-12 15:29:45 -05:00
nattthebear
25a5449a48
Work around mono marshalling issue
...
Fixes #2116 , but it'd be nice if mono fixed it too
2020-06-12 15:22:46 -04:00
adelikat
f21132a2ac
move EnsureCoreIsAccurate() out of EmuUtil and back into mainform since it has so many dependencies, including mainform itself, and 50% of its use is in mainform anyway
2020-06-12 13:57:28 -05:00
adelikat
ac54318cfb
GlobalWin.Cheatlist begone
2020-06-12 13:39:31 -05:00
nattthebear
eb811b7d79
Remove check that stops a nymacore from creating "thread" in deterministic mode
...
The MT ppu renderer in saturn looks cool to me, so it probably won't cause nondeterminism, probably
Fixes #2126
2020-06-12 14:31:09 -04:00
adelikat
61b852c571
remove some unused usings
2020-06-12 12:56:58 -05:00
adelikat
53b0472c1a
N64 plugin config - simplify use of GameInfo
2020-06-12 12:56:58 -05:00
adelikat
ac61701aa3
GameInfo - simplify
2020-06-12 12:56:58 -05:00
adelikat
4e7e314a33
GameInfo - simplify a method name
2020-06-12 12:56:58 -05:00
adelikat
0c300cf5bf
Remove our home-grown ReadonlyDictionary in favor of the built in .net one (as of 4.5 we have one of these built in), Gameinfo.GetOptionsDict() - return IReadonlyDictionary instead of Dictionary
2020-06-12 12:18:50 -05:00
adelikat
c81f052f94
GameInfo - demand a value for key params, and force calling code to pass in an empty string if that's what they choose (better would be to pass a bool or a 0/1 even if we don't require it)
2020-06-12 12:11:53 -05:00
adelikat
10c62764ba
improve some if checks in OSDManager
2020-06-12 11:58:17 -05:00
adelikat
5ef2a4d7e6
use IGameInfo instead of GameInfo in various palces
2020-06-12 11:56:05 -05:00
adelikat
066e282b39
remove GlobalWin usage in RecordMovie.cs
2020-06-12 11:48:51 -05:00
adelikat
13b6b09771
pass in systemId dependency to PathConfig
2020-06-12 11:36:21 -05:00
adelikat
777a2e8f3e
reduce some copy pasta for Bmp file creation across various tool dialogs
2020-06-12 11:14:25 -05:00
adelikat
f9fff69ce4
BmpView - use DesignMode flag instead of shenanigans
2020-06-12 10:21:19 -05:00
adelikat
195b01fb44
nitpick
2020-06-12 09:25:05 -05:00
YoshiRulz
5d25d537d1
Hopefully EmuClientApi will now have the loaded emu/game
...
see f78af85cc
, 109ba1d31
2020-06-12 09:47:07 +10:00
YoshiRulz
aca3768c78
Align ApiHawk and Lua library names
2020-06-12 09:47:04 +10:00
adelikat
597e010faf
use GlobalWin.Game less
2020-06-11 18:31:32 -05:00
adelikat
ba939466df
Pass an IGameInfo into ToolFormBase and use it in tools
2020-06-11 18:25:34 -05:00
adelikat
109ba1d31a
fix NRE on startup for EmuClientApi, this is a band-aid, I think _emulator should never be null
2020-06-11 17:48:41 -05:00
adelikat
f1818e7f7e
add Api suffix to ApiHawk interfaces, so they will stop colliding with non-api interfaces
2020-06-11 17:40:39 -05:00
adelikat
d9ef084e2f
add a readonly interface for GameInfo for code that only needs to read, pass into SynclessRecordingTools instead of globals, refactor SynclessReocrdingTools a bit
2020-06-11 17:35:40 -05:00
YoshiRulz
52cc0050b8
Allow ApiManager to pass some extra globals to the 5 EmuHawk APIs
2020-06-12 06:14:32 +10:00
YoshiRulz
d2e20a7a1e
Pass MainForm.AllowInput to Input instance as delegate
2020-06-12 05:57:52 +10:00
YoshiRulz
b972b8a771
Inline MainForm.IsLagFrame and change global usage in OSDManager
2020-06-12 05:47:23 +10:00
YoshiRulz
dc352c0225
Pass globals to EmuClientApi as ctor params
2020-06-12 05:37:04 +10:00
YoshiRulz
f78af85cc6
Delegate ClientApi implementation to an instantiable class
...
The new class, EmuClientApi, is abstracted as IEmuClient, but this interface is
not an IExternalApi. This is because a future commit will add a ctor not
compatible with the current instantiation code in ApiManager.
2020-06-12 05:37:00 +10:00
adelikat
a930b5f950
fix typo in a comment
2020-06-11 13:06:27 -05:00
adelikat
8270c5f997
put classes in MultitrackRecording into separate files, and make a few of them internal
2020-06-11 12:27:26 -05:00
nattthebear
638c2095ed
Update labelling for every mednacore that we updated
...
WonderSwan/Cygne did not move to nyma, but I manually backported changes so it counts as "1.24.3" mostly
2020-06-11 12:22:32 -04:00
nattthebear
f14dace4a0
Move saturn over to nyma, get latest version.
2020-06-11 12:17:10 -04:00
adelikat
73e2922a0d
Fix logic that news up new Rewinders, properly dispose of the Rewinder on closeRom, this might fix memory leaks in rewinder that pre-date the recent refactor
2020-06-10 15:06:34 -05:00
adelikat
af93cf3e92
consolidate logic that instantiates a new rewinder, be sure to dispose the old one
2020-06-10 09:15:52 -05:00
adelikat
de5508ca6c
rewinder - fix potential NRE
2020-06-10 08:56:25 -05:00
zeromus
c9c1aa91ad
fix temp directory pathing in path manager which was previously making no attempt to do the right thing ( fixes #2118 ). did I do this right? I don't see what was so hard about it in the first place, but I had left a todo there..... i dunno
2020-06-09 23:27:49 -05:00
feos
f9ffeec81b
we can launch and use mame debugger
2020-06-09 22:34:15 +03:00
feos
9b3e18e992
mame: document build command
2020-06-09 21:43:59 +03:00
feos
36787d7292
mame: obtain rom names and hashes
2020-06-09 21:38:34 +03:00
nattthebear
ef02263122
fix mouse on the pcfx core
...
this was a regression from the move around, it worked before
2020-06-09 13:12:12 -04:00
nattthebear
69e30ee33f
Decrease state size in pcfx, pce, pce-fast
2020-06-09 10:09:17 -04:00
nattthebear
9bb56f0b5c
move pcfx to nymacore
2020-06-09 08:15:06 -04:00
nattthebear
11e1019590
nyma -- support cd switching
...
motorcycle shifter, but neutral is before 1st instead of between 1st and second
Yes, I had to rebuild the non cd cores here, and I am sorry
2020-06-08 20:24:30 -04:00
zeromus
9c875b42f4
background thread bootgod loading
2020-06-08 16:45:44 -05:00
nattthebear
481a48fe85
Fix path config on loonix
...
Somewhere things are being normalized wrong and I don't care to find out where. This is correct and functional on all systems.
2020-06-08 16:59:04 -04:00
nattthebear
db866653c2
Don't try to start d3d on loonix...
2020-06-08 16:48:37 -04:00
zeromus
d98bfc82c5
fix threaded DB loading ( fixes #2113 )
2020-06-08 14:08:50 -05:00
nattthebear
b11b50a950
all nyma cores: support constant size framebuffer
...
this will do lossless integer scaling using mednafen provided screen geometry data
2020-06-08 13:05:31 -04:00
adelikat
ddfd6fd49a
put IRewinder in its own file
2020-06-08 11:35:19 -05:00
adelikat
799742c3ff
IRewinder - dress up the api a bit, fix a potential NRE
2020-06-08 11:29:12 -05:00
alyosha-tas
843c70d6e1
Merge pull request #2111 from LodanZark/patch-1
...
update msx bios filenames and description
2020-06-08 10:19:14 -04:00
adelikat
11fb1a99bb
Rewinder - be more careful about null things, fixes #2112 it seems
2020-06-08 08:32:26 -05:00
nattthebear
6eb4ec4c0d
minor cleanup
2020-06-08 07:55:38 -04:00
LodanZark
896612eb4d
update msx bios filenames and description
...
Updated the msx bios filename based on mame 0.221 and cbios0.29a, this way it fixes the filename conflict while using the feature "Organize" through Firmware Manager.
Couldn't figure it out about the bios_test origin, so I kept that one unchanged.
2020-06-08 03:32:18 +01:00
adelikat
62c6513ee3
ugh
2020-06-07 19:27:14 -05:00
adelikat
10e5df99f1
simplify naming of Rewinder api
2020-06-07 19:26:00 -05:00
adelikat
ef9bb3208d
simplify Rewinder api a bit
2020-06-07 19:22:08 -05:00
adelikat
225f1e7c59
oops
2020-06-07 19:19:45 -05:00
adelikat
018bed9422
interface Rewinder
2020-06-07 19:12:13 -05:00
adelikat
e66e53c15d
Rewinder - make IDisposable and new up and dispose of it instead of calling Init/Uninit methods. Tastudio - actually disable rewind on load instead of clearing it, and re-enable it when closing
2020-06-07 19:00:39 -05:00
zeromus
93f06f2a68
oops, fix database loading
2020-06-07 18:43:13 -05:00
adelikat
82c6efd274
Rewinder - take in an immutable version of rewindConfig
2020-06-07 17:34:41 -05:00
YoshiRulz
4cf30f4592
Fix ClientApi.RunningSystem when using new PCE cores ( fixes #2109 )
2020-06-08 08:06:42 +10:00
zeromus
bd8003c725
thread gamedb load
2020-06-07 16:43:50 -05:00
zeromus
3ae6515d2a
rename LibTerboGrafix LibTurboNyma
2020-06-07 16:09:32 -05:00
zeromus
741e8b18fd
rename TerboGrafix to TurboNyma
2020-06-07 16:07:58 -05:00
zeromus
4f9855665d
rename TerboGrafix.cs to TurboNyma
2020-06-07 16:07:12 -05:00
zeromus
8fca454ebf
fix copy/paste error for PCE in PromptToSwitchCore?
2020-06-07 16:06:01 -05:00
zeromus
d28f827b06
rename TurboTurboNyma and LibTerboGrafixSanic to HyperNyma.. I think
2020-06-07 16:04:05 -05:00
adelikat
060d436a69
add turbo pce core to the movie "inaccurate core" nag list
2020-06-07 14:11:30 -05:00
adelikat
3658638251
remove some unused usings
2020-06-07 13:56:13 -05:00
nattthebear
6b8b021df7
fix crash loading snes
2020-06-07 14:55:41 -04:00
adelikat
71aa667b3b
don't put IMovie extensions in separate namespace
2020-06-07 13:35:16 -05:00
adelikat
265a5f3149
fix lots of tools not updating at lots of times, I broke this with tool refactors
2020-06-07 13:28:10 -05:00
adelikat
ce19e489ef
Global.cs begone!
2020-06-07 13:14:01 -05:00
adelikat
acd928afa5
move InputManager from Global to GlobalWin
2020-06-07 13:13:39 -05:00
adelikat
71cb4fbdb0
pass sticky adapter into MovieSession
2020-06-07 13:11:42 -05:00
adelikat
c4c820fad3
move MovieSession from Global to GlobalWin
2020-06-07 13:07:09 -05:00
adelikat
8c5538405f
move movie input logic from InputManager to MovieSession, multitrack is broken currently, will fix later
2020-06-07 13:03:27 -05:00
YoshiRulz
fefdf0d60a
More misc. cleanups in RomLoader
2020-06-08 02:06:52 +10:00
YoshiRulz
40fd96f216
Use out params instead of tuples for multi-return
2020-06-08 02:06:46 +10:00
nattthebear
8c9d9715e2
quicknes - reorder buttons for presentation
2020-06-07 11:42:52 -04:00
adelikat
ce2381ea54
nitpicks
2020-06-07 09:30:50 -05:00
adelikat
7ff91c234e
InputManager - remove a null check on movie session, it will never be null
2020-06-07 09:30:50 -05:00
nattthebear
8259d908bb
Let's not do the same thing 3 times in a row
2020-06-07 10:04:36 -04:00
adelikat
954adf4ab6
remove dependency on an IMovie from GetRetroSaveRAMDirectory, since it shoudl only be getting the directly, not the the filename
2020-06-07 08:31:49 -05:00
nattthebear
2952ac24aa
savestates on waterbox
2020-06-07 09:26:08 -04:00
YoshiRulz
95dbd7c20b
Simplify execution path for extension checks
2020-06-07 19:59:18 +10:00
YoshiRulz
81cb8eb094
Pretty sure this is unreachable, HawkFile.Exists is checked earlier
2020-06-07 19:47:27 +10:00
YoshiRulz
977f725de0
Reorder extension checks in LoadRom
2020-06-07 19:45:58 +10:00
YoshiRulz
f6f6106ccf
Misc. cleanups in LoadRom and helpers
2020-06-07 19:36:42 +10:00
YoshiRulz
7c9792db58
Remove useless parameters of load helpers
2020-06-07 19:09:29 +10:00
YoshiRulz
dffce9ceb4
Extract methods from LoadRom
...
also move declaration of bool cancel closer to usage
2020-06-07 18:46:49 +10:00
YoshiRulz
347ed0d404
Cleanup Sound ctor
2020-06-07 18:06:35 +10:00
nattthebear
0326bf63d3
Bare minimum fix gpgx lazystates rewinder
...
This was a lazystates regression -- after lazystates, there is no longer any knowledge in the core of how big the state will be
2020-06-06 18:50:44 -04:00
nattthebear
aa48af9c94
linux: support gpgx
...
as before, do not load state even if your life depends on it
2020-06-06 18:25:59 -04:00
adelikat
4d80b5d4e8
Movie importers - fix importers, broken with recent movie refactors, fix bkm importer, most systems were broken due to contorller definition names changing over the years
2020-06-06 17:17:50 -05:00
adelikat
ff61fc3c71
move Global.Game to GlobaWin.Game
2020-06-06 15:11:42 -05:00
adelikat
886c687817
try to detangle Global.Game from advanced loader mess
2020-06-06 15:09:48 -05:00
adelikat
cdd5c75488
Move FirmwareManager from Global to GlobalWin
2020-06-06 14:57:37 -05:00
adelikat
981dc95c62
pass FirmwareManager into RomLoader instead of using Global
2020-06-06 14:55:32 -05:00
nattthebear
364d551940
waterbox linux progress
...
uzem runs. i don't know about anything else yet. DO NOT ATTEMPT TO LOAD A SAVESTATE.
2020-06-06 15:51:51 -04:00
adelikat
664c829a30
move Global.Config to GlobalWin.Config
2020-06-06 14:43:46 -05:00
adelikat
5ab7f1a18e
pass in an instanced of Config to RomLoader instead of relying on Global.Config
2020-06-06 14:41:11 -05:00
adelikat
d8ded66c35
don't use Global.Config in bk2movies, this solution is a bit of shenanigans but it's the least shenanigans I could come up with
2020-06-06 14:29:37 -05:00
nattthebear
dcaf504202
Some progress on loonix waterbox
...
It doesn't work
2020-06-06 14:39:55 -04:00
adelikat
8063393c04
maybe speed up movie state handling a bit by handlign the more likely case of | first, make multitrack and tastudio resistant to unexpected empty lines in the input log
2020-06-06 13:29:26 -05:00
adelikat
1ffa5bc97a
simply some movie code a bit
2020-06-06 13:21:10 -05:00
adelikat
877b02e429
Bk2Movie - remove some more copy pasta I missed from an earlier commit
2020-06-06 13:13:30 -05:00
adelikat
420253b6dd
break out cheat related config items to their own class, pass this config into CheatList
2020-06-06 12:26:35 -05:00
adelikat
6b22630ab1
cheats - when a cheat is auto-removed, also remove it from the recent cheats list
2020-06-06 12:26:34 -05:00
adelikat
554052f660
Sim;lify CheatList
2020-06-06 12:26:34 -05:00
nattthebear
4a4c59fcda
When using dummy sound output, don't crash on exit
...
My bad -- I had meant to move this outside the if
2020-06-06 12:29:36 -04:00
nattthebear
b4517d8e0d
Actually respect the no sound output config variable
2020-06-06 12:21:31 -04:00
adelikat
e69cedfdfa
InputManager - simplify by moving RewrieInputChain logic into SyncControls since it is only called from there, and does similar work
2020-06-06 10:39:40 -05:00
adelikat
3d48376436
InputManager - lock down RewrireInputChain, and have calling code only call SyncControls
2020-06-06 10:37:13 -05:00
adelikat
c6edcc4131
remove some vestigial code, no need to RewrireInputChain from MovieSession.QueueMovie, first of all, controls need to be resynced on running of a movie not queuing, secondly, it's already called as a result of a SyncControls() call
2020-06-06 10:32:32 -05:00
adelikat
2bf902b942
remove outdated bk2 "scrub" hotkey, this is an obscure feature that is non-trivial to use, but a higly trivial thing to do in tastudio
2020-06-06 09:58:49 -05:00
adelikat
bd1c3cb991
controller config - simplify allow L+R to just a checkbox, where off = "forbid" option, since nobody cares about priority vs forbid, simplify ULDRController and don't use globals
2020-06-06 09:52:29 -05:00
nattthebear
e8b84b466b
More hacks, just need to unblock yoshi and fix this for real later pinky swear
2020-06-06 10:05:10 -04:00
adelikat
4479202151
move DefaultTasStateManagerSettings to the MovieSettings class allowing to not use Global in TasMovie constructor, also pass stuff in to DefaultGreenzoneSettings instead of using Globals
2020-06-06 08:52:09 -05:00
nattthebear
db934f3689
quick hack to hopefully unbreak quicknes on loonix
2020-06-06 08:21:26 -04:00
YoshiRulz
6766e45c5e
Simplify core selection menu code
2020-06-06 21:02:42 +10:00
adelikat
069bdddbba
use Session.Settings more in movie classes now that it is never null
2020-06-05 21:17:41 -05:00
adelikat
55bb627550
Move MovieService.Get to IMovieSession, and require an IMovieSession in Bk2Movie and TasMovie ctors, refactor accordingly
2020-06-05 21:09:03 -05:00
adelikat
863d022bc5
fix an NRE I caused in movie code. The old code was wrong, this one is better
2020-06-05 20:10:20 -05:00
adelikat
8303321586
rename method to try to better describe what it does
2020-06-05 19:26:30 -05:00
YoshiRulz
ede8877ccf
Move core selection menus out of Designer
...
Generation is based on a convoluted data structure declared statically in
MainForm. I've removed duplicate core selection options that were present under
system-specific menus, some only when emulating SGB.
2020-06-06 07:45:15 +10:00
nattthebear
6a63373c48
Make use sram default in some cores that have this as an option
...
true is what end users would expect most of the time. false is only for advanced use cases.
2020-06-05 14:11:09 -04:00
adelikat
8b5e0ae8fd
MovieConccersionExtensionTests - use DataRow and add more scenarios
2020-06-05 13:06:45 -05:00
adelikat
bf5aca721e
move MovieConversionExtensions
2020-06-05 11:44:12 -05:00
adelikat
b22f9e6e01
move methods for Log copying from ITasMovie to IMovie. This bloats the IMovie contract more, but this allows for converting from one IMovie to another without an IEmulator dependency. Refactor conversion extensions to use these methods and remove emulator and movie session dependencies
2020-06-05 10:14:49 -05:00
YoshiRulz
b88f20faed
Rename Verison to BizHawk.Version, fixes #2101
2020-06-06 00:20:48 +10:00
nattthebear
ad16294b11
Fix gb roms running without bios
2020-06-05 08:50:30 -04:00
TiKevin83
81628bf109
Ports from Upstream GSR for Babs and Robopon (squashed #2091 )
2020-06-05 20:27:19 +10:00
adelikat
89789b4358
band-aid fix bk2 to tasproj conversions in tastudio
2020-06-04 20:06:23 -05:00
nattthebear
5319aba113
Remove an unused setting from pce_fast
...
This was bad copy pasta -- the core doesn't actually support this at all
2020-06-04 20:26:35 -04:00
adelikat
d84cd95ab8
oops
2020-06-04 19:23:07 -05:00
TiKevin83
3837ff7cf9
More cleanup to the new tasproj filename code ( #2093 )
...
* Test class and basic unit test
2020-06-04 19:21:22 -05:00
adelikat
e11509421d
simplify the construction of TasMovie but not requiring a startsFromSaveState param that doesn't actually set the movie's StartsFromSavestate bool, it just defined the text of the first marker
2020-06-04 19:20:09 -05:00
alyosha-tas
92bbf768af
GBHawk: Fix HuC3 SRAM
2020-06-04 18:34:39 -04:00
adelikat
39636f6ef1
IMovieSession - remove CurrentInput and PreviousInput and move the logic to the one tool that utilizes them. Since these are purely derivable convenience properties, it's better to not be in the spec. If other other needs to do this logic we can move this out to an extension method
2020-06-04 16:37:02 -05:00
adelikat
dba9de4f29
remove COreForcingViaGameDb user option. We should not give the user the ability to turn this off. If they are power users and want to overright our db, they can mod the db entries
2020-06-04 16:06:07 -05:00
adelikat
d86aabb8b5
remove the "poke frame" hotkey, as this is a very legacy feature, we have a whole tool for this now
2020-06-04 15:30:26 -05:00
alyosha-tas
486b3945ad
GBHawk: use saveram by default
2020-06-04 14:36:08 -04:00
nattthebear
e798fb2b29
play around in romloader to replace some snes hackery with slightly different snes hackery
2020-06-04 12:45:36 -04:00
nattthebear
7792eb2e80
Improve waterbox "lazystates"
...
Cores that used the .invisible section to store data were saving it; this was a regression from before, so PCFX states should be back down to the previous release size, or perhaps a bit smaller.
Add the ability to dirty track libco cothreads, as used in the bsnes core. This saves a lot of space in those states and they're now quite competitive in size.
2020-06-04 12:13:28 -04:00
adelikat
c4586545fa
delete an unused using, testing bot
2020-06-04 09:58:04 -05:00
nattthebear
3bc1ed4bbc
snes9x - take advantage of new waterbox change tracking to fix special chip games
2020-06-03 19:25:58 -04:00
YoshiRulz
66d9d6763e
Apply lossless image optimisation
2020-06-04 09:09:56 +10:00
adelikat
a382af4e7f
disable multitrack recording for tasproj movies, the concept doesn't make sense, tastudio easily gives you multiplayer functionality by design. Delete some code that attempted to handle this scenario that likely didn't really work
2020-06-03 17:49:22 -05:00
nattthebear
3faff4811c
Add slstart, slend to regular settings in pce fast
2020-06-03 18:37:43 -04:00
adelikat
b3234d029c
movies - remove legacy support for hex frame number, it's been quite some time since cores were in charge of this value, and thus a core specific hack, due to copy pasta, there's a lot to delete here
2020-06-03 17:35:22 -05:00
adelikat
246d7ec2d5
TasMovie - don't use a field value unnecessarily
2020-06-03 17:35:22 -05:00
nattthebear
2cc106de98
pce: make slstart, slend non-sync settings because the core supports it and the waterbox supports it
2020-06-03 18:33:19 -04:00
adelikat
bd2fb07ce1
oops, fix tastudio loading, Movie.Session isn't ready to use in ExtractInputLog
2020-06-03 09:07:14 -05:00
adelikat
9747dc9a95
mGBA - implement IDebuggable.TotalExecutedCycles
2020-06-03 08:28:49 -05:00
TiKevin83
8925d7182f
slightly cleaner
2020-06-03 08:22:09 -05:00
TiKevin83
d16f8a7b64
Standardize new filename creation behavior to avoid .bk2.tasproj.bk2.tasproj
2020-06-03 08:22:09 -05:00
nattthebear
46bfcbc47d
add a version tag to waterbox states
...
we're not building any sort of back compat, no. but if things change, better to bail early to decrease the chance i get bug reports for things i'm not going to fix.
2020-06-03 07:23:06 -04:00
nattthebear
d06ed05929
waterbox - track writes for smaller savestates
...
The waterbox system now uses host os facilities to track whether memory has been written to, to automatically choose what thing to savestate. This results in a large size decrease for some cores, like snes9x or gpgx (when running cartridge games). Doesn't do much for cores that were already memory efficient, or for bsnes because of libco compatibility issues; but those cores don't regress either.
2020-06-03 07:13:40 -04:00
feos
0ad26a7435
we won't ever have to pass 256MB
2020-06-03 10:32:10 +03:00
feos
f3861ed6cf
mgba: cycle count
2020-06-03 10:30:57 +03:00