Skip to content
Compare
Choose a tag to compare

This is a maintenance release.

🗒️ What changed?

  • Removes the architecture (x86/x64) from the command-line header.
Compare
Choose a tag to compare

neoSphere 5.8.0 is a feature release. This version adds several new experimental APIs.

Release Notes

  • It is now possible to construct standard transformation matrices directly using static methods of the Transform class, without the need to call new Transform() first. See the API documentation for more information.

  • Support for the global binding is now disabled when targeting API level 4 and higher. Going forward, games should use the ECMA standard globalThis to access the global object.

🗒️ What's Changed?

  • Adds a new API, Color.fromRGBA(), for constructing colors from 8-bit RGBA component values.
  • Adds a new API, Transform.Identity, for quickly getting an identity matrix.
  • Adds new static methods to Transform to construct basic transformations without the need to call new Transform() first.
  • Adds a new predefined color, Color.EatyPig.
  • Fixes a bug that caused the dimensions of Transform#matrix to be swapped.
  • Removes support for global when targeting API 4 or higher.
Compare
Choose a tag to compare

neoSphere 5.7.2 is a maintenance release.

What's Changed?

  • Adds RT.Version for getting the current API revision of the Sphere Runtime.
  • Renames Thread to Task, retaining the former as a temporary alias.
  • Removes the .ready and .whenReady() APIs added in the previous release.
  • Removes support for new Surface(fileName) and Surface.fromFile() in games targeting API 4 or higher.
  • Fixes an issue with the cell init template that left new projects with an invalid describe() call in their Cellscripts.
  • Fixes a bug that caused the engine to stop responding to debugger commands while the JavaScript error screen was being displayed.
Compare
Choose a tag to compare

neoSphere 5.7.1 is a maintenance release. This version adds support for the ready property and whenReady() method to classes such as Texture which can be constructed with a filename and loaded in the background.

What's Changed?

  • Adds new .ready and .whenReady() APIs which allow games to check if an asset (texture, sound, etc.) is completely loaded before using it.
  • Changes the handling of the first parameter of Cell's install() to be relative to @/ by default, instead of $/.
Compare
Choose a tag to compare

neoSphere 5.7.0 is the eighth major release in the neoSphere 5.0 series. This release adds support for SGM-only Sphere v2 targeting, brings back the describe() function in Cell, renames BufferStream back to DataStream, and fixes several bugs.

What's New?

  • It is now possible to target Sphere v2 using only a game.sgm file. To that end, Cell will now include the necessary fields in the SGM file when building a game targeting Sphere v2. For full backward compatibility, a corresponding game.json will still be generated in the distribution.

  • Save data (i.e. files written into ~/...) is now stored in a Sphere Saves folder under the user's Documents folder. If you have any save data stored in the old location (neoSphere -> Save Data under Documents), you'll need to move it to the new location if you want your games to continue to pick it up.

  • BufferStream has been renamed back to DataStream for consistency with the naming of JavaScript's built-in DataView, which serves a similar purpose. The class is also better documented now.

  • When targeting API level 4, JSON.fromFile() will no longer work. FS.readFile() should be used instead, with its new JSON read mode (refer to the API documentation). For backward compatibility, JSON.fromFile() will continue to work in games targeting API level 3 and under.

  • The describe() function has been re-added to the Cellscript API and should be preferred going forward, instead of assigning directly to Sphere.Game.

  • When debugging a Sphere game in SSj, code originating inside one of the sphere-runtime modules is now skipped over. This allows Step Into to be used more freely without the need to wade through system code.

Full Changelog

  • Adds support for targeting Sphere v2 without a JSON manifest.
  • Adds back support for the describe() function in Cellscripts.
  • Adds support for showing a game's targeted API level in SSj.
  • Adds the ability to automatically step over Sphere Runtime code while debugging.
  • Adds a new JSON read mode for FS.readFile().
  • Changes the Documents folder hierarchy so both screenshots and save data are put into a single Sphere Saves directory.
  • Removes support for the undocumented JSON.fromFile() function when targeting Sphere v2 API level 4 or higher.
  • Fixes an issue where neoSphere annoyingly creates an empty directory for Sphere v1 games in the user's Documents folder on every startup.
  • Fixes a bug where Cell rejects save IDs containing spaces as invalid.
  • Fixes a bug where the engine may crash on startup if it's unable to launch the requested game.
Compare
Choose a tag to compare

neoSphere 5.6.4 is a maintenance release. This version makes ssj --no-pause the default behavior and also removes the bundled copy of Sphere Studio, which is now versioned separately and provided as a separate download.

What's Changed?

  • Changes SSj's --no-pause option to --pause and makes not pausing on startup the default behavior.
  • Changes the label color for warnings in the terminal from red to yellow.
  • Removes all Sphere Studio components from the neoSphere codebase.

Important!

It is strongly recommended to uninstall any previous version of neoSphere before installing this release.

Compare
Choose a tag to compare

Sphere 5.6.3 is a maintenance release. This version fixes a bug in the Sphere Studio plugin which caused project generation to fail when starting a new project.

What's Changed?

  • Fixes a bug where creating a new project with Sphere Studio would fail due to changes to the project template.
Compare
Choose a tag to compare

Sphere 5.6.2 is a maintenance release. This release adds support for targeting API level 4, which is not yet finalized but may be useful for testing compatibility with Oozaru, which will bring some breaking API changes upon release due to differences in the way the Web API works.

⚠️ IMPORTANT!
As of Sphere 5.6.1, 32-bit (x86) installations of Windows are not supported. You must have a 64-bit operating system to use this version of Sphere.

What's Changed?

  • Adds support for targeting the future Sphere API level (currently API 4).
  • Fixes a bug where cell init produces a Cellscript that targets API level 4 instead of the current stable API 3.
Compare
Choose a tag to compare

Sphere 5.6.1 is a maintenance release in the 5.6 series. This release fixes a bug in Cell that caused it to produce a bogus deprecation warning even when targeting the current API level.

⚠️ IMPORTANT!
This release removes support for 32-bit (x86) versions of Windows. You must have a 64-bit version of Windows installed to use this or any future version of Sphere.

What's Changed?

  • Removes support for 32-bit versions of Windows.
  • Fixes a bug where Cell would show a deprecation warning even when targeting API level 3.
Compare
Choose a tag to compare

Sphere 5.6.0 is the seventh major release in the Sphere 5.0 series. This release adds support for sampler uniforms in shaders, replaces the DataStream class with the more flexible BufferStream, and renames the engine implementation from "miniSphere" to "neoSphere".

What's New?

  • In preparation for FileStream access becoming asynchronous, DataStream has been removed from the Sphere Runtime API and its role replaced by the new BufferStream class. In general, code using DataStream to read structured data from binary files should instead call FS.readFile() with DataType.Raw and construct a BufferStream from the resulting data buffer.

  • neoSphere now users "neoSphere" for the name of its user data directory (in the user's Documents folder), instead of "miniSphere", to go along with engine rename.

  • The legacy Sphere v1 "startup game" has been removed. When launched, neoSphere 5.6 and later will now show a standard file-select dialog instead so that the user can select a game from anywhere.

Full Changelog

  • Adds support for multiple texture units and, by extension, additional sampler uniforms in shaders.
  • Adds a new class, BufferStream, to the Sphere Runtime.
  • Changes the name of the engine from "miniSphere" to "neoSphere".
  • Renames the user data directory from "miniSphere" to "neoSphere".
  • Removes the DataStream class from the Sphere Runtime.
  • Removes the Sphere v1 "startup game" in favor of showing a standard file-select dialog when launching neoSphere.
  • Fixes a bug where Query#shuffle() doesn't shuffle the final result.
  • Fixes a bug where Mouse#position returns an array with the coordinates in the wrong order.