Proof of concept:
C:\src\spectacles-i>cell -l dist && start msphere --debug dist && ssj
Cell 2.99.812 Sphere Game Compiler x64
A scriptable build engine for Sphere games
(c) 2016 Fat Cerberus
Building 'C:/src/spectacles-i/' as dist.
Processing Cellscript.js rule 'sphere'... OK.
Compiling assets... Up-to-date.
Installing assets...
scripts/main.js
1 asset(s) installed
sphere -> 'C:/src/spectacles-i/dist/'
0 error(s), 0 warning(s)
SSJ 2.99.812 Sphere Game Debugger x64
A powerful JavaScript debugger for minisphere
(c) 2016 Fat Cerberus
Connecting to '127.0.0.1:1208'... OK.
Handshaking... OK.
Connected to minisphere 2.99.812
Duktape version is v1.4.0
[SSJ @ scripts/main.js:6] BREAK: in function 'eval'
ssj > r
Spectacles: Bruce's Story miniRT Console
Sphere API v2.0 (minisphere 2.99.812)
Initializing Specs Engine test harness
Loading testcases from 'brucesStory.js'
Added battle test 'rsbBalcony'
Added battle test 'rsbFinal'
Loading testcases from 'lastLucidan.js'
Added battle test 'temple'
[SSJ @ scripts/main.js:46] FATAL: Error: a pig ate everyone at 8:12
[SSJ @ scripts/main.js:46] BREAK: in function 'game'
ssj > lv
manifest = [value]
session = [value]
ssj > e manifest
{
name: "Spectacles: Bruce's Story",
author: "Fat Cerberus",
summary: "Follow Scott Starcross in his quest to stop the Primus.",
resolution: "320x240",
script: "scripts/main.js",
minimumPlatform: {
recommend: "minisphere 2.1 or later",
apiVersion: 2,
extensions: [
"sphere-legacy-api",
"sphere-obj-constructors",
"sphere-obj-props",
"sphere-map-engine",
"sphere-rng-object",
"sphere-s2gm",
"sphere-spherefs"
]
},
frameRate: 60,
sceneRenderPriority: 99,
logPath: "~usr/Spectacles Saga/Console Log.txt",
consoleBuffer: 1000,
consoleLines: 10,
disableAnimation: false,
disableBattles: false,
disableSplash: true,
disableTitleScreen: true,
directory: "C:/src/spectacles-i/dist/"
}
ssj > q
Shutdown requested, sending detach request.
^C
I had to Ctrl+C out of it because there's currently a bug in minisphere where the engine doesn't send the Detach acknowledgement to the debugger before it shuts itself down, causing SSJ to block indefinitely waiting for a message. But as you can see, it's otherwise working as intended.