Commit Graph

2230 Commits

Author SHA1 Message Date
adelikat d7f97b1539 actually delete things instead of removing them from the project 2020-02-08 13:09:27 -06:00
feos 8b59754349 warn about mismatching cycle counts for gambatte 2020-02-08 20:02:00 +03:00
adelikat f43d7c5b1b MovieSession - add a PopupMessage method, will be used later 2020-02-08 10:50:05 -06:00
adelikat 4fed717858 some cleanup of RomLoader.cs 2020-02-08 10:46:46 -06:00
feos 08ee1c8170 show proper movie length for cycle based timing (gambatte) 2020-02-08 15:36:21 +03:00
alyosha-tas 75ead6e3c4 GBHawk: put CGB flag into bk2 for proper parsing 2020-02-07 07:40:33 -05:00
YoshiRulz c0fcd01b69
Yet more work on AutoGenConfig 2020-02-06 05:19:40 +10:00
adelikat e770047eef profile config - rip out code for the custom profile that never got implemented 2020-02-03 17:51:07 -06:00
YoshiRulz fd06504882
More work on AutoGenConfig 2020-02-03 06:14:09 +10:00
adelikat 6990b6f51f when loading GB/GBC movies, store the core and auto-switch between gamebatte and gbHawk, fixes #1805 2020-02-02 12:27:45 -06:00
adelikat 880f584674 cleanup variable naming in IMovieSession 2020-02-02 12:19:41 -06:00
adelikat 45221eb0ad do non-timeline movie state logic after the core is loaded, fixes input display when loading a state in read-only mode, which has been broken since 2014 2020-02-02 11:52:05 -06:00
adelikat 4c9ebf6ed4 MovieSession - rename hacky step 1 and 2 to meaningful names 2020-02-02 11:39:54 -06:00
adelikat 8f7b0aaac9 Movie Session - move some logic out of hacky step 1 and into hacky step 2 2020-02-02 11:38:12 -06:00
adelikat 8c99e87867 MovieSession - cleanup 2020-02-02 11:06:30 -06:00
adelikat 32f638107d delete unused code in MovieSession 2020-02-02 11:04:29 -06:00
adelikat 226c4b32ac Fix Movie.IsPlayingOrRecording() - fixes input dsiplay during record mode, as well as a lot of other things probably, partially addresses #1802, replay mode still broken and has been for a few releases now 2020-02-01 17:25:36 -06:00
adelikat b3cc55080f Ram Search - use SignExtendAsNeeded in more places, fixes #1819 2020-02-01 16:41:28 -06:00
YoshiRulz 593e1ef97d
Refactor external tool attributes 2020-02-01 01:54:23 +10:00
zeromus 3143c38b7d fix lua bit.arshift (fixes #1825) 2020-01-31 00:36:01 -05:00
YoshiRulz 1fdb7a6fe2
Allow external tools to have any namespace / class name if annotated
This change is more convenient at the cost of a little duplicate code in
ToolManager. The annotation is [ExternalToolEntryPointForm], and having no more
than one such class per assembly is enforced.
2020-01-30 23:41:52 +10:00
YoshiRulz eab44d2d94
Add hack to EmuApi, add WIP external tool AutoGenConfig 2020-01-30 22:41:50 +10:00
adelikat e6e1962b54
Convert SMS settings to use GenericCoreConfig (#1816)
* refactor Sms settings including naming conventions and fix a typo, breaks configs with SMS settings already saved

* convert SMS controller type setting to an enum

* convert SMS Region setting to an enum

* Move SMS display type setting to an enum

* convert sms settings to properties

* SMS - wire up generic core config to a settings menu item

* remove some SMS menu items that are redundant to generic settings config

* remove more SMS menu items that are now redundant to generic core config

* remove more redundant SMS settinsg including SMSGraphicsConfig dialog, add descriptions and display names to SMS settings objects
2020-01-26 12:56:54 -06:00
adelikat 45e0abe39d convert Config.cs from fields to properties 2020-01-25 12:35:33 -06:00
adelikat 90e1a89516 rename config variable to match type name 2020-01-25 11:44:58 -06:00
adelikat 6527b98476 TasSTateManager - at least consolidate the Global usage problem, until there's a solution to be found 2020-01-25 11:40:43 -06:00
adelikat 3ce88eaa3b pass config settings into TasSTateManager instead of using Global.Config, now TasMovie incorreclty uses Global.Config, but that's a step 2020-01-25 11:35:33 -06:00
adelikat 763d5870f2 move some lua console settings from config to console with ConfigPersist 2020-01-25 11:21:38 -06:00
adelikat 14b6efec57 PathEntry - some cleanups 2020-01-25 11:12:10 -06:00
adelikat 73ba93663a cleanup MessagePosition.cs 2020-01-25 11:07:35 -06:00
adelikat 323c0edcd9 rename config file to match class 2020-01-25 11:06:05 -06:00
adelikat ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz f061e4f876
Enable SA1209 and fix noncompliance
"Using alias directives should be placed after other using directives"
2020-01-25 19:37:24 +10:00
YoshiRulz b80dd2fab7
Enable SA1113 and fix noncompliance
"Comma should be on the same line as previous parameter"
2020-01-25 18:06:50 +10:00
YoshiRulz b1e02fbdce
Enable SA1106 and fix noncompliance
"Code should not contain empty statements"
i.e. don't put a semicolon there
2020-01-25 18:06:34 +10:00
YoshiRulz 6f3f01125c
Enable SA1504 and fix noncompliance
"All accessors should be single-line or multi-line"
i.e. no block form on one line
2020-01-25 14:56:56 +10:00
YoshiRulz f6365a03e2
Por que no los dos? 2020-01-25 14:56:39 +10:00
adelikat b7869c2c70 revert back to 1024 * 1024, but in a way that makes stylecop happy 2020-01-24 20:11:37 -06:00
adelikat 548ff15e33 Break off rewind config variables into their own class 2020-01-24 20:03:54 -06:00
YoshiRulz bfde89b9f3
Enable SA1139 and fix noncompliance
"Use literal suffix notation instead of casting"
2020-01-25 07:55:48 +10:00
YoshiRulz 3ae58fd9d6
Use SolutionDir to make relative paths absolute
No need for warning of relative paths in filename anymore
2020-01-24 04:59:27 +10:00
YoshiRulz ff2efca658
Cleanup Util 2020-01-23 14:54:34 +10:00
YoshiRulz 165c2a0e2e
Merge BizwareGL.SlimDX into BizwareGL 2020-01-22 07:21:22 +10:00
YoshiRulz 87833d76d7
Merge GdiPlus and OpenTK into BizwareGL 2020-01-22 07:05:50 +10:00
adelikat 23a5780d0d DefaultControls - make properties instead of fields 2020-01-21 13:42:17 -06:00
adelikat e30eb0cde6 break off settings methods from config to extension methods 2020-01-21 13:42:17 -06:00
adelikat 86078addd4 move DefaultControls class to its own file 2020-01-21 13:42:17 -06:00
adelikat 04a5db6214 break AnalogBind out of Config.cs into its own file 2020-01-21 09:21:12 -06:00
adelikat 2182b6b35d move CDL config variables out of Config.cs and use ConfigPersist 2020-01-21 09:02:42 -06:00
adelikat 3d833af617 break out enums from Config.cs 2020-01-21 09:02:42 -06:00
adelikat 9f06e442ab move hex editor colors from Config to the tool itself using ConfigPersist 2020-01-20 15:58:32 -06:00
YoshiRulz b1ef7bcbbb
Retarget .NET Framework from 4.6.1 to 4.8 2020-01-21 04:42:09 +10:00
YoshiRulz ebfccf51de
Add DependentUpon and SubType modifiers to globbed files 2020-01-20 10:29:27 +10:00
adelikat c9c2210e91 config cleanup - ToomFactors -> ZoomFactors, break class into separate file, use dictionary intializer 2020-01-19 17:37:46 -06:00
YoshiRulz 4af0d0eed3
Update default kotkey binds (controller binds updated in fe0ff1d98) 2020-01-20 07:09:16 +10:00
adelikat b1d5a4d644 Convert TI83 keypad to use IToolFormAutoConfig and ConfigPersist 2020-01-19 13:48:26 -06:00
adelikat 10e2f24210 TasMovie - private setter for a variable 2020-01-18 17:30:40 -06:00
YoshiRulz e435fb807b
Migrate to "new csproj", remove unnecessary tags/info, and dedupe
Didn't want to mess with resource generation so the execuable projects didn't
get migrated, just cleaned up
2020-01-19 01:43:39 +10:00
adelikat 45003ea584 revert "Use Ranges" on TasMovie since it causes exceptions when attempting to create the first branch of a tasproj 2020-01-17 09:00:56 -06:00
alyosha-tas 8fed99456a GBlink: fix some 4x bugs and route CGBGBA to cores 2020-01-13 16:55:07 -05:00
adelikat a51be3efbe remove useless regions in previous commit 2020-01-13 15:50:49 -06:00
adelikat 63da3d7bd3 expose GenerateLogKey and Map as methods on ILogEntryGenerator and remove all the direct casting that was happening in tastudio code 2020-01-13 15:49:11 -06:00
YoshiRulz a8170ca183
Fix mismatching namespaces 2020-01-13 07:19:06 +10:00
YoshiRulz dd4f9aaf64
Use ranges 2020-01-13 06:59:40 +10:00
YoshiRulz 0f1fa1531f
Use ranges in ApiHawk and Lua 2020-01-13 06:57:24 +10:00
YoshiRulz 5c472bcf77
Default to D3D and DirectSound if they're present 2020-01-13 06:34:57 +10:00
YoshiRulz 60b7858fbe Simplify Windows prereqs (see desc.)
* Changed default sound/display methods to OpenAL/OpenGL on Windows to match
non-Windows, and replaced DirectInput with OpenTK input (needs regression
testing on Windows).
* (meta) As a result of the above, DirectX is no longer a prerequisite, leaving
only: .NET Framework 4.6.1 (comes with Win10, as does 4.8), MSVC 14 (also comes
with Win10), MSVC 12 for Mupen, and MSVC 10 for BSNES/Mupen.
* Refactored static Program ctor, using ExceptionBox for missing prereqs, and
removed PrereqsAlert.
* Added OS version check for Windows, with a flag in the config to skip it.
* Updated readme for Win7 EOL (and generally cleanup Windows sections).
2020-01-12 20:00:34 +00:00
adelikat eaca35d3d0 properly use TasMovie.Session - fixes #1771 2020-01-12 10:55:15 -06:00
alyosha-tas 46d0818f09 MSXHawk: Core interface stuff 2020-01-10 15:51:56 -05:00
adelikat 48a16806cf cleanups in InputManager 2020-01-03 14:05:59 -06:00
YoshiRulz dabbaae075
Cleanup TasStateManager.Invalidate
had this written down for after #1591 merge
2020-01-04 04:54:26 +10:00
adelikat 038f35f45e lua - implement controller number parameter to joypad.getimmediate and movie.getinput, consolidate input getting lua code 2020-01-03 09:51:48 -06:00
YoshiRulz 9ef32cf8f5
Merge ctors using default params, resolves a TODO 2020-01-02 22:10:42 +10:00
YoshiRulz a8408ed3be
Improve exception docs in BizHawk.Client.Common 2020-01-02 21:51:27 +10:00
adelikat 8c0c00c2bf lua - movie.save() - fix bug that was preventing the optional filename parameter from being used 2020-01-01 17:03:01 -06:00
adelikat 18975e390d use Globals less in Tastudio sub-components 2019-12-31 16:31:32 -06:00
adelikat 094ae65e06
Merge pull request #1775 from TASVideos/log-as-tool
Remove Log windows as console option, and make LogWindow a Tool
2019-12-31 09:37:57 -06:00
alyosha-tas 6a68c7f521 Controller: fix physical controller input, fixes #1166 2019-12-30 17:28:48 -05:00
adelikat 6e49f1c07d Convert LogWindow to a tool that implements IAutoToolformConfig 2019-12-29 15:05:45 -06:00
adelikat bdd0d56a70 delete the console log window, always show LogWindow instead 2019-12-29 14:39:44 -06:00
alyosha-tas a259c763de O2Hawk: typo 2019-12-27 17:32:33 -05:00
YoshiRulz 50373ac1ad Move conditional PackageReferences to conditional .targets import
Fixes build system bug introduced by c31050feb
2019-12-27 16:35:47 +10:00
YoshiRulz c31050feb6
Migrate from packages.config to PackageReference 2019-12-26 16:54:33 +10:00
adelikat e7e30371fe Remove Rewinder from Global and put as a mainform variable instead 2019-12-22 14:25:06 -06:00
YoshiRulz 264b27475e
Fix default referring to non-nullable type 2019-12-23 04:12:02 +10:00
James Groom 78fcde9480
Merge branch 'master' into winhacksbgone 2019-12-22 17:01:10 +00:00
adelikat 1e41dbf20d LuaRegisteredFunctionsList - override Clear() so that needed clear logic can't be mistakenly not called. Fixes #1763 2019-12-21 17:16:16 -06:00
adelikat b80b367831 refactor IMovie to expose the movie mode, and make extension methods that do IsPlaying type logic. This way there can be direct checks, and more variety of methods without cluttering the interface 2019-12-21 16:34:29 -06:00
adelikat d26cb7d272 small cleanup 2019-12-21 15:55:01 -06:00
adelikat f5929602ff rename MessageOption to MessagePosition 2019-12-21 15:28:16 -06:00
adelikat 433eff65ec OSDManager - simplify calculations for points for things like fps, frame counter, etc 2019-12-21 15:24:50 -06:00
adelikat 6748d32830 Message config - fixes, make Anchor an enum instead of int 2019-12-21 14:50:20 -06:00
adelikat a565f6f299 refactor message display option settings to be an object, and simplify the message config dialog 2019-12-21 14:11:49 -06:00
adelikat b94a830f13 Message config refactor - fix some names, break off DefaultMessageOptions class into its own file 2019-12-21 13:22:22 -06:00
adelikat 98bfcabfe8 refactor Global.SystemInfo into an extension method class 2019-12-21 13:07:05 -06:00
adelikat 5002968bd7 cleanup SystemInfo 2019-12-21 13:00:33 -06:00
adelikat 8ac53f51c0 move bkm files to the import folder now that they are only used for import 2019-12-21 12:55:57 -06:00
YoshiRulz 784c800ca2
Disable features using Win32 unless on Windows host
forms: GBAGPUView, GBGPUView, LogWindow, SNESGraphicsDebugger,
SynclessRecordingTools; features: A/V recording, logging to AWE(?)
2019-12-21 18:31:03 +10:00
YoshiRulz 7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages 2019-12-21 18:21:51 +10:00
adelikat f934b059c8 fix a few potential NRE's in Global.cs 2019-12-20 10:24:54 -06:00
adelikat 24ed667c13 reduce global usage in MainForm more 2019-12-20 10:22:42 -06:00
YoshiRulz 0fcb6cbaa7
ApiHawk refactoring and cleanup
MemApi.ReadByteRange now returns the requested number of bytes and not 1 extra,
MemApi.ReadByteRange now warns only once per call for addrs outside range,
MemApi.ReadByteRange now warns for negative addrs (once per call; previous
implementation passed negative addresses to PeekByte), MemApi.WriteByteRange now
warns only once per call for addrs outside range, MemApi.WriteByteRange now
warns for negative addrs (once per call; previous implementation passed negative
addresses to PokeByte)
2019-12-17 02:39:04 +10:00
YoshiRulz 08d0f462fc
Partially migrate NesLuaLibrary to ApiHawk delegation
nes.setdispbackground and nes.setscanlines now throw when the core is neither
NesHawk or QuickNES (the latter is still silently ignored by these functions)
2019-12-16 17:47:50 +10:00
YoshiRulz 29ac251f34
Migrate SnesLuaLibrary to ApiHawk delegation 2019-12-16 17:14:10 +10:00
YoshiRulz 60daae50d5
Migrate GenesisLuaLibrary to ApiHawk delegation 2019-12-16 17:14:01 +10:00
YoshiRulz 0b43b35427
Migrate GuiLuaLibrary to ApiHawk delegation
Changed param clear of IGui.DrawNew from bool? to bool (default value remains
true), made IGui and GuiLuaLibrary inherit IDisposable, added
GetDefaultTextBackground to IGui, applied fix from 6b3071d8a to
GuiApi.DrawString, replaced background box drawn by Lua API
gui.drawString/gui.drawText with what I think is a shadow (now matches
GuiApi.DrawString)
2019-12-16 16:54:06 +10:00
YoshiRulz 8f93a954e1
Move Lua hacks to Lua libs
Changed parameter of IInputMovie.SetRerecordCount to ulong to match internal
2019-12-16 15:04:35 +10:00
adelikat ad8f321ea1 Add event.availableScopes(), fix LogWithSeparator, cleanup 2019-12-15 12:25:49 -06:00
YoshiRulz 05801dc2c5
Reduce LINQ usage in Lua subsystem 2019-12-16 04:08:22 +10:00
adelikat 91ef301a23 memory callbacks - log error if a scope is passed in that is not available 2019-12-15 12:02:43 -06:00
adelikat 9676fd97df cleanup 2019-12-15 11:52:55 -06:00
adelikat 1d741f3d0e memorycallbacks - rename domain param to scope to avoid confusion, otherwise it looks like any memory domain will do 2019-12-15 11:42:26 -06:00
adelikat 29e284c6f8 cleanup 2019-12-15 11:40:22 -06:00
adelikat 250bd2087e fix lua memory callback functions on cores with no system bus such as PSX 2019-12-15 11:37:45 -06:00
YoshiRulz 2f494003c7
Add param to IList.ToLuaTable extension and refactor bizstring.split
Changed behaviour when said Lua function is called with a misformatted separator
param, and updated its docs
2019-12-16 01:58:19 +10:00
adelikat d2f21f84e3 another extension method for lua table creation 2019-12-15 09:46:39 -06:00
adelikat 7ebfd42229 Simplify some lua table creation with an extension method 2019-12-15 09:22:10 -06:00
adelikat d955c468db refactor LuaHelper into an extension method class, and some nitpick cleanups 2019-12-15 09:05:33 -06:00
YoshiRulz 8bb9cee9c2
Write version to config (for migration check to be implemented later) 2019-12-16 00:44:40 +10:00
YoshiRulz e58f2811dc
Replace config bool `UseNLua` w/ enum 2019-12-16 00:38:22 +10:00
YoshiRulz f8dc18c1bd
Migrate SavestateLuaLibrary to ApiHawk delegation
includes backwards-compatible API change
2019-12-15 04:39:16 +10:00
YoshiRulz 104c17e77c
Prepare for EmuHawk-tied libraries to delegate to ApiHawk
Made ApiContainer inherit from APISubsetContainer, added
DelegatingLuaLibraryEmu, and reworked init logic in EmuLuaLibrary
2019-12-15 03:52:48 +10:00
James Groom 3099a11a04
Merge branch 'master' into lua-via-apihawk 2019-12-14 16:17:14 +00:00
feos dfa73eceef mame syncsettings 2019-12-14 18:50:11 +03:00
YoshiRulz 3f9b51f565
Partially revert #1754, add event.onmemoryexecuteany 2019-12-14 16:47:29 +10:00
adelikat 06e1149cfe a bit of cleanup 2019-12-13 12:35:51 -06:00
adelikat b080d6d09e
Merge pull request #1754 from warmCabin/all-memory-execute
All Memory Execute
2019-12-13 07:40:41 -06:00
YoshiRulz 185337d1c5 Replace assembly references with NuGet packages where possible 2019-12-12 03:56:46 +00:00
warmCabin 201a4b85a4
remove default value for address
<adelikat> The reason we throw an error originally is my concern is that it would be easy to leave out an address in a script, and that it would have huge concequences.

<adelikat> I think address should not have a default value here and make the user explicitly add nil if they want this functionality.
2019-12-11 12:44:54 -05:00
warmCabin 715761f563
unit? 2019-12-10 23:23:40 -05:00
warmCabin e7374447f3
make onmemoryexecute address default to null 2019-12-10 22:59:35 -05:00
adelikat 515f409246 Tastudio - Make mainform hotkeys out of a bunch of built in hotkeys 2019-12-10 19:26:23 -06:00
adelikat 7cd4bf881c TasBranch - remove last reminents of UniqueIdentifier.GetHashCode() 2019-12-08 14:26:29 -06:00
adelikat 35fdb5dbdd Tastudio - Integrate branches with the statusbar slot icons 2019-12-08 13:53:36 -06:00
adelikat fff85d917a Fix typo 2019-12-08 13:41:52 -06:00
adelikat 43c9ac7ef7 SImplify some code 2019-12-08 13:40:59 -06:00
adelikat 6107bc4553 TasMovie - rip out input caching attempt that wasn't even working 2019-12-07 12:21:42 -06:00
adelikat 9bb07dca76 Bk2ControllerAdapter/Bk2Movie - don't new up everytime some things that don't change through the lifetime of the object. HUGE (3x-4x) speedup to TAStudio 2019-12-07 11:35:48 -06:00
adelikat 4a522263d9 Bk2ControllerAdapter - small cleanups 2019-12-07 11:02:17 -06:00
adelikat 4e7d19fa18
Merge pull request #1744 from Zinfidel/watch-separator-sorting
Watch sorting - new algorithm that handles separators. Fixes #1713
2019-12-06 18:44:32 -06:00
feos b5db6a7df6 mame
- put system and game names to emuhawk caption
- fix loading from recent menu
- temp fix for audio drift
2019-12-06 21:34:20 +03:00
adelikat 4711950f9c default to using luainterface over nlua, supposedly the memory leaks are resolved in luainterface 2019-12-04 16:56:27 -06:00
adelikat 1dbf932486 Config.cs - remove unused methods, simplify some things 2019-12-04 16:53:57 -06:00
James Groom fcc0bc19a4
Change build config to support the Core build system (for #1415)
squashed PR #1702
2019-12-03 16:58:33 +00:00
adelikat 5e73c7c536 lua - update memory documentation to mention it defaults to system bus, fixes #1675 2019-12-02 20:48:38 -06:00
adelikat c050a377d8 WatchList - flag changes when doing column sort 2019-12-02 20:11:35 -06:00
Zach 0e055ecb5a Merge branch 'master' into watch-separator-sorting 2019-12-02 16:38:01 -08:00
Zach e621876453 Replaced LINQ query with for loop.
Upon reflection, the query looked nice, but was inferior to a plain for loop because it would have to create n anonymous objects to process the list, even with LINQ's filtering optimization, due to select preceding where.
2019-12-02 16:37:55 -08:00
adelikat 52db5ac848 cleanups 2019-12-01 18:05:20 -06:00
YoshiRulz 230548cf35 Partially migrate MainMemoryLuaLibrary to ApiHawk delegation
`mainmemory.readbyterange` will now return partial data if the requested range
extends beyond the domain (invalid addresses are read as 0). Did not fix docs of
`mainmemory.readbyterange` which incorrectly claim the returned table uses the
memory addresses as keys i.e. addr..(addr+length) - it was and remains
0..length. `mainmemory.write_u8` will now check the specified domain's length
and not erroneously check the selected domain's length.
2019-11-30 23:33:54 +10:00