Commit Graph

4454 Commits

Author SHA1 Message Date
zeromus 4319096b50 format shader compiling errors better 2020-06-20 22:25:41 -04:00
zeromus f6f7847b95 allow copying selected text from ExceptionBox 2020-06-20 22:25:41 -04:00
YoshiRulz e24ddc9ebe
Finish renaming floats to axes 2020-06-21 12:16:32 +10:00
alyosha-tas 6fc1228ec2 GBHawk: HDMA timing bug fix 2020-06-20 22:05:05 -04:00
YoshiRulz 3d45799fc5 Specify [SpecializedTool] belongs on classes 2020-06-20 21:31:16 -04:00
YoshiRulz f76f301f8d Enable SA1015 and fix noncompliance
"Closing generic brackets should be spaced correctly"
2020-06-20 21:31:16 -04:00
YoshiRulz 3c02545066 Enable SA1026 and fix noncompliance
"Code should not contain space after new or stackalloc keyword in implicitly
typed array allocation"
2020-06-20 21:31:16 -04:00
YoshiRulz 14e0c96fd8 Enable SA1121 and fix noncompliance
"Use built-in type alias"
2020-06-20 21:31:16 -04:00
YoshiRulz 0021cfee70 Enable SA1130 and fix noncompliance
"Use lambda syntax"
2020-06-20 21:31:16 -04:00
YoshiRulz 0a3cb5f23f Enable SA1410 and fix noncompliance
"Remove delegate parenthesis when possible"
2020-06-20 21:31:16 -04:00
YoshiRulz dcae34ce47 Enable SA1314 and fix noncompliance
"Type parameter names should begin with T"
2020-06-20 21:31:16 -04:00
YoshiRulz a8bd9733f4 Enable SA1626 and fix noncompliance
"Single-line comments should not use documentation style slashes"
2020-06-20 21:31:16 -04:00
YoshiRulz a1aca37476 Enable SA1617 and fix noncompliance
"Void return value should not be documented"
2020-06-20 21:31:15 -04:00
YoshiRulz 135490c740 Enable CS1572, CS1574, and CS1734, and fix noncompliance
malformed references or wrong XML tag
2020-06-20 21:31:15 -04:00
YoshiRulz 0e1271c7c2 Fix exception creation 2020-06-20 21:31:15 -04:00
YoshiRulz abcf91f7d6 A bit of Range cleanup 2020-06-20 21:31:15 -04:00
YoshiRulz f37b74c4ba Enable CS1570 and fix noncompliance
malformed XML
2020-06-20 21:31:15 -04:00
YoshiRulz 43cc80f6a3 Mess w/ doc comment warnings 2020-06-20 21:31:15 -04:00
zeromus dfe027cf8f finish renaming hyper/turbo wbx files 2020-06-20 20:20:42 -04:00
zeromus 602dec0c4c clarify that CloneSaveRam() can return null 2020-06-20 20:13:00 -04:00
zeromus f98c4d18b1 dont create empty file when manually flushing null save ram 2020-06-20 20:12:59 -04:00
nattthebear a9d1ad16b1 GPGX: Saveram tweaks
When saveram doesn't exist, return null, not new byte [0].  If passed a 0-length saveram file, do not pass it to the core (this crashed in interop stubs).  Note that as best as I can tell, this is not fixing any problem; even without this commit it seems impossible to get BizHawk to actually generate a 0 byte saveram file for GPGX because of other checks that already existed.
2020-06-20 19:21:55 -04:00
zeromus fc5e325608 add Reset Speed hotkey. it's bound to Shift+Equals by default because.. well, it's kind of logical... kind of. If you have any better suggestions...
fixes #2154
2020-06-20 18:55:39 -04:00
zeromus 936b7606d0 cleanup to Choose A/V writer dialog 2020-06-20 18:46:37 -04:00
adelikat c6694a5e29 TasMovie - cache mnemonic look ups, gives a noticeable speed boost to drawing 2020-06-20 16:00:08 -05:00
adelikat 249259d7b3 move QuickCollections to the PCEHawk core where it is used, since we don't expect to use it elsewhere, and one of it's advantages was speculating that being in the same assembly would give it good inlining, so being in a common library was negating this 2020-06-20 14:54:21 -05:00
adelikat dc656ccb23 remove unused extension method 2020-06-20 14:36:57 -05:00
adelikat 21d2667736 remove useless dropdown opened event 2020-06-20 14:27:23 -05:00
adelikat 46188f977c convert SMSHawk to generic core menu 2020-06-20 14:11:23 -05:00
adelikat f1d5ef0f0f create ISmsGpuView and have the Sms VdpViewer tool depend on it 2020-06-20 14:03:57 -05:00
adelikat 8bfe6011bc convert PCE to generic core menu 2020-06-20 13:42:00 -05:00
adelikat 5570af6514 convert Genesis to generic core menu 2020-06-20 13:12:09 -05:00
adelikat 831197aeaa created a SpecializedTool attribute for system/core specific tools, and use it to dynamically add available tools to the generic core menu, replace the hardcoded GBA menu using this 2020-06-20 13:05:36 -05:00
adelikat f1131b1907
Create a generic core menu (#2155)
* poc - have a default core menu that provides a generic settings menu item, wire up some cores to this generic menu that only have settings to begin wtih

* vectrex - remove strong type for settings, if there are no settings the convention is to use object, which allows GenericCoreConfig to be smart

* convert saturn menu to default core menu

* fixups

* convert PCFX menu to generic core menu

* convert snes9x and faust to generic core menu

* convert GBLink to generic core menus

* convert MAME to generic core menu

* convert NGP to generic core menu

* convert GGLink to generic core menu

* convert wonderswan to generic core menu

* convert virtualboy to generic core menu
2020-06-20 11:28:23 -05:00
nattthebear e6858c702b nyma - fix bug that stopped NGP from booting
Happened in a recent refactoring.  NGP hides the constantfb setting (Because it is always at a constant fb), and that needs to override the core provision, not cause an exception.
2020-06-20 12:12:34 -04:00
zeromus 5e399b8fc3 fix crash shutting down when GL retroshaders failed compiling 2020-06-20 00:52:38 -04:00
zeromus 1b4a6f6415 get gl display method working, at least, minimally, with the scanlines shader. someone else can fix up the others if they need to or make me a bug. at least the hard part is past 2020-06-20 00:48:42 -04:00
zeromus 00e546a537 keep working on CGC-removal 2020-06-20 00:48:42 -04:00
zeromus b842f3ed16 remove cgc (step 1) 2020-06-20 00:48:42 -04:00
nattthebear 1f966a4cc1 Fix potential crash on exit if certain native resources weren't disposed
Finalizers in SpeexResampler and QuickNes assume that the underlying native dll still exists when they run, as they have to in order to successfully clean up leaked memory.  This is not true if those resolvers, which were stored as static fields themselves, had been finalized, which can only happen on app exit (because the static fields were readonly and always kept their value).  If a SpeexResampler or QuickNes was never disposed and itself lasted all the way to app exit, then the order of these two finalizers would be unspecified and a crash could happen.

In normal circumstances, this was only observable in DS core because apparently Suuper couldn't copy paste properly and missed the dispose part, but that was already fixed in 129d454a67.
2020-06-19 23:10:56 -04:00
nattthebear 129d454a67 blah blah dispose blah blah 2020-06-19 20:56:16 -04:00
zeromus ee963e8d64 I found this old icon on an old hard disk. I think I meant it for the log window, but maybe that was back when it opened the windows console instead of another window? Anyway, it's cute, maybe someone will figure out what to do with it. 2020-06-19 19:07:20 -04:00
adelikat 65a6ec03f6 reduce some mainform redundant menus for gb3/4x, they have the same logic as gbhawk link 2020-06-19 17:07:42 -05:00
adelikat 7bac6e933b add icon that the designer ate 2020-06-19 16:49:23 -05:00
nattthebear 020e5a7e32 minor cleanup 2020-06-19 17:26:58 -04:00
adelikat 487c596d76 cleanup Zwinder 2020-06-19 16:16:07 -05:00
adelikat 53716a40e5 Rewind Config - add UI for Rewind.TargetFrameLength, and a bit of visual re-org. Designer was used so this includes designer file barf 2020-06-19 16:09:17 -05:00
adelikat da59add3f6 add TargetFrameLength to rewind settings 2020-06-19 15:58:18 -05:00
adelikat 4978fe4b92 Rewind config - more cleanup - calculate maths correctly 2020-06-19 15:53:08 -05:00
adelikat 32b14641f1 Rewind config - better buffer size settings 2020-06-19 15:22:39 -05:00
adelikat 9faa159647 Rewind settings cleanup, make default buffer size 512mb 2020-06-19 15:19:50 -05:00
adelikat d431947d4e rewind config cleanup 2020-06-19 15:14:11 -05:00
adelikat 392611d6c6 Rewind - rename Small state enable to just enabled 2020-06-19 15:09:59 -05:00
adelikat c83027b817 remove medium and large state enabled rewind options 2020-06-19 15:05:49 -05:00
adelikat 6b514293ff Rewind - remove speed multiplier option, very redundant given that speedup and turbo calculate toward rewind speed 2020-06-19 15:02:03 -05:00
adelikat 6440d92a34 remove rewind frequency settings 2020-06-19 14:57:09 -05:00
adelikat 63533888ad Rewind config - remove on disk option 2020-06-19 14:47:25 -05:00
adelikat 9d17cd40e8 Rewind - remove ability to define Small, Medium, Large state sizes 2020-06-19 14:45:08 -05:00
adelikat a58a10e633 remove rewind threading config option 2020-06-19 14:37:36 -05:00
adelikat 270d03bf40 rewind - change UseDeltaCompression to UseCompression 2020-06-19 14:35:55 -05:00
adelikat dec20a4683 remove old rewinder code 2020-06-19 14:10:06 -05:00
adelikat 84c691021b settings hacks - actually map compression to a compression settings, give rewind an "off" switch, hacked to small states for now 2020-06-19 14:05:38 -05:00
adelikat 02a2efbed1 oopsies 2020-06-19 14:05:38 -05:00
adelikat 7dd78a9fa4 zwinder - hack in some settings from the ui 2020-06-19 14:05:38 -05:00
nattthebear 3b8e0ce39d Zwinder: Don't tell the mainform we're rewind-state-capping every 0 frames, that's just silly 2020-06-19 14:05:38 -05:00
nattthebear 1121d430f4 zwinder: add optional compression 2020-06-19 14:05:38 -05:00
nattthebear 5bd75fd001 Testing a new "zwinder" rewinder 2020-06-19 14:05:38 -05:00
alyosha-tas a914cb69e0 GBHawk: Speed change and window fixes 2020-06-19 14:09:03 -04:00
adelikat 75bd2f8063 fix NRE fix fail 2020-06-19 10:18:28 -05:00
adelikat 91c33a49c0 Rewind config - fix NRE when turning off rewind then going back to the config dialog 2020-06-19 10:01:01 -05:00
zeromus 25327b510d mgba - try resetting sram memdomain after frame advance, so sram autodetection can progress and feed into frontend. addresses #1620, maybe not in the best way 2020-06-18 03:08:57 -04:00
zeromus 1efc91cb94 hex editor: handle tiny (even 0 size) memory domains without crashing 2020-06-18 03:07:44 -04:00
YoshiRulz 8e414aea29
Enable CA1829 and fix noncompliance
"Use Length/Count property instead of Count() when available"
2020-06-18 09:44:01 +10:00
YoshiRulz 620e54580d
Enable CA1052 and fix noncompliance
"Static holder types should be Static or NotInheritable" (classes with only
static members should be static classes)
2020-06-18 09:43:57 +10:00
YoshiRulz 16d1782c9e
Enable CA1018 and fix noncompliance
"Mark attributes with AttributeUsageAttribute"
2020-06-18 09:43:53 +10:00
YoshiRulz 7f99dd95d6
Enable CA1010 and fix noncompliance
"Collections should implement generic interface"
2020-06-18 09:43:50 +10:00
YoshiRulz 8ca791852a
Enable MEN011 and fix noncompliance
"Align using directives"; this file had 2 BOM chars for some reason
2020-06-18 09:43:47 +10:00
YoshiRulz e71f5b32f0
Minor style cleanups 2020-06-18 09:43:36 +10:00
alyosha-tas 01e3a6cf43 QuickNES: blacklist Burai Fighter fixes #2145 2020-06-17 13:58:51 -04:00
nattthebear 4d3558d7e3 State manager API cleanup
add some comments.  Remove two methods from the interface definition that aren't actually used in public API
2020-06-17 07:31:00 -04:00
YoshiRulz abca8e02f2
Move some static data from MainForm to RomLoader 2020-06-17 10:46:54 +10:00
YoshiRulz 77e6a7300a
Create and use MainForm.ShowDialogAsChild(Form) helper 2020-06-17 10:46:51 +10:00
YoshiRulz 0e767add09
Rename ApiHawk files to match type name 2020-06-17 10:38:31 +10:00
YoshiRulz 9d1dfd71a1
Fix EmuClientApi not being registered and merge CloseEmulator()s
fixes a74d657a2, 51a83193a
2020-06-17 10:35:14 +10:00
alyosha-tas c53bda9235 NESHawk: make game genie compare cheats work 2020-06-16 20:01:34 -04:00
YoshiRulz ff4662efe8
Delegate more of ClientLuaLibrary to ApiHawk 2020-06-17 08:02:09 +10:00
YoshiRulz a74d657a2a
Promote IEmuClient to a full-fledged IExternalApi
also remove UnpauseEmulation() (duplicate of Unpause()) and rename
SetExtraPadding to SetClientExtraPadding (to match Lua)
2020-06-17 08:02:02 +10:00
nattthebear 9597be621a Partially revert c42889ceef
Pretty sure it's impossible for this to be null; the entry assembly always has a location and only weird dynamic assemblies can have none.

But if somehow it was, then we don't want to create a jumplist item that doesn't work!
2020-06-16 17:30:18 -04:00
nattthebear 8607f7891f Fix virtual size output on nyma cores. Expose more debugging info to console about screen sizes. 2020-06-16 15:53:10 -04:00
YoshiRulz 51a83193a1
Merge overloads of CloseEmulator to param w/ default 2020-06-17 02:15:33 +10:00
YoshiRulz cb08d00372
Replace single-use delegate type with Action<bool> 2020-06-17 02:15:11 +10:00
YoshiRulz 03acb1ded7
Move LoadRomArgs to own file 2020-06-17 02:14:33 +10:00
nattthebear 8b9debb8b9 Hide mission stick autofires again
I hope someone comes into irc screaming about how they can't do their TAS because we don't support the exact hardware semantics of the mission stick, but the more realistic outcome is that no one ever uses the mission stick for anything
2020-06-16 10:20:11 -04:00
nattthebear fa4a95f1b1 Looks like this existed solely to support the old bsnes interop, which everyone agrees was awful and something we only did because we had to 2020-06-16 07:45:34 -04:00
nattthebear 7b2ac98520 guess nothing was using this 2020-06-15 17:10:27 -04:00
adelikat 27bb2759a6 more mnemonics for saturn 2020-06-15 15:33:54 -05:00
adelikat c5ec8eb0ba saturn - mnemonic for smpc reset button 2020-06-15 14:59:24 -05:00
adelikat 03e2bccf6c remove a debug line of code 2020-06-15 14:49:26 -05:00
zeromus 98b3d8d335 change PSX framerates to follow mednafen instead of nocash (fixes #2138) 2020-06-15 15:10:29 -04:00
adelikat e6a2fe39e1 faust - support virtual pads 2020-06-15 14:02:34 -05:00
adelikat cf3e1d51e0 nyma cores - fixes to mnemonic lookups and add a few overrides 2020-06-15 13:43:23 -05:00
adelikat c8a0b6c323 virtual pads - pce, pcfx - add console buttons 2020-06-15 13:29:31 -05:00
adelikat 25dddf5160 hack to fix Nyma roman numeral buttons, virtualpads - PCE and PCFX fixes 2020-06-15 13:20:40 -05:00
adelikat 3d8920308c remove nyma virtual pad hacks for direcitonal buttons now that nyma buttons conform to typical naming conventions 2020-06-15 13:20:40 -05:00
adelikat 4122a51153 bk2 mnemonic lookup - remove some nyma hacks now that nyma directional buttons conform to the typical naming scheme 2020-06-15 12:59:54 -05:00
nattthebear b8bea93cce Rework nyma controller overrides 2020-06-15 13:37:50 -04:00
nattthebear 5b2b1cf13b Enable SNES and GBA gpu view on linux
I tested the SNES one and it seemed to work.  Don't have any working GBA cores right now in linux, I think?  But no reason to expect it wouldn't work
2020-06-15 10:49:17 -04:00
nattthebear 8e689dae76 Don't lock out the GB gpu view on linux
It works there, why was it disabled?
2020-06-15 10:42:47 -04:00
YoshiRulz 77a810600b
Inline the thing I deleted into somewhere it shouldn't be used, again 2020-06-15 13:09:58 +10:00
YoshiRulz 5f809d8e24
Cleanup N64 controller def init and re-init 2020-06-15 13:03:15 +10:00
nattthebear e5e4983464 waterbox - remove some unused saverammerer junkus
ngp doesn't use this, so...
2020-06-14 20:29:22 -04:00
adelikat 67489bfc3a PCFX - fix virtualpads, support mouse 2020-06-14 16:21:37 -05:00
nattthebear 30fd675903 woops 2020-06-14 16:27:08 -04:00
adelikat 9027223018 PCE - virtualpads - support all the buttons 2020-06-14 15:19:28 -05:00
adelikat cecf29e90a Support PCE mouse in movie mnemonics and virtualpads 2020-06-14 15:19:28 -05:00
nattthebear ecdfc66617 nyma big setting update
Moves a lot of settings around, hopefully addressing some concerns
2020-06-14 16:02:33 -04:00
YoshiRulz 99a5563490
Inline value that was public for some reason 2020-06-15 05:12:14 +10:00
YoshiRulz dbeb279bf0
Add an extension method to help w/ ControllerDefinition init of axes 2020-06-15 04:47:54 +10:00
nattthebear 2707d1cd92 nyma - rework settings architecture a bit
This gives us flexibility to define more featureful overrides
2020-06-14 14:18:13 -04:00
adelikat e41659e237 rough in for gamepad or none virtualpad support for Turbo and Hyper Nyma cores, only 2 button currently supported, support some uppercase button names in mnemonics 2020-06-14 12:02:09 -05:00
adelikat 9dfd6c3fb3 remove nyma button name overrides, they don't help with virtualpads, and ar e a hassle to maintain, we can just consistently be inconsistent for these cores 2020-06-14 11:32:01 -05:00
nattthebear a0aa1fb805 Bare minimum to unbreak some mnemonics 2020-06-14 11:58:00 -04:00
nattthebear 278317685c actualportdata api 2020-06-14 11:47:02 -04:00
nattthebear aa3369a080 Get saturn virtualpad closer to reworking again
This is a mess and we need a new notion of controller definition
2020-06-14 11:33:51 -04:00
nattthebear 7ba3f6db03 saturn - fix crash in dead or alive
It does look pretty awful with interlacing, but that's not something bizhawk is equipped to solve at present
2020-06-14 10:15:05 -04:00
adelikat 3610ca2b4c virtualpads - prevent crash on Turbo and HyperNyma cores, just empty for now, will support these cores later 2020-06-13 18:17:11 -05:00
nattthebear f2b461bed1 nyma - overhaul some input stuff to support some more things
saturn guns and keyboards now work
2020-06-13 18:19:41 -04:00
nattthebear 7f83f311f9 saturnus - wire up the needed analogs for 3d controller 2020-06-13 17:00:59 -04:00
nattthebear 77e3f9acb3 saturn - hide unavailable ports depending on multitap
One slight issue is that the bulitin smpc reset is always "player 13", but that's not enough of an issue for me to care
2020-06-13 16:53:46 -04:00
nattthebear d6cc6abfec pcfx - hide ports based on multitap 2020-06-13 16:50:01 -04:00
nattthebear 13a5e9d102 faust - hide ports 3-5 and/or 6-8 depending on multitap settings 2020-06-13 16:45:06 -04:00
nattthebear 60614ffa7b PCE: Hide controllers 2-5 if multitap is disabled
They have no power in that situation
2020-06-13 16:39:26 -04:00
adelikat 2dd618b6f2 PCFX - remap some buttons, add (bad) mnemonics for mode buttons 2020-06-13 15:21:52 -05:00
adelikat 573b544a88 new pce cores - add some button name overrides, and support mnemonics 2020-06-13 15:11:00 -05:00
adelikat b1c2ed0d3d set movie = null on stop movie, this used to crash tastudio but I can't make it crash anymore, either we fixed the underlying problem or I didn't reproduce it correctly, will fix if it comes up 2020-06-13 14:29:47 -05:00
nattthebear 398d9c45cb Revert "fix nyma button binding label"
This reverts commit 14661f4c76.

Dunno what was going on here, this is a feature that we'll need to fix #2129 and similar... please don't randomly delete code?
2020-06-13 15:08:20 -04:00
zeromus 14661f4c76 fix nyma button binding label 2020-06-13 13:42:45 -05:00
YoshiRulz f48e3cd2ea
Re-enable A/V recording on Linux and add a big ol' disclaimer dialog 2020-06-14 02:59:50 +10:00
adelikat 4c77ebd3d1 remove tastudio hack that I'm convinced is either 1) does nothing 2) causes bugs 3) fixes something that should be handled in a different place in the code 2020-06-13 11:47:21 -05:00
adelikat 51e1ee3a46 MovieSession - simplify and improve performance - remove unnecessary CopyController wrapper on MovieIn, and don't set movie controller state unless recording 2020-06-13 11:38:30 -05:00
adelikat 268ab96ae9 remove built-in multitrack movie recorder, justification: tastudio is a much better alternative, it isn't used, and it's causing strain on better movie architecture, also this logic is easily done via lua script. It could be built from scratch one day in a way that plays nice with better movie architecture, if there's demand, but we need to remove this to keep moving forward 2020-06-13 09:49:25 -05:00
nattthebear 03d10cebb9 Support bsnes on LOO-NICKS
Had to fix up libspeex and some waterbox cothread funsies
2020-06-12 19:10:42 -04:00
adelikat bb2e82c94a GlobalWin.MainForm begone 2020-06-12 16:59:44 -05:00
adelikat 590a2fc245 VirtualPadButton - be more thorough about not responding to keyboard input, instead of focusing on mainform to avoid it 2020-06-12 16:31:38 -05:00
adelikat 336d2fc3a9 simplify EditSubtitlesForm 2020-06-12 15:53:01 -05:00
adelikat ee0d32d56f simplify the EditCommentsForm and remove usages of GlobalWin 2020-06-12 15:29:45 -05:00
nattthebear 25a5449a48 Work around mono marshalling issue
Fixes #2116, but it'd be nice if mono fixed it too
2020-06-12 15:22:46 -04:00
adelikat f21132a2ac move EnsureCoreIsAccurate() out of EmuUtil and back into mainform since it has so many dependencies, including mainform itself, and 50% of its use is in mainform anyway 2020-06-12 13:57:28 -05:00
adelikat ac54318cfb GlobalWin.Cheatlist begone 2020-06-12 13:39:31 -05:00
nattthebear eb811b7d79 Remove check that stops a nymacore from creating "thread" in deterministic mode
The MT ppu renderer in saturn looks cool to me, so it probably won't cause nondeterminism, probably

Fixes #2126
2020-06-12 14:31:09 -04:00
adelikat 61b852c571 remove some unused usings 2020-06-12 12:56:58 -05:00
adelikat 53b0472c1a N64 plugin config - simplify use of GameInfo 2020-06-12 12:56:58 -05:00
adelikat ac61701aa3 GameInfo - simplify 2020-06-12 12:56:58 -05:00
adelikat 4e7e314a33 GameInfo - simplify a method name 2020-06-12 12:56:58 -05:00
adelikat 0c300cf5bf Remove our home-grown ReadonlyDictionary in favor of the built in .net one (as of 4.5 we have one of these built in), Gameinfo.GetOptionsDict() - return IReadonlyDictionary instead of Dictionary 2020-06-12 12:18:50 -05:00
adelikat c81f052f94 GameInfo - demand a value for key params, and force calling code to pass in an empty string if that's what they choose (better would be to pass a bool or a 0/1 even if we don't require it) 2020-06-12 12:11:53 -05:00
adelikat 10c62764ba improve some if checks in OSDManager 2020-06-12 11:58:17 -05:00
adelikat 5ef2a4d7e6 use IGameInfo instead of GameInfo in various palces 2020-06-12 11:56:05 -05:00
adelikat 066e282b39 remove GlobalWin usage in RecordMovie.cs 2020-06-12 11:48:51 -05:00
adelikat 13b6b09771 pass in systemId dependency to PathConfig 2020-06-12 11:36:21 -05:00
adelikat 777a2e8f3e reduce some copy pasta for Bmp file creation across various tool dialogs 2020-06-12 11:14:25 -05:00
adelikat f9fff69ce4 BmpView - use DesignMode flag instead of shenanigans 2020-06-12 10:21:19 -05:00
adelikat 195b01fb44 nitpick 2020-06-12 09:25:05 -05:00
YoshiRulz 5d25d537d1
Hopefully EmuClientApi will now have the loaded emu/game
see f78af85cc, 109ba1d31
2020-06-12 09:47:07 +10:00
YoshiRulz aca3768c78
Align ApiHawk and Lua library names 2020-06-12 09:47:04 +10:00
adelikat 597e010faf use GlobalWin.Game less 2020-06-11 18:31:32 -05:00
adelikat ba939466df Pass an IGameInfo into ToolFormBase and use it in tools 2020-06-11 18:25:34 -05:00
adelikat 109ba1d31a fix NRE on startup for EmuClientApi, this is a band-aid, I think _emulator should never be null 2020-06-11 17:48:41 -05:00
adelikat f1818e7f7e add Api suffix to ApiHawk interfaces, so they will stop colliding with non-api interfaces 2020-06-11 17:40:39 -05:00
adelikat d9ef084e2f add a readonly interface for GameInfo for code that only needs to read, pass into SynclessRecordingTools instead of globals, refactor SynclessReocrdingTools a bit 2020-06-11 17:35:40 -05:00
YoshiRulz 52cc0050b8
Allow ApiManager to pass some extra globals to the 5 EmuHawk APIs 2020-06-12 06:14:32 +10:00
YoshiRulz d2e20a7a1e
Pass MainForm.AllowInput to Input instance as delegate 2020-06-12 05:57:52 +10:00
YoshiRulz b972b8a771
Inline MainForm.IsLagFrame and change global usage in OSDManager 2020-06-12 05:47:23 +10:00
YoshiRulz dc352c0225
Pass globals to EmuClientApi as ctor params 2020-06-12 05:37:04 +10:00
YoshiRulz f78af85cc6
Delegate ClientApi implementation to an instantiable class
The new class, EmuClientApi, is abstracted as IEmuClient, but this interface is
not an IExternalApi. This is because a future commit will add a ctor not
compatible with the current instantiation code in ApiManager.
2020-06-12 05:37:00 +10:00
adelikat a930b5f950 fix typo in a comment 2020-06-11 13:06:27 -05:00
adelikat 8270c5f997 put classes in MultitrackRecording into separate files, and make a few of them internal 2020-06-11 12:27:26 -05:00
nattthebear 638c2095ed Update labelling for every mednacore that we updated
WonderSwan/Cygne did not move to nyma, but I manually backported changes so it counts as "1.24.3" mostly
2020-06-11 12:22:32 -04:00
nattthebear f14dace4a0 Move saturn over to nyma, get latest version. 2020-06-11 12:17:10 -04:00
adelikat 73e2922a0d Fix logic that news up new Rewinders, properly dispose of the Rewinder on closeRom, this might fix memory leaks in rewinder that pre-date the recent refactor 2020-06-10 15:06:34 -05:00
adelikat af93cf3e92 consolidate logic that instantiates a new rewinder, be sure to dispose the old one 2020-06-10 09:15:52 -05:00
adelikat de5508ca6c rewinder - fix potential NRE 2020-06-10 08:56:25 -05:00
zeromus c9c1aa91ad fix temp directory pathing in path manager which was previously making no attempt to do the right thing (fixes #2118). did I do this right? I don't see what was so hard about it in the first place, but I had left a todo there..... i dunno 2020-06-09 23:27:49 -05:00
feos f9ffeec81b we can launch and use mame debugger 2020-06-09 22:34:15 +03:00
feos 9b3e18e992 mame: document build command 2020-06-09 21:43:59 +03:00
feos 36787d7292 mame: obtain rom names and hashes 2020-06-09 21:38:34 +03:00
nattthebear ef02263122 fix mouse on the pcfx core
this was a regression from the move around, it worked before
2020-06-09 13:12:12 -04:00
nattthebear 69e30ee33f Decrease state size in pcfx, pce, pce-fast 2020-06-09 10:09:17 -04:00
nattthebear 9bb56f0b5c move pcfx to nymacore 2020-06-09 08:15:06 -04:00
nattthebear 11e1019590 nyma -- support cd switching
motorcycle shifter, but neutral is before 1st instead of between 1st and second
Yes, I had to rebuild the non cd cores here, and I am sorry
2020-06-08 20:24:30 -04:00
zeromus 9c875b42f4 background thread bootgod loading 2020-06-08 16:45:44 -05:00
nattthebear 481a48fe85 Fix path config on loonix
Somewhere things are being normalized wrong and I don't care to find out where.  This is correct and functional on all systems.
2020-06-08 16:59:04 -04:00
nattthebear db866653c2 Don't try to start d3d on loonix... 2020-06-08 16:48:37 -04:00
zeromus d98bfc82c5 fix threaded DB loading (fixes #2113) 2020-06-08 14:08:50 -05:00
nattthebear b11b50a950 all nyma cores: support constant size framebuffer
this will do lossless integer scaling using mednafen provided screen geometry data
2020-06-08 13:05:31 -04:00
adelikat ddfd6fd49a put IRewinder in its own file 2020-06-08 11:35:19 -05:00
adelikat 799742c3ff IRewinder - dress up the api a bit, fix a potential NRE 2020-06-08 11:29:12 -05:00
alyosha-tas 843c70d6e1
Merge pull request #2111 from LodanZark/patch-1
update msx bios filenames and description
2020-06-08 10:19:14 -04:00
adelikat 11fb1a99bb Rewinder - be more careful about null things, fixes #2112 it seems 2020-06-08 08:32:26 -05:00
nattthebear 6eb4ec4c0d minor cleanup 2020-06-08 07:55:38 -04:00
LodanZark 896612eb4d
update msx bios filenames and description
Updated the msx bios filename based on mame 0.221 and cbios0.29a, this way it fixes the filename conflict while using the feature "Organize" through Firmware Manager.
Couldn't figure it out about the bios_test origin, so I kept that one unchanged.
2020-06-08 03:32:18 +01:00
adelikat 62c6513ee3 ugh 2020-06-07 19:27:14 -05:00
adelikat 10e5df99f1 simplify naming of Rewinder api 2020-06-07 19:26:00 -05:00
adelikat ef9bb3208d simplify Rewinder api a bit 2020-06-07 19:22:08 -05:00
adelikat 225f1e7c59 oops 2020-06-07 19:19:45 -05:00
adelikat 018bed9422 interface Rewinder 2020-06-07 19:12:13 -05:00
adelikat e66e53c15d Rewinder - make IDisposable and new up and dispose of it instead of calling Init/Uninit methods. Tastudio - actually disable rewind on load instead of clearing it, and re-enable it when closing 2020-06-07 19:00:39 -05:00
zeromus 93f06f2a68 oops, fix database loading 2020-06-07 18:43:13 -05:00
adelikat 82c6efd274 Rewinder - take in an immutable version of rewindConfig 2020-06-07 17:34:41 -05:00
YoshiRulz 4cf30f4592
Fix ClientApi.RunningSystem when using new PCE cores (fixes #2109) 2020-06-08 08:06:42 +10:00
zeromus bd8003c725 thread gamedb load 2020-06-07 16:43:50 -05:00
zeromus 3ae6515d2a rename LibTerboGrafix LibTurboNyma 2020-06-07 16:09:32 -05:00
zeromus 741e8b18fd rename TerboGrafix to TurboNyma 2020-06-07 16:07:58 -05:00
zeromus 4f9855665d rename TerboGrafix.cs to TurboNyma 2020-06-07 16:07:12 -05:00
zeromus 8fca454ebf fix copy/paste error for PCE in PromptToSwitchCore? 2020-06-07 16:06:01 -05:00
zeromus d28f827b06 rename TurboTurboNyma and LibTerboGrafixSanic to HyperNyma.. I think 2020-06-07 16:04:05 -05:00
adelikat 060d436a69 add turbo pce core to the movie "inaccurate core" nag list 2020-06-07 14:11:30 -05:00
adelikat 3658638251 remove some unused usings 2020-06-07 13:56:13 -05:00
nattthebear 6b8b021df7 fix crash loading snes 2020-06-07 14:55:41 -04:00
adelikat 71aa667b3b don't put IMovie extensions in separate namespace 2020-06-07 13:35:16 -05:00
adelikat 265a5f3149 fix lots of tools not updating at lots of times, I broke this with tool refactors 2020-06-07 13:28:10 -05:00
adelikat ce19e489ef Global.cs begone! 2020-06-07 13:14:01 -05:00
adelikat acd928afa5 move InputManager from Global to GlobalWin 2020-06-07 13:13:39 -05:00
adelikat 71cb4fbdb0 pass sticky adapter into MovieSession 2020-06-07 13:11:42 -05:00
adelikat c4c820fad3 move MovieSession from Global to GlobalWin 2020-06-07 13:07:09 -05:00
adelikat 8c5538405f move movie input logic from InputManager to MovieSession, multitrack is broken currently, will fix later 2020-06-07 13:03:27 -05:00
YoshiRulz fefdf0d60a
More misc. cleanups in RomLoader 2020-06-08 02:06:52 +10:00
YoshiRulz 40fd96f216
Use out params instead of tuples for multi-return 2020-06-08 02:06:46 +10:00
nattthebear 8c9d9715e2 quicknes - reorder buttons for presentation 2020-06-07 11:42:52 -04:00
adelikat ce2381ea54 nitpicks 2020-06-07 09:30:50 -05:00
adelikat 7ff91c234e InputManager - remove a null check on movie session, it will never be null 2020-06-07 09:30:50 -05:00
nattthebear 8259d908bb Let's not do the same thing 3 times in a row 2020-06-07 10:04:36 -04:00
adelikat 954adf4ab6 remove dependency on an IMovie from GetRetroSaveRAMDirectory, since it shoudl only be getting the directly, not the the filename 2020-06-07 08:31:49 -05:00
nattthebear 2952ac24aa savestates on waterbox 2020-06-07 09:26:08 -04:00
YoshiRulz 95dbd7c20b
Simplify execution path for extension checks 2020-06-07 19:59:18 +10:00
YoshiRulz 81cb8eb094
Pretty sure this is unreachable, HawkFile.Exists is checked earlier 2020-06-07 19:47:27 +10:00
YoshiRulz 977f725de0
Reorder extension checks in LoadRom 2020-06-07 19:45:58 +10:00
YoshiRulz f6f6106ccf
Misc. cleanups in LoadRom and helpers 2020-06-07 19:36:42 +10:00
YoshiRulz 7c9792db58
Remove useless parameters of load helpers 2020-06-07 19:09:29 +10:00
YoshiRulz dffce9ceb4
Extract methods from LoadRom
also move declaration of bool cancel closer to usage
2020-06-07 18:46:49 +10:00
YoshiRulz 347ed0d404
Cleanup Sound ctor 2020-06-07 18:06:35 +10:00
nattthebear 0326bf63d3 Bare minimum fix gpgx lazystates rewinder
This was a lazystates regression -- after lazystates, there is no longer any knowledge in the core of how big the state will be
2020-06-06 18:50:44 -04:00
nattthebear aa48af9c94 linux: support gpgx
as before, do not load state even if your life depends on it
2020-06-06 18:25:59 -04:00
adelikat 4d80b5d4e8 Movie importers - fix importers, broken with recent movie refactors, fix bkm importer, most systems were broken due to contorller definition names changing over the years 2020-06-06 17:17:50 -05:00
adelikat ff61fc3c71 move Global.Game to GlobaWin.Game 2020-06-06 15:11:42 -05:00
adelikat 886c687817 try to detangle Global.Game from advanced loader mess 2020-06-06 15:09:48 -05:00
adelikat cdd5c75488 Move FirmwareManager from Global to GlobalWin 2020-06-06 14:57:37 -05:00
adelikat 981dc95c62 pass FirmwareManager into RomLoader instead of using Global 2020-06-06 14:55:32 -05:00
nattthebear 364d551940 waterbox linux progress
uzem runs.  i don't know about anything else yet.  DO NOT ATTEMPT TO LOAD A SAVESTATE.
2020-06-06 15:51:51 -04:00
adelikat 664c829a30 move Global.Config to GlobalWin.Config 2020-06-06 14:43:46 -05:00
adelikat 5ab7f1a18e pass in an instanced of Config to RomLoader instead of relying on Global.Config 2020-06-06 14:41:11 -05:00
adelikat d8ded66c35 don't use Global.Config in bk2movies, this solution is a bit of shenanigans but it's the least shenanigans I could come up with 2020-06-06 14:29:37 -05:00
nattthebear dcaf504202 Some progress on loonix waterbox
It doesn't work
2020-06-06 14:39:55 -04:00
adelikat 8063393c04 maybe speed up movie state handling a bit by handlign the more likely case of | first, make multitrack and tastudio resistant to unexpected empty lines in the input log 2020-06-06 13:29:26 -05:00
adelikat 1ffa5bc97a simply some movie code a bit 2020-06-06 13:21:10 -05:00
adelikat 877b02e429 Bk2Movie - remove some more copy pasta I missed from an earlier commit 2020-06-06 13:13:30 -05:00
adelikat 420253b6dd break out cheat related config items to their own class, pass this config into CheatList 2020-06-06 12:26:35 -05:00
adelikat 6b22630ab1 cheats - when a cheat is auto-removed, also remove it from the recent cheats list 2020-06-06 12:26:34 -05:00
adelikat 554052f660 Sim;lify CheatList 2020-06-06 12:26:34 -05:00
nattthebear 4a4c59fcda When using dummy sound output, don't crash on exit
My bad -- I had meant to move this outside the if
2020-06-06 12:29:36 -04:00
nattthebear b4517d8e0d Actually respect the no sound output config variable 2020-06-06 12:21:31 -04:00
adelikat e69cedfdfa InputManager - simplify by moving RewrieInputChain logic into SyncControls since it is only called from there, and does similar work 2020-06-06 10:39:40 -05:00
adelikat 3d48376436 InputManager - lock down RewrireInputChain, and have calling code only call SyncControls 2020-06-06 10:37:13 -05:00
adelikat c6edcc4131 remove some vestigial code, no need to RewrireInputChain from MovieSession.QueueMovie, first of all, controls need to be resynced on running of a movie not queuing, secondly, it's already called as a result of a SyncControls() call 2020-06-06 10:32:32 -05:00
adelikat 2bf902b942 remove outdated bk2 "scrub" hotkey, this is an obscure feature that is non-trivial to use, but a higly trivial thing to do in tastudio 2020-06-06 09:58:49 -05:00
adelikat bd1c3cb991 controller config - simplify allow L+R to just a checkbox, where off = "forbid" option, since nobody cares about priority vs forbid, simplify ULDRController and don't use globals 2020-06-06 09:52:29 -05:00
nattthebear e8b84b466b More hacks, just need to unblock yoshi and fix this for real later pinky swear 2020-06-06 10:05:10 -04:00
adelikat 4479202151 move DefaultTasStateManagerSettings to the MovieSettings class allowing to not use Global in TasMovie constructor, also pass stuff in to DefaultGreenzoneSettings instead of using Globals 2020-06-06 08:52:09 -05:00
nattthebear db934f3689 quick hack to hopefully unbreak quicknes on loonix 2020-06-06 08:21:26 -04:00
YoshiRulz 6766e45c5e
Simplify core selection menu code 2020-06-06 21:02:42 +10:00
adelikat 069bdddbba use Session.Settings more in movie classes now that it is never null 2020-06-05 21:17:41 -05:00
adelikat 55bb627550 Move MovieService.Get to IMovieSession, and require an IMovieSession in Bk2Movie and TasMovie ctors, refactor accordingly 2020-06-05 21:09:03 -05:00
adelikat 863d022bc5 fix an NRE I caused in movie code. The old code was wrong, this one is better 2020-06-05 20:10:20 -05:00
adelikat 8303321586 rename method to try to better describe what it does 2020-06-05 19:26:30 -05:00
YoshiRulz ede8877ccf
Move core selection menus out of Designer
Generation is based on a convoluted data structure declared statically in
MainForm. I've removed duplicate core selection options that were present under
system-specific menus, some only when emulating SGB.
2020-06-06 07:45:15 +10:00
nattthebear 6a63373c48 Make use sram default in some cores that have this as an option
true is what end users would expect most of the time.  false is only for advanced use cases.
2020-06-05 14:11:09 -04:00
adelikat 8b5e0ae8fd MovieConccersionExtensionTests - use DataRow and add more scenarios 2020-06-05 13:06:45 -05:00
adelikat bf5aca721e move MovieConversionExtensions 2020-06-05 11:44:12 -05:00
adelikat b22f9e6e01 move methods for Log copying from ITasMovie to IMovie. This bloats the IMovie contract more, but this allows for converting from one IMovie to another without an IEmulator dependency. Refactor conversion extensions to use these methods and remove emulator and movie session dependencies 2020-06-05 10:14:49 -05:00
YoshiRulz b88f20faed
Rename Verison to BizHawk.Version, fixes #2101 2020-06-06 00:20:48 +10:00
nattthebear ad16294b11 Fix gb roms running without bios 2020-06-05 08:50:30 -04:00
TiKevin83 81628bf109
Ports from Upstream GSR for Babs and Robopon (squashed #2091) 2020-06-05 20:27:19 +10:00
adelikat 89789b4358 band-aid fix bk2 to tasproj conversions in tastudio 2020-06-04 20:06:23 -05:00
nattthebear 5319aba113 Remove an unused setting from pce_fast
This was bad copy pasta -- the core doesn't actually support this at all
2020-06-04 20:26:35 -04:00
adelikat d84cd95ab8 oops 2020-06-04 19:23:07 -05:00
TiKevin83 3837ff7cf9
More cleanup to the new tasproj filename code (#2093)
* Test class and basic unit test
2020-06-04 19:21:22 -05:00
adelikat e11509421d simplify the construction of TasMovie but not requiring a startsFromSaveState param that doesn't actually set the movie's StartsFromSavestate bool, it just defined the text of the first marker 2020-06-04 19:20:09 -05:00
alyosha-tas 92bbf768af GBHawk: Fix HuC3 SRAM 2020-06-04 18:34:39 -04:00
adelikat 39636f6ef1 IMovieSession - remove CurrentInput and PreviousInput and move the logic to the one tool that utilizes them. Since these are purely derivable convenience properties, it's better to not be in the spec. If other other needs to do this logic we can move this out to an extension method 2020-06-04 16:37:02 -05:00
adelikat dba9de4f29 remove COreForcingViaGameDb user option. We should not give the user the ability to turn this off. If they are power users and want to overright our db, they can mod the db entries 2020-06-04 16:06:07 -05:00
adelikat d86aabb8b5 remove the "poke frame" hotkey, as this is a very legacy feature, we have a whole tool for this now 2020-06-04 15:30:26 -05:00
alyosha-tas 486b3945ad GBHawk: use saveram by default 2020-06-04 14:36:08 -04:00
nattthebear e798fb2b29 play around in romloader to replace some snes hackery with slightly different snes hackery 2020-06-04 12:45:36 -04:00
nattthebear 7792eb2e80 Improve waterbox "lazystates"
Cores that used the .invisible section to store data were saving it; this was a regression from before, so PCFX states should be back down to the previous release size, or perhaps a bit smaller.

Add the ability to dirty track libco cothreads, as used in the bsnes core.  This saves a lot of space in those states and they're now quite competitive in size.
2020-06-04 12:13:28 -04:00
adelikat c4586545fa delete an unused using, testing bot 2020-06-04 09:58:04 -05:00
nattthebear 3bc1ed4bbc snes9x - take advantage of new waterbox change tracking to fix special chip games 2020-06-03 19:25:58 -04:00
YoshiRulz 66d9d6763e
Apply lossless image optimisation 2020-06-04 09:09:56 +10:00
adelikat a382af4e7f disable multitrack recording for tasproj movies, the concept doesn't make sense, tastudio easily gives you multiplayer functionality by design. Delete some code that attempted to handle this scenario that likely didn't really work 2020-06-03 17:49:22 -05:00
nattthebear 3faff4811c Add slstart, slend to regular settings in pce fast 2020-06-03 18:37:43 -04:00
adelikat b3234d029c movies - remove legacy support for hex frame number, it's been quite some time since cores were in charge of this value, and thus a core specific hack, due to copy pasta, there's a lot to delete here 2020-06-03 17:35:22 -05:00
adelikat 246d7ec2d5 TasMovie - don't use a field value unnecessarily 2020-06-03 17:35:22 -05:00
nattthebear 2cc106de98 pce: make slstart, slend non-sync settings because the core supports it and the waterbox supports it 2020-06-03 18:33:19 -04:00
adelikat bd2fb07ce1 oops, fix tastudio loading, Movie.Session isn't ready to use in ExtractInputLog 2020-06-03 09:07:14 -05:00
adelikat 9747dc9a95 mGBA - implement IDebuggable.TotalExecutedCycles 2020-06-03 08:28:49 -05:00
TiKevin83 8925d7182f slightly cleaner 2020-06-03 08:22:09 -05:00
TiKevin83 d16f8a7b64 Standardize new filename creation behavior to avoid .bk2.tasproj.bk2.tasproj 2020-06-03 08:22:09 -05:00
nattthebear 46bfcbc47d add a version tag to waterbox states
we're not building any sort of back compat, no.  but if things change, better to bail early to decrease the chance i get bug reports for things i'm not going to fix.
2020-06-03 07:23:06 -04:00
nattthebear d06ed05929 waterbox - track writes for smaller savestates
The waterbox system now uses host os facilities to track whether memory has been written to, to automatically choose what thing to savestate.  This results in a large size decrease for some cores, like snes9x or gpgx (when running cartridge games).  Doesn't do much for cores that were already memory efficient, or for bsnes because of libco compatibility issues; but those cores don't regress either.
2020-06-03 07:13:40 -04:00
feos 0ad26a7435 we won't ever have to pass 256MB 2020-06-03 10:32:10 +03:00
feos f3861ed6cf mgba: cycle count 2020-06-03 10:30:57 +03:00
adelikat ac20835172 NESPPU, NesNamableViewer - reduce a lot of copy/pasta 2020-06-02 20:33:38 -05:00
adelikat bafc31d282 ugh, need to fix MovieSession getting referenced too late for a lot of movie code 2020-06-02 20:06:29 -05:00
adelikat c2e158b0f2 Tastudio - use Config, not Global.Config 2020-06-02 20:03:16 -05:00
adelikat 8c988ab2fc Expose MovieSession settings and use those settings some in movie classes 2020-06-02 19:41:25 -05:00
adelikat 943d704ca5 interface the MovieSettings class to be get only and pass it into movie session, this is a pattern we should use more, to better express that consuming classes do not modify settings, that's a presentation level detail 2020-06-02 19:15:53 -05:00
adelikat a3c82c43d5 Config - move some movie settings to a MovieConfig object 2020-06-02 17:34:16 -05:00
adelikat a8b0d42a1a pass in PreferredCores into MovieSession to manage the core switcheroo, instead of using Global.Config 2020-06-02 17:18:39 -05:00
adelikat 2dda13cdd1 add GBC to core preferences, keep the ui as GB sets both, but this prepared for us to be able to set them separately 2020-06-02 17:04:42 -05:00
adelikat baa820c0e4 UDLRController - pointless refactoring 2020-06-02 16:41:43 -05:00
YoshiRulz cf7aabba35
Shorten project build output paths by removing TFM 2020-06-02 15:58:06 +10:00
adelikat ed9a8ec877 meh, make less copy/pasta in Bk2/Tasproj Write() methods. This is a less overall code, potentially reads better 2020-06-01 20:38:50 -05:00
adelikat bac29fe187 Revert "store vblank and cycle count in tasproj files too. Will do this in a less gross way soon"
This reverts commit 297a0c06a0.
2020-06-01 13:13:42 -05:00
adelikat 297a0c06a0 store vblank and cycle count in tasproj files too. Will do this in a less gross way soon 2020-06-01 12:26:37 -05:00
adelikat d088f89ca2 use some consistent naming without needless abbreviations. Not eryone cn red abbrvs wll 2020-06-01 12:24:36 -05:00
adelikat 4f6699ff26 nitpick variable rename 2020-06-01 12:24:36 -05:00
nattthebear 474d41bd8a add mednafen's pce fast core
~1.6x the speed of the mednafen pce core, or something
Supports all of the same features except ADPCM ram view
TODO: romloader hookups
2020-06-01 11:23:18 -04:00
adelikat 3609037bea move some apihawk api classes from common to emuhawk 2020-05-31 15:55:04 -05:00
adelikat 843610d1c2 remove unused line of code 2020-05-31 15:49:32 -05:00
adelikat d36426f873 Bk2Movie - simplify a bit 2020-05-31 15:07:28 -05:00
adelikat c20e4964c6 move UserBag from Global to GlobalWin 2020-05-31 15:01:28 -05:00
adelikat 8888bd130a move UserDataApi from Client.Common to Client.EmuHawk 2020-05-31 14:57:41 -05:00
adelikat 926b735de1 PathEntryCollectionExtensions - remove use of Global.MovieSession 2020-05-31 14:47:09 -05:00
adelikat e7f26232b9 fix possible NRE nag 2020-05-31 14:30:19 -05:00
adelikat 5e91e548fe SaveStateFile - pass in dependencies to constructor rather than relying on globals 2020-05-31 14:19:14 -05:00
adelikat 7444f32a4e rename SavestateManager to SavestateFile, to better reflect what it does 2020-05-31 13:41:46 -05:00
adelikat 229d7f42e5 break savestate config variables into a dedicated config class, simplify the names, and pass it into SavestateManager.SaveStateFile(), note that this is a soft config breaking change, any of these settings from old configs will be "reset" to defaults 2020-05-31 13:11:14 -05:00
nattthebear 8f3caf384d GPGX: Support independently setting the two troller ports
Fixes #1750
2020-05-31 13:28:58 -04:00
adelikat 34acead9b5 simplify AutoFireController - no need to pass in an emulator and the emulator's definition separately 2020-05-31 12:14:55 -05:00
adelikat 96fa84ff8b remove globals from AutofireController 2020-05-31 12:05:58 -05:00
adelikat d3c4e60405 Lua File list - Simplify save/load method names 2020-05-31 11:50:52 -05:00
adelikat 99dc0e03df LuaFileList - remove pathing concerns to the calling code 2020-05-31 11:49:41 -05:00
adelikat 4b696e64fa simplify LuaFileList more 2020-05-31 11:48:53 -05:00
adelikat 4be160a71f Lua console - unify Save/SaveAs logic and remove a now unnecessary LuaFileList method 2020-05-31 11:48:53 -05:00
adelikat 5a44a99118 LuaFileList - simplify FileName property 2020-05-31 11:48:53 -05:00
adelikat c057c5793c LuaFileList - simplify 2020-05-31 11:48:53 -05:00
adelikat f082ef1f4f move RentLuaSession management out of LuaFileList and into LuaConsole, this is a presentation concern 2020-05-31 11:48:53 -05:00
adelikat 98827aee47 Lua console - use the LoadLuaSession() method consistently instead of copy pasta 2020-05-31 11:48:53 -05:00
adelikat 324a50a0bb move Config.DisableScriptsOnLoad to a lua console setting, and pass it into LuaFileList 2020-05-31 11:48:53 -05:00
nattthebear 6c9b42a526 faust: Support MT renderer
and who said waterbox can't thread.  well, it sort of can't.  but it sort of can.

the speedup isn't that great, but speed is now pretty close (5%?) to snes9x in the only game that matters (final fantasy 5)
2020-05-31 11:53:15 -04:00
adelikat 3b27eb5e91 move SaveStateManager to savestates folder 2020-05-31 10:28:57 -05:00
adelikat a0680e4b94 do the todo of renaming BinaryStateSaver/Loader to ZipStateSaver/Loader 2020-05-31 10:28:02 -05:00
adelikat d21c5dfdfa movie classes in BinarySaveStates.cs into separate files in a savestates folder 2020-05-31 10:22:46 -05:00
adelikat 16ab9dc0b0 BinaryStateSaver - pass in compression level instead of hitting Global.Config, now we just use Global.Config more in other places, but it's a step in the right direction 2020-05-31 10:16:27 -05:00
adelikat 33696eb5df BinaryStateSaver - detangle version lump handling 2020-05-31 10:12:50 -05:00
nattthebear 161e8cc06f snes faust - hide spex settings
We don't support these because they require connecting and using mednafen's internal savestate system
2020-05-31 08:56:10 -04:00
nattthebear ef7aa9f31c nyma pce: get 2 vs 6 button switch working
Due to limitations in bizhawk, we represent mednafen "switch"es as a series of push buttons, one for each position on the switch
2020-05-31 07:28:00 -04:00
adelikat c9241c3fc5 Move Global.CheatList to GlobalWin.CheatList 2020-05-30 19:34:03 -05:00
adelikat 1ce8a368d4 lua - add client.addcheat() and client.removecheat() that match the functionality of the gameshark tool. Deprecate the nes.addgamegenie() and nes.removegamegenie() methods in favor of these 2020-05-30 19:26:11 -05:00
adelikat c52a896cff GameShark tool - move more logic to a common library class 2020-05-30 19:08:18 -05:00
adelikat 35de59488a fix Movie restart I broke some days ago 2020-05-30 16:35:20 -05:00
adelikat 030c2c9570 *sigh* 2020-05-30 16:15:35 -05:00
adelikat ca39eca22c Pass the instance of MovieSession into movies, instead of referencing them from a global 2020-05-30 16:10:07 -05:00
adelikat 593474b739 Watch classes - required PreviousType on Update(), not pretty, but better than relying on a hidden Global setting, and cleaner than forcing the type to be set on construction and maintaining it's state on config changes 2020-05-30 12:27:13 -05:00
nattthebear 3962049847 Fix hex editor bulk multibyte reads
The existing API was such that BulkPeekUint(Start: 20, EndInclusive: 39) would actually read from the address range [20, 100) instead of [20, 40).  That's completely broken.  The hex editor, the only consumer of the API, made the same exact mistake in reverse so the problem wasn't immediately apparent, but it was a giant land mine waiting to happen.  Fix them both.
2020-05-30 13:13:42 -04:00
adelikat 377567e2ba remove CheatList logic in Watch.Poke() methods. These were only happening 1) during CheatList.Pulse() which is uber bad, or 2) Ram poke tool in 1 place, which is easily done there instead 2020-05-30 11:11:51 -05:00
nattthebear 0085fee935 faust - memory domains, input callbacks, lag flags 2020-05-30 11:09:26 -04:00
nattthebear 6eb54da6af Probably fix a hex editor off by N issue that was crashing some things sometimes
There's DataSize and dataSize and this method was using dataSize all the way through except where it wasn't
2020-05-30 09:57:19 -04:00
YoshiRulz 10e7cb0f34
Use pre-built assembly for FlatBuffers.Core
fixes 4be701e2a
2020-05-30 15:54:06 +10:00
YoshiRulz b56e229a45
Target .NET Standard where possible, restore Virtu TFM
fixes 5a0992c2b
2020-05-30 15:53:20 +10:00
nattthebear 9b1cbaf4ab faust - some settings cleanup 2020-05-29 21:19:54 -04:00
nattthebear 3a83f6c9d0 faust: show settings dialog 2020-05-29 20:10:32 -04:00
nattthebear 5e3971a87b Add mednafen snes "faust" core
Speed somewhere between shizzlenineizzle and byuugan.  Some things not hooked up yet.
2020-05-29 20:04:39 -04:00
nattthebear de25b53fe2 Use google flatbuffers for some waterbox core communication
Nyma cores have to move some big complex structs on init and it's annoying and error prone.  This solution is not fast, but these are one time transfers anyway, and it does keep code size and saved size down.  Architecture yay.
2020-05-29 18:03:01 -04:00
zeromus 5a0992c2b7 make projects build only once (for net48). this will probably displease anyone working on targeting one of the other 50 frameworks, but they need to do that in another branch until they can figure out how to make it peacefully coexist; maybe by an alternate solution+project configuration (done in common props, ideally) 2020-05-29 17:45:07 -05:00
alyosha-tas 527334f7e6 GBHawk: performance optimizations 2020-05-29 10:25:03 -04:00
nattthebear 4494caac50 nyma - controller settings tweaks
move power and reset to last tab
add name overrides because evidently most humans have no idea that "RIGHT →" in fact means the same thing as "Right"
2020-05-28 11:41:23 -04:00
alyosha-tas bee1712a2f GBHawk: fix mickey's chase damage audio 2020-05-28 09:20:04 -04:00
adelikat 22a2bb7dc8 see true for more info, but is anything really true? 2020-05-28 08:15:49 -05:00
adelikat 3edae578db cheat - delete more stuff 2020-05-28 08:15:49 -05:00
nattthebear d13a1b54a2 code cleanup
Remove three Stream.CopyTo(Stream) variants that all did the exact same thing as the framework method Stream.CopyTo(Stream).  None of them were used anywhere.
2020-05-28 07:40:20 -04:00
nattthebear 04f86c2843 code cleanup
address a comment on a method called "ascii" that actually used utf8
2020-05-28 07:38:09 -04:00
nattthebear 8c707ea870 build emuhawk with console in debug mode, without in release mode
fixes #2038
obsoletes #2052
2020-05-28 06:47:39 -04:00
nattthebear 96c764e1d8 turbonyma: don't show the RTC settings that we added for neopop 2020-05-28 06:37:12 -04:00
nattthebear 2afe356fc9 Move ngp over to nyma core and update to latest mednafen
It's seen some upstream updates recently, so that's cool
2020-05-27 19:33:31 -04:00
adelikat bf544e02fa Simplify Cheat Pulse() logic wihen it comes to comparison type, and also fix comparison type logic that wasn't accounting for all the display types 2020-05-27 16:36:22 -05:00
adelikat b1c294c236 always add core name to savestate filenames, fixes #2051. Negative consequences is that for all ocres that did not previously have multiple core options, previous save slots will be "lost" to the user (files will still be there but bizhawk won't detect them) 2020-05-27 15:55:19 -05:00
nattthebear 7e53ef69ed Add soft reset / hard reset to nymacores
most of the work had already been done, just didn't wire it up in C#land
2020-05-27 16:17:05 -04:00
zeromus 924c566dc1 fix RW/FF NUD (fixes #2061) 2020-05-27 13:18:18 -05:00
nattthebear 684fca66c5 Revert c18298c8a5 and reimplement it, also connecting profiles
Part of the reason no one uses Bizhawk is because we make changes like c18298c8a5 without considering the needs of all users.
2020-05-27 13:14:38 -04:00
YoshiRulz da844c8eee
Add icon intended for the Log Window
Not wired up. .ico generation with ImageMagick:
`magick convert icon.png -define icon:auto-resize="48,32,16" icon.ico`
2020-05-28 03:01:25 +10:00
alyosha-tas 59baedbc64 ZXHawk: fix lag detection on kemston joystick. Fixes #1993 2020-05-27 12:26:08 -04:00
alyosha-tas 7b340f8766 Fix documentation Fixes #2015 2020-05-27 11:29:33 -04:00
adelikat 3604452b65 Cheat.cs - remove an unused method, simplify a bit on another 2020-05-27 10:13:51 -05:00
nattthebear 4236662f53 Change logic on what goes in the toolbox
If a tool has no toolattribute, it is presumed to be released.  Fixes #2015
2020-05-27 11:06:53 -04:00
nattthebear 59a67329c7 work around crash in clientapi when loading pce nyma 2020-05-27 07:52:53 -04:00
nattthebear b0620ca79d PCE tweaks
finish up memory domains
make bram behave like pcehawk, instead of giving it to every game, only give it to games that had it
finish up ppu view
2020-05-27 07:35:51 -04:00
nattthebear 0891e448d7 mednapce - lag flag, some more memory domains, some ppu view work 2020-05-26 21:23:52 -04:00
nattthebear c467023dac nyma pce - add gecd detection 2020-05-26 16:26:58 -04:00
nattthebear 3f43df4b1a Add settings UI for nyma 2020-05-26 16:12:29 -04:00
zeromus b0b33ec2da clean up disc identification in RomLoader, and hook up GECD as being handled by turbocd system (but that probably isn't right) 2020-05-26 13:13:53 -05:00
zeromus 2c62d8cf73 add "TurboGECD" disc type identifier. fixes #2043 2020-05-26 13:12:47 -05:00
zeromus 78bde0a5b4 extra fix due to last commit 2020-05-26 13:12:06 -05:00
zeromus 5a6072cdf0 Revert "Move some private helper methods to local methods in DiscSystem"
This reverts commit 6f813edbdb.
2020-05-26 12:51:33 -05:00
nattthebear 7244231cc4 adjust comments 2020-05-26 08:17:39 -04:00
YoshiRulz 33ff00714d
Change more input code to use int for axes instead of float
This probably breaks TAStudio or something, on the bright side a lot of the
float equality checks are gone. see e12b5d813
2020-05-26 21:45:20 +10:00
YoshiRulz 3e5aa1a65f
Add Menees.Analyzers and update FxCop 2020-05-26 17:22:20 +10:00
zeromus 162a151451 don't need to complain when I can do this
This reverts commit 02a70a4457.
2020-05-25 23:15:25 -05:00
YoshiRulz 6e9539157e
Allow searching contents of .gz, .tar, and .rar archives
not .tar.gz though, it thinks it's a nested archive and that's disallowed
somewhere else
2020-05-26 14:08:10 +10:00
YoshiRulz 7ae94c4300
Fix nullability of return type 2020-05-26 13:46:54 +10:00
YoshiRulz 02a70a4457
Show dialog on launch when running an unsupported version of Windows
this time it doesn't happen on dev builds so zeromus can't complain
see 60b7858fb, 8c50945ec
2020-05-26 13:43:11 +10:00
alyosha-tas 3a2aae61aa Merge branch 'master' of https://github.com/TASVideos/BizHawk 2020-05-25 22:34:18 -04:00
alyosha-tas 9be42c5c69 Fix picking GBhawk core 2020-05-25 22:33:15 -04:00
adelikat cd5591a122 remove some redundant code 2020-05-25 21:25:24 -05:00
adelikat 0d12d5a819 CheatList - pass in the DisableCheatsOnLoad config value 2020-05-25 21:25:24 -05:00
adelikat 7778fccd77 add uzebox path entries, fixes #2043 2020-05-25 19:21:31 -05:00
nattthebear a20c3c3ccb Change waterbox to use memory reserve semantics
If a particular core instance doesn't use up too much memory, then we don't charge the host OS for that memory.

The strange thing here is that, testing locally on Windows 10, we were already getting the desired semantics even with SEC_COMMIT and not SEC_RESERVE.  This commit is still important because:
1) Windows might be providing me an optimization it can't guarantee,
2) Linux might not be able to provide the same optimization
3) In any event, this patch also trims down xor snapshots to match the actual needed size.
2020-05-25 20:03:32 -04:00
adelikat 87c48879fc move Global.Emulator to GlobalWin.Emulator now that no Client.Common files reference it 2020-05-25 18:05:34 -05:00
adelikat 5b7d612238 SaveStateManager - simplify video buffer loading and don't use Global.Emulator 2020-05-25 17:59:09 -05:00
adelikat 7a374f0013 CheatList - has memory domains passed in to the Load() method 2020-05-25 17:50:42 -05:00
adelikat 8798d0c03e CheatList - remove some unused code 2020-05-25 17:43:03 -05:00
adelikat e498476b55 CheatList - move a config check to the calling code 2020-05-25 17:29:57 -05:00
adelikat 705af68f65 check if ITasMovie not TasMovie, still not great that it needs to check types but better 2020-05-25 16:50:56 -05:00
adelikat 5e4983c93f TasMovie.RecordFrame() - duplicate desired base class logic instead of calling base, because base does some "VBAStyleLoadState" stuff that is very undesireable in tastudio 2020-05-25 16:47:26 -05:00
nattthebear 472a954da0 Minor cleanup in some waterbox memory functions 2020-05-25 17:31:50 -04:00
feos 5539308398 mame: fix configs being dumped to disk hopefully, also fix the thing
mame lua figuring out cpu and address space every time I read a byte was a dumb idea it seems. accessing maincpu program space directly via C API is much wiser. ram search does the thing now.
2020-05-26 00:04:43 +03:00
adelikat 2ce79fc356 Move SoundMaxBufferDeficitMs and DisableSecondaryThrottling from Global to GlobalWin or Sound class, since only EmuHawk code accesses these 2020-05-25 15:40:23 -05:00
adelikat aec01b794a Have movies maintain a copy of the current core since their lifecycle should never extend past the core, removes a lot of global usage, downside is that it makes IMovie have more things when it is already very complex 2020-05-25 15:03:45 -05:00
nattthebear 07c627cc3e
Merge pull request #2044 from TASVideos/nyma
Add 'nyma' project

The goal is to eventually update all of our Mednafen cores. For now, there is a work in progress import of the Mednafen pce core. Basic gameplay with hucard, turbocd, and supergrafix is supported, but the core is not complete yet.
2020-05-25 13:54:35 -04:00
nattthebear 9ec8536a5e Finish getting saveram working on PCE (theoretically)
This actually makes saveram saving and loading somewhat slower on all waterbox cores, but whatever... it's more important to be simple and readable in this code than fast.
2020-05-25 13:49:47 -04:00
adelikat fbb47b2297 StateManagerDecay - pass in Global.Emulator.Frame instead of referencing it directly 2020-05-25 12:47:30 -05:00
nattthebear f9b5b9e374 pce - implement most memory domains our existing core does
The mednafen debugger system makes this easy, unfortunately that has a lot of other baggage, so do it this way
2020-05-25 12:49:36 -04:00
nattthebear 1000b74f2d tweak waterbox hash detection
A game could wild pointer into a slightly out of range part of the sealed heap during init, and then do so differently on a subsequent init, and we wouldn't detect it
2020-05-25 12:49:35 -04:00
nattthebear 4ec0753f52 all that stylecopp shizz and it doesn't have a line length limit =/ 2020-05-25 12:49:35 -04:00
nattthebear f37a51ef27 Rework memory block os abstraction
The existing code had a lot of copy paste and things that needed to be done twice to keep both impls in sync.  Refactor to use a minimal abstraction layer and keep all other code common
2020-05-25 12:49:35 -04:00
nattthebear b871f95dc0 pce - fix drive light 2020-05-25 12:49:35 -04:00
nattthebear 586117462e add back the old wonderswan controller config category labels
no hack this time
2020-05-25 12:49:35 -04:00
nattthebear bc8d298a88 support pce-cd and sgx in nyma 2020-05-25 12:49:34 -04:00
nattthebear 8c9f4e24d8 settings infra 2020-05-25 12:49:34 -04:00
adelikat daaa28f451 wire up as much as I can pcecd to TerboGrafix core 2020-05-25 12:49:34 -04:00
adelikat e332096731 wire up more pce core picker 2020-05-25 12:49:34 -04:00
adelikat d9eb9c86ec prep work for pce core picker 2020-05-25 12:49:34 -04:00
nattthebear 69d3dbc35f pce: basic rom loading and playing works 2020-05-25 12:49:33 -04:00
nattthebear d82d67996f Rework controller config
What _was_ this?  A new categoryLabel abstraction was added so we'd need fewer hacks, but in order to use it you need to add extra hacks to it per core?  Nonsense code, too.  Fix it properly.  (Maybe; I didn't test it.  Why bother?  No one else puts any effort into this either.)
2020-05-25 12:49:33 -04:00
nattthebear 257aa991fd progress, or regress, or somegress 2020-05-25 12:49:33 -04:00
nattthebear 24286be735 Linking and unwinds
The goal here is to provide an unwind implementation that works.  We (probably) don't have a working ldso, so reconfigure libunwind to work without that.  To do that, it needs __eh_frame_* variables which it can addressof to find the locations of .eh_frame and .eh_frame_hdr.  There is no way I could get gold to add these at all, so switch back to ld and add a custom linkscript.  The custom linkscript gives us the opportunity to simplify the savestate memory mapping stuff inside ElfLoader, which should knock a bit of time off of state loads -- those VirtualProtect calls are not cheap.  This also removes a potential source of nondeterminism with certain clever out of range pointers.

Any waterbox core that I didn't recompile for this commit will assert now until it is recompiled, because .wbxsyscall is in the wrong palace.
2020-05-25 12:49:32 -04:00
nattthebear 815d49bd63 cap nullemulator to <=200fps
realistically, about 160-165fps for me
2020-05-25 12:49:32 -04:00
nattthebear a1ce5e514c Some changes, most notably syscall cleanup 2020-05-25 12:49:32 -04:00
nattthebear 0f65351e13 Marching onward 2020-05-25 12:49:31 -04:00
adelikat 4e3ae130e2 move some logic out of TasLagLog that belongs at the caller level 2020-05-24 19:56:29 -05:00
alyosha-tas 43e796d256 SubGBHawk: no longer add vblank count to header 2020-05-24 18:37:24 -04:00
adelikat c22e02d22b ToTasMovie() extension method - remove vestigial default bool param 2020-05-24 17:10:14 -05:00
adelikat 0acb697808 use MovieService more 2020-05-24 16:43:04 -05:00
adelikat e980932356 Tastudio - don't show inaccurate core nag, if a movie is already loaded, since the movie has the inaccurate core in sync settings, this royal jacks things up 2020-05-24 16:26:35 -05:00
adelikat 44b5d12e39 Recent menus - add freeze/unfreeze icons to the freeze menu, hopefully will help it be more noticeable when the mode has changed from a misclick 2020-05-24 16:12:22 -05:00
TiKevin83 cab89ef182 Cleanup unused libretro shader code 2020-05-24 15:29:01 -05:00
alyosha-tas 21779a2a6f GBHawk: ppu refactor for window and bus 2020-05-24 16:26:07 -04:00
alyosha-tas 334844bde2 SubGBHawk: use cycle count to correctly track time 2020-05-24 16:25:14 -04:00
adelikat 23c1ccac7e BkmControllerAdapter - simplify and get rid of legacy support for random buttons, not such a good idea on an importer 2020-05-24 14:07:47 -05:00
zeromus 831a64c7de fix layout of bsnes registers fetch payload (broken in 36be9e9fc7). fixes #2040 2020-05-23 23:46:52 -05:00
YoshiRulz 5b5b6bd483
Unify ApiContainer instantiation
fixes c1cd1b9e0
2020-05-24 14:19:14 +10:00
YoshiRulz af2f460356
Make this WriteLine in FrameBufferResized conditional on DEBUG 2020-05-24 14:01:09 +10:00
YoshiRulz 5689d69bfb
Make gamedb's WriteLine flooding conditional on DEBUG 2020-05-24 13:57:08 +10:00
adelikat 340370fd68 simplify Bkm importing 2020-05-23 20:58:00 -05:00
adelikat 1a6931bdb1 Simplify bkm importer 2020-05-23 20:44:38 -05:00
adelikat f70fcdc3b2 remove LoopOffset support from BkmMovie 2020-05-23 20:34:49 -05:00
adelikat d4aa057664 Simplify getting core names by using the constant instead of reflection 2020-05-23 20:28:28 -05:00
alyosha-tas e94432dbd8 GBHawk: fix audio for games that turn off wave chanel rapidly to fill wave ram 2020-05-23 19:19:41 -04:00
adelikat a540a2fe85 consolidate movie instantiation code more 2020-05-23 15:04:30 -05:00
adelikat 1e9dcd2e9b for fixes to bk2 and tasmovie creation, fix a conversion bug that did StartsFromSavestate TasMovie logic for movies that start from saveram 2020-05-23 14:08:36 -05:00
adelikat 22bab8361a ugh, didn't mean to remove the lock in Input.cs 2020-05-23 14:02:43 -05:00
adelikat 0f1066fe93 restrict and consolidate new-ing of IMovie classes 2020-05-23 13:53:47 -05:00
adelikat 0e59ef1679 documentation fix 2020-05-23 13:39:30 -05:00
adelikat 1326a30287 remove some unnecessary .ToString() calls 2020-05-23 13:36:23 -05:00
adelikat 63cd1c603e Input.cs - simplify and remove a todo, I think not creating a copy is fine here 2020-05-23 13:36:23 -05:00
adelikat 54de7ad178 Use more movie mode extension methods, make MovieSession null until a movie is loaded 2020-05-23 13:36:23 -05:00
adelikat d0d526f746 Some fixes to movie mode extensions, these aren't bugs, yet, as the scenarios never occur 2020-05-23 13:36:23 -05:00
alyosha-tas 2e4609ff02 GBHawk: implement some minor audio hardware bugs 2020-05-23 14:35:55 -04:00
adelikat f2f2de8bdd Rip out the Infinite movie feature, it was a gimmick that has run its course. It isn't much code but it does complicate the API for a feature that would never lead to a published tas movie 2020-05-23 12:57:24 -05:00
adelikat 3174a676f5 make a struct readonly, and private 2020-05-23 12:57:24 -05:00
alyosha-tas 216580f693 GBHawk: center sound waveform. Seems to help ready to rumble and cannon fodder. Sounds closer to what I hear in videos. 2020-05-23 12:06:23 -04:00
adelikat 5912f6d491 MovieApi - simplify some long winded comment and subtitle generation. This class seems to very thinly wrap the IMovie api, why not just provide an IMovie? 2020-05-23 10:00:55 -05:00
adelikat 8d5cbd728e simplify SimpleController API 2020-05-23 09:43:38 -05:00
adelikat 049a79c996 separate the logic of creating an inputlog from generate on screen input display. Some duplicated code by doing this but I'll take that over tangled code, and more importantly, this separates the need of having an instaniated movie in order to display input 2020-05-23 09:27:47 -05:00
YoshiRulz c1cd1b9e0f
Cleanup some ApiHawk management code 2020-05-23 20:44:32 +10:00
YoshiRulz 9e4595c184
Remove remaining reflection in ClientApi and cleanup 2020-05-23 16:20:42 +10:00
alyosha-tas 74ef5b4b1f GBHawk: tune audio a bit 2020-05-22 21:28:58 -04:00
upthorn e5efeb49ac Add DrawImage and DrawImageRegion overloads to Gui API to allow for drawing an image from a prepared Image object rather than requiring a file in all cases. 2020-05-22 15:02:48 -07:00
upthorn 2437e0dba9 Make ClientApi calls safer by avoiding reflection where possible.
Add InvisibleEmulation and SeekFrame to allow CamHacks to function
2020-05-22 15:02:48 -07:00
adelikat bf6f6a54d0 When loading a movie - account for a missing core header entry, fallback to the user's preferred core but give them a pop up warning about it 2020-05-22 11:52:56 -05:00
alyosha-tas 78f0b9252d GBHawk: controller IRQs enabled by write delayed 4 cycles 2020-05-22 12:17:42 -04:00
YoshiRulz b65ad5afbd
Inherit ElfSharp dependency
my bad; fixes 6e0148d92 and 4f10b9780; re: #2035
2020-05-22 14:44:56 +10:00
zeromus 4f10b97809 this suffices to get elfsharp going. when i added it myself as a package in VS, it didnt touch the nuget json config files but did add it as a reference here. Nuget was invented after my time, so I don't know what's going on. (fixes #2305) 2020-05-21 15:35:17 -05:00
alyosha-tas db91189668 GBHawk: fix audio 2020-05-21 13:38:34 -04:00
nattthebear 09f75c281c Play musical names with MemoryBlock
The refactoring of platform abstractions should never have changed the name of the public interface.  No one cares about MemoryBlockWindows or MemoryBlockUnix - those names are impl details.
2020-05-21 12:59:36 -04:00
YoshiRulz 174a7cc46d
Silence NU1702 (Framework dep in Standard project) 2020-05-21 17:33:53 +10:00
YoshiRulz 69b8539d55
Fix defaults button in GenericCoreConfig not updating _settingsChanged 2020-05-21 17:32:26 +10:00
YoshiRulz 6e0148d921
Cleanup references 2020-05-21 17:25:35 +10:00
YoshiRulz ab1dca3e41
Fix NRE on passing empty string to LoadRom, simplify HawkFile creation
HawkFile now correctly sets FullPathWithoutMember to "" and Exists to false,
meaning RomLoader will return false instead of crashing.
2020-05-21 17:00:43 +10:00
YoshiRulz 9ae272e778
Import MainSlnCommon.props in BizHawk.Tests
fixes 1bfaaab87
2020-05-21 16:39:46 +10:00
YoshiRulz 7ddf6c26b9 Refactor DiscMountJob.RunBizHawk() to remove goto 2020-05-21 04:45:01 +00:00
YoshiRulz b2982825d8 Make DiscJob abstract 2020-05-21 04:45:01 +00:00
YoshiRulz 6f813edbdb Move some private helper methods to local methods in DiscSystem 2020-05-21 04:45:01 +00:00
YoshiRulz d436b9b9aa Fix colection/LINQ usage in DiscSystem
except the garbage that is byte[].Skip().Take(), I CBB fixing that
2020-05-21 04:45:01 +00:00
YoshiRulz 0ccf30396d Use modern `??=`, `is`, casts, etc. in DiscSystem 2020-05-21 04:45:01 +00:00
YoshiRulz ae22cd9f1b Use explicit visibility modifiers in DiscSystem 2020-05-21 04:45:01 +00:00
YoshiRulz 0706b96afe Fix encapsulation of IN_*/OUT_* in DiscSystem
these properties imply builder semantics but the classes aren't builders
2020-05-21 04:45:01 +00:00
nattthebear 21cdf5120b
Revamp waterbox build environment and runtime. (#2027)
Create an all new waterbox build environment:
WSL2 + Ubuntu 20.04 LTS (Other linuxes may work)
Musl libc with waterbox customizations
LLVM's libclang-rt, libunwind, libcxxabi, libcxx
Static linking to elf files

Compared with the old system, this is easier to set up a dev env for and easier to update in the future. The executables are larger but produce smaller savestates due to static linking. The modern toolchain means advanced library features and language features that sometimes appear in some upstream cores will be reusable.
2020-05-20 15:34:24 -04:00
alyosha-tas acf7926629 Add iscgb flag for subgbhawk 2020-05-20 15:04:05 -04:00
alyosha-tas 8ef5c18fcb GBHawk: bug fix and start wok on audio 2020-05-20 11:32:03 -04:00
adelikat b5ad1e636e add .uze (uzbox) to the Load Rom dialog filter 2020-05-19 20:48:53 -05:00
adelikat 123dbcc46d make uzebox and pcfx games not throw an exception on load, fixes #2022 2020-05-19 20:46:07 -05:00
adelikat 0a12f9e742 more tests for Bk2LogEntryGenerator 2020-05-19 20:29:55 -05:00
adelikat 0b5047b64a fix test namings, make Client.Common internals visible to tests, add a Bk2LogGenerator tests (more to come) 2020-05-19 20:05:12 -05:00
adelikat 1bfaaab872 https://www.youtube.com/watch?v=Ya2xifdO_l0 2020-05-19 19:55:08 -05:00
adelikat 21e4d30f98 remove another string extension method that was unused, and consolidate classes 2020-05-19 19:37:52 -05:00
adelikat 6d7d36c1d0 delete HowMany() extension method and just use .Count() instead, the one value add of null/empty checking was never utilized anyway 2020-05-19 19:30:24 -05:00
adelikat 96b0b37673 consolidate and rename tests project into a single project, delete commented out tests, add a unit tests that tests a thing 2020-05-19 19:24:53 -05:00
YoshiRulz d91c477e5a Add test projects and solution using MSTest, add scripts, upgrade CI 2020-05-19 23:54:14 +00:00
adelikat 0f1f463bcb I nitpick interface refactor 2020-05-19 18:01:09 -05:00
YoshiRulz 74a6da509a
Add NumLock and PrintScreen to OpenTK and to DirectInput->OpenTK map 2020-05-19 23:47:54 +10:00
YoshiRulz 2c817e3057
Use Range.Count extensions 2020-05-19 23:37:59 +10:00
YoshiRulz 7613748390
Fix some code flagged by StyleCop
SA1106 x4, SA1113 x2, SA1142 x2, SA1206
2020-05-19 23:33:16 +10:00
alyosha-tas c96a233d5d GBHawk: Speed switch timing fix. 2020-05-18 15:43:51 -04:00
feos e075012b70
Rundum (#2019)
fix #1701
fix #1285

Co-authored-by: nattthebear <goyuken@gmail.com>
2020-05-18 21:11:18 +03:00
RetroEdit 4555be85bc
tastudio: fix Changes wrongly being set false (#2018)
tastudio: fix Changes wrongly being set false
2020-05-18 12:29:23 -05:00
adelikat 28d859e2d8 SavestateManager - make a public method private 2020-05-18 11:59:25 -05:00
RetroEdit 88b038f24e
Improve frame insertion/deletion efficiency, particularly for undos (#2017)
* Replace unnecessary fromHistory parameters

* Improve frame insert efficiency, particularly for undos

* Improve frame delete efficiency, particularly for undos
2020-05-18 10:58:29 -05:00
adelikat 4b6e6d996a Simplify some Bkm code 2020-05-17 15:34:47 -05:00
adelikat 100fc2bad5 Rewinder - remove message callback, I dont' think this message is worth the code, especially since mainform always adds a message 2020-05-17 15:14:40 -05:00
adelikat 78c1482720 Rewinder - remove Movie active check when deciding about keeping the last frame of a rewind. It seems to work without it, but more significantly, rewind is not MOVIE SAFE, it used to be disabled while recording, and somehow got enabled, I guess someone wanted their desyncs 2020-05-17 15:06:23 -05:00
adelikat 1e0ae62041 Rewinder - pass stuff in, instead of using globals 2020-05-17 15:01:44 -05:00
adelikat b140143791 Watch classes - remove "LIAR logic" 2020-05-17 13:35:49 -05:00
adelikat b2d482ea66 Hex editor - cleanup a bit 2020-05-17 12:26:53 -05:00
adelikat 07225c06de oops - fix multi-byte views in hex editor 2020-05-17 12:25:04 -05:00
adelikat 5ffc26b5e9 AutoFireStickyXorAdapter - pass in on/off instead of getting them directly from Global.Config 2020-05-17 11:59:24 -05:00
adelikat c91b17877d Simplify MovieSession a bit 2020-05-17 11:23:52 -05:00
adelikat 3e354ed230 Simplify Movie extensions ToBk2() 2020-05-17 11:22:22 -05:00
adelikat 42356dd32b roll back RomLoader cleanups from e4563570f9, ref implicit tuples and todos don't make the situation better 2020-05-17 11:05:44 -05:00
adelikat 604f4ce833 TasStateManager - simplify MaxState logic and actually fix the math so it isn't 2x of what is intended 2020-05-17 10:41:39 -05:00
adelikat 45fd7ee81e nuke most of SubstringExtensions, and make it where i can at least read it 2020-05-17 10:39:24 -05:00
adelikat 04aab3c41b add an IStatable extension method that will return a byte array that's safe to hold on to, but isn't optimized for speed, to be used in basic situations where we are making movies from savestate or getting a savestate length 2020-05-17 10:08:00 -05:00
adelikat 0154222737 a bit of reorg - put Emulation.Common sound files in the sound folder not unecessarily nested 2020-05-17 09:50:05 -05:00
YoshiRulz 0632560899
Split StringExtensions, fix and add to substring extensions 2020-05-17 23:02:30 +10:00
YoshiRulz e4563570f9
Cleanup RomLoader
splitting methods from LoadRom makes it ~150 LoC instead of ~850
2020-05-17 19:41:30 +10:00
YoshiRulz 01460cec1b
Re-add docs for MemoryBlockBase, rename End to EndExclusive
see 4a5ece207, 4abe3f793
2020-05-17 15:07:41 +10:00
alyosha-tas 4ac3cb861d GBHawk: timing and access fixes 2020-05-16 19:57:53 -04:00
zeromus ad26b09717 change dll check descriptions to match prereq installer (and be more googlable); also remove vcruntime140.dll since I think vcruntime140_1.dll obsoletes it. I could be wrong, though. We'll readd it if its proven so. 2020-05-16 19:52:23 -04:00
adelikat 513e2287c4 Hex Editor - bulk read the char viewer as well, fixes #2012 2020-05-16 18:51:52 -05:00
adelikat a0769d4bd9 Lua - fix client.getavailabletools() 2020-05-16 15:30:04 -05:00
adelikat de97abf6e5 convert some more core name strings to constants 2020-05-16 14:51:47 -05:00
adelikat 3808a6d88f RomLoader - simplify 2020-05-16 14:43:50 -05:00
adelikat 8da52d985b more RomLoader cleanup 2020-05-16 14:21:44 -05:00
adelikat a77988e9be RomLoader - remove redundant if check 2020-05-16 14:13:49 -05:00
adelikat b4b0debd59 RomLoader - remove no longer accurate comment 2020-05-16 14:09:27 -05:00
adelikat 71698d5571 fix A7800 rom loading - remove unused and legacy .csv gamedb path, and convert to use CoreInventory 2020-05-16 14:04:11 -05:00
adelikat c830452775 move a bit more logic from RomLoader to Disc 2020-05-16 13:51:58 -05:00
adelikat 32aa623eff RomLoader consolidate some Disc creation logic between xml and m3u code paths and abstact some of it out to the DiscSystem project 2020-05-16 13:46:48 -05:00
adelikat 8269b7dec4 RomLoader - remove some redundant cases, if all you need need to do is run CoreInventory.Instance() then the default case handles that 2020-05-16 13:12:36 -05:00
adelikat 14c117e92e RomLoader - GPGX - support rom + cd .xml files 2020-05-16 11:54:36 -05:00
adelikat e547a0eb6f add GEN to multidisk bundler dropdown 2020-05-16 11:38:37 -05:00
YoshiRulz c248ee495a Replace ILinkedLibManager.LoadOrNull w/ LoadOrZero
see aa8fe56ef and 4baefd874
2020-05-16 11:41:58 +00:00
YoshiRulz 7afa4a2f98 Replace GetProcAddrOrNull with GetProcAddrOrZero
both in ILinkedLibManager and its inheritors, and in IImportResolver and its
inheritors; see aa8fe56ef
2020-05-16 11:41:58 +00:00
YoshiRulz 3e51bbe5c2 Revert "Fix up Nullable<IntPtr> brain damage"
This reverts commit aa8fe56ef9.
2020-05-16 11:41:58 +00:00
nattthebear 9944c9d989 add check for another dll file that we now require 2020-05-16 07:19:24 -04:00
alyosha-tas 11806fa178 GBHawk: timing and DMA work 2020-05-15 21:47:41 -04:00
nattthebear 61f269f097 maybe fix a maybe bug in maybe code that maybe will ever be run 2020-05-15 19:44:28 -04:00
nattthebear de6208d264 fix a warning in pce
looks like something was swept under the rug with the PutSettingsDirtyLikeYourMomBits refactor
2020-05-15 19:01:40 -04:00
nattthebear aa8fe56ef9 Fix up Nullable<IntPtr> brain damage
It'd be one thing if we needed a sentinel value distinct from IntPtr.Zero but we don't.  It's a pointer, and 0 is globally understood to be The Bad Value.

Some brain damage remains:
* LoadLibrary abstraction also returns Nullable<IntPtr>
* I named it `Resolve` and not `GetProcAddr` because I didn't want to see win32 everywhere I went :(
2020-05-15 18:56:34 -04:00
adelikat 63ef4125dc lua - fix client library being null on null emulator 2020-05-15 10:43:30 -05:00
nattthebear 4abe3f7932
Revert 4a5ece2076 (#2007)
Because of intervening commits, there may be some other incidental changes.

While well intentioned, the refactoring was just a mess when it came to actually groking this low level memory block shuffling code.
2020-05-15 07:40:28 -04:00
YoshiRulz 1ee38dcac2
Fix IList<T>.ToLuaTable() extension (resolves #2004) 2020-05-15 18:07:37 +10:00
YoshiRulz 7725d59636
Enable SA1124 "Do not use regions" and fix compliance 2020-05-15 17:00:53 +10:00
YoshiRulz 87ec2618a1
Revert "delete all regions"
This reverts commit e566d8e258.
2020-05-15 17:00:49 +10:00
YoshiRulz a1b501fe5a
Fix OpenAL sound on Unix
TODO copy this file from NuGet cache w/ MSBuild
2020-05-15 15:37:29 +10:00
YoshiRulz fd9da66a85
Revert "Force DummySoundOutput on Mono for now"
This reverts commit aaa75a19aa.
2020-05-15 15:37:23 +10:00
nattthebear 00aebc110c
Fix 3 band equalizer in Genesis (#2008)
If you tried setting your gains to 100 in the previous patch, it worked sort of, but I decided to incorporate ekeeke/Genesis-Plus-GX@f6f4556 as well to actually fix it completely, and rescale the setting properly so that 1.0 really is neutral gain.

Fixes #1319
2020-05-14 20:29:02 -04:00
nattthebear 68dc12dab7 Prohibit U+D/L+R at the core level in SGB
fixes #1308
2020-05-14 19:51:19 -04:00
nattthebear 5892059fc3 Add bulk peek byte for waterbox cores
This should speed up the hex editor significantly in one byte mode, but it doesn't because the hex editor is buggy
2020-05-14 18:40:56 -04:00
nattthebear a49a372410 add bulk read of intptr memory domains.
speeds up ram search in quicknes
2020-05-14 18:10:16 -04:00
nattthebear e566d8e258 delete all regions 2020-05-14 17:33:40 -04:00
upthorn 01089645cc Merge branch 'master' of https://github.com/TASVideos/BizHawk 2020-05-13 09:25:35 -07:00
upthorn d48651e668 Prevent crashes on Set*ExtraPadding
Prevent crashes when needing to invoke private methods from MainForm.
2020-05-13 08:57:12 -07:00
zeromus 8d1a1e4c92 Properly skip presentation and user prescale steps when taking "raw" screenshot. About a 10% chance of other regressions. fixes #1997. 2020-05-12 22:39:41 -04:00
alyosha-tas f089fe5fcd O2Hawk: Fix Catch the Ball collision detection (timer and counter can't be enabled at the same time.) 2020-05-11 16:30:09 -04:00
zeromus 453baebdcc neshawk - fix poking wram (fixes ancillary unrelated issue in #1994) 2020-05-10 20:59:40 -04:00
adelikat cb55cdd0dd delete a bit more PCE menu stuff 2020-05-09 19:11:52 -05:00
adelikat 35bed42042 PCE - remove menu items and config dialogs in favor of simply having a GenericCoreConfig dialog 2020-05-09 19:10:54 -05:00
alyosha-tas e7f603c396 GBHawk: optimizations and serial port cleanup 2020-05-09 18:59:52 -04:00
nattthebear a040e67c95
Add option to force sram in genesis core (#1991)
gpgx upstream automatically gives 64KiB sram to every game of size 2MB or lower, unless specifically overrided.  That sucks and we don't do it.  But some games do need it; there's not enough information to autodetect otherwise.  So add a flag that we can set in gameDB for it, and set it true for two known games that have problems otherwise.
2020-05-09 13:48:46 -04:00
adelikat 976ea4967b cleanup IAsyncSoundProvider hacks and consolidate code that is only used for PCE 2020-05-09 11:01:02 -05:00
adelikat b16684b4c7 YM2413 - don't implement IMixedSoundProvider, it isn't used 2020-05-08 18:04:04 -05:00
adelikat 05cffd887a SMS - cleanups 2020-05-08 17:31:20 -05:00
adelikat 099e2f4f97 remove unused YM2612.cs 2020-05-08 16:29:32 -05:00
adelikat 0a512dac4a SoundMixer - remove an unused and uneeded method, I think it is a reasonable contract that you have to pass in all sound sources during construction 2020-05-08 09:05:32 -05:00
adelikat 3c76e6014a HuC6280PSG - make some public things private or internal 2020-05-07 20:52:27 -05:00
adelikat 3ae16c4248 Ram search - reduce some unnecessary recreating of the entire ram search list during load. Also remove some Reboot() logic that happens right before a NewSearch that immediately negates it 2020-05-07 17:51:40 -05:00
adelikat 1c51d5b012 Multidisk Bundler - add logic to properly restart when the Rom changes 2020-05-07 15:41:48 -05:00
alyosha-tas 227084c2dd GBHawk: better emulate unmapped memory 2020-05-07 15:27:07 -04:00
alyosha-tas 8bd739a4c8 GBHawk: ppu cleanup and more aaccuracy edge case work 2020-05-07 11:24:08 -04:00
feos 697bb84808 tweak 2020-05-07 18:12:44 +03:00
adelikat c50c38d88b GPGX - keep a savestate buffer for SaveStateBinary, yeah maybe it shoudln't be every cores responsibility, but until it doesn't, this greatly improves rewind and tastudio performance 2020-05-06 20:22:23 -05:00
adelikat a118763409 a few worthless nitpicks 2020-05-06 20:22:23 -05:00
nattthebear 722358c1b1
Fix pokeymans pirate roms on gpgx (#1986)
mapper_32k_w expects to be able to write to rom area, so those roms now need larger savestate space
We could be extra clever and alloc_invisible the space and then restore after loadstate, but this pokeymans garbage doesn't deserve that work
2020-05-06 09:39:51 -04:00
nattthebear 974792cdfe
Make waterbox consistency check ui option only skip the memory check, not the core check (#1979) 2020-05-06 07:46:40 -04:00
adelikat a0d825084a virtual pad support for GB 3x and 4x 2020-05-05 16:44:09 -05:00
zeromus ca24b31640 waterbox - skip only memory consistency check 2020-05-05 17:29:12 -04:00
zeromus 74ba281463 readd opentk/dinput options to gui 2020-05-05 17:26:13 -04:00
adelikat 53c1f5f784 BasicBot - fix Load event not being called on load 2020-05-05 13:06:33 -05:00
adelikat 22ee71b0cf refactor lua shenanigans in mainform, instead move frame based logic to lua console update hooks, control SupressScripts in lua itself not in mainform. Also, this breaks the logic that automatically stop countihng rerecords if loadstate happens from script, the logic appeared to be broken and can/should be managed by the script itself 2020-05-05 12:40:57 -05:00
alyosha-tas 4391c97a8e GBHawk; VRAM access cleanup 2020-05-05 09:03:22 -04:00
YoshiRulz 8c005e6ffa
Add assembly list to ext. tool Attribute, allows shipping dependencies
DBMan works again
2020-05-05 09:26:37 +10:00
YoshiRulz aaa75a19aa
Force DummySoundOutput on Mono for now 2020-05-05 08:54:21 +10:00
feos 4e60e164be mame: deconstruct Update() 2020-05-04 16:48:26 +03:00
feos ae448f3cb2 minor tweaks 2020-05-04 15:48:44 +03:00
feos e836ce343e mame: let non-fatal "NOT FOUND" problems slide 2020-05-04 13:17:28 +03:00
feos 8e5e1929b2 mame: reduce copypaste 2020-05-04 12:49:25 +03:00
feos 82dcccf6cd allow exit too 2020-05-04 11:58:27 +03:00
feos 6f72012d6a move launchers around 2020-05-04 11:27:35 +03:00
feos 7370b4e949 explanations 2020-05-04 11:25:23 +03:00
feos 5c2e6d35c3 mame: finally make mem reading work with frame advance
proof that it's a good idea to go to bed with a problem, because your brain keeps solving it while you're sleeping. so when you wake up, it presents you the solution that actually works.
2020-05-04 10:53:29 +03:00
zeromus 7ce9a56dda fix display manager custom AR/size. broken by 45e0abe39d. fixes #1975 2020-05-04 00:37:12 -04:00
zeromus 4c7ade126c disable architecture mistmatch warning on emuhawk 2020-05-04 00:33:20 -04:00
adelikat cfdb5ffeb6 remove unsupressing too 2020-05-03 20:34:35 -05:00
adelikat e906f41dc7 TAStudio - don't disable lua scripts while seekinng, even the comment suggests this is a sloppy copy/paste from lua code that definitely would want to disable things 2020-05-03 20:33:39 -05:00
YoshiRulz 1b17cb4297
Replace batch/shell script with MSBuild 2020-05-04 09:41:30 +10:00
YoshiRulz 31d4662ab6
Change executables' build paths and names 2020-05-04 07:22:48 +10:00
YoshiRulz 245cbfbcea
This is dumb
This reverts commit d694213000.
2020-05-04 07:22:26 +10:00
zeromus d694213000 Revert "Revert "fixes" to EmuHawk.csproj"
This reverts commit cf252b7ba0.
2020-05-03 17:04:44 -04:00
YoshiRulz bdd622681d
Remove explicit parenting on Properties/Resources.cs 2020-05-04 06:21:14 +10:00
YoshiRulz b3b5dcf64d
Add SharpCompress <PackageReference/> to EmuHawk 2020-05-04 05:41:36 +10:00
YoshiRulz 73231a59a9
Use batch/shell script to copy DiscoHawk to output as well 2020-05-04 05:24:35 +10:00
YoshiRulz 50461f17ee
Move copy-to-output scripts to Build/ and make them work 2020-05-04 05:24:32 +10:00
YoshiRulz cf252b7ba0
Revert "fixes" to EmuHawk.csproj
This reverts the 5 commits ddddb309f through 664fb5cb3.
2020-05-04 03:55:47 +10:00
adelikat 588eeeca27 remove core specific game genie menu items that now simply load the Cheat converter tool 2020-05-03 12:38:12 -05:00
adelikat 158bff1c08 fix MainForm designer 2020-05-03 12:30:04 -05:00
adelikat ea634daa7c
Convert Tools to use NewUpdate and remove legacy methods (#1976)
* ToolForm - add General type, remove UpdateValues from IToolForm and start refactoring to NewUpdate, a lot of things are broken

* remove boilerplate Update methods from tool dialogs that do not need them

* convert more tools

* update more tools to use NewUpdate

* update more tools

* update more tools

* convert more tools to use ToolFormBase, remove UpdateBefore property

* set up fast update in some tools

* more fixes to fast update

* Ram Watch/Search - fix fast update

* rename stuff

* rename NewUpdate() to UpdateValues()

* ToolManager - remove unused Cheats convenience property

* cleanup
2020-05-03 12:22:02 -05:00
adelikat da5ddf3217 put a virtual AskSaveChanges method in ToolFormBase, and only override it when needed, reduces a lot of boilerplate 2020-05-03 09:52:41 -05:00
zeromus 664fb5cb31 properly fix that net48 directory business 2020-05-03 00:59:09 -04:00
zeromus 399a50ab17 put an extra .. on asset copy to keep it from getting put in net48 dir 2020-05-03 00:34:27 -04:00
zeromus 0bda6ac71e fix asset copying... mostly... but it's copied into a "net48" subdirectory. in another commit i will fix that (because we will need to undo it when we fix this to stop building multiply) 2020-05-03 00:33:03 -04:00
zeromus d9cba0b156 fix loading emuhawk csproj 2020-05-03 00:24:03 -04:00
zeromus ddddb309fc Revert "Migrate EmuHawk's post-build targets to shell scripts"
This reverts commit 0ff90bf131.
2020-05-03 00:03:32 -04:00
YoshiRulz 0ff90bf131
Migrate EmuHawk's post-build targets to shell scripts
(because MSBuild's <Copy/> doesn't want to co-operate)
fixes 2bf1dfbd0, but the batch script is empty so build is still technically
broken on Windows
2020-05-03 13:45:30 +10:00
YoshiRulz 2bf1dfbd09
Migrate EmuHawk to new .csproj format 2020-05-03 11:52:49 +10:00
YoshiRulz 178c491a9f
Migrate DiscoHawk to new .csproj format 2020-05-03 11:52:40 +10:00
zeromus 84c4310120 support skip option on everything else 2020-05-02 21:10:53 -04:00
zeromus f00320b90c support skip option on bsnes 2020-05-02 21:10:52 -04:00
zeromus 4cd6e6fe8a support skip option in waterbox 2020-05-02 21:10:51 -04:00
zeromus 6fc522072b plumbing for that skip option. do not look at this commit, it will displease you. 2020-05-02 21:10:50 -04:00
zeromus a59b6c29b5 revert EmuHawkOptions to pre-layoutpanel state, so that I can actually edit it without it turning into crap. probably fix a label concerning the waterbox skip stuff that I messed up in the last commit because I was so confused 2020-05-02 21:10:48 -04:00
adelikat 388e18a8f5 consistently use ToolFormBase on tools 2020-05-02 20:09:01 -05:00
YoshiRulz 1bded467b3
Replace $(SolutionDir) with $(ProjectDir) in src/ 2020-05-03 11:05:26 +10:00
YoshiRulz 5a8349b5a5
Update paths in projects (fixes build) 2020-05-03 10:58:35 +10:00
YoshiRulz 3a3b22c03b
Move projects to src subdir (breaks build) 2020-05-03 10:57:38 +10:00