My first ever map is nearing completion and since I’m really a programmer by trade I’m a bit curious about the state of the scripting engine in ET.
Compared to every other programming language and scripting language I’ve ever seen it seems to be very primitive.
Why is there no normal ‘if’ construct? Since it it possible to create the correct logic for a normal ‘if’ statement (using trigger) it might as well have been implemented in the scripting engine? (I won’t even get into the other stuff that is missing in this language).
Also, what is the reason the scripting engine can’t implement normal identifier names for it’s variables? Instead we have to use this strange ‘accum’ naming scheme that makes identifier naming in most assemblers seem like paradise.
I’m guessing that the other Q3 engine games is using the same scripting engine and find it strange that it is missing so much functionality when it’s so widely used.
For my next project (if there is one) I’m thinking of using my C++ preprocessor and try to create some defines/macros to make scripting a bit less painfull.
Anyone tried this and have something to share?
lh03