Skip to content

Commit

Permalink
miniSphere 4.5.7
Browse files Browse the repository at this point in the history
New experimental `Thread` class, more lazy `from()`, Sphere Studio
template fixes.
  • Loading branch information
fatcerberus committed Mar 14, 2017
1 parent d1b6b1e commit 0027bd2
Show file tree
Hide file tree
Showing 18 changed files with 48 additions and 33 deletions.
8 changes: 5 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
miniSphere Changelog
====================

vX.X.X - TBD
------------
v4.5.7 - March 14, 2017
-----------------------

* Adds a new `Thread` class which can be subclassed in ES6 to make threaded
entities.
* Changes `from#select()` to be lazy and removes `from#mapTo()` which is now
redundant. If you need to take a snapshot of the current query results,
`.toArray()` can now be used for that purpose.
* Fixes an issue where `.mjs` files are not renamed to `.js` when transpiling.
* Fixes various bugs in the Sphere Studio project template.


v4.5.6 - March 11, 2017
-----------------------

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Download
========

The latest stable miniSphere release at the time of this writing is
**miniSphere 4.5.6**, released on Saturday, March 11, 2017. miniSphere
**miniSphere 4.5.7**, released on Tuesday, March 14, 2017. miniSphere
binaries are provided through GitHub, and the latest version is always
available for download here:

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
X.X.X
4.5.7
2 changes: 1 addition & 1 deletion docs/cellscript-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Sphere.Platform [read-only]

Sphere.Version [read-only]

The version number of the compiler; e.g., "X.X.X".
The version number of the compiler; e.g., "4.5.7".

describe(title, metadata);

Expand Down
35 changes: 18 additions & 17 deletions docs/miniRT-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,11 @@ benefit from queries!

If you're familiar with C#, the from() function exposed by this module works a
lot like LINQ. A query is built from a number of predicates and mappings, and
typically ends in an each() or select() clause that executes the query.
is then typically processed using a `for...of` loop.

Here's an example. Suppose you were making an attack that damages all opposing
battlers whose level is a multiple of 5, but only hits 75% of the time.
Depending on the architecture of your battle engine, that might be implemented
with a single query:
For example, suppose you wanted to code an attack that damages all opposing
battlers whose level is a multiple of 5, but only hits 75% of the time. That
could look like this:

let targets = from(battlers)
.where(v => v.isEnemyOf(attacker))
Expand Down Expand Up @@ -243,6 +242,10 @@ from#each(callback);
the callback is ignored. This is used to loop over the results of a query,
the way you would loop over an array using arrayObj.forEach() in standard
JavaScript.

Note: Using a `for...of` loop is generally preferred over from#each().
This is mainly provided to ease things for legacy code, as pre-ES2015
JavaScript doesn't support `for...of`.

from#first([predicate]);

Expand Down Expand Up @@ -275,13 +278,6 @@ from#last([predicate]);

Note: If there are no matching results, last() returns undefined.

from#mapTo(selector);

Calls `selector` for each result, passing the return value on to subsequent
operations. This is used to transform results in the middle of a query,
which can help code readability as well as avoiding multiple requests for
the same data.

from#random(count);

Takes `count` random results and filters out the rest. Note that this may
Expand All @@ -299,12 +295,12 @@ from#sample(count);
Takes `count` random results and filters out the rest. Unlike
from#random(), this will not sample the same result more than once.

from#select([selector]);
from#select(selector);

Runs the query, assembling the final results into an array. `selector` is
an optional mapping function whose return value decides the output of the
query. If no selector is provided, results are used as-is. Returns the
newly assembled array.
Calls `selector` for each result, passing the return value on to subsequent
operations. This is used to transform results in the middle of a query,
which can help code readability as well as avoid multiple requests for the
same data.

from#shuffle();

Expand All @@ -319,6 +315,11 @@ from#take(count);

Filters out all results after the first `count`.

from#toArray();

Runs the query, assembling the final results into an array; returns the
assembled array.

from#update(selector);

Writes all results back into the source object or array. `selector` is an
Expand Down
2 changes: 1 addition & 1 deletion docs/sphere2-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Sphere.Platform [read-only]

Sphere.Version [read-only]

The version number of the engine; e.g. "X.X.X".
The version number of the engine; e.g. "4.5.7".

Sphere.APIVersion [read-only]
Sphere.APILevel [read-only]
Expand Down
2 changes: 1 addition & 1 deletion manpages/cell.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH CELL 1 "xxxx-xx-xx" "miniSphere-X.X.X" "miniSphere Game Development Kit"
.TH CELL 1 "2017-03-14" "miniSphere-4.5.7" "miniSphere Game Development Kit"
.SH NAME
cell \- Sphere v2 game compiler and packager
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion manpages/minisphere.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH MINISPHERE 1 "xxxx-xx-xx" "miniSphere-X.X.X" "miniSphere JS Game Engine"
.TH MINISPHERE 1 "2017-03-14" "miniSphere-4.5.7" "miniSphere JS Game Engine"
.SH NAME
minisphere \- lightweight JavaScript-powered game engine
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion manpages/spherun.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH SPHERUN 1 "xxxx-xx-xx" "miniSphere-X.X.X" "miniSphere Game Development Kit"
.TH SPHERUN 1 "2017-03-14" "miniSphere-4.5.7" "miniSphere Game Development Kit"
.SH NAME
spherun \- run a Sphere game in a dev-friendly environment
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion manpages/ssj.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH SSJ 1 "xxxx-xx-xx" "miniSphere-X.X.X" "miniSphere Game Development Kit"
.TH SSJ 1 "2017-03-14" "miniSphere-4.5.7" "miniSphere Game Development Kit"
.SH NAME
ssj \- the JavaScript debugger for miniSphere
.SH SYNOPSIS
Expand Down
Binary file modified msvs/cell.rc
Binary file not shown.
Binary file modified msvs/minisphere.rc
Binary file not shown.
Binary file modified msvs/ssj.rc
Binary file not shown.
2 changes: 1 addition & 1 deletion setup/minisphere.iss
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#define AppName "miniSphere"
#define AppPublisher "Fat Cerberus"
#define AppVersion3 "X.X.X"
#define AppVersion3 "4.5.7"

; to create a bundle with Sphere Studio, copy the Sphere Studio binaries
; into msw/ide/ before building the installer.
Expand Down
12 changes: 12 additions & 0 deletions src/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
minisphere (4.5.7) trusty; urgency=low

* Adds a new `Thread` class which can be subclassed in ES6 to make threaded
entities.
* Changes `from#select()` to be lazy and removes `from#mapTo()` which is now
redundant. If you need to take a snapshot of the current query results,
`.toArray()` can now be used for that purpose.
* Fixes an issue where `.mjs` files are not renamed to `.js` when transpiling.
* Fixes various bugs in the Sphere Studio project template.

-- Bruce Pascoe <fatcerberus@icloud.com> Tue, 14 Mar 2017 00:00:00 -0500

minisphere (4.5.6) trusty; urgency=low

* Improves `for...of` iteration for `from()` queries. Only the values will now
Expand Down
2 changes: 1 addition & 1 deletion src/plugin/PluginMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class PluginMain : IPluginMain
public string Name { get; } = "miniSphere GDK";
public string Author { get; } = "Fat Cerberus";
public string Description { get; } = "Provides support for the miniSphere toolchain.";
public string Version { get; } = "X.X.X";
public string Version { get; } = "4.5.7";

internal PluginConf Conf { get; private set; }
internal int Sessions { get; set; }
Expand Down
4 changes: 2 additions & 2 deletions src/plugin/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("0.0.0.0")]
[assembly: AssemblyVersion("4.5.7.1981")]
[assembly: AssemblyFileVersion("4.5.7.1981")]
2 changes: 1 addition & 1 deletion src/shared/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
#define DEBUGGER_NAME "SSJ"
#define PREPTOOL_NAME "Majin"

#define VERSION_NAME "X.X.X"
#define VERSION_NAME "4.5.7"

#endif // MINISPHERE__VERSION_H__INCLUDED

0 comments on commit 0027bd2

Please sign in to comment.