Difference between revisions of "IS:Session"
Line 48: | Line 48: | ||
: Ends video capture | : Ends video capture | ||
− | ==== Window === | + | ==== Window ==== |
* [[ISSession:WindowCharacteristics (Command)|WindowCharacteristics]] | * [[ISSession:WindowCharacteristics (Command)|WindowCharacteristics]] | ||
: Supersedes many of the other Window commands below, WindowCharacteristics can adjust many different window characteristics simultaneously | : Supersedes many of the other Window commands below, WindowCharacteristics can adjust many different window characteristics simultaneously |
Revision as of 15:17, 20 February 2012
Contents
Introduction
An Inner Space session is created by running your game via the Uplink.
Startup Sequences
Startup sequences provide a permanent method of configuration through automatic issuing of commands. Startup sequences are divided into two major portions -- Pre-Startup, and Startup. Pre-Startup is performed immediately when the game is launched, before the game is allowed to perform any initialization. Startup is performed after the session successfully contacts the uplink and the game begins processing.
- Note - Pre-Startup and Startup are executed for every executable in the launch chain. If your game runs a launcher before running the main executable, it will run for that launcher as well. If your startup scripts are starting extensions, login processes, etc, this may cause problems. The following is an example of how to avoid this:
EVE Online launches via "eve.exe" which launches "ExeFile.exe". Any scripts called by Startup/Pre-Startup sequence have the following at the top of the script. if !${LavishScript.Executable.Find["ExeFile.exe"](exists)} { Script:End }
Display
Inner Space sessions hook into a game's Direct3D8, Direct3D9, or OpenGL graphics engine. It borrows the display to provide an integrated user interface, and to drive the bulk of Inner Space's functionality -- automation and such is performed during the time the display is rendered.
File Redirection
Inner Space sessions hook into file input and output for the purpose of allowing redirection and monitoring of file usage. Redirection is when access to a file such as "user.dat" are redirected to instead use, for example, "user1.dat".
Input
Inner Space sessions hook into a game's DirectInput or Win32 input systems. It borrows the input systems to provide interaction with Inner Space, and the ability to emulate input as well. Support for "software cursor" (the term to describe when a game uses its own representation of the cursor, instead of the Windows cursor location) is available by creating an extension that provides Inner Space with information about cursor positioning.
Stealth
Inner Space does not employ advanced stealth techniques hide itself from its host process. Many popular anti-cheat detection systems such as Punkbuster, VAC, VAC2, and Blizzard's Warden (used in World of Warcraft) do not consider Inner Space itself to be a cheat. Game companies recognize the importance of transparency, and do not block software simply for its ability to be modified; after all, that would preclude all use of open source software.
Window
Inner Space sessions hook into a game's Window system. The main window title can be changed independently of what the game thinks it can be, and the window can be customized in any fashion through available commands. Many games can also be forced into playing in a window, though some games have ill effects from doing so.
LavishScript Extensions
Inner Space adds various commands, objects, and data types to the LavishScript language. The following are additions solely from sessions. Because sessions also use the Inner Space Kernel, all additions from the Kernel are also available in sessions (and the uplink too).
Session Specific Commands
File System
- Redirect game's file i/o from one file to another (for example, make a game use USER1.DAT instead of USER.DAT)
- Redirect game's .ini file i/o from one file to another and/or one section to another and/or one value to another (for example, use an alternate setting or alternate .ini file)
Inter-process (uplink and other sessions)
Video Capture
- Begins video capture
- Ends video capture
Window
- Supersedes many of the other Window commands below, WindowCharacteristics can adjust many different window characteristics simultaneously
- Configures behavior of clicking to focus a window -- whether that click is "eaten" by the focus mechanic, or additionally used by the game
- Enable or disable "foreground lock" which makes the game think it is always the foreground, active window
- Adjust the window frame (border)
- Adjust the window position
- Adjust the window scale (e.g. set to 80% of current size)
- Adjust the window size
- Enable or disable a system tray icon, and minimize to tray, for this session
- Adjust the window text (title)
- Adjust the window visibility and/or Z-Order
Session Specific Top-Level Objects
Inter-Process
See Also
- LavishScript
- LavishGUI
- Inner Space
- Inner Space Uplink (main program)
- Inner Space Kernel