Quote: "as it removes work from the compiler"
How? All #constant does is tell the pre-processor which code to use to replace the constant name before it gets compiled. The compiler still has to compile the resulting code. For example the following code
#constant myConstant yrotate object 1, object angle y(1)+0.2
sync on : sync rate 60 : sync
load object "myObject.x", 1: load image "myTex.png", 1: texture object 1, 1
repeat
myConstant
sync
until spacekey()
end
is exactly the same as
sync on : sync rate 60 : sync
load object "myObject.x", 1: load image "myTex.png", 1: texture object 1, 1
repeat
yrotate object 1, object angle y(1)+0.2
sync
until spacekey()
end
when compiled.
Since all you've achieved is an extra pre-processor step it's hard to see where the saving lies.