I’ve converted the standard BASIC function library to use the plugin library registration method, and split it into general and a small amount of Windows specific code that needed to be rewritten for Android.
The failed test in the middle raises an interesting question though – does Basic4GL use C or C++ strings? It seems like it’s not too sure actually. Internally it uses C++ strings, but the library function mechanism accepts and returns C strings.
The difference is that C strings are zero terminated, while C++ strings can happily contain ASCII zero characters. chr$(0) results in a valid 1 character C++ string, but the library functions will assume the 0 character is the terminator and treat it as an empty string.
I may clean this up properly someday, but for now it’s enough to go on with.
Next on the list: Converting the OpenGL text view.