LavishScript:Release Notes

From Lavish Software Wiki
Revision as of 21:35, 25 May 2005 by Eleven (talk | contribs)
Jump to navigation Jump to search
           LavishScript
           Version 1.20
  (c) 2004-2005 Lavish Software
---------------------------------

1.20
- Added Top-Level Objects:
  * script Script
  * script Script[name]
- Preprocessor #include now checks directory of current script file first
- Empty commands no longer resolve to the first command alphabetically
- ExecuteQueued will now accept an optional parameter for a case-sensitive substring search 
  to execute the next command in line that contains the given substring
- VarSet, VarCalc and VarData will now give a "deprecated" warning message.  Please switch 
  to using the :Set method for these variables
  Examples:
   "VarCalc x ${x}+1" becomes "x:Inc" or "x:Set[${x}+1]"
   "VarData x y" becomes "x:Set[${y}]"
   "VarSet x ${y}" becomes "x:Set[${y}]"
- Added "mutablestring" datatype, which inherits string. This type adds methods which should
  only be used on variables (like mutablestring:Set).  Any variables declared with the "string" 
  type will automatically use the "mutablestring" type (no changes to existing scripts or 
  extensions are generally necessary)
- To promote general simplicity, the I/O redirection operators < | > and >> have been removed.
  Subsequently, most mathematical formulae no longer need to be quoted (e.g. If and While
  condition expressions)
- Added command to replace output redirection operator:
  Redirect [-append] <filename> <command>  
- Scripts can now use ANSI-C comments which look like /* this */ (but C++ programmers dont get
  too excited, the non-ANSI // comments will not be added)
   
1.19
- LSModule v2

1.18
- Updated "time" type with new methods and members, changed the type of some of its members 
  to pointers, and allowed "time" variables to be set by a timestamp (standard unix timestamp),
  to make time-based calculations involving dates and times easier

1.17
- Fixed bugs with modules
- Added "exists" type, which always gives TRUE
- Added auto-execution of command file and script named "LavishScript" on startup

1.16
- Fixed Calculation issues
- Fixed variable casting
- Implemented current working directory independent of Windows.  If something still goes to
  the game directory by default let us know.
- Redirected input/output uses the LavishScript current working directory
- Added data type members:
  * string system.CurrentDirectory
  * string lavishscript.CurrentDirectory
  * int lavishscript.RunningTime
- New command: cd

1.14
- Fixed bug in point3f type
- Added column rendering to list functions

1.13
- Fixed several scripting bugs

1.12
- Fixed bug in script parsing when function parameters had no spacing

1.11
- New Modules system provides product-independent system for adding LavishScript commands, 
  Top-Level objects and data types
- Added "Modules" command
  Syntax: Modules -list|-add <name>|-remove <name>|-require <name>
  The -require option is meant for use in scripts -- if the module is not and cannot be loaded, 
  the script ends with an error message.