Skip to content
This repository has been archived by the owner on Mar 5, 2021. It is now read-only.

v0.16.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@elisee elisee released this 04 Jan 01:08
· 633 commits to master since this release

Now powered by Electron!

Until now, NW.js had the heavy responsibility of powering the Superpowers app and it did a fine job. But we've decided to embrace the newer, more regularly-updated and better-supported Electron runtime going forward.

Electron runs the latest stable versions of Chrome and Node.js under the hood and has a lot of momentum behind it.

While this is a very positive change, it might be a little disruptive and we're sorry about that. For instance, your server list will be reset because it was stored inside's NW.js local storage and Electron has its own. Also, there might be new bugs, though we've done quite a lot of testing. Let us know if you find any!

Oh and if you're running your own stand-alone Superpowers server, we recommend upgrading to Node.js 4.x as that's the version we'll be working with from now on.

New login page

The new server login page asks for the server's password and your chosen username at the same time. Much nicer than the terrible one-at-a-time prompts of yore! Still looks a bit bare, but we'll get there.

Redesigned asset search popup

The search popup is now bigger, cleaner, features asset type icons and its keyboard ergonomy was improved! Use Ctrl+P to trigger it, or Cmd+P if you're on a Mac.

Project hub improvements

The new "Edit details" button opens a popup that lets you edit the project's name, description and icon all at once.

The new "Open project" button lets you open projects on smartphones and tablets! Ergonomy of the various editors isn't great for touch devices at the moment, but hey, at least it works!

When hovering over a project, its type is now displayed next to its description.

First release of the cubic model editor!

The cubic model editor is finally here for all to play with!

It's pretty rough around the edges still but you can build your own cubic models in Superpowers now, just like you could in CraftStudio. How cool is that? :D

Support for animations, custom unwraps and more shapes (!) will be coming in future updates.

Shiny new icons and buttons

We did a lot of visual clean up.

  • The icons to manage assets above the project tree were redesigned.
  • The tile map and tile set icons have been redesigned.
  • The scene editor's ugly text buttons were finally replaced with pretty icons.
  • The vectorized Superpowers icon is now used everywhere!

"Stop project" button for closing frozen games

From time to time, you might get your game stuck in an infinite loop. It's alright, it happens to the best of us. Thanks to our upgrade to Electron, you can now get out of this sticky situation with the click of a button!

New documentation tool

The controls and hotkeys for the scene and tile map editors have finally been documented inside Superpowers!

This new built-in documentation is pretty barebones at the moment, we'll be giving it some love over the next few releases.

The documentation tool inherited from the TypeScript API browser's old icon, and the API browser got paid back with a more fitting one.

Redesigned settings tool

With the toolshelf getting more crowded, the Settings tool got jealous so we gave it a paint job!

We don't hide each editor's settings in its own page anymore, and we've separated global game and project settings from the rest.

Noteworthy fixes and improvements

  • The launcher now properly handles offline servers and will check if the server's version is compatible with the launcher.
  • Exported games now feature an index.html at the root, which makes uploading them to various hosts simpler.
  • Asset types, tools in the toolshelf and component types are now sorted by name in the user interface
  • Sup.Actor.getBehaviors has been added, for getting multiple behaviors of the same type.
  • Component destruction has been fixed to work properly in all cases.
  • Tile map renderer components are no properly destroyed too.
  • Sup.SpriteRenderer.setAnimationTime now correctly handles animation speed.
  • The shader editor's stylesheet has been reworked quite a bit.
  • Updated to p2.js v0.7.1, which no longer bundles unnecessary dependencies, saving ~20 MB of disk space.
  • Scene asset dependencies are now correctly initialized when loading a project.

Plugin development

SupClient registration APIs have changed

SupClient.registerComponentEditorClass(name: string, plugin: ComponentEditorClass)
and SupClient.registerSettingsEditorClass(name: string, plugin: SettingsEditorClass)
have been superseded by SupClient.registerPlugin(context: string, name: string, content: any).

context should be "componentEditors" or "settingsEditors" for instance.

Settings editor registration

When registering a settings editor plugin, you should now pass a namespace. For instance,

SupClient.registerPlugin("settingsEditors", "CubicModel", CubicModelSettingsEditor);

becomes:

SupClient.registerPlugin("settingsEditors", "CubicModel", { namespace: "Editors", editor: CubicModelSettingsEditor });

SupClient.query

You can now use SupClient.query to access the search parameter passed to your editor, like project and asset.

tslint

We recommend you use tslint for your TypeScript plugins. There's a tslint.json at the base of the core Superpowers repository.