[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.
|