Commit Graph

145 Commits

Author SHA1 Message Date
adelikat 1c179da80c MemoryCallback System - another refinement, make an IMemoryCallback and make that the argument for add methods 2014-12-07 19:09:36 +00:00
adelikat 2d1a43dc65 MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result 2014-12-07 18:53:56 +00:00
pjgat09 c2096d9a30 Lua: Fixed a bug with analog controls not being cleared 2014-12-07 07:39:01 +00:00
adelikat 0b84beec88 Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core 2014-12-05 01:56:45 +00:00
adelikat 11a8a009c5 AsDebuggable() 2014-12-05 01:01:58 +00:00
adelikat f5cc38c9cd AsInputPollable() 2014-12-05 00:59:00 +00:00
adelikat 04f9081943 in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow 2014-12-05 00:32:29 +00:00
adelikat a07263c04e Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem 2014-12-04 00:43:12 +00:00
adelikat a83d714c42 Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable 2014-11-30 20:29:30 +00:00
adelikat a932cef662 Add a description attribute for EmulatorLuaLibrary 2014-11-08 14:08:32 +00:00
scepheo 28f21e1775 Lua:
- LoadState through Lua isn't counted for movie RerecordCount.
 - Added movie.setrerecordcount and movie.getrerecordcount for people who really want to count their bot loadstates.
2014-10-20 20:31:31 +00:00
jlennox a64017366c Create ISettable<T,T2>/ISettable interfaces. This checkin has not been extensively tested. 2014-10-19 01:22:47 +00:00
jlennox 01a994fe9c Break IDebuggable off from IEmulator 2014-10-18 22:13:25 +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 d003be9cda remove some todos, I decided not to do any of them, it is too pedantic to do them 2014-09-01 19:07:05 +00:00
adelikat 5ba74c631c Remove MemoryDomains from IEmulator into a new Interface, IMemoryDomains, Add this interface to existing cores, except null emulator (and removed memory domain related code from it). Refactored EmuHawk for ram tools to use an instance of IMemoryDomains rather than IEmulator, don't expose ram tools unless the core implements IMemoryDomains. Still a few misc todos, and probably some cleanup 2014-09-01 18:43:41 +00:00
gochaism 6e01ca1808 Lua: Add bit.arshift for arithmetic right-shift. 2014-08-14 01:49:28 +00:00
adelikat 9644c3d29f Lua - memory library - populate the default memory with the MainMemory defined for that core, as opposed to null, which results in silent crashes 2014-07-14 16:24:28 +00:00
adelikat e475edc3c6 Lua - joypad.setfrommnemonicstr() - catch errors and log to the lua console the error instead of killing the script 2014-06-29 13:40:49 +00:00
adelikat 055e88fea3 Remove Fps from IMovie 2014-06-29 00:48:36 +00:00
adelikat 19feaaa3ba Remove some more usages of IMovie.GetInput() 2014-06-19 00:37:42 +00:00
adelikat 9a16540e14 Movie 2.0 - simplify some code 2014-06-18 19:34:27 +00:00
adelikat 6133164a7f Add GetInputState() to IMovie that returns an IController representing a frame of input and replace a lua method to use this instead of getting the inputlog as a string and processing it, still todo: obsolete the GetInput() method 2014-06-18 02:26:22 +00:00
adelikat 6b73891a91 More bk2 progress 2014-06-15 14:44:26 +00:00
adelikat c807e27496 Some movie code reorg and cleanup 2014-06-15 13:03:24 +00:00
adelikat df19bc3a38 slight fix to wiki lua documentation 2014-06-14 17:04:54 +00:00
adelikat a682c667dd Nuke IMovieHeader, put necessary methods into IMovie instead, and some todos on trouble spots for movie 2.0 2014-06-11 01:41:41 +00:00
goyuken fb026ccb3c support looah emu setrenderplanes for quicknes (sp only, not bg) and wonderswan (fully supported) 2014-06-10 20:41:20 +00:00
adelikat e4a12c58bc for Developer builds - Lua functions list - a ToTASVideosWikiMarkup button that copies to clipboard 2014-06-05 00:23:05 +00:00
adelikat 5e2bd8a927 lua documentation - show optional parameters as optional, and show default values 2014-06-04 01:23:50 +00:00
adelikat 83671539d1 LuaDocumentation - some simplifying of code 2014-06-04 00:22:44 +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 ba4e7d620b Refactor the LuaDocumentation class to remove a bunch of unnecessary stuff 2014-06-03 00:34:41 +00:00
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