An extension to the HaloScript language used in the Halo game series and Stubbs the Zombie.
Loops are supported if the start and end values can be evaulated at compile time
; (loop <iterator> <start> <end> [expressions])
(loop i 1 (+ 2 2)
(physics_set_gravity i)
(sleep (* i 15))
)
; (script macro <return type> <name> (<argument type> <argument name) ...) [expressions])
(script macro void record (string message)
(print message)
(log_print message)
)
(script startup example_script_main
(record project)
)
Macros are not currently type checked.
Similar to standard HaloScript globals but readonly.
The transpiler will attempt to optimise the code.