L3DT users' wiki
Large 3D terrain generator

ZeoScript change log

Next update


  • Released with L3DT v2.9 build 14.
  • Removed 'ExtAPI' namespace, to match Zeolite v2.9.1 API. Zeolite functions are now in root namespace.
  • Modified string escaping to be handled in ParseCommand, not ParseLiteralString.


  • Released v2.9.0.0, with L3DT v2.9
  • Added JIT compiler
  • Added 'RunScript2' function, which takes options list as arg. Recognised options are:
    • FileName [string]
    • WorkingDir [string]
    • ExternVars [varlist]
  • Added new functions:
    • strfind and strreplace
    • strupper and strlower
    • strleft, strright, and strsub
    • fgetc and fputc
  • Syntax changes:
    • <zs:…> syntax replaced by <…>
    • <m:…> operator replaced by <GetMap…> function
    • <f:…> operator replaced by <GetFormat…> function
    • <v:…> operator replaced by <GetVar…> function (for globals)
    • <cast:…> operator replaced by <cast…> function.
    • <&:…> operator replaced by & operator.
    • <*:…> operator replaced by * operator.
    • 'new' and 'delete' functions now behave like C equivalents, via hvar pointers, and using new heap list.
    • C-like variable name rules are now enforced.
    • removed 'goto'.
    • Ended automatic dereferencing of hvars to var arguments; users must now manually reference/dereference.
  • Bug fixes:
    • Fixed 'stresc' function, which did not correctly close escaped strings within strings in some cases.
    • Fixed handling of literal characters.
    • Fixed casting of characters.


  • Released v2.7.4.5, with L3DT v2.8.
  • Fixed bug in fseek.


  • Released v2.7.2.2.
  • Added C-like variable declarations (e.g. int a).


  • Released v2.7.2.0.
  • Added 'iseq' (is equal), 'isgt' (is greater than) and 'islt' (is less than) intrinsic functions.
  • Added 'add', 'sub', 'mul', 'div' 'mod', 'max' and 'min' algebraic functions.
  • Removed 'newset', 'seta' and 'setv' functions.
  • Modified 'set' and 'del' to take arg as varref.
  • Modified 'incr' and 'decr' to take arg as varref, and return int64.
  • Added 'srand', 'rand', 'frand' and 'absrand' pseudo-random number functions.
  • Added 'fopen', 'fclose', 'fread', 'fwrite', 'fseek', 'rewind', 'ftell'.
  • Added 'MessageBox'.
  • Added 'GetScriptFilename', 'RunScript'.


  • Released v2.6.1.0, with L3DT 2.7 beta 1.
  • Added 'goto', 'GetLineNo', 'isdef' intrinsic functions.
  • Added 'if' / 'else' / 'endif' support.
  • Added 'do' / 'while' support.
  • Added support for literals in ‘setv’ intrinsic.
  • Re-mapped ‘set’ to point to ‘setv’ (was ‘seta’).
  • Correct line numbers for goto by including empty code lines.
  • Support auto-casting of variable types.


  • Released v2.5.4.1 (with L3DT
  • added 'assert' intrinsic.
  • added 'GetWorkingDir' and 'SetWorkingDir' functions.
  • Changed intrinsic functions to work on variable handles:
    • 'del', 'set', 'setv' (arg types changed from string to hVar)
    • 'EditUI' (arg type changed from string to hVar)
    • 'not', 'and', 'or' (arg types changed from string to bool)
    • 'incr', 'decr' (arg types changed from string to variant)
  • Changed <cast:…> to handle hVars, and removed <castv:…>
  • Escaped literal string inputs. — this is a breaking change; please check scripts and plugins accordingly.


  • Released v2.5.3.3 (with L3DT
  • added new intrinsic functions:
    • 'set', 'setv'
    • 'newset'
    • 'not', 'or', 'and'
    • 'echo'
    • 'EditUI'
    • 'strcat', 'strlen'
  • added local (non-global) variable stack to scripts, used by with new/set/etc intrinsic and <var:…>
  • added <cast:…> and <castv:…> opcodes. These support casting to/from bool, byte, sbyte, short, ushort, int, uint, int64, float, double and string. Other types will be supported as required.
  • added support for more descriptive opcode names:
    • <map:…> (same as <m:…>)
    • <var:…> (same as <v:…>)
    • <format:…> (same as <f:…>)
    • <zs:…> (same as <z:…>)
  • added support for 'VarID' defines with literal ints.


  • Released v2.5.3.1 (with L3DT SE
  • Added exception catching code / error reporting to RunScript function.
  • added 'new' and 'del' intrinsic functions.


  • Released v2.5.3.0
  • Added new text-to-value handling via 'CExtAPI::var_SetValueA'.
  • Added 'ExtAPI' to default namespace.


  • Released v2.5.2.3
  • Added 'sesc' (string escape) built-in function.


  • Released v2.5.2.1
  • Improved argument parsing error reports (shows names/type of argument)


  • Released v2.5.0.2
  • Removed unnecessary '<v-new: …>' syntax (use 'ExtAPI.var.Create' instead).


  • Released v2.5.0.1
  • Added support for sbyte, ushort, uint args.
  • Updated to Zeolite v2.5


  • Released v2.3.1.0.
  • Add <v:…> syntax, to access variables.
  • Add <v:-new…> syntax, to create variables.
  • Calls to ZeoScript.RunScript return variables correctly.
  • Updated to Zeolite v2.3.1.


  • Released v2.3.0.5.
  • Added <f:…> syntax, to access file formats.


  • Released v2.3.0.4.
  • Fixed parsing of multiply-nested op call arguments.


  • Released v2.3.0.3.
  • Added <m:…> and <z:…> operator syntax.
  • Added handling of return values.

2007/03/29 (later)

  • Released v2.3.0.2.
  • Fixed handling of spaces in strings (use “quotes like this”)


  • Released v2.3.0.1.
plugins/general/zeoscript/changes.txt · Last modified: 2017/08/31 05:42 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki