Commit Graph

1013 Commits

Author SHA1 Message Date
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