Inner Space Releases

Inner Space version 1.16 Build 6583
Released: 2019-10-07
  • Fixed various crashes and other issues when launching a game instance (session)
  • Fixed "invalid build" error that occurs for some people when when clicking "Install Now" in the Patcher window
  • Fixed "refresh token required" error that occurs for some people when they need to log in again, but apparently forgot their login information
  • DxNothing is now included with Inner Space
  • Lord of the Rings Online: Added a workaround for the blue display bug, which seems to be LOTRO's Direct3D 10 support calling SetDeviceGammaRamp with bad data...
  • Logitech G502 Mouse new version compatibility update
  • RSI Launcher (Star Citizen) compatibility update
  • Game detections added for Legends of Aria and Star Citizen
  • MIDI Input Device support added. MIDI devices are not enabled automatically, but can be enabled and handled purely by a script, or by LavishGUI 2.
  • LavishGUI 2
    • Package files now support "includes" and "optionalIncludes" arrays, which specify additional Package files to load prior to loading any of its own assets
    • Fixed an issue with "jsonTemplate" not applying properly when a default template was specified internally. This fixes templating "tab" and other elements
    • Fixed issues with opacity not applying correctly
    • Fixed an issue with Item Lists that do not initially specify a "defaultItemViewTemplate"
    • Fixed an issue where combobox margins incorrectly affected the size of its contents
    • Fixed an issue with clicking to activate an Inner Space window, after having previously left the window with the cursor over a LavishGUI 2 element
    • Fixed an issue with tooltips not disappearing when the owner is hidden
    • Fixed a rendering issue with negative element sizing
    • Fixed unhandled exceptions from LavishScript accesses to various data bindings, when those bindings are not set
    • Fixed several issues with scrollviewer, scrollbar ranges and rendering issues
    • Brushes now support a "canvas" property
    • Skins now have brush and font registries under "brushes" and "fonts" properties
    • Font styles now support "globalFont", to base font properties off of instead of the parent element's font
    • Item Lists now use 1-based indexing for LavishScript
    • lgui2item.Index is now 1-based
    • Item Lists now properly auto-push the selectedItemBinding
    • comboboxes now properly auto-pull the selectedItemBinding
    • Item Lists now support "itemsBinding", meant for use in changing data sources. If automatic pull is enabled, it will be restricted to "once" behavior.
    • Elements with Data Bindings now have events (such as "pullCheckedBinding" and "pushCheckedBinding") that can pull/push the bindings
    • Elements with Data Bindings now have LavishScript Members/Methods to access, pull and push the bindings
    • Window elements now implement anchor, and include anchor properties in placement storage
    • Window elements now support "resizable" "widthResizable" and "heightResizable"
    • textblock now supports "horizontalContentAlignment" and "verticalContentAlignment"
    • combobox now supports "selectedItemViewTemplate" property, to use a template other than "comboboxselection"
    • Input events and bindings now include MIDI control support, with new properties "controlChannel" and "devicePort"
    • New control type "Note" and device type "MIDI"
    • New input event on all elements "onNoteMove"
    • New Input Hooks system implemented. All elements now support "inputHooks"
    • Input binding strings now interpret a name prefixed with "MIDI:" as a MIDI control
    • New element types "canvas", "knob" (partially implemented), "sensitivebutton"
    • New LavishScript types lgui2databinding, lgui2anchored, lgui2canvas, lgui2canvasrenderer, lgui2knob, lgui2sensitivebutton
    • LavishScript types lgui2table, lgui2page, lgui2pagecontrol now implemented
    • bool lgui2window.IsHeightResizable, .IsWidthResizable
    • lgui2window:SetHeightResizable[bool], :SetWidthResizable[bool]
    • jsonvalue lgui2element.Tooltip
    • lgui2element:SetTooltip[json]
    • lgui2item:SetSelected[bool]
    • lgui2item lgui2itemlist.ItemByProperty[json]
    • lgui2item lgui2itemlist.ItemByProperty[propertyName,json]
    • lgui2itemlist:Sort, :Sort[-reverse], :Sort[propertyName], :Sort[-reverse,propertyName]
    • lgui2brush lgui2skin.Brush[name]
    • lgui2fontstyle lgui2skin.Font[name]
    • lgui2skin:SetBrush[name,json]
    • lgui2skin:SetFont[name,json]
    • lgui2canvasrenderer lgui2brush.Canvas
    • lgui2brush:SetCanvas[json]
  • LavishScript 1.101
    • string string.Trim
    • string string.ReplaceSubstring[substring,replacement]
    • mutablestring:Prepend[value]
    • bool bool.Not
    • settingsetref innerspace.Configuration, innerspace.GameConfiguration, innerspace.InputConfiguration
    • setting settingset.Get[set1,...,settingName] - Shortcut to access settings within one or more nested sub-sets
    • settingset:AddSetting[set1,...,settingName,value] - Shortcut to create sub-sets and settings
    • settingset:AddSet[set1,...] - Shortcut to create nested sub-sets
    • settingset.AsJSON and setting.AsJSON replace the previous .JSON members, and the output no longer produces extraneous commas
    • Added an optional -lazy switch to jsonvaluecontainer:SetValue, jsonvalue.Assert, jsonarray:Add, jsonarray:Set, and jsonobject:Set. When given, any json value that would otherwise produce a parsing error will be accepted as a JSON string value.
    • Added support for any number of values in jsonarray:Add, jsonarray:Set, jsonobject:Set
    • jsonobject.AsJSON output now comes in the order added
    • collection.Get[key] is now an alias for collection.Element[key]
    • unistring collection.AsJSON[multiline,array,AsJSONMemberName]
    • unistring index.AsJSON[multiline,AsJSONMemberName]
    • unistring set.AsJSON[multiline]
    • collection:FromJSON[...,json]
    • index:FromJSON[...,json]
    • persistentref is now weakref. The type is still also available as persistentref for compatibility
    • weakref now sets to NULL in cases where it previously rejected a value
    • New type jsonvalueref, works like weakref except is a strong reference to a jsonvalue
    • New :ForEach[code] method added to array, index, collection, set, jsonarray, jsonobject
    • New type keyvaluepair provides Key and Value...
    • New Top-Level Object "ForEach" provides a keyvaluepair during ForEach calls
    • New Top-Level Object "MIDI" gives access to the midi object
    • New types midi, midiindevice, midiinevent, midioutdevice