<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/26967e90ad84d82f58f95fb8a65a41512c9035b1">https://github.com/macports/macports-ports/commit/26967e90ad84d82f58f95fb8a65a41512c9035b1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 26967e90ad8 ogre: update to 13.0.1
</span>26967e90ad8 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 26967e90ad84d82f58f95fb8a65a41512c9035b1
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed Sep 22 20:34:47 2021 +0200
<span style='display:block; white-space:pre;color:#404040;'> ogre: update to 13.0.1
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This port is technically rewritten from scratch.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> I've also used as close as possible to mainstream way to build it, which
</span><span style='display:block; white-space:pre;color:#404040;'> includes moving to dynamic linking.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/53338
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/38624
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/37734
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/34502
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/47197
</span>---
graphics/ogre/Portfile | 130 +-
graphics/ogre/files/CMakeLists.txt-docs.patch | 29 +
graphics/ogre/files/CMakeLists.txt-objc.patch | 31 +
graphics/ogre/files/CMakeLists.txt-resources.patch | 123 ++
graphics/ogre/files/patch-CMakeLists.txt.diff | 59 -
.../ogre/files/patch-CMake_CMakeLists.txt.diff | 18 -
.../ogre/files/patch-CMake_InstallResources.cmake | 20 -
.../files/patch-CMake_Packages_FindOGRE.cmake.diff | 77 --
.../files/patch-CMake_Packages_FindOIS.cmake.diff | 17 -
...atch-CMake_Templates_SDK_CMakeLists.txt.in.diff | 56 -
.../patch-CMake_Utils_FindPkgMacros.cmake.diff | 42 -
graphics/ogre/files/patch-Docs_CMakeLists.txt.diff | 26 -
.../ogre/files/patch-OgreMain_CMakeLists.txt.diff | 15 -
.../files/patch-OgreMain_src_OSX_macUtils.cpp.diff | 10 -
.../files/patch-README_and_Tutorials_files.diff | 1322 --------------------
.../patch-Samples_Browser_CMakeLists.txt.diff | 40 -
...amples_Browser_include_SampleBrowser_OSX.h.diff | 33 -
.../ogre/files/patch-Samples_CMakeLists.txt.diff | 43 -
.../files/patch-Samples_Media_CMakeLists.txt.diff | 15 -
.../ogre/files/patch-Tools_CMakeLists.txt.diff | 18 -
.../patch-Tools_XMLConverter_CMakeLists.txt.diff | 11 -
graphics/ogre/files/patch-rpaths.diff | 144 ---
22 files changed, 238 insertions(+), 2041 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/Portfile b/graphics/ogre/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 139c1496fae..1ca3d9e14ac 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/ogre/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +1,17 @@
</span> # -*- mode: tcl; indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4 -*-
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup cmake 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name ogre
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.7.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set branch [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup OGRECave ogre 13.0.1 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> license MIT
categories graphics
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description Object-Oriented Graphics Rendering Engine (static version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Object-Oriented Graphics Rendering Engine
</span>
long_description OGRE (Object-Oriented Graphics Rendering Engine) is a \
scene-oriented, flexible 3D engine written in \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,83 +21,63 @@ long_description OGRE (Object-Oriented Graphics Rendering Engine) is a \
</span> library abstracts all the details of using the \
underlying system libraries like Direct3D and \
OpenGL and provides an interface based on world \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- objects and other intuitive classes. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NOTE: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This version is so far the only version which produces \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- normal non-bundled executables that can run on any \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 64-bit MacOS X machine without depending on MacPorts or \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- any other libraries. This version is also the only \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version that allows building fully functioning CMake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OGRE projects on MacOS X without using Xcode.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ objects and other intuitive classes.
</span>
homepage https://www.ogre3d.org/
platforms darwin
supported_archs x86_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites sourceforge:project/ogre/ogre/${branch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 fea467f35aaf0fd5926573de4f0348ed44191893 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha1 41acccfbbf7297c91cda78a0ce8a053e56505f04
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname ogre_src_v[strsed ${version} {g/\./-/}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_bzip2 yes
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-boost.version 1.71
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 52c0dd24b8ec427d35a97c2b73746298653ce8db \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha1 272345936aa286f848bb8aa1691521b34044ba53 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 8d31a79d37f74e5af25e56a0a70928079e771f7cea50ef041e04bf235c3f701a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 91796574
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append port:doxygen path:bin/dot:graphviz port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xcode yes
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libzzip port:zlib port:bzip2 port:freeimage \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:freetype port:ois
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.build_type Release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bin:dot:graphviz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:doxygen \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:assimp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:freeimage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:freetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:glslang \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libsdl2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pugixml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:swig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles CMakeLists.txt-docs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CMakeLists.txt-resources.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CMakeLists.txt-objc.patch
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-Tools_XMLConverter_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_InstallResources.cmake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_Packages_FindOGRE.cmake.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_Packages_FindOIS.cmake.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_Templates_SDK_CMakeLists.txt.in.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-CMake_Utils_FindPkgMacros.cmake.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Docs_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-OgreMain_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-README_and_Tutorials_files.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Samples_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Samples_Browser_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Samples_Browser_include_SampleBrowser_OSX.h.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Samples_Media_CMakeLists.txt.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-Tools_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/CMakeLists.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/Tutorials/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@FRAMEWORKS_DIR@|${frameworks_dir}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/Tutorials/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@rpath|\${prefix}/lib|" ${worksrcpath}/CMake/Utils/OgreConfigTargets.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|/Release\"|\"|" ${worksrcpath}/CMake/Utils/OgreConfigTargets.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|\"/\${PLATFORM_NAME}\"|\"\"|" ${worksrcpath}/CMake/Utils/OgreConfigTargets.cmake
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append -DMACPORTS=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_BUILD_TOOLS=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_COPY_DEPENDENICES=FALSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_INSTALL_DEPENDENCIES=FALSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_BUILD_SAMPLES=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_INSTALL_DOCS=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_INSTALL_SAMPLES=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_INSTALL_SAMPLES_SOURCE=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_INSTALL_TOOLS=TRUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOGRE_STATIC=TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_BUILD_COMPONENT_CSHARP=FALSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_BUILD_COMPONENT_JAVA=FALSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_BUILD_COMPONENT_PYTHON=FALSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_BUILD_DEPENDENCIES=FALSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_BUILD_SAMPLES=FALSE\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_CFG_INSTALL_PATH=share/${name}/config \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_CMAKE_DIR=share/${name}/Cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_DOCS_PATH=share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_ENABLE_PRECOMPILED_HEADERS=FALSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_MEDIA_PATH=share/${name}/Media \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_PLUGINS_PATH=share/${name}/plugins \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOGRE_PLUGIN_DIR_CMAKE=share/${name}/Cmake
</span>
post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Move the SampleBrowser.app to a more visible place
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -d -m 755 ${destroot}${prefix}/share/doc/OGRE/SDKSamples/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file rename ${destroot}${prefix}/bin/SampleBrowser.app \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/share/doc/OGRE/SDKSamples/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AUTHORS BUGS COPYING README READ_ME_FIRST_OGRE_MACPORTS.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/share/doc/OGRE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install the tutorial files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -d -m 755 ${destroot}${prefix}/share/doc/OGRE/Tutorials
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 644 {*}[glob ${worksrcpath}/Tutorials/*] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/share/doc/OGRE/Tutorials
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 755 ${destroot}${prefix}/share/${name}/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {*}[glob ${destroot}${prefix}/bin/*.cfg] ${destroot}${prefix}/share/${name}/config
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.version [string map {. -} ${version}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex ogre_src_v(\\d+(?:-\\d+)*).tar.bz2
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/CMakeLists.txt-docs.patch b/graphics/ogre/files/CMakeLists.txt-docs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f98999d6a0e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/ogre/files/CMakeLists.txt-docs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit dd0fc59db59d277c18117680d2592093046daff8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue Sep 21 13:15:58 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Allow to configure docs path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is trivial changes allows to control docs path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Docs/CMakeLists.txt b/Docs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4e9b7a608..07127893f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/Docs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/Docs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,10 +13,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###############################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set docs target directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_DOCS_PATH "Docs")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_DOCS_PATH "share/doc/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_DOCS_PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_DOCS_PATH "Docs")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_DOCS_PATH "share/doc/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build and install API documentation if doxygen is available
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/CMakeLists.txt-objc.patch b/graphics/ogre/files/CMakeLists.txt-objc.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ab10970e2b3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/ogre/files/CMakeLists.txt-objc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit a0905c8ed6861fbf47a5f25bc0eb9414b401a582
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue Sep 21 01:52:36 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Enable OBJC and OBJCXX for apple build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Without this small changes build on macOS fails with error like:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ```
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error: Objective-C was disabled in PCH file but is currently enabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ```
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It enables languages `OBJC` and `OBJCXX` when `cmake >= 3.16.0` because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CMake-3.16.0 was the first one which is supported `OBJC` and `OBJCXX`:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://discourse.cmake.org/t/cmake-3-16-0-available-for-download/262
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/CMakeLists.txt b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 599647c5a..75ee3f8ba 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,6 +46,11 @@ if (APPLE AND NOT ANDROID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_language(OBJC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_language(OBJCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(POLICY CMP0068)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cmake_policy(SET CMP0068 NEW) # CMake 3.9+: `RPATH` settings on macOS do not affect `install_name`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/CMakeLists.txt-resources.patch b/graphics/ogre/files/CMakeLists.txt-resources.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..de5982925e2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/ogre/files/CMakeLists.txt-resources.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,123 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit ed654c527297b5730de1503f55998454505eec10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue Sep 21 19:41:09 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Allow to control resources path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This commit introduced two CMake options `OGRE_MEDIA_PATH` and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ `OGRE_PLUGINS_PATH` to control such paths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Also, it keeps `OGRE_CFG_INSTALL_PATH`, `OGRE_CMAKE_DIR` and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ `OGRE_PLUGIN_DIR_CMAKE` untouched when it exist.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9daa3dfb3..8211367f0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/CMake/InstallResources.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/CMake/InstallResources.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,33 +11,63 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Generate and install the config files needed for the samples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ##################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_MEDIA_PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(APPLE_IOS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_DIR_REL "../${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_PATH "share/OGRE/Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_MEDIA_DIR_REL "./Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_PLUGINS_PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGINS_PATH "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGINS_PATH "lib/${CMAKE_BUILD_TYPE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_BUILD_TYPE}/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGINS_PATH "${OGRE_LIB_DIRECTORY}/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_PLUGINS_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_CFG_INSTALL_PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_CFG_INSTALL_PATH "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_CFG_INSTALL_PATH "share/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_TEST_MEDIA_DIR_REL "../Tests/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_SAMPLES_DIR_REL ".")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_CFG_INSTALL_PATH "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elseif (APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(APPLE_IOS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_TEST_MEDIA_DIR_REL "../../Tests/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_DIR_REL "../${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_TEST_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/Tests/Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # these are resolved relative to the app bundle
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_BUILD_TYPE}/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_SAMPLES_DIR_REL "Contents/Plugins/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_CFG_INSTALL_PATH "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_PATH "share/OGRE/Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_MEDIA_DIR_REL "./Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_TEST_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/Tests/Media")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(OGRE_SAMPLES_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE/Samples")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_CFG_INSTALL_PATH "share/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # generate OgreConfigPaths.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -210,16 +240,22 @@ endif ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create the CMake package files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(CMakePackageConfigHelpers)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_CMAKE_DIR "CMake")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_CMAKE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_CMAKE_DIR "CMake")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_PLUGIN_DIR_CMAKE "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OGRE_PLUGIN_DIR_CMAKE "${OGRE_LIB_DIRECTORY}/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT OGRE_PLUGIN_DIR_CMAKE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_CMAKE "bin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OGRE_PLUGIN_DIR_CMAKE "${OGRE_LIB_DIRECTORY}/OGRE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INSTALL_DESTINATION ${OGRE_CMAKE_DIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATH_VARS OGRE_MEDIA_PATH OGRE_PLUGIN_DIR_CMAKE OGRE_CFG_INSTALL_PATH CMAKE_INSTALL_PREFIX)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMakeLists.txt.diff b/graphics/ogre/files/patch-CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d7820206cc4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,59 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMakeLists.txt.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMakeLists.txt 2011-11-28 00:29:42.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -60,6 +60,26 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_TEMPLATES_DIR "${OGRE_SOURCE_DIR}/CMake/Templates")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_WORK_DIR ${OGRE_BINARY_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+####################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# MACPORTS variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+####################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS FALSE CACHE BOOL "Build OGRE for MacPorts")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_DOC_DIR "@PREFIX@/share/doc" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The MacPorts documentation directory")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_OGRE_DOC_DIR "${MACPORTS_DOC_DIR}/OGRE" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The OGRE directory in MacPorts documentation directory")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/share/cmake/modules"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path to MacPorts user-installed CMake modules")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_SAMPLES_DIR "${MACPORTS_OGRE_DOC_DIR}/SDKSamples" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path to OGRE Samples directory in a MacPorts distribution")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_SAMPLES_SOURCE_DIR "${MACPORTS_SAMPLES_DIR}/Samples" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path where the sample source code will be installed")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_OGRE_DOCS_PATH "${MACPORTS_OGRE_DOC_DIR}/Docs" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path where the Ogre Documentation will be installed")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_OGRE_TOOLS_PATH "${MACPORTS_OGRE_DOC_DIR}/Tools" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "Where the Ogre Tools will go")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #####################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set up the basic build environment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -168,6 +188,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_STATIC TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories("${OGRE_SOURCE_DIR}/OgreMain/include/OSX")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If OGRE_STATIC, force CMake to select static versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of dependent libraries on MacOS X
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.framework")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -215,12 +240,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (APPLE AND NOT OGRE_BUILD_PLATFORM_IPHONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set 10.5 as the base SDK by default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(XCODE_ATTRIBUTE_SDKROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_OSX_SYSROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #set(XCODE_ATTRIBUTE_SDKROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #set(CMAKE_OSX_SYSROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (NOT CMAKE_OSX_ARCHITECTURES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_64_BIT))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ARCHS_STANDARD_32_64_BIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_64_BIT))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Make sure that the OpenGL render system is selected for non-iPhone Apple builds
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_CMakeLists.txt.diff b/graphics/ogre/files/patch-CMake_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6d3a3a24649..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/CMakeLists.txt.orig 2011-11-09 20:43:48.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/CMakeLists.txt 2011-11-10 17:15:50.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,8 +13,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # directory, but can also be used for custom projects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #############################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_CMAKE_DIR "CMake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elseif(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_CMAKE_DIR "CMake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_CMAKE_DIR ${MACPORTS_CMAKE_MODULE_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_InstallResources.cmake b/graphics/ogre/files/patch-CMake_InstallResources.cmake
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index df6673c1e0e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_InstallResources.cmake
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/InstallResources.cmake.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/InstallResources.cmake 2011-11-11 04:44:58.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20,7 +20,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR_REL ".")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR_DBG ".")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_CFG_INSTALL_PATH "bin")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--elseif (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elseif (APPLE AND NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(OGRE_BUILD_PLATFORM_IPHONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -42,7 +42,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR_REL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR_DBG "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_CFG_INSTALL_PATH "bin")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elseif (UNIX OR MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_PATH "share/OGRE/media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_DIR_DBG "${CMAKE_INSTALL_PREFIX}/${OGRE_MEDIA_PATH}")
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_Packages_FindOGRE.cmake.diff b/graphics/ogre/files/patch-CMake_Packages_FindOGRE.cmake.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index af206bf43d3..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_Packages_FindOGRE.cmake.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,77 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/Packages/FindOGRE.cmake.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/Packages/FindOGRE.cmake 2011-11-28 03:24:52.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -68,6 +68,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_LIB_SUFFIX "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (APPLE AND OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If OGRE_STATIC, force CMake to select static versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of dependent libraries on MacOS X
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(OLD_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.framework")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(APPLE AND OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_LIBRARY_NAMES "OgreMain${OGRE_LIB_SUFFIX}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_debug_names(OGRE_LIBRARY_NAMES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -144,9 +151,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # try to locate Ogre via pkg-config
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- use_pkgconfig(OGRE_PKGC "OGRE${OGRE_LIB_SUFFIX}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(NOT OGRE_BUILD_PLATFORM_IPHONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # try to find framework on OSX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- findpkg_framework(OGRE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(APPLE AND NOT OGRE_BUILD_PLATFORM_IPHONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # try to find framework on OSX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ findpkg_framework(OGRE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_LIBRARY_FWK "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -258,10 +267,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_LIBRARY_FWK} ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND OGRE_LIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (NOT ZLIB_FOUND OR NOT ZZip_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_DEPS_FOUND FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -274,10 +282,22 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (UNIX AND NOT APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (NOT X11_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_DEPS_FOUND FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_DEPS_FOUND FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND OGRE_LIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND OGRE_LIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If FreeType is found on MacOS X, it has a hidden
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # dependency on libbzip2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FIND_PACKAGE(BZip2 REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND OGRE_LIBRARIES ${BZIP2_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (OGRE_CONFIG_THREADS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (OGRE_CONFIG_THREAD_PROVIDER EQUAL 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- find_package(Boost COMPONENTS thread QUIET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -532,3 +552,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- find_path(OGRE_MEDIA_DIR NAMES packs/cubemapsJS.zip HINTS ${OGRE_MEDIA_SEARCH_PATH}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATHS ${OGRE_PREFIX_PATH} PATH_SUFFIXES ${OGRE_MEDIA_SEARCH_SUFFIX})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (APPLE AND OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Restore old CMAKE_FIND_LIBRARY_SUFFIXES on MacOS X
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${OLD_CMAKE_FIND_LIBRARY_SUFFIXES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(APPLE AND OGRE_STATIC)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_Packages_FindOIS.cmake.diff b/graphics/ogre/files/patch-CMake_Packages_FindOIS.cmake.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4d8ec241d03..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_Packages_FindOIS.cmake.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/Packages/FindOIS.cmake.orig 2011-11-10 23:44:53.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/Packages/FindOIS.cmake 2011-11-10 23:41:58.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -80,6 +80,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- findpkg_finish(OIS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # The MacOS X version of OIS depends on IOKit, Carbon and Cocoa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND OIS_LIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "-framework IOKit" # CMake prepends -l if quotes are not present
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "-framework Carbon"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "-framework Cocoa")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # add parent of OIS folder to support OIS/OIS.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_parent_dir(OIS_INCLUDE_DIRS OIS_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_Templates_SDK_CMakeLists.txt.in.diff b/graphics/ogre/files/patch-CMake_Templates_SDK_CMakeLists.txt.in.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index eb61bf173ac..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_Templates_SDK_CMakeLists.txt.in.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,56 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/Templates/SDK_CMakeLists.txt.in.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/Templates/SDK_CMakeLists.txt.in 2011-11-11 05:24:02.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,12 +36,24 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- project(OGRE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS @MACPORTS@ CACHE BOOL "Build OGRE Samples for MacPorts")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_CMAKE_MODULE_PATH "@MACPORTS_CMAKE_MODULE_PATH@" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path to MacPorts user-installed CMake modules")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(MACPORTS_CONFIGFILE_PATH "@CMAKE_INSTALL_PREFIX@/@OGRE_CFG_INSTALL_PATH@" CACHE STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "The path to the MacPorts install of config files")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find actual Ogre root
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_filename_component(OGRE_ROOT_DIR "${OGRE_SOURCE_DIR}" ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_TEMPLATES_DIR "${OGRE_ROOT_DIR}/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_WORK_DIR "${OGRE_ROOT_DIR}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_MODULE_PATH "${OGRE_ROOT_DIR}/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_TEMPLATES_DIR "${OGRE_ROOT_DIR}/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_WORK_DIR "${OGRE_ROOT_DIR}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(CMAKE_MODULE_PATH "${OGRE_ROOT_DIR}/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_TEMPLATES_DIR "@MACPORTS_CMAKE_TEMPLATES_DIR@")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_WORK_DIR "${OGRE_ROOT_DIR}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND CMAKE_MODULE_PATH ${MACPORTS_CMAKE_MODULE_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_filename_component(OGRE_ROOT_DIR "${OGRE_SOURCE_DIR}/../.." ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_TEMPLATES_DIR "${OGRE_ROOT_DIR}/lib/OGRE/cmake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -166,11 +178,21 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/OGRE/iPhone")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set 10.5 as the base SDK by default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(XCODE_ATTRIBUTE_SDKROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_OSX_SYSROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #set(XCODE_ATTRIBUTE_SDKROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #set(CMAKE_OSX_SYSROOT macosx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_64_BIT))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/OGRE/OSX")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT CMAKE_OSX_ARCHITECTURES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ARCHS_STANDARD_32_64_BIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_64_BIT))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/OGRE/OSX")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ include_directories("${OGRE_CONFIG_INCLUDE_DIR}/OSX")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-CMake_Utils_FindPkgMacros.cmake.diff b/graphics/ogre/files/patch-CMake_Utils_FindPkgMacros.cmake.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 02edf7476fd..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-CMake_Utils_FindPkgMacros.cmake.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,42 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMake/Utils/FindPkgMacros.cmake.orig 2011-11-10 23:45:41.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMake/Utils/FindPkgMacros.cmake 2011-11-10 23:42:30.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -126,7 +126,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Slightly customised framework finder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MACRO(findpkg_framework fwk)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IF(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- SET(${fwk}_FRAMEWORK_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(${fwk}_FRAMEWORK_PATH "") # The pessimistic assumption
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(${fwk}_FRAMEWORK_TEMP_SEARCH_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${${fwk}_FRAMEWORK_SEARCH_PATH}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${CMAKE_FRAMEWORK_PATH}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ~/Library/Frameworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -138,20 +139,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${CMAKE_CURRENT_SOURCE_DIR}/lib/Debug
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # These could be arrays of paths, add each individually to the search paths
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- foreach(i ${OGRE_PREFIX_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(${fwk}_FRAMEWORK_PATH ${${fwk}_FRAMEWORK_PATH} ${i}/lib/Release ${i}/lib/Debug)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ foreach(i ${OGRE_PREFIX_PATH} ${OGRE_PREFIX_BUILD})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIST(APPEND ${fwk}_FRAMEWORK_TEMP_SEARCH_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${i}/lib/Release ${i}/lib/Debug)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endforeach(i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- foreach(i ${OGRE_PREFIX_BUILD})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(${fwk}_FRAMEWORK_PATH ${${fwk}_FRAMEWORK_PATH} ${i}/lib/Release ${i}/lib/Debug)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- endforeach(i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FOREACH(dir ${${fwk}_FRAMEWORK_TEMP_SEARCH_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SET(fwkpath ${dir}/${fwk}.framework)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IF(EXISTS ${fwkpath})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- SET(${fwk}_FRAMEWORK_PATH ${dir})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IF (NOT ${fwk}_FRAMEWORK_PATH)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(${fwk}_FRAMEWORK_PATH ${dir})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENDIF()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (NOT ${fwk}_LIBRARY_FWK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Docs_CMakeLists.txt.diff b/graphics/ogre/files/patch-Docs_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c3d7060c360..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Docs_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Docs/CMakeLists.txt.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Docs/CMakeLists.txt 2011-11-12 18:33:34.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,7 +14,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set docs target directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_DOCS_PATH "Docs")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_DOCS_PATH "Docs")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_DOCS_PATH ${MACPORTS_OGRE_DOCS_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_DOCS_PATH "share/OGRE/docs")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +28,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DESTINATION ${OGRE_DOCS_PATH}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN ".svn" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "src" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "CMakeFiles" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "cmake_install.cmake" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "CMakeLists.txt" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "Makefile" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-OgreMain_CMakeLists.txt.diff b/graphics/ogre/files/patch-OgreMain_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 77f0c0d5d8f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-OgreMain_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- OgreMain/CMakeLists.txt.orig 2011-11-27 21:20:18.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ OgreMain/CMakeLists.txt 2011-11-28 00:48:02.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -535,6 +535,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PLATFORM_LIBS ${Carbon_LIBRARY_FWK} ${Cocoa_LIBRARY_FWK})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PLATFORM_HEADER_INSTALL "OSX")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If the MacPorts port of FreeType is found on MacOS X, it has a hidden
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # dependency on libbzip2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ find_package(BZip2 REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(include/GLX ${X11_INCLUDE_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PLATFORM_HEADER_FILES
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-OgreMain_src_OSX_macUtils.cpp.diff b/graphics/ogre/files/patch-OgreMain_src_OSX_macUtils.cpp.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6dd70b11d5f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-OgreMain_src_OSX_macUtils.cpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- OgreMain/src/OSX/macUtils.cpp.orig 2011-08-05 17:56:28.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ OgreMain/src/OSX/macUtils.cpp 2011-08-05 17:57:18.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -124,6 +124,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- std::string macPluginPath()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return macBundlePath() + "/Contents/Plugins/";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return "@@PREFIX@@/lib/OGRE/";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-README_and_Tutorials_files.diff b/graphics/ogre/files/patch-README_and_Tutorials_files.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 49262dab06c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-README_and_Tutorials_files.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,1322 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ READ_ME_FIRST_OGRE_MACPORTS.txt 2011-11-28 03:26:03.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This is a MacPorts-based release of OGRE (www.ogre3d.org)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Currently this 64-bit distribution package of OGRE is maintained by Marin Saric.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Unlike other releases, this one is STATIC by default. Your code will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+compile into a single executable that does not depend on ANY extra
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libraries. Your users will not need to install Ogre, MacPorts or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+anything else.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This port is meant to be used from the command line using "cmake." You
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+can edit/write your code using Aquamacs (a MacOS X version of Emacs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+or some other editor of your choice. It is possible to use Xcode to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+drive the CMake builds.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Known issues:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+NOTE: If you are programming on MacOS X 10.7 and using the OIS system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ like the one used by the Sample and Tutorial code, it is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ possible that you won't be able to receive any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ keystrokes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ This is a libOIS.a problem. This will be fixed in a future
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ release. After a new release of OIS, you'll need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ recompile your code. You can still use other routines, such
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as the ones from MacOS X libraries to capture keystrokes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+To get started you will need to copy the SDKSamples and Tutorials
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+folder into your source directory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Quick overview of the Contents:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ - Docs -- General OGRE Documentation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ - SDKSamples -- Sample code that comes with the OGRE SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ - Tools -- Various miscellanous tools that might be useful
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ - Tutorials -- Use this to follow the Tutorials on OGRE Wiki
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Learning OGRE by going through the tutorials:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+http://www.ogre3d.org/tikiwiki/Basic+Tutorial+1&structure=Tutorials
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+The code in the Tutorials folder is ready for Basic Tutorial 1. All
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+you need to do is add your code in TutorialApplication.cpp and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TutorialApplication.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+The code will compile and run without any modifications:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake . # <-- Don't forget the dot (.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+./TutorialApp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+NOTE: The BaseApplication.cpp and BaseApplication.h has been modified
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+from the wiki. The CMakeLists.txt is different as well (and hopefully
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+simpler). The modifications were needed to get the Tutorial working on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacOS X.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Running the sample code:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+You can just open the SDKSamples/bin/SampleBrowser.app
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Building the sample code:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cd SDKSamples
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+make -j8 # (or use -j4 if you have fewer cores)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+The file in bin/SampleBrowser.app/Contents/MacOS will now contain the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+newest version of SampleBrowser
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+============================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+OGRE is Copyright (c) 2000-2011 Torus Knot Software Ltd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/BaseApplication.cpp 2011-11-26 23:42:40.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,489 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* -*- mode: c++; c-file-style: "linux"; indent-tabs-mode: nil; c-basic-offset: 4; c-indent-level: 4 -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Filename: BaseApplication.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This source file is part of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ___ __ __ _ _ _
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /___\__ _ _ __ ___ / / /\ \ (_) | _(_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // // _` | '__/ _ \ \ \/ \/ / | |/ / |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/ \_// (_| | | | __/ \ /\ /| | <| |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\___/ \__, |_| \___| \/ \/ |_|_|\_\_|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ |___/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Tutorial Framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ http://www.ogre3d.org/tikiwiki/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "BaseApplication.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "mac_app_loop.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacTutorialAppLoop : public MacAppLoop {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void RenderFrame(double time_since_last_frame) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(Ogre::Root::getSingletonPtr()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && Ogre::Root::getSingleton().isInitialised()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::Root::getSingleton().renderOneFrame(time_since_last_frame);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ RequestShutdown();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BaseApplication::BaseApplication(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : mRoot(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mSceneMgr(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mWindow(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mResourcesCfg(Ogre::StringUtil::BLANK),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mPluginsCfg(Ogre::StringUtil::BLANK),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCursorWasVisible(false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mShutDown(false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mInputManager(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMouse(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mKeyboard(0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ,mMacLoop(new MacTutorialAppLoop)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BaseApplication::~BaseApplication(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mTrayMgr) delete mTrayMgr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mCameraMan) delete mCameraMan;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Remove ourself as a Window listener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::WindowEventUtilities::removeWindowEventListener(mWindow, this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ windowClosed(mWindow);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ delete mRoot;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// --------------------OgreStatic--------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mStaticLoader.unload();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// --------------------OgreStatic--------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ delete mMacLoop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::configure(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Show the configuration dialog and initialise the system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // You can skip this and use root.restoreConfig() to load configuration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // settings if you were sure there are valid ones saved in ogre.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(mRoot->showConfigDialog())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // If returned true, user clicked OK so initialise
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Here we choose to let the system create a default rendering window by passing 'true'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mWindow = mRoot->initialise(true, "TutorialApplication Render Window");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::chooseSceneManager(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Get the SceneManager, in this case a generic one
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::createCamera(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Create the camera
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera = mSceneMgr->createCamera("PlayerCam");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Position it at 500 in Z direction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera->setPosition(Ogre::Vector3(0,0,80));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Look back along -Z
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera->lookAt(Ogre::Vector3(0,0,-300));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera->setNearClipDistance(5);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan = new OgreBites::SdkCameraMan(mCamera); // create a default camera controller
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::createFrameListener(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::LogManager::getSingletonPtr()->logMessage("*** Initializing OIS ***");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OIS::ParamList pl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ size_t windowHnd = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ std::ostringstream windowHndStr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mWindow->getCustomAttribute("WINDOW", &windowHnd);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ windowHndStr << windowHnd;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mInputManager = OIS::InputManager::createInputSystem( pl );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject( OIS::OISKeyboard, true ));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject( OIS::OISMouse, true ));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMouse->setEventCallback(this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mKeyboard->setEventCallback(this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Set initial mouse clipping size
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ windowResized(mWindow);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Register as a Window listener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::WindowEventUtilities::addWindowEventListener(mWindow, this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr = new OgreBites::SdkTrayManager("InterfaceName", mWindow, mMouse, this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->showFrameStats(OgreBites::TL_BOTTOMLEFT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->showLogo(OgreBites::TL_BOTTOMRIGHT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->hideCursor();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // create a params panel for displaying sample details
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::StringVector items;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.pX");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.pY");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.pZ");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.oW");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.oX");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.oY");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("cam.oZ");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("Filtering");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ items.push_back("Poly Mode");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel = mTrayMgr->createParamsPanel(OgreBites::TL_NONE, "DetailsPanel", 200, items);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(9, "Bilinear");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(10, "Solid");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->hide();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mRoot->addFrameListener(this);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::destroyScene(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::createViewports(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Create one viewport, entire window
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::Viewport* vp = mWindow->addViewport(mCamera);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ vp->setBackgroundColour(Ogre::ColourValue(0,0,0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Alter the camera aspect ratio to match the viewport
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera->setAspectRatio(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::Real(vp->getActualWidth()) / Ogre::Real(vp->getActualHeight()));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::setupResources(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Load resource paths from config file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ConfigFile cf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cf.load(mResourcesCfg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Go through all sections & settings in the file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::String secName, typeName, archName;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (seci.hasMoreElements())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ secName = seci.peekNextKey();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ConfigFile::SettingsMultiMap::iterator i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for (i = settings->begin(); i != settings->end(); ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ typeName = i->first;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archName = i->second;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ResourceGroupManager::getSingleton().addResourceLocation(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archName, typeName, secName);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::createResourceListener(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::loadResources(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::go(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef _DEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mResourcesCfg = "resources_d.cfg";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mPluginsCfg = "plugins_d.cfg";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mResourcesCfg = "resources.cfg";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mPluginsCfg = "plugins.cfg";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mPluginsCfg = "";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!setup())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMacLoop->Run();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mRoot->startRendering();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // clean up
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ destroyScene();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::setup(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMacLoop->Setup();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mRoot = new Ogre::Root(mPluginsCfg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mStaticLoader.load();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setupResources();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool carryOn = configure();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!carryOn) return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ chooseSceneManager();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ createCamera();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ createViewports();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Set default mipmap level (NB some APIs ignore this)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Create any resource listeners (for loading screens)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ createResourceListener();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Load resources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ loadResources();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Create the scene
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ createScene();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ createFrameListener();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::frameRenderingQueued(const Ogre::FrameEvent& evt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(mWindow->isClosed())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(mShutDown) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMacLoop->RequestShutdown();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(mShutDown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Need to capture/update each device
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mKeyboard->capture();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mMouse->capture();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->frameRenderingQueued(evt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!mTrayMgr->isDialogVisible())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->frameRenderingQueued(evt); // if dialog isn't up, then update the camera
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mDetailsPanel->isVisible()) // if details panel is visible, then update its contents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(0, Ogre::StringConverter::toString(mCamera->getDerivedPosition().x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(1, Ogre::StringConverter::toString(mCamera->getDerivedPosition().y));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(2, Ogre::StringConverter::toString(mCamera->getDerivedPosition().z));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(4, Ogre::StringConverter::toString(mCamera->getDerivedOrientation().w));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(5, Ogre::StringConverter::toString(mCamera->getDerivedOrientation().x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(6, Ogre::StringConverter::toString(mCamera->getDerivedOrientation().y));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(7, Ogre::StringConverter::toString(mCamera->getDerivedOrientation().z));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::keyPressed( const OIS::KeyEvent &arg )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mTrayMgr->isDialogVisible()) return true; // don't process any more keys if dialog is up
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (arg.key == OIS::KC_F) // toggle visibility of advanced frame stats
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->toggleAdvancedFrameStats();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (arg.key == OIS::KC_G) // toggle visibility of even rarer debugging details
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mDetailsPanel->getTrayLocation() == OgreBites::TL_NONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->moveWidgetToTray(mDetailsPanel, OgreBites::TL_TOPRIGHT, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->show();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mTrayMgr->removeWidgetFromTray(mDetailsPanel);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->hide();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (arg.key == OIS::KC_T) // cycle polygon rendering mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::String newVal;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::TextureFilterOptions tfo;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int aniso;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (mDetailsPanel->getParamValue(9).asUTF8()[0])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'B':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Trilinear";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tfo = Ogre::TFO_TRILINEAR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aniso = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'T':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Anisotropic";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tfo = Ogre::TFO_ANISOTROPIC;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aniso = 8;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'A':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "None";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tfo = Ogre::TFO_NONE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aniso = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Bilinear";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tfo = Ogre::TFO_BILINEAR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aniso = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::MaterialManager::getSingleton().setDefaultTextureFiltering(tfo);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::MaterialManager::getSingleton().setDefaultAnisotropy(aniso);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(9, newVal);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (arg.key == OIS::KC_R) // cycle polygon rendering mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::String newVal;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::PolygonMode pm;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (mCamera->getPolygonMode())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case Ogre::PM_SOLID:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Wireframe";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pm = Ogre::PM_WIREFRAME;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case Ogre::PM_WIREFRAME:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Points";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pm = Ogre::PM_POINTS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ newVal = "Solid";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pm = Ogre::PM_SOLID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCamera->setPolygonMode(pm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mDetailsPanel->setParamValue(10, newVal);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if(arg.key == OIS::KC_F5) // refresh all textures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::TextureManager::getSingleton().reloadAll();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (arg.key == OIS::KC_SYSRQ) // take a screenshot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mWindow->writeContentsToTimestampedFile("screenshot", ".jpg");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (arg.key == OIS::KC_ESCAPE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mShutDown = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->injectKeyDown(arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::keyReleased( const OIS::KeyEvent &arg )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->injectKeyUp(arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::mouseMoved( const OIS::MouseEvent &arg )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mTrayMgr->injectMouseMove(arg)) return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->injectMouseMove(arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mTrayMgr->injectMouseDown(arg, id)) return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->injectMouseDown(arg, id);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool BaseApplication::mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (mTrayMgr->injectMouseUp(arg, id)) return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mCameraMan->injectMouseUp(arg, id);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//Adjust mouse clipping area
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::windowResized(Ogre::RenderWindow* rw)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int width, height, depth;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int left, top;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rw->getMetrics(width, height, depth, left, top);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const OIS::MouseState &ms = mMouse->getMouseState();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ms.width = width;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ms.height = height;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//Unattach OIS before window shutdown (very important under Linux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void BaseApplication::windowClosed(Ogre::RenderWindow* rw)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Only close for window that created OIS (the main window in these demos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if( rw == mWindow )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if( mInputManager )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mInputManager->destroyInputObject( mMouse );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mInputManager->destroyInputObject( mKeyboard );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OIS::InputManager::destroyInputSystem(mInputManager);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mInputManager = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/BaseApplication.h 2011-11-26 23:43:29.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,131 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* -*- mode: c++; c-file-style: "linux"; indent-tabs-mode: nil; c-basic-offset: 4; c-indent-level: 4 -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Filename: BaseApplication.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Minor modifications of this file were made to make it build with a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static version of OGRE on MacOS X. The modifications for the static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+build are marked as OgreStatic. The MacOS X modifications are done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+under the compiler conditional and marked with MacOgre. You can search
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for these markers to see where the changes to the file have been made.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This source file is part of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ___ __ __ _ _ _
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /___\__ _ _ __ ___ / / /\ \ (_) | _(_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // // _` | '__/ _ \ \ \/ \/ / | |/ / |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/ \_// (_| | | | __/ \ /\ /| | <| |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\___/ \__, |_| \___| \/ \/ |_|_|\_\_|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ |___/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Tutorial Framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ http://www.ogre3d.org/tikiwiki/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef __BaseApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define __BaseApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Added for building the tutorials with a static version of OGRE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define OGRE_STATIC_OctreeSceneManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define OGRE_STATIC_ParticleFX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define OGRE_STATIC_BSPSceneManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define OGRE_STATIC_GL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreStaticPluginLoader.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreCamera.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreEntity.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreLogManager.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreRoot.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreViewport.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreSceneManager.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreRenderWindow.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OgreConfigFile.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OISEvents.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OISInputManager.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OISKeyboard.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <OISMouse.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <SdkTrays.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <SdkCameraMan.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//MacOgre
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacTutorialAppLoop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class BaseApplication : public Ogre::FrameListener, public Ogre::WindowEventListener, public OIS::KeyListener, public OIS::MouseListener, OgreBites::SdkTrayListener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ BaseApplication(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual ~BaseApplication(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void go(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+protected:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool setup();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool configure(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void chooseSceneManager(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createCamera(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createFrameListener(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createScene(void) = 0; // Override me!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void destroyScene(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createViewports(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void setupResources(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createResourceListener(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void loadResources(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Ogre::FrameListener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool frameRenderingQueued(const Ogre::FrameEvent& evt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // OIS::KeyListener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool keyPressed( const OIS::KeyEvent &arg );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool keyReleased( const OIS::KeyEvent &arg );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // OIS::MouseListener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool mouseMoved( const OIS::MouseEvent &arg );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual bool mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Ogre::WindowEventListener
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Adjust mouse clipping area
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void windowResized(Ogre::RenderWindow* rw);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //Unattach OIS before window shutdown (very important under Linux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void windowClosed(Ogre::RenderWindow* rw);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::Root *mRoot;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::Camera* mCamera;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::SceneManager* mSceneMgr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::RenderWindow* mWindow;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::String mResourcesCfg;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::String mPluginsCfg;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // OgreBites
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OgreBites::SdkTrayManager* mTrayMgr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OgreBites::SdkCameraMan* mCameraMan; // basic camera controller
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OgreBites::ParamsPanel* mDetailsPanel; // sample details panel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool mCursorWasVisible; // was cursor visible before dialog appeared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool mShutDown;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //OIS Input devices
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OIS::InputManager* mInputManager;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OIS::Mouse* mMouse;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ OIS::Keyboard* mKeyboard;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Ogre::StaticPluginLoader mStaticLoader;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------OgreStatic-------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__ & __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacTutorialAppLoop *mMacLoop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------MacOgre----------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // #ifndef __BaseApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/CMakeLists.txt 2011-11-26 23:57:01.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+CMAKE_MINIMUM_REQUIRED (VERSION 2.6.3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IF(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIST(APPEND CMAKE_PREFIX_PATH "@PREFIX@")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIST(APPEND CMAKE_FRAMEWORK_PATH "@FRAMEWORKS_DIR@")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENDIF(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ADD_DEFINITIONS(-O3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(OGRE_STATIC TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+FIND_PACKAGE(OGRE REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+FIND_PACKAGE(OIS REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(TUTORIAL_ALL_INCLUDES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_INCLUDE_DIRS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_RenderSystem_GL_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_BSPSceneManager_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_OctreeSceneManager_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_PCZSceneManager_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_ParticleFX_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OIS_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(TUTORIAL_ALL_LIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_RenderSystem_GL_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_BSPSceneManager_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_OctreeSceneManager_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_PCZSceneManager_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OGRE_Plugin_ParticleFX_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${OIS_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+INCLUDE_DIRECTORIES(${TUTORIAL_ALL_INCLUDES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ADD_EXECUTABLE(TutorialApp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ BaseApplication.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TutorialApplication.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mac_app_loop.mm)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TARGET_LINK_LIBRARIES(TutorialApp ${TUTORIAL_ALL_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+CONFIGURE_FILE(${OGRE_MEDIA_DIR}/../resources.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${CMAKE_CURRENT_BINARY_DIR}/resources.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ @ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/README.txt 2011-11-27 00:03:24.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This folder contains the Tutorial code found on OGRE Wiki, adopted
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+slightly to run on a static version of OGRE for MacOS X. The source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+code is essentially unchanged, there are just a few emacs markers to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+preserve the formatting.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+To build, do:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+mkdir build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cd build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake ..
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+There should be an application named TutorialApp after the compile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\ No newline at end of file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/TutorialApplication.cpp 2011-11-27 00:01:02.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* -*- mode: c++; c-file-style: "linux"; indent-tabs-mode: nil; c-basic-offset: 4; c-indent-level: 4 -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Filename: TutorialApplication.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This source file is part of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ___ __ __ _ _ _
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /___\__ _ _ __ ___ / / /\ \ (_) | _(_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // // _` | '__/ _ \ \ \/ \/ / | |/ / |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/ \_// (_| | | | __/ \ /\ /| | <| |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\___/ \__, |_| \___| \/ \/ |_|_|\_\_|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ |___/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Tutorial Framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ http://www.ogre3d.org/tikiwiki/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "TutorialApplication.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TutorialApplication::TutorialApplication(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TutorialApplication::~TutorialApplication(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//-------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void TutorialApplication::createScene(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // create your scene here :)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define WIN32_LEAN_AND_MEAN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "windows.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int main(int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Create application object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TutorialApplication app;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ try {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ app.go();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } catch( Ogre::Exception& e ) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ std::cerr << "An exception has occured: " <<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ e.getFullDescription().c_str() << std::endl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/TutorialApplication.h 2011-11-27 00:00:55.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* -*- mode: c++; c-file-style: "linux"; indent-tabs-mode: nil; c-basic-offset: 4; c-indent-level: 4 -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Filename: TutorialApplication.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This source file is part of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ___ __ __ _ _ _
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /___\__ _ _ __ ___ / / /\ \ (_) | _(_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // // _` | '__/ _ \ \ \/ \/ / | |/ / |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/ \_// (_| | | | __/ \ /\ /| | <| |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\___/ \__, |_| \___| \/ \/ |_|_|\_\_|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ |___/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Tutorial Framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ http://www.ogre3d.org/tikiwiki/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef __TutorialApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define __TutorialApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "BaseApplication.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class TutorialApplication : public BaseApplication
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TutorialApplication(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual ~TutorialApplication(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+protected:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void createScene(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // #ifndef __TutorialApplication_h_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/mac_app_loop.h 2011-11-26 22:45:46.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,126 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Copyright (c) 2011 Marin Saric
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Portions Copyright (c) 2009-2011 Matt Gallagher
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This software is provided 'as-is', without any express or implied
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// warranty. In no event will the authors be held liable for any damages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// arising from the use of this software.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Permission is granted to anyone to use this software for any purpose,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// including commercial applications, and to alter it and redistribute it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// freely, subject to the following restrictions:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 1. The origin of this software must not be misrepresented; you must not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// claim that you wrote the original software. If you use this software in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// a product, an acknowledgment in the product documentation would be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// appreciated but is not required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 2. Altered source versions must be plainly marked as such, and must not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// be misrepresented as being the original software.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 3. This notice may not be removed or altered from any source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// distribution.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppLoop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppLoop class abstracts away the MacOS X Cocoa internals
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This class header has a pure C++ interface and does not depend on you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// doing an #include of any other files with your code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// You also do NOT need to setup an Application Bundle, Info.plist, nib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// files or do any of the other very MacOS X specific steps.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// To compile mac_app_loop.mm, you need either Apple's version of gcc or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// clang. Remember to link with "-framework Cocoa" flag.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This abstraction isolates you from needing to know about how the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Cocoa stuff works.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// If you just want to "play nice" when calling Cocoa-based routines,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// it is probably enough to declare a MacMemoryPool before calling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// such code. Creating a MacMemoryPool is comparable to the cost of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// allocating a tiny block of memory. Thus, you can use it in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// per-frame loops, etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// --------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Code example for MacAppLoop:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The user of the "mac_app_loop.h" only needs to do this:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// # include "mac_app_loop.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// class MyAppLoop : public MacAppLoop {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// void RenderFrame(double time_since_last_frame) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// do something...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// and then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MyAppLoop app_loop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// // make sure to call Setup as early as possible in your code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// app_loop.Setup();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// app_loop.Run();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// --------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Code example for MacMemoryPool:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// # include "mac_app_loop.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// void MyFunctionThatCallsCocoaSystems() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacMemoryPool memory_pool;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// SomeCocoaBasedRoutine();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef MAC_APP_LOOP_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define MAC_APP_LOOP_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// We hide the actual implementation in this class
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacAppLoopPrivate;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacAppLoop {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoop();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual ~MacAppLoop();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Call this before Run().
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // refresh_hz - how many times per second do is RenderFrame called
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void Setup(double refresh_hz = 60.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Call this to get the App to Shutdown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void RequestShutdown();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Override this method to get something to happen
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ virtual void RenderFrame(double time_since_last_frame) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Call this to enter the application loop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void Run();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ private:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoopPrivate *private_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Disallow copying of this object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoop(const MacAppLoop &rhs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoop& operator= (const MacAppLoop &rhs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Declare a MacMemoryPool in places that call Cocoa based code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// You will need at least one MacMemoryPool per application
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacMemoryPool {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacMemoryPool();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ~MacMemoryPool();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+private:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void *data_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Disallow copying of this object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacMemoryPool(const MacAppLoop &rhs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacMemoryPool& operator= (const MacAppLoop &rhs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // MAC_APP_LOOP_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 2011-11-28 03:33:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tutorials/mac_app_loop.mm 2011-11-26 22:50:19.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,308 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Copyright (c) 2011 Marin Saric
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Portions Copyright (c) 2009-2011 Matt Gallagher
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This software is provided 'as-is', without any express or implied
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// warranty. In no event will the authors be held liable for any damages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// arising from the use of this software.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Permission is granted to anyone to use this software for any purpose,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// including commercial applications, and to alter it and redistribute it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// freely, subject to the following restrictions:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 1. The origin of this software must not be misrepresented; you must not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// claim that you wrote the original software. If you use this software in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// a product, an acknowledgment in the product documentation would be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// appreciated but is not required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 2. Altered source versions must be plainly marked as such, and must not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// be misrepresented as being the original software.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// 3. This notice may not be removed or altered from any source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// distribution.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppLoop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The idea of a NSTimer controlled Cocoa application stems from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// masterfalcon's (David Rogers') implementation of SampleBrowser for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// OGRE (Object-oriented Graphics Rendering Engine).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The art of implementing a bundle-less, nib-less, Info.plist-less
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Objective-C object is owed to Matt Gallagher, and an appropriate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// zlib license copyright notice is included with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppLoopPrivate::Setup code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This file must be compiled with Objective-C++ aware compiler,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// either clang or Apple's version of gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppLoop header file does not need Objective-C++ and can be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// included by C++ programs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The linkage parameters need to be "-framework Cocoa"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include "mac_app_loop.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <iostream>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <exception>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# import <Cocoa/Cocoa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The private implementation of the Mac Application Loop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppLoop class forwards all of its calls to MacAppLoopPrivate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppLoop methods are further down in the file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+class MacAppLoopPrivate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoopPrivate(MacAppLoop &app_loop);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ~MacAppLoopPrivate();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void SetRefreshHz(double refresh_hz) { refresh_hz_ = refresh_hz; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inline double refresh_hz() { return refresh_hz_; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void Setup(double refresh_hz);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void RequestShutdown() { exit_called_ = true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inline bool wants_shutdown() { return exit_called_; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void RenderFrame(double time_since_last_frame);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void Run();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+private:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Link to the public instance of the class
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoop &app_loop_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Internal variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ double refresh_hz_; // Refresh rate in Hz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool is_setup_; // true if Setup() called
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool exit_called_; // true if RequestShutdown() called
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Link to the Objective-C Cocoa object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id app_delegate_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // The Cocoa envrionment autorelease pool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NSAutoreleasePool *pool_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The implementation of MacAppLoop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// (simply forwards to MacAppLoopPrivate)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacAppLoop::MacAppLoop()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+: private_(new MacAppLoopPrivate(*this)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacAppLoop::~MacAppLoop() { delete private_; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoop::Setup(double refresh_hz) { private_->Setup(refresh_hz); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoop::RequestShutdown() { private_->RequestShutdown(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoop::Run() { private_->Run(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppDelegate Objective-C++ code region
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Supress the warnings for not implementing buttonPressed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@implementation NSApplication (_suppressUnimplementedActionWarning)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void) buttonPressed:(id)sender { /* Do nothing */ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppDelegate is the Objective-C++ Cocoa application delegate based
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// in essential design on the SampleBrowser_OSX.h code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@interface MacAppDelegate : NSObject <NSApplicationDelegate> {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // An instance of the NSTimer class that will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // fire at the desired refresh rate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NSTimer *timer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // A pointer to a private implementation of MacAppLoop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // (the MacAppLoopPrivate code is further below in this file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MacAppLoopPrivate *app_loop_private;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppDelegate methods:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// initWithPrivateLoop is used as a "constructor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (MacAppDelegate *)initWithPrivateLoop:(MacAppLoopPrivate *)loop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// renderFrame is periodically called by the NSTimer instance 'timer'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)renderFrame:(id)sender;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// appShutdown is invoked when the MacAppLoop requests a shutdown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)appShutdown;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Implementation of the MacAppDelegate methods follow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@implementation MacAppDelegate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacAppDelegate "constructor" accepts a pointer to an instance
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// of the MacAppLoopPrivate, an instance of C++ class which is a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// private implementation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (MacAppDelegate *)initWithPrivateLoop:(MacAppLoopPrivate *)loop {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ self = [super init];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (self) app_loop_private = loop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return self;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The MacOS X Cocoa subsystem will call this method as soon as the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// application is ready to start executing UI code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)applicationDidFinishLaunching:(NSNotification *)application {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ double refresh_hz = app_loop_private->refresh_hz();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // If we have a sane refresh rate specified, we create an instance
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // of the NSTimer class, specifying [self renderFrame] as the target.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // The timer invokes renderFrame at the frequency of refresh_hz per second
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (refresh_hz > 0.) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ timer = [NSTimer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ scheduledTimerWithTimeInterval:((NSTimeInterval)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (1.0 / refresh_hz))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ target:self
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ selector:@selector(renderFrame:)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ userInfo:nil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ repeats:YES];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// The renderframe method is called periodically by the timer instance
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)renderFrame:(id)sender {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // We check whether the Mac application loop requested a shutdown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (app_loop_private->wants_shutdown()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [self appShutdown];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // No shutdown was requested so render the frame, passing the time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // elapsed since the last frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ app_loop_private->RenderFrame([timer timeInterval]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// appShutdown is invoked when the MacAppLoop requests a shutdown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)appShutdown {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Destroy the timer object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [timer invalidate];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ timer = nil;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Do [NSapp stop] as soon as possible in the run loop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // (does not execute immediately)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // This will exit the run loop and return control to the caller of [NSApp run]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApp performSelector:@selector(stop:)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ withObject:nil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ afterDelay:0.0];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void)dealloc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(timer) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [timer invalidate];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ timer = nil;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [super dealloc];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacAppLoopPrivate implementation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacAppLoopPrivate::MacAppLoopPrivate(MacAppLoop &app_loop)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+: app_loop_(app_loop),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ refresh_hz_(0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ is_setup_(false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit_called_(false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pool_(NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacAppLoopPrivate::~MacAppLoopPrivate() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Destroy the autorelease pool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (is_setup_) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [pool_ release];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoopPrivate::Setup(double refresh_hz) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (is_setup_ || exit_called_) return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SetRefreshHz(refresh_hz);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // ----------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // The code below uses an altered version of Matt Galagher's example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // http://cocoawithlove.com/2010/09/minimalist-cocoa-programming.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Copyright (c) 2009-2011 Matt Gallagher. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // This software is provided 'as-is', without any express or implied
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // warranty. In no event will the authors be held liable for any damages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // arising from the use of this software. Permission is granted to anyone
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // to use this software for any purpose, including commercial
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // applications, and to alter it and redistribute it freely, subject to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // the following restrictions:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // 1. The origin of this software must not be misrepresented; you must
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // not claim that you wrote the original software. If you use this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // software in a product, an acknowledgment in the product
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // documentation would be appreciated but is not required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // 2. Altered source versions must be plainly marked as such, and must
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // not be misrepresented as being the original software.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // 3. This notice may not be removed or altered from any source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // distribution.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pool_ = [NSAutoreleasePool new];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApplication sharedApplication];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id menubar = [[NSMenu new] autorelease];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id appMenuItem = [[NSMenuItem new] autorelease];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [menubar addItem:appMenuItem];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApp setMainMenu:menubar];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id appMenu = [[NSMenu new] autorelease];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id appName = [[NSProcessInfo processInfo] processName];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id quitTitle = [@"Quit " stringByAppendingString:appName];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ id quitMenuItem =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [[[NSMenuItem alloc]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ initWithTitle:quitTitle
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ action:@selector(stop:)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ keyEquivalent:@"q"] autorelease];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [appMenu addItem:quitMenuItem];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [appMenuItem setSubmenu:appMenu];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // ----------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ app_delegate_ = [[MacAppDelegate alloc]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ initWithPrivateLoop:this];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ is_setup_ = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoopPrivate::Run() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!is_setup_ || exit_called_) return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [[NSApplication sharedApplication] setDelegate:app_delegate_];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApp activateIgnoringOtherApps:YES];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [NSApp run];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Set exit_called_, so that Run cannot be re-entered
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit_called_ = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void MacAppLoopPrivate::RenderFrame(double time_since_last_frame) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ try {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ app_loop_.RenderFrame(time_since_last_frame);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } catch (const std::exception& e) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ std::cerr << "MacAppLoop::RenderFrame: "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ << "Caught an exception: "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ << e.what() << std::endl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ << "MacAppLoop::RenderFrame: shutting down." << std::endl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ RequestShutdown();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } catch (...) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ std::cerr << "MacAppLoop::RenderFrame: "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ << "Exception caught, shutting down." << std::endl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ RequestShutdown();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// MacMemoryPool implementation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacMemoryPool::MacMemoryPool() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data_ = (void *) [NSAutoreleasePool new];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MacMemoryPool::~MacMemoryPool() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [((NSAutoreleasePool *) data_) release];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Samples_Browser_CMakeLists.txt.diff b/graphics/ogre/files/patch-Samples_Browser_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 89b48579955..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Samples_Browser_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,40 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Samples/Browser/CMakeLists.txt.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Samples/Browser/CMakeLists.txt 2011-11-11 05:22:17.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -218,18 +218,25 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Frameworks/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # now cfg files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if(OGRE_SDK_BUILD AND MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_CFGFILES_PATH "${MACPORTS_CONFIGFILE_PATH}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_CFGFILES_PATH "${OGRE_BINARY_DIR}/inst/bin/release")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_custom_command(TARGET SampleBrowser POST_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- COMMAND mkdir ARGS -p ${OGRE_SAMPLE_CONTENTS_PATH}/Resources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- COMMAND ln ARGS -s -f ${OGRE_BINARY_DIR}/bin/plugins.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ COMMAND cp ARGS ${OGRE_CFGFILES_PATH}/plugins.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- COMMAND ln ARGS -s -f ${OGRE_BINARY_DIR}/bin/resources.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ COMMAND cp ARGS ${OGRE_CFGFILES_PATH}/resources.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- COMMAND ln ARGS -s -f ${OGRE_BINARY_DIR}/bin/samples.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ COMMAND cp ARGS ${OGRE_CFGFILES_PATH}/samples.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- COMMAND ln ARGS -s -f ${OGRE_BINARY_DIR}/bin/quakemap.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ COMMAND cp ARGS ${OGRE_CFGFILES_PATH}/quakemap.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Resources/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # now plugins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_custom_command(TARGET SampleBrowser POST_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- COMMAND mkdir ARGS -p ${OGRE_SAMPLE_CONTENTS_PATH}/Plugins)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -313,6 +320,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${OGRE_SAMPLE_CONTENTS_PATH}/Plugins/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ENDIF()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif(NOT OGRE_STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Samples_Browser_include_SampleBrowser_OSX.h.diff b/graphics/ogre/files/patch-Samples_Browser_include_SampleBrowser_OSX.h.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 27b21a699d6..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Samples_Browser_include_SampleBrowser_OSX.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,33 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Samples/Browser/include/SampleBrowser_OSX.h.orig 2011-05-08 20:28:04.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Samples/Browser/include/SampleBrowser_OSX.h 2011-11-10 17:19:22.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,7 +37,30 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __OBJC__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// HACK warning:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// In a static build, all of the plugin headers are #included.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Unfortunately, the plugin headers have "using namespace" directives
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// which end up pulling in some Ogre data structures whose names collide
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// with the MacOS X Carbon API which is indirectly included by Cocoa.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Since this part of the code does not use Carbon, we can more/less
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// harmlessly change the names of the conflicting types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FileInfo Carbon_FileInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define Rect ::Rect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #import <Cocoa/Cocoa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef FileInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef Rect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// OGRE is not built statically, so there's no namespace pollution in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// sample code, hence the Cocoa API and its legacy Carbon headers can be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// imported without special intervention.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#import <Cocoa/Cocoa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // OGRE_STATIC_LIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // All this does is suppress some messages in the run log. NSApplication does not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // implement buttonPressed and apps without a NIB have no target for the action.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Samples_CMakeLists.txt.diff b/graphics/ogre/files/patch-Samples_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c325aecd033..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Samples_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,43 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Samples/CMakeLists.txt.orig 2011-11-09 19:25:59.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Samples/CMakeLists.txt 2011-11-12 18:36:57.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -156,14 +156,24 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install sample sources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (OGRE_INSTALL_SAMPLES_SOURCE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (WIN32 OR APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR Samples)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elseif(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_SAMPLES_DIR Samples)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_SAMPLES_DIR ${MACPORTS_SAMPLES_SOURCE_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_SAMPLES_DIR share/OGRE/Samples)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION ${OGRE_SAMPLES_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- REGEX "^CMakeLists.txt$" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "SDK_CMakeLists.txt" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "cmake_install.cmake" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "CMakeFiles" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "Makefile.am" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "Makefile" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "Media" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "bin" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "setup" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -172,10 +182,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATTERN "scripts" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # install a new CMakeLists.txt file to allow building of samples
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- configure_file(${OGRE_TEMPLATES_DIR}/SDK_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt @ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- configure_file(${OGRE_TEMPLATES_DIR}/SDK_Samples_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt @ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/../)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ configure_file(${OGRE_TEMPLATES_DIR}/SDK_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/../SDK_CMakeLists.txt @ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ configure_file(${OGRE_TEMPLATES_DIR}/SDK_Samples_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/SDK_CMakeLists.txt @ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../SDK_CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/../ RENAME CMakeLists.txt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/SDK_CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/ RENAME CMakeLists.txt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install sample headers, some people rely on these
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Samples_Media_CMakeLists.txt.diff b/graphics/ogre/files/patch-Samples_Media_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 485f97b70a3..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Samples_Media_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Samples/Media/CMakeLists.txt.orig 2011-11-09 21:51:45.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Samples/Media/CMakeLists.txt 2011-11-10 17:59:38.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,7 +15,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_PATH "media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (NOT MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_MEDIA_PATH "Media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OGRE_MEDIA_PATH "share/OGRE/media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif (UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OGRE_MEDIA_PATH "share/OGRE/media")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif ()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Tools_CMakeLists.txt.diff b/graphics/ogre/files/patch-Tools_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0b975887369..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Tools_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Tools/CMakeLists.txt.orig 2011-05-08 20:28:05.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tools/CMakeLists.txt 2011-11-12 18:35:58.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,3 +14,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_subdirectory(XMLConverter)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_subdirectory(MeshUpgrader)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif (NOT OGRE_BUILD_PLATFORM_IPHONE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (MACPORTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DESTINATION ${MACPORTS_OGRE_TOOLS_PATH}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN ".svn" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "src" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "CMakeFiles" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "cmake_install.cmake" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "CMakeLists.txt" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PATTERN "Makefile" EXCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif (MACPORTS)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-Tools_XMLConverter_CMakeLists.txt.diff b/graphics/ogre/files/patch-Tools_XMLConverter_CMakeLists.txt.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6a7f78a7dd0..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-Tools_XMLConverter_CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Tools/XMLConverter/CMakeLists.txt.orig 2011-08-05 09:53:08.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Tools/XMLConverter/CMakeLists.txt 2011-08-05 09:54:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27,7 +27,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/tinyxmlparser.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_definitions(-DTIXML_USE_STL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(OgreXMLConverter ${HEADER_FILES} ${SOURCE_FILES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- target_link_libraries(OgreXMLConverter ${OGRE_LIBRARIES})
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/ogre/files/patch-rpaths.diff b/graphics/ogre/files/patch-rpaths.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5700226db46..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/ogre/files/patch-rpaths.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,144 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/Components/Paging/CMakeLists.txt ./Components/Paging/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/Components/Paging/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./Components/Paging/CMakeLists.txt 2011-08-05 16:15:41.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -67,7 +67,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Components can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgrePaging
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Components"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/Components/Property/CMakeLists.txt ./Components/Property/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/Components/Property/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./Components/Property/CMakeLists.txt 2011-08-05 16:15:41.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -47,7 +47,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Components can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreProperty
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Components"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/Components/RTShaderSystem/CMakeLists.txt ./Components/RTShaderSystem/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/Components/RTShaderSystem/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./Components/RTShaderSystem/CMakeLists.txt 2011-08-05 16:15:41.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -90,7 +90,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Components can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreRTShaderSystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Components"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/Components/Terrain/CMakeLists.txt ./Components/Terrain/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/Components/Terrain/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./Components/Terrain/CMakeLists.txt 2011-08-05 16:15:41.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -72,7 +72,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Components can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreTerrain
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Components"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/OgreMain/CMakeLists.txt ./OgreMain/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/OgreMain/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./OgreMain/CMakeLists.txt 2011-08-05 16:16:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -661,7 +661,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Frameworks can be local
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreMain
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Frameworks"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreMain PROPERTIES PUBLIC_HEADER "${HEADER_FILES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(OgreMain PROPERTIES RESOURCE "${RESOURCE_FILES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/BSPSceneManager/CMakeLists.txt ./PlugIns/BSPSceneManager/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/BSPSceneManager/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/BSPSceneManager/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -51,7 +51,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_BSPSceneManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/CgProgramManager/CMakeLists.txt ./PlugIns/CgProgramManager/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/CgProgramManager/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/CgProgramManager/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -40,7 +40,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_CgProgramManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/OctreeSceneManager/CMakeLists.txt ./PlugIns/OctreeSceneManager/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/OctreeSceneManager/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/OctreeSceneManager/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,7 +56,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_OctreeSceneManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/OctreeZone/CMakeLists.txt ./PlugIns/OctreeZone/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/OctreeZone/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/OctreeZone/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -59,7 +59,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_OctreeZone
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/PCZSceneManager/CMakeLists.txt ./PlugIns/PCZSceneManager/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/PCZSceneManager/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/PCZSceneManager/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -64,7 +64,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_PCZSceneManager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/PlugIns/ParticleFX/CMakeLists.txt ./PlugIns/ParticleFX/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/PlugIns/ParticleFX/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./PlugIns/ParticleFX/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -82,7 +82,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(Plugin_ParticleFX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Copy headers into the main Ogre framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -rubw ../ogre_src_v1-7-3.orig/RenderSystems/GL/CMakeLists.txt ./RenderSystems/GL/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ../ogre_src_v1-7-3.orig/RenderSystems/GL/CMakeLists.txt 2011-05-08 13:28:04.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./RenderSystems/GL/CMakeLists.txt 2011-08-05 16:18:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -233,7 +233,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the INSTALL_PATH so that Plugins can be installed in the application package
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_target_properties(RenderSystem_GL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROPERTIES BUILD_WITH_INSTALL_RPATH 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INSTALL_NAME_DIR "@executable_path/../Plugins"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ INSTALL_NAME_DIR "@@PREFIX@@/lib/OGRE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>
</pre>