// WELCOME!! This is THE PROGRAM YOU ARE LOOKING FOR. !7 //please include function scpLS. //lib 1400562 // Starter //lib 1400589 // Starter lib 1400594 // Starter //set flag OtherLoadableUtils. lib 1033861 // INCLUDE THE MAIN MODULE !include early #1033862 // Gazelle Screen Cam [dev version] replace MainModule with GazelleScreenCam. !include early #1033891 // include GazelleHost early for flags like PingV3 !include early #1034876 // Gazelle 22 Flags [Include] //set flag InCore. sS windowTitle = "Gazelle 22"; sS progIDForDBAndAutoUpdate = #1033860; sbool pingSourceStrictMode; static GazelleHost host; static ThreadPool threadPool; sS devTitleSuffix = "";//" dev"; p { godMode(); //loadableUtils.utils.__setJavaX(main.class); loadableUtils.utils.__setJavaX(x30.class); standaloneInit(); ping_v3_setPingSourceMaker(-> { //System.out.println("pingSourceMaker"); if (pingSourceStrictMode) fail("Strict mode - make a ping source first!!"); ret new PingSource(threadPool, "legacy"); }); threadPool = new ThreadPool(findIntArg cores(args, numberOfCores())); print(threadPool); //threadPool.verbose = true; PingSource ps = new(threadPool, print("Starting Gazelle")); ps.do(-> { System.out.println("Pinging"); ping(); //if (true) fail("error test"); print("Pinged"); programID = progIDForDBAndAutoUpdate; AutoVMExit.install(); print("AutoVMExit installed"); addGlobalLastErrorsBufferToDefaultPCallPolicy(); print("Recording global errors"); // patch utils.preferredScreen preferredScreen = -> { if (host == null) ret 0; int screen = max(0, screenNrOfWindow(mainWindow())); ret screen; }; // patch utils.showForm_makeFrame to use JDialog // (to avoid dialogs being hidden behind always-on-top window) showForm_makeFrame = (title, panel) -> { var dialog = new JDialog(mainWindow(), title); setDialogContents(dialog, withMargin(panel)); packWindow(dialog); minWindowWidth(dialog, 400); centerDialogOverOwner(dialog); dialog.setVisible(true); //setBounds(dialog, defaultNewFrameBounds()); }; if (cic(args, "delete-session")) { print("Deleting session (" + programDir(programID) + ")"); clearConceptsOf(programID); } // migrate classes for legacy databases F1 baseClassFinder = cast _defaultClassFinder(); setDefaultClassFinder(func(S name) -> Class { name = replacePrefix("loadableUtils.utils$", "main$", name); //print("G22 class finder: " + name); if (eq(name, "main$Challenge")) { print("Legacy Challenge converted!"); ret Challenge; } ret baseClassFinder.get(name); }); host = new GazelleHost(threadPool, -> new MainModule); if (sameSnippetID(programID, #1033860)) windowTitle += devTitleSuffix; host.windowTitle = windowTitle; host.run(args); if (!cic(args, "console")) { print("Stopping System.out"); printAlsoToSystemOut = false; } }); print("aha."); } static Window mainWindow() { ret host.mainWindow(); } static Map generalMap = syncMap();