diff --git a/CHANGELOG.md b/CHANGELOG.md index e02378782..1bf8655fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 ----------------------- diff --git a/README.md b/README.md index 679237fe9..9c24a6bdc 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/VERSION b/VERSION index bf5606571..0c8d4d7eb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -X.X.X \ No newline at end of file +4.5.7 \ No newline at end of file diff --git a/docs/cellscript-api.txt b/docs/cellscript-api.txt index a874e2eba..0549224b8 100644 --- a/docs/cellscript-api.txt +++ b/docs/cellscript-api.txt @@ -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); diff --git a/docs/miniRT-api.txt b/docs/miniRT-api.txt index f5d084a4e..cda99a50e 100644 --- a/docs/miniRT-api.txt +++ b/docs/miniRT-api.txt @@ -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)) @@ -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]); @@ -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 @@ -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(); @@ -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 diff --git a/docs/sphere2-api.txt b/docs/sphere2-api.txt index 141438916..5f5378e57 100644 --- a/docs/sphere2-api.txt +++ b/docs/sphere2-api.txt @@ -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] diff --git a/manpages/cell.1 b/manpages/cell.1 index 8752e13a8..5d10e39a2 100644 --- a/manpages/cell.1 +++ b/manpages/cell.1 @@ -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 diff --git a/manpages/minisphere.1 b/manpages/minisphere.1 index 517c223e9..22b464868 100644 --- a/manpages/minisphere.1 +++ b/manpages/minisphere.1 @@ -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 diff --git a/manpages/spherun.1 b/manpages/spherun.1 index 91af79aff..6448acf21 100644 --- a/manpages/spherun.1 +++ b/manpages/spherun.1 @@ -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 diff --git a/manpages/ssj.1 b/manpages/ssj.1 index 87b5e4522..929f72d75 100644 --- a/manpages/ssj.1 +++ b/manpages/ssj.1 @@ -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 diff --git a/msvs/cell.rc b/msvs/cell.rc index 0181195fc..b283a4d44 100644 Binary files a/msvs/cell.rc and b/msvs/cell.rc differ diff --git a/msvs/minisphere.rc b/msvs/minisphere.rc index ad778a96a..274433cd0 100644 Binary files a/msvs/minisphere.rc and b/msvs/minisphere.rc differ diff --git a/msvs/ssj.rc b/msvs/ssj.rc index 06ec60de2..94a797986 100644 Binary files a/msvs/ssj.rc and b/msvs/ssj.rc differ diff --git a/setup/minisphere.iss b/setup/minisphere.iss index e07432e6c..8bf8dc3f6 100644 --- a/setup/minisphere.iss +++ b/setup/minisphere.iss @@ -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. diff --git a/src/debian/changelog b/src/debian/changelog index 770544272..61d46060b 100644 --- a/src/debian/changelog +++ b/src/debian/changelog @@ -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 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 diff --git a/src/plugin/PluginMain.cs b/src/plugin/PluginMain.cs index ab916002f..d3dd269f5 100644 --- a/src/plugin/PluginMain.cs +++ b/src/plugin/PluginMain.cs @@ -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; } diff --git a/src/plugin/Properties/AssemblyInfo.cs b/src/plugin/Properties/AssemblyInfo.cs index f993fd65d..e758d34df 100644 --- a/src/plugin/Properties/AssemblyInfo.cs +++ b/src/plugin/Properties/AssemblyInfo.cs @@ -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")] diff --git a/src/shared/version.h b/src/shared/version.h index 42f752d28..d307c0547 100644 --- a/src/shared/version.h +++ b/src/shared/version.h @@ -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