I think user-defined commands and functions should be able to be defined multiple times with a different number of arguments. Then when a function is called, it will choose the function based on the number of arguments supplied. This will allow some manual implementations of default parameter values, as well.
I certainly agree about allowing to get the dimensions of a multi-dimensional array.
One way this could be done, for example in 2 dimensions, is LEN ARRAY OUT ROWS,COLS.
Perhaps you could also make a DIM() function that would return the number of dimensions in an array (or 0 for a non-array variable).
Nope, it's a limitation on the color format of GRPs (which is 15-bit color with 1 bit of transparency). The RGB syntax uses 24-bit color for convenience.
If you want to count frames, look into the MAINCNT system variable. That will return the number of frames that have passed since SmileBASIC was started, and will continue counting up in the background.
Not to rain on your parade, but there are built-in functions MAX and MIN that are the equivalent of HIGH and LOW. But on the other hand, I think your HIGH and LOW functions will work on strings while the built-in functions don't, and the BOUNDS function is useful either way!
You can run a program using RUN in direct mode or pressing Start, and save it by using SAVE "PRG:NAME" (or pressing Shift then SAVE in the top left in the editor).
You can use VAR to specify local variables. I usually use OPTION STRICT, which forces you to declare variables before they are used, so it's clear when I'm accessing a local variable in a function rather than a global variable.
I understand the concept of using output variables as auto variables, but is there any real purpose when you're always assigning an integer? Seems messy to always have to put the output value somewhere.
Also, my mind is being blown right now that functions and commands with a single OUT variable are completely interchangeable.
By the way, I'm interested to hear how smoothly this runs on original 3DS models - I believe I conditionally lowered the rendering quality enough to maintain 60FPS, but I only have a New 3DS to test on.
Happy Halloween! It's time for a raycaster game! This is a survival game filled with skellingtons, explosions, and of course, cats. Find the key and escape the maze, and if you rescue a cat you may get a reward... but watch your back! You never know what may be lurking in the shadows...
Download key: QK4N3PZF