def openInjector_wx():
    import wx

    app = wx.App(redirect=False)

    frame = wx.Frame(None,
                     title="TTH Injector",
                     size=(640, 400),
                     style=wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX
                     | wx.MINIMIZE_BOX)
    panel = wx.Panel(frame)
    button = wx.Button(parent=panel,
                       id=-1,
                       label="Inject",
                       size=(50, 20),
                       pos=(295, 0))
    global textbox
    textbox = wx.TextCtrl(parent=panel,
                          id=-1,
                          pos=(20, 22),
                          size=(600, 340),
                          style=wx.TE_MULTILINE)
    frame.Bind(wx.EVT_BUTTON, __inject_wx, button)

    frame.Show()
    app.SetTopWindow(frame)

    textbox.AppendText(defaultText)

    threading.Thread(target=app.MainLoop).start()
Beispiel #2
0
 def __init__(self):
     self.panra = 1
     self.pwa = KeyboardButton.ascii_key("w")
     self.sano = Actor("HailPar.egg", {"Anaib": "Sbig-Armsjin"})
     self.thago = threading.Thread(target=self.run)
     self.thago.start()
     self.sano.reparentTo(render)
    def pollOnce(self):
        try:
            rlist = select.select([self.listenerSocket] +
                                  self.connections.keys(), [], [])[0]
        except:
            try:
                self.listenerSocket.fileno()
            except:
                self.notify.error('The listener socket is no longer valid!')

            for socket in self.connections.keys():
                try:
                    socket.fileno()
                    socket.getpeername()
                except:
                    del self.connections[socket]
                    if socket in self.dispatchThreads:
                        del self.dispatchThreads[socket]

            return

        if self.listenerSocket in rlist:
            self.handleNewConnection()
        for socket in rlist:
            connection = self.connections.get(socket)
            if connection is None:
                continue
            if socket in self.dispatchThreads:
                continue
            self.dispatchThreads[socket] = threading.Thread(
                target=self.dispatchThread, args=[socket])
            self.dispatchThreads[socket].start()
Beispiel #4
0
    def start_record(self):
        self.__rbtx.zerotcpforce(armname=self.__armname)

        def recorder():
            while self.__flag:
                self.__force.append(
                    self.__rbtx.getinhandtcpforce(armname=self.__armname))
                self.__armjnts = self.motion_planner_x.get_armjnts()
                self.__info.append([self.__force, self.__armjnts, time.time()])
                self.__plotflag = True
                time.sleep(.1)

        def plot():
            fig = plt.figure(1)
            plt.ion()
            plt.show()
            plt.ylim((-10, 10))
            while self.__ploton:
                if self.__plotflag:
                    plt.clf()
                    # print(len(self.__force))
                    force = [l[:3] for l in self.__force]
                    torque = [l[3:] for l in self.__force]
                    # distance = [np.linalg.norm(self.fixgoal - np.array(dis[1])) for dis in self.__tcp]

                    x = [0.02 * i for i in range(len(force))]
                    plt.xlim((0, max(x)))
                    plt.subplot(211)
                    plt.plot(x, force, label=["x", "y", "z"])
                    plt.legend("xyz", loc='upper left')
                    plt.subplot(212)
                    plt.plot(x, torque, label=["Rx", "Ry", "Rz"])
                    plt.pause(0.005)
                time.sleep(.1)
            plt.savefig(f"{time.time()}.png")
            pickle.dump(self.__info, open(self.f_name, "wb"))
            plt.close(fig)

        self.__thread_recorder = threading.Thread(target=recorder,
                                                  name="recorder")
        self.__thread_recorder.start()
        self.__thread_plot = threading.Thread(target=plot, name="plot")
        self.__thread_plot.start()
        print("start finish")
Beispiel #5
0
 def __init__(self, socket, handler):
     self.socket = socket
     self.dispatcher = ToontownRPCDispatcher(handler)
     self.socketLock = threading.Lock()
     self.readLock = threading.RLock()
     self.writeLock = threading.RLock()
     self.readBuffer = ''
     self.writeQueue = []
     self.writeSemaphore = threading.Semaphore(0)
     self.writeThread = threading.Thread(target=self.__writeThread)
     self.writeThread.start()
Beispiel #6
0
    def __init__(self, databaseFilePath):
        ShowBase.__init__(self)
        self.speed = 40

        # Mouse and camera movement init
        self.mouseX_last = 0
        self.mouseY_last = 0
        self.rotateCamera = False
        self.move_z = 50

        self.env = cEnvironment(self)

        self.env.CreateBasement()  # to not be lost if there is nothing around
        self.env.SetupLights()
        self.env.SetupCamera()

        width = self.win.getProperties().getXSize()
        height = self.win.getProperties().getYSize()

        self.gui = cGUI(width, height, self.loader, visApp=self)

        self.databaseFilePath = databaseFilePath

        self.bakeReader = BakeReader(self.databaseFilePath)

        self.interaction = cInteraction(self)

        self.interaction.SetupKeys()
        self.interaction.SetupOnClick()

        self.taskMgr.add(self.update, "main loop")
        self.accept(self.win.getWindowEvent(), self.interaction.onWindowEvent)

        self.HTMObjects = {}
        self.allHTMobjectsCreated = False
        self.oneOfObjectsCreationFinished = False

        self.gfxCreationThread = threading.Thread(
            target=self.gfxCreationWorker, args=())

        #----
        self.iterationDataUpdate = False

        self.BuildStructure()

        # hand over this value to the gui to be able to validate user inputs
        # -1 because predictive cells are + 1
        self.gui.cntIterations = self.bakeReader.cntIterations - 1

        self.iteration = 0
        self.initIterationLoaded = False

        self.autoRunIteration = 0
Beispiel #7
0
 def start_producer_thread(self, thread_name, origin=None, variance=None):
     # print 'start producer thread', self.producer_thread
     logging.debug('start thread {0}'.format(thread_name))
     # print 'in producer', origin, variance
     if origin:
         self.origin = origin
     if variance:
         self.variance = variance
         # print('cleared thread')
     if not self.producer_thread:
         self.producer_thread = threading.Thread(name=thread_name, target=self.producer)
         self.producer_thread.start()
     else:
         self.fake_data = yield_eye_data(self.origin, self.variance)
         self.base.taskMgr.add(self.get_fake_data_task, 'fake_eye')
    def __init__(self):
        self.app = wx.App(redirect=False)
        self.frame = wx.Frame(None,
                              title='Injector',
                              size=(765, 325),
                              style=wx.SYSTEM_MENU | wx.CAPTION
                              | wx.MINIMIZE_BOX | wx.CLOSE_BOX
                              | wx.RESIZE_BORDER)
        self.panel = wx.Panel(self.frame)

        self.buttonPanel = wx.Panel(self.panel)
        self.checkboxPanel = wx.Panel(self.panel)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.checkboxSizer = wx.BoxSizer(wx.HORIZONTAL)

        self.injectBox = wx.TextCtrl(parent=self.panel,
                                     style=wx.TE_MULTILINE | wx.TE_RICH2)
        self.injectButton = wx.Button(parent=self.buttonPanel,
                                      size=(100, 50),
                                      label='Inject')
        self.pstatsBox = wx.CheckBox(parent=self.checkboxPanel, label='PStats')

        self.injectBox.SetLabel(DEFAULT_TEXT)
        self.injectBox.Bind(wx.EVT_KEY_DOWN, self.__keyDown)
        self.injectButton.Bind(wx.EVT_BUTTON,
                               lambda event: self.__inject(event, CLIENT))
        self.pstatsBox.Bind(wx.EVT_CHECKBOX, self.__pstats)

        self.addToSizer(self.buttonSizer, self.injectButton)
        self.addToSizer(self.checkboxSizer, self.pstatsBox)

        self.sizer.Add(self.checkboxPanel, 0, wx.ALIGN_CENTER)
        self.sizer.Add(self.injectBox, 1, wx.EXPAND)
        self.sizer.Add(self.buttonPanel, 0, wx.ALIGN_CENTER)

        self.buttonPanel.SetSizer(self.buttonSizer)
        self.panel.SetSizer(self.sizer)
        self.frame.SetMinSize((765, 325))
        self.frame.Show()

        atexit.register(self.__pstatCleanup)
        threading.Thread(target=self.app.MainLoop).start()
    def pollOnce(self):
        """
        Poll for incoming data once.
        """
        try:
            rlist = select.select([self.listenerSocket] +
                                  self.connections.keys(), [], [])[0]
        except:
            # It's likely that one or more of our sockets is no longer valid.

            # If it's our listener socket, we can't continue:
            try:
                self.listenerSocket.fileno()
            except:
                self.notify.error('The listener socket is no longer valid!')

            # Otherwise, discard the faulty sockets, and wait for the next poll
            # iteration:
            for socket in self.connections.keys():
                try:
                    socket.fileno()
                    socket.getpeername()
                except:
                    del self.connections[socket]
                    if socket in self.dispatchThreads:
                        del self.dispatchThreads[socket]

            return

        if self.listenerSocket in rlist:
            self.handleNewConnection()

        for socket in rlist:
            connection = self.connections.get(socket)
            if connection is None:
                continue
            if socket in self.dispatchThreads:
                continue
            self.dispatchThreads[socket] = threading.Thread(
                target=self.dispatchThread, args=[socket])
            self.dispatchThreads[socket].start()
Beispiel #10
0
 def init_ThreadGraph(self,
                 StartingFrame, 
                 EndFrame, 
                 Xindex, 
                 Yindex,
                 datatype):
     if self.chart_thread == None or not self.chart_thread.is_alive():
         self.chart_thread = threading.Thread(target = self.TrackMotion, 
                     args = (StartingFrame, 
                     EndFrame, 
                     Xindex, 
                     Yindex,
                     datatype))
         self.chart_thread.start()
     else:
         self.TrackMotion(
                 StartingFrame, 
                 EndFrame, 
                 Xindex, 
                 Yindex,
                 datatype)
Beispiel #11
0
    def __init__(self):
        ShowBase.__init__(self)
        self.speed = 40

        # Mouse and camera movement init
        self.mouseX_last = 0
        self.mouseY_last = 0
        self.rotateCamera = False
        self.move_z = 50

        self.env = cEnvironment(self)

        self.env.CreateBasement()  # to not be lost if there is nothing around
        self.env.SetupLights()
        self.env.SetupCamera()

        width = self.win.getProperties().getXSize()
        height = self.win.getProperties().getYSize()

        self.gui = cGUI(width, height, self.loader, visApp=self)

        self.client = SocketClient()
        self.client.setGui(self.gui)

        self.interaction = cInteraction(self)

        self.interaction.SetupKeys()
        self.interaction.SetupOnClick()

        self.taskMgr.add(self.update, "main loop")
        self.accept(self.win.getWindowEvent(), self.interaction.onWindowEvent)

        self.HTMObjects = {}
        self.allHTMobjectsCreated = False
        self.oneOfObjectsCreationFinished = False

        self.gfxCreationThread = threading.Thread(
            target=self.gfxCreationWorker, args=())
Beispiel #12
0
def openInjector_wx():
    global textbox
    app = wx.App(redirect=False)
    frame = wx.Frame(None, title="Toontown: The Edge Injector", size=(640, 450), style=wx.SYSTEM_MENU | wx.CAPTION | wx.MINIMIZE_BOX | wx.FRAME_SHAPED)
    frame.Centre()
    panel = wx.Panel(frame)
    button = wx.Button(parent=panel, id=-1, label="Inject", size=(510, 90), pos=(65, 312))
    button.SetFont(wx.Font(19, wx.DECORATIVE, wx.NORMAL, wx.NORMAL))
    clearbutton = wx.Button(parent=panel, id=-1, label="Clear\nBox", size=(40, 40), pos=(10, 312)) #my clear button
    clearbutton.SetFont(wx.Font(7, wx.MODERN, wx.NORMAL, wx.NORMAL)) #my clear button
    textbox = wx.TextCtrl(parent=panel, id=-1, pos=(20, 0), size=(600, 310), style=wx.TE_MULTILINE)
    frame.Bind(wx.EVT_BUTTON, __inject_wx, button)
    frame.Bind(wx.EVT_BUTTON, __clear_injector, clearbutton) #my clear button
    frame.Show()
    imageFile = 'flowerbg.jpg'
    data = open(imageFile, "rb").read()
    stream = cStringIO.StringIO(data)
    bmp = wx.BitmapFromImage(wx.ImageFromStream(stream))
    wx.StaticBitmap(frame, -1, bmp, (0,0))
    #app.SetTopWindow(frame)
    defaultText = ''
    textbox.AppendText(defaultText)
    threading.Thread(target=app.MainLoop).start()
from direct.showbase.ShowBase import ShowBase
from panda3d.core import VirtualFileSystem
import __builtin__, wx, os

__builtin__.__dict__.update(__import__('panda3d.core', fromlist=['*']).__dict__)

loadPrcFile('dependencies/config/guieditor.prc')
loadPrcFile('dependencies/config/general.prc')

defaultText = """from direct.gui.DirectGui import *

"""

def inject(_):
    code = textbox.GetValue()
    exec(code, globals())

app = wx.App(redirect=False)
frame = wx.Frame(None, title="Injector", size=(640, 400), style=wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.MINIMIZE_BOX)
panel = wx.Panel(frame)
button = wx.Button(parent=panel, id=-1, label="Inject", size=(50, 20), pos=(295, 0))
textbox = wx.TextCtrl(parent=panel, id=-1, pos=(20, 22), size=(600, 340), style=wx.TE_MULTILINE)

frame.Bind(wx.EVT_BUTTON, inject, button)
frame.Show()
app.SetTopWindow(frame)
textbox.AppendText(defaultText)
threading.Thread(target=app.MainLoop).start()

__builtin__.base = ShowBase()
base.run()
Beispiel #14
0
            try:
                output = eval(inp)
                print('\033[1m' + str(output) + '\033[0m')
            except SyntaxError as se:
                print("Type 'help()' for an interactive help session")
            except ZeroDivisionError as zde:
                print(zde)

    def __iter__(self):
        return self

    def __next__(self):
        return input()


if __name__ == "__main__":
    server = Server(9415, 1000)

    taskMgr.add(server.listener_polling_task, "Poll the connection listener")
    taskMgr.add(server.reader_polling_task, "Poll the connection reader")
    if args.mp:
        taskMgr.add(server.update_positions,
                    "Update Every Player",
                    extraArgs=[None])

    threading.Thread(target=lambda: Interactive()).start()

    logging.info("started")
    base.run()
Beispiel #15
0
 def start_consumer_thread(self, thread_name, new=True):
     # can have more than one consumer
     logging.debug('start thread {0}'.format(thread_name))
     if new:
         self.consumer_thread.append(threading.Thread(name=thread_name, target=self.consumer))
     self.consumer_thread[-1].start()