adelikat
9757709242
Lua - check if memory callbacks are implemented before attempting to remove memory callbacks
2015-01-27 21:48:18 +00:00
adelikat
8246de14aa
IMemoryCallbackSystem - add a flag to indicate whether execute callbacks are available, in lua and the debugger, take this flag into account, also improve some availability checking in Lua memory callbacks. Flag N64 as not having execute callbacks available
2015-01-25 22:14:58 +00:00
adelikat
0d54298f02
Lua - memory domain - if a domain isn't writable, error when attempting to write to it
2015-01-25 20:20:43 +00:00
adelikat
779d7c0cee
Lua - memory library - default to main memory if user did not specify a domain
2015-01-24 21:33:52 +00:00
adelikat
12c3cb0b40
oops, and that todo
2015-01-18 17:28:26 +00:00
adelikat
71438b2de6
remove a todo
2015-01-18 17:28:02 +00:00
adelikat
91ffc17aae
Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work
2015-01-18 15:25:47 +00:00
adelikat
fbdb29b64c
refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one
2015-01-14 21:55:48 +00:00
adelikat
9358e24213
IMemoryDomainList - downgrade from IList to IEnumerable, refactor a spot that needed something more than that
2015-01-14 00:34:50 +00:00
adelikat
418d80b0e8
Lua - Memory library - simplify some code
2015-01-14 00:25:25 +00:00
adelikat
d62ba4e2b4
Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code
2015-01-13 22:18:07 +00:00
adelikat
6f4b01417f
Lua - convert SNES library to service injection system
2015-01-01 20:37:31 +00:00
adelikat
01019686cf
lua - convert memory libraries to use service injection
2015-01-01 20:19:20 +00:00
adelikat
b6e33d010a
Lua - gameinfo library - convert to using service injection
2015-01-01 20:08:03 +00:00
adelikat
f6c2b4e897
Lua - event library - convert to service injection system, fix OnInputPoll() to return a GUID like every other event
2015-01-01 20:01:37 +00:00
adelikat
58616ff001
lua - Emu library - convert to service injection model, fix emu.getregister(s) that was broken when refactoring core methods for better debugger support
2015-01-01 19:52:53 +00:00
adelikat
7bebb66589
IDebuggable - refactor GetCpuFlagsAndRegisters to be IDictionary<string, Register> where Register is a value and a bitsize
2014-12-20 03:19:33 +00:00
goyuken
cfaf59f887
lua: internal infrsatructure changes to nes library
2014-12-17 23:03:58 +00:00
goyuken
ea47246658
remove the IEmulator inheritance from some services, and fix code as needed
2014-12-15 22:25:06 +00:00
adelikat
45809ab73f
move an attribute in Wonderswan core that was on the constructor on accident, added an AttributeTargets attribute on it that would have caught such an error, add AttributeTargets on some other attributes to help clarify their usage
2014-12-13 02:31:31 +00:00
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
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