Esempio n. 1
0
	def __init__(self):
		from Driver import LoginListener
		import threading
		import CommandEngine
		
		Engine.__init__(self)
		
		attributes = {
			'openConnectionsSemaphore'	: threading.BoundedSemaphore(3),
			'newConnectionSemaphore'	: threading.BoundedSemaphore(1),
			'closedConnectionSemaphore' : threading.BoundedSemaphore(1),
			'connectionList'			: [],
			'newConnections'			: [],
			'closedConnections'			: []
		}
		
		for key in attributes.keys():
			self.attributes[key] = attributes[key]


		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.ConnectionEngine.PlayerLoginHandler', None)
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.ConnectionEngine.PlayerLogoutHandler', None)
		
		ConnectionEngine.instance = self
		
		LoginListener.addEventSubscriber(self)
		CommandEngine.addEventSubscriber(self)
Esempio n. 2
0
	def __init__(self):
		Engine.__init__(self)
		
		import CommandEngine
		import threading
		import Driver.ConnectionListUpdater
		
		attributes = {
			'playerSetSemaphore'	: threading.BoundedSemaphore(1),
			'playerMap'				: {},
			'playerList'			: [],
			'npcMap'				: {}
		}
		
		for key in attributes.keys():
			self.attributes[key] = attributes[key]
			
		ActorEngine.instance = self
	
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.ActorEngine.PlayerLoginEventHandler', None)
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.ActorEngine.PlayerLogoutEventHandler', None)
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.ActorEngine.BroadcastEventHandler', None)
		
		
		for subscriber in ActorEngine.subscribers:
			self.addEventSubscriber(subscriber)
			
		ActorEngine.subscribers = []
		
		
		Driver.ConnectionListUpdater.addEventSubscriber(self)
		CommandEngine.addEventSubscriber(self)
Esempio n. 3
0
    def __init__(self):
        Engine.__init__(self)

        import CommandEngine
        import threading
        import Driver.ConnectionListUpdater

        attributes = {
            'playerSetSemaphore': threading.BoundedSemaphore(1),
            'playerMap': {},
            'playerList': [],
            'npcMap': {}
        }

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        ActorEngine.instance = self

        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.ActorEngine.PlayerLoginEventHandler', None)
        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.ActorEngine.PlayerLogoutEventHandler', None)
        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.ActorEngine.BroadcastEventHandler', None)

        for subscriber in ActorEngine.subscribers:
            self.addEventSubscriber(subscriber)

        ActorEngine.subscribers = []

        Driver.ConnectionListUpdater.addEventSubscriber(self)
        CommandEngine.addEventSubscriber(self)
Esempio n. 4
0
	def __init__(self):
		import Driver.ConnectionListUpdater
		import CommandEngine
		
		Engine.__init__(self)
		
		attributes = {
			'roomMap'	: {},
			'roomList'	: []
		}
		
		for key in attributes.keys():
			self.attributes[key] = attributes[key]
		
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.RoomEngine.PlayerLoginEventHandler', None)
		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.RoomEngine.PlayerLogoutEventHandler', None)
		
		RoomEngine.instance = self
		
		for subscriber in RoomEngine.subscribers:
			self.addEventSubscriber(subscriber)
			
		RoomEngine.subscribers = []
		
		self.buildWorld()
		
		Driver.ConnectionListUpdater.addEventSubscriber(self)
		CommandEngine.addEventSubscriber(self)
Esempio n. 5
0
	def __init__(self):
		import Driver.UpdateDriver
		import ActorEngine

		Engine.__init__(self)
		
		attributes = {
			'commandList' : {},
			'emoteList': []
		}

		for key in attributes.keys():
			self.attributes[key] = attributes[key]

		self.addEventHandlerByNameWithAdjusters('Engine.EventHandlers.CommandEngine.CommandExecutionEventHandler', None)
		
		CommandEngine.instance = self
		
		for subscriber in CommandEngine.subscribers:
			self.addEventSubscriber(subscriber)
			
		CommandEngine.subscribers = []
		
		self.buildCommandList()
		
		Driver.UpdateDriver.addEventSubscriber(self)
		ActorEngine.addEventSubscriber(self)
Esempio n. 6
0
    def __init__(self):
        import Driver.ConnectionListUpdater
        import CommandEngine

        Engine.__init__(self)

        attributes = {'roomMap': {}, 'roomList': []}

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.RoomEngine.PlayerLoginEventHandler', None)
        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.RoomEngine.PlayerLogoutEventHandler', None)

        RoomEngine.instance = self

        for subscriber in RoomEngine.subscribers:
            self.addEventSubscriber(subscriber)

        RoomEngine.subscribers = []

        self.buildWorld()

        Driver.ConnectionListUpdater.addEventSubscriber(self)
        CommandEngine.addEventSubscriber(self)
Esempio n. 7
0
    def __init__(self):
        import Driver.UpdateDriver
        import ActorEngine

        Engine.__init__(self)

        attributes = {'commandList': {}, 'emoteList': []}

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.CommandEngine.CommandExecutionEventHandler',
            None)

        CommandEngine.instance = self

        for subscriber in CommandEngine.subscribers:
            self.addEventSubscriber(subscriber)

        CommandEngine.subscribers = []

        self.buildCommandList()

        Driver.UpdateDriver.addEventSubscriber(self)
        ActorEngine.addEventSubscriber(self)
Esempio n. 8
0
    def __init__(self):
        from Driver import LoginListener
        import threading
        import CommandEngine

        Engine.__init__(self)

        attributes = {
            'openConnectionsSemaphore': threading.BoundedSemaphore(3),
            'newConnectionSemaphore': threading.BoundedSemaphore(1),
            'closedConnectionSemaphore': threading.BoundedSemaphore(1),
            'connectionList': [],
            'newConnections': [],
            'closedConnections': []
        }

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.ConnectionEngine.PlayerLoginHandler', None)
        self.addEventHandlerByNameWithAdjusters(
            'Engine.EventHandlers.ConnectionEngine.PlayerLogoutHandler', None)

        ConnectionEngine.instance = self

        LoginListener.addEventSubscriber(self)
        CommandEngine.addEventSubscriber(self)
Esempio n. 9
0
 def __init__(self, btcTrader, apiName, authId, authPass):
     Engine.__init__(self, apiName, btcTrader, 1) # refresh rate of 1 second. In the futur with the websockets we will probably put 0 and use some kind of select
     self.req = self.CreateRequester(authId, authPass)
     self.depth = {}
     self.clock = Clock()
     self.first = 1
     self.account = Account()
Esempio n. 10
0
 def __init__(self, btcTrader):
     Engine.__init__(self, "Interface", btcTrader, 0.0333333) # 1/30 --> 30 frame per seconds
     self.currentConsole = 0
     self.commandLine = ""
     self.cursorPosition = 0
     self.printset = set(string.printable)
     self.PushMsg("Hola !")
     self.PushMsg("PageUp / PageDown to change of market.")
     self.PushMsg("Type help to see the list of available commands.")
Esempio n. 11
0
 def __init__(self, btcTrader):
     Engine.__init__(self, "Interface", btcTrader,
                     0.0333333)  # 1/30 --> 30 frame per seconds
     self.currentConsole = 0
     self.commandLine = ""
     self.cursorPosition = 0
     self.printset = set(string.printable)
     self.PushMsg("Hola !")
     self.PushMsg("PageUp / PageDown to change of market.")
     self.PushMsg("Type help to see the list of available commands.")
Esempio n. 12
0
    def __init__(self):
        Engine.__init__(self)
        attributes = {'affects': {}, 'affectComponents': {}}

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        AffectEngine.instance = self

        self.buildAffectList()
        self.buildAffectComponentList()
Esempio n. 13
0
	def __init__(self):
		Engine.__init__(self)
		attributes = {
			'affects'			: {},
			'affectComponents'	: {}
		}

		for key in attributes.keys():
			self.attributes[key] = attributes[key]
			
		AffectEngine.instance = self
		
		self.buildAffectList()
		self.buildAffectComponentList()
Esempio n. 14
0
    def __init__(self):
        Engine.__init__(self)

        attributes = {
            'itemList': [],
            'itemLoadFunctions': {
                'wieldable': self.loadWeapon
            }
        }

        for key in attributes.keys():
            self.attributes[key] = attributes[key]

        ItemEngine.instance = self

        for subscriber in ItemEngine.subscribers:
            self.addEventSubscriber(subscriber)

        ItemEngine.subscribers = []
Esempio n. 15
0
	def __init__(self):
		Engine.__init__(self)
		
		attributes = {
			'itemList'				: [],
			'itemLoadFunctions'		: {
											'wieldable'	: self.loadWeapon
			}
		}

		for key in attributes.keys():
			self.attributes[key] = attributes[key]
			
		ItemEngine.instance = self
		
		for subscriber in ItemEngine.subscribers:
			self.addEventSubscriber(subscriber)
			
		ItemEngine.subscribers = []
Esempio n. 16
0
    def __init__(self, config=None):
        """
    Constructor.

    @param config:  L{Config} instance for settings
    """

        if not config:
            config = Config.load()

        self.config = config

        fps = self.config.get("video", "fps")
        tickrate = self.config.get("engine", "tickrate")
        Engine.__init__(self, fps=fps, tickrate=tickrate)

        pygame.init()

        self.title = _("Frets on Fire")
        self.restartRequested = False
        self.handlingException = False
        self.video = Video(self.title)
        self.audio = Audio()

        Log.debug("Initializing audio.")
        frequency = self.config.get("audio", "frequency")
        bits = self.config.get("audio", "bits")
        stereo = self.config.get("audio", "stereo")
        bufferSize = self.config.get("audio", "buffersize")

        self.audio.pre_open(frequency=frequency,
                            bits=bits,
                            stereo=stereo,
                            bufferSize=bufferSize)
        pygame.init()
        self.audio.open(frequency=frequency,
                        bits=bits,
                        stereo=stereo,
                        bufferSize=bufferSize)

        Log.debug("Initializing video.")
        width, height = [
            int(s) for s in self.config.get("video", "resolution").split("x")
        ]
        fullscreen = self.config.get("video", "fullscreen")
        multisamples = self.config.get("video", "multisamples")
        self.video.setMode((width, height),
                           fullscreen=fullscreen,
                           multisamples=multisamples)

        # Enable the high priority timer if configured
        if self.config.get("engine", "highpriority"):
            Log.debug("Enabling high priority timer.")
            self.timer.highPriority = True

        viewport = glGetIntegerv(GL_VIEWPORT)
        h = viewport[3] - viewport[1]
        w = viewport[2] - viewport[0]
        geometry = (0, 0, w, h)
        self.svg = SvgContext(geometry)
        self.svg.setRenderingQuality(self.config.get("opengl", "svgquality"))
        glViewport(int(viewport[0]), int(viewport[1]), int(viewport[2]),
                   int(viewport[3]))

        self.input = Input()
        self.view = View(self, geometry)
        self.resizeScreen(w, h)

        self.resource = Resource(Version.dataPath())
        self.server = None
        self.sessions = []
        self.mainloop = self.loading

        # Load game modifications
        Mod.init(self)
        theme = Config.load(self.resource.fileName("theme.ini"))
        Theme.open(theme)

        # Make sure we are using the new upload URL
        if self.config.get("game",
                           "uploadurl").startswith("http://kempele.fi"):
            self.config.set("game", "uploadurl",
                            "http://fretsonfire.sourceforge.net/play")

        self.addTask(self.audio, synchronized=False)
        self.addTask(self.input, synchronized=False)
        self.addTask(self.view)
        self.addTask(self.resource, synchronized=False)
        self.data = Data(self.resource, self.svg)

        self.input.addKeyListener(FullScreenSwitcher(self), priority=True)
        self.input.addSystemEventListener(SystemEventHandler(self))

        self.debugLayer = None
        self.startupLayer = None
        self.loadingScreenShown = False

        Log.debug("Ready.")
Esempio n. 17
0
    def __init__(self, config = None):
        """
        Constructor.

        @param config:  L{Config} instance for settings
        """

        if not config:
            config = Config.load()

        self.config  = config

        fps          = self.config.get("video", "fps")
        tickrate     = self.config.get("engine", "tickrate")
        Engine.__init__(self, fps = fps, tickrate = tickrate)

        pygame.init()

        self.title             = _("Frets on Fire")
        self.restartRequested  = False
        self.handlingException = False
        self.video             = Video(self.title)
        self.audio             = Audio()

        Log.debug("Initializing audio.")
        frequency    = self.config.get("audio", "frequency")
        bits         = self.config.get("audio", "bits")
        stereo       = self.config.get("audio", "stereo")
        bufferSize   = self.config.get("audio", "buffersize")

        self.audio.pre_open(frequency = frequency, bits = bits, stereo = stereo, bufferSize = bufferSize)
        pygame.init()
        self.audio.open(frequency = frequency, bits = bits, stereo = stereo, bufferSize = bufferSize)

        Log.debug("Initializing video.")
        width, height = [int(s) for s in self.config.get("video", "resolution").split("x")]
        fullscreen    = self.config.get("video", "fullscreen")
        multisamples  = self.config.get("video", "multisamples")
        self.video.setMode((width, height), fullscreen = fullscreen, multisamples = multisamples)

        # Enable the high priority timer if configured
        if self.config.get("engine", "highpriority"):
            Log.debug("Enabling high priority timer.")
            self.timer.highPriority = True

        viewport = glGetIntegerv(GL_VIEWPORT)
        h = viewport[3] - viewport[1]
        w = viewport[2] - viewport[0]
        geometry = (0, 0, w, h)
        self.img = ImgContext(geometry)
        glViewport(int(viewport[0]), int(viewport[1]), int(viewport[2]), int(viewport[3]))

        self.input     = Input()
        self.view      = View(self, geometry)
        self.resizeScreen(w, h)

        self.resource  = Resource(Version.dataPath())
        self.server    = None
        self.sessions  = []
        self.mainloop  = self.loading

        # Load game modifications
        Mod.init(self)
        theme = Config.load(self.resource.fileName("theme.ini"))
        Theme.open(theme)

        # Make sure we are using the new upload URL
        if self.config.get("game", "uploadurl").startswith("http://kempele.fi"):
            self.config.set("game", "uploadurl", "http://fretsonfire.sourceforge.net/play")

        self.addTask(self.audio, synchronized = False)
        self.addTask(self.input, synchronized = False)
        self.addTask(self.view)
        self.addTask(self.resource, synchronized = False)
        self.data = Data(self.resource, self.img)

        self.input.addKeyListener(FullScreenSwitcher(self), priority = True)
        self.input.addSystemEventListener(SystemEventHandler(self))

        self.debugLayer         = None
        self.startupLayer       = None
        self.loadingScreenShown = False

        Log.debug("Ready.")
Esempio n. 18
0
 def __init__(self, dbname, host, user, password, thread_count=1):
     Engine.__init__(self, dbname, host, user, password, thread_count)
     self.pu_table = dict()