[Python-ogre-commit] SF.net SVN: python-ogre:[735] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
From: <and...@us...> - 2008-09-07 06:24:24
|
Revision: 735 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=735&view=rev Author: andy_miller Date: 2008-09-07 06:24:31 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Updates to QuickGui to support my renderQueueListener API changes New Help file Fix to PCZ demo bug where I wasn't init'ing a Vector3 correctly Fixed ET demo to use std::Vector<float> from Ogre library Fixed bug in installer script with mutliple installed versions of Python Modified Paths: -------------- trunk/python-ogre/ChangeLog.txt trunk/python-ogre/PythonOgreInstallCreator.iss trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h trunk/python-ogre/code_generators/ogre/python_ogre_sizeof.h trunk/python-ogre/code_generators/ogrepcz/python_ogrepcz_aliases.h trunk/python-ogre/demos/et/CEGUI_framework.py trunk/python-ogre/demos/et/Demo_CEGUI_ET.py trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py trunk/python-ogre/demos/ogrepcz/Demo_PCZ01.py trunk/python-ogre/demos/ogrepcz/plugins.cfg trunk/python-ogre/demos/theora/demo_video.py trunk/python-ogre/docs/Python-Ogre.chm trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py Added Paths: ----------- trunk/python-ogre/demos/media_extra/konqi_ad1_nl.avi.ogg Modified: trunk/python-ogre/ChangeLog.txt =================================================================== --- trunk/python-ogre/ChangeLog.txt 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/ChangeLog.txt 2008-09-07 06:24:31 UTC (rev 735) @@ -1,18 +1,22 @@ August 29 2008 : Release 1.6 RC1 ================================ -Version numbering change to match the Ogre release versions. -Ogre 1.6 RC1 -OIS 1.2 -CEGUI 0.6.1 -Particle Universe 0.8 -Hydrax 0.3 -Bullet 2.70 -OgreBullet - patched to match API change in Bullet 2.7 -PhysX (NVIDA) 2.8.1 -ODE 0.10.1 -QuickGui R350 -OgreAL R115 +<< incomplete >> +Version numbering change to match the Ogre release versions. +Modules Updated to + Ogre 1.6 RC1 + OIS 1.2 + CEGUI 0.6.1 + Particle Universe 0.8 + Hydrax 0.3 + Bullet 2.70 + OgreBullet - patched to match API change in Bullet 2.7 + PhysX (NVIDA) 2.8.1 + ODE 0.10.1 + QuickGui R350 + OgreAL R115 +OgreOde and OgreRefApp tweaked to work with ODE 0.10 + Added CEGUI::Tree to handmadewrapper (Thanks Dermont) Change to CEGUI_framework.py to force loading of CEGUIBase lib in the correct mode under Linux - means we don't need to patch the CEGUI source... Modified: trunk/python-ogre/PythonOgreInstallCreator.iss =================================================================== --- trunk/python-ogre/PythonOgreInstallCreator.iss 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/PythonOgreInstallCreator.iss 2008-09-07 06:24:31 UTC (rev 735) @@ -3,19 +3,19 @@ ; [Setup] AppName=Python-Ogre -AppVerName=Python-Ogre 1.2 RC2 +AppVerName=Python-Ogre 1.6RC1 DefaultDirName=C:\PythonOgre DefaultGroupName=Python-Ogre OutputBaseFilename=PythonOgreInstaller OutputDir=C:\temp SourceDir=C:\Development\PythonOgreRelease -VersionInfoDescription=Release 1.2 RC2 of Python-Ogre +VersionInfoDescription=Release 1.6RC1 of Python-Ogre AllowNoIcons=true AppPublisher=OpenSource (Andy and Team) AppPublisherURL=http://www.python-ogre.org AppSupportURL=http://www.python-ogre.org AppUpdatesURL=http://www.python-ogre.org -AppVersion=1.2.1 +AppVersion=1.6.0 LicenseFile=LICENSE.GPL Compression=lzma InfoBeforeFile=InstallWarning.rtf @@ -23,13 +23,13 @@ SolidCompression=true AppCopyright=LPGL VersionInfoCompany=OpenSource (Andy and Team) -VersionInfoTextVersion=1.2.1 +VersionInfoTextVersion=1.6.0 VersionInfoCopyright=PythonOgre Development Team RestartIfNeededByRun=false UninstallDisplayName=PythonOgre WizardImageFile=compiler:WizModernImage-IS.bmp WizardSmallImageFile=compiler:WizModernSmallImage-IS.bmp -VersionInfoVersion=1.2.1 +VersionInfoVersion=1.6.0 [Files] ; base files, demos and tools Source: *; DestDir: {app} @@ -219,15 +219,15 @@ Name: {group}\OgreNewt Demos\Custom Joints; Filename: {code:GetPythonExe}; Parameters: Demo07_CustomJoints.py; WorkingDir: {app}\Demos\OgreNewt Name: {group}\OgreNewt Demos\Ragdoll; Filename: {code:GetPythonExe}; Parameters: Demo08_ragdoll.py; WorkingDir: {app}\Demos\OgreNewt -Name: {group}\Video Demos\ffmpeg Video; Filename: {code:GetPythonExe}; Parameters: Demo_Video.py; WorkingDir: {app}\Demos\ffmpeg +;Name: {group}\Video Demos\ffmpeg Video; Filename: {code:GetPythonExe}; Parameters: Demo_Video.py; WorkingDir: {app}\Demos\ffmpeg ;Name: {group}\Video Demos\DirectShow Video; Filename: {code:GetPythonExe}; Parameters: Demo_Video.py; WorkingDir: {app}\Demos\dshow Name: {group}\Video Demos\Theora Video; Filename: {code:GetPythonExe}; Parameters: Demo_Video.py; WorkingDir: {app}\Demos\theora -Name: {group}\NxOgre\Download AGEIA drivers first; Filename: http://www.ageia.com/drivers/drivers.html -Name: {group}\NxOgre\Cakewalk; Filename: {code:GetPythonExe}; Parameters: Cakeframework.py; WorkingDir: {app}\Demos\nxogre -Name: {group}\NxOgre\Demo101; Filename: {code:GetPythonExe}; Parameters: Demo_101.py; WorkingDir: {app}\Demos\nxogre -Name: {group}\NxOgre\Demo102; Filename: {code:GetPythonExe}; Parameters: Demo_102.py; WorkingDir: {app}\Demos\nxogre -Name: {group}\NxOgre\Demo103; Filename: {code:GetPythonExe}; Parameters: Demo_103.py; WorkingDir: {app}\Demos\nxogre +;Name: {group}\NxOgre\Download AGEIA drivers first; Filename: http://www.ageia.com/drivers/drivers.html +;Name: {group}\NxOgre\Cakewalk; Filename: {code:GetPythonExe}; Parameters: Cakeframework.py; WorkingDir: {app}\Demos\nxogre +;Name: {group}\NxOgre\Demo101; Filename: {code:GetPythonExe}; Parameters: Demo_101.py; WorkingDir: {app}\Demos\nxogre +;Name: {group}\NxOgre\Demo102; Filename: {code:GetPythonExe}; Parameters: Demo_102.py; WorkingDir: {app}\Demos\nxogre +;Name: {group}\NxOgre\Demo103; Filename: {code:GetPythonExe}; Parameters: Demo_103.py; WorkingDir: {app}\Demos\nxogre Name: {group}\Plib Demos\Networking - Server; Filename: {code:GetPythonExe}; Parameters: Demo_Server.py; WorkingDir: {app}\Demos\plib Name: {group}\Plib Demos\Networking - Client; Filename: {code:GetPythonExe}; Parameters: Demo_Client.py; WorkingDir: {app}\Demos\plib @@ -306,12 +306,16 @@ var I: Integer; begin - Result := True; -// msgbox ('Checking Supported Versions ' + Param + IntToStr(GetArrayLength(SupportedVersions) ), mbInformation, MB_OK); + Result := False; + msgbox ('Checking Supported Versions ' + Param + ' ' + IntToStr(GetArrayLength(SupportedVersions) ), mbInformation, MB_OK); for I:=0 to GetArrayLength(SupportedVersions)-1 do begin - if Param = SupportedVersions[i] then Result := True; -// msgbox ( 'Checked ' + SupportedVersions[i], mbInformation, MB_OK); + if Param = SupportedVersions[i] then begin + Result := True; + msgbox ( 'Is a supported version ' + Param + ' (' + SupportedVersions[i] + ') ' + Param , mbInformation, MB_OK); + end else begin + msgbox ( 'Not a supported version ' + Param + ' (' +SupportedVersions[i] + ') ', mbInformation, MB_OK); + end; end; end; @@ -334,6 +338,7 @@ templ := ['','']; count := 0; RegGetSubkeyNames(HKEY_LOCAL_MACHINE, 'SOFTWARE\Python\PythonCore', Result1); + msgbox ( 'LOCAL MACHINE ' + InttoStr(GetArrayLength(Result1)) , mbInformation, MB_OK); // if we have versions here process them for i:=0 to GetArrayLength(Result1)-1 do if IsSupportedVersion ( Result1[i] ) then begin // make sure we support it.. @@ -349,7 +354,9 @@ if count < 2 then begin // we've only found zero, or one version so far.. // OK so we should now have all the valid versions listed in LOCAL_MACHINE + Result1 = [''] RegGetSubkeyNames(HKEY_CURRENT_USER, 'SOFTWARE\Python\PythonCore', Result1); + msgbox ( 'LOCAL MACHINE ' + InttoStr(GetArrayLength(Result1)) , mbInformation, MB_OK); for i:=0 to GetArrayLength(Result1)-1 do if not FoundPythonIn ( Result1[i], tempv ) then // check we don't already know about this version if IsSupportedVersion (Result1[i]) then begin @@ -458,7 +465,7 @@ PythonVersion := ''; SupportedVersions := [ '2.5']; - Debug := False; + Debug := True; NumPythonVersions := GetInstalledPythonVersions(); if Debug then Modified: trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp =================================================================== --- trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.cpp 2008-09-07 06:24:31 UTC (rev 735) @@ -694,11 +694,11 @@ mTimeListeners.push_back(w); } - void GUIManager::renderQueueStarted(Ogre::uint8 id, const std::string& invocation, bool& skipThisQueue) + bool GUIManager::renderQueueStarted(Ogre::uint8 id, const std::string& invocation, bool skipThisQueue) { // Look for widgets queued for deletion. if(mFreeList.empty()) - return; + return skipThisQueue; bool activeWidgetDestroyed = false; if( std::find(mFreeList.begin(),mFreeList.end(),mActiveWidget) != mFreeList.end() ) @@ -715,9 +715,10 @@ if(activeWidgetDestroyed) injectMouseMove(0,0); + return skipThisQueue; } - void GUIManager::renderQueueEnded(Ogre::uint8 id, const std::string& invocation, bool& repeatThisQueue) + bool GUIManager::renderQueueEnded(Ogre::uint8 id, const std::string& invocation, bool repeatThisQueue) { // Perform rendering of GUI if(mQueueID == id) @@ -725,6 +726,7 @@ mActiveSheet->render(); mMouseCursor->render(); } + return repeatThisQueue; } void GUIManager::removeFromRenderQueue() Modified: trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h =================================================================== --- trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/ThirdParty/quickgui/QuickGUIManager.h 2008-09-07 06:24:31 UTC (rev 735) @@ -148,8 +148,8 @@ void registerTimeListener(Widget* w); - virtual void renderQueueStarted(Ogre::uint8 id, const std::string& invocation, bool& skipThisQueue); - virtual void renderQueueEnded(Ogre::uint8 id, const std::string& invocation, bool& repeatThisQueue); + virtual bool renderQueueStarted(Ogre::uint8 id, const std::string& invocation, bool skipThisQueue); + virtual bool renderQueueEnded(Ogre::uint8 id, const std::string& invocation, bool repeatThisQueue); void removeFromRenderQueue(); Modified: trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h =================================================================== --- trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h 2008-09-07 06:24:31 UTC (rev 735) @@ -22,6 +22,7 @@ typedef std::list<Ogre::Particle*> ParticleList; typedef std::list<Ogre::ParticleEmitter*> ParticleEmitterList; typedef std::vector<Ogre::Particle*> ParticlePool; +typedef std::vector<float> stdVectorFloat; typedef Ogre::MapIterator<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Ogre::GpuConstantDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Ogre::GpuConstantDefinition> > > >\ MapIteratorGpuConstantDefinition; Modified: trunk/python-ogre/code_generators/ogre/python_ogre_sizeof.h =================================================================== --- trunk/python-ogre/code_generators/ogre/python_ogre_sizeof.h 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/code_generators/ogre/python_ogre_sizeof.h 2008-09-07 06:24:31 UTC (rev 735) @@ -39,6 +39,7 @@ std::vector< int > v; std::set< std::string > s; +sizeof ( std::vector< float > ); std::multimap< std::string, std::string > ms; sizeof ( v ); sizeof ( s ); Modified: trunk/python-ogre/code_generators/ogrepcz/python_ogrepcz_aliases.h =================================================================== --- trunk/python-ogre/code_generators/ogrepcz/python_ogrepcz_aliases.h 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/code_generators/ogrepcz/python_ogrepcz_aliases.h 2008-09-07 06:24:31 UTC (rev 735) @@ -1 +1,2 @@ // typedef name nicename; +typedef ::Ogre::Singleton< Ogre::PCZoneFactoryManager > SingletonPCZoneFactoryManager; \ No newline at end of file Modified: trunk/python-ogre/demos/et/CEGUI_framework.py =================================================================== --- trunk/python-ogre/demos/et/CEGUI_framework.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/et/CEGUI_framework.py 2008-09-07 06:24:31 UTC (rev 735) @@ -1,4 +1,21 @@ +import ctypes +import os + +# The follow patch from Tim (Mithro) fixes a loder issue with CEGUI - previously we'd patched CEGUI to +# ensure the CEGUIBase was linked to every module to solve the issue with Python dynamically loading +# the _cegui_.so module without RTLD_GLOBAL set - then when CEGUI opened it's dynamic modules it +# couldn't find all the symbols. + +#print ctypes.CDLL("../../../root/usr/lib/libCEGUIBase.so", ctypes.RTLD_GLOBAL ) + import ogre.gui.CEGUI as CEGUI + +# Another fix for CEGUI to ensure we get a working parser.. +if os.name == 'nt': + CEGUI.System.setDefaultXMLParserName("ExpatParser") +else: + CEGUI.System.setDefaultXMLParserName("TinyXMLParser") + import ogre.io.OIS as OIS import SampleFramework Modified: trunk/python-ogre/demos/et/Demo_CEGUI_ET.py =================================================================== --- trunk/python-ogre/demos/et/Demo_CEGUI_ET.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/et/Demo_CEGUI_ET.py 2008-09-07 06:24:31 UTC (rev 735) @@ -656,7 +656,8 @@ self.terrainMgr.setUseLODMorphing(True, 0.2, "morphFactor") ## create a fresh, mid-high terrain for editing - heightMapValues = ET.stdVectorFloat() + # Note + heightMapValues = ogre.LodDistanceList() ## ET.stdVectorFloat() for i in xrange(129): for j in xrange(129): heightMapValues.append(float(0.50)) Property changes on: trunk/python-ogre/demos/media_extra/konqi_ad1_nl.avi.ogg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py =================================================================== --- trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py 2008-09-07 06:24:31 UTC (rev 735) @@ -167,7 +167,7 @@ self.TexCam = sceneManager.createCamera("ReflectCam") self.TexCam.setCustomViewMatrix(False) - self.CurrentShadowCameraSetup.getShadowCamera (self.sceneManager, self.camera, self.viewport, light, self.TexCam) +# self.CurrentShadowCameraSetup.getShadowCamera (self.sceneManager, self.camera, self.viewport, light, self.TexCam) # self.CurrentShadowCameraSetup = ogre.FocusedShadowCameraSetup() # self.CurrentShadowCameraSetup = ogre.DefaultShadowCameraSetup() Modified: trunk/python-ogre/demos/ogrepcz/Demo_PCZ01.py =================================================================== --- trunk/python-ogre/demos/ogrepcz/Demo_PCZ01.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/ogrepcz/Demo_PCZ01.py 2008-09-07 06:24:31 UTC (rev 735) @@ -23,6 +23,7 @@ os.environ['PATH'] = newpath +';' + os.environ['PATH'] import ogre.renderer.OGRE as ogre +# import sf_OIS as sf import SampleFramework as sf import ogre.io.OIS as ois import ogre.renderer.ogrepcz as pcz @@ -37,7 +38,7 @@ self.moveSpeed = 15.0 self.targetMO =0 self.app=app - self.buildingTranslate = ogre.Vector3() + self.buildingTranslate = ogre.Vector3(0,0,0) ## need to specify 0,0,0 otherwise random self.raySceneQuery= app.raySceneQuery @@ -272,14 +273,14 @@ self.buildingNode.setPosition(500, 165, 570) #ogre.Radian r = Radian(3.1416/7.0) #self.buildingNode.rotate(ogre.Vector3.UNIT_Y, r) - - # create another test buildinig - roomObj2 = RoomObject.RoomObject() - self.buildingNode = roomObj2.createTestBuilding(self.sceneManager, "2") - self.buildingNode.setPosition(400, 165, 570) - #ogre.Radian r = Radian(3.1416/7.0) - #self.buildingNode.rotate(ogre.Vector3.UNIT_Y, r) - +# +# # create another test buildinig +# roomObj2 = RoomObject.RoomObject() +# self.buildingNode = roomObj2.createTestBuilding(self.sceneManager, "2") +# self.buildingNode.setPosition(400, 165, 570) +# #ogre.Radian r = Radian(3.1416/7.0) +# #self.buildingNode.rotate(ogre.Vector3.UNIT_Y, r) +# # Position camera in the center of the building self.cameraNode.setPosition(self.buildingNode.getPosition()) # Look back along -Z Modified: trunk/python-ogre/demos/ogrepcz/plugins.cfg =================================================================== --- trunk/python-ogre/demos/ogrepcz/plugins.cfg 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/ogrepcz/plugins.cfg 2008-09-07 06:24:31 UTC (rev 735) @@ -8,11 +8,10 @@ Plugin=RenderSystem_Direct3D9.dll Plugin=Plugin_ParticleFX.dll Plugin=Plugin_BSPSceneManager.dll -Plugin=Plugin_OctreeSceneManager.dll Plugin=Plugin_CgProgramManager.dll Plugin=Plugin_PCZSceneManager.dll Plugin=Plugin_OctreeZone.dll -#Plugin=Plugin_OctreeSceneManager.dll +Plugin=Plugin_OctreeSceneManager.dll ## Modified: trunk/python-ogre/demos/theora/demo_video.py =================================================================== --- trunk/python-ogre/demos/theora/demo_video.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/demos/theora/demo_video.py 2008-09-07 06:24:31 UTC (rev 735) @@ -42,8 +42,8 @@ if not self.Control: print "\n\nClip not found\n" sys.exit() - self.Control.setInputName( '../media_extra/konqi_ad1_nl.avi.ogg') ##fish.ogg' ) - self.Control.setPlayMode(theora.TextureEffectPause ) + self.Control.setInputName( '../media_extra/fish1.ogg') #konqi_ad1_nl.avi.ogg') ##fish.ogg' ) + self.Control.setPlayMode(ogre.TextureEffectPause ) self.Control.setTextureTecPassStateLevel( 0, 0, 0 ) self.Control.setSeekEnabled( False ) @@ -71,7 +71,7 @@ self.Clip.setAudioDriver( self.Audio ) - self.playmode = theora.TextureEffectPlay_ASAP + self.playmode = ogre.TextureEffectPlay_ASAP self.Clip.changePlayMode ( self.playmode ) c = sceneManager.createEntity("cubo", "cube.mesh") Modified: trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py =================================================================== --- trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py 2008-09-05 01:56:29 UTC (rev 734) +++ trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py 2008-09-07 06:24:31 UTC (rev 735) @@ -302,7 +302,9 @@ self.InputManager=None ## NOTE the in Ogre 1.6 (1.7) this is changed to frameRenderingQueued !!! - + def frameRenderingQueued ( self, evt ): + return True + def frameStarted(self, frameEvent): if(self.renderWindow.isClosed()): return False This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |