[Python-ogre-commit] SF.net SVN: python-ogre: [371] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
|
From: <and...@us...> - 2007-08-11 05:55:16
|
Revision: 371
http://python-ogre.svn.sourceforge.net/python-ogre/?rev=371&view=rev
Author: andy_miller
Date: 2007-08-10 22:55:18 -0700 (Fri, 10 Aug 2007)
Log Message:
-----------
Changes/Updates for 1.0 Release
New Modules - NxOgre, PhysX, DirectShow Video, FFMPEG Video, BetaGui.cpp
Updates/Fixes for Ogre, QuickGUI
New Demos for ODE + New Modules
Modified Paths:
--------------
trunk/python-ogre/ChangeLog.txt
trunk/python-ogre/PythonOgreConfig_nt.py
trunk/python-ogre/PythonOgreConfig_posix.py
trunk/python-ogre/SConstruct
trunk/python-ogre/ThirdParty/vcredist_x86.exe
trunk/python-ogre/code_generators/bullet/generate_code.py
trunk/python-ogre/code_generators/cegui/customization_data.py
trunk/python-ogre/code_generators/cegui/generate_code.py
trunk/python-ogre/code_generators/cegui/hand_made_wrappers.py
trunk/python-ogre/code_generators/cegui/python_CEGUI_aliases.h
trunk/python-ogre/code_generators/common_utils/extract_documentation.py
trunk/python-ogre/code_generators/ogre/generate_code.py
trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py
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/ogreode/generate_code.py
trunk/python-ogre/code_generators/opcode/generate_code.py
trunk/python-ogre/code_generators/opcode/hand_made_wrappers.py
trunk/python-ogre/code_generators/quickgui/generate_code.py
trunk/python-ogre/code_generators/quickgui/python_quickgui.h
trunk/python-ogre/code_generators/quickgui/python_quickgui_aliases.h
trunk/python-ogre/demos/gui/Demo_QuickGUI01.py
trunk/python-ogre/demos/gui/plugins.cfg
trunk/python-ogre/demos/gui/tofix/MenuDemo.py
trunk/python-ogre/demos/media/gui/ogregui.layout
trunk/python-ogre/demos/media/materials/scripts/Example.material
trunk/python-ogre/demos/media/skins/SkinTemplate.material
trunk/python-ogre/demos/ogre/Demo_Basic.py
trunk/python-ogre/demos/ogre/Demo_Bezier.py
trunk/python-ogre/demos/ogre/Demo_CameraTracking.py
trunk/python-ogre/demos/ogre/Demo_Grass.py
trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py
trunk/python-ogre/demos/ogre/Demo_SkeletonAnimation.py
trunk/python-ogre/demos/ogre/Demo_SkyBox.py
trunk/python-ogre/demos/ogre/Demo_SkyDome.py
trunk/python-ogre/demos/ogre/Demo_Smoke.py
trunk/python-ogre/demos/ogre/Demo_Spinner.py
trunk/python-ogre/demos/ogre/Demo_Terrain.py
trunk/python-ogre/demos/ogre/plugins.cfg
trunk/python-ogre/demos/ogre/tests/Test_Iterator.py
trunk/python-ogre/demos/ogre/tests/plugins.cfg
trunk/python-ogre/environment.py
trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py
trunk/python-ogre/scripts/epydoc_config
trunk/python-ogre/setup.py
Added Paths:
-----------
trunk/python-ogre/ThirdParty/betagui/
trunk/python-ogre/ThirdParty/betagui/BetaGUI.h
trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp
trunk/python-ogre/ThirdParty/betagui/BetaGui.py
trunk/python-ogre/ThirdParty/dshow/
trunk/python-ogre/ThirdParty/dshow/UtilsOgreDShow.cpp
trunk/python-ogre/ThirdParty/dshow/UtilsOgreDshow.h
trunk/python-ogre/ThirdParty/dshow/UtilsOgreDshow_private.h
trunk/python-ogre/ThirdParty/ffmpeg/
trunk/python-ogre/ThirdParty/ffmpeg/videoPlayer.cpp
trunk/python-ogre/ThirdParty/ffmpeg/videoPlayer.h
trunk/python-ogre/code_generators/betagui/
trunk/python-ogre/code_generators/betagui/customization_data.py
trunk/python-ogre/code_generators/betagui/generate_code.py
trunk/python-ogre/code_generators/betagui/hand_made_wrappers.py
trunk/python-ogre/code_generators/betagui/python_betagui.h
trunk/python-ogre/code_generators/betagui/python_betagui_aliases.h
trunk/python-ogre/code_generators/betagui/python_betagui_sizeof.h
trunk/python-ogre/code_generators/nxogre/
trunk/python-ogre/code_generators/nxogre/customization_data.py
trunk/python-ogre/code_generators/nxogre/generate_code.py
trunk/python-ogre/code_generators/nxogre/hand_made_wrappers.py
trunk/python-ogre/code_generators/nxogre/python_nxogre.h
trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h
trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h
trunk/python-ogre/code_generators/nxogre/register_exceptions.py
trunk/python-ogre/code_generators/ogredshow/
trunk/python-ogre/code_generators/ogredshow/customization_data.py
trunk/python-ogre/code_generators/ogredshow/generate_code.py
trunk/python-ogre/code_generators/ogredshow/hand_made_wrappers.py
trunk/python-ogre/code_generators/ogredshow/python_ogredshow.h
trunk/python-ogre/code_generators/ogredshow/python_ogredshow_aliases.h
trunk/python-ogre/code_generators/ogredshow/python_ogredshow_sizeof.h
trunk/python-ogre/code_generators/ogredshow/register_exceptions.py
trunk/python-ogre/code_generators/ogrevideoffmpeg/
trunk/python-ogre/code_generators/ogrevideoffmpeg/PythonOgreConfig_posix.py
trunk/python-ogre/code_generators/ogrevideoffmpeg/customization_data.py
trunk/python-ogre/code_generators/ogrevideoffmpeg/generate_code.py
trunk/python-ogre/code_generators/ogrevideoffmpeg/hand_made_wrappers.py
trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg.h
trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg_aliases.h
trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg_sizeof.h
trunk/python-ogre/code_generators/theora/
trunk/python-ogre/code_generators/theora/customization_data.py
trunk/python-ogre/code_generators/theora/generate_code.py
trunk/python-ogre/code_generators/theora/hand_made_wrappers.py
trunk/python-ogre/code_generators/theora/python_theora.h
trunk/python-ogre/code_generators/theora/python_theora_aliases.h
trunk/python-ogre/code_generators/theora/python_theora_sizeof.h
trunk/python-ogre/code_generators/theora/register_exceptions.py
trunk/python-ogre/demos/dshow/
trunk/python-ogre/demos/dshow/Demo_Video.py
trunk/python-ogre/demos/dshow/SampleFramework.py
trunk/python-ogre/demos/dshow/plugins.cfg
trunk/python-ogre/demos/dshow/resources.cfg
trunk/python-ogre/demos/ffmpeg/
trunk/python-ogre/demos/ffmpeg/Demo_Video.py
trunk/python-ogre/demos/ffmpeg/SampleFramework.py
trunk/python-ogre/demos/ffmpeg/plugins.cfg
trunk/python-ogre/demos/ffmpeg/resources.cfg
trunk/python-ogre/demos/ffmpeg/test.wmv
trunk/python-ogre/demos/gui/MenuDemo.py
trunk/python-ogre/demos/media/Audio/clock.avi
trunk/python-ogre/demos/media/Audio/clock.ogg
trunk/python-ogre/demos/media/ComplexMeshes/
trunk/python-ogre/demos/media/ComplexMeshes/cloth.material
trunk/python-ogre/demos/media/ComplexMeshes/nx.flag.png
trunk/python-ogre/demos/media/Env/
trunk/python-ogre/demos/media/Env/nx.floor.material
trunk/python-ogre/demos/media/Env/nx.floor.mesh
trunk/python-ogre/demos/media/Env/nx.floor.png
trunk/python-ogre/demos/media/Env/nx.floor.shadowalpha.png
trunk/python-ogre/demos/media/Env/nx.skygrid.png
trunk/python-ogre/demos/media/Essential/
trunk/python-ogre/demos/media/Essential/BetaGUI/
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.button.active.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.button.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.material
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.pointer.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.textinput.active.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.textinput.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.resize.active.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.resize.png
trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.titlebar.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.exit.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.exit.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.pause.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.pause.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debug.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debug.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debugon.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debugon.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.material
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.text.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.window.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.window.titlebar.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.confirm.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.confirm.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.do.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.do.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.up.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.up.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/nxbgui.material
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/pause.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/pause.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/play.active.png
trunk/python-ogre/demos/media/Essential/BetaGUIExtended/play.png
trunk/python-ogre/demos/media/Essential/Boot/
trunk/python-ogre/demos/media/Essential/Boot/101.jpg
trunk/python-ogre/demos/media/Essential/Boot/102.jpg
trunk/python-ogre/demos/media/Essential/Boot/103.jpg
trunk/python-ogre/demos/media/Essential/Boot/any.jpg
trunk/python-ogre/demos/media/Essential/Boot/arrow1.png
trunk/python-ogre/demos/media/Essential/Boot/axis_x.png
trunk/python-ogre/demos/media/Essential/Boot/axis_y.png
trunk/python-ogre/demos/media/Essential/Boot/axis_z.png
trunk/python-ogre/demos/media/Essential/Boot/bodyguide1m.png
trunk/python-ogre/demos/media/Essential/Boot/boot.material
trunk/python-ogre/demos/media/Essential/Boot/debug.png
trunk/python-ogre/demos/media/Essential/Boot/gui.material
trunk/python-ogre/demos/media/Essential/Boot/gui_loading.png
trunk/python-ogre/demos/media/Essential/Boot/gui_loading_notice.png
trunk/python-ogre/demos/media/Essential/Boot/gui_options.png
trunk/python-ogre/demos/media/Essential/Boot/gui_options_selected.png
trunk/python-ogre/demos/media/Essential/Boot/gui_pause.png
trunk/python-ogre/demos/media/Essential/Boot/gui_save.png
trunk/python-ogre/demos/media/Essential/Boot/gui_save_selected.png
trunk/python-ogre/demos/media/Essential/Boot/gui_slowfast.png
trunk/python-ogre/demos/media/Essential/Boot/nx.body.axis.mesh
trunk/python-ogre/demos/media/Essential/Boot/nx.bodyguide.material
trunk/python-ogre/demos/media/Essential/Boot/nx.bodyguide.mesh
trunk/python-ogre/demos/media/Essential/Fonts/
trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.license.txt
trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.png
trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.ttf
trunk/python-ogre/demos/media/Essential/Fonts/MgOpenAsBitmap.fontdef
trunk/python-ogre/demos/media/Essential/Fonts/MgOpenAsNxOgreFont.fontdef
trunk/python-ogre/demos/media/Essential/icon.cube.png
trunk/python-ogre/demos/media/Essential/icon.sphere.png
trunk/python-ogre/demos/media/Essential/widget.add.active.png
trunk/python-ogre/demos/media/Essential/widget.add.png
trunk/python-ogre/demos/media/Essential/widget.angle.over.png
trunk/python-ogre/demos/media/Essential/widget.angle.png
trunk/python-ogre/demos/media/Essential/widget.create.png
trunk/python-ogre/demos/media/Essential/widget.edit.png
trunk/python-ogre/demos/media/Essential/widget.material.over.png
trunk/python-ogre/demos/media/Essential/widget.material.png
trunk/python-ogre/demos/media/Essential/widget.mm.bodies.over.png
trunk/python-ogre/demos/media/Essential/widget.mm.bodies.png
trunk/python-ogre/demos/media/Essential/widget.mm.fx.over.png
trunk/python-ogre/demos/media/Essential/widget.mm.fx.png
trunk/python-ogre/demos/media/Essential/widget.mm.joints.over.png
trunk/python-ogre/demos/media/Essential/widget.mm.joints.png
trunk/python-ogre/demos/media/Essential/widget.mm.png
trunk/python-ogre/demos/media/Essential/widget.scale.over.png
trunk/python-ogre/demos/media/Essential/widget.scale.png
trunk/python-ogre/demos/media/Essential/widgets.material
trunk/python-ogre/demos/media/SimpleMeshes/
trunk/python-ogre/demos/media/SimpleMeshes/Example_BumpMapping.cg
trunk/python-ogre/demos/media/SimpleMeshes/capsule.50cmx1m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/capsule.prefix.material
trunk/python-ogre/demos/media/SimpleMeshes/convex.prefix.material
trunk/python-ogre/demos/media/SimpleMeshes/convex1.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.1m-2m-1m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.h.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.smooth.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.mesh
trunk/python-ogre/demos/media/SimpleMeshes/cube.prefix.material
trunk/python-ogre/demos/media/SimpleMeshes/fish.mesh
trunk/python-ogre/demos/media/SimpleMeshes/hilight.material
trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-diffuse.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-normal.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-spec.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.70s1.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.block.material
trunk/python-ogre/demos/media/SimpleMeshes/nx.block.mesh
trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.material
trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.mesh
trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.mesh.xml
trunk/python-ogre/demos/media/SimpleMeshes/nx.cube.png
trunk/python-ogre/demos/media/SimpleMeshes/nx.flag.png
trunk/python-ogre/demos/media/SimpleMeshes/nx.lava.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.planet1.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.planet2.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.50cm.mesh
trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.50cm.mesh.xml
trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.material
trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere1.png
trunk/python-ogre/demos/media/SimpleMeshes/nx.stone1.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.tartan.dds
trunk/python-ogre/demos/media/SimpleMeshes/nx.tube.material
trunk/python-ogre/demos/media/SimpleMeshes/nx.tube.mesh
trunk/python-ogre/demos/media/SimpleMeshes/nx.yellow1.png
trunk/python-ogre/demos/media/SimpleMeshes/prism.12x150cmx3m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/prism.8x50cmx2m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/racecar.material
trunk/python-ogre/demos/media/SimpleMeshes/racecar.mesh
trunk/python-ogre/demos/media/SimpleMeshes/racecar1.png
trunk/python-ogre/demos/media/SimpleMeshes/sandbox.material
trunk/python-ogre/demos/media/SimpleMeshes/sphere.2m.mesh
trunk/python-ogre/demos/media/SimpleMeshes/sphere.50cm.mesh
trunk/python-ogre/demos/media/SimpleMeshes/sphere.prefix.material
trunk/python-ogre/demos/media/SimpleMeshes/squirrel.mesh
trunk/python-ogre/demos/media/SimpleMeshes/squirrel.skeleton
trunk/python-ogre/demos/media/SimpleMeshes/tyre.png
trunk/python-ogre/demos/media/SimpleMeshes/wheel50cmx10cmx50cm.material
trunk/python-ogre/demos/media/SimpleMeshes/wheel50cmx10cmx50cm.mesh
trunk/python-ogre/demos/media/skins/qgui/qgui.image.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.down.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.over.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.down.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.over.png
trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.png
trunk/python-ogre/demos/media/skins/qgui/qgui_uv_test0.png
trunk/python-ogre/demos/media/times.ttf
trunk/python-ogre/demos/nxogre/
trunk/python-ogre/demos/nxogre/BetaGui.py
trunk/python-ogre/demos/nxogre/CakeFramework.py
trunk/python-ogre/demos/nxogre/Demo_101.py
trunk/python-ogre/demos/nxogre/Demo_102.py
trunk/python-ogre/demos/nxogre/Demo_103.py
trunk/python-ogre/demos/nxogre/Enums.py
trunk/python-ogre/demos/nxogre/SampleFramework.py
trunk/python-ogre/demos/nxogre/config.yaml
trunk/python-ogre/demos/nxogre/plugins.cfg
trunk/python-ogre/demos/nxogre/resources.cfg
trunk/python-ogre/demos/ogre/Demo_Shadows.py
trunk/python-ogre/demos/ogreode/GranTurismOgre.py
trunk/python-ogre/demos/opcode/Demo_OgreCollision01.py
trunk/python-ogre/demos/opcode/Demo_OpcodeCollision01.py
trunk/python-ogre/packages_2.5/ogre/addons/
trunk/python-ogre/packages_2.5/ogre/addons/__init__.py
trunk/python-ogre/packages_2.5/ogre/addons/ogredshow/
trunk/python-ogre/packages_2.5/ogre/addons/ogredshow/__init__.py
trunk/python-ogre/packages_2.5/ogre/addons/ogrevideoffmpeg/
trunk/python-ogre/packages_2.5/ogre/addons/ogrevideoffmpeg/__init__.py
trunk/python-ogre/packages_2.5/ogre/addons/theora/
trunk/python-ogre/packages_2.5/ogre/addons/theora/__init__.py
trunk/python-ogre/packages_2.5/ogre/gui/betagui/
trunk/python-ogre/packages_2.5/ogre/gui/betagui/__init__.py
trunk/python-ogre/packages_2.5/ogre/physics/NxOgre/
trunk/python-ogre/packages_2.5/ogre/physics/NxOgre/__init__.py
trunk/python-ogre/packages_2.5/ogre/physics/PhysX/
trunk/python-ogre/packages_2.5/ogre/physics/PhysX/__init__.py
trunk/python-ogre/packages_2.5/ogre/physics/bullet/
trunk/python-ogre/packages_2.5/ogre/physics/bullet/__init__.py
trunk/python-ogre/packages_2.5/ogre/renderer/OGREdshow/
trunk/python-ogre/packages_2.5/ogre/renderer/OGREdshow/__init__.py
Removed Paths:
-------------
trunk/python-ogre/code_generators/ogrevideo/
trunk/python-ogre/demos/ogre/tests/ogre.cfg
trunk/python-ogre/demos/opcode/ogre.cfg
Modified: trunk/python-ogre/ChangeLog.txt
===================================================================
--- trunk/python-ogre/ChangeLog.txt 2007-07-25 04:47:51 UTC (rev 370)
+++ trunk/python-ogre/ChangeLog.txt 2007-08-11 05:55:18 UTC (rev 371)
@@ -1,12 +1,24 @@
-xxx 2007
+
+August 10 2007: Version 1.0 - Release
============================================
-* Updated to QuickGui 0.9.5
+* Added NxOgre Wrapper -- single demo with Cakewalk
+* Added PhysX Wrapper -- required for NxOgre -- you need to install the PhysX library
+* Added OgreDshow wrapper -- play videos (with sound) on textures using DirectShow
+* Added OgreVideoFfmpeg wrapper (thanks Dermont) -- plays video (without sound) vis ffmpeg
+* Added BetaGUI wrapper -- needed for the NxOgre Cakewalk conversion
+* Updated to QuickGui 0.9.5 -- using SVN version
* Added common_utils function to remove duplicate Properties which happened when there was a getXXX AND a hasXXX implemented
in the C++ code -- now we filter these are give the getXXX priority
* Implemented support for Ogre compiled with THREADS enabled - need to set value to True in ogre/generate_code.py
* Change implemented in Py++ to expose missing 'setters'
-* Added bullet physics to the library - no testing as of yet
+* Added castAsOverlayContainer function to Ogre -- needed for 'add2D' functionality
+* Added bullet physics to the library - no testing as of yet -- probably doesn't work
+* Fixed issue where we were exposing constructors with arguments that were pointers to fundemental types (int * etc)
+ could cause a crash if passing invalid parameters (None) to these constructors
* OIS compile has changed to use the static library instead of the dll
+* Updated Windows Help documentation
+* SVN and Tickets have been moved to SourceForge
+* Using "touch" on the release files to get some consistancy in the release
June 10 2007: Version 1.0 RC2(c) -- Release
============================================
Modified: trunk/python-ogre/PythonOgreConfig_nt.py
===================================================================
--- trunk/python-ogre/PythonOgreConfig_nt.py 2007-07-25 04:47:51 UTC (rev 370)
+++ trunk/python-ogre/PythonOgreConfig_nt.py 2007-08-11 05:55:18 UTC (rev 371)
@@ -36,9 +36,16 @@
PATH_raknet= os.path.join(BASE_DIR, 'RakNet')
PATH_OPCODE= os.path.join(BASE_DIR, 'Opcode')
PATH_quickgui= os.path.join(root_dir, 'ThirdParty','quickgui')
+PATH_quickgui= os.path.join(BASE_DIR, 'Quickgui') ## note test for Quickgui SVN version
+PATH_betagui= os.path.join(root_dir, 'ThirdParty','betagui')
PATH_NxOgre= os.path.join(BASE_DIR, 'nxogre/NxOgre')
PATH_Bullet= os.path.join(BASE_DIR, 'bullet-2.52')
PATH_PhysX= "c:/program files/AGEIA Technologies/SDK/v2.7.2/SDKs"
+PATH_Theora= os.path.join(PATH_OgreAddons,'videoplugin','TheoraVideo')
+PATH_Dshow= os.path.join(root_dir, 'ThirdParty','dshow')
+PATH_ogrevideoffmpeg = os.path.join(root_dir, 'ThirdParty','ffmpeg')
+PATH_ffmpeg= os.path.join(BASE_DIR, 'ffmpeg')
+PATH_ogredshow = os.path.join(root_dir, 'ThirdParty','dshow')
#
# it's time for the SDK version
if SDK:
@@ -76,11 +83,16 @@
PATH_LIB_OgreOdeLoader = os.path.join( PATH_OgreOde, 'loader/lib/Release' )
PATH_LIB_FMOD = os.path.join(PATH_FMOD, 'api/lib')
PATH_LIB_OgreAL = os.path.join(PATH_OGREAL, 'lib/Release' )
-PATH_LIB_quickgui = PATH_quickgui
+PATH_LIB_betagui = PATH_betagui
+PATH_LIB_quickgui = os.path.join(PATH_quickgui, 'bin')
PATH_LIB_raknet = os.path.join(PATH_raknet, 'Lib' )
-PATH_LIB_NxOgre= os.path.join(PATH_NxOgre, 'compiler','NxOgre.VC8','Release','lib')
-PATH_LIB_PhysX = ""
+PATH_LIB_NxOgre= os.path.join(PATH_NxOgre, 'lib')
+PATH_LIB_PhysX = os.path.join(PATH_PhysX,'lib/win32')
PATH_LIB_Bullet = os.path.join(PATH_Bullet, 'out/release8/libs' )
+PATH_LIB_Theora= os.path.join(PATH_Theora, 'bin', 'Release')
+PATH_LIB_ogrevideoffmpeg = PATH_ogrevideoffmpeg
+PATH_LIB_ffmpeg= os.path.join(PATH_ffmpeg, 'lib')
+PATH_LIB_ogredshow = PATH_ogredshow
if SDK:
PATH_LIB_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'lib')
@@ -111,11 +123,24 @@
PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include')
PATH_INCLUDE_FMOD = os.path.join(PATH_FMOD, 'api/inc')
PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'samples/Common/CEGUIRenderer/include')
-PATH_INCLUDE_quickgui = PATH_quickgui
+PATH_INCLUDE_quickgui = os.path.join(PATH_quickgui,'QuickGUI','include')
PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' )
PATH_INCLUDE_NxOgre= os.path.join(PATH_NxOgre, 'include')
PATH_INCLUDE_Bullet= os.path.join(PATH_Bullet, 'src')
+PATH_INCLUDE_freetype= os.path.join(PATH_INCLUDE_quickgui,'FreeType2.3.5')
+PATH_INCLUDE_betagui = PATH_betagui
+PATH_INCLUDE_Dshow= PATH_Dshow
+PATH_INCLUDE_Theora = os.path.join (PATH_Theora,'include')
+PATH_INCLUDE_ogrevideoffmpeg = PATH_ogrevideoffmpeg
+PATH_INCLUDE_ffmpeg = os.path.join (PATH_ffmpeg,'include')
+PATH_INCLUDE_ogredshow = PATH_ogredshow
+PATH_INCLUDE_OggVorbisTheora = [ os.path.join(BASE_DIR,'ogg','include')
+ ,os.path.join(BASE_DIR, 'vorbis', 'include')
+ ,os.path.join(PATH_OgreAddons,'videoplugin','theora','include')
+ ,os.path.join(PATH_OgreAddons,'videoplugin','ptypes-1.8.3','include')
+ ]
+
PATH_INCLUDE_PhysX= [ os.path.join(PATH_PhysX, 'Physics','include')
,os.path.join(PATH_PhysX, 'Cooking','include')
,os.path.join(PATH_PhysX, 'Foundation','include')
Modified: trunk/python-ogre/PythonOgreConfig_posix.py
===================================================================
--- trunk/python-ogre/PythonOgreConfig_posix.py 2007-07-25 04:47:51 UTC (rev 370)
+++ trunk/python-ogre/PythonOgreConfig_posix.py 2007-08-11 05:55:18 UTC (rev 371)
@@ -1,108 +1,107 @@
-import sys,os
-
-
-## Boost stuff
-## path to the root of your boost dir, should have 'libs', 'boost' subdirectories
-module_dir = os.path.abspath(os.path.dirname(__file__) )## The root directory is where this module is located
-
-## lets assume that the base development directory is one level higher
-BASE_DIR,ignore = os.path.split(module_dir) ## r'/home/andy/development'
-
-ROOT_DIR = os.path.join(BASE_DIR,'root')
-
-
-LOCAL_LIB = os.path.join(ROOT_DIR,'usr/lib')
-LOCAL_INCLUDE = os.path.join(ROOT_DIR, 'usr/include')
-PATH_Boost = os.path.join(LOCAL_INCLUDE, 'boost-1_34')
-print "**", PATH_Boost
-
-#
-PATH_LIB_Boost = LOCAL_LIB
-## and the name of the boost python library
-LIB_Boost = 'libboost_python-gcc41-1_34'
-
-#
-# Don't forget we need to call gccxml......
-gccxml_bin = os.path.join(BASE_DIR,'gccxml-build/bin')
-# and the Py++ directory as sometimes we need access to the code repository there
-pyplusplus_install_dir = os.path.join(BASE_DIR,'pygccxml')
-
-
-# # ## Parent directories of the libraries
-PATH_Ogre = os.path.join(BASE_DIR,'ogrenew')
-PATH_OgreAddons = os.path.join(BASE_DIR, 'OgreAddons')
-PATH_CEGUI = os.path.join(BASE_DIR, 'CEGUI-0.5.0')
-PATH_OIS = os.path.join(BASE_DIR, 'ois-1.0RC1')
-PATH_Newton = os.path.join(BASE_DIR, 'newtonSDK/sdk')
-# # PATH_FMOD = os.path.join(BASE_DIR, 'fmod')
-PATH_ODE = os.path.join(BASE_DIR, 'ode-0.8')
-# # PATH_OGREAL= os.path.join(BASE_DIR, 'ogreal/trunk/OgreAL-Eihort')
-# # PATH_OGG = os.path.join(BASE_DIR, 'ogg')
-# # PATH_VORBIS= os.path.join(BASE_DIR, 'vorbis')
-# # PATH_OPENAL= os.path.join(BASE_DIR, 'openal')
-# # PATH_ALUT= os.path.join(BASE_DIR, 'freealut')
-PATH_OgreOde= os.path.join(BASE_DIR, 'ogreaddons','ogreode')
-#PATH_betagui= os.path.join(module_dir, 'ThirdParty','betagui')
-#PATH_raknet= os.path.join(BASE_DIR, 'RakNet')
-PATH_quickgui= os.path.join(module_dir, 'ThirdParty','quickgui')
-PATH_OPCODE= os.path.join(BASE_DIR, 'Opcode')
-
-
-
-# # # Overrides - this is needed as libs isn't defined in enirvonment for fmod..
-# # #class fmod:
-# # # version= "4.06"
-# # # libs=[LIB_Boost, 'fmodexL_vc']
-# # ##libs=[Config.LIB_Boost, 'libfmodex'] ##posix
-
-# # ###
-# # ### these paths assume you've left all the directory structure as standard
-# # ### Override anything that is different
-# # ###
-PATH_LIB_Ogre_CEGUIRenderer = os.path.join( LOCAL_LIB ) #, 'Samples/Common/CEGUIRenderer/lib')
-PATH_LIB_Ogre_OgreMain= os.path.join( LOCAL_LIB ) # PATH_Ogre, 'OgreMain/lib/Release' )
-PATH_LIB_Ogre_Dependencies = os.path.join( LOCAL_LIB ) # , 'Dependencies/lib/Release')
-
-
-
-PATH_LIB_OgreRefApp = os.path.join( LOCAL_LIB ) # PATH_Ogre, 'ReferenceApplication/ReferenceAppLayer/lib/Release')
-PATH_LIB_OgreNewt = os.path.join( LOCAL_LIB ) #PATH_OgreAddons, r'ogrenewt/OgreNewt_Main/lib/Release')
-PATH_LIB_Newton = PATH_Newton #os.path.join( LOCAL_LIB ) # PATH_Newton ,'dll') ##NOTE Posix platforms this lives in 'lib-mt'
-PATH_LIB_OIS = os.path.join( LOCAL_LIB ) #PATH_OIS, 'dll') ## NOTE Posix platforms this lives in'lib' not 'dll'
-PATH_LIB_CEGUI = os.path.join ( LOCAL_LIB ) #PATH_Ogre, r'Dependencies/lib/Release' )
-PATH_LIB_ODE = os.path.join( LOCAL_LIB ) #PATH_ODE, 'lib/releasedll')## probable releaselib for posix
-PATH_LIB_OgreOde = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'lib/Release')
-PATH_LIB_OgreOdePrefab = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'prefab/lib/Release' )
-PATH_LIB_OgreOdeLoader = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'loader/lib/Release' )
-
-PATH_LIB_OgreAL = os.path.join( LOCAL_LIB ) #PATH_OGREAL, 'lib/Release' )
-#PATH_LIB_betagui = PATH_betagui
-PATH_LIB_quickgui = PATH_quickgui
-#PATH_LIB_raknet = os.path.join( LOCAL_LIB ) #PATH_raknet, 'Lib' )
-
-PATH_LIB_OPCODE = os.path.join( PATH_OPCODE, 'Release')
-PATH_INCLUDE_Ogre= os.path.join(LOCAL_INCLUDE,'OGRE') # os.path.join(PATH_Ogre,'OgreMain/include')
-
-PATH_INCLUDE_Ogre_Dependencies = PATH_INCLUDE_Ogre # os.path.join( PATH_Ogre, 'Dependencies/include')
-PATH_INCLUDE_OIS = os.path.join(LOCAL_INCLUDE,'OIS') #os.path.join(PATH_OIS,'includes') ## Note the plural include's
-PATH_INCLUDE_OgreRefApp = os.path.join(PATH_Ogre,'ReferenceApplication/ReferenceAppLayer/include')
-PATH_INCLUDE_OgreNewt = os.path.join(LOCAL_INCLUDE,'OgreNewt') #os.path.join(PATH_OgreAddons,'ogrenewt/OgreNewt_Main/inc')
-PATH_INCLUDE_CEGUI = os.path.join(LOCAL_INCLUDE,'CEGUI') #os.path.join(PATH_CEGUI, r'include/CEGUI')
-PATH_INCLUDE_ODE = os.path.join(LOCAL_INCLUDE,'') #os.path.join( PATH_ODE, 'include')
-PATH_INCLUDE_ODESOURCE = '' # os.path.join( PATH_ODE, 'ode/src')
-PATH_INCLUDE_OPCODE = PATH_OPCODE
-
-PATH_INCLUDE_OgreAL = ''# os.path.join( PATH_OGREAL, 'include' )
-PATH_INCLUDE_OPENAL = ''# os.path.join( PATH_OPENAL, 'include')
-PATH_INCLUDE_OGG= ''# os.path.join( PATH_OGG, r'include' )
-PATH_INCLUDE_VORBIS= ''# os.path.join( PATH_VORBIS, r'include' )
-PATH_INCLUDE_ALUT= ''# os.path.join( PATH_ALUT, 'include' )
-
-PATH_INCLUDE_OgreOde = os.path.join( PATH_OgreOde,'include')
-PATH_INCLUDE_OgreOdePrefab= os.path.join( PATH_OgreOde,'prefab/include')
-PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include')
-PATH_INCLUDE_Newton = PATH_Newton # os.path.join(LOCAL_INCLUDE,'Newton')
-#PATH_INCLUDE_betagui = PATH_betagui
-PATH_INCLUDE_quickgui = PATH_quickgui
-#PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' )
-PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'Samples/Common/CEGUIRenderer/include')
+import sys,os
+
+
+## Boost stuff
+## path to the root of your boost dir, should have 'libs', 'boost' subdirectories
+module_dir = os.path.abspath(os.path.dirname(__file__) )## The root directory is where this module is located
+
+## lets assume that the base development directory is one level higher
+BASE_DIR,ignore = os.path.split(module_dir) ## r'/home/andy/development'
+
+ROOT_DIR = os.path.join(BASE_DIR,'root')
+
+
+LOCAL_LIB = os.path.join(ROOT_DIR,'/usr/lib')
+LOCAL_INCLUDE = os.path.join(ROOT_DIR, '/usr/include')
+PATH_Boost = os.path.join(LOCAL_INCLUDE, 'boost_1_34')
+
+#
+PATH_LIB_Boost = LOCAL_LIB
+## and the name of the boost python library
+LIB_Boost = 'libboost_python-gcc41-1_34'
+
+#
+# Don't forget we need to call gccxml......
+gccxml_bin = os.path.join(BASE_DIR,'gccxml-build/bin')
+# and the Py++ directory as sometimes we need access to the code repository there
+pyplusplus_install_dir = os.path.join(BASE_DIR,'pygccxml')
+
+
+# # ## Parent directories of the libraries
+PATH_Ogre = os.path.join(BASE_DIR,'ogrenew')
+# # PATH_OgreAddons = os.path.join(BASE_DIR, 'OgreAddons')
+# # PATH_CEGUI = os.path.join(BASE_DIR, 'CEGUI-0.5.0')
+# # PATH_OIS = os.path.join(BASE_DIR, 'ois-1.0RC1')
+# # PATH_Newton = os.path.join(BASE_DIR, 'newtonsdk/sdk')
+# # PATH_FMOD = os.path.join(BASE_DIR, 'fmod')
+# # PATH_ODE = os.path.join(BASE_DIR, 'opende/trunk')
+# # PATH_OGREAL= os.path.join(BASE_DIR, 'ogreal/trunk/OgreAL-Eihort')
+# # PATH_OGG = os.path.join(BASE_DIR, 'ogg')
+# # PATH_VORBIS= os.path.join(BASE_DIR, 'vorbis')
+# # PATH_OPENAL= os.path.join(BASE_DIR, 'openal')
+# # PATH_ALUT= os.path.join(BASE_DIR, 'freealut')
+PATH_OgreOde= os.path.join(BASE_DIR, 'OgreAddons/ogreode')
+# # PATH_betagui= os.path.join(BASE_DIR, 'betagui')
+# PATH_raknet= os.path.join(BASE_DIR, 'RakNet')
+PATH_simplegui= os.path.join(module_dir, 'ThirdParty/simplegui')
+
+
+
+
+# # # Overrides - this is needed as libs isn't defined in enirvonment for fmod..
+# # #class fmod:
+# # # version= "4.06"
+# # # libs=[LIB_Boost, 'fmodexL_vc']
+# # ##libs=[Config.LIB_Boost, 'libfmodex'] ##posix
+
+# # ###
+# # ### these paths assume you've left all the directory structure as standard
+# # ### Override anything that is different
+# # ###
+PATH_LIB_Ogre_CEGUIRenderer = os.path.join( LOCAL_LIB ) #, 'Samples/Common/CEGUIRenderer/lib')
+PATH_LIB_Ogre_OgreMain= os.path.join( LOCAL_LIB ) # PATH_Ogre, 'OgreMain/lib/Release' )
+PATH_LIB_Ogre_Dependencies = os.path.join( LOCAL_LIB ) # , 'Dependencies/lib/Release')
+
+
+
+PATH_LIB_OgreRefApp = os.path.join( LOCAL_LIB ) # PATH_Ogre, 'ReferenceApplication/ReferenceAppLayer/lib/Release')
+PATH_LIB_OgreNewt = os.path.join( LOCAL_LIB ) #PATH_OgreAddons, r'ogrenewt/OgreNewt_Main/lib/Release')
+PATH_LIB_Newton = os.path.join( LOCAL_LIB ) # PATH_Newton ,'dll') ##NOTE Posix platforms this lives in 'lib-mt'
+PATH_LIB_OIS = os.path.join( LOCAL_LIB ) #PATH_OIS, 'dll') ## NOTE Posix platforms this lives in'lib' not 'dll'
+PATH_LIB_CEGUI = os.path.join ( LOCAL_LIB ) #PATH_Ogre, r'Dependencies/lib/Release' )
+PATH_LIB_ODE = os.path.join( LOCAL_LIB ) #PATH_ODE, 'lib/releasedll')## probable releaselib for posix
+PATH_LIB_OgreOde = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'lib/Release')
+PATH_LIB_OgreOdePrefab = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'prefab/lib/Release' )
+PATH_LIB_OgreOdeLoader = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'loader/lib/Release' )
+
+PATH_LIB_OgreAL = os.path.join( LOCAL_LIB ) #PATH_OGREAL, 'lib/Release' )
+PATH_LIB_betagui = PATH_betagui
+PATH_LIB_simplegui = PATH_simplegui
+PATH_LIB_raknet = os.path.join( LOCAL_LIB ) #PATH_raknet, 'Lib' )
+
+
+PATH_INCLUDE_Ogre= os.path.join(LOCAL_INCLUDE,'OGRE') # os.path.join(PATH_Ogre,'OgreMain/include')
+
+PATH_INCLUDE_Ogre_Dependencies = PATH_INCLUDE_Ogre # os.path.join( PATH_Ogre, 'Dependencies/include')
+PATH_INCLUDE_OIS = os.path.join(LOCAL_INCLUDE,'OIS') #os.path.join(PATH_OIS,'includes') ## Note the plural include's
+PATH_INCLUDE_OgreRefApp = os.path.join(PATH_Ogre,'ReferenceApplication/ReferenceAppLayer/include')
+PATH_INCLUDE_OgreNewt = os.path.join(LOCAL_INCLUDE,'OgreNewt') #os.path.join(PATH_OgreAddons,'ogrenewt/OgreNewt_Main/inc')
+PATH_INCLUDE_CEGUI = os.path.join(LOCAL_INCLUDE,'CEGUI') #os.path.join(PATH_CEGUI, r'include/CEGUI')
+PATH_INCLUDE_ODE = os.path.join(LOCAL_INCLUDE,'ODE') #os.path.join( PATH_ODE, 'include')
+PATH_INCLUDE_ODESOURCE = '' # os.path.join( PATH_ODE, 'ode/src')
+
+
+PATH_INCLUDE_OgreAL = ''# os.path.join( PATH_OGREAL, 'include' )
+PATH_INCLUDE_OPENAL = ''# os.path.join( PATH_OPENAL, 'include')
+PATH_INCLUDE_OGG= ''# os.path.join( PATH_OGG, r'include' )
+PATH_INCLUDE_VORBIS= ''# os.path.join( PATH_VORBIS, r'include' )
+PATH_INCLUDE_ALUT= ''# os.path.join( PATH_ALUT, 'include' )
+
+PATH_INCLUDE_OgreOde = os.path.join( PATH_OgreOde,'include')
+PATH_INCLUDE_OgreOdePrefab= os.path.join( PATH_OgreOde,'prefab/include')
+PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include')
+
+PATH_INCLUDE_betagui = PATH_betagui
+PATH_INCLUDE_simplegui = PATH_simplegui
+PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' )
+PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'samples/Common/CEGUIRenderer/include')
Modified: trunk/python-ogre/SConstruct
===================================================================
--- trunk/python-ogre/SConstruct 2007-07-25 04:47:51 UTC (rev 370)
+++ trunk/python-ogre/SConstruct 2007-08-11 05:55:18 UTC (rev 371)
@@ -89,9 +89,11 @@
# Let us select the projects to build
possible_projects = ['ogre' , 'ois', 'ogrerefapp', 'ogrenewt', 'cegui', 'ode',\
- 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet' ] # , 'raknet'
+ 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet', 'physx', 'betagui','theora',\
+ 'ogrevideoffmpeg', 'ogredshow' ] # , 'raknet'
default_projects = ['ogre' , 'ois', 'ogrerefapp', 'ogrenewt', 'cegui', 'ode',\
- 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet' ]
+ 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet', 'physx', 'betagui','theora',\
+ 'ogrevideoffmpeg', 'ogredshow' ]
# This lets you call scons like: 'scons PROJECTS=ogre,cegui'
opts = Options('custom.py')
Added: trunk/python-ogre/ThirdParty/betagui/BetaGUI.h
===================================================================
--- trunk/python-ogre/ThirdParty/betagui/BetaGUI.h (rev 0)
+++ trunk/python-ogre/ThirdParty/betagui/BetaGUI.h 2007-08-11 05:55:18 UTC (rev 371)
@@ -0,0 +1,638 @@
+#ifndef BETAGUI_H
+#define BETAGUI_H
+
+/// Betajaen's GUI 016 Uncompressed
+/// Written by Robin "Betajaen" Southern 07-Nov-2006, http://www.ogre3d.org/wiki/index.php/BetaGUI
+/// This code is under the Whatevar! licence. Do what you want; but keep the original copyright header.
+
+#include "Ogre.h"
+#include "OgreTextAreaOverlayElement.h"
+
+#include <iostream>
+
+using namespace Ogre;
+using namespace std;
+
+namespace BetaGUI
+{
+ //------------------------------------------------------------------------------------------------
+ class GUI;
+
+ class Widget;
+ class Window;
+
+ class Button;
+ class BoolButton;
+ class MenuButton;
+ class RealButton;
+
+ class StaticText;
+ class TextInput;
+
+ class Callback;
+
+ class Effect;
+ class AlphaEffect;
+ class MoveEffect;
+ class SizeEffect;
+
+ //------------------------------------------------------------------------------------------------
+ enum WindowFeatureType
+ {
+ WFT_NONE = 0,
+ WFT_MOVE ,
+ WFT_RESIZE ,
+ WFT_RESIZE_AND_MOVE
+ };
+ //------------------------------------------------------------------------------------------------
+ enum WindowPlacementType
+ {
+ WPT_NONE = 0,
+ WPT_VERTICAL ,
+ WPT_HORIZONTAL
+ };
+ //------------------------------------------------------------------------------------------------
+ enum WindowActivity
+ {
+ WA_NONE = 0,
+ WA_MOVE ,
+ WA_RESIZE ,
+ WA_PRESS
+ };
+ //------------------------------------------------------------------------------------------------
+ class GUI
+ {
+ public:
+
+ friend class Window;
+
+ friend class Button;
+
+ friend class MenuButton;
+ friend class BoolButton;
+ friend class RealButton;
+
+ friend class StaticText;
+ friend class TextInput;
+
+ GUI(const Ogre::String &baseOverlay, const Ogre::String &font, int fontSize, Ogre::RenderWindow *win);
+
+ ~GUI();
+
+ void sortZOrder() ;
+
+ void setZRangeOrder(int nearZ, int FarZ);
+
+ bool injectMouse(int x, int y, bool LMB);
+ bool injectMouse(float x, float y, bool LMB);
+
+ bool injectKey(const Ogre::String &key, int x, int y);
+
+ void injectBackspace(int x, int y);
+
+ Window* createWindow(
+ const Ogre::Vector4 &Dimensions,
+ const Ogre::String &Material,
+ WindowFeatureType type,
+ const Ogre::String &caption = "");
+
+ void destroyWindow(Window *window) {
+ mNextWindowToDestroy=window;
+ }
+ Ogre::OverlayContainer* createOverlay(const Ogre::String &name,
+ const Ogre::Vector2 &position,
+ const Ogre::Vector2 &dimensions,
+ const Ogre::String &material = "",
+ const Ogre::String &caption = "");
+
+ Ogre::OverlayContainer* createMousePointer(Ogre::Vector2 dimensions,
+ const Ogre::String &material);
+
+
+
+ Window *addMenuWindow(const Ogre::Vector2 dimensions);
+
+ void update(Ogre::Real timeElapsed);
+ void addEffect (Effect* e);
+ Ogre::Real getUpTime() const {return mUpTime;}
+
+ protected:
+ //Ogre::Overlay* mGuiOverlay; // Main sheet overlay
+ std::vector<Window*> mWindows; // Windows
+ Window * mNextWindowToDestroy; // Window to destroy
+ Ogre::OverlayContainer* mMousePointerOverlay; // Mouse Pointer Overlay
+
+ Ogre::String mFont;
+ int mFontSize;
+ int mWindowCount, mButtonCount, mTextCaptionCount, mTextCaptionCountArea, mButtonCountTextArea;
+
+
+ Ogre::uint mDragWindowAction;
+
+ int mDragX, mDragY;
+ int mDragWindowX, mDragWindowY;
+
+ Window * mActiveDraggedWindow;
+ TextInput * mActiveTextInput;
+ Button * mActiveButton;
+
+ Ogre::Vector2 mNextMenuWindowPos;
+ Window * mMenuWindow;
+ Ogre::RenderWindow * mRenderWindow;
+
+ std::list<Effect*> mActiveEffects;
+
+ Ogre::Real mUpTime;
+ Ogre::String mName;
+ int mFarZ;
+ int mNearZ;
+ };
+ //------------------------------------------------------------------------------------------------
+ class Widget
+ {
+ public:
+
+ friend class GUI;
+
+ Widget(const Ogre::Vector4 &Dimension,
+ const Ogre::String &materialNameNormal,
+ bool hasOverState = true,
+ bool hasActiveState = true);
+
+ virtual ~Widget();
+
+ Ogre::Vector2 getPosition() const{return Ogre::Vector2(mPosX,mPosY);}
+ Ogre::Vector2 getSize() const {return Ogre::Vector2(mWidth,mHeight); }
+
+ void setPosition(const Ogre::Vector2 &position);
+ void setSize(const Ogre::Vector2 &size);
+
+ virtual void show(){setAlpha (1.0, true);};
+ virtual void hide(){setAlpha (0.0, true);};
+
+ virtual bool isVisible() {return mMainOverlay->isVisible ();};
+
+ virtual void over(const bool a);
+ virtual void activate(const bool a);
+
+ virtual void adjustSizeToContent();
+
+ virtual void setPosition(float X,float Y);
+ virtual void setPosition(int X,int Y);
+ virtual void setSize(int X,int Y);
+ virtual void setAlpha(const Ogre::Real alpha, const bool isContainer);
+ virtual void setMaterialBlendFactor(const Ogre::Real blendFactor, const bool isContainer);
+
+ // mUnderEffect getter
+ bool getUnderEffect() const { return mUnderEffect; }
+ // mUnderEffect setter
+ void setUnderEffect(bool val);
+
+ // mOver getter
+ bool getOver() const { return mOver; }
+ // mOver setter
+ void setOver(bool val) { mOver = val; }
+ // mActive getter
+ bool getActive() const { return mActive; }
+ // mActive setter
+ void setActive(bool val) { mActive = val; }
+
+ // mActive setter
+ void setMainMaterial(const Ogre::String& mat) {
+ mMainOverlay->setMaterialName(mat);
+ }
+
+ void setCaptionMaterial(const Ogre::String& mat) {
+ mCaptionOverlay->setMaterialName(mat);
+ }
+
+ void setText(const Ogre::String& t) {
+ mCaptionOverlay->setCaption(t);
+ }
+
+ Ogre::String getText() const {
+ return mCaptionOverlay->getCaption();
+ }
+
+ protected:
+ //------------------------------------------------------------------------------------------------
+ inline bool isOut (const int x, const int y) const
+ {
+ return (x < mPosX) || (y < mPosY)
+ || (x > (mPosX + mWidth)) ||
+ (y > (mPosY + mHeight));
+ }
+ //------------------------------------------------------------------------------------------------
+ inline bool isIn (const int x, const int y) const
+ {
+ return (x >= mPosX) && (y >= mPosY)
+ && (x <= (mPosX + mWidth)) &&
+ (y <= (mPosY + mHeight));
+ }
+
+ void instantiateMaterial(Ogre::OverlayContainer * const oc, bool reset) const;
+ void setOverlayAlpha(Ogre::OverlayContainer * const oc, const Ogre::Real alpha) const;
+ void setOverlayMaterialBlendFactor(Ogre::OverlayContainer * const oc, const Ogre::Real blendFactor) const;
+
+ int mPosX, mPosY, mWidth, mHeight;
+
+ std::vector<Widget *> mChildren;
+ Ogre::OverlayContainer* mMainOverlay;
+ Ogre::OverlayContainer* mCaptionOverlay;
+ Ogre::String mMaterialName;
+
+ bool mHasMaterial;
+ bool mHasOverState;
+ bool mHasActiveState;
+ bool mUnderEffect;
+ bool mOver;
+ bool mActive;
+ };
+ //------------------------------------------------------------------------------------------------
+ class Window : public Widget
+ {
+ public:
+ friend class Button;
+ friend class TextInput;
+ friend class StaticText;
+ friend class GUI;
+
+ Window(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, WindowFeatureType type, const Ogre::String &caption, GUI *gui);
+ virtual ~Window();
+
+ Button* createButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String &Text, Callback callback);
+
+ TextInput* createTextInput(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String & Value, int length);
+
+ StaticText* createStaticText(const Ogre::Vector4 &Dimensions, const Ogre::String &Text);
+
+ void setSize(int X,int Y);
+
+ MenuButton *addMenuButton(Window *target, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE);
+ BoolButton *addBoolButton(bool value, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE);
+ RealButton *addRealButton(Ogre::Real value, const Ogre::Vector4 &SliderMoves, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE);
+ StaticText* addStaticText(const Ogre::String &label, WindowPlacementType wpt = WPT_NONE);
+
+ Window *addMenuWindowTab(const Ogre::String &label,
+ bool titleBarWin = true,
+ WindowPlacementType wpt = WPT_VERTICAL);
+
+ MenuButton* createMenuButton(const Ogre::Vector4 &D, const Ogre::String &M, const Ogre::String &T, Callback C, Window *t);
+ BoolButton* createBoolButton(const Ogre::Vector4 &D, const Ogre::String &M, const Ogre::String &T, Callback C, bool boolValue);
+
+ RealButton *Window::createRealButton(Ogre::Real value,
+ const Ogre::Vector4 &SliderMoves,
+ const Ogre::String &label,
+ const Ogre::Vector2 &pos);
+
+ GUI* getGUI() const {return mGUI;}
+
+ void setFadeOut(bool f){mFadeOut = f;}
+ void setZOrder(int zOrder){mGuiOverlay->setZOrder (zOrder);}
+ protected:
+
+
+ bool check(int x, int y, bool LMB);
+ bool checkKey(const Ogre::String &key, int x, int y);
+
+ TextInput* mActiveTextInput; // Active TextInput
+
+ Button
+ *mCloseButton,
+ *mResizerButton,
+ *mActiveButton,
+ *mTitleBarButton; // Resizer, ActiveButton, Title bar
+
+ GUI *mGUI; // mGUI pointer
+
+ std::vector<Button*> mButtons; // Buttons
+ std::vector<TextInput*> mTextInput; // TextInputs
+
+ Ogre::Overlay *mGuiOverlay;
+
+ void addWidget(const Widget * const w, WindowPlacementType wpt);
+ Ogre::Vector2 mNextWidgetPos;
+ WindowActivity mDragType;
+
+ bool mFadeOut;
+
+ };
+ //------------------------------------------------------------------------------------------------
+ class BetaGUIListener
+ {
+ public:
+ virtual void onButtonPress(Button*, unsigned char) = 0;
+ };
+ //------------------------------------------------------------------------------------------------
+ class Callback
+ {
+ public:
+ friend class Window;
+ friend class Button;
+
+ Callback() {
+ mCallbackType=0;
+ }
+
+ Callback( void(*functionPointer)(BetaGUI::Button*, bool) ) {
+ mCallbackType=1;
+ fp = functionPointer;
+ }
+
+ Callback(BetaGUIListener *l){
+ mCallbackType = 2;
+ mListener = l;
+ }
+ protected:
+ unsigned char mCallbackType; // Type of callback: 0 - None, 1 - FunctionPointer 2 - GUIListener, 3 - Move Window, 4 - Resize
+ void(*fp)(BetaGUI::Button*, bool); // Function pointer (if 1)
+ BetaGUIListener *mListener; // GuiListener (if 2)
+ };
+ //------------------------------------------------------------------------------------------------
+ class Button : public Widget
+ {
+ public:
+ friend class Window;
+ friend class GUI;
+
+ Button(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String &Text, Callback callback, Window *parent);
+ virtual ~Button() {}
+
+ protected:
+ Callback mCallback; // Callback to use
+ };
+ //------------------------------------------------------------------------------------------------
+ class MenuButton : public Button
+ {
+ public:
+ MenuButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String &Text, Callback callback, Window *parent,
+ Window *target) :
+ Button(Dimensions, Material, Text, callback, parent),
+ mTarget(target)
+ {};
+ virtual ~MenuButton(){};
+ protected:
+ void activate(const bool a) ;
+
+ Window *mTarget;
+ };
+ //------------------------------------------------------------------------------------------------
+ class BoolButton : public Button
+ {
+ public:
+ BoolButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String &Text, Callback callback, Window *parent, bool boolValue):
+ Button(Dimensions, Material, Text, callback, parent),
+ mBoolValue(boolValue)
+ {}
+ virtual ~BoolButton(){};
+
+ protected:
+ void activate(const bool a) ;
+
+ bool mBoolValue;
+ };
+ //------------------------------------------------------------------------------------------------
+ class TextInput : public Widget
+ {
+ public:
+ friend class Window;
+ friend class GUI;
+
+ TextInput(const Ogre::Vector4 &Dimensions, const Ogre::String &Material,
+ const Ogre::String &Value, unsigned int length, Window *parent);
+ virtual ~TextInput(){}
+ const Ogre::String &getValue() const {return mValueText;}
+ void setValue(const Ogre::String &v) {mCaptionOverlay->setCaption(mValueText = v);}
+
+ protected:
+ unsigned int length;
+ Ogre::String mValueText;// MaterialName Normal, MaterialName Active
+
+ };
+ //------------------------------------------------------------------------------------------------
+ class StaticText : public Widget
+ {
+ public:
+ friend class Window;
+
+ StaticText(const Ogre::Vector4 &Dimensions,
+ const Ogre::String &Value,
+ Window *parent);
+ virtual ~StaticText(){}
+
+ const Ogre::String &getValue() const
+ {return mValueText;}
+
+ void setValue(const Ogre::String &v)
+ {
+ mCaptionOverlay->setCaption(mValueText = v);
+ mWidth = static_cast<int> (mValueText.size () * 7);
+ mParent->adjustSizeToContent ();
+ }
+
+ protected:
+
+ int length;
+ Ogre::String mValueText;
+ Window *mParent;
+ };
+ //------------------------------------------------------------------------------------------------
+ class RealButton : public BetaGUIListener, public Widget
+ {
+ public:
+ friend class Window;
+
+ RealButton(BetaGUI::Window *window,
+ Ogre::Real value,
+ const Ogre::Vector4 &SliderMoves,
+ const Ogre::String &label,
+ const Ogre::Vector2 &pos);
+
+ virtual ~RealButton(){};
+
+ Ogre::Real getValue() const {return mValue;}
+
+ void setValue(const Ogre::Real v);
+
+ void onButtonPress(BetaGUI::Button *ref, Ogre::uchar type);
+ protected:
+
+ int length;
+
+ BetaGUI::TextInput *mtextValueInput;
+ BetaGUI::Button *mForward, *mFastForward, *mRewind, *mFastRewind;
+
+ Ogre::Real mValue;
+ Ogre::String mValueText;
+
+ Ogre::Real mLowSlideUnit;
+ Ogre::Real mFastSlideUnit;
+ Ogre::Real mMinValue;
+ Ogre::Real mMaxValue;
+
+ };
+ //------------------------------------------------------------------------------------------------
+ class Effect
+ {
+ public:
+ enum EffectInterpolatorType
+ {
+ EFFECT_LINEAR = 0,
+ EFFECT_LINEARX2,
+ EFFECT_LINEARX4,
+ EFFECT_SIN
+ };
+ public:
+ Effect(Widget * const widget, const Ogre::Real duration,
+ const Ogre::Real startTime, const Ogre::Real currTime = 0, const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4) :
+ mWidget(widget),
+ mStartTime(startTime),
+ mDuration(duration),
+ mRepeat(repeat),
+ mCurrTime(currTime),
+ mType(type)
+ {
+ assert (duration != 0);
+ }
+ virtual ~Effect(){};
+
+ virtual void updateValue(const Ogre::Real factor) = 0;
+
+ bool update(Ogre::Real timeElapsed);
+ Ogre::Real getTimeFactor() ;
+ bool getTimeOrIsFinished();
+// Ogre::Real linearInterpolate(const Ogre::Real start,
+// const Ogre::Real end,
+// const Ogre::Real timeFactor) const;
+ Ogre::Real interpolate(const Ogre::Real start,
+ const Ogre::Real end,
+ const Ogre::Real timeFactor) const;
+
+ protected:
+ Widget * const mWidget;
+ const Ogre::Real mStartTime;
+ const Ogre::Real mDuration;
+ const bool mRepeat;
+
+ Ogre::Real mCurrTime;
+ const EffectInterpolatorType mType;
+ };
+ //------------------------------------------------------------------------------------------------
+ class AlphaEffect : public Effect
+ {
+ public:
+
+ AlphaEffect(Widget * const widget,
+ const Ogre::Real duration,
+ const Ogre::Real startAlpha,
+ const Ogre::Real endAlpha,
+ const Ogre::Real startTime,
+ const Ogre::Real currTime = 0,
+ const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4) :
+ Effect(widget, duration, startTime, currTime, repeat),
+ mStartAlpha(startAlpha),
+ mEndAlpha(endAlpha)
+ {
+ assert(mStartAlpha >= 0.0 && mStartAlpha <= 1.0);
+ assert(mEndAlpha >= 0.0 && mEndAlpha <= 1.0);
+ }
+ virtual ~AlphaEffect(){};
+
+ void updateValue(const Ogre::Real factor);
+ private:
+ const Ogre::Real mStartAlpha;
+ const Ogre::Real mEndAlpha;
+ };
+ //------------------------------------------------------------------------------------------------
+ class MoveEffect : public Effect
+ {
+ public:
+ MoveEffect(Widget * const widget,
+ const Ogre::Real duration,
+ const Ogre::Vector2 &startPosition,
+ const Ogre::Vector2 &endPosition,
+ const Ogre::Real startTime,
+ const Ogre::Real currTime = 0,
+ const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4) :
+ Effect(widget, duration, startTime, currTime, repeat),
+ mStartPosition(startPosition),
+ mEndPosition(endPosition)
+ {}
+ virtual ~MoveEffect(){};
+ void updateValue(const Ogre::Real factor);
+
+ private:
+ const Ogre::Vector2 mStartPosition;
+ const Ogre::Vector2 mEndPosition;
+ };
+ //------------------------------------------------------------------------------------------------
+ class SizeEffect : public Effect
+ {
+ public:
+ SizeEffect(Widget * const widget,
+ const Ogre::Real duration,
+ const Ogre::Vector2 &startSize,
+ const Ogre::Vector2 &endSize,
+ const Ogre::Real startTime,
+ const Ogre::Real currTime = 0,
+ const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4) :
+ Effect(widget, duration, startTime, currTime, repeat),
+ mStartSize(startSize),
+ mEndSize(endSize)
+ {}
+ virtual ~SizeEffect(){};
+ void updateValue(const Ogre::Real factor);
+
+ private:
+ const Ogre::Vector2 mStartSize;
+ const Ogre::Vector2 mEndSize;
+ };
+ //------------------------------------------------------------------------------------------------
+ class ActivateEffect : public Effect
+ {
+ public:
+ ActivateEffect(Widget * const widget,
+ const Ogre::Real duration,
+ const Ogre::Real startTime,
+ const Ogre::Real currTime = 0,
+ const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4):
+ Effect(widget, duration, startTime, currTime, repeat)
+ {};
+ virtual ~ActivateEffect(){};
+ void updateValue(const Ogre::Real factor);
+
+ };
+ //------------------------------------------------------------------------------------------------
+ class OverEffect : public Effect
+ {
+ public:
+ OverEffect(Widget * const widget,
+ const Ogre::Real duration,
+ const Ogre::Real startTime,
+ const Ogre::Real currTime = 0,
+ const bool repeat = false,
+ EffectInterpolatorType type = EFFECT_LINEARX4):
+ Effect(widget, duration, startTime, currTime, repeat)
+ {};
+ virtual ~OverEffect(){};
+ void updateValue(const Ogre::Real factor);
+
+ };
+ //------------------------------------------------------------------------------------------------
+
+
+} // End of Namespace
+
+///////////////////////////////////////////////////////////////////////////////
+#endif
+
Added: trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp
===================================================================
--- trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp (rev 0)
+++ trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp 2007-08-11 05...
[truncated message content] |