Commit Graph

295 Commits

Author SHA1 Message Date
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
zeromus 8bc067cbbe lua: fix memory leak causing crash after a few dozen script loads/resets 2017-05-10 01:58:19 -05:00
adelikat e839a1c163 Add lua canvas methods to documentation 2017-05-07 16:33:48 -05:00
zeromus ac767a2acc clarification to the saveram flushing system 2017-05-06 17:50:36 -05:00
adelikat 20d2a7d198 Lua - tastudio onquery callbacks - attempt to better clarify the expected lua function that is taken as a parameter 2017-04-30 12:05:27 -05:00
adelikat 1184e8ed05 lua - implement tastudio.getselection(), tastudio.insertframes(), tastudio.deleteframes() 2017-04-22 20:50:03 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat e23dc983f0 Merge pull request #826 from lenalia/master
Added horizalign and vertalign to DrawText
2017-04-11 16:43:20 -05:00
lenalia 117ce07aaf Added horizalign and vertalign to DrawText 2017-04-04 21:20:33 -04:00
shanehoman 58e1b52369 expose MainForm.SaveRam() method to lua 2017-04-02 23:12:38 -07:00
feos 853432da26 tastudio lua: add recording mode functions
finally fixes #793
2017-03-08 19:56:44 +03:00
adelikat 5d4c8020c2 Delete more stuff 2017-02-22 10:12:14 -06:00
adelikat f35717aae2 Remove yet more unused code 2017-02-22 10:11:08 -06:00
adelikat 7653b86f44 Remove some unused code 2017-02-22 10:09:44 -06:00
feos b5730bda3a clarify lua doc 2017-02-19 11:56:17 +03:00
zeromus ea2188dc46 make tastudio.setplayback correctly restore the recording flag after it finishes seeking from the greenzone to the target frame 2017-02-07 00:01:14 -06:00
zeromus d87a2b27a2 make lua's new tastudio.setplayback re-enable the record flag if it was set (the existing logic leaves it disabled I think as security against the GUI use case where users might stomp their video seeking while playing in record mode). future work: add lua control for the record mode flag 2017-02-05 04:20:07 -06:00
zeromus 539cdc29f3 add SetPlayback to tastudio lua library. Can't be 100% sure it works, but it seems to be working OK. it may hang everything up if you seek through a really long redzone..... 2017-02-04 21:40:29 -06:00
zeromus a70e6e2fc4 fix #790 (Scroll wheel missing from input.getMouse()) 2017-02-04 20:52:32 -06:00
adelikat 0480ea3f44 when toggling a script on, update on screen lua drawing stuff. On gui.clearGraphics() immediate update the screen 2017-02-04 15:54:04 -06:00
adelikat 0c7cedd2ac lua - tastudio.setmarker() - make marker message optional 2017-02-04 15:11:43 -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
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
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 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
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
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
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
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 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 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
feos 23b3784123 lua: gui.defaultTextBackground() 2015-12-20 14:28:31 +03: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
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 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
zeromus 3592d1418d lua - add client.SetSoundOn and client.GetSoundOn 2015-10-13 18:54:05 -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
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
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
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
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 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
scepheo abf1e55934 A bit of testing with Lua. 2015-04-10 14:11:01 +00:00
pjgat09 57fa633a9e Lua Forms: Fixed a bug with SetProperty 2015-04-05 04:11:00 +00:00
zeromus e12c711a0e try to manage lua memory leak prevention in a way thats safer from re-entrancy during finalization thread 2015-03-28 05:53:03 +00:00
adelikat b74e0a3b3d Lua - apply CrazyTB's patch to fix gui.drawImageRegion() 2015-03-24 22:15:36 +00:00
adelikat 16e9bc7d38 Fix some lua documentation 2015-03-23 22:22:02 +00:00
adelikat e4b613d9f7 Lua - add gui.drawImageRegion() 2015-03-23 21:27:24 +00:00
adelikat 5a2146bde2 Lua - fix fill behavior in drawBox, drawRectangle, drawEllipse, and drawPie 2015-02-24 00:37:56 +00:00
adelikat b45d3820be Lua - gui library - make all colors optional parameters and use defaults if not provided (initially white foreground and transparent background). Add gui.defaultForeground(color) and gui.defaultBackground(color) to change those defaults 2015-02-23 03:10:38 +00:00
adelikat 1514faf300 Move PresentationPanel from GlobalWin to Mainform, since it was primarily used there (and the few other places knew about GlobaWin.MainForm anyway) 2015-02-22 03:53:07 +00:00
adelikat 0ee999dde4 Lua - drawImage - speed up by caching images instead of reading them from disk on every call 2015-02-07 15:39:16 +00:00
adelikat 6f2488aa57 Lua - clear out lua drawing surface on restart 2015-01-29 03:36:19 +00:00
adelikat 307845b3b5 Lua - recover from a locked drawing surface exception and log to the console, rather than crash the emulator 2015-01-29 02:14:39 +00:00
goyuken 82fcd0bc5e refactor IVideoProvider into a service. uses in mainform and friends are still hacky 2015-01-14 22:37:37 +00:00
christoph.boehmwalder e11811e2f8 Lua - Added an input box to the script console for on-the-fly command input
Set ImageScaling to None for all buttons in the toolbar in order to fix scaling issues
2015-01-02 19:36:32 +00:00
adelikat 4e0e5958ed Lua - Convert Gui library to service injection system 2015-01-01 21:44:49 +00:00
adelikat a7c91ddcdd Lua - convert to the Client library to the service injection system 2015-01-01 20:58:57 +00:00
adelikat 72893a10f3 EmuLuaLibrary - remove some commented code that should have been deleted 2015-01-01 19:19:51 +00:00
goyuken cfaf59f887 lua: internal infrsatructure changes to nes library 2014-12-17 23:03:58 +00:00
goyuken ecf8728de6 factor out serviceinjector to emulation.common 2014-12-17 18:17:16 +00:00
adelikat 685756ea8e Remove LoadTraceLogger() from ToolManager since it was simply a wrapper to manage availability logic, most of those types of properties should be removed now 2014-12-14 01:39:15 +00:00
adelikat d7596684c2 Lua - Expose tastudio library in non-developer builds 2014-11-19 16:17:40 +00:00
adelikat 5c92adcaaa Wire up the Log callback into lua libraries, this got lost in the last refactor I did, and so errors were not getting reported 2014-11-08 14:54:00 +00:00
adelikat d0aee55059 Tastudio - a bit of simplifying some code 2014-10-20 19:04:59 +00:00
scepheo bad2bda4f4 Added Lua functions to work with the letterboxing of the emulator, and for transforming emulator space points to client space. 2014-10-10 11:02:18 +00:00
zeromus 1358294a5c ladies and gentlemen, it is my extreme pleasure to you, for tonight's entertainment to present, the lua DrawText without cleartype. May you all enjoy it as much as I have. 2014-10-04 02:09:25 +00:00
adelikat 7a1fe8d51d lua/tastudio - implement tastudio.islag() and tastudio.hasstate() 2014-09-22 21:58:45 +00:00
adelikat 8b212da594 tastudio/lua - implement tastudio.getmarker(), tastudio.setmarker(), and tastudio.removemarker() 2014-09-21 15:17:29 +00:00
adelikat 538c4632af Add a LuaLibraryAttributes attribute to lua libraries with a Released property, only register libraries that are released except in Developer Builds, set tastudio library Released flag to false 2014-09-20 01:00:50 +00:00
adelikat ad16be7712 Start a tastudio lua library 2014-09-19 21:43:16 +00:00
adelikat afdfe11c7e lua - forms.label - add an optional fixedwidth font param 2014-09-07 02:42:44 +00:00
adelikat bcd78cc4b8 Round 1 of Movie loading system overhaul, this fixes the problem of loading sram when a movie is loaded. Still todo: some cleanup of some hacks that are no longer needed, and restoring the ability to open the play movie dialog and other things, while a movie is active 2014-08-02 15:32:48 +00:00
adelikat 43d9f77fd6 this is mostly a hack, but fixes loading a rom when a movie is still running 2014-08-01 01:34:40 +00:00
adelikat 5f1df3224c fix some dangling references to BizHawk.Multiclient mostly in comments, but also in some client facing tooltip and lua documentation 2014-07-27 01:19:33 +00:00
adelikat 7e768eacb1 When rewinding show << and <<<< symbols (not sure when those ever got removed). Tastudio - disable rewind on load, and restore it (if it was on) when closed 2014-07-11 17:14:45 +00:00
zeromus 0fe74f95e7 fix LuaConsole PWD-related bugs 2014-06-03 02:39:15 +00:00
adelikat 0649d1c77e Lua - add some more documentation, add a method that generates tasvideos wiki markup of the documentation and outputs to a file (method not wired to anything, there to save me tons of time when releasing) 2014-06-03 02:19:13 +00:00
adelikat d037c6ed60 Oops 2014-06-03 01:21:49 +00:00
adelikat ba4e7d620b Refactor the LuaDocumentation class to remove a bunch of unnecessary stuff 2014-06-03 00:34:41 +00:00
adelikat 5d79072a38 Lua - Finish strongly typing the Color params in the gui library, Lua Functions List - cleanup display of Color params and some other things 2014-06-02 01:04:13 +00:00
adelikat 58b5163715 Lua Interface - support Strongly typing System.Drawing.Color, and strongly type the color parameters of gui.drawEllipse() 2014-06-02 00:43:25 +00:00
adelikat 83ada011e8 Lua - Refactor how lua libraries are registered by searching assemblies and finding implementations and building a list of these 2014-06-01 22:02:59 +00:00
adelikat 0782c9820d Lua - implement event.onexit() - fires when the calling script stops execution, supports multiple callbacks per script 2014-05-26 03:08:16 +00:00
adelikat e88b7cc93e one more tweak to make lua library constructors unified 2014-05-21 01:15:52 +00:00
adelikat 17568997bf Lua - unify constructors and have all libraries receive a lua context and an output callback, simplify some convolved registration code 2014-05-21 00:17:35 +00:00
adelikat 6401e6d719 Refactor LuaLibraryBase to have a Lua context rather than misc libraries being in charge of that when needed. Still todo: clean up the inconsistent constructor logic, vs setting these as public properties 2014-05-20 20:34:51 +00:00
adelikat f19d15d1ed Lua - add a Log callback to the LuaLibraryBase class instead of having misc libraries have to build out this behavior when they need it 2014-05-20 20:25:18 +00:00
adelikat 4ee4088c4c read/write byte range functions - range check, and log warnings if user attempts to access outside the domain range, rather than throw a vague lua exception and crash 2014-05-19 01:42:41 +00:00
adelikat 059952f0a4 Change memory.getmemorydomainlist() to return a lua table instead of a string 2014-05-19 01:06:44 +00:00
adelikat 3d10d67fea Implement bizstring.split() 2014-05-18 21:06:16 +00:00
adelikat 55b4dcd53c gui.text - remove hacks that attempt use window size. Better logic is to be pure client space, and let gui.drawText do anything else 2014-05-14 23:44:46 +00:00
gochaism 0a9039fc60 Set SystemIcons.Application to Lua form icon. 2014-05-02 00:44:14 +00:00
gochaism 3fd9113f0d Disable maximize/resize of Lua forms, since user cannot do anything on resize anyway. 2014-05-02 00:38:48 +00:00
gochaism a84b4126f2 Lua: Make console.log(...) a little more prettier. 2014-05-01 00:25:14 +00:00
adelikat 9d7c92fb6e Oops 2014-04-29 21:25:17 +00:00
gochaism 38a0a3593e Lua: Update print and console.log to take variable arguments. 2014-04-29 05:07:43 +00:00
adelikat 8c1c034090 Lua - make Print() be an alias of console.log() 2014-04-29 01:24:06 +00:00
adelikat bbf7c43b6d Rip out the Alert font from OSD Manager since it wasn't being used for anything useful anymore, Ram Watch on screen display - show frozen addresses in a cyan color instead of red to be consistent with the rest of the system 2014-04-27 13:01:10 +00:00
adelikat 603fd81066 Lua - implement movie.fps() and add MovieTimer.lua script that shows the clock time for a given movie (updates while recording) 2014-04-22 21:27:08 +00:00
zeromus 7adc15d97e work on opengl display manager: optimized codepaths, user retroshader selection, support for importing a textureID from another core; add erase button to lua console; 2014-04-15 21:46:18 +00:00
adelikat 6adde23553 Lua - also fix client.frameskip() 2014-04-13 18:39:46 +00:00
adelikat f589a91479 Lua - fix client.setwindowsize() and client.speedmode() 2014-04-13 18:35:27 +00:00
adelikat 9c3a7fec37 Lua - add a gameinfo lua library with getromname(), getromhash(), getdisplaytype(), getindatabase(), getstatus(), getisstatusbad(), getboardtype(), and getoptions() methods 2014-04-13 14:22:13 +00:00
adelikat 5559024757 Lua - Rip out gui.alert() and refactor/simplify things as a result 2014-03-23 17:39:07 +00:00
adelikat 54363e4da1 Lua - fix gui.drawText() (and gui.drawString) 2014-03-23 17:24:06 +00:00
adelikat 1226603697 Lua - Fix gui.Alert() to at least work. However, in trunk the alert font was gimped into regular font with the opengl change, and this is probably for the best. Will remove this lua feature and alert font code in a later commit 2014-03-23 17:12:25 +00:00
adelikat 33fdf03af6 Lua - fix forms.newForm() 2014-02-23 22:47:45 +00:00
adelikat 63e8702242 Lua - gui.text() and gui.Alert() - strongly type the anchor parameters as a string, will still except 0, 1, 2, or 3 as it did previously, for which it will interpret them as string automatically 2014-02-17 01:57:25 +00:00
adelikat 4ca0f5792b rip out some lua console code I didn't mean to check in 2014-02-16 23:06:14 +00:00
adelikat 5849d2d80d make the Select All feature built right into VirtualListView instead of writing the same code over and over in the tool dialogs, also make said code faster on large lists 2014-02-15 19:15:04 +00:00
adelikat 05823d3022 fix ButtonCount lua script to use console.log instead of the now deleted console.output, Lua - remove some todos that had been done and some rather useless cleanup 2014-02-14 01:27:38 +00:00
zeromus 96da0880b4 work towards generalizing lua display layers. "emu" and "native" surfaces now work and are accessible from lua. 2014-02-14 00:55:18 +00:00
adelikat 23f7017651 Some code cleanup tinkerings in Client.Common 2014-02-03 20:48:01 +00:00
zeromus 2275ec234f massive displaymanager/renderpanel refactor. All useful logic is now compact and in DisplayManager. Also, remove the old filter infrastructure, its totally outdated now 2014-01-28 04:39:27 +00:00
adelikat 7fac499996 Lua - finish up documentation and strongly type some more params 2014-01-27 20:19:08 +00:00