Difference between revisions of "Inner Space"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 70: Line 70:
 
* [[IS:Session|Session]]
 
* [[IS:Session|Session]]
 
* [[IS:Kernel|Kernel]]
 
* [[IS:Kernel|Kernel]]
 +
* [[IS:.NET|.NET 2.0 Support]]
 
* [[IS:Configuration|Configuring Inner Space]]
 
* [[IS:Configuration|Configuring Inner Space]]
 
* [[Inner Space:Release Notes|Inner Space Release Notes]]
 
* [[Inner Space:Release Notes|Inner Space Release Notes]]

Revision as of 06:14, 27 December 2006

Other languages: Deutsch

Introduction

Inner Space is a platform for development inside games. Inner Space uses LavishScript, a simple command-based scripting system inspired by Linux shells, and LavishGUI, a system that provides fully customizable user interfaces. Inner Space consists of the Uplink (main program), individual sessions which are attached to each game, and the Kernel, which is used by both the Uplink and sessions.

Installation

It's so easy!
Inner Space is available only to Lavish Software subscribers.
  1. Download the installer from the Inner Space download page
  2. Run the installer
  3. An Inner Space shortcut is placed on your desktop, use it to launch the Inner Space Uplink. You may move the shortcut onto your start menu, or wherever you prefer.
  4. Because the installer only contains a couple necessary files, Inner Space will patch itself to the latest version when launched
  5. The Inner Space icon should appear in the system tray (next to your system clock)
  6. That's it! Launch your games by right clicking the system tray icon. Make sure to come back here for help!

Basic Usage

  • Launch Inner Space using the icon on your desktop. The Uplink becomes an icon in your system tray (next to the system clock).
  • Launch games by right clicking the system tray icon, finding the name of a game in the menu, and selecting a profile from the submenu.
  • Open the in-game console by using the ` key. This key is a Bind and can be changed to any key or combination of keys you choose. A lot of non-US keyboards must change the bind of this command in the Configuration.
  • The in-game console accepts many commands. All consoles have all of the LavishScript commands as well as Inner Space Commands. Extensions can add their own commands too!
  • Inner Space displays a framerate and memory indicator in the upper left corner by default. You can toggle them by pressing Ctrl+Alt+F and Ctrl+Alt+M respectively.
  • When playing multiple sessions you can use Ctrl+Alt+Z and Ctrl+Alt+X to rotate backwards or forwards through sessions, bringing another session to foreground. Using Ctrl+Alt+1 through Ctrl+Alt+9 quickly brings specific sessions to the foreground.
  • To add a new game right click the system tray icon and click "Add Game". Enter the name of the game, then click the "..." button to navigate to the game's executable. Most games do not need anything extra after doing so, but if you have trouble with a game, please post on our forums to receive help.
  • Extensions can be downloaded and placed in the Extensions folder, then loaded with the Extension command. Interface files packaged with extensions can generally be placed in the Interface folder (note: this will be changing soon)

Overview

Inner Space operates independently in any number of processes, beginning with the Uplink and extending into Sessions, which are any processes launched by the uplink. The uplink and sessions have unique properties, as well as shared properties. In a session, for example, Inner Space employs stealth mechanisms to prevent itself from being noticed by the host application. Similarly, unique to the uplink are the abilities to patch Inner Space to the latest version, and to relay commands to sessions or even other networked uplinks.

A brief Inner Space hierarchy

Uplink

  • Uplink - The Uplink serves as the hub for Inner Space
    • Startup Sequences
    • Configuration
      • Games
        • Profiles
    • Display
    • Launch Menu
    • Patcher
    • Session Relay
    • Uplink Networking

Sessions

  • Sessions - A Session is any process launched by the Inner Space uplink or a session. The launched process is called the host process, because it is hosting Inner Space inside
    • Startup Sequences
    • Display
      • Direct3D8
      • Direct3D9
      • OpenGL
    • File Redirection
    • Input
      • DirectInput
      • Software Mouse
      • Win32
    • Stealth
    • Window

Kernel

  • Kernel - The Kernel, used by the uplink and all sessions, is the main component that drives Inner Space. It is in charge of handling all of the various core subsystems that make up Inner Space.
    • Automation (Scripting) and Commands - Inner Space features a scriptable command shell through our LavishScript engine. This can be accessed through the Console and in various other ways
    • Extensions - Extensions, as the name implies, extend the feature set of Inner Space and its components. This can be adding new user interface features, new commands or automation objects, and so on. Many extensions are game-specific and add the ability to interact directly with the game.
    • Input Emulation - Input emulation allows Inner Space to reproduce keyboard and mouse events, such as pressing a key, typing, moving the mouse or clicking mouse buttons.
    • Memory Modification - A memory modification service allows Inner Space and extensions to easily and safely modify the memory of the host process. An extension can also provide a memory protection service, which protects memory modifications from any detection by the host.
    • Navigation - A general navigation system is built into Inner Space for easy adaptation in automating games.
    • Services - Services provide safe one- or two-way communication between Inner Space and extensions, as well as between extensions. They are also used to implement asynchronous operations, such as retrieving web pages.
    • Settings - An XML-based setting system is implemented
    • User Interface - Inner Space features a complete user interface system through our LavishGUI engine. LavishGUI also integrates directly with LavishScript so that every aspect of our GUI is scriptable.
    • Web - Inner Space has the ability to retrieve a URL into memory or file, via the open source cURL libary.

See Also