Commit Graph

351 Commits

Author SHA1 Message Date
adelikat 3d805a3541 null check for previous commit 2017-02-04 10:45:32 -06:00
adelikat 923565c350 Lua console - dispose of scripts when closing the console window 2017-02-04 10:32:36 -06:00
adelikat c050eaa8c7 lua console - fix the edit button to account for relative vs absolute pathing 2017-02-02 17:48:32 -06:00
Sappharad 25fd0fdb9a Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
	BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs
	BizHawk.Client.EmuHawk/MainForm.cs
	BizHawk.Client.EmuHawk/tools/GameShark.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
2017-01-31 21:59:37 -06:00
zeromus f7638e8352 "fix" client.bufferwidth and client.bufferheight .... I dont understand why they were doing what they were doing. It seems like such a simple thing, just return the dimensions of the core's videoprovider. Someone should rethink all these (and the surface names, and the padding names) and craft a complete, new design. 2017-01-26 00:54:44 -06:00
Isotarge ab1b1877e8 Lua: Implement forms.setdropdownitems() 2016-12-26 12:13:19 +10:30
Sappharad e0d2a88f07 Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs
	BizHawk.Emulation.Common/Sound/Utilities/SpeexResampler.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
2016-12-12 20:29:18 -06:00
adelikat 3bfce81eae LuaConsole - have a RequiredService of IEmulator and pass it into the lua implementation instead of using Global.Emulator 2016-12-06 10:35:11 -06:00
Sappharad c6eb2dbb47 Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/MainForm.Events.cs
	BizHawk.Client.EmuHawk/MainForm.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
2016-12-05 21:47:31 -06:00
adelikat e99bc9ba41 use the Emulator property instead of Global.Emulator in some lua library files 2016-12-04 12:37:29 -06:00
adelikat b7a6542fb6 Lua - gui.drawImage(), gui.drawImageRegion() - log an error if image can not be found, instead of throwing an exception 2016-11-19 14:10:17 -06:00
adelikat 889feeeeba fix #414 by idiot-proofing the lua console command window, if emu.frameadvance() is called, log a warning instead of blowing up 2016-11-13 11:26:09 -06:00
adelikat ddf23e4c3a Lua console - use string.IsNullOrWhiteSpace when checking the command line box 2016-11-13 11:15:30 -06:00
adelikat c27355169f lua forms - run a checkbox click callback after the event not before, fixes #545 2016-11-11 10:03:13 -06:00
adelikat ec502acd1d Lua - make a call to DrawFinish() when closing the lua console. Fixes endless locked emu surface errors when opening it back up and loading a script that draws 2016-11-08 10:37:59 -06:00
Sappharad 07a1709dbb Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/tools/GameShark.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs
2016-10-18 18:23:07 -05:00
adelikat e281950902 Close a lua instance before creating a new one, fixes #455 2016-10-06 15:17:05 -05:00
feos fc66ec1b02 Lua docs: fix #703 2016-09-29 18:09:58 +03:00
Sappharad cb8382a151 Merge branch 'master' into mono-portable 2016-09-01 20:45:39 -05: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
Sappharad 3cf4d3464d Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
	libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp
2016-08-23 21:21:57 -05: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 1e6b3bfbee lua text: display trailing spaces 2016-08-06 15:45:07 +03:00
Isotarge 5a20a520bd Tools: Ram -> RAM #669 2016-07-22 01:32:54 +09:30
Sappharad 2e4720cae9 Merged branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.Common/BizHawk.Client.Common.csproj
	BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
	BizHawk.Common/InstanceDll.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
	vbanext/instance.cpp
2016-05-03 21:51:47 -05:00
zeromus 676b5791f6 lua: add gui.DrawFinish() which will let you choose when to finish drawing; and add optional argument to gui.DrawNew which when set to false lets you keep it from being cleared. 2016-04-21 16:43:37 -05:00
zeromus 1a1a688b96 remove NeedsToPaint; client now repaints ~100fps while paused all the time. as it already did when input display was enabled. fixes #615.. probably 2016-04-20 12:17:41 -05:00
feos fcbf4adbec lua: remove bg color from gui.text function, since it's always a black halo. 2016-04-18 19:39:24 +03:00
zeromus 66683b16ed replace "Ok" with "OK" 2016-03-26 21:50:33 -05:00
Sappharad ed88569221 Merge branch 'master' into mono-portable
Conflicts:
	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
	BizHawk.Client.EmuHawk/movie/RecordMovie.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
2016-02-15 18:38:48 -06:00
adelikat 47d9432ad4 Lua - set file watchers on lua session autoload 2016-02-14 21:51:12 -05:00
feos 435323489e lua: gui.defaultPixelFont() 2016-02-10 20:06:45 +03:00
zeromus 1a123fa491 allow "#aarrggbb" as Color parameter to forms.setproperty. fixes #547 2016-02-08 02:33:58 -06:00
adelikat 36b82c3563 Lua Console - add a button that installs auto-complete for all bizhawk's lua library to Sublime Text 2's lua syntax, still todo - notepad++ 2016-02-07 08:27:57 -05:00
adelikat 907850ce02 Lua - fix exception when reloading a lua script with registered functions while the registered functions dialog is open 2016-02-06 14:22:56 -05:00
adelikat 487fce328b Lua - add option to detect changes in scripts and automatically reload them. Have this option off by default for now. Also fix reloading of scripts which was recently broken. 2016-02-06 13:50:02 -05:00
adelikat 8168031bed Make TargetZoomFactor a per systemId setting 2016-01-31 21:05:08 -05:00
zeromus 5e89e563d0 overhaul lua sandboxing so that each lua script has its own sandbox. elaborate tracking of winform/event ownership to ensure that lua doesnt receive calls without going through the owner's sandbox. add win32-specific speed hacks for currdir set/get at higher speed. There may be bugs in this commit, but I think we're on the right track now. 2016-01-31 19:54:55 -06:00
adelikat 30c7b32bc1 Lua Console - when a lua exception occurs we also want to update the script status icons 2016-01-31 19:02:02 -05:00
adelikat 0ff2db5c8d Lua - ResumeScripts - loop through only running scripts, to avoid sandbox calls for non-running scripts 2016-01-31 14:31:29 -05:00
zeromus 42c0b62261 fix some lua currdir bugs, but its all broken, dont pay any attention to it 2016-01-31 03:18:34 -06:00
zeromus da865e28b8 try sandboxing currenty directory harder 2016-01-31 02:40:48 -06:00
adelikat 0013646db5 Rip out obsolete notion of a WatchList domain, change ram watch menu item to Default Domain, who's functionality is simply to decide the default domain used when adding a new watch, also add some Visual Studio designer shenanigans for a previous commit I made that broke it 2016-01-30 22:17:31 -05:00
adelikat 894a9c2318 Rework ToolHelpers from a static object to ToolFormBase that inherits form and have a lot of tools inherit it, in hopes of moving a lot of copy pasta into a base class, move a few functions that show up a lot there 2016-01-30 20:24:53 -05:00
zeromus 0da6e745e5 move EnvironmentSandbox and LuaSandbox to Client.Common 2016-01-30 18:37:30 -06:00
adelikat 1e57a0a221 Lua Console - remember column widths 2016-01-30 19:20:52 -05:00
adelikat fdae465089 Lua - refresh the lua console when a script exits 2016-01-30 18:50:05 -05:00
feos 7409a32658 lua: attempt to use sandbox in callbacks. 2016-01-30 23:26:27 +03:00
adelikat b6406fe523 lua - client.displaymessages() 2016-01-30 12:08:37 -05:00
pjgat09 e4a4a9606c Lua forms: Added a scrollbars argument for creating a textbox. 2016-01-15 21:19:25 -05:00
Sappharad d2a6542c6e Merge branch 'master' into mono-portable
Conflicts:
	.gitignore
	BizHawk.Client.EmuHawk/AVOut/FFmpegWriter.cs
	BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
	BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs
	BizHawk.Client.EmuHawk/GLManager.cs
	BizHawk.Client.EmuHawk/MainForm.cs
	BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesApi.cs
	BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs
	libsnes/bsnes/target-libsnes/libsnes.cpp
	libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp
2015-12-21 21:58:13 -06:00
feos 23b3784123 lua: gui.defaultTextBackground() 2015-12-20 14:28:31 +03:00
pjgat09 84428afc58 Lua forms textbox: Ctrl+A now selects all text 2015-12-19 22:16:29 -05:00
zeromus 260ad45a88 fix lua's reboot_core function... maybe 2015-12-19 21:14:13 -06:00
pjgat09 d54e53d329 Lua forms.setproperty: Convert the passed value to an enum if applicable 2015-12-19 00:01:06 -05:00
pgrimsrud bb327261ae Add a return value to the main function for various purposes.
Add Lua function ExitCode to allow script writers to terminate the client with an exit code.
2015-12-15 22:39:42 -07:00
Connor Olding a7dd0b2386 Adjust Registered Functions window: anchors, minimum size 2015-12-10 03:35:12 -08:00
feos eb41e8a8e0 lua: remove registered functions on toggle option. 2015-11-29 22:56:28 +03:00
feos 0be8f8c564 lua: another pixelFont tweak. 2015-11-29 22:56:26 +03:00
feos fbd1d6d8e2 Lua: autoload recent scripts too (unless there's a recent session to autoload).
pixelText bg tweak.
2015-11-29 13:29:48 +03:00
feos 128c09e7b4 progress with lua:
- added fceux and gens/snes9x pixelated fonts
- added gui.pixelFont() function for them (no resizing, so perfectly scalable)
- added background to drawText and pixelText (halo was painfully slow, so just a box)
- reordered fore and back colors for gui.text (no need to specify back every time we want to change fore). thought its back color was shadow, that is obsoleted by halo now, whose color we can't change. anyway, it's way slower than simple text functions, so they should be used mostly.
- option to toggle all scripts if none is selected. greatly reduces routine when heavily tweaking a script, and is just generally pretty.
2015-11-28 22:19:15 +03:00
feos 2ce108e310 lua: ability to SetBranchText.
doesn't make much sense to add text to existing branches from lua, but highly useful to set some text to a new branch.
and we also have a default branch text variable now.
2015-11-26 00:12:25 +03:00
zeromus 283cb4ae50 fix loading of roms from commandline 2015-11-12 17:47:39 -06:00
Isotarge 02c04d0088 Fix forms.destroyall() and call it when lua console closes
Fixes #454
2015-11-07 01:38:44 +10:30
zeromus 93e7c91ee9 clean up lua console pause/stop behaviour a little bit and add listview icons to make it more clear what's going on 2015-10-22 16:28:52 -05:00
zeromus c3ff70b864 fix gameExtraPadding coordinate translation and revise lua autodoc for the concerned functions. Presently the entire assortment of functions is confusing, but at least it does something that works. 2015-10-16 19:17:23 -05:00
zeromus 9b222653f5 fix some lua autodoc 2015-10-16 18:28:23 -05:00
zeromus 9410a6cb9d lua console - tweak output behaviour for script evaluation textbox 2015-10-15 18:32:59 -05:00
zeromus 169f36ee85 code formatting 2015-10-15 18:32:59 -05:00
Sappharad 33084931d9 Merge branch 'master' into mono-portable 2015-10-13 21:35:06 -05:00
zeromus 3592d1418d lua - add client.SetSoundOn and client.GetSoundOn 2015-10-13 18:54:05 -05:00
Sappharad 4fd45964c0 Merge branch 'master' into mono-portable
Hopefully I didn't botch this, I'm not good at how git handles conflicts yet.
2015-10-12 21:34:13 -05:00
zeromus 21579c1c86 lua - add client.SetClientExtraPadding 2015-10-12 20:30:09 -05:00
zeromus cf1c53f3fb fix quicknes lua rendering being offset incorrectly sometimes. fixes #498 2015-09-16 14:02:45 -05:00
adelikat 98bc140a84 Issue #385 - Lua - add memorysavestate library for making and loading savestates in memory, with save, load, remove, and clearall methods 2015-09-09 20:47:56 -04:00
zeromus d0f56ac98d lua - add client.SetGameExtraPadding(left,top,right,bottom) 2015-08-09 13:57:45 -05:00
adelikat 64126fbad3 issue #469 - lua - forms.newform() - add an onclosed callback optional parameter 2015-08-04 20:17:04 -04:00
adelikat ad821c90d5 lua - implement client.exit() 2015-07-31 18:44:53 -04:00
Sappharad a14c5ad11b Merge branch 'master' into mono-portable 2015-07-25 22:52:28 -05:00
zeromus 50aaa61d2c case insensitive lua functions library docs search 2015-07-22 12:13:30 -05:00
Sappharad 74d7bf32b6 Merge branch 'master' into mono-portable
Conflicts:
	.gitignore
	Version/version.csproj
2015-07-15 21:42:53 -05:00
adelikat a8bf7f1828 oops 2015-07-10 10:26:51 -04:00
adelikat 7ecf96772c tastudio/lua - implement tastudio.setlag() 2015-07-09 13:16:55 -04:00
adelikat 9455aec767 Tastudio/lua - implement tastudio.onqueryitemicon() 2015-07-09 12:47:59 -04:00
adelikat 19423092cd Tastudio/lua - implement tastudio.ongreenzoneinvalidated 2015-07-02 14:51:42 -04:00
Tom Rochette a783ef75f6 Simple Lua sandbox.
Uses an EnvironmentSandbox to restore the Environment.CurrentDirectory. Will also catch any script exception and redirect them to the Lua console.

With this change, I've tried to replace all the places where Lua is executed so that if an exception occurs, it is catched, sent to the console and a callback is executed if necessary.

This also fixes a small issue where any callback generating an exception would crash BizHawk.
2015-07-01 22:38:19 -04:00
adelikat c53cef6cf9 tastudio/lua - implement tastudio.onqueryitemtext 2015-07-01 19:46:14 -04:00
adelikat f847e905d2 tastudio/lua - add onqueryitembg event to the lua library, this is called during each cell's background color drawing callback, and gives the opportunity for lua to override the color. 2015-07-01 19:01:29 -04:00
Tom Rochette de98e0ed66 [#405] Set Environment.CurrentDirectory when executing Lua events within a WinForm.
Since events are not executed within the LuaConsole.ResumeScripts method, those did not have Environment.CurrentDirectory available for the executing script.

The fix is simple: when a lua script instantiates a LuaWinForm (through forms.newform), we store the current Environment.CurrentDirectory in the LuaWinForm object.
When a button or checkbox is triggered, it calls WinForm.DoLuaEvent which will set up the Environment.CurrentDirectory for the duration of the callback and then set it back to the initial Environment.CurrentDirectory.
2015-06-30 22:35:59 -04:00
Tom Rochette c03a162bc1 Add a split container to LUA console window.
With the split container, resizing the window will properly reformat the output section as well as allow users to resize it.
2015-06-29 00:28:35 -04:00
ConHuevosGuey d97d94ecbc Made size nullable...now requires a size input. 2015-06-28 13:25:28 -05:00
ConHuevosGuey 229865c443 Added a 'Draw Axis' function to lua GUI library 2015-06-28 13:23:07 -05:00
Sappharad 5b466e5d70 New portable branch re-created from master with hopefully all of the changes made to the old one, plus some cleanup of things that got mangled from repeated merges. 2015-06-23 22:22:11 -05:00
pasky1382 703dc33cc0 Small correction.
Removed the link to the key names that did not contain correct information, this list of key names is not used in Bizhawk for lua's input.get()
2015-06-22 13:40:22 +00:00
adelikat 6517178e6d lua - savestate.looad() - if path does not exist put a helpful error message rather than a vague .net error 2015-06-15 01:17:02 +00:00
adelikat a04a80bfce add "new" to LuaCanvas.Refresh() because I"m tired of seeing the warning 2015-05-17 20:33:27 +00:00
adelikat e57d15d85b oops, remove some debugging code 2015-04-12 17:47:34 +00:00
adelikat 53341ee24a Lua - add client.CreateInstance() which receives a type name available to EmuHawk and will construct and return the given object, currently it is limited to objects that have a parameterless constructor but we should be able to improve upon that limitation 2015-04-12 17:46:27 +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