Inner Space:Release Notes

From Lavish Software Wiki
Revision as of 15:01, 14 September 2005 by Lax (talk | contribs)
Jump to navigation Jump to search
           Inner Space
        Beta Version 0.996
  (c) 2004-2005 Lavish Software
---------------------------------
  
Beta 0.996 Build 2650
- Fixed stability issues

Beta 0.996 Build 2639
- Fixed bug with RunScriptFromBuffer
- Fixed bug with dataset:Save
- Settings stuff now correctly uses Current Working Directory when creating new files

Beta 0.996 Build 2636
- LavishGUI 0.51 - http://www.lavishsoft.com/wiki/index.php/LavishGUI:Release_Notes
- Added data type members and methods:
  navigation:RemoveWorld[name]
  navigation:Export[filename]
  navworld:Export[filename]
  navpoint:Rename[newname]

Beta 0.996 Build 2623
- LavishScript 1.61 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Our XML parser now adds a &filename; XML entity containing the current XML filename
  including the path, as well as &filepath; containing only the path (excluding the
  trailing slash). This applies to ALL XML files used by Inner Space (settings, UI, 
  navigation, etc)

Beta 0.996 Build 2621
- Fixed crash issue with unloading/destroying UI elements

Beta 0.996 Build 2618
- User Interface changes:
  * Fixed bug with 'window' element stored positions

Beta 0.996 Build 2613
- LavishScript 1.60 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- ISXDK v20
- User Interface changes:
  * ISUI has been internally separated, similar to the way LavishScript was separated from
    Inner Space in Beta 0.72.  The GUI system as a whole is now LavishGUI, or LGUI for
    short.  ISUI describes LGUI + Inner Space-specific UI. 
    ************************************** 
    ** THE FOLLOWING CHANGE IS REQUIRED **
    - Extensions providing custom elements must rename all ISUI to LGUI (ISUIElement is now 
      LGUIElement, for example) or they will just not compile
    Note: User Interface XML files (fonts, user interfaces, skins, etc) do NOT need changes.
          They will work as-is, and so will existing scripts.  
    **   ONLY EXTENSIONS ARE AFFECTED   **
    **************************************
  * The "console" element type has been logically separated from the Inner Space console.
    In the near future we expect this to allow multiple independent consoles.
  * UI elements now have a "Full Name", used in a reverse form like domain names (e.g.
    in www.lavishsoft.com, com is the Top-Level Domain, lavishsoft is part of the com domain,
    and www is part of the lavishsoft domain).  However, we are using @ instead of dots.  The
    default console window's output element is therefore "output@console".
  * UI elements can now selectively have their positions stored upon destruction (to be used 
    when loaded next)
  * Window elements now have a useful context menu that can be accessed by right clicking their
    title bar.  They can be locked (size and location), restored to their original position,
    or closed from this menu
  * Added UI data type members:
    - string lguielement.FullName
- Session Pre-Startup and Startup sequences now squelch the automatic command-file execution.

Beta 0.995 Build 2577
- Improved handling of the 5 key on the number pad.  Most of the numeric keys on the pad
  are separately named depending on the state of number lock, but "Num 5" is generally
  called "Num 5" both ways according to keyboard drivers (the US English one anyway) as 
  well as humans.  The technically correct name for the key without number lock on is
  "Clear", which is now the name used by Inner Space to describe the key in that state.
  To reiterate, where 4 on the number pad is "Left" and "Num 4", 5 is "Clear" and "Num 5".

Beta 0.995 Build 2571
- LavishScript 1.55 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes

Beta 0.995 Build 2570
- LavishScript 1.54 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes

Beta 0.995 Build 2568
- ISXDK v19
- LavishScript 1.53 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Fixed issue with removing items from startup sequences

Beta 0.994 Build 2556
- Fixed issue with modifying startup sequences

Beta 0.994 Build 2554
- Fixed incompatibilities with EVE Online, and probably other games as well
- Added games to default game detection list:
  * EVE Online

Beta 0.994 Build 2550
- Fixed incompatibilities with Asheron's Call, and probably other games as well
- Added games to default game detection list:
  * Asheron's Call - Throne of Destiny
  * Battlefield 2

Beta 0.994 Build 2543
- Added games to default game detection list:
  * ROSE Online
  * Flyff
- Fixed incompatibilities with Battlefield 2 and probably some other games as well
  (someone please try BF2 via Add Game and let me know if it works correctly; I'm currently 
   having unrelated problems with it on my system)

Beta 0.994 Build 2541
- LavishScript 1.52 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes

Beta 0.994 Build 2540
- LavishScript 1.51 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes

Beta 0.994 Build 2539
- LavishScript 1.50 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- FPS Limiter settings have been added to InnerSpace.xml, and the MaxFPS command now has a switch
  to disable FPS limiting (which is applied only to the foreground or background, depending on the
  command usage)
- extension.Filename now gives filepath datatype
- Fixed bug with hud -add failing with certain characters in the data
- Uplink networking now uses the Windows "Computer Name" as the default name, instead of
  "CHANGE THIS".  Any currently set to "CHANGE THIS" will be updated for this change :)
- The Games and Profiles window is now the Configuration window.  All settings in InnerSpace.XML
  are now available in the configuration window, including startup sequences.
- Games and Profiles now use the new startup sequence system, also available in the configuration
  window
- User Interface Changes:
  * ISUI Version 5. All extensions providing user interface elements need to be compiled with the
    new ISXDK. All others are unaffected.
  * New element types: contextmenu
  * Elements using OnMouseExit and OnKeyboardExit must be updated for the new function prototypes,
    or certain features wont work correctly... but will still work. 
    (this includes the existing Radar elements!)
  * Fixed issue with text sometimes displaying well beyond its intended clipped length (this does
    not affect text that was not intended to be clipped)

Beta 0.993 Build 2519
- Fixed other startup crash in InnerSpace.exe

Beta 0.993 Build 2517
- Fixed startup crash in InnerSpace.exe due to custom settings

Beta 0.993 Build 2516
- Minor LavishScript changes that nobody will notice because it was for features that arent
  documented yet.

Beta 0.993 Build 2515
** We apologize for the many recent changes and additions to the startup sequence, the ISXDK, etc.  
   We are coming to a close on the Beta stage, and preparing these and other things for the official 
   release.  As such, things will stabilize very quickly into their final form.  In the meantime,
   sorry for the inconvenience as things seem to not work and such simply because of changes to this 
   system.
- LavishScript 1.47 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Removed hud -fontsize switch
- The default UI files (fonts, skin, UI) are now loaded directly in the startup sequence, rather
  than the default startup script.  The startup sequence is automatically updated to reflect this.
- Uplink startup sequence now works
- The startup sequences now work by generating a script in memory and executing the script.
  This allows items in the sequence to easily wait for previous scripts to complete by using the
  new WaitScript command (available only to scripts) instead of RunScript, for example.  The default
  sequences are automatically updated to use this.
- The memory indicator and FPS indicator hud elements in the Default UI now default to non-visible 
  in the UI definition.  This means that simply removing the "hudgroup -show" lines will stop them
  from showing up.
- The "console" bind is now set in the startup sequence itself
- User Interface Changes:
  * Removed "hud" element type, which was redundant.  There is technically no special "HUD"
    in Inner Space, except that the hud-related commands and data types use whatever element
    is named "main hud".  The default interface now uses a transparent "frame" element as the
    main hud.
  * Fixed bug with some text showing up in the wrong places

Beta 0.992 Build 2505
- LavishScript 1.46 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- User Interface Changes:
  * The ability to draw textured lines is now implemented.  This makes way for upcoming additions 
    to elements including the navigational window

Beta 0.992 Build 2502
- Fixed mouse:SetPosition

Beta 0.992 Build 2499
- Fixed issue with session switching in some games (including EverQuest II)
- Fixed keyboard:Bind

Beta 0.992 Build 2482
- ISXDK v17
- LavishScript 1.45 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- InnerSpace.XML now contains Startup sequence sets for Uplink and Sessions. The default
  sequences now use "DefaultStartup" and "DefaultPreStartup" rather than AutoExec and PreInit.
  These default scripts are patched.  To make changes, use a separate file and change your
  startup sequence.
 - PreInit.iss, AutoExec.iss and PiP.iss are no longer created by default when IS launches.
  There will be no default replacement for PiP.iss at this time; instead, it will be rewritten
  in a better way, and distributed on ISMods 

Beta 0.991 Build 2453
- User Interface changes:
  * Fixed issue with right-aligned text
  * Fixed issue with resizing window from the right or bottom too far left or upward

Beta 0.991 Build 2451
- User Interface changes:
  * Fixed issue with bordered textures that didnt supply a rectangle

Beta 0.991 Build 2449
- User Interface changes:
  * Minification and magnification filters are once again applied to textures, which
    improves scaled font appearance.  This functionality may be modified in the future
    for selective filtering.
- Improved Win32 mouse clipping handling 
- Improved Force Window behavior

Beta 0.991 Build 2432
- Fixed minor issue with Warcraft III detection

Beta 0.991 Build 2430
- Improved XMLSetting command behavior.  It's a little more friendly now.
- Fixed dataset.GetFloat, which was returning int type instead of float 

Beta 0.991 Build 2429
- LavishScript 1.44 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Fixed crash issue with badly formed setting XML files
- Fixed a sometimes convenient bug with absolute file paths working as relative paths
- User Interface changes:
  * Fixed issue with simultaneously pressing multiple mouse buttons

Beta 0.991 Build 2425
- Fixed issue with dataset.GetString, dataset.GetInt, dataset.GetFloat when used with
  defaults
- Added workaround for Cedega alpha blending issue which prevented all textures from
  displaying correctly

Beta 0.991 Build 2421
- Fixed crash issue with backwards compatibility from build 2417 *sigh*
- Fixed Extension -require
- Fixed message boxes

Beta 0.991 Build 2417
- Restored some further backwards compatibility in deprecated functions for Amadeus ;)
- Fixed navigation system XML reader

Beta 0.991 Build 2412
- Fixed issue with dataset:Save

Beta 0.991 Build 2410
- Fixed settings issue for real this time I swear
- Fixed issue with center and right font alignments not displaying anything (e.g. on buttons)

Beta 0.991 Build 2408
- Fixed settings issue introduced in build 2406
- Fixed game and profile loss issue introduced in 2406

Beta 0.991 Build 2406
- LavishScript 1.43 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- ISXDK v16
- Fixed Picture-in-Picture resolution issue in PreInit.iss
- Navigation XML parsing, previously more of a dumb HTML parsing, is now upgraded to using
  LavishXML, the same system ISUI uses... which is much better
- The settings system has been also been updated to using LavishXML.  Comments will be
  preserved as long as they are within the XML tree (e.g. must be somewhere inside the
  "InnerSpaceSettings" element or any of its children).  Anything outside of it will be
  ignored, and removed if the file is re-generated.  Sets can now have subsets.  Names
  of settings and subsets must be unique within a set (a setting may not have the same
  name as another setting or subset within the same set, for example).  The outermost
  tag (InnerSpaceSettings) is also considered a set, and can have its own settings.  Any
  set can be exported to a new XML file, and any XML file can be imported to an existing
  or new set.  The system is backwards compatible, except for some conversion done
  internally.  You will notice the lack of ID numbers in newly generated setting XML files,
  other than specific internally-used files such as Games.XML and Profiles.XML.
- Extension command now has a -require switch, which works like the LSModule LavishScript
  command.  If the extension could not be loaded, the current script ends with an error.
- Removed "settingxml" data type.  It has been merged with the "dataset" data type.
- Improved game detection system. Now, game detection is completely done through XML.  The
  file used by default for detection is GameDetection.XML.  Custom files can be set in
  InnerSpace.XML in the "Game Detection" set (use any name, they will be used in the order
  listed) -- you may remove the default from the list.  
- User Interface changes:
  * ISUI Version 4
  * ISUI textures will no longer use min/mag filters.  This removes some unnecessary
    distortion as well as some previously necessary distortion (see next item)
  * Support for custom fonts has been added.  The default font is still Terminal, but has 
    been slightly modified because of the above change, and is defined in the default fonts
    XML file rather than hard-coded.  For another example, the Bradley Hand ITC font, which 
    is variable width, has been added.  Note that some element types (currently just console)
    require fixed width fonts, and will not use variable width fonts no matter how hard you
    try :)  As a result of this change, any UIs or skins with custom font size or color need
    to be updated.  Elements types that are not built in, such as any radar elements, are not 
    immediately affected.  Such elements should be updated by their authors to conform to
    the new system.
  * Window elements revamped. Window is now based on frame, has a TitleBar frame (which
    may contain special minimize, maximize, close, title children), and a Client frame
    (where the useful part of the window stuff goes).  This makes window elements much more 
    customizable.  The draggable area of windows for moving includes any non-child area,
    any empty portion of the title bar, and over the title portion of the title bar.  Double
    clicking on the title bar now toggles the minimize state of the window.  As a result of
    this change, some UIs or skins need to be updated.
  * Base element now allows for more types of element positioning.  In addition to the
    existing "Fixed" and "Percentage" methods, now accepts "Reverse Fixed".  To use this,
    put an "r" before the number, such as: <X>r17</X> which is effectively 17 from the
    right instead of 17 from the left (same goes for from the bottom instead of the top).
  * Increased accuracy of Percentage positioning methods
  * The console window is now resizable height-wise thanks to the element positioning changes
  * Moving the mouse over a tooltip element will now hide it (this fixes issues with tooltips
    sometimes getting stuck visible)
  * Fixed issue with elements that supported single click, but not double click
  * Added element types: table

Beta 0.99 Build 2340
- User Interface changes:
  * Fixed crash issue with listbox element type
  * Fixed listbox slider positioning issue

Beta 0.99 Build 2333
- LavishScript 1.42 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes

Beta 0.99 Build 2332
- LavishScript 1.41 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Fixed issue with patch notes
- Added data type members:
  * bool navpoint.ConnectsFrom[name]
  * int navpoint.Outgoing
  * int navpoint.Incoming
  * navpoint navpoint.Outgoing[n]
  * navpoint navpoint.Incoming[n]
- Fixed a false negative from navworld:Set
- Added generic stealth routines

Beta 0.99 Build 2311
- Un-fixed EverQuest II bug, and fixed features that were inadvertently removed in today's patch
  (this includes global activation keys, screen resizing features, and a few other things)

Beta 0.99 Build 2306
- Fixed bug with EverQuest II where if the session started in full screen, then was switched to
  windowed, then to full screen again, it would appear to lock up
- Patch notes should now be displayed before (or at the same time as) the message box that asks 
  if you want to patch Inner Space this session

Beta 0.99 Build 2284
- User Interface changes:
  * Fixed issue with default gauge templates causing gauges to always look empty

Beta 0.99 Build 2282
- Fixed error messages in the patch system that should have been automatically handled, such as
  the -17 error when patching two computers at the same time
- Fixed buffer overrun in InnerSpace.exe after launching games several times
- User Interface changes:
  * Added double-click functionality

Beta 0.99 Build 2273
- Fixed saving of "always update" setting
- User Interface changes:
  * Fixed the new RRGGBB color functionality

Beta 0.99 Build 2272
- Fixed issue with default scripts not being created initially
- User Interface changes:
  * Elements that draw colored text (tooltips, console) now accept RGB color codes like so:
    \a#RRGGBB.  RRGGBB works the same as web (HTML) colors.  For example \a#FF0000 is full red

Beta 0.99 Build 2271
- LavishScript 1.38 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Inner Space will no longer automatically update itself without your permission.  Instead, a message
  box will pop up and allow you to always patch (yes), patch this time (no), or skip patching this time
  (cancel), but explained in a different way.  This will allow you to temporarily continue using an
  old version of Inner Space until extensions you need are updated.
- ISXDK v15
- User Interface changes:
  * Added "tooltip" element type
  * Added AutoTooltip property to the base element type
  * Fixed "Always On Top"
  * Fixed BorderColor in some elements when textures are not used
  * Fixed templating slider element textures
  * Fixed position and size factored children inside static-sized elements
  * Fixed check boxes with a height less than 16 
  * Fixed horizontal slider handle
- PreInit.iss, AutoExec.iss and PIP.iss will no longer be overwritten by new versions of them.
  Instead, new versions will be output to PreInit.iss.sample, AutoExec.iss.sample and PIP.iss.sample,
  and a message box will simply state that the sample has been updated.

Beta 0.98 Build 2248
- LavishScript 1.37 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- "Process Frame" service has been merged with the "Pulse" service
- Added recording and playback for keyboard and mouse movements, through a new "Macro"
  command.  This is still in development, but you can test it and report issues
- Various other things that will get more mention later, after we finish them 

Beta 0.98 Build 2225
- LavishScript 1.36 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- ISXDK v14
- Added Data Types:
  * isuielement
  * isuibutton
  * isuicheckbox
  (rest of built-in UI element types to follow soon)
- Added Top-Level Objects:
  * isuielement UIElement[name]
  * isuielement UIElement[#]
- Fixed "DisplayInfo" crash in Direct3D8 games
- Added -stealth switch to WindowPos command

Beta 0.97 Build 2202
- Fixed issue with per-script squelching which squelched stuff it wasnt intended to
  squelch (echo, some error messages, etc)
- Fixed issue with launching some games, including those using Steam
- User Interface Changes:
  * Text now really correctly shows special characters over 127 in the ASCII chart 
    (which was supposed to correctly show in Build 2162)

Beta 0.97 Build 2175
- Fixed issue with ISUI elements allowing mouse button presses to pass through and
  then preventing release

Beta 0.97 Build 2168
- Fixed crash on game exit
- ISXDK v13c.  Solves extensions having problems re-loading after being unloaded. 

Beta 0.97 Build 2165
- ISXDK v13b.  Any extensions providing ISUI element types are required to be compiled
  with the new ISXDK version (others will simply fail to load, with Windows possibly 
  popping up a message box about not being able to find something)

Beta 0.97 Build 2164
- LavishScript 1.35 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes 

Beta 0.97 Build 2162
- LavishScript 1.34 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- User Interface Changes:
  * Transparent windows (windows with no texture, and backgroundcolor set to 0) will now
    allow clicks to pass through
  * Text now correctly shows special characters over 127 in the ASCII chart
  * When a UI Element Factory is destructed, it will now remove all UI Elements of its
    assigned type, relieving extensions of this burden (if they were compiled with
    ISXDK 13a)  

Beta 0.97 Build 2158
- LavishScript 1.32 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes 

Beta 0.97 Build 2157
- Echo is no longer squelched by per-script squelching
- When using triggers, variable portions named * will be ignored and not passed along

Beta 0.97 Build 2156
- LavishScript 1.31 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Removed the minimizing workaround intended to prevent the problem where scripts stop
  when some games are minimized due to not drawing
- User Interface changes:
  * Fixed crash issue with window elements using a minimize button, but no close button

Beta 0.97 Build 2150
- Added -clear switch to bind and globalbind commands
- Minor LavishScript fix that nobody but Blazer will notice

Beta 0.97 Build 2148
- Fixed issue with minimizing session windows

Beta 0.97 Build 2147
- LavishScript 1.30 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- ISXDK v13
- HUDAdd and HUDRemove aliases have been removed.  Use HUD -add and HUD -remove, or create
  the aliases manually
- Fixed HUD -list
- Hopefully fixed issue with alt+tabbing (and such) from a true full screen game causing 
  the game to not respond
- Fixed uplink networking for good
- Fixed texture transparency
- Video capture functionality now allows you to encode the video later, instead of immediately
  after capture.  Encoding is a CPU intensive process and would previously force you to lag
  immensely until the process completed.  To disable immediate encoding, edit InnerSpace.XML
  and change the "Encode Immediately" setting from 1 to 0.  Videos are now temporarily stored 
  in the "Video Cache" folder, each with a unique number.  If set to encode later, manually 
  encode each video with the "Encode" command in the Inner Space Uplink, like "encode 1" to 
  encode the video stored as number 1.  The files will automatically be removed when the 
  video is encoded.
- User Interface changes:
  * Added "Always On Top" toggle to the ISUI base element type
  * "window" elements will now move themselves to the top of their parent's Z-order (e.g. no 
    longer behind other elements).  If the window element is not "always on top" it will remain
    behind any "always on top" elements.

Beta 0.96 Build 2128
- LavishScript 1.29 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Fixed issue with uplink networking with pre-existing sessions
- MessageBox and InputBox commands now accept an optional -template switch to set the
  appearance of the window
- Clicking minimize on a game window now simply hides the window, instead of truly minimizing.
  Many games will not render when minimized, which prevents Inner Space from performing
  per-frame operations until the game window is restored.  This change allows natural user
  behavior while preserving the effectiveness of Inner Space
- The script input box now sets the keyboard focus upon popup.  Hitting enter in the input
  box now effectively hits OK for you as well.
- User Interface changes:
  * Added element types:
    combobox
  * textentry elements created with default text no longer crash on backspace
  * Elements with automatic scrollbars (listbox, combobox, console) now use templates for
    those scrollbars 

Beta 0.96 Build 2112 (Attention all planets of the solar federation)
- Fixed issue with PreInit.iss and AutoExec.iss beginning execution on the following frame,
  rather than immediately.  This fixes issues with file redirection and such, in cases where
  the redirection was necessary immediately

Beta 0.96 Build 2110
- Squelch no longer parses data sequences
- Fixed issue with uplink networking not responding
- Relay "all" now relays to all sessions including remote sessions.  A new "all local" parameter
  for Relay will relay only to local sessions

Beta 0.96 Build 2106
- Fixed "Background Mouse" switch so that it works correctly when set to OFF.

Beta 0.96 Build 2103
- Added "Background Mouse" switch in "Input Systems" for game settings.  This option "Allows the
  game to receive manual mouse position changes in the background.  Disabling this will improve 
  mouse emulation in some games when the game is in the background".  The option is enabled by
  default.
- The "Lock Foreground" option now defaults to ON for EverQuest II in new Inner Space installations
- Fixed issue with static lines in text boxes not wrapping
- Fixed issue with texture color mask and color key not being applied from templates

Beta 0.96 Build 2102
- Fixed crash involving messageboxes given a background texture
- Fixed issue with long lines in command entry boxes causing the caret to remain past the end of
  the typing position 

Beta 0.96 Build 2100
- Minor LavishScript fix, for int.LeadingZeroes

Beta 0.96 build 2099
- Corrected mouse issues with video lag, secondary monitor, etc.
- User Interface changes:
  * Templates can now be templated

Beta 0.96 build 2097
- Temporary improvement on a reported mouse problem on secondary display when using mouselook in
  certain games (should be fully fixed tomorrow)

Beta 0.96 Build 2096
- Fixed issue with recent addition to the ISXDK

Beta 0.96 Build 2093
- Fixed mouse emulation issues in EverQuest II (and possibly other games)

Beta 0.96 Build 2091
- Fixed issue with multiple sessions being allowed to have the same name, and modified 
  AutoExec.iss accordingly
- Fixed WaitFor (apparently nobody tried to use it yet)
- Console text now goes through the trigger (and WaitFor) parser
- Added -rescale switch to WindowSize and WindowScale.  When this switch is given (must be before
  other switches), the window will resize without allowing DirectX to reset the display resolution
  to the new size of the window
- Added games to the default list:
  Grand Theft Auto: San Andreas
- User Interface changes:
  * Windows with a background color of 00000000 and no texture will be effectively transparent,
    but mouse clicks will not fall through.
  * Fixed click area of minimized windows
  * Added element types:
    frame
    tabcontrol

Beta 0.95 Build 2079
- Fixed navpoint.Note and navpoint:SetNote

Beta 0.95 Build 2078
- Fixed issue with not being able to run scripts from subdirectories

Beta 0.95 Build 2077
- LavishScript 1.26 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Win32 mouse click emulation now uses the same delay before releasing the button that the
  key press emulation uses
- Win32 mouse position emulation now ignores manual mouse movement when the window is not
  foreground
- Added PlanetSide to games supported by default
- Fixed the console caret (aka "cursor") that disappeared  

Beta 0.95 Build 2076
- Added data type members:
  int navworld.LastID

Beta 0.95 Build 2075
- LavishScript 1.25 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Uplink networking is now available.  This allows others to connect their uplink to yours,
  allowing them access to relay commands to you, and you to them.  Obviously, this requires
  a level of trust with the other party, and most people will not want to network to anyone
  but their own computers.  With that in mind, this feature is disabled by default and must
  be enabled by changing settings in InnerSpace.XML:
	<Set ID="3" Name="Remote">
		<Setting Name="enable incoming">0</Setting>
		<Setting Name="incoming port">10101</Setting>
		<Setting Name="name">CHANGE THIS</Setting>
	</Set>
  To use the feature at all, change the name from CHANGE THIS to something unique.  You
  cannot connect to an uplink with the same name.  To enable incoming connections, change
  "enable incoming" to 1.
- Added RemoteUplink command
- Fixed crash issue with script text input boxes (using the InputBox command)
- User Interface changes:
  * Added "Templates", used for changing the default appearance of elements and textures.
    See the ISUI documentation for complete information
  * All element types now accept a "Template" attribute.  If no template attribute is
    given, or the template named in the attribute does not exist, the template that has
    the same name as the element type is used
  * Textures now accept a "Template" attribute, and the ColorMask property may be given
    as an attribute to use a color on a templated texture
  * Removed all DefaultTextures tags.  Elements with textures are now textured according
    to their template.  To disable textures in a templated element, use an empty tag to
    remove it.  For example <Texture /> or <TexturePressed />
  * Added element types:
      listbox
  
Beta 0.94 Build 2052
- LavishScript 1.24 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Fixed InnerSpace.exe crash on exit
- User Interface changes:
  * Added scroll bars (no XML for these)
  * DefaultTextures tags now accept a ColorMask attribute, used like so:
    <DefaultTextures ColorMask="FF00FF00" />
    The color will be applied to each of the default textures used in the given element.
  * Fixed colors in EverQuest II
  
Beta 0.94 Build 2045
- Fixed navpath.PointName and navpath.NearestPoint
- Fixed redirect not parsing
- Fixed navpath variables  

Beta 0.94 Build 2042
- User Interface changes:
  * Added Orientation attribute to textures.  Can be 0, 1, 2 or 3.  The texture is rotated
    90 degrees clockwise for each # (e.g. 270 degrees for 3)
  * Added new element types:
    slider
    variableslider
    gauge
    variablegauge 

Beta 0.94 Build 2037
- Added mousewheel support to ISUI.  The console output window will now scroll with the wheel. 

Beta 0.94 Build 2034
- navpath:GetPath now allows any number of additional parameters to concatenate paths together,
  just like the NavPath command
- navpath data type now allows variables to be created
- Added data type members:
  int navpath.NearestPoint[x]
  int navpath.NearestPoint[x,y]
  int navpath.NearestPoint[x,y,z]
- Commands for resizing or moving the game window can no longer be used while the game is in
  real full screen mode
- Added commands:
  (script only) InputBox <displayed text> [default]
  MessageBox [-ok|-okcancel|-yesno] <text>
- Added Top-Level Objects:
  string UserInput: Used in scripts with the above commands to indicate the result.  For Message 
                    Boxes, possible values are OK, Cancel, Yes, and No (NULL if the script ends
                    or message box is killed before answering).  For Input Boxes, the value is
                    the text entered in the box (NULL if the cancel button is pressed, the script
                    ends, or the input box is killed before answering).  

Beta 0.94 Build 2018
- LavishScript 1.22 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- User Interface changes:
  * Added "text" element type (allows aligned, colored text, with line wrapping optional)
  * Texture ColorMask attribute now works (blends a color into the texture, can be used to make
    colored buttons with the default textures, etc)

Beta 0.94 Build 2017
- Fixed ISUI issue with keys "sticking" (only in the UI) after changing sessions
- User Interface changes:
  * Made window resizing a little more friendly.  To resize a resizable window, drag the border.
    Previously, it was set to the nearest 3 pixels to the border, and was not obvious if you
    were close enough.  Resizable windows have a minimum border size of 3 as well.
  * Windows will now dock to their parent element's edges when moving them.  To prevent this,
    hold SHIFT while dragging the window.

Beta 0.94 Build 2013
- LavishScript 1.21 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- Inner Space now includes a build number in addition to the version number
- The UI command now has -reload and -unload switches for reloading and unloading specific
  interface files
- NavPath command now accepts additional parameters to add consecutive paths together
- User Interface changes:
  * Textures are now supported
  * Added some new element types (still working on finishing up the basics)
  * Windows can be resizable  

Beta 0.94
- LavishScript 1.20 - http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- 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:
  http://www.lavishsoft.com/wiki/index.php/LavishScript:Release_Notes
- 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:
  navworld.Points
  display.FPS
  display.HUDElement
  keyboard.Bind
- Added data type methods:
  display:AddHUDElement
  keyboard:Bind
  hudelement:SetSize
- 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>
  Example:
    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
  started)
- 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
  Warcraft)  

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
  information
- "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: http://www.lavishsoft.com/wiki/index.php/LavishScript
- 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 "PreInit.ice" and "AutoExec.ice" (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:
  WaitFrame
- 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:
  FileRedirect
  Cat
  Head
  Tail
  Line
  Arg
- Removed commands:
  Multiline
- 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 "AutoExec.ice", 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