Difference between revisions of "IS:Kernel"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 129: Line 129:
 
: Used to prevent the mouse from leaving the window (not used for DirectInput systems such as EQ1)
 
: Used to prevent the mouse from leaving the window (not used for DirectInput systems such as EQ1)
  
=== Data Types ===
+
=== Object Types ===
 
==== Display ====
 
==== Display ====
 
*[[ISKernel:display (Data Type)|display]]
 
*[[ISKernel:display (Data Type)|display]]
Line 150: Line 150:
  
 
==== User Interface ====
 
==== User Interface ====
*See [[LavishGUI#Data_Types|LavishGUI Data Types]]
+
*See [[LavishGUI:Object_Types|LavishGUI Object Types]]
  
 
=== Top-Level Objects ===
 
=== Top-Level Objects ===

Revision as of 20:26, 19 March 2006

Introduction

The Inner Space Kernel is the backbone of the Inner Space platform. The Kernel loads LavishGUI, LavishScript, and extensions.

In-Game Console

The Inner Space In-game Console

The Inner Space console provides a method of executing commands similar to first-person shooter consoles, but in a style similar to standard command shells (e.g. DOS or Linux shells). It takes only a moment to learn, and provides access to all of Inner Space's features. The system used is called LavishScript. See LavishScript Syntax for a complete technical reference of entering commands via LavishScript.

Binds (hotkeys)

Inner Space provides a system of "binds" that allow you to "bind" a key combination to an action. This could be remapping one key to another directly, running a script, sending commands to other sessions, or literally anything that can be done through Inner Space commands. Even the key to bring up the console uses a bind, and can be configured using the Bind command.

Global Binds (global hotkeys)

Global binds are just like regular binds, but perform an action in a given session when the key combination is pressed, no matter what you are doing on your computer. For example, the key combination Ctrl+Alt+1 will bring up the first Inner Space session immediately, regardless of what you are doing at the time, or what window is currently in the foreground. This is done using a global bind, and can be configured using the GlobalBind command.

Inner Space Extensions

Inner Space extensions are programs created with the Inner Space Extension Development Kit (ISXDK). Extensions can do pretty much anything, from adding game-specific scripting functionality to interacting with other programs or adding UI elements to the game or Inner Space itself. Inner Space extensions (and scripts) can be found at ISMods, and are generally documented in the ISMods Wiki. Install extensions by placing the .dll file into the Inner Space/Extensions directory.

User Interface

The Lavish Graphical User Interface (LGUI) is a complete user interface system for use inside games. The UI is defined in one or more XML files, each of which can be loaded independently. Each XML file contains a list of top-level UI elements (usually windows). See LavishGUI for full LGUI usage information. Types of LGUI elements can be created through extensions using the ISXDK.

LavishScript Extensions

Inner Space adds various commands, objects, and data types to the LavishScript language.

Commands

Misc

Shows the current Inner Space version number
Instantly close this session

Console

Clear the console
Open, close, or toggle the consoles visibility
Quietly execute a command (nothing shows up in console)
Output text (to the console)
Log all console output

Display

Toggle wireframe mode (does NOT improve performance)
Display current framerate
Display or set framerate/CPU limiter settings
Display information on adapter resolution, current display mode, window viewable size, display scale, and distortion
Sets, stores, restores, resets, or displays the current gamma level

Events

List, set, remove, or execute named events

Input

Add, list, or remove a hotkey
Emulate a single key press and/or release
Emulate typing some text
Moves the mouse to a specified location
Emulate a mouse button press and/or release
Used for DirectInput mouse handlers (such as EQ1) to "release" or "capture" the mouse
Add, list, or remove a global hotkey, usable from anywhere in Windows
Change visibility of the mouse cursor
Record or playback keyboard and mouse

Navigation

Retrieve the shortest path from point A to point B in a given world
Load or unload a navigation file containing worlds and connected points within them
Add, list or remove a navigation point

Extensions

Load, list or unload an extension
Lists available services and the number of clients attached to each

Settings

Add, list or remove XML settings (similar to .INI)

Triggers

Add a text trigger for event-based scripts
Removes a text trigger previously added with AddTrigger
Used in scripts, pauses execution until given text is found or a specified amount of time passes

User Interface

Add, removes, or lists elements in the heads-up display
Hides or shows a group of HUD elements
Modify an element in the heads-up display

Window

Set or display window position
Set or display window size
Set window size based on the game's set resolution
Set window frame style (and therefore ability to drag to resize the window as well)
Set window title
Move window above or below others, or "always on top"
Adds an icon to the system tray for this game
Used to prevent the mouse from leaving the window (not used for DirectInput systems such as EQ1)

Object Types

Display

Input

Misc

Navigation

Settings

User Interface

Top-Level Objects

Display

Input

Misc

Navigation

Settings

User Interface

Services

See Also