Skip to main content


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Fat Cerberus

Engine Development / Re: miniSphere 5.2.12
Okay, so I know I said that 5.2.11 would be the last 5.2 release, but the bug fixes were starting to pile up so I decided to put out another patch.  Besides bug fixes I also added an explanation of API levels to the documentation as well as showing which level each function requires.  Experimental functions are marked as such.
Game Development / Re: The Screenshot Thread
I'm going to guess that the ship is drawn as a LineLoop?  Looks really nice, and it's great to see more and more people get some mileage out of the Galileo classes.  @Flying Jester would be proud because I nicked the idea for them straight from TurboSphere. :stuck_out_tongue:

On an unrelated note, seeing things like this in action does make me think I should add an "auto" resolution option that makes the window resizable and also to use the OS native resolution in fullscreen mode...
Editor Development / Re: QtSphere IDE 0.2.5
Per spec (what little "spec" there is for the v1 formats...) I think the reserved bytes are always supposed to be zero'd.  Doing so helps with forward compatibility since the "default" for any new value can safely be assumed to be zero.

That said, it's unlikely those formats will be extended in any way going forward. :P
Editor Development / Re: QtSphere IDE 0.2.5
Hehe, anti-aliasing and colorkeyed transparency indeed don't get along very well.
Editor Development / Re: QtSphere IDE 0.2.5
The way the system is described, it seems you're meant to pass around the shared object itself, rather than a pointer to it.  This ends up being efficient because the object is merely a wrapped pointer so there's no significant cost in making copies of it.

What I'm guessing is that you're creating the object on the stack and then returning a pointer to it.  This leaves you with a dangling pointer because the object itself goes out of scope.  A pointer doesn't count as a live reference, it's just a dumb memory address.

Code: (c++) [Select]
CSomeClass object(arg1, arg2);
return &object;  // dangling ptr, ticking time bomb
Editor Development / Re: QtSphere IDE 0.2.5
That's a good idea, not saving the image right away to facilitate experimentation.  I've always been annoyed when an editor automatically saves something you just created that you might end up having to delete and start over; IDEs in particular are notorious for forcing you to save newly created projects (Sphere Studio also being an offender here).

As a suggestion for a future iteration it could be useful to see an actual preview of the generated spriteset before actually generating it; this would let the user fiddle with the values and see the results in realtime, before clicking OK.
Game Development / Re: The Screenshot Thread
@DaVince I think it didn't help that for a long time all my computers had just enough RAM to run the operating system on them.  4MB for Win95, 16MB for Win98, 64MB for XP, 512MB for Vista... so even light multitasking would cause a ton of HDD thrashing and hit the system even harder than usual.
Game Development / Re: The Screenshot Thread
That's awesome.  Yeah, Homestar Runner was the best thing about the 00s internet.  Shame the creators moved onto bigger and better things around 2009 and just kind of left the site to rot.  Pretty soon Flash will be totally obsolete and the cartoons won't even be watchable anymore. :(

I'm kind of surprised they never ran ads on that site.  Guess they made enough money from merchandise to keep it running without them.
Game Development / Re: The Screenshot Thread
I still find this excerpt from the Wap 1.5 page kind of funny. "MIDI music in particular tends to hog a lot of processor capacity."
As usual, technology marches on.

Yeah, back in the day playing MIDIs, especially on Windows, was surprisingly processor-intensive.  I could never figure it out myself, apparently the Roland soundfont included with Windows was hard to decode or something.  It was bad enough that MIDI playback would actually stutter--badly--when the processor was taxed.  Then again, that was in the days of Pentiums and PIIs for which even mp3 decoding was a chore.

I still remember trying to coax Winamp into playing mp3's on a 486/66... it was an uphill battle, but I did ultimately get it to work--by forcing the mp3 plugin to decode at 8-bit quarter-resolution (i.e. 11kHz).  It murdered the sound quality, but at least I got to listen to my music! :stuck_out_tongue:
Libraries / Re: MapEngine for Sphere v2
Well, it's not just a matter of renaming the file, for the record - the file extension is just a hint to programs.  You actually need to convert the .rmp map to the .mem format, which is what the included Cellscript does.  Same deal with the spritesets.
Projects / Re: Project ZeC (My Zelda-esque Clone)
@DaVince I think the last time FBnil was active he was using miniSphere 1.x-ish so that was definitely before I committed to supporting Linux officially.  I now do tarball releases for Linux so building there should be no issue at all these days.
Engine Development / Re: miniSphere 5.2.11
I released miniSphere 5.2.11 which fixes a bug with dynamic import() and updates ChakraCore to the latest stable release (1.10.0).  This is the final version of miniSphere 5.2 so that I can focus on coming up with ideas for 5.3.  As always though, if there are any issues let me know so they can get fixed. :smiley:
Engine Development / Re: miniSphere 5.2.9
Forgot to mention this above, the module fix besides fixing the aforementioned crash, also corrects module load order which was previously reversed, such that imports will now correctly execute in the expected order, e.g. this will now work properly:
Code: [Select]
import 'side-effect-module-1';
import 'side-effect-module-2';

In miniSphere versions prior to 5.2.9, such imports would execute in reverse order, which could cause issues especially in cases where modules are pulled in only for their side effects, à la legacy RequireScript. Special thanks to @Rhuan for fixing this in ChakraCore.
Engine Development / Re: miniSphere 5.2.9
miniSphere 5.2.9 is up.  It fixes a few minor SSj bugs as well as a bigger issue where certain combinations of circular module dependencies and import() (or require()) can crash the engine.  Barring major unforeseen issues (read: a showstopping bug), this will be the final release in the 5.2 series so that work can commence on miniSphere 5.3.
Projects / Re: Project ZeC (My Zelda-esque Clone)
You had an excuse before as Duktape wasn't *that* much faster, but now you're missing out on blazing fast JS by sticking with 1.5 ;)