diff --git a/binaries/data/mods/public/simulation/components/Visibility.js b/binaries/data/mods/public/simulation/components/Visibility.js index 7669e27243..ab8dc0fdd5 100644 --- a/binaries/data/mods/public/simulation/components/Visibility.js +++ b/binaries/data/mods/public/simulation/components/Visibility.js @@ -5,11 +5,16 @@ const VIS_VISIBLE = 2; function Visibility() {} Visibility.prototype.Schema = - ""; + "" + + "" + + "" + + "" + + "" + + ""; Visibility.prototype.Init = function() { - + }; /** @@ -29,8 +34,7 @@ Visibility.prototype.GetLosVisibility = function(player, isOutsideFog, forceReta } // Fogged if the 'retain in fog' flag is set, and in a non-visible explored region - var cmpVision = Engine.QueryInterface(this.entity, IID_Vision); - if (!forceRetainInFog && !(cmpVision && cmpVision.GetRetainInFog())) + if (!forceRetainInFog && !this.GetRetainInFog()) return VIS_HIDDEN; var cmpMirage = Engine.QueryInterface(this.entity, IID_Mirage); @@ -62,4 +66,14 @@ Visibility.prototype.GetLosVisibility = function(player, isOutsideFog, forceReta return VIS_HIDDEN; }; +Visibility.prototype.GetRetainInFog = function() +{ + return this.template.RetainInFog == "true"; +}; + +Visibility.prototype.GetAlwaysVisible = function() +{ + return this.template.AlwaysVisible == "true"; +}; + Engine.RegisterComponentType(IID_Visibility, "Visibility", Visibility); diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_shark.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_shark.xml index 8285664067..19de685916 100644 --- a/binaries/data/mods/public/simulation/templates/gaia/fauna_shark.xml +++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_shark.xml @@ -33,8 +33,10 @@ - + false + + 100 diff --git a/binaries/data/mods/public/simulation/templates/other/bench.xml b/binaries/data/mods/public/simulation/templates/other/bench.xml index aa0a816355..4a0acb054f 100644 --- a/binaries/data/mods/public/simulation/templates/other/bench.xml +++ b/binaries/data/mods/public/simulation/templates/other/bench.xml @@ -38,9 +38,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/bench_1.xml diff --git a/binaries/data/mods/public/simulation/templates/other/bridge_hele.xml b/binaries/data/mods/public/simulation/templates/other/bridge_hele.xml index 9dc4546f98..be4a00514b 100644 --- a/binaries/data/mods/public/simulation/templates/other/bridge_hele.xml +++ b/binaries/data/mods/public/simulation/templates/other/bridge_hele.xml @@ -25,9 +25,11 @@ + + true + 72 - true props/special/eyecandy/bridge_edge_hele.xml diff --git a/binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml b/binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml index 006c053882..e68d157921 100644 --- a/binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml +++ b/binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml @@ -25,9 +25,11 @@ + + true + 72 - true props/special/eyecandy/bridge_edge_wooden.xml diff --git a/binaries/data/mods/public/simulation/templates/other/column_doric.xml b/binaries/data/mods/public/simulation/templates/other/column_doric.xml index 10fa7d3561..388277cc84 100644 --- a/binaries/data/mods/public/simulation/templates/other/column_doric.xml +++ b/binaries/data/mods/public/simulation/templates/other/column_doric.xml @@ -35,9 +35,11 @@ 8.0 + + true + 4 - true props/special/eyecandy/column_doric.xml diff --git a/binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml b/binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml index ad270f7e43..3229e5e087 100644 --- a/binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml +++ b/binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml @@ -35,9 +35,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/column_doric_fallen.xml diff --git a/binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml b/binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml index c1e1b65049..b42a5925ec 100644 --- a/binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml +++ b/binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml @@ -35,9 +35,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/column_doric_fallen_b.xml diff --git a/binaries/data/mods/public/simulation/templates/other/fence_long.xml b/binaries/data/mods/public/simulation/templates/other/fence_long.xml index 674ae0aa71..784dfa0988 100644 --- a/binaries/data/mods/public/simulation/templates/other/fence_long.xml +++ b/binaries/data/mods/public/simulation/templates/other/fence_long.xml @@ -39,9 +39,11 @@ 6.0 + + true + 4 - true temp/fence_wood_long_a.xml diff --git a/binaries/data/mods/public/simulation/templates/other/fence_short.xml b/binaries/data/mods/public/simulation/templates/other/fence_short.xml index 8b754d0777..dd6fd013fd 100644 --- a/binaries/data/mods/public/simulation/templates/other/fence_short.xml +++ b/binaries/data/mods/public/simulation/templates/other/fence_short.xml @@ -39,9 +39,11 @@ 6.0 + + true + 4 - true temp/fence_wood_short_a.xml diff --git a/binaries/data/mods/public/simulation/templates/other/fence_stone.xml b/binaries/data/mods/public/simulation/templates/other/fence_stone.xml index 8e7ea6baa6..5a49902213 100644 --- a/binaries/data/mods/public/simulation/templates/other/fence_stone.xml +++ b/binaries/data/mods/public/simulation/templates/other/fence_stone.xml @@ -36,9 +36,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/fence_stone_medit.xml diff --git a/binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml b/binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml index 21a3bf8491..dc200458e8 100644 --- a/binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml +++ b/binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml @@ -43,9 +43,11 @@ 40 65536 + + true + 20 - true structures/hellenes/propylaea.xml diff --git a/binaries/data/mods/public/simulation/templates/other/hellenic_royal_stoa.xml b/binaries/data/mods/public/simulation/templates/other/hellenic_royal_stoa.xml index 184a124a91..4d0de668f3 100644 --- a/binaries/data/mods/public/simulation/templates/other/hellenic_royal_stoa.xml +++ b/binaries/data/mods/public/simulation/templates/other/hellenic_royal_stoa.xml @@ -56,9 +56,11 @@ units/thrace_black_cloak + + true + 40 - true special/greek_stoa_great.xml diff --git a/binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml b/binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml index e6e8eb9c4a..f9cb52e893 100644 --- a/binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml +++ b/binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml @@ -44,9 +44,11 @@ 36 65536 + + true + 40 - true special/greek_stoa.xml diff --git a/binaries/data/mods/public/simulation/templates/other/obelisk.xml b/binaries/data/mods/public/simulation/templates/other/obelisk.xml index 89834bea6a..a1bb86584d 100644 --- a/binaries/data/mods/public/simulation/templates/other/obelisk.xml +++ b/binaries/data/mods/public/simulation/templates/other/obelisk.xml @@ -34,9 +34,11 @@ + + true + 12 - true props/special/eyecandy/obelisk.xml diff --git a/binaries/data/mods/public/simulation/templates/other/pyramid_great.xml b/binaries/data/mods/public/simulation/templates/other/pyramid_great.xml index b6d83b4052..d86d27403b 100644 --- a/binaries/data/mods/public/simulation/templates/other/pyramid_great.xml +++ b/binaries/data/mods/public/simulation/templates/other/pyramid_great.xml @@ -36,9 +36,11 @@ 0.6 12.0 + + true + 72 - true special/pyramid.xml diff --git a/binaries/data/mods/public/simulation/templates/other/pyramid_minor.xml b/binaries/data/mods/public/simulation/templates/other/pyramid_minor.xml index 937690506b..f825a4bfc6 100644 --- a/binaries/data/mods/public/simulation/templates/other/pyramid_minor.xml +++ b/binaries/data/mods/public/simulation/templates/other/pyramid_minor.xml @@ -30,9 +30,11 @@ 0.6 12.0 + + true + 40 - true special/pyramid_minor.xml diff --git a/binaries/data/mods/public/simulation/templates/other/table_rectangle.xml b/binaries/data/mods/public/simulation/templates/other/table_rectangle.xml index fa5fa3dcab..2314028df4 100644 --- a/binaries/data/mods/public/simulation/templates/other/table_rectangle.xml +++ b/binaries/data/mods/public/simulation/templates/other/table_rectangle.xml @@ -39,9 +39,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/table_rectangle.xml diff --git a/binaries/data/mods/public/simulation/templates/other/table_square.xml b/binaries/data/mods/public/simulation/templates/other/table_square.xml index adb6626add..d035978a96 100644 --- a/binaries/data/mods/public/simulation/templates/other/table_square.xml +++ b/binaries/data/mods/public/simulation/templates/other/table_square.xml @@ -39,9 +39,11 @@ 6.0 + + true + 4 - true props/special/eyecandy/table_square.xml diff --git a/binaries/data/mods/public/simulation/templates/other/unfinished_greek_temple.xml b/binaries/data/mods/public/simulation/templates/other/unfinished_greek_temple.xml index eb5dcbc314..f35965688b 100644 --- a/binaries/data/mods/public/simulation/templates/other/unfinished_greek_temple.xml +++ b/binaries/data/mods/public/simulation/templates/other/unfinished_greek_temple.xml @@ -27,9 +27,11 @@ 0.6 12.0 + + true + 40 - true props/special/eyecandy/greek_temple_unfinished.xml diff --git a/binaries/data/mods/public/simulation/templates/special/actor.xml b/binaries/data/mods/public/simulation/templates/special/actor.xml index 045bc856d5..2395d196d2 100644 --- a/binaries/data/mods/public/simulation/templates/special/actor.xml +++ b/binaries/data/mods/public/simulation/templates/special/actor.xml @@ -6,11 +6,12 @@ false 6.0 - - - 0 + true false + + + 0 (should be overridden) diff --git a/binaries/data/mods/public/simulation/templates/special/marker_object_sound.xml b/binaries/data/mods/public/simulation/templates/special/marker_object_sound.xml index cefb5c69f5..48acc29c88 100644 --- a/binaries/data/mods/public/simulation/templates/special/marker_object_sound.xml +++ b/binaries/data/mods/public/simulation/templates/special/marker_object_sound.xml @@ -24,9 +24,9 @@ - + true - + props/special/common/marker_object_sound.xml diff --git a/binaries/data/mods/public/simulation/templates/special/rallypoint.xml b/binaries/data/mods/public/simulation/templates/special/rallypoint.xml index c73b5d8f97..5432b86ff9 100644 --- a/binaries/data/mods/public/simulation/templates/special/rallypoint.xml +++ b/binaries/data/mods/public/simulation/templates/special/rallypoint.xml @@ -3,7 +3,7 @@ props/special/common/waypoint_flag.xml - + true - + diff --git a/binaries/data/mods/public/simulation/templates/structures/pers_wonder.xml b/binaries/data/mods/public/simulation/templates/structures/pers_wonder.xml index 89622031d9..e7640ec2eb 100644 --- a/binaries/data/mods/public/simulation/templates/structures/pers_wonder.xml +++ b/binaries/data/mods/public/simulation/templates/structures/pers_wonder.xml @@ -26,9 +26,11 @@ 100 + + true + 72 - true structures/fndn_8x8.xml diff --git a/binaries/data/mods/public/simulation/templates/template_gaia.xml b/binaries/data/mods/public/simulation/templates/template_gaia.xml index 5acbdb1ff5..0340dcd2be 100644 --- a/binaries/data/mods/public/simulation/templates/template_gaia.xml +++ b/binaries/data/mods/public/simulation/templates/template_gaia.xml @@ -20,11 +20,12 @@ 0.333 5.0 - - - 0 + true false + + + 0 false diff --git a/binaries/data/mods/public/simulation/templates/template_rubble.xml b/binaries/data/mods/public/simulation/templates/template_rubble.xml index bbfdcb5bcc..7d3ca0cd32 100644 --- a/binaries/data/mods/public/simulation/templates/template_rubble.xml +++ b/binaries/data/mods/public/simulation/templates/template_rubble.xml @@ -12,10 +12,12 @@ false 6.0 - - 0 + true false + + + 0 structures/rubble_stone_3x3.xml diff --git a/binaries/data/mods/public/simulation/templates/template_structure.xml b/binaries/data/mods/public/simulation/templates/template_structure.xml index c1cf8cfd15..3a9e0dbc2f 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure.xml @@ -101,11 +101,12 @@ 5 - - - 40 + true false + + + 40 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_gaia_settlement.xml b/binaries/data/mods/public/simulation/templates/template_structure_gaia_settlement.xml index 6f63496973..2d255d8ff1 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_gaia_settlement.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_gaia_settlement.xml @@ -26,9 +26,11 @@ - - 0 + true false + + + 0 diff --git a/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml b/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml index daeac59e43..cd30fc4bdd 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_wonder.xml @@ -75,9 +75,11 @@ 100 65536 + + true + 72 - true structures/fndn_6x6.xml diff --git a/binaries/data/mods/public/simulation/templates/template_unit.xml b/binaries/data/mods/public/simulation/templates/template_unit.xml index 79ad81a10d..3a565939fa 100644 --- a/binaries/data/mods/public/simulation/templates/template_unit.xml +++ b/binaries/data/mods/public/simulation/templates/template_unit.xml @@ -104,11 +104,12 @@ default default - - - 10 + false false + + + 10 true diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna.xml index b033799eae..691c4837b8 100644 --- a/binaries/data/mods/public/simulation/templates/template_unit_fauna.xml +++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna.xml @@ -38,8 +38,10 @@ 15.0 - + true + + 0 diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_decorative.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_decorative.xml index 35bf0db1b3..fc08670d04 100644 --- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_decorative.xml +++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_decorative.xml @@ -38,10 +38,12 @@ unrestricted default - + true - 0 false + + + 0 false diff --git a/source/ps/TemplateLoader.cpp b/source/ps/TemplateLoader.cpp index 07ceea6c5b..d692f6799d 100644 --- a/source/ps/TemplateLoader.cpp +++ b/source/ps/TemplateLoader.cpp @@ -381,7 +381,7 @@ void CTemplateLoader::CopyPreviewSubset(CParamNode& out, const CParamNode& in, b CParamNode::LoadXMLString(out, ""); // Previews should always be visible in fog-of-war/etc - CParamNode::LoadXMLString(out, "0falsetrue"); + CParamNode::LoadXMLString(out, "falsetrue"); } if (corpse) @@ -395,7 +395,7 @@ void CTemplateLoader::CopyPreviewSubset(CParamNode& out, const CParamNode& in, b CParamNode::LoadXMLString(out, "false"); // Corpses should remain visible in fog-of-war - CParamNode::LoadXMLString(out, "0truefalse"); + CParamNode::LoadXMLString(out, "truefalse"); } } @@ -409,7 +409,6 @@ void CTemplateLoader::CopyMirageSubset(CParamNode& out, const CParamNode& in) permittedComponentTypes.insert("Ownership"); permittedComponentTypes.insert("Position"); permittedComponentTypes.insert("Selectable"); - permittedComponentTypes.insert("Visibility"); permittedComponentTypes.insert("VisualActor"); CParamNode::LoadXMLString(out, ""); @@ -431,7 +430,7 @@ void CTemplateLoader::CopyMirageSubset(CParamNode& out, const CParamNode& in) // Set the entity as mirage entity CParamNode::LoadXMLString(out, ""); - CParamNode::LoadXMLString(out, "0truefalse"); + CParamNode::LoadXMLString(out, "truefalse"); } void CTemplateLoader::CopyFoundationSubset(CParamNode& out, const CParamNode& in) diff --git a/source/simulation2/components/CCmpRangeManager.cpp b/source/simulation2/components/CCmpRangeManager.cpp index 866cd8f07d..df0a8ab3a9 100644 --- a/source/simulation2/components/CCmpRangeManager.cpp +++ b/source/simulation2/components/CCmpRangeManager.cpp @@ -417,10 +417,10 @@ public: // Store the LOS data, if any CmpPtr cmpVision(GetSimContext(), ent); if (cmpVision) - { entdata.visionRange = cmpVision->GetRange(); - entdata.retainInFog = (cmpVision->GetRetainInFog() ? 1 : 0); - } + CmpPtr cmpVisibility(GetSimContext(), ent); + if (cmpVisibility) + entdata.retainInFog = (cmpVisibility->GetRetainInFog() ? 1 : 0); // Remember this entity m_EntityData.insert(ent, entdata); diff --git a/source/simulation2/components/CCmpUnitRenderer.cpp b/source/simulation2/components/CCmpUnitRenderer.cpp index 691c223397..5620145e3a 100644 --- a/source/simulation2/components/CCmpUnitRenderer.cpp +++ b/source/simulation2/components/CCmpUnitRenderer.cpp @@ -25,7 +25,7 @@ #include "ICmpPosition.h" #include "ICmpRangeManager.h" #include "ICmpSelectable.h" -#include "ICmpVision.h" +#include "ICmpVisibility.h" #include "graphics/Frustum.h" #include "graphics/ModelAbstract.h" @@ -388,8 +388,8 @@ void CCmpUnitRenderer::UpdateVisibility(SUnit& unit) { // The 'always visible' flag means we should always render the unit // (regardless of whether the LOS system thinks it's visible) - CmpPtr cmpVision(unit.entity); - if (cmpVision && cmpVision->GetAlwaysVisible()) + CmpPtr cmpVisibility(unit.entity); + if (cmpVisibility && cmpVisibility->GetAlwaysVisible()) unit.visibility = ICmpRangeManager::VIS_VISIBLE; else { diff --git a/source/simulation2/components/CCmpVision.cpp b/source/simulation2/components/CCmpVision.cpp index eaf61ffcfa..d03a00a127 100644 --- a/source/simulation2/components/CCmpVision.cpp +++ b/source/simulation2/components/CCmpVision.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2012 Wildfire Games. +/* Copyright (C) 2014 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -38,28 +38,18 @@ public: // Template state: entity_pos_t m_Range, m_BaseRange; - bool m_RetainInFog; - bool m_AlwaysVisible; static std::string GetSchema() { return "" "" - "" - "" - "" - "" - "" - "" ""; } virtual void Init(const CParamNode& paramNode) { m_BaseRange = m_Range = paramNode.GetChild("Range").ToFixed(); - m_RetainInFog = paramNode.GetChild("RetainInFog").ToBool(); - m_AlwaysVisible = paramNode.GetChild("AlwaysVisible").ToBool(); } virtual void Deinit() @@ -105,16 +95,6 @@ public: { return m_Range; } - - virtual bool GetRetainInFog() - { - return m_RetainInFog; - } - - virtual bool GetAlwaysVisible() - { - return m_AlwaysVisible; - } }; REGISTER_COMPONENT_TYPE(Vision) diff --git a/source/simulation2/components/CCmpVisualActor.cpp b/source/simulation2/components/CCmpVisualActor.cpp index 8b3f2998d0..52c189bf02 100644 --- a/source/simulation2/components/CCmpVisualActor.cpp +++ b/source/simulation2/components/CCmpVisualActor.cpp @@ -30,7 +30,7 @@ #include "ICmpTerrain.h" #include "ICmpUnitMotion.h" #include "ICmpValueModificationManager.h" -#include "ICmpVision.h" +#include "ICmpVisibility.h" #include "graphics/Decal.h" #include "graphics/Frustum.h" @@ -562,8 +562,8 @@ void CCmpVisualActor::InitModel(const CParamNode& paramNode) if (paramNode.GetChild("SilhouetteOccluder").ToBool()) modelFlags |= MODELFLAG_SILHOUETTE_OCCLUDER; - CmpPtr cmpVision(GetEntityHandle()); - if (cmpVision && cmpVision->GetAlwaysVisible()) + CmpPtr cmpVisibility(GetEntityHandle()); + if (cmpVisibility && cmpVisibility->GetAlwaysVisible()) modelFlags |= MODELFLAG_IGNORE_LOS; model.ToCModel()->AddFlagsRec(modelFlags); diff --git a/source/simulation2/components/ICmpVisibility.cpp b/source/simulation2/components/ICmpVisibility.cpp index d2963f991c..6cade92161 100644 --- a/source/simulation2/components/ICmpVisibility.cpp +++ b/source/simulation2/components/ICmpVisibility.cpp @@ -47,6 +47,16 @@ public: return ICmpRangeManager::VIS_HIDDEN; } } + + virtual bool GetRetainInFog() + { + return m_Script.Call("GetRetainInFog"); + } + + virtual bool GetAlwaysVisible() + { + return m_Script.Call("GetAlwaysVisible"); + } }; REGISTER_COMPONENT_SCRIPT_WRAPPER(VisibilityScripted) diff --git a/source/simulation2/components/ICmpVisibility.h b/source/simulation2/components/ICmpVisibility.h index 15f30efa21..da87b588fe 100644 --- a/source/simulation2/components/ICmpVisibility.h +++ b/source/simulation2/components/ICmpVisibility.h @@ -25,7 +25,11 @@ class ICmpVisibility : public IComponent { public: - virtual ICmpRangeManager::ELosVisibility GetLosVisibility(player_id_t player, bool isOutsideFog, bool forceRetainInFog) = 0; + virtual ICmpRangeManager::ELosVisibility GetLosVisibility(player_id_t player, bool isOutsideFog, bool forceRetainInFog) = 0; + + virtual bool GetRetainInFog() = 0; + + virtual bool GetAlwaysVisible() = 0; DECLARE_INTERFACE_TYPE(Visibility) }; diff --git a/source/simulation2/components/ICmpVision.cpp b/source/simulation2/components/ICmpVision.cpp index a1361153b3..bc2a5b0c93 100644 --- a/source/simulation2/components/ICmpVision.cpp +++ b/source/simulation2/components/ICmpVision.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 Wildfire Games. +/* Copyright (C) 2014 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -23,6 +23,4 @@ BEGIN_INTERFACE_WRAPPER(Vision) DEFINE_INTERFACE_METHOD_0("GetRange", entity_pos_t, ICmpVision, GetRange) -DEFINE_INTERFACE_METHOD_0("GetRetainInFog", bool, ICmpVision, GetRetainInFog) -DEFINE_INTERFACE_METHOD_0("GetAlwaysVisible", bool, ICmpVision, GetAlwaysVisible) END_INTERFACE_WRAPPER(Vision) diff --git a/source/simulation2/components/ICmpVision.h b/source/simulation2/components/ICmpVision.h index 02bd9fa3b8..fed3163aff 100644 --- a/source/simulation2/components/ICmpVision.h +++ b/source/simulation2/components/ICmpVision.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 Wildfire Games. +/* Copyright (C) 2014 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -23,17 +23,13 @@ #include "simulation2/helpers/Position.h" /** - * Vision (LOS etc) interface (typically implemented by a scripted component). + * Vision range interface */ class ICmpVision : public IComponent { public: virtual entity_pos_t GetRange() = 0; - virtual bool GetRetainInFog() = 0; - - virtual bool GetAlwaysVisible() = 0; - DECLARE_INTERFACE_TYPE(Vision) };