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