LavishScript:Release Notes
Jump to navigation
Jump to search
LavishScript Version 1.43 (c) 2004-2005 Lavish Software --------------------------------- 1.43 - Fixed issue with syntactically valid methods used as commands causing errant "Error parsing data sequence" messages 1.42 - Fixed issue with scripts ending themselves via EndScript or Script:End 1.41 - Fixed crash issue with triggers + EndScript during "atexit" 1.40 - EndScript will now forcefully end "atexit" execution 1.39 - Fixed crash when "main" function of script used an illegally-named parameter 1.38 - LSModule v4 1.37 - Math.Rand is now seeded differently 1.36 - LSModule v3 - Fixed crash bugs with string.Escape and string.EscapeQuotes - Added data type members: * string.Replace[character,with,...] * script:QueueCommand[command] - More complex aliases are now supported, but still work like before if the new features are not used. 1.35 * Fixed EndScript command requiring a full path under some conditions 1.34 - Added Top-Level Objects: * int Select[value,...] 1.33 - Fixed float:Inc and float:Dec when not using indices - Added data type members: * float.Ceil * float.Round - Fixed EndScript command so using a full path and/or file extension is allowed 1.32 - Added data type methods: * string.EscapeQuotes * string.Escape - Scripts missing a closing brace } after a function will report the error and not load 1.31 - Fixed issue with recursive functions 1.30 - Fixed Continue command - Added per-script squelching in addition to the existing global squelching - Added data type methods: * script:Squelch * script:Unsquelch - Commands VarCalc, VarData and VarSet, previously marked deprecated have been removed 1.29 - Added data type methods: * rgb:Set[rrggbb] - rgb.Red, rgb.Green, rgb.Blue are now byteptr type instead of int type, thus allowing rgb.Red:Set[#] and so on - Added Top-Level Objects: * int Execute[command] 1.28 - Added #includeoptional preprocessor directive. This will include a file if it exists, otherwise continue as if it never saw anything. 1.27 - Fixed script.RunningTime - Added script.CurrentDirectory - All functionality based on LavishScript CurrentDirectory now automatically uses per-script CurrentDirectory if one is running 1.26 - Fixed issue with modules not unloading correctly 1.25 - Fixed issue with aliases not being applied correctly 1.24 - Added data type members: * string int.LeadingZeroes[desired length] * int script.RunningTime 1.23 - Switch, when used with no parameters, will now look for an empty "case" line. Previously, it would show the syntax, and execute the first case. 1.22 - Removed \ parsing from the Preprocessor (this was not supposed to be there, and inconveniently required double escaping in scripts) 1.21 - Added data type members: * variable script.Variable[name] - Restructured variable data type. Now acts exactly like the variable it views, but with Name and Type members. 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.