The Ethanon Engine virtual machine (e.g. machine.exe on Windows) starts by compiling and running main.angelscript placed in the project root directory. Eventually the main script file will #include
other source files as well.
Ethanon *.angelscript script files can be edited with SciTE, a text editor included in the SDK. SciTE can also execute (F5) and compile/build (F7) projects. The SciTE mod will highlight all AngelScript and Ethanon reserved global words, such as functions, objects and constants.
Just like many programming languages, a game starts from the main function:
[main.angelscript]
void main() { // loads my_scene.esc LoadScene("scenes/my_scene.esc"); // hides the mouse cursor HideCursor(true); // set screen options SetWindowProperties( "Ethanon Engine", // window title 1024, 768, // screen size true, // true=windowed / false=fullscreen true, // true=enable vsync false=disable vsync PF32BIT); // color format }
Every Ethanon script must have a void main()
function. This function must be void
and should not have parameters.
LoadScene
is a global function that loads a scene from an ESC file. The code above loads my_scene.esc
and runs it in a regular game loop.
HideCursor
and SetWindowProperties
functions are EE's native globals too. They're called to setup window options, but both are optional. If the function SetWindowProperties
is ommited in the main
function, the core engine will use its internal defaults (normally defined in app.enml file).
SetWindowProperties
may be used at any time to change windows states such as changing screen size or toggling between windowed and full screen modes.