Global constant should now be working as before. I've even improved it a little. Now, global variables, being constant or not, can be initialized using expressions that use other global variables and global properties registered by the host application, they do not have to be constants. The order of initialization is depending partly on the order of declaration but also on dependency, i.e if a global variable "a" is being initialized with a variable "b" declared further down in the file, the initialization of "a" will be postponed until the used variable "b" has been initialized. Global variables can also be initialized with expressions using the condition operator ?:, the only thing that cannot be done is using the incremental operators, assignments, nor function calls. I've fixed a bug that prevented scripts from declaring global variables as pointers. Thanks Gunder Wulde for spotting that. A slight design flaw has been discovered Andrew "Desdemona" Wright, and that is related to function overloading. The problem is that a literal integer constant do not decide to use a function taking an int as parameter if there is also another function taking a float, in this case it gives an error reporting the two functions as multiple matches. Currently the solution is to manually cast to int, but I'll change AngelScript to give preference to a cast between int and uint over a cast between integer and floating point. There is yet another flaw where a pointer cannot be assigned a 0, if the pointer type is using behaviour functions. The problem is that the 0 isn't a reference. AngelScript will resolve this by placing the 0 in a temporary variable for the assignment. The next version fixing these two problems should be out any day now. Regards, Andreas Jönsson Author of AngelScript www.AngelCode.com AngelScript - AngelCode Scripting Library http://www.angelcode.com/angelscript/ http://www.angelcode.com/forums/