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