The crash happened in "undefined:0", but at least the backtrace ensured it was clear it was in the map engine and exactly what line in the scripts started that map engine with which map. That is really useful. Thanks a ton for making this! Edit: should say, though, if this could somehow report which line/script in the map file is doing that, that would be cool, because... the map it errored out on has like fifty entities.
I just realized, if it says "undefined:0" that means the error was thrown by a Sphere API (e.g. Abort()), not directly by the script. That's something I need to fix before the final release: It should automatically select the next stack frame up if the error occurs in an API function (the API is throwing it on behalf of the game anyway). For now if it drops you into "undefined:0" just enter the command "up" to switch to the function that actually caused the error.
FATAL UNCAUGHT - TypeError: number required, found '0' (stack index 1) at: [nutcracker1 : queued script]:1=> # 0: SetPersonFrame() at undefined:0'undefined': source file could not be located.
C:\Users\fatce\Documents\Sphere Studio\Projects>ssj krSSJ 3.0a3 minisphere Console Debugger (x64)a powerful JavaScript debugger for minisphere(c) 2016 Fat Cerberusstarting C:/Users/fatce/Documents/Sphere Studio/Projects/kr/... OK.connecting to 127.0.0.1:1208... OK.verifying... OK.querying target... OK. game title: Kefka's Revenge author: KRTeam=> # 0: eval() at scripts/game.js:1212: GetSystemFont().drawText(15,10,"LOADING...");scripts/game.js:12 eval()(ssj) cFATAL UNCAUGHT - TypeError: number required, found '83' (stack index 1) at: maps/Aresidence1.rmp/onEnter:2=> # 1: global() at maps/Aresidence1.rmp/onEnter:22: SetPersonX('daughterslaughter', '83');maps/Aresidence1.rmp/onEnter:2 global()(ssj) l 1: dispTown = "Family home";=> 2: SetPersonX('daughterslaughter', '83'); 3: SetPersonX('workdude', '277'); 4: SetPersonY('workdude', '212'); 5: SetPersonDirection('workdude', 'west'); 6: IgnorePersonObstructions('kid', true);
src/main.js:53 game()(ssj) w # 0: global() at maps/Testville.rmp/maggie/genCommands:11: analogue.runPersonEvent(GetCurrentMap(), 'maggie', 'generator');
I didn't fix the KR bug if that's what you mean - I mostly just wanted to track down the cause since I wasn't able to do this even with the Sphere Studio debugger. Since the classic map engine is still supported in minisphere, it was kind of dumb that you couldn't see map code in the debugger. Now you can!
scripts/main.js:30 game()ssj: x GetGameManifest()ewc- name "Spectacles: Bruce's Story"ewc- author "Fat Cerberus"ewc- summary "Follow Scott Starcross in his quest to stop the Primus."ewc- resolution "320x240"ewc- script "scripts/main.js"ewc- minimumPlatform {obj:"00000187b9161c10h"}ewc- frameRate 60ewc- sceneRenderPriority 99ewc- logPath "~usr/Spectacles Saga/Console Log.txt"ewc- consoleBuffer 1000ewc- consoleLines 10ewc- disableAnimation falseewc- disableBattles falseewc- disableSplash trueewc- disableTitleScreen trueewc- directory "C:/src/spectacles-i/dist/"