Skip to main content

News

Topic: neoSphere 5.6.4 (with Cell, SSj) (Read 444985 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1275

Did you just update twice tonight?


I put up minisphere 4.1.0 two days ago (8/22).  This is 4.1.1, released 8/24.  I do tend to be trigger happy with hotfixes, though. :)
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1276
Oh, alright. I cloned the git repo a little while ago to update minisphere to 4.1.0 in the AUR, and then got an email less than five minutes after I updated the AUR package that you had put out 4.1.1

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1277

Oh, alright. I cloned the git repo a little while ago to update minisphere to 4.1.0 in the AUR, and then got an email less than five minutes after I updated the AUR package that you had put out 4.1.1


Thanks for updating that package.  I had forgotten all about it.  Ubuntu PPA packages for 4.1.1 are already up.

Note for Windows users: If you had any version of minisphere prior to 4.0.0 installed at any point, I recommend uninstalling the engine, deleting C:\Program Files\minisphere completely, then reinstalling fresh.  Some things got moved around in 4.x that may cause issues/confusion if the old files aren't removed.  Removing outdated files when updating an already-installed app isn't one of Inno Setup's strong suits. :P
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1278
I kept going between forgetting about it and procrastinating, because it was a bit of trouble getting it started. But now all I have to do is change the version number and update the checksum for the source archive in two files and push them to the git repo.

Re: minisphere 4.1.1
Reply #1279
While trying to figure out why Sphere's v2 API wasn't running anything (after I created game.json), I noticed that there's a syntax error in your example JSON in sphere2-api.txt
Quote from: javascript

    {
        "name": "Spectacles: Bruce's Story",
        "author": "Fat Cerberus",
        "summary": "Follow Scott Starcross in his quest to stop the Primus.",
        "resolution": "320x240",
        "main": "main.js",
    }


When I tried to run it from the Sphere IDE, the console would open and immediately close without any warnings or errors. I had to open Windows' comand line externally and run it from there to see the error message.

Also, does the Sphere v2 API have no entry point function?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1280

While trying to figure out why Sphere's v2 API wasn't running anything (after I created game.json), I noticed that there's a syntax error in your example JSON in sphere2-api.txt


Thanks, I'll fix the documentation and maybe add a warning message in Sphere Studio when the engine fails to load for any reason.

Quote

Also, does the Sphere v2 API have no entry point function?


This is an area where the documentation needs to be improved, but starting with minisphere 4.1.1, when you use a JSON manifest, the engine runs in native Sphere v2 mode.  Among other things, this means that your main script is loaded as a CommonJS module, like in Node.JS.  Any startup code should be placed at the top level, outside of any functions, and variable or function declarations are local to the module unless you explicitly make them global:

Code: (javascript) [Select]

global.myGlobalVar = 812;


If you add "version": 1 to the manifest, the engine runs in compatible mode, the same as if you had a game.sgm file.  In compatible mode the main script runs as global code and the engine calls the game() function, just like Sphere 1.x.
  • Last Edit: August 24, 2016, 08:42:43 pm by Lord English
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1281
Here's the improved documentation for the manifest format:
https://github.com/fatcerberus/minisphere/blob/master/docs/sphere2-api.txt#L15-L82

The edits will be in the next release.
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1282
I'm not sure at what point this started happening, but it looks like on Linux, minisphere silently doesn't play some IT tracker files and throws errors for others.
Also the map engine doesn't seem to run. It just ignores calls to MapEngine(file,framerate). But running 1.5 through wine shows that it should be working correctly. (And of course it does in Windows)


I'm not sure if this is entirely related, but when I tried to use Windows minisphere through wine to get the above screenshot, calling MapEngine caused it to crash.

using SSJ, I got this output:
Code: [Select]

waiting for connection from debug client...
connected to debug client at 127.0.0.1
Segmentation fault (core dumped)
  • Last Edit: August 26, 2016, 05:52:50 pm by Eggbert

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1283
Hm, those map engine issues are weird.  I can't reproduce them.  minisphere 4.1.1 runs Spectacles just fine, and that uses the 1.x map engine.  I can also run Radnen's Blockman and DaVince's Sir Boingers just fine without issue.  So I'm not sure what's going on for you.  I'll look into it, though.
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1284
I'll make two new projects then, one will use the 1.5 game.sgm system and the other will use the new game.json system. Both will have the IT modules I tried (and maybe some others) and will test the map engine. And of course I'll test them in Linux and Windows. I sold my macbook so I can't test OS X though.

Also, could you make errors in general more specific? I know the modules were there so it's not an issue of it not finding the file, but it would be nice to get more detailed info on what's going wrong.
  • Last Edit: August 27, 2016, 05:01:59 pm by Eggbert

Re: minisphere 4.1.1
Reply #1285
Here is a picture (not a great one, but enough to be able to see) showing my laptop running Linux and my PC running Windows playing the same game. My Sphere games folder is in my Dropbox folder, so both computers are playing the exact same version. The PC has no problem playing the IT module and running the map engine, but Linux isn't loading the module.

When I remove the lines that load and then play the module, it works just fine on both.

Edit: After looking up a tutorial on audio in Allegro, it looks like it's an issue with Allegro, not minisphere. It plays ogg and wav files fine, but not IT. After installing the dumb package, it caused my player to segfault, but there is no change in minisphere. I submitted an issue to the GitHub repo, hopefully they'll be able to give me an answer as to what's going on.
  • Last Edit: August 27, 2016, 06:42:58 pm by Eggbert

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1286
The Windows builds of minisphere are statically linked with Allegro and all related dependencies (including DUMB), so that's probably why installing that package didn't change anything.  On the other hand Ubuntu builds are dynamically linked; I assume the Arch Linux packages are too?

Regarding the error messages: If you mean the "unable to load sound" error, I don't know that it's possible for that to be more specific.  One of the shortcomings of Allegro is that it doesn't provide error codes in its API.  minisphere can only ask Allegro to attempt loading the module file, and it will either succeed (and I get a valid stream pointer back), or fail (and I get a NULL back).

So just to clarify: Do you mean that the MapEngine() crash doesn't happen if you switch out the IT module for a .wav or .ogg file?  If that's the case, then it looks like the issue is indeed out of my hands.  I did see your bug report on the Allegro repo, by the way; it might help them if you provide an .it file that reproduces the segfault.
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1287
Most AUR packages just download the source and build/install it like you normally would manually, so minisphere installed in Arch shouldn't be any different from Minisphere installed in Ubuntu.

So Allegro doesn't have anything similar to SDL's SDL_GetError()/IMG_GetError()/Mix_GetError()/etc?

And I must have been mistaken, I thought it was the map engine, but it looks like it's just the tracker file.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: minisphere 4.1.1
Reply #1288
It's weird that you should have issues with IT modules.  minisphere runs Blackfoot, which uses IT modules, nearly flawlessly (save for a rogue mp3 sound, minisphere doesn't support mp3).  In fact that game was my first compatibility target when I started development. :)

It must only be certain modules that Allegro has trouble with.
Sphere 5.6.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 4.1.1
Reply #1289
After submitting a bug report to Allegro's GitHub repo, they suggested that it might have something to do with the Arch package, so I submitted a bug report to the Arch package.