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

v0.9.0

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

Global script search tool

You can now do a project-wide search with the new TypeScript global search tool. It can be opened from the tool shelf in the lower-left corner of your project window or with Ctrl+Shift+F from the script editor.

For now it is always a case-sensitive search, the ability to ignore case is coming soon.

You might notice that each tool now has its own icon displayed, too.

Jump to definition in the script editor

A simple but powerful addition to the script editor: place your cursor on a function, class or variable and hit F8 to jump to the exact line in the script where it is defined.

Prefabs

Prefabs are here! They let you re-use scenes in other scenes. Very useful if you have complex hierarchy that you need to use multiple times.

Just click the New Prefab button in the scene editor, choose a name and type in the path of the scene to load in the Prefab field.

More glTF importer improvements

The glTF importer now takes the bind shape matrix into account when importing, which fixes horrible deformations when importing a model whose mesh or armature had a non-identity transform in their original scene.

The latest version of the COLLADA2glTF converter fixed the Y-up axis matrix (which was previous inverted). Superpowers's importer will check for the converter version used when importing and automatically invert (or not) the matrix when needed.

Updated documentation

The documentation website now has several categories: Getting Started, Resources and Development. They will be fleshed out over time.

Improvements for sharing projects

We've noticed people tend to ZIP and upload their project folders as is, sometimes containing hundred of megabytes of old builds. So builds are now saved outside of the project folders so you don't have to worry about that. Additionally, we've reduced the number of recent builds kept on disk from 50 to 10.

Putting your projects under source control (like Mercurial or Git) has also been made simpler: Scripts no longer save a draft.txt if there are no draft changes. Previously, we recommended adding draft.txt to your ignore file.

Simplified APIs for manipulating actor transforms

Lots of overloads have been to the various methods to manipulate actor position, orientation and scale.

For instance, resetting the X coordinate of an actor:

// Previously you had to do this:
let oldPosition = this.actor.getLocalPosition();
oldPosition.x = 5;
this.actor.setLocalPosition(oldPosition);

// Now you can simply do this:
this.actor.setLocalX(5);

Similarly, whenever you had to pass a vector, you can now just pass 3 numbers:

// Previously you had to do this:
this.actor.setPosition(new Sup.Math.Vector3(1, 2, 3));

// Now you can simply do this:
this.actor.setPosition(1, 2, 3);

Finally, similar changes have been made for Sup.Math.Vector3.add and .subtract.

Sprite improvements

You can now play an animation just once in the sprite editor.

Flip renderer horizontally or vertically

Tile map improvements

Layers in the tile map editor are now listed in the more natural order, i.e. the top layer is at the top of the list.

Tile sets can now have non-square grids.

Various related API functions have been added, like Sup.TileSet.getWidth(), .getHeight(), .getGridSize(), as well as Sup.TileMap.getLayerCount().

Miscellaneous new APIs and fixes

Sup.Game.getFPS()``and.getScreenRatio()` have been added.

You can now pass "ANY" and "NONE" to Sup.Input.isKeyDown, .wasKeyJustPressed and .wasKeyJustReleased to detect any key.

Sup.Actor.getChild(...) and .getChildren() have been fixed to ignore actors which are about to be destroyed.

The initialization of customized properties inherited from parent behavior classes has been fixed.

The touched corners returned by a tile map Arcade Physics 2D collider have been fixed.