Exemplo n.º 1
0
def saveNodeData(nodes, directory, id):
    global regions
    global cfg
    global dirs

    Helpers.createDirectory(directory)
    fullPath = os.path.join(directory, "data.json")

    jsonNodes = []
    for n in nodes:
        relativeCoords = Helpers.calcRelativeDistFromPoint(regions["jewel"].getCenter(), n["region"].getCenter(), cfg["radius"])
        jsonNodes.append({
            "x": relativeCoords[0],
            "y": relativeCoords[1],
            "type": n["type"]
        })

    capturedJewels.append({
        "id": id,
        "json": { "nodes": jsonNodes },
        "image": os.path.join(dirs["jewel"], str(id) + ".png")
    })

    with open(fullPath, 'w') as f:
        json.dump(jsonNodes, f, indent=4, sort_keys=True)
    return
Exemplo n.º 2
0
def saveTimelessJewelData(data, directory):
    Helpers.createDirectory(directory)
    fullPath = os.path.join(directory, "data.json")

    newData = {
        "type": data["type"],
        "seed": data["seed"],
        "variant": data["variant"]
    }

    with open(fullPath, 'w') as f:
        json.dump(newData, f, indent=4, sort_keys=True)
    return
Exemplo n.º 3
0
def captureTextFromNodes(nodes, directory):
    global cfg

    Helpers.createDirectory(directory)

    cnt = 0
    for n in nodes:
        mouseMove(n["region"])
        wait(0.1)
        nodeCenter = n["region"].getCenter()

        y = nodeCenter.getY() - cfg["txtbox"]["yOffset"]
        if y + cfg["txtbox"]["height"] > regions["poe"].getH():
            y = regions["poe"].getH() - cfg["txtbox"]["height"]

        textRegion = Region(nodeCenter.getX() + cfg["txtbox"]["xOffset"], y, cfg["txtbox"]["width"], cfg["txtbox"]["height"])
        capture(textRegion, directory, str(cnt))
        cnt += 1
Exemplo n.º 4
0
        if Helpers.isPointInsideCircle(n.getCenter(), regions["jewel"].getCenter(), cfg["radius"]):
            nodeData.append({"region": n, "type": type})

    return nodeData

# Highlights all nodes passed to the method
def highlightNodes(nodes, type, color="cyan"):
    global cfg

    for n in nodes:
        if type != "notable":
            n["region"].highlightOn(color)
        n["region"].nearby(-(int(cfg["offsets"][type]) / 2)).highlightOn(color)
        n["region"].nearby(-int(cfg["offsets"][type])).highlightOn(color)

# Hotkeys
Env.addHotkey(Key.F2, 0, start)
Env.addHotkey(Key.F3, 0, adjustZoom)
Env.addHotkey(Key.F4, 0, end)

if __name__ == '__main__':
    for dir in dirs:
        Helpers.createDirectory(dirs[dir])

    print "Loading captured jewels"
    capturedJewels = loadCapturedJewels()

    print "Ready"
    while True:
        wait(0.1)