Commit Graph

161 Commits

Author SHA1 Message Date
adelikat f72b13bed3 Lua - events.unregisterbyid() - strongly type guid to string since that's what the methods return that give guids back to the script 2014-06-02 01:05:51 +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 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 51660dd023 Add SetCpuRegister() to IEmulator. Implemented it in Atari 2600, 7800, C64, Neshawk, and technically dual gameboy (passes it to L and R where it will fail). The rest throw NotImplementedExceptions. Lua - add emu.setregister(), catches NotImplementedExceptions and informs the user. 2014-05-31 17:03:21 +00:00
adelikat 9a24539c10 Lua - catch NotImplementedException on emu.getregister(s) and warn the user that this particular core doesn't implement this feature yet. Also, put IEmulator extensions in their own namespace 2014-05-31 14:29:27 +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 6d981c73e1 Lua - fix joypad roundtrip testing 2014-05-24 03:24:05 +00:00
adelikat 667a96a277 Lua - combine common code in memory and mainmemory libraries into a base class, apply range checking to all methods, add memory.getsize() to match mainmemory method, fix a name bug in a memory 32bit method, clean up a bunch of things too 2014-05-23 23:19:20 +00:00
adelikat 6f296a5773 Lua - joypad.setfrommnemonicstr() - support the notion of pressing the analog stick for 1 frame, rather than sticky behavior 2014-05-21 03:25:41 +00:00
adelikat af9c462826 meh, null check some other bizstring library functions while I'm thinking about it 2014-05-21 02:12:27 +00:00
adelikat ac6c5e6b48 lua - nullcheck bizstring.split() 2014-05-21 02:05:26 +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 e1a5123dcf implement memory.readbyterange() and memory.writebyterange(), these were in the mainmemory library but how did they manage to never be implemented in the memory library? 2014-05-19 01:13:26 +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 b2feb39c11 Lua - implement joypad.setfrommnemonicstr() 2014-05-18 22:54:41 +00:00
adelikat d2bc1b89a3 Lua - implement movie.getinputasmnemonic() 2014-05-18 21:26:27 +00:00
adelikat 3d10d67fea Implement bizstring.split() 2014-05-18 21:06:16 +00:00
adelikat 8cf1d327e3 Lua - Fix typo, memory.write_u8 instead of a duplicate memory.write_s8 2014-05-06 17:29:52 +00:00
adelikat 76a4560ff9 Lua - emu.getsystemId - be consistent with movies 2014-05-03 02:28:12 +00:00
adelikat 07e2c9758f back out of 6464 2014-05-02 01:32:01 +00:00
adelikat d5a48614b7 Remove a now unused method 2014-05-01 17:11:05 +00:00
adelikat 06828f2484 Lua - convert emu.setrenderpanes to use params 2014-05-01 17:09:54 +00:00
adelikat f2c5b4eeb4 fix to emu.setrenderpanes 2014-05-01 12:06:54 +00:00
adelikat 04aa023cb9 Fix joypad.Set() when using the controller number parameter, also strongly type that parameter to nullable int instead of object, add a unit test lua script that tests for this 2014-04-22 21:55:04 +00:00
adelikat 67704b35bf Lua Console - dont' flag changes when change the on/off status of a script as that leads to being nagged too much (for instance, toggling a lua script at any time during recording and then restarting your movie). Remember the file name when creating a new session as to do a Save As during AskSave() 2014-04-22 21:35:04 +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
adelikat 47f33b522f Lua - support quicknes in nes library 2014-04-22 01:38:19 +00:00
adelikat ed7ce61234 Lua - joypad.get() strongly type the controller parameter to nullable int 2014-04-13 18:46:06 +00:00
adelikat d5d84943fa meh, slight tweak to that commit 2014-04-13 14:24:38 +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
beirich c3e0d8824c zero warnings! 2014-04-08 02:25:46 +00:00
adelikat 42ff4c072c Lua - Fix joypad.set() 2014-03-29 21:12:04 +00:00
adelikat b93c1414c1 A fix to joypad.set() - passing null will clear a button 2014-03-27 01:21:05 +00:00
adelikat 51f480901b a slight cleanup of the JoyPad.Set method to make it not so annoying to understand 2014-03-27 00:53:22 +00:00
adelikat 00c243212d Lua - rename the string library to bizstring because it was eating the built in lua string library. Fix M64_reader that was using now deleted/renamed functions 2014-03-26 22:30:48 +00:00
adelikat 8ac9f7d2dd Lua Console - try to use relative paths when saving and loading lua scripts 2014-03-23 14:44:18 +00:00
adelikat 0a0f144aa8 Lua - Bit library - fix support for uint values 2014-03-01 15:04:19 +00:00
mvl1986 17f17a02fd Added the display of tooltips for all the methods that are in the lualibraries
-MightyMar
2014-02-12 13:28:48 +00:00
adelikat 23f7017651 Some code cleanup tinkerings in Client.Common 2014-02-03 20:48:01 +00:00
adelikat 364c2367ea Hex Editor - refactor to use ToolDialogSettings Add floating window option 2014-01-30 03:10:17 +00:00
adelikat 7417ea7b8f Lua - more documentation and more strong typing of parameters, more fixups to display of parameter types in the Lua functions list 2014-01-27 03:16:05 +00:00
adelikat ce9f282d67 Lua - clean up a lot of params by making them strongly typed numbers instead of object, and simplify a lot of logic as a result 2014-01-27 01:15:56 +00:00
adelikat 157f092aa2 Lua clean up Bit and Client libraries by using strongly typed numbers as a proof of concept that we can 2014-01-26 20:36:00 +00:00
pasky1382 c6811542fa Added a couple lua descriptions 2014-01-26 20:05:56 +00:00
adelikat 853c82d111 Lua Functions list - make params look pretty, including strongly typed variables when possible 2014-01-26 20:05:45 +00:00
adelikat 70feebf229 Add documentation to as many lua function as I can sanely do in one sitting 2014-01-26 18:36:27 +00:00
adelikat 91fdad9d45 LUa - whack now unused code 2014-01-26 16:21:20 +00:00
adelikat bce8320b85 Lua - new Register method on some more libraries 2014-01-26 13:30:45 +00:00
adelikat 583be2516c Lua - new registration system added to NES and SNES libraries 2014-01-26 03:26:52 +00:00
adelikat ac9e4c1d3d Lua - same to movie library 2014-01-26 02:50:26 +00:00
adelikat 988ed03198 ditto for Memory library 2014-01-26 02:43:28 +00:00
adelikat 94d20e92f4 Lua - new register system for Main Memory library and a bunch of cleanup for that lib 2014-01-26 01:48:32 +00:00
adelikat c6859a6d4f Lua ditto for joypad library and slight fix documentation 2014-01-26 00:01:40 +00:00
adelikat ee79c55009 oops, forgot to add this new file 2014-01-25 21:46:20 +00:00
adelikat c66e529fb7 lua - ditto to Events library 2014-01-25 21:37:25 +00:00
adelikat 65d50ca329 Lua - refactor emu library to use the new registration method, documentation is all "TODO" 2014-01-25 21:10:51 +00:00
adelikat 06c0417f96 some Lua documentation related cleanup and support column sorting on Description in Lua Functions list 2014-01-25 20:27:51 +00:00
adelikat e22227160d show descriptions in Lua functions list 2014-01-25 20:04:26 +00:00
adelikat ee1cea5d08 Lua - even better way to build lua libraries, now methods will have attributes for the name, and description of each method. Someone needs to put in descriptions now. Bit library is the only one done as of this commit 2014-01-25 19:49:29 +00:00
adelikat 4701b319be Lua - add a new way to do reflection to get method names, now the function list simply needs to match the method name, and the method name does not need to redundantly specificy the library name. Only the Bit library hooked up currenlty. 2014-01-25 15:05:53 +00:00
pasky1382 4012f93f31 Added bit.clear() bit.set() to lua, and LuaULong() 2014-01-21 17:28:54 +00:00
pasky1382 033620a478 Cleanup and added byteswapping functions for lua. 2014-01-20 17:38:31 +00:00
pasky1382 bff34dd379 Cleanup. 2014-01-20 17:15:30 +00:00
pasky1382 90d8aedbd5 forgot a function. 2014-01-20 17:07:48 +00:00
pasky1382 08504fc25a Added more string lua functions 2014-01-20 17:06:09 +00:00
pasky1382 83591cda67 Oops 2014-01-20 15:26:44 +00:00
pasky1382 1a0e98b7ad Lua bit.checkbit() function, returns if a specified bit is on/off. 2014-01-19 17:42:21 +00:00
pasky1382 2d169cdb7d added LuaLong function 2014-01-19 16:58:21 +00:00
adelikat 983346af38 support quicknes in lua nes.addgamegenie() and nes.removegamegenie() 2014-01-07 01:43:31 +00:00
zeromus 436881beaf lua: better typecasting for LuaInt and LuaUInt that doesnt throw overflow exceptions; and, render to a null image when the lua script manager Resume process hasnt begun (setting up a render target) but lua scripts run (due to loadstate, for example) 2013-12-30 16:36:15 +00:00
goyuken a1c0a1956b fix compile error 2013-12-30 02:42:00 +00:00
adelikat 7482cfdc5e a round of code cleanup in Client.Common 2013-12-30 01:58:44 +00:00
goyuken 75d39ac60f SNES: connect to new settings system.. everything should work? 2013-12-27 17:59:19 +00:00
goyuken bdfbafdfca SMS: support new settings infrastructure. this adds enableFM and allowOverclock as sync relevant settings for movie files (but of course, they won't end up in Movie 1.0 files) 2013-12-24 01:06:17 +00:00
goyuken a5cdee3780 pce: connect to new settings system 2013-12-22 05:58:24 +00:00
goyuken bd205f47dc update our newtonsoft json.net to version 5.0 release 8. this fixes up abstract class handling so that the CoreSettings can work correctly.
tweak Binding, RecentFiles, and PathEntry to work with the new serializer.  on updating to this revision, you should be able to keep all config.ini settings except for hotkey bindings, path layouts, and recent files list.
start implementation of new CoreSettings and CoreSyncSettings.  at the moment, it's only partially done for NES.
2013-12-22 00:44:39 +00:00
adelikat b2b8edb319 Fix removing of registered functions via Lua console 2013-12-19 01:02:50 +00:00
adelikat b7d553cb4e Move the readonly flag from Global to MovieSession 2013-12-03 18:08:45 +00:00
adelikat 0e6473987b Remove Rerecords from IMovie since it is a part of IHeader, therefore redundant and conceptually inappropriate. Also some low hanging fruit on implementing TasMovie.cs 2013-12-02 17:50:29 +00:00
adelikat e686e595b9 Refactor use of Movie Frame count - also fix play movie to show infinite movie's frame count as "Infinity" 2013-11-30 03:10:05 +00:00
adelikat 788aea970e Lua Console - when removing a script, remove its registered function. Currently however, this behavior will only happen if the script is currently running. If you disable it and then remove it, the functions remain. 2013-11-26 01:21:24 +00:00
adelikat 3d48a0b39e Lua Console - fix behavior of Save Changes nag, fix deleting of items 2013-11-25 23:38:10 +00:00
adelikat 5bbed4a58f Fix behavior of Movie Up/Down in tool dialogs 2013-11-25 23:24:26 +00:00
adelikat 92c34c8c2d Refactor Lua Console code to move most of the logic to a custom LuaFile list object. Also fix number of bugs in the process 2013-11-25 21:01:38 +00:00
adelikat 7b244cc87c Lua Console - a round of code cleanup. Some small fixes happened as a result of this cleanup 2013-11-25 00:44:18 +00:00
adelikat c076931d0c clean up NES namespace 2013-11-14 13:15:41 +00:00
adelikat 9266cafd2a Another round of BizHawk.Emulation namespace changes 2013-11-13 23:36:21 +00:00
adelikat 5d65b0ef77 implement Lua - event.onmemoryexecute(), currently only works with the NES core 2013-11-12 01:51:07 +00:00
adelikat fb78215590 Lua - Implement emu.getregister() and emu.getregisters(). Only implemented in NESHawk right now 2013-11-11 03:20:33 +00:00
adelikat 2e51e7ad4f Registered Lua Functions dialog - fix so Remove removes MemoryRead/Write events, add a Remove All button 2013-11-10 21:56:02 +00:00
adelikat e7a481e6c4 Lua - OnMemoryRead() and OnMemoryWrite() - support multiple events, hook to the registered functions system, add ability to name function, return a GUID. 2013-11-10 21:20:55 +00:00
adelikat ded77beb65 Lua - OnInputPoll() - hooked up to the registered lua functions system 2013-11-10 19:19:58 +00:00
adelikat ea24f236fb Lua - event.OnInputPoll() - allow multiple functions to be registered 2013-11-10 18:15:32 +00:00
adelikat 1061add64f Refactor MemoryDomains in IEmulator, make a MemoryDomainsList object rather than IList<MemoryDomain>, remove MainMemory from IEmulator and make it a property of this new collection object, also add indexing by name. Refactor cores and tools as needed 2013-11-06 02:15:29 +00:00
adelikat 56cb2ba538 Refactor CheatList and Cheats to have changed event handlers, and have the client wire up an event handler to update all the relevant dialogs. 2013-11-04 15:52:59 +00:00
adelikat be547db4a1 Move MemoryDomain to its own file, and move the Endian enum into it, also clean up the class a bit, and refactor things as necessary 2013-11-04 02:11:40 +00:00