Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

116
LINES

< > BotCompany Repo | #1033860 // Gazelle 22 Standalone [dev version]

JavaX source code (desktop) [tags: jar-with-libs jar-with-x30 standalone use-pretranspiled use-starter]

Download Jar. Uses 7614K of libraries. Click here for Pure Java version (33891L/190K).

// WELCOME!! This is THE PROGRAM YOU ARE LOOKING FOR.

!7

//please include function scpLS.

//lib 1400562 // Starter
lib 1400589 // 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 {
  //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");
    
    // 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<S, Class> 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();

Author comment

Began life as a copy of #1033636

download  show line numbers  debug dex  old transpilations   

Travelled to 6 computer(s): bhatertpkbcr, iveijnkanddl, mowyntqkapby, mqqgnosmbjvj, onxytkatvevr, wnsclhtenguj

No comments. add comment

Snippet ID: #1033860
Snippet name: Gazelle 22 Standalone [dev version]
Eternal ID of this version: #1033860/54
Text MD5: f0a3d978a1cd01678e94d2c9089204c7
Transpilation MD5: 62329db2f5c55b4081707702b423a9a2
Author: stefan
Category: javax / screen recognition
Type: JavaX source code (desktop)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2022-09-25 21:06:47
Source code size: 3223 bytes / 116 lines
Pitched / IR pitched: No / No
Views / Downloads: 1000 / 41306
Version history: 53 change(s)
Referenced in: [show references]