Skip to main content


Recent Posts

Sphere General / Re: Sphere v2 API discussion
Last post by DaVince -
This is amazing, and opens up the engine for so many possibilities when it comes to audio capability. :D

Edit: stuff like this could be pretty interesting for inclusion.
Edit 2: or this for MIDI + soundfont support, with plenty of modification I'm sure.
Spherical News / Re: Announcement: wiki updates
Last post by DaVince -
@Fat Cerberus I like the way the page looks. Were there any issues or difficulties in creating the page? Did anything seem broken? You mention the template didn't work but what did it do? This'll be useful information for when I try to reinstall the whole thing... again... *Sigh*
Off-Topic Discussions / Re: Pixel size consistency in video games
Last post by Miscreant -
Last of the screencaps for a little while...

Scaled Vs Non-Scaled versions.
Script Support / Re: GetPersonDirection??
Last post by Miscreant -
If anyone else would like to use it. Here it is.

@Rhuan if you look at the settings, I credited you as the author.

Script Support / Re: GetPersonDirection??
Last post by Rhuan -
This is why I should never post code I haven't tested...

Fixed and tested:
Code: [Select]
var to_convert = GetFileList("spritesets");
var temp;

for(var i = 0, j = 0; i < to_convert.length; ++i)
    temp = LoadSpriteset(to_convert[i]);
    for (j = 0; j < temp.directions.length; ++j)
      temp.directions[j].name =  temp.directions[j].name.toLowerCase();
    }"../other/" + to_convert[i]);
Script Support / Re: GetPersonDirection??
Last post by Miscreant -
The -5 is also incorrect. ".rss" is only 4 characters and the -5 would never equal .rss. However with those changes edited into the code, the function did make a copy of all the spritesets but none of the directional values were changed to lower case.
Off-Topic Discussions / Re: Pixel size consistency in video games
Last post by Miscreant -
Yeah, I've been trying to make variables less absolute. It's the algebra. I've been adjusting it on and off for days.

Edit: As you can see in the 3rd image, the system font gives less of an issue with the message boxes than the font I was using. The only problematic message box with the system font is Tellah. It is too wide and goes off the screen.
Sphere General / Re: Sphere v2 API discussion
Last post by Fat Cerberus -
Now that they're no longer buggy as of mS 4.8.2, I'd like to introduce everyone to the SoundStream object!  You can use this to feed raw audio data directly to a mixer.  For example, using the Aurora.js library I can play mp3 files in JS!

Code: (JS) [Select]
window = global;

let fs = new FileStream('@/music/chartreuseRewind.mp3', FileOp.Read);
let mp3Data =;
let asset = AV.Asset.fromBuffer(mp3Data);
let stream = null;
asset.get('format', format => {
// note: Aurora.js always decodes to float32
stream = new SoundStream(format.sampleRate, 32,  // 32bit = float32
while (stream === null &&;;
asset.on('data', buffer => {
Sphere.sleep(0.005);  // run event pump
Engine Development / Re: miniSphere 4.8.2
Last post by Fat Cerberus -
miniSphere 4.8.2 is up and finally fixes the SoundStream bug.  Yay!
Projects / Re: Map Engine and Sprite Engine for Sphere v2 - Plan
Last post by Rhuan -
Well I'm back and making progress.

After making a total mess of it for no clear reason I've now got the coordinate system for the map engine and the sprite engine working together properly, incorporating the ability to apply a transformation to the entire drawn map (including all sprites) and separately a facility to draw the map zoomed in or out.

I've been doing a few speed tests, I'd like the code to be a bit faster if possible, currently drawing 1200 sprites the update script takes approximately 7.5 milliseconds and the renderscript takes 6.9 milliseconds. (This includes processing movements and applying zoom and any other transformation).