Commit Graph

376 Commits

Author SHA1 Message Date
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
James Groom 3099a11a04
Merge branch 'master' into lua-via-apihawk 2019-12-14 16:17:14 +00:00
YoshiRulz 3f9b51f565
Partially revert #1754, add event.onmemoryexecuteany 2019-12-14 16:47:29 +10: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 5e73c7c536 lua - update memory documentation to mention it defaults to system bus, fixes #1675 2019-12-02 20:48:38 -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
YoshiRulz b678e19041
Merge LuaMemoryBase into MainMemoryLuaLibrary 2019-11-30 23:33:46 +10:00
YoshiRulz 7d99071ac5 Migrate MemoryLuaLibrary to ApiHawk delegation
`memory.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
`memory.readbyterange` which incorrectly claim the returned table uses the
memory addresses as keys i.e. addr..(addr+length) - it was and remains
0..length. `memory.write_u8` will now check the specified domain's length and
not erroneously check the selected domain's length.
2019-11-30 23:32:09 +10:00
YoshiRulz b2676bce68 Copy LuaMemoryBase and merge copy into MemoryLuaLibrary 2019-11-30 23:32:09 +10:00
YoshiRulz 1042f746f4 Migrate JoypadLuaLibrary to ApiHawk delegation
`joypad.getimmediate()` now returns float controls as well as bools
2019-11-30 23:32:09 +10:00
YoshiRulz f4a229888f Migrate UserDataLibrary to ApiHawk delegation 2019-11-30 23:32:09 +10:00
YoshiRulz 4a84e1a8a9
Migrate MovieLuaLibrary to ApiHawk delegation 2019-11-30 23:32:00 +10:00
YoshiRulz bd7dfbd487 Migrate MemorySavestateEmuLuaLibrary to ApiHawk delegation 2019-11-30 23:31:23 +10:00
YoshiRulz 8da543b1a5
Migrate EmulatorLuaLibrary to ApiHawk delegation
`emu.setrenderplanes(bool...)` now works when using BSNES or Genplus-gx
2019-11-30 23:31:18 +10:00
YoshiRulz e39e083c13
Migrate GameInfoLuaLibrary to ApiHawk delegation 2019-11-30 23:29:09 +10:00
YoshiRulz 0bea6032ab
Migrate SQLLuaLibrary to ApiHawk delegation 2019-11-30 23:27:14 +10:00
YoshiRulz 8ce403dab2
Mirror cleanup from 7aa170283 onto the C# APIs
also fixed VS' stupid comma placement and added a "using" in SqlLuaLibrary
2019-11-30 23:18:26 +10:00
adelikat 7aa170283e cleanup some lua files 2019-11-29 16:35:21 -06:00
adelikat 50cad2067f Lua - when removing registered functions, remove functions reigstered to a script of the same path (or the same thread) 2019-11-29 15:11:40 -06:00
adelikat f36d69e6b0 cleanup LuaFileList 2019-11-29 15:10:58 -06:00
adelikat d757b8e64f Refactor a lot of lua code to use a LuaFile object instead of a Lua object, and unify some luafile manipulation logic into methods 2019-11-29 15:02:40 -06:00
adelikat 84d9419637 LuaLibraryBase - a bit of cleanup 2019-11-29 12:40:14 -06:00
adelikat c9d34ca828 minor cleanup 2019-11-29 10:16:48 -06:00
adelikat ce2a7b1612 EmuLuaLibrary.Events - cleanup 2019-11-29 10:14:07 -06:00
adelikat a0ba2189af lua events library - remove N64 dynarec checks since we don't have the dynarec core anymore 2019-11-29 10:03:35 -06:00
YoshiRulz a7ffdd948e
Add DelegatingLuaLibrary and set up ApiHawk instantiation 2019-11-16 17:19:04 +10:00
YoshiRulz 27b2d1b6ad
Mirror cleanup from cf4dd6770 onto the Lua APIs 2019-11-16 16:52:32 +10:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
adelikat 942d9fc75e Simplify OS checks with some helpful methods 2019-11-03 16:04:42 -06:00
adelikat d6972d1252 Lua Console - use InputRolle, fix all kinds of bugs with using Separators 2019-10-19 09:50:21 -05:00
James Groom 90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
squashed PR #1591
2019-10-13 15:50:57 +00:00
adelikat 41d9d2da4d fix a warning, and fix the name of a variable nearby 2019-06-28 14:34:18 -05:00
Brian Armstrong 2c6ecb68bd Merge branch 'master' into brian/mem_callback_addr_value 2019-06-06 02:11:04 -07:00
Brian Armstrong d41bd867b8 flags 2019-06-06 02:04:47 -07:00
YoshiRulz 35056ae2d9
Remove #if WINDOWS, using runtime check where applicable 2019-05-18 20:17:02 +10:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz 9d0ee22885
Use string interpolation 2019-03-20 15:01:12 +10:00
Brian Armstrong a8f293eec8 Call mem callbacks with addr, value 2019-01-24 03:23:21 -08:00
feos ce3e3d2ed3 lua docs: couple hints 2019-01-23 15:42:02 +03:00
upthorn efc6f73169 Merge branch 'PluginDev' 2018-12-22 10:43:12 -08:00
Asnivor eee1cb481c
Fix Lua documentation - #1389 2018-12-08 08:47:17 +00:00
upthorn cdb205e696 Initial API Work 2018-08-31 21:21:34 -07:00
feos 03b3ea0b2f triple cast, but we don't have to cast to string to fetch ARGB 2018-06-22 23:15:35 +03:00
feos 8a2ee98bea fix #1221
can this also close #1222 I wonder?
2018-06-22 20:27:28 +03:00
adelikat e650f14d24 Lua functions docs to wiki - escape braces on optional params 2018-05-19 16:28:20 -05:00
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -04:00
zeromus 0a18040aff remove pointless redundant function name from LuaMethodExampleAttributes 2018-03-13 21:05:30 -04:00
zeromus 205714df95 cleanup #1122 -related lua examples documentation stuff 2018-03-13 21:04:34 -04:00
zeromus 96a13e64f7 why in the world would you use negative values for example bitshift RHS operands? 2018-03-13 20:57:54 -04:00
zeromus 2203270868 Merge remote-tracking branch 'remotes/origin/pr/1131'' 2018-03-13 20:37:48 -04:00
Azreal 6032063518 Now looks good :) 2018-03-10 03:00:44 -08:00
Azreal c4b2aba6bd Fixed some bad cases! 2018-03-10 02:43:58 -08:00
feos 900a9e5322 lua: let user know which lua core is in use 2018-03-08 23:44:42 +03:00
Xadrophonix d91bd35a95 Second pool of examples. 2018-03-04 14:07:06 -08:00
Xadrophonix 07c07fd72a First pool of examples. 2018-03-04 09:48:38 -08:00
Udo Held 036a3d321a Fix for #1094 lua mainmemory.readbyterange() issue 2018-01-14 11:18:07 +11:00
adelikat ebcd237858 Merge branch 'master' into domainedmemoryhooks 2017-10-29 12:38:29 -05:00
Tastyfish fef2c131f8 Adds memory.hash_region to aid in detecting RAM changes 2017-10-25 21:12:31 -04:00
adelikat 04ce66c397 phase 1 of changing memory callback api to specify domain - require cores to specify which domains are available and have the domain passed in when creating callbacks. Still todo - cores need to pass in domain name on CallReads/Writes/Executes methods 2017-08-01 22:05:17 -05:00
zeromus d5770fb8a3 re-apply "keepalive" GC fixes to luainterface mode in emuhawk; maybe it will actually work now and not result in crashes. at least we should check it. 2017-07-22 23:41:30 -05:00
nattthebear abc894da93 meh 2017-07-16 07:38:52 -04:00
zeromus afda5dbb62 set a value in the switchable lua library to indicate whether it's NLua or LuaInterface; effectively undo 8bc067cbbe for LuaInterface 2017-07-15 16:36:18 -05:00
adelikat 875597ec24 remove movie.rerecordcount that has been deprecated for a long time now 2017-07-11 08:01:41 -05:00
adelikat 597708765a Lua canvas - use LuaMethodAttribute (if available) when registering canvas methods, also fix casing of a few methods for consistency, fixes #908 2017-07-10 14:59:05 -05:00
adelikat 9581ce6a93 rename LuaMethodAttributes to LuaMethodAttribute so as not to be a bad person 2017-07-10 14:02:08 -05:00
zeromus 3417453b43 use NLua+KopiLua instead of LuaInterface 2017-07-09 23:51:02 -05:00
adelikat e604406f41 fix description of the SQL lua library 2017-06-27 20:26:16 -05:00
wert23239 6cc06fc898 Small spelling mistake 2017-06-26 19:53:53 -04:00
wert23239 d85ef21899 "Added SQLite Calls to Lua 2017-06-26 19:48:42 -04:00
zeromus eec9c54236 comment out all dynarec related things 2017-06-11 17:24:32 -05:00
adelikat 43cb50d5c3 Misc cleanups in Client.Common 2017-05-19 13:17:07 -05:00
adelikat 7f269d25df Make lua library dependent services private 2017-05-19 08:58:23 -05:00
adelikat 75affd8940 Lua console code cleanup 2017-05-18 14:53:03 -05:00
adelikat 4c48542b98 fix null reference exception when LuaSandbox attempts to use the Logger 2017-05-18 14:27:22 -05:00
adelikat 70baf9d306 Client.Common cleanups 2017-05-18 11:36:38 -05:00
adelikat 2a54517b52 more misc Client.Common cleanups 2017-05-17 13:18:26 -05:00
adelikat dfea029fe4 Misc cleanups in Client.Common, documentation fixes 2017-05-17 11:16:55 -05:00
adelikat 91fb593ea1 lua - implement emu.getboardname() 2017-05-12 15:18:43 -05:00
adelikat 429b066955 Client.Common - remove various redundant codez 2017-05-10 13:37:04 -05:00
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 e0985465b6 misc Client.Common code cleanups 2017-05-09 13:19:55 -05:00
adelikat e839a1c163 Add lua canvas methods to documentation 2017-05-07 16:33:48 -05:00
J.D. Purcell 8b2b12585a Mostly whitespace cleanup to reduce difference with mono-portable branch. 2017-05-02 23:09:50 -04:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat b6f335e4c8 misc code cleanups in BizHawk.Client.Common 2017-04-14 14:59:01 -05:00
adelikat fc59710dab some code cleanup, mostly introducing C#6isms, also add a customized resharper+stylecop settings file in case anyone is using resharper 2017-04-10 10:30:05 -05:00
adelikat 6ae8a88658 remove some debugging junko 2017-02-11 13:41:25 -06:00
adelikat 86c74305e4 lua console - when toggling a script on, behave the same as if you loaded it. It should run immediately, not on the next frame 2017-02-03 16:31:38 -06:00
adelikat ab1a22bf31 add TotalExecutedCycles as an IDebuggable property, and implement it in cores with the information readily available (and throw NotImplementedExecptions in the remaining). wire the property up to lua with emu.totalexecutedcycles(). Stil todo - wire it up to the Debugger gui 2017-01-09 19:23:05 -06:00
adelikat 2059558771 Lua - fix emu.getdisplaytype() that has been broken for a long time, also fix it to properly use the IEmulatorService system instead of reflection shenanigans 2016-12-15 13:09:52 -06:00
adelikat 2d9213c379 IController - Remove the indexer property and refactor code accordingly, also simplify and cleanup many of the IController implementations 2016-12-14 14:12:16 -06:00
adelikat e94de78ebd Lua - fix movie.getinput() to return float values instead of passing "False" no matter what 2016-12-14 13:22:01 -06:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00