Inner Space Releases

Inner Space version 1.19 Build 7038
Released: 2022-10-21
  • Direct3D 9 compatibility update
  • Star Wars The Old Republic new launcher compatibility update
  • Fixed an issue with EVE Online popping up cmd.exe windows
  • Fixed an issue with some .NET 5.0+ executables
  • Fixed a bug that prevented LavishGUI 2 from rendering on Direct3D 9 with multisampling enabled
  • LavishGUI 2
    • Updated pagecontrol layout and templates
    • Fixed a bug with inputpicker when pointed at a distributedvalue
    • Fixed a bug with onLogicalDetached/onVisualDetached events not firing
    • New element event "onDestroy" fires separately from detached events, and only in destructive cases
    • textbox "textBindingUsesFocus" now also triggers when mouse focus is lost
    • New element type: filepicker
    • itemlist (e.g. listbox) now supports "multiselect" property
    • Most LavishGUI 2 enum types now have lower case values, matching the JSON properties
    • bool lgui2itemlist.IsMultiselect
    • lgui2itemlist:SetMultiselect[bool newValue]
  • LavishScript 1.105
    • LavishScript's SetRoot now expands environment strings (e.g. %USERPROFILE%) and resolves ../ ./ etc
    • Implemented a new JSON-based query system we'll refer to as LavishScript Select
    • Scripts now support enum definitions
    • Types are now accessible as Top-Level Objects, e.g. ${lavishscript} is the same as ${Type[lavishscript]}
    • Implemented static Member/Method support
    • Types can now be specified as static, meaning that their existing Members/Methods also work as static Members/Methods
    • Most types that have operated as static types have been marked static
    • objectdefs can define static Members, Methods and Variables by indicating "static" prior to "member", "method", or "variable" e.g. static member:int SomeMember()
    • objectdefs can now be marked as static, which will prevent objects (such as variables) of this type from being created
    • objectdefs now execute a static method Initialize, and a static method Shutdown when created/destroyed
    • jsonvalueref initialization/SetReference now also accepts a JSON array or object
    • Enum value type initialization no longer breaks from an empty string (no value given), instead initializing to 0
    • jsonvalueref SetReference can now refer to itself (or its members)
    • :ForEach methods now optionally accept an additional jsonvalueref Select query
    • Mumeric types now have static .Min and .Max
    • New type: joystick
    • New type: sessionlauncher (Uplink only)
    • New type: slotobserver (Uplink only)
    • axis:SetPosition[float newValue]
    • dpad:SetPosition[float newValue]
    • jsonarray type.StaticMembers
    • jsonarray type.StaticMethods
    • bool type.Static
    • jsonarray scriptobjecttype.StaticMembers
    • jsonarray scriptobjecttype.StaticMethods
    • variablescope scriptobjecttype.VariableScope
    • bool scriptobjecttype.Static
    • scriptobjecttype script.ObjectDef[string name]
    • anonevent script.OnExit
    • string script.LastError
    • script:SetLastError[<string value="">]
    • static string script.LastError
    • static script:SetLastError[<string value="">]
    • static anonevent script.OnScriptStarted
    • static anonevent script.OnScriptStopped
    • static script script.New[string full_filename,... args]
    • static script script.Get[string short_filename]
    • static jsonarray script.List[<jsonvalueref filterQuery>]
    • static script:ForEach[string command,<jsonvalueref filterQuery>]
    • string lavishscript.LastError
    • lavishscript:SetLastError[string value]
    • anonevent lavishscript.OnSetLastError
    • bool lavishscript.LastErrorSpam
    • lavishscript:SetLastErrorSpam[bool value]
    • anonevent script.OnSetLastError
    • bool script.LastErrorSpam
    • script:SetLastErrorSpam[bool value]
    • static distributedscope distributedscope.Get[string name]
    • static distributedscope distributedscope.Get[uint id]
    • static distributedscope distributedscope.New[json]
    • static anonevent distributedscope.OnScopeAdded
    • static anonevent distributedscope.OnScopeRemoved
    • jsonarray distributedscope.Values[<jsonvalueref filterQuery>]
    • jsonarray distributedscope.Keys[<jsonvalueref filterQuery>]
    • static jsonarray distributedscope.List[<jsonvalueref filterQuery>]
    • static distributedscope:ForEach[string command,<jsonvalueref filterQuery>]
    • int64 string.Find[... string possible_needles]
    • jsonobject string.FindAnyOf[... string possible_needles]
    • jsonobject string.FindAnyOfArray[jsonvalueref arrayOfStrings]
    • jsonarray string.Split[string splitter,<bool includeEmpty=TRUE>]
    • static bool string.Equal[string a,string b]
    • static bool string.IsNULLOrEmpty[string value]
    • static bool string.IsNULLOrWhitespace[string value]
    • unistring filepath.FilenameOnly
    • unistring filepath.PathOnly
    • string mutablefilepath.FilenameOnly
    • string mutablefilepath.PathOnly
    • static agent agent.New[json]
    • static agent agent.Get[uint id]
    • static agent agent.Get[string name]
    • static anonevent agent.OnAgentAdded
    • static anonevent agent.OnAgentRemoved
    • anonevent agent.OnAgentEvent, OnPulse, OnShutdown, OnStartup, OnPlatformPreStartup, OnPlatformStartup, OnReload
    • static jsonarray agent.List[<jsonvalueref filterQuery>]
    • static agent:ForEach[string command,<jsonvalueref filterQuery>]
    • jsonvaluecontainer jsonobject.GetContainer[...]
    • jsonvaluecontainer jsonarray.GetContainer[...]
    • jsonobject jsonobject.Duplicate
    • jsonarray jsonarray.Duplicate
    • jsonarray jsonarray.Reverse
    • jsonarray:Reverse
    • jsonarray:Swap[int64 keyA, int64 keyB]
    • jsonarray:Insert[<-lazy>,int64 key,jsonvalue value,...]
    • jsonarray:InsertString[int64 key, string value]
    • jsonarray:InsertInteger[int64 key, int64 value]
    • jsonarray:InsertBool[int64 key, bool value]
    • jsonarray:InsertNumber[int64 key, float64 value]
    • jsonarray:InsertNULL[int64 key]
    • jsonarray:InsertByRef[int65 key, jsonvalueref ref]
    • int64 jsonarray.SelectKey[jsonvalueref query]
    • string jsonobject.SelectKey[jsonvalueref query]
    • jsonarray jsonarray.SelectKeys[jsonvalueref query]
    • jsonarray jsonobject.SelectKeys[jsonvalueref query]
    • jsonarray index.SelectKeys[jsonvalueref query]
    • jsonarray collection.SelectKeys[jsonvalueref query]
    • ... jsonarray.SelectValue[jsonvalueref query]
    • ... jsonobject.SelectValue[jsonvalueref query]
    • ... index.SelectValue[jsonvalueref query]
    • ... collection.SelectValue[jsonvalueref query]
    • jsonarray jsonarray.SelectValues[jsonvalueref query]
    • jsonarray jsonobject.SelectValues[jsonvalueref query]
    • jsonarray collection.Keys[<jsonvalueref filterQuery>]
    • jsonarray jsonobject.Keys[<jsonvalueref filterQuery>]
    • jsonarray jsonobject.Values[<jsonvalueref filterQuery>]
    • static jsonvalue jsonvalue.New[<-lazy>,string json]
    • static jsonvalue jsonvalue.ParseFile[filepath json]
    • static jsonobject jsonobject.New[<string json="{}">]
    • static jsonobject jsonobject.ParseFile[filepath json]
    • static jsonarray jsonarray.New[<string json="[]">]
    • jsonarray enumtype.Values
    • jsonarray enumtype.Names
    • static enum enumtype.New[jsonvalueref jo]
    • static enum enumtype.Get[string name]
    • static jsonarray enumtype.List[<jsonvalueref filterQuery>]
    • static enumtype:ForEach[string command,<jsonvalueref filterQuery>]
    • enumtype enumvaluetype.Type
    • enum value types now explicitly inherit from int64
    • enum value types now have a static member for each named value
    • static enumvaluetype enumvaluetype.Get[string name]
    • static enumvaluetype enumvaluetype.Get[int64 value]
    • static jsonarray enumvaluetype.List[<jsonvalueref filterQuery>]
    • static jsonobject enumvaluetype.EnumAsJSON
    • static enumvaluetype:ForEach[string command,<jsonvalueref filterQuery>]
    • static time time.Now
    • static event event.New[string name]
    • static event event.Get[string name]
    • static jsonarray event.List[<jsonvalueref filterQuery>]
    • static event:ForEach[string command,<jsonvalueref filterQuery>]
    • static taskmanager taskmanager.New[string name]
    • static taskmanager taskmanager.Get[uint id]
    • static taskmanager taskmanager.Get[string name]
    • static task task.Get[int64 id]
    • ... variablescope.Get[name]
    • jsonobject variablescope.AsJSON
    • jsonarray variablescope.Keys[<jsonvalueref filterQuery>]
    • string variablescope.SelectKey[jsonvalueref query]
    • jsonarray variablescope.SelectKeys[jsonvalueref filterQuery]
    • ... variablescope.SelectValue[jsonvalueref query]
    • variablescope:ForEach[string command,<jsonvalueref filterQuery>]
    • static relaygroup.New[string name] (Uplink only)
    • static relaygroup.Get[string name] (Uplink only)
    • static relaygroup.List (Uplink only)
    • static relaygroup.List[jsonvalueref filterQuery] (Uplink only)
    • static relaygroup:ForEach[string command,<jsonvalueref filterQuery>] (Uplink only)
    • anonevent innerspacesession.OnPreStartup (Session only)
    • anonevent innerspacesession.OnStartup (Session only)
    • anonevent innerspacesession.OnPreStartupCompleted (Session only)
    • anonevent innerspacesession.OnStartupCompleted (Session only)
    • anonevent innerspacesession.OnWindowCaptured (Session only)
    • anonevent innerspacesession.OnFocused (Session only)
    • jsonobject innerspacesession.Metadata (Session only)
    • int64 innerspacesession.Slot (Session only)
    • bool innerspacesession.IsLauncher (Session only)
    • innerspacesession:SetLauncher[bool newValue] (Session only)
    • static session session.Get[name] (Uplink only)
    • static jsonarray session.List[<jsonvalueref filterQuery>] (Uplink only)
    • static event session.OnSessionAdded (Uplink only)
    • static event session.OnSessionRemoved (Uplink only)
    • static event session.OnSessionRenamed (Uplink only)
    • static session:ForEach[string command,<jsonvalueref filterQuery>] (Uplink only)
    • Fixed jsonarray script.ObjectDefs
    • Fixed Attach command
    • Fixed bool distributedscope.Has[key]