Commit Graph

86 Commits

Author SHA1 Message Date
adelikat f5e9e8eecd cleanup VersionInfo.cs a bit 2020-02-26 15:33:50 -06:00
adelikat ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz 0f1fa1531f
Use ranges in ApiHawk and Lua 2020-01-13 06:57:24 +10:00
adelikat 57610488fe use globals a bit less 2020-01-03 13:59:39 -06:00
adelikat 7de9309be1 Lua - pass in MainForm to the EmuHawkLuaLibrary class 2019-12-31 16:46:05 -06:00
YoshiRulz 05801dc2c5
Reduce LINQ usage in Lua subsystem 2019-12-16 04:08:22 +10:00
adelikat d2f21f84e3 another extension method for lua table creation 2019-12-15 09:46:39 -06:00
adelikat d955c468db refactor LuaHelper into an extension method class, and some nitpick cleanups 2019-12-15 09:05:33 -06:00
YoshiRulz e6cb74d314
Partially migrate EmuHawkLuaLibrary to ApiHawk delegation 2019-12-15 04:40:01 +10:00
feos 5ca08b6c29
Camhack support (#1725)
for the camhack to work we have to save a state, hack memory, advance twice to see the changes, then load the state to prevent desync. since we can omit the framebuffer in savestates, loading them can happen without updating the screen, so the hacked camera remains visible.

advancing 2 frames automatically is done like tastudio does it when it seeks to a frame, only from lua now.

and the most questionable part is "invisible emulation", which is how Gens calls this IIRC, when everything that can distract or slow us down is skipped: sound, video, tools updates.

new lua functions:
- client.invisibleemulation()
- client.seekframe()

* for a test, mGBA core uses fake video and audio buffers and renders to them when we want to "skip" rendering. proper setup would involve actually skipping rendering those inside the core.
* allow disabling video and audio updates for gpgx too (proper approach, no fake buffers involved)
* add the script for Sonic Advance
2019-11-23 12:27:14 +03:00
adelikat 5c674e5f8f Watch UI classes - some cleanups, mostly C#7isms 2019-10-27 18:02:06 -05:00
YoshiRulz 0840687d4e
Allow disabling frame skip from Lua (resolves #1655) 2019-09-02 15:20:09 +10:00
adelikat 8132afec8b
Merge pull request #1536 from Ashafix/sleep
Added sleep functions for Lua to client module (resolves #1177)
2019-04-12 12:51:25 -05:00
Ashafix 598723266e added sleep functions for Lua to client module 2019-04-12 19:03:14 +02:00
zeromus 41c57e5217 fix repeating sound buffer when calling client.SetSoundOn 2019-04-08 16:09:26 -04:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
adelikat 12c11eec5d lua method - client.getconfig(), returns the current config object, note that you can actually use this to set primitive config values, do so at your own risk 2018-12-01 09:20:08 -06:00
Asnivor 3e8326da50 Lua: client.getversion() - #1314
fix #1271
2018-09-10 19:24:36 +03:00
zeromus 0a18040aff remove pointless redundant function name from LuaMethodExampleAttributes 2018-03-13 21:05:30 -04:00
Azreal 6032063518 Now looks good :) 2018-03-10 03:00:44 -08:00
Xadrophonix d91bd35a95 Second pool of examples. 2018-03-04 14:07:06 -08:00
Masterjun 605ca5816a Lua: fix client.openrom 2018-03-01 01:06:15 +01:00
vadosnaprimer eea6740722 lua: client.isturbo() and client.isseeking() 2018-01-06 13:30:47 +03:00
adelikat 9581ce6a93 rename LuaMethodAttributes to LuaMethodAttribute so as not to be a bad person 2017-07-10 14:02:08 -05:00
adelikat 5781746251 Lua - use the proper Log method in some lua libraries 2017-07-10 11:24:32 -05:00
zeromus 3417453b43 use NLua+KopiLua instead of LuaInterface 2017-07-09 23:51:02 -05:00
adelikat f81f745fcc Some luaconsole refactoring and moving more logic into LuaImp 2017-05-24 15:59:05 -05:00
adelikat a6414ff05c Mainform cleanup round 2 2017-05-22 14:23:13 -05:00
adelikat 31e68a38f9 Cleanup EmuHawk lua library code 2017-05-19 09:47:18 -05:00
adelikat 7f269d25df Make lua library dependent services private 2017-05-19 08:58:23 -05:00
zeromus ac767a2acc clarification to the saveram flushing system 2017-05-06 17:50:36 -05:00
shanehoman 58e1b52369 expose MainForm.SaveRam() method to lua 2017-04-02 23:12:38 -07: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
adelikat e99bc9ba41 use the Emulator property instead of Global.Emulator in some lua library files 2016-12-04 12:37:29 -06:00
Isotarge 5a20a520bd Tools: Ram -> RAM #669 2016-07-22 01:32:54 +09:30
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
adelikat 8168031bed Make TargetZoomFactor a per systemId setting 2016-01-31 21:05:08 -05:00
adelikat b6406fe523 lua - client.displaymessages() 2016-01-30 12:08:37 -05:00
zeromus 260ad45a88 fix lua's reboot_core function... maybe 2015-12-19 21:14:13 -06: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
zeromus 283cb4ae50 fix loading of roms from commandline 2015-11-12 17:47:39 -06: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 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 d0f56ac98d lua - add client.SetGameExtraPadding(left,top,right,bottom) 2015-08-09 13:57:45 -05:00
adelikat ad821c90d5 lua - implement client.exit() 2015-07-31 18:44:53 -04: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