Commit Graph

17391 Commits

Author SHA1 Message Date
YoshiRulz 318c6a7994
Add an easy way to #define symbols when building
-p:MachineExtraCompilationFlag=SYMBOL_NAME
2020-06-30 14:44:39 +10:00
YoshiRulz c5f10187fc
Mute CA1030, CA1056, and CA2234
"Use events where appropriate" and some string->Uri nags
2020-06-30 14:37:40 +10: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
nattthebear c1caa3e346 More crusty progress 2020-06-28 10:21:36 -04: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
YoshiRulz 314dc391ae
Fix typo
these are backwards; fixes 73a905214
2020-06-28 19:45:39 +10:00
YoshiRulz 73a905214e
Fix possible bug when symlinking EmuHawkMono.sh 2020-06-28 19:42:49 +10: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
nattthebear 6ff2d801e6 memoryblock experiments continue 2020-06-23 15:01:49 -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