Difference between revisions of "NET:Lavish.InnerSpace.dll"
m (→InnerSpace) |
|||
Line 7: | Line 7: | ||
=== InnerSpace === | === InnerSpace === | ||
* static public void [[NET:InnerSpaceAPI.InnerSpace.Echo|Echo]]([In] string Output); | * static public void [[NET:InnerSpaceAPI.InnerSpace.Echo|Echo]]([In] string Output); | ||
− | * static public uint [[NET:InnerSpaceAPI.InnerSpace.GetBuildNumber| | + | * static public uint [[NET:InnerSpaceAPI.InnerSpace.BuildNumber|GetBuildNumber]]; |
+ | * static public string [[NET:InnerSpaceAPI.InnerSpace.Path|Path]]; | ||
* static public T [[NET:InnerSpaceAPI.InnerSpace.GetArg|GetArg]]<T>(uint arg, uint argv) | * static public T [[NET:InnerSpaceAPI.InnerSpace.GetArg|GetArg]]<T>(uint arg, uint argv) | ||
Latest revision as of 17:33, 25 September 2008
Contents
Overview
All Inner Space bootstrapped API are designed to be used along with, and similar to most .NET API (e.g. System). The major difference is that System uses a namespace tree, whereas Inner Space's API sets each presently consist of one namespace, with a tree of classes containing static functions. The present API will later be complemented with wrapper classes.
Reference Lavish.InnerSpace.dll to use the API described on this page. When used outside of Inner Space, all API are stubs that will generally do nothing or return a failure code. Exceptions are not thrown. To detect whether the application is loaded via Inner Space, check InnerSpace.GetBuildNumber(), which will be 0 if not loaded.
InnerSpaceAPI namespace
InnerSpace
- static public void Echo([In] string Output);
- static public uint GetBuildNumber;
- static public string Path;
- static public T GetArg<T>(uint arg, uint argv)
InnerSpace.Input
Inner Space virtualizes application input, such that all input can be emulated regardless of the application's active (or inactive) state. All input devices supporting DirectInput, in addition to G15 G-Keys (and M-keys, but not changing the light at this time -- sorry! G15 LCD would be an output topic, so that does not belong in Input.) are supported.
Keyboard Emulation
- Not yet implemented
- static public bool KeyPress([In] string Combo, [In] bool Hold);
- static public bool KeyRelease([In] string Combo);
- static public bool Type([In] string Text);
Mouse Emulation
- Not yet implemented
- static public bool MousePress([In] uint Button, [In] bool Hold);
- static public bool MouseRelease([In] uint Button);
- static public bool MouseTo([In] int X, [In] int Y);
- static public bool GetMousePos([Out] int X, [Out] int Y);
- static public bool MouseWheel([In] int Offset);
- static public bool IsPendingInput();
- static public uint GetVKeyName([In]int VKey, StringBuilder buf, [In]uint buflen);
Device-specific Input
- Not yet implemented
- static public bool GetDeviceByName([In] string Name, [Out] uint DeviceID);
- static public bool GetDeviceName([In] uint DeviceID, StringBuilder buf, [In]uint buflen);
- static public bool GetInputByName([In] uint DeviceID, [In] string Name, [Out] uint InputID);
- static public bool GetInputName([In] uint DeviceID, [In] uint InputID, StringBuilder buf, [In]uint buflen);
- static public bool EnumDevices([In]DeviceEnum Callback, [In] IntPtr pData);
- static public bool EnumInputs([In] uint DeviceID, [In]InputEnum Callback, [In] IntPtr pData);
- static public bool SetInputState([In] uint DeviceID, [In] uint InputID, [In]float Position);
- static public bool GetInputState([In] uint DeviceID, [In] uint InputID, [Out]float Position);
- static public bool Press([In] uint DeviceID,[In] uint ButtonID);
- static public bool Release([In] uint DeviceID,[In] uint ButtonID);
InnerSpace.Memory
InnerSpace.Memory is a mechanism for using memory protection services to hide memory modifications from anti-cheat systems. As such, the original value is stored for later restoring the change to its original value. Memory protection services are implemented by extensions such as ISXEQ and ISXWarden to provide a common mechanism for modifying and protecting those modifications.
API
- Not yet implemented
- static public bool WriteMemory([In] uint BaseAddress, [In] byte[] Data, [In] uint Size);
- static public bool UnwriteMemory([In] uint BaseAddress);
LavishScriptAPI namespace
Delegates namespace
- public delegate int CommandTarget([In] string[] args);
LavishScript
- static public int ExecuteCommand([In] string Command);
- static public int ExecuteCommandEx([In] string Command, [In] params string[] args);
- static public bool DataParse<T>([In] string ToParse, ref T obj);
LavishScript.Events
- static public uint RegisterEvent([In] string Name);
- static public bool ExecuteEvent([In] uint EventID, [In] params string[] args);
- static public bool DetachEventTarget([In] uint EventID, [In] System.EventHandler<LSEventArgs> Target);
- static public bool AttachEventTarget([In] uint EventID, [In] System.EventHandler<LSEventArgs> Target);
LavishScript.Commands
- static public bool AddCommand([In] string Command, [In] CommandTarget Function);
- static public void RemoveCommand([In] string Command);
LavishScript.Objects
- static public LavishScriptObject GetObject(string Name)
- static public LavishScriptObject GetObject(string Name, params string[] indices)
- static public T GetObject<T>(string Name, params string[] indices)
- static public T GetObject<T>(string Name)
- static public LavishScriptObject NewObject([In] string Type)
- static public LavishScriptObject NewObject([In] string Type, [In] params string[] indices)
- static public LavishScriptPersistentObject GetPersistentObject(string Name)
- static public LavishScriptPersistentObject GetPersistentObject(string Name, params string[] indices)
LavishScript Objects
- LavishScriptAPI.LavishScriptObject - LavishScript object base
- LavishScriptAPI.LavishScriptIterator - LavishScript "iterator" type
- LavishScriptAPI.Point3f - LavishScript "point3f" type
- LavishScriptAPI.LavishScriptPersistentObject - Persistent LavishScript object base
LavishVMAPI namespace
LavishVM
- static public IntPtr GetAPI(string Library, string Name, uint Version);
Frame
- static public void Lock();
- static public void Unlock();
- static public bool TryLock();
- static public void LockExclusive();
- static public void UnlockExclusive();
- static public bool TryLockExclusive();
- static public void Wait([In] bool bLock);