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