Awesome stuff. A way to enable filtering for images would be good.
I thought of two other things that I find useful additions to the API. These are additions I added for use by my map engine, so I have an actual use for them as opposed to SetTileName.RawFile.read(), with no argument, reads the entire file.RawFile.readString() works the same as read, but returns a string. This can save on memory usage, when otherwise an ArrayBuffer or ByteArray would have to be garbage collected. Until then, you have at least two entire copies of the read in memory.
var red = new Color(255, 0, 0);Abort(red instanceof Color); // true!
So I noticed a missing effect in the Sir Boingers intro screen: the backgrounds are supposed to fade in and out to and from black, but they're not. They're scrolling and a new background is shown without any transition whatsoever.The fade effect is performed by overlaying a fullscreen black rectangle that changes its opacity - code at line 465-481 in start.js. For some reason this doesn't seem to render in minisphere (and I made sure to compile the latest version - works full speed even on an old laptop, good work!)
while (AreKeysLeft()) key = GetKey(); if (key != undefined) { if (key == KEY_BACKSPACE) playername = playername.slice(0, playername.length-1); else if (key == KEY_ENTER && !lastpressed && playername != "") break; else if (playername.length <= 20) playername += GetKeyString(key, shift); } key = ""; if (IsAnyKeyPressed()) lastpressed = true; else lastpressed = false; if (IsKeyPressed(KEY_SHIFT)) shift = true;