Difference between revisions of "NET:Lavish.InnerSpace.dll"

From Lavish Software Wiki
Jump to navigation Jump to search
 
(24 intermediate revisions by one other user not shown)
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|GetBuildNumber]]();
+
* static public uint [[NET:InnerSpaceAPI.InnerSpace.BuildNumber|GetBuildNumber]];
* static public uint [[NET:InnerSpaceAPI.InnerSpace.RealGetArg|RealGetArg]](uint Arg, StringBuilder buf, int buflen, uint argv);
+
* 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)
  
Line 51: Line 51:
  
 
== LavishScriptAPI namespace ==
 
== LavishScriptAPI namespace ==
 +
=== Delegates namespace ===
 +
*public delegate int [[NET:LavishScriptAPI.Delegates.CommandTarget|CommandTarget]]([In] string[] args);
 +
 
=== LavishScript ===
 
=== LavishScript ===
 
*static public int [[NET:LavishScriptAPI.LavishScript.ExecuteCommand|ExecuteCommand]]([In] string Command);
 
*static public int [[NET:LavishScriptAPI.LavishScript.ExecuteCommand|ExecuteCommand]]([In] string Command);
*static public int [[NET:LavishScriptAPI.LavishScript.RealDataParse|RealDataParse]]([In] string ToParse, StringBuilder buf, [In] int buflen);
+
*static public int [[NET:LavishScriptAPI.LavishScript.ExecuteCommandEx|ExecuteCommandEx]]([In] string Command, [In] params string[] args);
 
*static public bool [[NET:LavishScriptAPI.LavishScript.DataParse|DataParse]]<T>([In] string ToParse, ref T obj);
 
*static public bool [[NET:LavishScriptAPI.LavishScript.DataParse|DataParse]]<T>([In] string ToParse, ref T obj);
  
 
=== LavishScript.Events ===
 
=== LavishScript.Events ===
 
*static public uint [[NET:LavishScriptAPI.LavishScript.Events.RegisterEvent|RegisterEvent]]([In] string Name);
 
*static public uint [[NET:LavishScriptAPI.LavishScript.Events.RegisterEvent|RegisterEvent]]([In] string Name);
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.ExecuteEvent|ExecuteEvent]]([In] uint EventID, [In] int argc, [In] string[] argv);
+
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.ExecuteEvent|ExecuteEvent]]([In] uint EventID, [In] params string[] args);
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.DetachEventTarget|DetachEventTarget]]([In] uint EventID, [In] EventTarget Target);
+
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.DetachEventTarget|DetachEventTarget]]([In] uint EventID, [In] System.EventHandler<LSEventArgs> Target);
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.AttachEventTarget|AttachEventTarget]]([In] uint EventID, [In] EventTarget Target);
+
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.AttachEventTarget|AttachEventTarget]]([In] uint EventID, [In] System.EventHandler<LSEventArgs> Target);
  
 
=== LavishScript.Commands ===
 
=== LavishScript.Commands ===
*static public bool [[NET:LavishScriptAPI.LavishScript.Events.AddCommand|AddCommand]]([In] string Command, [In] CommandTarget Function);
+
*static public bool [[NET:LavishScriptAPI.LavishScript.Commands.AddCommand|AddCommand]]([In] string Command, [In] CommandTarget Function);
*static public void [[NET:LavishScriptAPI.LavishScript.Events.RemoveCommand|RemoveCommand]]([In] string Command);
+
*static public void [[NET:LavishScriptAPI.LavishScript.Commands.RemoveCommand|RemoveCommand]]([In] string Command);
 +
 
 +
=== LavishScript.Objects ===
 +
*static public [[NET:LavishScriptAPI.LavishScriptObject|LavishScriptObject]] [[NET:LavishScriptAPI.LavishScript.Objects.GetObject|GetObject]](string Name)
 +
*static public [[NET:LavishScriptAPI.LavishScriptObject|LavishScriptObject]] [[NET:LavishScriptAPI.LavishScript.Objects.GetObject|GetObject]](string Name, params string[] indices)
 +
*static public T [[NET:LavishScriptAPI.LavishScript.Objects.GetObject|GetObject]]<T>(string Name, params string[] indices)
 +
*static public T [[NET:LavishScriptAPI.LavishScript.Objects.GetObject|GetObject]]<T>(string Name)
 +
*static public [[NET:LavishScriptAPI.LavishScriptObject|LavishScriptObject]] [[NET:LavishScriptAPI.LavishScript.Objects.NewObject|NewObject]]([In] string Type)
 +
*static public [[NET:LavishScriptAPI.LavishScriptObject|LavishScriptObject]] [[NET:LavishScriptAPI.LavishScript.Objects.NewObject|NewObject]]([In] string Type, [In] params string[] indices)
 +
*static public [[NET:LavishScriptAPI.LavishScriptPersistentObject|LavishScriptPersistentObject]] [[NET:LavishScriptAPI.LavishScript.Objects.GetPersistentObject|GetPersistentObject]](string Name)
 +
*static public [[NET:LavishScriptAPI.LavishScriptPersistentObject|LavishScriptPersistentObject]] [[NET:LavishScriptAPI.LavishScript.Objects.GetPersistentObject|GetPersistentObject]](string Name, params string[] indices)
 +
 
 +
=== LavishScript Objects ===
 +
*[[NET:LavishScriptAPI.LavishScriptObject|LavishScriptAPI.LavishScriptObject]] - LavishScript object base
 +
**[[NET:LavishScriptAPI.LavishScriptIterator|LavishScriptAPI.LavishScriptIterator]] - LavishScript "iterator" type
 +
**[[NET:LavishScriptAPI.Point3f|LavishScriptAPI.Point3f]] - LavishScript "point3f" type
 +
*[[NET:LavishScriptAPI.LavishScriptPersistentObject|LavishScriptAPI.LavishScriptPersistentObject]] - Persistent LavishScript object base
  
 
== LavishVMAPI namespace ==
 
== LavishVMAPI namespace ==
Line 71: Line 90:
  
 
=== Frame ===
 
=== Frame ===
*static public void [[NET:LavishVMAPI.Frame.FrameLock|FrameLock]]();
+
*static public void [[NET:LavishVMAPI.Frame.Lock|Lock]]();
*static public void [[NET:LavishVMAPI.Frame.FrameUnlock|FrameUnlock]]();
+
*static public void [[NET:LavishVMAPI.Frame.Unlock|Unlock]]();
*static public bool [[NET:LavishVMAPI.Frame.FrameTryLock|FrameTryLock]]();
+
*static public bool [[NET:LavishVMAPI.Frame.TryLock|TryLock]]();
*static public void [[NET:LavishVMAPI.Frame.FrameLockExclusive|FrameLockExclusive]]();
+
*static public void [[NET:LavishVMAPI.Frame.LockExclusive|LockExclusive]]();
*static public void [[NET:LavishVMAPI.Frame.FrameUnlockExclusive|FrameUnlockExclusive]]();
+
*static public void [[NET:LavishVMAPI.Frame.UnlockExclusive|UnlockExclusive]]();
*static public bool [[NET:LavishVMAPI.Frame.FrameTryLockExclusive|FrameTryLockExclusive]]();
+
*static public bool [[NET:LavishVMAPI.Frame.TryLockExclusive|TryLockExclusive]]();
*static public void [[NET:LavishVMAPI.Frame.FrameWait|FrameWait]]([In] bool bLock);
+
*static public void [[NET:LavishVMAPI.Frame.Wait|Wait]]([In] bool bLock);
  
= See Also =
+
== See Also ==
 
*[[IS:.NET|Inner Space .NET]]
 
*[[IS:.NET|Inner Space .NET]]
 
*[[Inner Space]]
 
*[[Inner Space]]
 
*[[ISXDK]]
 
*[[ISXDK]]

Latest revision as of 17:33, 25 September 2008

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

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

LavishScript Objects

LavishVMAPI namespace

LavishVM

  • static public IntPtr GetAPI(string Library, string Name, uint Version);

Frame

See Also