IS:Uplink

From Lavish Software Wiki
Jump to: navigation, search

Introduction

The Inner Space Uplink serves as a hub for all Inner Space sessions providing basic game and profile settings. All games must be launched through the Uplink (via any of the supplied methods, including the menu, special desktop shortcuts, etc) to become Inner Space sessions.

Games and Profiles

Adding a game

Inner Space provides a way to add your own games to its list. To do so, you simply click "Add Game" from the menu, type the name of the game, and select the executable to use in order to launch the game. The list of games already in Inner Space is here. If you experience any trouble adding a game to Inner Space, please let us know.

Editing/Adding a game profile

To add or edit a game profile, right click the tray icon and select Configuration. From here the Inner Space Configuration UI will appear and we want to click the -> Arrow until we find the Game Configuration tab up top. After selecting this tab we will need to use the top combobox to select the game we want. Next, we either use the bottom combobox, or press the "New Profile" button. Change or add your preferences and click finished.

Console

Inner Space consoles allow the use of commands, extensions, and scripts. All consoles have all of the LavishScript commands as well as Inner Space Commands. The Uplink console can be opened by selecting the Console option from the system tray icon's context menu, or by pressing the ` key (by default -- this key is a bind) in the Uplink. Session consoles can be opened from within a session by pressing the ` key (by default -- again, this key is a bind). Most of the time you would probably want to use a session-specific console, rather than the Uplink console.

Uplink Specific Commands

Note: When calling these from .NET, most of them will deadlock if called outside the OnFrame event handler.

Show or hide the main window
Join or leave a Relay Group
Terminate a session process

Misc

Creates a shortcut on the desktop to automatically open a given profile
For video encoding
Restores gamma to the original level
Relays a command to a specific session
Launches a given profile, as if you had selected it in the Inner Space Uplink menu.
List, connect to, or disconnect from remote uplinks

Session

(these commands can ONLY be used from inside a session, via the Uplink command)

Set the session name, used for Relay
Lists all sessions
Switch input focus to another session

Events

  • OnSessionConnected[name]: Fires when a local session connects (launches), before it is renamed to "is1" and so on by the default startup script
  • OnSessionRenamed[old name,new name]: Fires when a local session is renamed
  • OnSessionDisconnected[name]: Fires when a local session disconnects (closes)
  • OnRemoteSessionConnected[uplink name,full session name]: Fires when a remote session connects (launches) or is renamed (the previous name will be dropped by OnRemoteSessionDisconnected)
  • OnRemoteSessionDisconnected[uplink name,full session name]: Fires when a remote session disconnects (closes) or is being renamed
  • OnUplinkConnected[ipaddress]: Fires when a remote uplink becomes connected to this one, before its name is acquired
  • OnUplinkRenamed[ipaddress,name]: Fires when a remote uplink is renamed (currently always exactly once per uplink)
  • OnUplinkDisconnected[ipaddress,name]: Fires when a remote uplink is disconnected

Object Types

  • ismenuitem: A custom item on the IS menu
  • remoteuplink: A remote uplink (an Uplink running on another PC, connected to this one via Uplink Networking)
  • session: A game session, local or remote (on another PC)
  • videofeed: The video feed management object type

Top-Level Objects

  • ismenu ISMenu: Gets the custom IS menu
  • ... ISMenu[#]: Get any ismenuitem by its ID. Return type is dynamic depending on the type of menu item.
  • remoteuplink RemoteUplink[name]: Get a remote uplink by name
  • session Session[#]: Get the Nth session (1-based, from 1 to Sessions)
  • session Session[name]: Find a session by name
  • int Sessions: Number of sessions (local and remote)
  • videofeed VideoFeed: The video feed management object

See Also