Inner Space:Alpha to Build 2013 Release Notes

From Lavish Software Wiki
Jump to navigation Jump to search
Beta 0.94
- LavishScript 1.20 -
- The Inner Space in-game User Interface (ISUI for short) is now getting started.  ISUI
  is a complete user interface system, with mouse and keyboard control.  
  The in-game console is now completely done through ISUI.  It is a full window, with the
  option of a title bar (including minimize and close boxes) and can be dragged around.  The 
  output display allows you to select a rectangle of text to be copied to the Windows clipboard 
  (i.e. for pasting).  Text selection will also be added to the input box in the near future.
  The Heads-up Display (HUD) is also done through the ISUI.  Elements can be defined in XML, or
  through the existing commands.  Multiple HUDs can exist, but only the one named "main hud"
  can be accessed via the HUD and HUDSet commands.  As each ISUI element can be hidden, this
  means you can hide an entire HUD or any HUD elements and show them later, rather than removing
  them and re-creating them.  Each HUD element can be moved by holding Alt and dragging with
  the mouse -- though you must drag the leftmost part of the element to do so (without holding
  Alt, or by clicking on another part will simply click through).
  ISUI is an XML-based system.  Each type of UI element is defined in Inner Space itself or in
  an extension (not CURRENTLY available in extensions, but this will be coming as we complete
  portions of the system).  XML files are used to create windows and define how each should
  look.  Textured elements (e.g. with a picture instead of a solid rectangle) will be possible
  as well.  

  * Notes: DirectInput games require you to release the mouse in order for the mouse to interact 
    with the ISUI.  This is obviously not preferable, but how it will be for now.  The mouse will
    also only be able to interact with the UI when the cursor is visible -- this means that if
    your mouse cursor is hidden while playing a first-person shooter, for example, the UI will not
    randomly interfere.
- ISUI Text entry boxes (e.g. the command entry box in the console window) should now support 
  non-US keyboards.  Subsequently, special characters can now be typed in the console on US
  keyboards by holding control and pressing keys.
- The default console bind is no longer hardcoded.  The bind is now found in PreInit.iss.  Some
  will notice their console no longer works (see next item)
- You should delete PreInit.iss, PiP.iss, and AutoExec.iss (found in the Scripts folder) so that 
  they may be refreshed to be compatible with LavishScript 1.20 (well, it's still "compatible" for
  now, but wont be next release).  If you made custom changes to these, you may want to back 
  them up first.
- Fixed a bug preventing Eve Online from loading (Let us know if it works in-game)
- Added -inc, -dec, and -set # to Gamma command.  Valid values for use in -set are 0 to 128.
  -inc and -dec step at the same rate as 1 value in -set (which is actually 1/256th of the
  possible gamma, but -set only allows the middle range so you can actually see)
- Added commands:
  UI -reset|-load <filename>
  UIElement -list|-hide <name>|-show <name>|-toggle <name>|-kill <name>
  HUDGroup -hide <name>|-show <name>|-toggle <name>
- The hudelement data type and its accessors (Display.HUDElement) are removed for now while we
  rearrange things for the UI system (sorry).  The HUD and HUDSet commands work.
- Fixed Squelch command - previously forced command parameters to be re-parsed, losing any quoting
- Fixed navpoint.ConnectsTo[name]
- Added data type members:
  * int dataset.Keys
  * string dataset.Key[#]
  * string navpoint.Note
- Added data type methods:
  * dataset:Clear
  * navworld:Set[point name,x]
  * navworld:Set[point name,x,y]
  * navworld:Set[point name,x,y,z]
  * navpoint:SetNote[note]
- Added data types:
  * settingxml
- Removed XMLSetting Top-Level Object.  XMLSetting command still exists.
- Added Top-Level Objects:
  * settingxml SettingXML[name]
 Beta 0.93
 - ISXDK v11
 - Fixed internal "echo" broadcasts from the uplink, which were saying invalid command but were
   supposed to have relevant information :)
 - Fixed Log command (console log) default output path
Beta 0.92
- LavishScript 1.18 - LavishScript release notes are found at:
- Emulated keystrokes no longer get sent to the console when it is open (they go to the game)
- Fixed DirectInput emulated keystrokes
- Uplink console no longer auto-completes when the box is empty (alt-tabbing to the console is
  no longer an annoyance)
- Pasting in the in-game console now works via Shift+Insert
- Changed "Win32I Delay" option to "Keystroke Delay", and applied it to DirectInput as well
- Added session command "MouseCursor" which can be used to take care of that pesky "double cursor"
  problem in some games that use DirectInput
- Added Games:
  * Cold Fear
  * Delta Force Xtreme
  * Halo
  * Kal Online
  * Need for Speed Underground 2
  * Prince of Persia - The Sands of Time
  * Psychonauts
  * Star Wars Battlefront
  * Star Wars Republic Commando
  * Thief - Deady Shadows

Beta 0.91
- LavishScript 1.16 - Calculation fix, variable casting fix
- Fixed issue with completely white textures in some games' intro graphics in D3D8 and D3D9
- Added Games:
  * Broken Sword - The Sleeping Dragon
  * Far Cry
  * Playboy - The Mansion
- Added data type members:
- Added data type methods:
- Removed Top-Level Objects:
  HUDElement (now use ${Display.HUDElement[x]})
  FPS (now use ${Display.FPS})
  Bind (now use ${Keyboard.Bind[x]})
- Added Top-Level Objects to the Uplink:
  * XMLSetting
  * Console
- Added Data Types to the Uplink:
  * console
- Added Commands to the Uplink:
  * XMLSetting 

Beta 0.90
- Improved overall compatibility.  Please note that if you are upgrading from previous versions of
  Inner Space, Half-Life 2 games will not work unless you change the "modules" setting in 
  Half-Life 2->General to "auto" in the Games and Profiles window (this may also be the case for
  other games).  You can also just delete Games.XML in the Inner Space folder, and restart Inner Space.
- Fixed several minor bugs found while testing under Cedega (the Win32 gaming emulator for Linux), and 
  worked around a few Cedega bugs.  Still has some issues, but was able to successfully play World of Warcraft
- Fixed a glaring issue in our Direct3D8 handler (well... blinking really, but it was bad...)
- Added Games:
  * Axis & Allies (note: Auto-detection of the path is not currently enabled for this game)
  * Brothers in Arms 
  * Grand Theft Auto Vice City
  * Guild Wars
  * Neverwinter Nights
  * Tribes Vengeance

Beta 0.89
- Improved compatibility with Win32 emulators.  Inner Space *should* now work under Cedega

Beta 0.88
- LavishScript 1.15 - Fixes minor issues including running the same script twice by adding the extension
- Fixed Uplink pulsing, which prevented scripts from working in the uplink
- Added command-line handling.  If any parameters are passed to InnerSpace.exe, they are treated as one command
- Added Uplink command "MakeShortcut", used to make a desktop shortcut to a given profile.  Syntax is as follows:
    MakeShortcut <profile>
    MakeShortcut "World of Warcraft Default Profile"
  This can be done a little easier from within a session.  Open a session using the profile you want to make a 
  shortcut for, then open the session console and type:
    Uplink MakeShortcut "${Profile}"
- Fixed bug in Direct3D9 handling which caused problems in some games
- Fixed bug in DirectInput handling which caused problems in some games
- Added Games:
  * Star Wars: Knights of the Old Republic II
  * Star Wars Galaxies (Known issue: Some of the startup graphics appear white, everything fine after that)
  * SWAT 4

Beta 0.87
- Removed NavPoint TLO
- Added Navigation TLO and navigation data type. 
  ${NavPoint[world,point name]} is now ${Navigation.World[name].Point[name]}
  This may be longer but is better for organization, and allows me to add other important things without
  adding entire new Top-Level Objects.  For example, navworld.NearestPoint.  NavPath is unchanged.

Beta 0.86
- Added WaitFor TLO, which was meant to be in 0.84.  It gives an int, indicating the number of the argument
  passed to the WaitFor command that was found first (or 0 to indicate timeout)
- I didn't mean to make ISXDK v10a require you to recompile plugins.  Reverted the internal version number
  so you don't have to.  Beta 0.86 requires ISXDK v10 or v10b.

Beta 0.85
- Changed MouseClick command syntax to be in line with other commands such as Press.
  Syntax: MouseClick [-hold|-release] <left|right>
- HUD command no longer immediately parses data

Beta 0.84
- Fixed ISXDK version error message that was saying v16 -- that's hexadecimal for 10.
- Reduced default console and HUD font size to 12
- HUDAdd, HUDList and HUDRemove have been squeezed into the new "HUD" command, which also lets you set
  the default HUD font size (HUD -fontsize 12) for new elements.  HUDAdd and HUDRemove are aliased to
  the new form, so existing macros and such will still work.
- HUDSet command now allows using "*" as the element name when setting font size or color to change all
  existing elements (will not work for other settings)
- Added "Files" service, which allows selection specific files to track as they are opened (for each
  tracked file, the service broadcasts any reads or writes, as well as the closing of the file)
- Added WaitFor command for scripts, for use with triggers and such
- Fixed bug when console bind involved multiple keys
- Fixed bug with keys sticking in certain situations
- Fixed console -lines

Beta 0.83
- LavishScript 1.14 - Fixes issue with navpath type
- Added Games to the default list:
  * America's Army
  * Grand Theft Auto III
  * Quake III Arena
  * Star Wars Jedi Knight II: Jedi Outcast
- Fixed emulation of some keys in Win32I
- Added "Win32I Delay" option, which is on by default, and is almost always safe to leave on.  This option 
  is used for Win32 keyboard input emulation, and creates a delay between emulated keys being pressed and 
  released.  This solves issues with "press alt+1" and such not working correctly in some games.
- Fixed issue with global binds not being removed from Windows until the session closed
- Global binds no longer need to be manually removed before replacing one with the same name
- Added "RestoreGamma" command to uplink, which restores gamma to its original level (when the uplink was
- Added "Gamma" command to sessions, which can store, restore, reset, or display the gamma ramp.  It cannot
  currently be used to pick a gamma level (e.g. "higher" or "lower" settings), just store, restore, and reset.
- Fixed framerate issue and overlay display issue with multi-pass effects in Direct3D
- Our overlay font system has received a major overhaul
- Console now supports colors.  Colors are created by \a, where code is one of the following:
    y - yellow  (-y for dark)
    o - orange (-o for dark)
    g - green (-g for dark)
    u - blue (-u for dark)
    r - red (-r for dark)
    t - teal (-t for dark)
    b - black (clear, anyway.. you wont see it.)
    m - magenta (-m for dark)
    p - purple (-p for dark)
    w - white (-w for dark)
    x - previous color
  Each color is demonstrated in this image: console_colors.gif
  Note: It is a known issue that at this time, console colors do not work in EverQuest II
- Added font size to HUD elements, can be set through hudset -s
- Added font size to console, can be set through console -fontsize
- ConsoleVisibleLines has been removed, the new command is console -lines
- Added column rendering to several list commands
- Potentially fixed issue with GlobalBind and the keypad (and other keys)

Beta 0.82
- LavishScript 1.13 - various scripting bugs fixed
- Merged "HooksI" with "Win32I" input system.  Any games previously set to use HooksI should automatically
  switch to Win32I.  This also fixes input bugs in EverQuest II.
- Fixed bug which prevented support in Unreal Engine-based games
- Fixed bug which prevented support in Doom 3 and probably some other games
- Added Games to the default list:
  * Doom 3
  * Lineage II (cannot auto-detect path, you may need to fix the profile for your game folder)
  * Unreal Tournament 2004
- OpenGL games should now work with the "Add Games" option  

Beta 0.81
- LavishScript 1.11 - Modules system, includes Modules command
- Added new Event system (including Events command and Events service).  The way this works is there's a
  list of named "events" -- which have a name, and a LavishScript command to execute.  For example,
  "On Activate" now replaces the old "OnActivate" profile setting, and is executed when the game window 
  becomes the foreground window (activated).  By default, the event does nothing, but the Events command
  can be used to set the command to run.  For example, to enable Picture-in-Picture, execute the following:
    Events -set "On Activate" run pip
- Removed OnActivate and OnDeactivate from Profile options, these now use the new Event system and are
  "On Activate" and "On Deactivate", respectively
- Removed Console Visible Lines and Console Scrollback Size from Profile options
- OpenGL support added -- note that Force Window does not currently work for OpenGL
- Added Games to the default list:
  * Quake 2
  * Simpsons Hit & Run
  * Star Wars: Knights of the Old Republic
  * Tron 2.0
- Games added to the default list will now be independently added to your Games and Profiles without having
  to delete the files
- Fixed bug with game & profile removal in the Games window
- Fixed bug in game settings with Window Class
- Fixed bug with Win32I input being lost when switching between full screen and windowed (as in World of

Beta 0.80
- Added ultra-simple "Add Game" option to the Inner Space menu.  Should work fine for most DirectX games,
  though there are issues with some games.
- Fixed some bugs with key emulation (though the EverQuest II bug with Alt is still present)
- Fixed issue with full screen applications crashing or displaying error messages when switching focus

Beta 0.79
- LavishScript 1.10 - Turbo command, atexit function
- Fixed bug with hud element removal

Beta 0.78
- XMLSetting command re-added
- Triggers service, powered by Blech, added
- AddTrigger, RemoveTrigger commands added (scripts only)
- SHIFT, CTRL, and ALT added to preprocessor definitions -- will be replaced with the correct name of the
  key for the user's input locale in scripts
- PIP.iss will now be automatically generated in the Scripts folder if it does not exist.  To add picture-
  in-picture functionality, your profile's "OnActivate" must be set to "runscript pip".  By default, the
  script will line the windows up from the top left to the top right.  You can change the behavior by
  editing lines at the top of PIP.iss  

Beta 0.77
- LavishScript 1.08 - New "ptr" datatypes, APICall, undefined function parameter fixes, new preprocessor,
  TimedCommand re-added (oops)
- Fixed issue with games using multiple input systems
- Fixed Echo on/off reversal

Beta 0.76
- Sessions will attempt to reconnect to the uplink if connection is lost
- LavishScript 1.05 (fixes Return Top-Level Object, among other minor changes)

Beta 0.75
- Fixed Services service

Beta 0.74
- Fixed MouseClick hold option and added release option
- Added Methods to most data types, which can also be used as commands.  Check the wiki for complete
- "bind" and "extension" data types are now accessible
- Added "Bind" and "Extension" Top-Level Objects

Beta 0.73
- LavishScript v1.02. LavishScript is described here:
- Consoles have been changed a little bit -- Scrollback is now shift+up/shift+down, and command history
  is up/down

Beta 0.72
- Fixed typo of DeleteVariable command (was DeleteeVariable)
- In preparation for Fury work, generalized the IS scripting system, now called LavishScript. The 
  uplink now supports scripting capabilities.
- The session console now features line-editing capabilities and insert/overwrite toggle (via the
  insert key) including a cursor.  When the cursor's inside is light green, it's in overwrite mode.
  Dark green is insert mode, which is default.
- The consoles (in-game and console) now have a revised command history which separates the history 
  "view" line from the history insert location (i.e. history no longer overwrites itself from the
  last viewed history line, it adds to the end)

Beta 0.71
- Bumped ISXDK to version 8
- Added "Force Adapter" profile setting, for dual monitor support.  Like WinEQ 2.0's setting, this
  can be "Application Controlled", "Primary" or "Secondary"
- New datatype "rgb" with the following members
  * int Red: 0-255 indicating the amount of red
  * int Blue: 0-255 indicating the amount of blue
  * int Green: 0-255 indicating the amount of green
  * string Hex: Same as rgb's "to string", shows the color in the form rrggbb, for example "ff0000" 
                for full red
- Added datatype members
  * int display.DesktopX: X position of the left edge of the windows desktop on the current monitor
  * int display.DesktopY: Y position of the left edge of the windows desktop on the current monitor
  (Also modified the generated PreInit.iss to use these instead of 0,0 for window positioning)
  * rgb display.GetPixel[x,y]: Retrieves pixel color at this window position
  * string display.PixelSearch[x,y,color,-radius #,search...]: Searches for the nearest pixel to x,y 
    matching a set of conditions.  Color and radius are required.  Everything is given in decimal
    except for color, which must be lower case hexadecimal.  Other optional search parameters include 
    -within #, -redwithin #, -greenwithin #, -bluewithin #.  These are used left to right, so to 
    search for a color within 32 blue and green, but within 16 red, you could use -within 32,-redwithin 16.
    The returned string will be in the form x,y
  * int display.TextureMem: Available texture memory, in megabytes
- Fixed bug with Games window being able to open multiple times, which caused copies of the
  window to cease functioning
- Moved part of PreInit.iss which was not functioning correctly due to being too early to a newly
  generated AutoExec.iss (will be generated on a clean install, or when Games.XML does not exist)
  Added CTRL+ALT+M to PreInit.iss to toggle WinEQ-style memory indicator
- Fixed script early ending bug with command lists
- Added mouse auto-release when loading for DirectInput (EQ1...)  

Beta 0.70
- Revamped bind system.  System now accepts any combination of modifier keys plus a non-modifier
  key, rather than any number of keys and ignoring modifiers.  Modifier keys may also be treated
  as non-modifiers, for example by using only "shift" or "ctrl+shift".  Binds now also allow
  separate commands for press and release, defaulting to release.  Example:
    bind -press wireframe f8 wireframe on
    bind -release wireframe f8 wireframe off
  When F8 is pressed in this example, wireframe turns on.  When F8 is released, wireframe turns off.
  The revamped system also considers the pressed modifier keys when processing binds, and they must
  match.  This means that more binds could be added to the above example:
    bind wireframetoggle alt+f8 wireframe toggle
  When Alt+f8 is pressed and then released in this example, wireframe will be toggled.  The F8 bind
  will not be used, because the modifier keys do not match (no modifiers vs Alt).  Prior to this
  revamp, if Alt+F8 and F8 were both bound, both would have been used.
- Fixed "else" (which consequently caused the new WinEQ-style hotkeys stuff done for 0.69 to not work)

Beta 0.69
- Added "Focus" command to uplink
- Fixed uplink issue with echoing causing redraws of the entire desktop (thus causing it to act
  much slower than desired when the tray console echoed text)
- Added automatic execution of "PreInit.iss" and "AutoExec.iss", which come directly after
  the automatic execution of "" and "" (before processing the game and
  profile-specific ones)
- Removed declare spam (oops)
- Fixed FileRedirect
- Parsed ${} no longer automatically expands to multiple parameters.  If you need this behavior,
  use Execute with the new -reparse switch.  However, be aware that any spaces, quoted or not,
  will be interpreted as separating parameters because quotes will be stripped before execution
  of Execute.
- Added "-reparse" to Execute command
- If Games.XML does not exist, Scripts\PreInit.iss will be generated with basic WinEQ-style hotkeys
  set up, as well as redirecting eqclient.ini and eqlsPlayerData.ini per profile
- Added Switch-Case-Endswitch to scripting support (also including Default statement)
- Added Break command for Do-While and Switch-Case-Endswitch
- Added Continue command for Do-While 

Beta 0.68
- Fixed crash issue with "arg" and "ExecuteFile" commands when given 0 parameters
- Fixed issues with uplink and relay
- Added "-keylist" to bind command
- Added "-t" to HUDSet command

Beta 0.67
- Wait command no longer parses at execution time. It will automatically parse the delay parameter,
  but leave the optional condition unparsed for checking at the correct time
- Fixed crash in script stack dump when there is no current line (which happens, for example, when
  the "while" command cannot find its matching "do" due to scope, etc)
- Fixed NavPoint Top-Level Object

Beta 0.66
- Fixed filename display issue with "EndScript *"
- Implemented navigational system, divided into connected points within "worlds" and stored in XML.  
  Different files can be used to contain different sets of points.  Includes fairly simple system for 
  obtaining and using the shortest path between two points.
  * Commands: Navigation, NavPath, NavPoint
  * Datatypes: point3f, navpath
  * Top-Level Objects: navpath NavPath, point3f NavPoint[world,name]
- Fixed file handling bug with script files
- Fixed "If" bug skipping lines inappropriately 

Beta 0.65
- Fixed bug in head command
- Fixed crash issue in tail command
- Added functionality to Memory service, including usage of a custom memory protection service
- Fixed issue with variable expansion in the command parser
- Added "scripts" command

Beta 0.64
- Fixed If command when not using command blocks { }
- Added hudelement data type and HUDElement Top-Level Object
- Updated main program's console to use the new command parsing and output system
- Fixed issue with old .DAT files still being used at some points (settings would appear to not save)
- ISXDK is now version 5, requiring recompile of extensions
- Added InnerSpace.XML main settings file (currently not used by the main program, this will be created
  automatically when a game is first run through Inner Space). Settings currently include typematic rate, 
  typematic delay, and video capture settings.  The default typematic settings are now detected via Windows. 

Beta 0.63
- Settings for profiles and games switched to XML.  The old .DAT files will automatically be converted
  and destroyed

Beta 0.62
- Added HTTP service
- Changed font to monospace.  Sorry if this upsets you, but most consoles use monospace fonts and it makes
  certain things much easier for development as well as presentation
- Fixed 'Type' command used with Win32I input system (shifted keys should be typed correctly)
- CTRL+PGDN now goes to the very end of the console output (no scrollback)
- Console now supports a "typematic rate".  If a key is held down for over 200ms (1/5 of a second) in the
  console, the key is automatically re-pressed at a rate of 20 times per second until the key is released.
  This may be made configurable if deemed necessary.
- Unloading an extension no longer requires the .dll part of the filename (loading already didn't)
- Changed how parameters to Record work, and added ability to capture a % of frames, rather than every frame.
  Unless specified, the rate of capture will be 80% of your actual framerate.

Beta 0.61
- Fixed an issue with system services

Beta 0.60
- Fixed NoParse command
- Added "Memory" system service

Beta 0.59
- Fixed issue with local variable scope
- New commands:
- Fixed bug in alias execution

Beta 0.58
- Fixed command splitting via ; used with aliases

Beta 0.57
- Fixed variable parsing
- Added INIRedirect
- Fixed minor parsing issue when using |

Beta 0.56
- Made ExecuteFile command available
- Added #include for scripts
- RunScript no longer requires including the .iss extension.  If no extension is given, it will default to .iss.
- Scripts and command execution files can be placed in the Scripts subdirectory, the Inner Space main directory, or 
  the current directory in use by the game
- Extensions can be placed in the Extensions subdirectory, the Inner Space main directory, or the current directory
  in use by the game
- Variable manipulation commands now end scripts on failure
- Added File System, which will provide file redirection (e.g. Game wants to use file X, you can make it use file Y)
  and basic file i/o commands.  This system will also handle .ini file customization.
- Made several changes to in-game console (soon to be done to main console as well) to act a bit more like unix
  shells, at least as far as redirection, multiple commands and "pipelining" goes.  Certain commands can now take
  advantage of output from a command as their input (this is what is known as pipelining).  In addition to the
  current >> handling, > can be used to create a new file using the command output, | can be used to pipe the
  right-side command's output into the left-side's input (example: "tail -n 5 | head text.txt" will output the last 
  5 of the first 10 lines of the file text.txt), and surrounding a command with || can be used to insert its first 
  line of output into the commandline at that position (example: "echo 1 |2| 3" will output "1 Command not found: 
  '2' 3").  ; can naturally be used to split commands, and therefore the "multiline" command is now obsolete.
  Use double quotes around a parameter to prevent the special handling of certain special characters.
- New commands:
- Removed commands:
- Fixed FPS Limiting.  Calculate and absolute were switched, and calculate was not working correctly 

Beta 0.55
- AutoExec sequence now waits until the list of other sessions is received from the uplink
- Added optional -noactivate switch to WindowVisibility
- Made Display Top-Level Object available
- Made DeleteVariable command available
- Allowed empty aliases
- Added data members:
  bool console.Echo
- IS now adds custom resolutions to Direct3D9 games that auto-detect available resolutions

Beta 0.54
- Fixed crash in DeclareVariable with string type
- Fixed ${Session[#]} and ${Sessions}
- Added "system" datatype and "System" Top-Level Object
- Added "MaxFPS" command
- Fixed crash when opening "Games" window after first time

Beta 0.53
- Fixed WindowFrame command
- Fixed GlobalBind -list
- Added "Log" command to session and main consoles
- Fixed crash in DeclareVariable when scope not given

Beta 0.52
- Added "Games" window, used for managing games and profiles settings.  Currently when deleting, renaming or
  creating a new game or profile set, the tree control resets and collapses.  This behavior will be changed in
  coming releases, but we find it acceptable at present.  Moving on to other ease-of-use issues.
- Removed the video capture settings from profile settings.  They may be added to a new setting category.
- Added "Console" service
- Fixed "WindowFrame" changes not applying immediately
- Added "-fullscreen" switch to WindowSize command.  Note that this does not MOVE the window, just resize.  Therefore,
  a "full screen emulated" set of commands would look like this:
    WindowSize -fullscreen
    WindowPos -viewable 0,0
- Added Top-Level Objects:
  int Sessions - Number of active sessions NOT including the current one
  display Display - Currently active display system
- Added "DIMouse" command to handle capture and release of the DirectInput mouse
- Began work on the Inner Space manual
- Removed aliases from tab auto-completion, and added cycling forward (and backward by holding shift while tabbing)
- Added "OnActivate" and "OnDeactivate" to profile settings (descriptions are in the Games window)

Beta 0.51
- Fixed crash when giving too few parameters to "relay"
- Removed some debugging that was left on
- Fixed problem loading extensions

Beta 0.50
- Modified Win32I input system to work a bit better
- Added Dark Age of Camelot to list of games supported by default
- Added auto-complete (via tab key) to consoles
- Added output redirection to consoles, in the form "command parameters >> outputfilename", such as
  echo "hi" >> output.txt

Alpha 0.10
- Fixed crash when using WindowSize or WindowPosition with the -viewable parameter but not a size or position
- Fixed bug with empty parameters to an executable
- Fixed crash when saving profiles/games with a null setting
- Added "Preload" executable to Profile, which will run a program (without Inner Space) before running the actual game
- Added Sims 2 and Sid Meier's Pirates! to list of games supported by default
- Added ClipMouse command, which when enabled will prevent the mouse from leaving the client portion of the game window
- Console is now a configurable bind, which is set to use the ` key by default

Alpha 0.09
- Scripting:
  * Fixed the other crash when passing too many parameters to a function call ;)
  * Fixed return command
  * Fixed problem with function calls using the wrong local variable scope  

Alpha 0.08
- Scripting:
  * Declare now defaults to local scope when used inside a script
  * Fixed Wait command
  * Fixed crash when passing too many parameters to a function call (extras are ignored) 

Alpha 0.07
- Scripting:
  * Fixed problem with variables from global scope not being found from scripts
  * Fixed problem with function calls not setting the local variable scope
  * Fixed message that appears when a variable does not exist within reachable scope

Alpha 0.06
- Added command history to the console window via shift+up/shift+down
- Added main program's console window, accessible by sending it the "console" command or selecting Console from
  the tray menu
- ISXDK Updated to Version 3

Alpha 0.05
- Base Command: ExecuteFile
- Added auto-execution of commands file "", and added per game and per profile auto-execution (see
  Settings Reference)
- Input Commands: MouseTo, MouseClick, GlobalBind
- Added on/off parameters to Echo
- Fixed crash when invalid parameters were used with "profile" or "game" 

Alpha 0.04
- HUD Commands: HUDAdd, HUDList, HUDRemove, HUDSet
- Settings Commands: Game, Games, Profile, Profiles
- Preparing for the main program's console, uplink commands have been expanded to include a subset of
  each session's commands.  Consequently, the uplink now supports the "commands" command to list them.
- Fixed binds that were to use shift/alt/ctrl keys
- Fixed bug that prevented using the "print screen" button to capture screenshots in some games
- ISXDK version 2 now required

Alpha 0.03
- Lots of work on the Inner Space extension system, including services. ISXDK is in progress for developing extensions.
- Added Extension command
- Added Services command
- Added WindowTaskbar command
- Added Wait command  (scripting)
- Added support for Rise of Nations, Lords of EverQuest
- Working on scripting reference
  Note: If you want to be a good alpha tester and are willing to dive into scripting or extension stuff, that's where
        most of the testing needs to be done.  If you want to test either of those and let us know if you have any
        problems, that would help :)
- The tray menu now checks if games exist in the detected/default path before displaying them, so you do not see games
  you do not have (and if you do have them, the path could not be detected and is not our default.  We will have a
  mechanism to set game paths in a version or two)  

Alpha 0.02
- Added Call and Return commands (scripting)
- Auto-detection of paths for all games except for RCT3 

Alpha 0.01
- First public version

See Also