tomka       15/01/12 13:05:17

  Added:                ogre-1.9-compat.patch
  Log:
  bump, compatibility with ogre-1.9, make 0.4.3 depend on old ogre (bug #528480)
  
  (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 
565C32BC)

Revision  Changes    Path
1.1                  games-strategy/freeorion/files/ogre-1.9-compat.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-strategy/freeorion/files/ogre-1.9-compat.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-strategy/freeorion/files/ogre-1.9-compat.patch?rev=1.1&content-type=text/plain

Index: ogre-1.9-compat.patch
===================================================================
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/include/BatchedGeometry.h 
freeorion-0.4.4/PagedGeometry/include/BatchedGeometry.h
--- freeorion-0.4.4-orig/PagedGeometry/include/BatchedGeometry.h        
2015-01-12 13:16:19.480177578 +0100
+++ freeorion-0.4.4/PagedGeometry/include/BatchedGeometry.h     2015-01-12 
13:44:40.700200986 +0100
@@ -88,7 +88,11 @@
          void setMaterialName(const Ogre::String &mat, const Ogre::String &rg =
             Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
          {
-            m_ptrMaterial = 
Ogre::MaterialManager::getSingleton().getByName(mat, rg);
+#if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+           m_ptrMaterial = 
Ogre::MaterialManager::getSingleton().getByName(mat, rg);
+#else
+           m_ptrMaterial = 
Ogre::MaterialManager::getSingleton().getByName(mat, 
rg).staticCast<Ogre::Material>();
+#endif
          }
 
          /// Get material name. Be careful, resource group name missing
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/BatchedGeometry.cpp 
freeorion-0.4.4/PagedGeometry/source/BatchedGeometry.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/BatchedGeometry.cpp       
2015-01-12 13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/BatchedGeometry.cpp    2015-01-12 
13:29:10.890188192 +0100
@@ -479,7 +479,11 @@
    // that the user may be using somewhere else).
    {
       Ogre::String newName = parentMaterial->getName() + "_Batched";
-      m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, 
parentMaterial->getGroup());
+      #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+         m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, 
parentMaterial->getGroup());
+      #else
+         m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, 
parentMaterial->getGroup()).staticCast<Material>();
+      #endif
       if (m_ptrMaterial.isNull())
          m_ptrMaterial = parentMaterial->clone(newName);
    }
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/BatchPage.cpp 
freeorion-0.4.4/PagedGeometry/source/BatchPage.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/BatchPage.cpp     2015-01-12 
13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/BatchPage.cpp  2015-01-12 
13:27:56.810187173 +0100
@@ -472,7 +472,11 @@
                }
 
                //Search for the desired material
-               MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str());
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str());
+               #else
+                       MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str()).staticCast<Ogre::Material>();
+               #endif
                if (generatedMaterial.isNull())
       {
                        //Clone the material
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/GrassLoader.cpp 
freeorion-0.4.4/PagedGeometry/source/GrassLoader.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/GrassLoader.cpp   2015-01-12 
13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/GrassLoader.cpp        2015-01-12 
13:31:39.330190235 +0100
@@ -765,7 +765,11 @@
 void GrassLayer::setMaterialName(const String &matName)
 {
        if (material.isNull() || matName != material->getName()){
-               material = MaterialManager::getSingleton().getByName(matName);
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       material = 
MaterialManager::getSingleton().getByName(matName);
+               #else
+                       material = 
MaterialManager::getSingleton().getByName(matName).staticCast<Material>();
+               #endif
                if (material.isNull())
                        OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS, "The 
specified grass material does not exist", "GrassLayer::setMaterialName()");
                shaderNeedsUpdate = true;
@@ -1128,7 +1132,11 @@
                        const String matName = material->getName() + "_" + 
vsName;
 
                        //Check if the desired material already exists (if not, 
create it)
-                       MaterialPtr tmpMat = 
MaterialManager::getSingleton().getByName(matName);
+                       #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                               MaterialPtr tmpMat = 
MaterialManager::getSingleton().getByName(matName);
+                       #else
+                               MaterialPtr tmpMat = 
MaterialManager::getSingleton().getByName(matName).staticCast<Material>();
+                       #endif
                        if (tmpMat.isNull())
                        {
                                //Clone the original material
@@ -1140,7 +1148,11 @@
 
                                //Check if the desired shader already exists 
(if not, compile it)
                                String shaderLanguage;
-                               HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName(vsName);
+                               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                                       HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName(vsName);
+                               #else
+                                       HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName(vsName).staticCast<HighLevelGpuProgram>();
+                               #endif
                                if (vertexShader.isNull())
                                {
                                        if 
(Root::getSingleton().getRenderSystem()->getName() == "Direct3D9 Rendering 
Subsystem")
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/ImpostorPage.cpp 
freeorion-0.4.4/PagedGeometry/source/ImpostorPage.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/ImpostorPage.cpp  2015-01-12 
13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/ImpostorPage.cpp       2015-01-12 
13:32:29.390190924 +0100
@@ -402,7 +402,11 @@
        //Set up materials
        for (int o = 0; o < IMPOSTOR_YAW_ANGLES; ++o){
        for (int i = 0; i < IMPOSTOR_PITCH_ANGLES; ++i){
-               material[i][o] = 
MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), 
"Impostors");
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       material[i][o] = 
MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), 
"Impostors");
+               #else
+                       material[i][o] = 
MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), 
"Impostors").staticCast<Material>();
+               #endif
 
                Material *m = material[i][o].getPointer();
                Pass *p = m->getTechnique(0)->getPass(0);
diff -U 3 -dHrN 
freeorion-0.4.4-orig/PagedGeometry/source/StaticBillboardSet.cpp 
freeorion-0.4.4/PagedGeometry/source/StaticBillboardSet.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/StaticBillboardSet.cpp    
2015-01-12 13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/StaticBillboardSet.cpp 2015-01-12 
13:34:51.270192876 +0100
@@ -149,7 +149,11 @@
                "}";
          }
 
-         HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp");
+         #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+            HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp");
+         #else
+            HighLevelGpuProgramPtr vertexShader = 
HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp").staticCast<HighLevelGpuProgram>();
+         #endif
          assert(vertexShader.isNull() && "Sprite_vp already exist");
 
          vertexShader = 
HighLevelGpuProgramManager::getSingleton().createProgram(
@@ -257,7 +261,11 @@
                "}";
          }
 
-         HighLevelGpuProgramPtr vertexShader2 = 
HighLevelGpuProgramManager::getSingleton().getByName("SpriteFade_vp");
+         #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+            HighLevelGpuProgramPtr vertexShader2 = 
HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp");
+         #else
+            HighLevelGpuProgramPtr vertexShader2 = 
HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp").staticCast<HighLevelGpuProgram>();
+         #endif
          assert(vertexShader2.isNull() && "SpriteFade_vp already exist");
          vertexShader2 = 
HighLevelGpuProgramManager::getSingleton().createProgram("SpriteFade_vp",
             ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, shaderLanguage, 
GPT_VERTEX_PROGRAM);
@@ -574,7 +582,11 @@
       else if (!mPtrMaterial.isNull())
          SBMaterialRef::removeMaterialRef(mPtrMaterial);
 
-      mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, 
resourceGroup);
+      #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+         mPtrMaterial = 
MaterialManager::getSingleton().getByName(materialName, resourceGroup);
+      #else
+         mPtrMaterial = 
MaterialManager::getSingleton().getByName(materialName, 
resourceGroup).staticCast<Material>();
+      #endif
 
       if (mFadeEnabled)
       {
@@ -590,7 +602,11 @@
    }
    else  // old GPU compatibility
    {
-      mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, 
resourceGroup);
+      #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+         mPtrMaterial = 
MaterialManager::getSingleton().getByName(materialName, resourceGroup);
+      #else
+         mPtrMaterial = 
MaterialManager::getSingleton().getByName(materialName, 
resourceGroup).staticCast<Material>();
+      #endif
       mpFallbackBillboardSet->setMaterialName(mPtrMaterial->getName(), 
mPtrMaterial->getGroup());
       // SVA. Since Ogre 1.7.3 Ogre::BillboardSet have setMaterial(const 
MaterialPtr&) method
    }
diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/WindBatchPage.cpp 
freeorion-0.4.4/PagedGeometry/source/WindBatchPage.cpp
--- freeorion-0.4.4-orig/PagedGeometry/source/WindBatchPage.cpp 2015-01-12 
13:16:19.470177578 +0100
+++ freeorion-0.4.4/PagedGeometry/source/WindBatchPage.cpp      2015-01-12 
13:35:22.100193300 +0100
@@ -467,7 +467,11 @@
                }
 
                //Search for the desired material
-               MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str());
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str());
+               #else
+                       MaterialPtr generatedMaterial = 
MaterialManager::getSingleton().getByName(materialSignature.str()).staticCast<Material>();
+               #endif
                if (generatedMaterial.isNull())
       {
                        //Clone the material
diff -U 3 -dHrN freeorion-0.4.4-orig/UI/CombatSetupWnd.cpp 
freeorion-0.4.4/UI/CombatSetupWnd.cpp
--- freeorion-0.4.4-orig/UI/CombatSetupWnd.cpp  2015-01-12 13:16:18.650177567 
+0100
+++ freeorion-0.4.4/UI/CombatSetupWnd.cpp       2015-01-12 13:17:12.200178304 
+0100
@@ -126,7 +126,11 @@
             // HACK! This currently assumes all rings are starlane exclusion
             // zones, so we only create one mesh for all RING's and reuse it;
             // this may need to be generalized later.
-            Ogre::MeshPtr ring_mesh = 
Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME);
+            #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                               Ogre::MeshPtr ring_mesh = 
Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME);
+                       #else
+                               Ogre::MeshPtr ring_mesh = 
Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME).staticCast<Ogre::Mesh>();
+                       #endif
             if (ring_mesh.isNull()) {
                 Ogre::ManualObject manual_object("");
                 manual_object.estimateVertexCount(unit_circle_vertices.size() 
* 2 + 2);
@@ -152,7 +156,11 @@
         }
 
         case CombatSetupRegion::ELLIPSE: {
-            Ogre::MeshPtr unit_circle_mesh = 
Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME);
+            #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                               Ogre::MeshPtr unit_circle_mesh = 
Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME);
+                       #else
+                               Ogre::MeshPtr unit_circle_mesh = 
Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME).staticCast<Ogre::Mesh>();
+                       #endif
             if (unit_circle_mesh.isNull()) {
                 Ogre::ManualObject manual_object("");
                 manual_object.estimateVertexCount(unit_circle_vertices.size() 
+ 2);
@@ -478,8 +486,13 @@
                 std::string base_material_name = 
ShipMaterialName(*ship->Design(), ship->Owner());
                 std::string material_name = UNPLACEABLE_MATERIAL_PREFIX + 
base_material_name;
                 if 
(!Ogre::MaterialManager::getSingleton().resourceExists(material_name)) {
-                    Ogre::MaterialPtr unmodified_material =
-                        
Ogre::MaterialManager::getSingleton().getByName(base_material_name);
+                                       #if (OGRE_VERSION < ((1 << 16) | (9 << 
8) | 0))
+                                               Ogre::MaterialPtr 
unmodified_material =
+                                                       
Ogre::MaterialManager::getSingleton().getByName(base_material_name);
+                                       #else
+                                               Ogre::MaterialPtr 
unmodified_material =
+                                                       
Ogre::MaterialManager::getSingleton().getByName(base_material_name).staticCast<Ogre::Material>();
+                                       #endif
                     Ogre::MaterialPtr material = 
unmodified_material->clone(material_name);
                     Ogre::Pass* pass = material->getTechnique(0)->getPass(1);
                     assert(pass->hasFragmentProgram());
diff -U 3 -dHrN freeorion-0.4.4-orig/UI/CombatWnd.cpp 
freeorion-0.4.4/UI/CombatWnd.cpp
--- freeorion-0.4.4-orig/UI/CombatWnd.cpp       2015-01-12 13:16:18.650177567 
+0100
+++ freeorion-0.4.4/UI/CombatWnd.cpp    2015-01-12 13:43:29.950200012 +0100
@@ -329,8 +329,13 @@
             Ogre::Entity* entity =
                 scene_manager->createEntity("asteroid mesh " + base_name,
                                             base_name + ".mesh");
-            Ogre::MaterialPtr material =
-                Ogre::MaterialManager::getSingleton().getByName("asteroid");
+            #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                               Ogre::MaterialPtr material =
+                                       
Ogre::MaterialManager::getSingleton().getByName("asteroid");
+                       #else
+                               Ogre::MaterialPtr material =
+                                       
Ogre::MaterialManager::getSingleton().getByName("asteroid").staticCast<Ogre::Material>();
+                       #endif
             std::string new_material_name = "asteroid material " + base_name;
             material = material->clone(new_material_name);
             material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->
@@ -905,16 +910,26 @@
 
     // pick and assign star textures
     {
-        Ogre::MaterialPtr back_material =
-            
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       Ogre::MaterialPtr back_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+               #else
+                       Ogre::MaterialPtr back_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast<Ogre::Material>();
+               #endif
         Ogre::Technique* technique = back_material->getTechnique(0);
         
technique->getPass(0)->getTextureUnitState(0)->setTextureName(base_name + 
"back.png");
         
technique->getPass(1)->getTextureUnitState(0)->setTextureName(base_name + 
"rainbow.png");
         
technique->getPass(2)->getTextureUnitState(0)->setTextureName(base_name + 
"rays.png");
         
technique->getPass(3)->getTextureUnitState(0)->setTextureName(base_name + 
"horizontal_flare.png");
         
technique->getPass(4)->getTextureUnitState(0)->setTextureName(base_name + 
"horizontal_flare.png");
-        Ogre::MaterialPtr core_material =
-            
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core");
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       Ogre::MaterialPtr core_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core");
+               #else
+                       Ogre::MaterialPtr core_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core").staticCast<Ogre::Material>();
+               #endif
         technique = core_material->getTechnique(0);
         
technique->getPass(0)->getTextureUnitState(0)->setTextureName(base_name + 
"core.png");
 
@@ -1005,8 +1020,13 @@
                 entity->setQueryFlags(UNSELECTABLE_OBJECT_MASK);
                 std::string new_material_name =
                     material_name + "_" + 
boost::lexical_cast<std::string>(orbit);
-                Ogre::MaterialPtr material =
-                    
Ogre::MaterialManager::getSingleton().getByName(material_name);
+                               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                                       Ogre::MaterialPtr material =
+                                               
Ogre::MaterialManager::getSingleton().getByName(material_name);
+                               #else
+                                       Ogre::MaterialPtr material =
+                                               
Ogre::MaterialManager::getSingleton().getByName(material_name).staticCast<Ogre::Material>();
+                               #endif
                 material = material->clone(new_material_name);
                 m_planet_assets[orbit].second.push_back(material);
                 material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->
@@ -1019,11 +1039,19 @@
                 entity->setVisibilityFlags(REGULAR_OBJECTS_MASK);
                 std::string new_material_name =
                     material_name + "_" + 
boost::lexical_cast<std::string>(orbit);
-                Ogre::MaterialPtr material =
-                    Ogre::MaterialManager::getSingleton().getByName(
-                        material_name == "planet" ?
-                        PlanetMaterialName(base_name) :
-                        material_name);
+                               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                                       Ogre::MaterialPtr material =
+                                               
Ogre::MaterialManager::getSingleton().getByName(
+                                                       material_name == 
"planet" ?
+                                                       
PlanetMaterialName(base_name) :
+                                                       material_name);
+                               #else
+                                       Ogre::MaterialPtr material =
+                                               
Ogre::MaterialManager::getSingleton().getByName(
+                                                       material_name == 
"planet" ?
+                                                       
PlanetMaterialName(base_name) :
+                                                       
material_name).staticCast<Ogre::Material>();
+                               #endif
                 material = material->clone(new_material_name);
                 m_planet_assets[orbit].second.push_back(material);
                 assert(entity->getNumSubEntities() == 1u);
@@ -1046,9 +1074,15 @@
                     entity->setRenderQueueGroup(ALPHA_OBJECTS_QUEUE);
                     entity->setVisibilityFlags(REGULAR_OBJECTS_MASK);
                     entity->setQueryFlags(UNSELECTABLE_OBJECT_MASK);
-                    Ogre::MaterialPtr material =
-                        Ogre::MaterialManager::getSingleton().getByName(
-                            AtmosphereMaterialName(base_name));
+                                       #if (OGRE_VERSION < ((1 << 16) | (9 << 
8) | 0))
+                                               Ogre::MaterialPtr material =
+                                                       
Ogre::MaterialManager::getSingleton().getByName(
+                                                               
AtmosphereMaterialName(base_name));
+                                       #else
+                                               Ogre::MaterialPtr material =
+                                                       
Ogre::MaterialManager::getSingleton().getByName(
+                                                               
AtmosphereMaterialName(base_name)).staticCast<Ogre::Material>();
+                                       #endif
                     entity->setMaterialName(material->getName());
                     m_planet_assets[orbit].second.push_back(material);
                     node->attachObject(entity);
@@ -1568,7 +1602,11 @@
 
     const bool ENABLE_GLOW = GetOptionsDB().Get<bool>("combat.enable-glow");
     Ogre::CompositorManager::getSingleton().setCompositorEnabled(m_viewport, 
"effects/glow", ENABLE_GLOW);
-    Ogre::MaterialPtr material = 
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+       #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+               Ogre::MaterialPtr material = 
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+       #else
+               Ogre::MaterialPtr material = 
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast<Ogre::Material>();
+       #endif
     material->getTechnique(0)->getPass(3)->setDepthCheckEnabled(!ENABLE_GLOW);
     material->getTechnique(0)->getPass(4)->setDepthCheckEnabled(!ENABLE_GLOW);
 
@@ -1618,8 +1656,13 @@
 
         const int SAMPLES_PER_SIDE = 2;
         const int TOTAL_SAMPLES = 5;
-        Ogre::MaterialPtr core_material =
-            
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core");
+               #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+                       Ogre::MaterialPtr core_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core");
+               #else
+                       Ogre::MaterialPtr core_material =
+                               
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core").staticCast<Ogre::Material>();
+               #endif
         const Ogre::Real STAR_CORE_SCALE_FACTOR =
             
core_material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->getTextureUScale();
         const Ogre::Real SAMPLE_INCREMENT =
@@ -1743,8 +1786,13 @@
     m_star_back_billboard->setColour(
         Ogre::ColourValue(1.0, 1.0, 1.0, m_star_brightness_factor));
 
-    Ogre::MaterialPtr back_material =
-        
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+       #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+               Ogre::MaterialPtr back_material =
+                       
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back");
+       #else
+               Ogre::MaterialPtr back_material =
+                       
Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast<Ogre::Material>();
+       #endif
     
back_material->getTechnique(0)->getPass(3)->getTextureUnitState(0)->setTextureUScroll(
         m_initial_left_horizontal_flare_scroll + 
m_left_horizontal_flare_scroll_offset);
     
back_material->getTechnique(0)->getPass(4)->getTextureUnitState(0)->setTextureUScroll(
@@ -1834,8 +1882,13 @@
     assert(ship->Design());
     const ShipDesign& ship_design = *ship->Design();
 
-    Ogre::MaterialPtr ship_material =
-        Ogre::MaterialManager::getSingleton().getByName("ship");
+       #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+               Ogre::MaterialPtr ship_material =
+                       Ogre::MaterialManager::getSingleton().getByName("ship");
+       #else
+               Ogre::MaterialPtr ship_material =
+                       
Ogre::MaterialManager::getSingleton().getByName("ship").staticCast<Ogre::Material>();
+       #endif
     std::string modified_material_name = ShipMaterialName(ship_design, 
ship->Owner());
     Ogre::MaterialPtr& modified_material = 
m_ship_materials[modified_material_name];
     if (!modified_material.get()) {
diff -U 3 -dHrN freeorion-0.4.4-orig/UI/EntityRenderer.cpp 
freeorion-0.4.4/UI/EntityRenderer.cpp
--- freeorion-0.4.4-orig/UI/EntityRenderer.cpp  2015-01-12 13:16:18.670177567 
+0100
+++ freeorion-0.4.4/UI/EntityRenderer.cpp       2015-01-12 13:17:12.200178304 
+0100
@@ -123,9 +123,15 @@
     renderTextures();
 
     //Set up material
-    material =
-        Ogre::MaterialManager::getSingleton().create(
-            getUniqueID("RenderedEntityMaterial"), "EntityRenderer");
+       #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0))
+               material =
+                       Ogre::MaterialManager::getSingleton().create(
+                               getUniqueID("RenderedEntityMaterial"), 
"EntityRenderer");
+       #else
+               material =
+                       Ogre::MaterialManager::getSingleton().create(
+                               getUniqueID("RenderedEntityMaterial"), 
"EntityRenderer").staticCast<Ogre::Material>();
+       #endif
 
     Ogre::Material* m = material.getPointer();
     Ogre::Pass* p = m->getTechnique(0)->getPass(0);




Reply via email to