Commit Graph

101 Commits

Author SHA1 Message Date
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
upthorn 71215adf0d Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 04:58:58 -08:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`
2019-01-04 01:50:55 +03:00
upthorn aba1da071d Completely refactored PluginAPI to extend ApiHawk. Ecco2AssistantPlugin is now an external tool. 2018-12-22 10:40:30 -08:00
zeromus 68f97a708d fix more mess in cdl file management 2018-11-12 18:12:00 -05:00
Asnivor 8a10ba6372 EmuHawk: ToolManager.IsAvailable<T> (#1294) 2018-09-10 22:08:44 +03:00
feos 7fedbac9c3 lua: fix #1119 2018-03-09 13:35:42 +03:00
adelikat 6e06947a33 rename ToolAttributes 2017-07-12 14:44:14 -05:00
adelikat af3ab7c208 TraceLogger - Turn off core tracing when closing, TooManager - check for disposed tools before running NewUpdate(), fixes #911 2017-07-09 13:19:09 -05:00
adelikat facd845453 Lua Console - Move StartLuaDrawing() and EndLuaDrawing() to LuaImp since they exclusively LuaImp logic 2017-05-23 12:40:40 -05:00
adelikat 8d91557f4e cleanups in ToolManager 2017-05-22 14:23:14 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
feos 2fa40bac04 tool positions: tolerate slight accidental offscreen by resetting to 0 instead of ignoring
todo: check bottomright offscreen too someday?
2017-03-15 19:49:32 +03:00
adelikat c61d432fd6 Don't position tools to last saved position if that position is not visible on screen 2017-02-21 16:57:47 -06:00
adelikat 11b4f5a5b1 Lua - fix #691 - When calling client.reboot_core we still want to re-inject dependencies to the lua libraries 2016-08-28 12:07:26 -04:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
feos e362ecdbbf tastudio: insure against all sorts of silent corruption. 2016-08-02 20:05:31 +03:00
Isotarge 5a20a520bd Tools: Ram -> RAM #669 2016-07-22 01:32:54 +09:30
zeromus 5ed2e46982 add SRAM memdomain to vbanext 2016-04-18 20:44:30 -05:00
zeromus b82cc74a5d possibly fix crash in GB GPU debugger on operating systems using the wrong language (untested) 2016-04-15 20:23:04 -05:00
Hathor86 2876f63dd8 ExternalTools: Allow several tools running simultaneously 2015-12-30 11:00:56 +01:00
adelikat 7654374682 Cheats - use the integrated tool instead of the one-off platform specific tools 2015-12-20 12:38:59 -05:00
zeromus 260ad45a88 fix lua's reboot_core function... maybe 2015-12-19 21:14:13 -06:00
Hathor86 a7074c6341 ExternalToolManager and BizHawkExternalToolattribute
Add those 2 classes in order to help handling of external tools
- Also fix value setting in watches constructor
- Bugfix in loading externaltools (they loaded multiple times)
- Add new version of Hello World external tool
Whitespaces noise in RamWatch.cs... :s The code hasn't changed
2015-12-13 21:38:35 +01:00
Hathor86 12388cbe3d ExternalTool bug fix: wasn't able tool load serveral dll 2015-12-06 00:52:07 +01:00
feos 6d4c5ef17f preparations for state hotkeys functioning with tastudio branches.
typos.
2015-12-05 14:48:04 +03:00
Hathor86 31cc08a954 More WatchList comments
Finished coments on WatchList object
2015-12-02 22:48:30 +01:00
Hathor86 1e2f4e12be Watch refactoring
Some improvement when you get Available types. Used to return a new
array each time you call the function. It has been transformed into an
IEnumrable and yield return.
DisplayType, PreviousType and Watchsize have been moved outside the
Watch Class
2015-11-28 22:52:00 +01:00
Hathor86 d4b4c06f0c Draft of API
So, I create a new dll named BizHawk.Client.ApiHawk and moved few stuff
to it.
Also moved some stuff to BizHawk.Client.Common. Don't think it can be
desiociated.

I started comment Watch and rearrange code (put some #region etc...

It compiles and it seems working :)
2015-11-26 23:05:29 +01:00
Hathor86 f3771e7b98 Ambigous call fixed
This bug occured sometime, when we try to call Load() by reflection
without parameters.
2015-11-22 23:45:57 +01:00
Hathor86 6f18e44fe7 Code Formating
Just more sexy
2015-11-22 17:56:08 +01:00
Hathor86 7d2e02b94b Debugging and POC
Change some logic into ToolManager for better practice
Adjust the look of toolstrip items
Update comments
2015-11-22 17:37:00 +01:00
Hathor86 d92eed5845 Menuing
Change the menu item name
Change interface name
turn menu item into a submenu dynamically filled
2015-11-21 01:03:48 +01:00
Hathor86 c7dcb42b94 Merge from maser@TASVideos 2015-11-15 11:27:00 +01:00
zeromus fae4d27bed Revert "Cleanup GameShark.Designer.cs"
This reverts commit 9864d8190c, reversing
changes made to 0630be922b.
2015-11-14 15:11:13 -06:00
Hathor86 f70a2c8c6c Merge from TASVideo 2015-11-01 22:01:19 +01:00
feos 4e7d03d9a3 tastudio: clean up garbage lua text and drawings.
- text was written twice if we update tools and PauseOnFrame (seek) within one frame.
- drawings didn't update during turbo even when RunScriptsDuringTurbo was on, but a whole bunch of accumulated drawings was appearing at once, when you do a normal advance after turbo mode.
2015-10-22 19:33:31 +03:00
Hathor86 8f123527e8 Merge remote-tracking branch 'refs/remotes/TASVideos/master' into NewrRelease 2015-10-11 19:40:46 +02:00
Hathor86 8ad8ad2c6a Start back from initial release branch
Just to have cleaner changes
2015-10-07 23:54:57 +02:00
zeromus 5406fc9cfa remove a likely old and senseless developer build check breaking the genesis cheat decoder command from the cheats dialog only (fixes #494) 2015-09-10 16:59:08 -05:00
adelikat 6d4dea9a14 Don't attempt to remember tool window size/position if tool is minimized/maximized, this fixes issue #491 but also fixes the bug in every tool (unless there is a tool that does not implement IAutoToolFormConfig that I missed in this changeset) 2015-09-05 17:05:14 -04:00
adelikat a9c460802b add an option to run lua scripts while turboing instead of bypassing them. Make this option true by default (a change to the current behavior). Add a checkbox in the customize dialog to toggle this option. 2015-07-09 20:14:52 -04:00
adelikat aa75bd52e9 When adding an address to ram watch from another ram tool, don't load ram watch if it is already open 2015-06-21 00:21:36 +00:00
adelikat a0d56df06b Lua - client library - change GetOpenTools() to GetAvailableTools() which returns a list of tools available to the currently loaded core, change GetTool() to receive any avaialble tool, if the tool isn't open, GetTool() opens it 2015-04-12 17:37:06 +00:00
adelikat 8d86ee012e Lua - implement client.GetOpenTools() to return a list of currently open tools. And client.GetTool(string name) which return an object to lua representing a currently loaded tool, lua then has access to any public methods of that object 2015-04-10 21:56:03 +00:00
adelikat f305ca5666 Don't crash if user elected to autoload Ram Watch but not autoload a Rom 2015-02-25 22:32:50 +00:00
adelikat ecaf95f400 ToolManager - a small cleanup now that there is an owner variable 2015-02-22 04:06:40 +00:00
adelikat 41950cb9e0 ToolManager - take a Form owner in the constructor and pass it in to any tools that are also Form objects (all of them). ToolBox - use the Parent property instead of GlobalWin.MainForm now that it is populated 2015-02-22 04:02:30 +00:00
adelikat aea17282cc ToolManager - remove CloseIfDisposed, it was only being called when a tool is specifically told to restart by client code, seems like a vestigial hack workaround to cleanup improperly closed things if they are called upon. Add in the Ram Watch hack to UpdateValues<T>. All of this fixes Ram Watch autoload when the on screen display option is checked 2015-01-02 15:27:54 +00:00
adelikat 38c1ffa1e9 Fix autoloading of Ram Watch 2015-01-02 15:19:18 +00:00