PyOIS will now be part of PyOgre

Istari

14-08-2006 00:44:09

I have decided to maintain PyOIS as a part of the PyOgre project, so from now on PyOIS will be a part of the binaries that I provide from my server.

If you are building PyOgre yourself and don't want to build PyOIS, just change the MODULES variable in SUserOptions (or use the old setup.py or the VS project).
I haven't tried this in Linux, so if anyone is willing to give it a shot please do and let me know if you run into any difficulties.

Tubez

17-08-2006 09:54:37

Excellent news!

Thanks for all the effort.

dermont

23-08-2006 09:32:10

One strange thing I noticed on linux is with SampleFrameworkOIS.py and destruction of InputObjects. Using pyois the input key repeat is turned off after running each demo, meaning I have to "xset r" from a terminal.

I'm updating pyogre to run on Eihort and still doing the updates to CEGUI 0.5.0 RC2, so the problem may be associated with the version I'm using. Maybe someone else can check if the problem exists in 1.2.0.

As a test updating SampleFrameworkOIS.py with the following resolves key repeat problem but may not be the correct way to go about it.

def frameStarted(self, frameEvent):
..
..
if not self._processUnbufferedKeyInput(frameEvent):
self._destroyInput()

return False


def _destroyInput(self):

print "Destroying Input.............."
# cegui only
#listener = ois.getEventListener()
#listener.removeListenerMap(self.listenerMap)

# unattach OIS before windows shutdown needed for linux
# TODO destroy as per render window
print " keyboard is ",self.keyboard, dir(self.keyboard)
if self.keyboard:
self.inputManager.destroyInputObject(self.keyboard)
if self.mouse:
self.inputManager.destroyInputObject(self.mouse)
self.inputManager.destroyInputSystem()
...

pjcast

23-08-2006 16:44:52

The only reason for that to happen, is if OIS is not shut down cleanly. destroyInputSystem() deletes and cleans up OIS. But, it looks like you are calling that :|

dermont

23-08-2006 17:18:06

Yep, as I said above adding the code with destroyInputSystem/ destroyInputObject to SampleFrameworkOIS.py resolves the repeat key problem. :D

pjcast

23-08-2006 17:20:01

Yep, as I said above adding the code with destroyInputSystem/ destroyInputObject to SampleFrameworkOIS.py resolves the repeat key problem. :D

Aye, I missed that statement :)