From: <geo...@us...> - 2014-09-06 21:55:47
|
Revision: 7702 http://sourceforge.net/p/freeorion/code/7702 Author: geoffthemedio Date: 2014-09-06 21:55:37 +0000 (Sat, 06 Sep 2014) Log Message: ----------- More stripping out interactive combat stuff. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp branches/SDL_Migration_And_Dependencies_Updates/client/AI/AIClientApp.cpp Removed Paths: ------------- branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.h Modified: branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp 2014-09-06 21:43:44 UTC (rev 7701) +++ branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp 2014-09-06 21:55:37 UTC (rev 7702) @@ -883,21 +883,9 @@ AIClientApp::GetApp()->StartTurn(); // encodes order sets and sends turn orders message. "done" the turn for the client, but "starts" the turn for the server } - void CombatSetup() { - Logger().debugStream() << "AIInterface::CombatSetup()"; - AIClientApp::GetApp()->SendCombatSetup(); - } + void LogOutput(const std::string& log_text) + { Logger().debugStream() << log_text; } - void DoneCombatTurn() { - Logger().debugStream() << "AIInterface::DoneCombatTurn()"; - AIClientApp::GetApp()->StartCombatTurn(); // encodes combat order sets and sends combat turn orders message. "done" the combat turn for the client, but "starts" the combat turn for the server - } - - void LogOutput(const std::string& log_text) { - Logger().debugStream() << log_text; - } - - void ErrorOutput(const std::string& error_text) { - Logger().errorStream() << error_text; - } + void ErrorOutput(const std::string& error_text) + { Logger().errorStream() << error_text; } } // namespace AIInterface Modified: branches/SDL_Migration_And_Dependencies_Updates/client/AI/AIClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/AI/AIClientApp.cpp 2014-09-06 21:43:44 UTC (rev 7701) +++ branches/SDL_Migration_And_Dependencies_Updates/client/AI/AIClientApp.cpp 2014-09-06 21:55:37 UTC (rev 7702) @@ -9,7 +9,6 @@ #include "../../network/Message.h" #include "../util/Random.h" -#include "../../universe/CombatData.h" #include "../../universe/System.h" #include "../../universe/Species.h" #include "../../universe/Universe.h" @@ -259,29 +258,6 @@ case Message::PLAYER_STATUS: break; - case Message::COMBAT_START: { - CombatData combat_data; - std::vector<CombatSetupGroup> setup_groups; - Universe::ShipDesignMap foreign_designs; - ExtractMessageData(msg, combat_data, setup_groups, foreign_designs); - // TODO: Do we need to do anything here, like decide on overall goals - // for this combat, so we don't have to figure such things out each - // turn? - m_AI->GenerateCombatSetupOrders(combat_data); - break; - } - - case Message::COMBAT_TURN_UPDATE: { - CombatData combat_data; - ExtractMessageData(msg, combat_data); - m_AI->GenerateCombatOrders(combat_data); - break; - } - - case Message::COMBAT_END: - // TODO: If we grabbed any other resources on COMBAT_START, release them here. - break; - case Message::END_GAME: { Logger().debugStream() << "Message::END_GAME : Exiting"; Exit(0); Deleted: branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.h 2014-09-06 21:43:44 UTC (rev 7701) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.h 2014-09-06 21:55:37 UTC (rev 7702) @@ -1,11 +0,0 @@ -// -*- C++ -*- -#ifndef _CHMAIN_H -#define _CHMAIN_H - -#include <string> -#include <vector> - -int mainConfigOptionsSetup(const std::vector<std::string>& args); -int mainSetupAndRun(); - -#endif |
From: <geo...@us...> - 2014-09-07 10:00:34
|
Revision: 7703 http://sourceforge.net/p/freeorion/code/7703 Author: geoffthemedio Date: 2014-09-07 10:00:25 +0000 (Sun, 07 Sep 2014) Log Message: ----------- -Wrapped some BuildingType and Species parameters into helper structs to limit the number of parameters needed for parsers due to changed limits in Boost 1.56 / Phoenix 3. -Removed lr/fighter weapon stat parsing for similar reason. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/parse/BuildingsParser.cpp branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp branches/SDL_Migration_And_Dependencies_Updates/parse/SpeciesParser.cpp branches/SDL_Migration_And_Dependencies_Updates/universe/Building.h branches/SDL_Migration_And_Dependencies_Updates/universe/Species.h Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/BuildingsParser.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/BuildingsParser.cpp 2014-09-06 21:55:37 UTC (rev 7702) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/BuildingsParser.cpp 2014-09-07 10:00:25 UTC (rev 7703) @@ -44,8 +44,10 @@ rules() { const parse::lexer& tok = parse::lexer::instance(); - const parse::value_ref_parser_rule<int>::type& int_value_ref = parse::value_ref_parser<int>(); - const parse::value_ref_parser_rule<double>::type& double_value_ref = parse::value_ref_parser<double>(); + const parse::value_ref_parser_rule<int>::type& int_value_ref = + parse::value_ref_parser<int>(); + const parse::value_ref_parser_rule<double>::type& double_value_ref = + parse::value_ref_parser<double>(); qi::_1_type _1; qi::_2_type _2; @@ -57,20 +59,24 @@ qi::_d_type _d; qi::_e_type _e; qi::_f_type _f; - qi::_g_type _g; - qi::_h_type _h; - qi::_i_type _i; qi::_r1_type _r1; qi::_val_type _val; qi::eps_type eps; using phoenix::new_; using phoenix::construct; - building_prefix + building_type_params = tok.BuildingType_ - > parse::label(Name_token) > tok.string [ _a = _1 ] - > parse::label(Description_token) > tok.string - [ _val = construct<std::pair<std::string, std::string> >(_a, _1) ] + > parse::label(Name_token) > tok.string [ _a = _1 ] + > parse::label(Description_token) > tok.string [ _b = _1 ] + > parse::label(BuildCost_token) > double_value_ref [ _c = _1 ] + > parse::label(BuildTime_token) > int_value_ref [ _d = _1 ] + > producible [ _e = _1 ] + > ( + parse::label(CaptureResult_token) >> parse::enum_parser<CaptureResult>() [ _f = _1 ] + | eps [ _f = CR_CAPTURE ] + ) + [ _val = construct<BuildingTypeParams>(_a, _b, _c, _d, _e, _f) ] ; producible @@ -80,32 +86,26 @@ ; building_type - = building_prefix [ _a = _1 ] - > parse::label(BuildCost_token) > double_value_ref [ _b = _1 ] - > parse::label(BuildTime_token) > int_value_ref [ _c = _1 ] - > producible [ _d = _1 ] - > ( - parse::label(CaptureResult_token) >> parse::enum_parser<CaptureResult>() [ _e = _1 ] - | eps [ _e = CR_CAPTURE ] - ) - > parse::detail::tags_parser()(_f) - > -(parse::label(Location_token) >> parse::detail::condition_parser [ _g = _1 ] ) - > -(parse::label(EnqueueLocation_token) >> parse::detail::condition_parser [ _h = _1 ] ) - > -(parse::label(EffectsGroups_token) >> parse::detail::effects_group_parser() [ _i = _1 ] ) - > parse::label(Icon_token) > tok.string - [ insert(_r1, new_<BuildingType>(_a, _b, _c, _d, _e, _f, _g, _h, _i, _1)) ] + = tok.BuildingType_ + > building_type_params [ _1 = _a ] + > parse::detail::tags_parser()(_b) + > -(parse::label(Location_token) >> parse::detail::condition_parser [ _c = _1 ] ) + > -(parse::label(EnqueueLocation_token) >> parse::detail::condition_parser [ _d = _1 ] ) + > -(parse::label(EffectsGroups_token) >> parse::detail::effects_group_parser() [ _e = _1 ] ) + > parse::label(Icon_token) > tok.string + [ insert(_r1, new_<BuildingType>(_a, _b, _c, _d, _e, _1)) ] ; start = +building_type(_r1) ; - building_prefix.name("BuildingType"); + building_type_params.name("BuildingType Params"); producible.name("Producible or Unproducible"); building_type.name("BuildingType"); #if DEBUG_PARSERS - debug(building_prefix); + debug(building_type_params); debug(producible); debug(building_type); #endif @@ -115,10 +115,17 @@ typedef boost::spirit::qi::rule< parse::token_iterator, - std::pair<std::string, std::string> (), - qi::locals<std::string, std::string>, + BuildingTypeParams (), + qi::locals< + std::string, + std::string, + ValueRef::ValueRefBase<double>*, + ValueRef::ValueRefBase<int>*, + bool, + CaptureResult + >, parse::skipper_type - > building_prefix_rule; + > building_type_params_rule; typedef boost::spirit::qi::rule< parse::token_iterator, @@ -130,11 +137,7 @@ parse::token_iterator, void (std::map<std::string, BuildingType*>&), qi::locals< - std::pair<std::string, std::string>, - ValueRef::ValueRefBase<double>*, - ValueRef::ValueRefBase<int>*, - bool, - CaptureResult, + BuildingTypeParams, std::set<std::string>, Condition::ConditionBase*, Condition::ConditionBase*, @@ -149,14 +152,15 @@ parse::skipper_type > start_rule; - building_prefix_rule building_prefix; - producible_rule producible; - building_type_rule building_type; - start_rule start; + building_type_params_rule building_type_params; + producible_rule producible; + building_type_rule building_type; + start_rule start; }; } namespace parse { - bool buildings(const boost::filesystem::path& path, std::map<std::string, BuildingType*>& building_types) + bool buildings(const boost::filesystem::path& path, + std::map<std::string, BuildingType*>& building_types) { return detail::parse_file<rules, std::map<std::string, BuildingType*> >(path, building_types); } } Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp 2014-09-06 21:55:37 UTC (rev 7702) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp 2014-09-07 10:00:25 UTC (rev 7703) @@ -19,121 +19,28 @@ namespace { struct part_stats_parser_rules { part_stats_parser_rules() { - //const parse::lexer& tok = parse::lexer::instance(); - qi::_1_type _1; qi::_2_type _2; qi::_3_type _3; qi::_4_type _4; - qi::_a_type _a; - qi::_b_type _b; - qi::_c_type _c; - qi::_d_type _d; - qi::_e_type _e; - qi::_f_type _f; - qi::_g_type _g; - qi::_h_type _h; - qi::_i_type _i; - qi::_r1_type _r1; - qi::_r2_type _r2; - qi::_r3_type _r3; - qi::_r4_type _r4; - qi::_r5_type _r5; qi::_val_type _val; qi::eps_type eps; using phoenix::construct; - fighter_stats_prefix - = parse::label(Type_token) >> parse::enum_parser<CombatFighterType>() [ _r1 = _1 ] - > parse::label(AntiShipDamage_token) > parse::double_ [ _r2 = _1 ] - > parse::label(AntiFighterDamage_token) > parse::double_ [ _r3 = _1 ] - > parse::label(LaunchRate_token) > parse::double_ [ _r4 = _1 ] - > parse::label(FighterWeaponRange_token) > parse::double_ [ _r5 = _1 ] - ; - - fighter_stats - = fighter_stats_prefix(_a, _b, _c, _d, _e) - > parse::label(Speed_token) >> parse::double_ [ _f = _1 ] - > parse::label(Stealth_token) > parse::double_ [ _g = _1 ] - > parse::label(Structure_token) > parse::double_ [ _h = _1 ] - > parse::label(Detection_token) > parse::double_ [ _i = _1 ] - > parse::label(Capacity_token) > parse::int_ [ _val = construct<FighterStats>(_a, _b, _c, _d, _e, _f, _g, _h, _i, _1) ] - ; - - lr_df_stats_prefix - = parse::label(Damage_token) >> parse::double_ [ _r1 = _1 ] - > parse::label(ROF_token) > parse::double_ [ _r2 = _1 ] - > parse::label(Range_token) > parse::double_ [ _r3 = _1 ] - ; - - lr_df_stats - = lr_df_stats_prefix(_b, _c, _d) - >> ( - parse::label(Speed_token) >> parse::double_ [ _e = _1 ] - > parse::label(Stealth_token) > parse::double_ [ _f = _1 ] - > parse::label(Structure_token) > parse::double_ [ _g = _1 ] - > parse::label(Capacity_token) > parse::int_ [ _val = construct<LRStats>(_b, _c, _d, _e, _f, _g, _1) ] - | eps [ _val = construct<DirectFireStats>(_b, _c, _d) ] - ) - ; - start - = fighter_stats [ _val = _1 ] - | lr_df_stats [ _val = _1 ] - | (parse::label(Capacity_token) >> parse::double_ [ _val = _1 ]) + = (parse::label(Capacity_token) >> parse::double_ [ _val = _1 ]) | eps [ _val = 0.0 ] ; - fighter_stats_prefix.name("fighter stats"); - fighter_stats.name("fighter stats"); - lr_df_stats_prefix.name("LR or DF stats"); - lr_df_stats.name("LR or DF stats"); start.name("Part Stats"); #if DEBUG_PARSERS - debug(fighter_stats_prefix); - debug(fighter_stats); - debug(lr_df_stats_prefix); - debug(lr_df_stats); debug(start); #endif qi::on_error<qi::fail>(start, parse::report_error(_1, _2, _3, _4)); } - typedef boost::spirit::qi::rule< - parse::token_iterator, - void (CombatFighterType&, double&, double&, double&, double&), - parse::skipper_type - > fighter_stats_prefix_rule; - - typedef boost::spirit::qi::rule< - parse::token_iterator, - void (double&, double&, double&), - parse::skipper_type - > lr_df_stats_prefix_rule; - - typedef boost::spirit::qi::rule< - parse::token_iterator, - PartTypeStats (), - qi::locals< - CombatFighterType, - double, - double, - double, - double, - double, - double, - double, - double - >, - parse::skipper_type - > part_stats_rule; - - fighter_stats_prefix_rule fighter_stats_prefix; - part_stats_rule fighter_stats; - lr_df_stats_prefix_rule lr_df_stats_prefix; - part_stats_rule lr_df_stats; parse::detail::part_stats_parser_rule start; }; } Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/SpeciesParser.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/SpeciesParser.cpp 2014-09-06 21:55:37 UTC (rev 7702) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/SpeciesParser.cpp 2014-09-07 10:00:25 UTC (rev 7703) @@ -56,8 +56,6 @@ qi::_e_type _e; qi::_f_type _f; qi::_g_type _g; - qi::_h_type _h; - qi::_i_type _i; qi::_r1_type _r1; qi::_val_type _val; qi::eps_type eps; @@ -71,7 +69,8 @@ > parse::label(Name_token) > tok.string [ _a = _1 ] > parse::label(Description_token) > tok.string [ _b = _1 ] > parse::label(Location_token) > parse::detail::condition_parser [ _c = _1 ] - > parse::label(Graphic_token) > tok.string [ _val = construct<FocusType>(_a, _b, _c, _1) ] + > parse::label(Graphic_token) > tok.string + [ _val = construct<FocusType>(_a, _b, _c, _1) ] ; foci @@ -83,13 +82,14 @@ ; effects - = parse::label(EffectsGroups_token) >> parse::detail::effects_group_parser() [ _r1 = _1 ] + = parse::label(EffectsGroups_token) >> parse::detail::effects_group_parser() + [ _r1 = _1 ] ; environment_map_element = parse::label(Type_token) >> parse::enum_parser<PlanetType>() [ _a = _1 ] > parse::label(Environment_token) > parse::enum_parser<PlanetEnvironment>() - [ _val = construct<std::pair<PlanetType, PlanetEnvironment> >(_a, _1) ] + [ _val = construct<std::pair<PlanetType, PlanetEnvironment> >(_a, _1) ] ; environment_map @@ -98,7 +98,7 @@ ; environments - = parse::label(Environments_token) >> environment_map [ _r1 = _1 ] + = parse::label(Environments_token) >> environment_map [ _r1 = _1 ] ; species_params @@ -109,19 +109,24 @@ [ _val = construct<SpeciesParams>(_a, _b, _d, _c) ] ; + species_strings + = parse::label(Name_token) > tok.string [ _a = _1 ] + > parse::label(Description_token) > tok.string [ _b = _1 ] + > parse::label(Gameplay_Description_token) > tok.string [ _c = _1 ] + [ _val = construct<SpeciesStrings>(_a, _b, _c) ] + ; + species = tok.Species_ - > parse::label(Name_token) > tok.string [ _a = _1 ] - > parse::label(Description_token) > tok.string [ _b = _1 ] - > parse::label(Gameplay_Description_token) > tok.string [ _h = _1 ] - > species_params [ _c = _1] - > parse::detail::tags_parser()(_d) - > -foci(_e) - > -(parse::label(PreferredFocus_token) >> tok.string [ _i = _1 ]) - > -effects(_f) - > -environments(_g) + > species_strings [ _a = _1 ] + > species_params [ _b = _1] + > parse::detail::tags_parser()(_c) + > -foci(_d) + > -(parse::label(PreferredFocus_token) >> tok.string [ _g = _1 ]) + > -effects(_e) + > -environments(_f) > parse::label(Graphic_token) > tok.string - [ insert_species(_r1, new_<Species>(_a, _b, _h, _e, _i, _g, _f, _c, _d, _1)) ] + [ insert_species(_r1, new_<Species>(_a, _d, _g, _f, _e, _b, _c, _1)) ] ; start @@ -135,6 +140,7 @@ environment_map.name("Environments"); environments.name("Environments"); species_params.name("Species Flags"); + species_strings.name("Species Strings"); species.name("Species"); start.name("start"); @@ -146,6 +152,7 @@ debug(environment_map); debug(environments); debug(species_params); + debug(species_strings); debug(species); debug(start); #endif @@ -209,17 +216,26 @@ typedef boost::spirit::qi::rule< parse::token_iterator, - void (std::map<std::string, Species*>&), + SpeciesStrings (), qi::locals< std::string, std::string, + std::string + >, + parse::skipper_type + > species_strings_rule; + + typedef boost::spirit::qi::rule< + parse::token_iterator, + void (std::map<std::string, Species*>&), + qi::locals< + SpeciesStrings, SpeciesParams, - std::set<std::string>, + std::set<std::string>, // tags std::vector<FocusType>, std::vector<boost::shared_ptr<const Effect::EffectsGroup> >, std::map<PlanetType, PlanetEnvironment>, - std::string, - std::string + std::string // graphic >, parse::skipper_type > species_rule; @@ -237,6 +253,7 @@ environment_map_rule environment_map; environments_rule environments; species_params_rule species_params; + species_strings_rule species_strings; species_rule species; start_rule start; }; Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/Building.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/Building.h 2014-09-06 21:55:37 UTC (rev 7702) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/Building.h 2014-09-07 10:00:25 UTC (rev 7703) @@ -82,6 +82,35 @@ void serialize(Archive& ar, const unsigned int version); }; +/** Used by parser to reduce number of parameters when constructing a BuildingType */ +struct BuildingTypeParams { + BuildingTypeParams() : + name(), + desc(), + prod_cost(0), + prod_time(0), + producible(false), + capture_result(CR_DESTROY) + {} + BuildingTypeParams(const std::string& name_, const std::string& desc_, + const ValueRef::ValueRefBase<double>* prod_cost_, + const ValueRef::ValueRefBase<int>* prod_time_, + bool producible_, CaptureResult capture_result_) : + name(name_), + desc(desc_), + prod_cost(prod_cost_), + prod_time(prod_time_), + producible(producible_), + capture_result(capture_result_) + {} + std::string name; + std::string desc; + const ValueRef::ValueRefBase<double>* prod_cost; + const ValueRef::ValueRefBase<int>* prod_time; + bool producible; + CaptureResult capture_result; +}; + /** A specification for a building of a certain type. Each building type must * have a \a unique name string, by which it can be looked up using * GetBuildingType(...). */ @@ -103,22 +132,18 @@ {}; /** basic ctor */ - BuildingType(const std::pair<std::string, std::string>& name_and_description, - const ValueRef::ValueRefBase<double>* production_cost, - const ValueRef::ValueRefBase<int>* production_time, - bool producible, - CaptureResult capture_result, + BuildingType(const BuildingTypeParams& params, const std::set<std::string>& tags, const Condition::ConditionBase* location, const Condition::ConditionBase* enqueue_location, const std::vector<boost::shared_ptr<const Effect::EffectsGroup> >& effects, const std::string& icon) : - m_name(name_and_description.first), - m_description(name_and_description.second), - m_production_cost(production_cost), - m_production_time(production_time), - m_producible(producible), - m_capture_result(capture_result), + m_name(params.name), + m_description(params.desc), + m_production_cost(params.prod_cost), + m_production_time(params.prod_time), + m_producible(params.producible), + m_capture_result(params.capture_result), m_tags(tags), m_location(location), m_enqueue_location(enqueue_location), Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/Species.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/Species.h 2014-09-06 21:55:37 UTC (rev 7702) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/Species.h 2014-09-07 10:00:25 UTC (rev 7703) @@ -77,6 +77,24 @@ bool can_produce_ships; }; +/** Used by parser due to limits on number of sub-items per parsed main item. */ +struct SpeciesStrings { + SpeciesStrings() : + name(), + desc(), + gameplay_desc() + {} + SpeciesStrings(const std::string& name_, const std::string& desc_, + const std::string& gameplay_desc_) : + name(name_), + desc(desc_), + gameplay_desc(gameplay_desc_) + {} + std::string name; + std::string desc; + std::string gameplay_desc; +}; + /** A predefined type of population that can exist on a PopulationCenter. * Species have associated sets of EffectsGroups, and various other * properties that affect how the object on which they reside functions. @@ -86,7 +104,7 @@ public: /** \name Structors */ //@{ /** basic ctor */ - Species(const std::string& name, const std::string& description, const std::string& gameplay_description, + Species(const SpeciesStrings& strings, const std::vector<FocusType>& foci, const std::string& preferred_focus, const std::map<PlanetType, PlanetEnvironment>& planet_environments, @@ -94,9 +112,9 @@ const SpeciesParams& params, const std::set<std::string>& tags, const std::string& graphic) : - m_name(name), - m_description(description), - m_gameplay_description(gameplay_description), + m_name(strings.name), + m_description(strings.desc), + m_gameplay_description(strings.gameplay_desc), m_foci(foci), m_preferred_focus(preferred_focus), m_planet_environments(planet_environments), @@ -111,27 +129,27 @@ //@} /** \name Accessors */ //@{ - const std::string& Name() const { return m_name; } ///< returns the unique name for this type of species - const std::string& Description() const { return m_description; } ///< returns a text description of this type of species - const std::string& GameplayDescription() const { return m_gameplay_description; } ///< returns a text description of this type of species + const std::string& Name() const { return m_name; } ///< returns the unique name for this type of species + const std::string& Description() const { return m_description; } ///< returns a text description of this type of species + const std::string& GameplayDescription() const { return m_gameplay_description; } ///< returns a text description of this type of species const std::set<int>& Homeworlds() const { return m_homeworlds; } ///< returns the ids of objects that are homeworlds for this species const std::map<int, double>& EmpireOpinions() const { return m_empire_opinions; } ///< returns the positive/negative opinions of this species about empires const std::map<std::string, double>& OtherSpeciesOpinions() const{ return m_other_species_opinions; }///< returns the positive/negative opinions of this species about other species - std::string Dump() const; ///< returns a data file format representation of this object - const std::vector<FocusType>& Foci() const { return m_foci; } ///< returns the focus types this species can use - const std::string& PreferredFocus() const { return m_preferred_focus; } ///< returns the name of the planetary focus this species prefers. Default for new colonies and may affect happiness if on a different focus? - const std::map<PlanetType, PlanetEnvironment>& PlanetEnvironments() const { return m_planet_environments; } ///< returns a map from PlanetType to the PlanetEnvironment this Species has on that PlanetType - PlanetEnvironment GetPlanetEnvironment(PlanetType planet_type) const; ///< returns the PlanetEnvironment this species has on PlanetType \a planet_type + std::string Dump() const; ///< returns a data file format representation of this object + const std::vector<FocusType>& Foci() const { return m_foci; } ///< returns the focus types this species can use + const std::string& PreferredFocus() const { return m_preferred_focus; } ///< returns the name of the planetary focus this species prefers. Default for new colonies and may affect happiness if on a different focus? + const std::map<PlanetType, PlanetEnvironment>& PlanetEnvironments() const { return m_planet_environments; } ///< returns a map from PlanetType to the PlanetEnvironment this Species has on that PlanetType + PlanetEnvironment GetPlanetEnvironment(PlanetType planet_type) const; ///< returns the PlanetEnvironment this species has on PlanetType \a planet_type PlanetType NextBetterPlanetType(PlanetType initial_planet_type) const; ///< returns the next better PlanetType for this species from the \a initial_planet_type specified - const std::vector<boost::shared_ptr<const Effect::EffectsGroup> >& Effects() const { return m_effects; }///< returns the EffectsGroups that encapsulate the effects that species of this type have - bool Playable() const { return m_playable; } ///< returns whether this species is a suitable starting species for players - bool Native() const { return m_native; } ///< returns whether this species is a suitable native species (for non player-controlled planets) - bool CanColonize() const { return m_can_colonize; } ///< returns whether this species can colonize planets - bool CanProduceShips() const { return m_can_produce_ships; } ///< returns whether this species can produce ships + const std::vector<boost::shared_ptr<const Effect::EffectsGroup> >& Effects() const { return m_effects; } ///< returns the EffectsGroups that encapsulate the effects that species of this type have + bool Playable() const { return m_playable; } ///< returns whether this species is a suitable starting species for players + bool Native() const { return m_native; } ///< returns whether this species is a suitable native species (for non player-controlled planets) + bool CanColonize() const { return m_can_colonize; } ///< returns whether this species can colonize planets + bool CanProduceShips() const { return m_can_produce_ships; } ///< returns whether this species can produce ships const std::set<std::string>& Tags() const { return m_tags; } - const std::string& Graphic() const { return m_graphic; } ///< returns the name of the grapic file for this species + const std::string& Graphic() const { return m_graphic; } ///< returns the name of the grapic file for this species //@} /** \name Mutators */ //@{ |
From: <geo...@us...> - 2014-09-10 04:52:05
|
Revision: 7712 http://sourceforge.net/p/freeorion/code/7712 Author: geoffthemedio Date: 2014-09-10 04:51:57 +0000 (Wed, 10 Sep 2014) Log Message: ----------- Removed Ogre config files. Removed Paths: ------------- branches/SDL_Migration_And_Dependencies_Updates/OISInput.cfg branches/SDL_Migration_And_Dependencies_Updates/ogre_plugins.cfg.in Deleted: branches/SDL_Migration_And_Dependencies_Updates/OISInput.cfg =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/OISInput.cfg 2014-09-10 04:48:04 UTC (rev 7711) +++ branches/SDL_Migration_And_Dependencies_Updates/OISInput.cfg 2014-09-10 04:51:57 UTC (rev 7712) @@ -1,29 +0,0 @@ -# Defines the settings for the OgreGUI OISInput plugin - -# Define Win32 DirectInput cooperative levels - -# only take keyboard input when window has focus -w32_keyboard=DISCL_FOREGROUND - -# do not take exclusive control of keyboard -w32_keyboard=DISCL_NONEXCLUSIVE - -# only take input when window has focus -w32_mouse=DISCL_FOREGROUND - -# take control of mouse, so cursor can't leave window and windows cursor is not drawn -#w32_mouse=DISCL_EXCLUSIVE - -# do not take eclusive control of mouse; allow mouse to leave window and draw windows cursor -w32_mouse=DISCL_NONEXCLUSIVE - - -# Define X11 settings -x11_mouse_grab=false -x11_mouse_hide=true -x11_keyboard_grab=false -XAutoRepeatOn=true - - -# Define Mac settings -MacAutoRepeatOn=true Deleted: branches/SDL_Migration_And_Dependencies_Updates/ogre_plugins.cfg.in =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/ogre_plugins.cfg.in 2014-09-10 04:48:04 UTC (rev 7711) +++ branches/SDL_Migration_And_Dependencies_Updates/ogre_plugins.cfg.in 2014-09-10 04:51:57 UTC (rev 7712) @@ -1,9 +0,0 @@ -# Ogre 3D engine plugins to load - -# Plugin folder -PluginFolder=${OGRE_PLUGIN_DIR_REL} - -# Plugins -Plugin=RenderSystem_GL -Plugin=Plugin_ParticleFX -Plugin=Plugin_OctreeSceneManager |
From: <ve...@us...> - 2014-09-12 10:14:44
|
Revision: 7719 http://sourceforge.net/p/freeorion/code/7719 Author: vezzra Date: 2014-09-12 10:14:40 +0000 (Fri, 12 Sep 2014) Log Message: ----------- Made use of glew platform independent (removed #ifdef directives which caused it to be only used on Windows) Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/UI/GLClientAndServerBuffer.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/MapWnd.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/ShaderProgram.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/SidePanel.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/GLClientAndServerBuffer.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/GLClientAndServerBuffer.cpp 2014-09-11 20:14:20 UTC (rev 7718) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/GLClientAndServerBuffer.cpp 2014-09-12 10:14:40 UTC (rev 7719) @@ -7,9 +7,7 @@ * */ -#ifdef FREEORION_WIN32 #include <GL/glew.h> -#endif #include "GLClientAndServerBuffer.h" #include "../client/human/HumanClientApp.h" Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/MapWnd.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/MapWnd.cpp 2014-09-11 20:14:20 UTC (rev 7718) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/MapWnd.cpp 2014-09-12 10:14:40 UTC (rev 7719) @@ -1,6 +1,4 @@ -#ifdef FREEORION_WIN32 #include <GL/glew.h> -#endif #include "MapWnd.h" Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/ShaderProgram.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/ShaderProgram.cpp 2014-09-11 20:14:20 UTC (rev 7718) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/ShaderProgram.cpp 2014-09-12 10:14:40 UTC (rev 7719) @@ -1,6 +1,4 @@ -#ifdef FREEORION_WIN32 #include <GL/glew.h> -#endif #include "ShaderProgram.h" Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/SidePanel.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/SidePanel.cpp 2014-09-11 20:14:20 UTC (rev 7718) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/SidePanel.cpp 2014-09-12 10:14:40 UTC (rev 7719) @@ -1,6 +1,4 @@ -#ifdef FREEORION_WIN32 #include <GL/glew.h> -#endif #include "SidePanel.h" Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-11 20:14:20 UTC (rev 7718) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-12 10:14:40 UTC (rev 7719) @@ -1,6 +1,4 @@ -#ifdef FREEORION_WIN32 #include <GL/glew.h> -#endif #ifdef HAVE_CONFIG_H # include <config.h> @@ -217,10 +215,8 @@ */ -#ifdef FREEORION_WIN32 GLenum error = glewInit(); assert(error == GLEW_OK); -#endif SetStringtableDependentOptionDefaults(); SetGLVersionDependentOptionDefaults(); |
From: <geo...@us...> - 2014-09-20 18:29:59
|
Revision: 7725 http://sourceforge.net/p/freeorion/code/7725 Author: geoffthemedio Date: 2014-09-20 18:29:55 +0000 (Sat, 20 Sep 2014) Log Message: ----------- Slightly tweaked patch by Mitten.O adjusting / fixing window positioning by default and from config.xml. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-09-20 18:29:55 UTC (rev 7725) @@ -354,6 +354,9 @@ /** Emitted whenever the GUI's AppWidth() and/or AppHeight() change. */ boost::signals2::signal<void (X, Y)> WindowResizedSignal; + /** Emitted whenever the GUI's window's left and top positions change. */ + boost::signals2::signal<void (X, Y)> WindowMovedSignal; + /** Emitted when the Window in which the GUI is operating gains or loses focus. */ boost::signals2::signal<void ()> FocusChangedSignal; Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h 2014-09-20 18:29:55 UTC (rev 7725) @@ -153,9 +153,6 @@ keyboard, mouse, etc. */ boost::signals2::signal<void ()> HandleSystemEventsSignal; - /** Emitted whenever the OgreGUI's window's left and top positions change. */ - boost::signals2::signal<void (X, Y)> WindowMovedSignal; - /** Emitted when the Ogre::RenderWindow in which the OgreGUI is operating is about to close. */ boost::signals2::signal<void ()> WindowClosingSignal; Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -648,7 +648,7 @@ // Use the same code for the real size initialization that is used for resizing the window // to avoid duplicated effort. m_window = SDL_CreateWindow(AppName().c_str(), Value(m_initial_x), Value(m_initial_y), - 100, 100, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + Value(m_app_width), Value(m_app_height), SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); if (m_window == 0) { std::cerr << "Video mode set failed: " << SDL_GetError(); @@ -657,6 +657,12 @@ m_gl_context = SDL_GL_CreateContext(m_window); m_glext.reset(new OpenGLExtensions(m_gl_context)); + GLenum error = glewInit(); + if(error != GLEW_OK){ + std::cerr << "Glew initialization failed: " << error << " = " << glewGetErrorString(error); + Exit(1); + } + SDL_ShowCursor(false); ResetFramebuffer(); @@ -769,6 +775,9 @@ case SDL_WINDOWEVENT_FOCUS_LOST: FocusChangedSignal(); break; + case SDL_WINDOWEVENT_MOVED: + WindowMovedSignal ( X(event.window.data1), Y(event.window.data2) ); + break; } break; } Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -426,13 +426,6 @@ // command-line options void AddOptions(OptionsDB& db) { - db.Add("app-width", UserStringNop("OPTIONS_DB_APP_WIDTH"), 1024, RangedValidator<int>(800, 2560)); - db.Add("app-height", UserStringNop("OPTIONS_DB_APP_HEIGHT"), 768, RangedValidator<int>(600, 1600)); - db.Add("app-width-windowed", UserStringNop("OPTIONS_DB_APP_WIDTH_WINDOWED"), 1024, RangedValidator<int>(800, 2560)); - db.Add("app-height-windowed", UserStringNop("OPTIONS_DB_APP_HEIGHT_WINDOWED"), 768, RangedValidator<int>(600, 1600)); - db.Add("app-left-windowed", UserStringNop("OPTIONS_DB_APP_LEFT_WINDOWED"), 0, RangedValidator<int>(-10240, 10240)); - db.Add("app-top-windowed", UserStringNop("OPTIONS_DB_APP_TOP_WINDOWED"), 0, RangedValidator<int>(-10240, 10240)); - db.Add('c', "color-depth", UserStringNop("OPTIONS_DB_COLOR_DEPTH"), 32, RangedStepValidator<int>(8, 16, 32)); db.Add("show-fps", UserStringNop("OPTIONS_DB_SHOW_FPS"), false); db.Add("limit-fps", UserStringNop("OPTIONS_DB_LIMIT_FPS"), true); Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -95,6 +95,13 @@ db.Add("UI.keypress-repeat-interval", UserStringNop("OPTIONS_DB_KEYPRESS_REPEAT_INTERVAL"), 20, RangedValidator<int>(0, 1000)); db.Add("UI.mouse-click-repeat-delay", UserStringNop("OPTIONS_DB_MOUSE_REPEAT_DELAY"), 360, RangedValidator<int>(0, 1000)); db.Add("UI.mouse-click-repeat-interval",UserStringNop("OPTIONS_DB_MOUSE_REPEAT_INTERVAL"), 15, RangedValidator<int>(0, 1000)); + + db.Add("app-width", UserStringNop("OPTIONS_DB_APP_WIDTH"), 1024, RangedValidator<int>(800, 2560)); + db.Add("app-height", UserStringNop("OPTIONS_DB_APP_HEIGHT"), 768, RangedValidator<int>(600, 1600)); + db.Add("app-width-windowed", UserStringNop("OPTIONS_DB_APP_WIDTH_WINDOWED"), 1024, RangedValidator<int>(800, 2560)); + db.Add("app-height-windowed", UserStringNop("OPTIONS_DB_APP_HEIGHT_WINDOWED"), 768, RangedValidator<int>(600, 1600)); + db.Add("app-left-windowed", UserStringNop("OPTIONS_DB_APP_LEFT_WINDOWED"), SDL_WINDOWPOS_CENTERED, RangedValidator<int>(-10240, 10240)); + db.Add("app-top-windowed", UserStringNop("OPTIONS_DB_APP_TOP_WINDOWED"), 50, RangedValidator<int>(-10240, 10240)); } bool temp_bool = RegisterOptions(&AddOptions); @@ -208,16 +215,12 @@ GG::Connect(WindowResizedSignal, &HumanClientApp::HandleWindowResize, this); GG::Connect(FocusChangedSignal, &HumanClientApp::HandleFocusChange, this); - /* TODO: Figure out how to get these signals with SDL GG::Connect(WindowMovedSignal, &HumanClientApp::HandleWindowMove, this); + /* TODO: Wire these signals if theyare needed GG::Connect(WindowClosingSignal, &HumanClientApp::HandleWindowClosing, this); GG::Connect(WindowClosedSignal, &HumanClientApp::HandleWindowClose, this); */ - - GLenum error = glewInit(); - assert(error == GLEW_OK); - SetStringtableDependentOptionDefaults(); SetGLVersionDependentOptionDefaults(); @@ -756,14 +759,9 @@ void HumanClientApp::HandleWindowMove(GG::X w, GG::Y h) { //Logger().debugStream() << "HumanClientApp::HandleWindowMove(" << Value(w) << ", " << Value(h) << ")"; - // for some reason on Linux, the value passed here is incorrect, so needs - // to be ignored... (Or at least this was the case with Ogre, and might not - // be anymore... -#ifndef FREEORION_LINUX GetOptionsDB().Set<int>("app-left-windowed", Value(w)); GetOptionsDB().Set<int>("app-top-windowed", Value(h)); GetOptionsDB().Commit(); -#endif } void HumanClientApp::HandleWindowResize(GG::X w, GG::Y h) { Modified: branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj 2014-09-20 18:29:55 UTC (rev 7725) @@ -76,7 +76,7 @@ <OptimizeReferences>true</OptimizeReferences> <OutputFile>../../GiGiSDL.dll</OutputFile> <AdditionalLibraryDirectories>../../../lib/;../../../Boost/lib/;../../</AdditionalLibraryDirectories> - <AdditionalDependencies>GiGi.lib;opengl32.lib;SDL2.lib;glu32.lib</AdditionalDependencies> + <AdditionalDependencies>GiGi.lib;opengl32.lib;SDL2.lib;glu32.lib;glew32.lib</AdditionalDependencies> <IgnoreSpecificDefaultLibraries>LIBCMT</IgnoreSpecificDefaultLibraries> <SubSystem>Console</SubSystem> <LinkStatus> |
From: <geo...@us...> - 2014-09-28 20:44:49
|
Revision: 7731 http://sourceforge.net/p/freeorion/code/7731 Author: geoffthemedio Date: 2014-09-28 20:44:46 +0000 (Sun, 28 Sep 2014) Log Message: ----------- Patch by Mitten.O for GLEW usage. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h 2014-09-27 08:12:47 UTC (rev 7730) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h 2014-09-28 20:44:46 UTC (rev 7731) @@ -48,7 +48,6 @@ namespace GG { class Framebuffer; -class OpenGLExtensions; /** \brief This is an abstract singleton class that represents the GUI framework of an SDL OpenGL application. @@ -154,7 +153,6 @@ SDL_GLContext m_gl_context; //< The OpenGL context bool m_done; //< Set true true when we should exit. boost::scoped_ptr<Framebuffer> m_framebuffer; //< virtual screen for fake fullscreen. Null if m_fake_mode_change == false - boost::scoped_ptr<OpenGLExtensions> m_glext; //< a class that manages loading of opengl extensions std::map<SDL_Keycode, Key> m_key_map; //< a mapping from sdl keycodes to GiGi keys }; Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-27 08:12:47 UTC (rev 7730) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-28 20:44:46 UTC (rev 7731) @@ -369,69 +369,36 @@ int exit_code; }; -} -namespace GG { - // We collect functions that are opengl extensions and therefore may need to be loaded - // and/or not present on all systems, here - class OpenGLExtensions { + class FramebufferFailedException : public std::exception{ public: - // We take an opengl context as a parameter to ensure that it exists. - // It may be wise to add a MakeCurrent here, but we only ever use one, - // so that shouldn't be necessary. - OpenGLExtensions(SDL_GLContext& context): m_context(context){ - loadExtensions(); - } + FramebufferFailedException(GLenum status): + m_status(status) {} - PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers; - PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer; - PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers; - PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage; - - PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers; - PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer; - PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers; - PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus; - PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D; - PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer; - - bool FramebuffersAvailable() const{ - return m_have_framebuffer; + virtual const char * what(){ + switch (m_status) { + case GL_FRAMEBUFFER_UNSUPPORTED: + return "The requested framebuffer format was unsupported"; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: + return "One of the framebuffer attachments is incomplete."; + default: + std::stringstream ss; + ss << "Framebuffer creation failed. Status: " << m_status; + return ss.str().c_str(); + } } private: - void checkExtensions(){ - SDL_bool framebuffer = SDL_GL_ExtensionSupported("GL_EXT_framebuffer_object"); - // To fully render on a framebuffer, we need it to support - // the stencil format we use. NB. We may be able to use some other format to avoid this. - SDL_bool with_stencil = SDL_GL_ExtensionSupported("GL_EXT_packed_depth_stencil"); - m_have_framebuffer = framebuffer && with_stencil; - } - - void loadExtensions(){ - checkExtensions(); - - if(m_have_framebuffer) { - glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)SDL_GL_GetProcAddress("glGenRenderbuffersEXT"); - glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)SDL_GL_GetProcAddress("glBindRenderbufferEXT"); - glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) SDL_GL_GetProcAddress("glDeleteRenderbuffersEXT"); - glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) SDL_GL_GetProcAddress("glRenderbufferStorageEXT"); - - glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) SDL_GL_GetProcAddress("glGenFramebuffersEXT"); - glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) SDL_GL_GetProcAddress("glBindFramebufferEXT"); - glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) SDL_GL_GetProcAddress("glDeleteFramebuffersEXT"); - glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) SDL_GL_GetProcAddress("glCheckFramebufferStatusEXT"); - glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) SDL_GL_GetProcAddress("glFramebufferTexture2DEXT"); - glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) SDL_GL_GetProcAddress("glFramebufferRenderbufferEXT"); - } - } - SDL_GLContext& m_context; - bool m_have_framebuffer; + GLenum m_status; }; +} +namespace GG { class Framebuffer{ public: - Framebuffer(GG::Pt size, OpenGLExtensions& extensions): - m_id(0), m_texture(0), m_depth_rbo(0), m_glext(extensions) + /// Construct a framebuffer of dimensions \a size. + /// \throws FramebufferFailedException if using framebuffers is not going to work. + Framebuffer(GG::Pt size): + m_id(0), m_texture(0), m_depth_rbo(0) { int width = Value(size.x); int height = Value(size.y); @@ -449,43 +416,43 @@ glBindTexture(GL_TEXTURE_2D, 0); // create a renderbuffer object to store depth and stencil info - m_glext.glGenRenderbuffers(1, &m_depth_rbo); - m_glext.glBindRenderbuffer(GL_RENDERBUFFER_EXT, m_depth_rbo); - m_glext.glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT, width, height); - m_glext.glBindRenderbuffer(GL_RENDERBUFFER_EXT, 0); + glGenRenderbuffersEXT(1, &m_depth_rbo); + glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, m_depth_rbo); + glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT, width, height); + glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0); - m_glext.glGenFramebuffers(1, &m_id); - m_glext.glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_id); + glGenFramebuffersEXT(1, &m_id); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_id); // attach the texture to FBO color attachment point - m_glext.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, // 1. fbo target: GL_FRAMEBUFFER - GL_COLOR_ATTACHMENT0_EXT, // 2. attachment point - GL_TEXTURE_2D, // 3. tex target: GL_TEXTURE_2D - m_texture, // 4. tex ID - 0); // 5. mipmap level: 0(base) + glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, // 1. fbo target: GL_FRAMEBUFFER + GL_COLOR_ATTACHMENT0_EXT, // 2. attachment point + GL_TEXTURE_2D, // 3. tex target: GL_TEXTURE_2D + m_texture, // 4. tex ID + 0); // 5. mipmap level: 0(base) // attach the renderbuffer to depth attachment point - m_glext.glFramebufferRenderbuffer (GL_FRAMEBUFFER_EXT, // 1. fbo target: GL_FRAMEBUFFER - GL_DEPTH_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, // 3. rbo target: GL_RENDERBUFFER - m_depth_rbo); // 4. rbo ID + glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, // 1. fbo target: GL_FRAMEBUFFER + GL_DEPTH_ATTACHMENT_EXT, + GL_RENDERBUFFER_EXT, // 3. rbo target: GL_RENDERBUFFER + m_depth_rbo); // 4. rbo ID // the same render buffer has the stencil data in other bits - m_glext.glFramebufferRenderbuffer(GL_FRAMEBUFFER_EXT, - GL_STENCIL_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, - m_depth_rbo); + glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, + GL_STENCIL_ATTACHMENT_EXT, + GL_RENDERBUFFER_EXT, + m_depth_rbo); // check FBO status - GLenum status = m_glext.glCheckFramebufferStatus (GL_FRAMEBUFFER_EXT); + GLenum status = glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT); if (status != GL_FRAMEBUFFER_COMPLETE_EXT) { - throw std::runtime_error ("Failed to create framebuffer"); - } - - // switch back to window-system-provided framebuffer - m_glext.glBindFramebuffer (GL_FRAMEBUFFER_EXT, 0); + throw FramebufferFailedException (status); } + // switch back to window-system-provided framebuffer + glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, 0); + } + GLuint OpenGLId(){ return m_id; } @@ -495,15 +462,14 @@ } ~Framebuffer(){ - m_glext.glDeleteFramebuffers(1, &m_id); - m_glext.glDeleteRenderbuffers(1, &m_depth_rbo); + glDeleteFramebuffersEXT(1, &m_id); + glDeleteRenderbuffersEXT(1, &m_depth_rbo); glDeleteTextures(1, &m_texture); } private: GLuint m_id; GLuint m_texture; GLuint m_depth_rbo; - OpenGLExtensions& m_glext; }; } @@ -522,7 +488,6 @@ m_window(NULL), m_done(false), m_framebuffer(NULL), - m_glext(NULL), m_key_map() { SDLInit(); @@ -560,7 +525,8 @@ void SDLGUI::SetVideoMode (X width, Y height, bool fullscreen, bool fake_mode_change) { m_fullscreen = fullscreen; - m_fake_mode_change = fake_mode_change && m_glext->FramebuffersAvailable(); + // Only allow fake mode change if the necessary extensions are supported + m_fake_mode_change = fake_mode_change && FramebuffersAvailable(); m_app_width = width; m_app_height = height; if (fullscreen) { @@ -655,7 +621,6 @@ Exit(1); } m_gl_context = SDL_GL_CreateContext(m_window); - m_glext.reset(new OpenGLExtensions(m_gl_context)); GLenum error = glewInit(); if(error != GLEW_OK){ @@ -801,7 +766,7 @@ void SDLGUI::RenderBegin() { if(m_fake_mode_change && m_fullscreen) { - m_glext->glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_framebuffer->OpenGLId()); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_framebuffer->OpenGLId()); } glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } @@ -810,7 +775,7 @@ { if(m_fake_mode_change && m_fullscreen) { // Return to rendering on the real screen - m_glext->glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); // Clear the real screen glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); int width, height; @@ -913,7 +878,12 @@ void SDLGUI::ResetFramebuffer() { m_framebuffer.reset(NULL); if (m_fake_mode_change && m_fullscreen) { - m_framebuffer.reset(new Framebuffer(Pt(m_app_width, m_app_height), *m_glext)); + try { + m_framebuffer.reset(new Framebuffer(Pt(m_app_width, m_app_height))); + } catch (FramebufferFailedException ex) { + std::cerr << "Fake resolution change failed. Reason: \"" << ex.what() << "\". Reverting to real resolution change."; + m_fake_mode_change = false; + } } } @@ -932,5 +902,5 @@ } bool SDLGUI::FramebuffersAvailable() const { - return m_glext->FramebuffersAvailable(); + return GLEW_EXT_framebuffer_object && GLEW_EXT_packed_depth_stencil; } Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2014-09-27 08:12:47 UTC (rev 7730) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2014-09-28 20:44:46 UTC (rev 7731) @@ -6,6 +6,7 @@ message("-- Configuring freeorion") find_package(OpenGL REQUIRED) +find_package(GLEW REQUIRED) if (NOT OPENGL_GLU_FOUND) message(FATAL_ERROR "OpenGL GLU library not found.") @@ -27,6 +28,7 @@ include_directories( ${OPENGL_INCLUDE_DIR} + ${GLEW_INCLUDE_DIRS} ${OPENAL_INCLUDE_DIR} ${OGRE_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} @@ -41,7 +43,7 @@ include_directories(${GLEW_INCLUDE_DIRS}) endif() -add_definitions(-DFREEORION_BUILD_HUMAN -DGL_GLEXT_PROTOTYPES) +add_definitions(-DFREEORION_BUILD_HUMAN) link_directories(${BULLET_LIB_DIR}) @@ -169,6 +171,7 @@ GiGiSDL ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} + ${GLEW_LIBRARIES} ${OPENAL_LIBRARY} ${Boost_LIBRARIES} ${OGRE_LIBRARIES} @@ -182,10 +185,6 @@ if (WIN32) link_directories(${BOOST_LIBRARYDIR}) - list(APPEND - freeorion_LINK_LIBS - ${GLEW_LIBRARIES} - ) list(APPEND freeorion_SOURCES ${CMAKE_BINARY_DIR}/win32_resources.rc) endif () Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp 2014-09-27 08:12:47 UTC (rev 7730) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp 2014-09-28 20:44:46 UTC (rev 7731) @@ -26,12 +26,16 @@ // appropriate. #ifdef FREEORION_WIN32 const bool STORE_FULLSCREEN_FLAG = false; +// Windows keeps good care of the resolution state itself, +// so there is no reason to default to not touching it. +const bool FAKE_MODE_CHANGE_FLAG = false; #else const bool STORE_FULLSCREEN_FLAG = true; +// The X window system does not always work +// well with resolution changes, so we avoid them +// by default +const bool FAKE_MODE_CHANGE_FLAG = true; #endif -// We may want to set the default of this on a per-platform basis, -// defepnding on the merits and disadvantages of faking fullscreen on each platform. -const bool FAKE_MODE_CHANGE_FLAG = true; int mainSetupAndRun(); int mainConfigOptionsSetup(const std::vector<std::string>& args); |
From: <geo...@us...> - 2014-10-09 20:56:45
|
Revision: 7741 http://sourceforge.net/p/freeorion/code/7741 Author: geoffthemedio Date: 2014-10-09 20:56:41 +0000 (Thu, 09 Oct 2014) Log Message: ----------- Patch by Mitten.O fixing / improving various SDL issues, particularly relating to fullscreen modes. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-10-09 20:56:41 UTC (rev 7741) @@ -378,6 +378,9 @@ */ virtual std::vector<std::string> GetSupportedResolutions() const = 0; + /** Returns the default resolution of the display */ + virtual Pt GetDefaultResolution(int display_id) = 0; + protected: /** \name Structors */ ///@{ GUI(const std::string& app_name); ///< protected ctor, called by derived classes Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/SDL/SDLGUI.h 2014-10-09 20:56:41 UTC (rev 7741) @@ -116,7 +116,10 @@ // \override virtual std::vector<std::string> GetSupportedResolutions() const; - bool FramebuffersAvailable() const; + // \override + virtual Pt GetDefaultResolution (int display_id); + static Pt GetDefaultResolutionStatic(int display_id); + virtual bool FramebuffersAvailable() const; protected: void SetAppSize(const GG::Pt& size); Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-10-09 20:56:41 UTC (rev 7741) @@ -318,7 +318,7 @@ // keys[SDLK_SLEEP] = GGK_SLEEP; } - void SetSDLFullscreenSize(SDL_Window* window, int display_id, int width, int height) { + Pt SetSDLFullscreenSize(SDL_Window* window, int display_id, int width, int height) { SDL_DisplayMode target; target.w = width; target.h = height; @@ -328,6 +328,7 @@ SDL_DisplayMode closest; SDL_GetClosestDisplayMode(display_id, &target, &closest); SDL_SetWindowDisplayMode(window, &closest); + return Pt(X(closest.w), Y(closest.h)); } void Enter2DModeImpl(int width, int height) { @@ -529,14 +530,15 @@ m_fake_mode_change = fake_mode_change && FramebuffersAvailable(); m_app_width = width; m_app_height = height; + SDL_SetWindowFullscreen(m_window, 0); if (fullscreen) { if (!m_fake_mode_change) { - SetSDLFullscreenSize(m_window, m_display_id, Value(width), Value(height)); + Pt resulting_size = SetSDLFullscreenSize(m_window, m_display_id, Value(width), Value(height)); + m_app_width = resulting_size.x; + m_app_height = resulting_size.y; } SDL_SetWindowFullscreen(m_window, m_fake_mode_change?SDL_WINDOW_FULLSCREEN_DESKTOP:SDL_WINDOW_FULLSCREEN); - SDL_SetWindowSize(m_window, Value(width), Value(height)); } else { - SDL_SetWindowFullscreen(m_window, 0); SDL_SetWindowSize(m_window, Value(width), Value(height)); SDL_RestoreWindow(m_window); } @@ -601,11 +603,6 @@ { InitializeKeyMap(m_key_map); - if (SDL_Init(SDL_INIT_VIDEO) < 0) { - std::cerr << "SDL initialization failed: " << SDL_GetError(); - Exit(1); - } - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); @@ -862,6 +859,27 @@ return mode_vec; } +Pt SDLGUI::GetDefaultResolution (int display_id) { + return GetDefaultResolutionStatic(display_id); +} + +Pt SDLGUI::GetDefaultResolutionStatic (int display_id) { + + // Must initialize sdl here to be able to query the default screen resolution + if (!SDL_WasInit(SDL_INIT_VIDEO)) { + if(SDL_Init(SDL_INIT_VIDEO) < 0) { + std::cerr << "SDL initialization failed: " << SDL_GetError(); + throw std::runtime_error("Failed to initialize SDL"); + } + } + + SDL_DisplayMode mode; + SDL_GetDesktopDisplayMode(display_id, &mode); + Pt resolution(X(mode.w), Y(mode.h)); + return resolution; +} + + void SDLGUI::RelayTextInput (const SDL_TextInputEvent& text, GG::Pt mouse_pos) { const char *current = text.text; const char *last = current; Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-10-09 20:56:41 UTC (rev 7741) @@ -426,7 +426,7 @@ // command-line options void AddOptions(OptionsDB& db) { - db.Add('c', "color-depth", UserStringNop("OPTIONS_DB_COLOR_DEPTH"), 32, RangedStepValidator<int>(8, 16, 32)); + db.Add('c', "color-depth", UserStringNop("OPTIONS_DB_COLOR_DEPTH"), 24, RangedStepValidator<int>(8, 16, 32)); db.Add("show-fps", UserStringNop("OPTIONS_DB_SHOW_FPS"), false); db.Add("limit-fps", UserStringNop("OPTIONS_DB_LIMIT_FPS"), true); db.Add("max-fps", UserStringNop("OPTIONS_DB_MAX_FPS"), 60.0, RangedStepValidator<double>(1.0, 10.0, 200.0)); Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-10-09 20:56:41 UTC (rev 7741) @@ -676,17 +676,19 @@ } GetOptionsDB().Set<bool>("reset-fullscreen-size", false); - - return std::make_pair(width, height); + GG::Pt default_resolution = GetDefaultResolutionStatic(GetOptionsDB().Get<int>("fullscreen-monitor-id")); + GetOptionsDB().Set("app-width", Value(default_resolution.x)); + GetOptionsDB().Set("app-height", Value(default_resolution.y)); + GetOptionsDB().Commit(); + return std::make_pair(Value(default_resolution.x), Value(default_resolution.y)); } void HumanClientApp::Reinitialize() { bool fullscreen = GetOptionsDB().Get<bool>("fullscreen"); bool fake_mode_change = GetOptionsDB().Get<bool>("fake-mode-change"); std::pair<int, int> size = GetWindowWidthHeight(); - - SetVideoMode(GG::X(size.first), GG::Y(size.second), fullscreen, fake_mode_change); - HandleWindowResize(GG::X(size.first), GG::Y(size.second)); + SetVideoMode (GG::X (size.first), GG::Y (size.second), fullscreen, fake_mode_change); + HandleWindowResize (GG::X (size.first), GG::Y (size.second)); } float HumanClientApp::GLVersion() const @@ -759,9 +761,11 @@ void HumanClientApp::HandleWindowMove(GG::X w, GG::Y h) { //Logger().debugStream() << "HumanClientApp::HandleWindowMove(" << Value(w) << ", " << Value(h) << ")"; - GetOptionsDB().Set<int>("app-left-windowed", Value(w)); - GetOptionsDB().Set<int>("app-top-windowed", Value(h)); - GetOptionsDB().Commit(); + if(!Fullscreen()) { + GetOptionsDB().Set<int> ("app-left-windowed", Value (w)); + GetOptionsDB().Set<int> ("app-top-windowed", Value (h)); + GetOptionsDB().Commit(); + } } void HumanClientApp::HandleWindowResize(GG::X w, GG::Y h) { Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/chmain.cpp 2014-10-09 20:56:41 UTC (rev 7741) @@ -210,6 +210,7 @@ int colour_depth = GetOptionsDB().Get<int>("color-depth"); bool fullscreen = GetOptionsDB().Get<bool>("fullscreen"); bool fake_mode_change = GetOptionsDB().Get<bool>("fake-mode-change"); + std::pair<int, int> width_height = HumanClientApp::GetWindowWidthHeight(); int width(width_height.first), height(width_height.second); std::pair<int, int> left_top = HumanClientApp::GetWindowLeftTop(); Modified: branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt 2014-10-09 18:04:27 UTC (rev 7740) +++ branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt 2014-10-09 20:56:41 UTC (rev 7741) @@ -821,7 +821,7 @@ OPTIONS_DB_FAKE_MODE_CHANGE '''Do not really change the resolution of the screen. Render the game to an offscreen buffer of the desired resolution and scale that buffer to fill the screen instead. -Avoids the issues with real screen mode changes, which are especially common on linux.''' +Avoids certain issues with real screen mode changes, which are known to appear on linux.''' OPTIONS_DB_FULLSCREEN_MONITOR_ID Select which monitor to use in fullscreen mode. Primary monitor should be index 0. May require a restart to take effect. @@ -1794,7 +1794,7 @@ Full-Screen Video Mode OPTIONS_VIDEO_MODE_LIST_DESCRIPTION -Sets bits per pixel and full-screen resolution. +Sets bits per pixel and full-screen resolution. Clicking Apply may cause this to take effect, or may require a restart. OPTIONS_VIDEO_MODE_WINDOWED Windowed Video Mode |
From: <geo...@us...> - 2014-10-14 16:24:36
|
Revision: 7743 http://sourceforge.net/p/freeorion/code/7743 Author: geoffthemedio Date: 2014-10-14 16:24:28 +0000 (Tue, 14 Oct 2014) Log Message: ----------- CMake patch by Mitten.O. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt Removed Paths: ------------- branches/SDL_Migration_And_Dependencies_Updates/util/SerializePathingEngine.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt 2014-10-12 23:17:36 UTC (rev 7742) +++ branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt 2014-10-14 16:24:28 UTC (rev 7743) @@ -125,20 +125,10 @@ endif () set (freeorioncommon_HEADER - combat/AsteroidBeltObstacle.h - combat/CombatEventListener.h combat/CombatEvent.h combat/CombatEvents.h - combat/CombatFighter.h combat/CombatLogManager.h - combat/CombatObject.h - combat/CombatOrder.h - combat/CombatShip.h combat/CombatSystem.h - combat/Missile.h - combat/PathingEngineFwd.h - combat/PathingEngine.h - combat/ProximityDatabase.h Empire/Diplomacy.h Empire/Empire.h Empire/EmpireManager.h @@ -149,7 +139,6 @@ python/PythonSetWrapper.h python/PythonWrappers.h universe/Building.h - universe/CombatData.h universe/Condition.h universe/EffectAccounting.h universe/Effect.h @@ -202,16 +191,9 @@ ) set (freeorioncommon_SOURCE - combat/AsteroidBeltObstacle.cpp combat/CombatEvent.cpp combat/CombatEvents.cpp - combat/CombatFighter.cpp combat/CombatLogManager.cpp - combat/CombatObject.cpp - combat/CombatOrder.cpp - combat/CombatShip.cpp - combat/Missile.cpp - combat/PathingEngine.cpp Empire/Diplomacy.cpp Empire/Empire.cpp Empire/EmpireManager.cpp @@ -219,12 +201,7 @@ network/Message.cpp network/MessageQueue.cpp network/Networking.cpp - OpenSteer/src/Obstacle.cpp - OpenSteer/src/SimpleVehicle.cpp - OpenSteer/src/Vec3.cpp - OpenSteer/src/Vec3Utilities.cpp universe/Building.cpp - universe/CombatData.cpp universe/Condition.cpp universe/EffectAccounting.cpp universe/Effect.cpp @@ -266,7 +243,6 @@ util/SerializeModeratorAction.cpp util/SerializeMultiplayerCommon.cpp util/SerializeOrderSet.cpp - util/SerializePathingEngine.cpp util/SerializeUniverse.cpp util/SitRepEntry.cpp util/StringTable.cpp @@ -319,7 +295,6 @@ # Recurse Into Sources # ######################################## add_subdirectory(log4cpp) -add_subdirectory(PagedGeometry) add_subdirectory(parse) add_subdirectory(server) add_subdirectory(client/AI) @@ -671,7 +646,6 @@ "\\\\.gz$" "\\\\.lib$" "/Makefile$" - "/ogre_plugins.cfg$" "\\\\.pc$" "\\\\.pdb$" "\\\\.pyc$" Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2014-10-12 23:17:36 UTC (rev 7742) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2014-10-14 16:24:28 UTC (rev 7743) @@ -61,11 +61,6 @@ ../../UI/BuildDesignatorWnd.h ../../UI/ChatWnd.h ../../UI/ClientUI.h - ../../UI/CollisionMeshConverter.h - ../../UI/CombatCamera.h - ../../UI/CombatSetupWnd.h - ../../UI/CombatWndFwd.h - ../../UI/CombatWnd.h ../../UI/CUIControls.h ../../UI/CUIDrawUtil.h ../../UI/CUISlider.h @@ -75,7 +70,6 @@ ../../UI/DesignWnd.h ../../UI/EncyclopediaDetailPanel.h ../../UI/Encyclopedia.h - ../../UI/EntityRenderer.h ../../UI/FieldIcon.h ../../UI/FleetButton.h ../../UI/FleetWnd.h @@ -120,17 +114,12 @@ ../../UI/BuildDesignatorWnd.cpp ../../UI/ChatWnd.cpp ../../UI/ClientUI.cpp - ../../UI/CollisionMeshConverter.cpp - ../../UI/CombatCamera.cpp - ../../UI/CombatSetupWnd.cpp - ../../UI/CombatWnd.cpp ../../UI/CUIControls.cpp ../../UI/CUIDrawUtil.cpp ../../UI/CUIStyle.cpp ../../UI/CUIWnd.cpp ../../UI/DesignWnd.cpp ../../UI/EncyclopediaDetailPanel.cpp - ../../UI/EntityRenderer.cpp ../../UI/FieldIcon.cpp ../../UI/FleetButton.cpp ../../UI/FleetWnd.cpp @@ -166,7 +155,6 @@ set(freeorion_LINK_LIBS freeorioncommon freeorionparse - pagedgeometry GiGi GiGiSDL ${OPENGL_gl_LIBRARY} @@ -197,11 +185,6 @@ ${freeorion_LINK_LIBS} ) -configure_file( - ${CMAKE_SOURCE_DIR}/ogre_plugins.cfg.in - ${CMAKE_BINARY_DIR}/ogre_plugins.cfg -) - install( TARGETS freeorion RUNTIME DESTINATION bin @@ -210,7 +193,6 @@ install( FILES - ${CMAKE_BINARY_DIR}/ogre_plugins.cfg DESTINATION share/freeorion COMPONENT COMPONENT_FREEORION ) Deleted: branches/SDL_Migration_And_Dependencies_Updates/util/SerializePathingEngine.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/util/SerializePathingEngine.cpp 2014-10-12 23:17:36 UTC (rev 7742) +++ branches/SDL_Migration_And_Dependencies_Updates/util/SerializePathingEngine.cpp 2014-10-14 16:24:28 UTC (rev 7743) @@ -1,157 +0,0 @@ -#include "Serialize.h" - -#include "../combat/AsteroidBeltObstacle.h" -#include "../combat/CombatShip.h" -#include "../combat/CombatFighter.h" -#include "../combat/Missile.h" -#include "../combat/PathingEngine.h" - -#include "Serialize.ipp" - -#include <OpenSteer/Obstacle.h> - -// exports for boost serialization of PathingEngine-related classes -BOOST_CLASS_EXPORT(CombatShip) -BOOST_CLASS_EXPORT(CombatFighter) -BOOST_CLASS_EXPORT(Missile) -BOOST_CLASS_EXPORT(OpenSteer::SphereObstacle) -BOOST_CLASS_EXPORT(OpenSteer::BoxObstacle) -BOOST_CLASS_EXPORT(OpenSteer::PlaneObstacle) -BOOST_CLASS_EXPORT(OpenSteer::RectangleObstacle) -BOOST_CLASS_EXPORT(AsteroidBeltObstacle) - -template <class Archive> -void CombatShip::DirectWeapon::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_NVP(m_name) - & BOOST_SERIALIZATION_NVP(m_range) - & BOOST_SERIALIZATION_NVP(m_damage); -} - -template <class Archive> -void CombatShip::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(CombatObject) - & BOOST_SERIALIZATION_NVP(m_proximity_token) - & BOOST_SERIALIZATION_NVP(m_empire_id) - & BOOST_SERIALIZATION_NVP(m_ship_id) - & BOOST_SERIALIZATION_NVP(m_last_steer) - & BOOST_SERIALIZATION_NVP(m_mission_queue) - & BOOST_SERIALIZATION_NVP(m_mission_weight) - & BOOST_SERIALIZATION_NVP(m_mission_destination) - & BOOST_SERIALIZATION_NVP(m_mission_subtarget) - & BOOST_SERIALIZATION_NVP(m_last_queue_update_turn) - & BOOST_SERIALIZATION_NVP(m_next_LR_fire_turns) - & BOOST_SERIALIZATION_NVP(m_turn_start_structure) - & BOOST_SERIALIZATION_NVP(m_turn) - & BOOST_SERIALIZATION_NVP(m_enter_starlane_start_turn) - & BOOST_SERIALIZATION_NVP(m_pathing_engine) - & BOOST_SERIALIZATION_NVP(m_raw_PD_strength) - & BOOST_SERIALIZATION_NVP(m_raw_SR_strength) - & BOOST_SERIALIZATION_NVP(m_raw_LR_strength) - & BOOST_SERIALIZATION_NVP(m_is_PD_ship) - & BOOST_SERIALIZATION_NVP(m_unfired_SR_weapons) - & BOOST_SERIALIZATION_NVP(m_unfired_PD_weapons) - & BOOST_SERIALIZATION_NVP(m_unlaunched_fighters) - & BOOST_SERIALIZATION_NVP(m_launched_formations) - & BOOST_SERIALIZATION_NVP(m_instrument) - & BOOST_SERIALIZATION_NVP(m_last_mission); - - if (Archive::is_loading::value) - m_combat_universe = PathingEngine::s_combat_universe; -} - -template <class Archive> -void CombatFighterFormation::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_NVP(m_leader) - & BOOST_SERIALIZATION_NVP(m_members) - & BOOST_SERIALIZATION_NVP(m_pathing_engine); -} - -template <class Archive> -void CombatFighter::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(CombatObject) - & BOOST_SERIALIZATION_NVP(m_proximity_token) - & BOOST_SERIALIZATION_NVP(m_leader) - & BOOST_SERIALIZATION_NVP(m_part_name) - & BOOST_SERIALIZATION_NVP(m_empire_id) - & BOOST_SERIALIZATION_NVP(m_id) - & BOOST_SERIALIZATION_NVP(m_last_steer) - & BOOST_SERIALIZATION_NVP(m_mission_queue) - & BOOST_SERIALIZATION_NVP(m_mission_weight) - & BOOST_SERIALIZATION_NVP(m_mission_destination) - & BOOST_SERIALIZATION_NVP(m_mission_subtarget) - & BOOST_SERIALIZATION_NVP(m_base) - & BOOST_SERIALIZATION_NVP(m_formation_position) - & BOOST_SERIALIZATION_NVP(m_formation) - & BOOST_SERIALIZATION_NVP(m_out_of_formation) - & BOOST_SERIALIZATION_NVP(m_structure) - & BOOST_SERIALIZATION_NVP(m_last_queue_update_turn) - & BOOST_SERIALIZATION_NVP(m_last_fired_turn) - & BOOST_SERIALIZATION_NVP(m_turn) - & BOOST_SERIALIZATION_NVP(m_stats) - & BOOST_SERIALIZATION_NVP(m_pathing_engine); -} - -template <class Archive> -void Missile::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(CombatObject) - & BOOST_SERIALIZATION_NVP(m_proximity_token) - & BOOST_SERIALIZATION_NVP(m_empire_id) - & BOOST_SERIALIZATION_NVP(m_last_steer) - & BOOST_SERIALIZATION_NVP(m_destination) - & BOOST_SERIALIZATION_NVP(m_target) - & BOOST_SERIALIZATION_NVP(m_structure) - & BOOST_SERIALIZATION_NVP(m_stats) - & BOOST_SERIALIZATION_NVP(m_pathing_engine); -} - -template <class Archive> -void PathingEngine::serialize(Archive& ar, const unsigned int version) -{ - std::set<CombatObjectPtr> objects; - if (Archive::is_saving::value) { - for (std::set<CombatObjectPtr>::iterator it = m_objects.begin(); - it != m_objects.end(); - ++it) { - // TODO: only copy the objects that are visible from m_objects into objects - objects.insert(*it); - } - } - - ar & BOOST_SERIALIZATION_NVP(m_next_fighter_id) - & BOOST_SERIALIZATION_NVP(m_update_number) - & BOOST_SERIALIZATION_NVP(objects) - & BOOST_SERIALIZATION_NVP(m_fighter_formations) - & BOOST_SERIALIZATION_NVP(m_attackees) - & BOOST_SERIALIZATION_NVP(m_proximity_database) - & BOOST_SERIALIZATION_NVP(m_obstacles); - - if (Archive::is_loading::value) { - m_objects.swap(objects); - for (std::set<CombatObjectPtr>::iterator it = m_objects.begin(); - it != m_objects.end(); - ++it) { - if ((*it)->IsShip()) { - assert(boost::dynamic_pointer_cast<CombatShip>(*it)); - CombatShipPtr ship = boost::static_pointer_cast<CombatShip>(*it); - ship->SetWeakPtr(ship); - } else if ((*it)->IsFighter()) { - assert(boost::dynamic_pointer_cast<CombatFighter>(*it)); - CombatFighterPtr fighter = boost::static_pointer_cast<CombatFighter>(*it); - fighter->SetWeakPtr(fighter); - } else if (MissilePtr missile = boost::dynamic_pointer_cast<Missile>(*it)) { - missile->SetWeakPtr(missile); - } - } - } -} - -void Serialize(freeorion_oarchive& oa, const PathingEngine& pathing_engine) -{ oa << BOOST_SERIALIZATION_NVP(pathing_engine); } - -void Deserialize(freeorion_iarchive& ia, PathingEngine& pathing_engine) -{ ia >> BOOST_SERIALIZATION_NVP(pathing_engine); } |
From: <geo...@us...> - 2014-12-19 18:50:04
|
Revision: 7791 http://sourceforge.net/p/freeorion/code/7791 Author: geoffthemedio Date: 2014-12-19 18:49:55 +0000 (Fri, 19 Dec 2014) Log Message: ----------- Ripping out more of the old ship part definitions and parsers code after removing the 3D engine code. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/EncyclopediaDetailPanel.cpp branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.h branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartsParser.cpp branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp branches/SDL_Migration_And_Dependencies_Updates/universe/Effect.cpp branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.cpp branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.h branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.cpp branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.h branches/SDL_Migration_And_Dependencies_Updates/util/SerializeUniverse.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -76,24 +76,14 @@ return ClientUI::GetTexture(ClientUI::ArtDir() / "misc" / "missing.png", true); } - float GetMainStat(ShipPartClass part_class, PartTypeStats part_stats) { - switch (part_class) { + float GetMainStat(const PartType* part_type) { + if (!part_type) + return 0.0f; + switch (part_type->Class()) { case PC_SHORT_RANGE: - case PC_POINT_DEFENSE: { - const DirectFireStats& stats = boost::get<DirectFireStats>(part_stats); - return stats.m_damage; //stats.m_ROF stats.m_range - break; - } - case PC_MISSILES: { - const LRStats& stats = boost::get<LRStats>(part_stats); - return stats.m_damage; //stats.m_ROF stats.m_range stats.m_speed stats.m_stealth stats.m_structure stats.m_capacity - break; - } - case PC_FIGHTERS: { - const FighterStats& stats = boost::get<FighterStats>(part_stats); - return stats.m_anti_ship_damage; //stats.m_anti_fighter_damage stats.m_launch_rate stats.m_fighter_weapon_range stats.m_speed stats.m_stealth stats.m_structure stats.m_detection stats.m_capacity - break; - } + case PC_POINT_DEFENSE: + case PC_MISSILES: + case PC_FIGHTERS: case PC_SHIELD: case PC_DETECTION: case PC_STEALTH: @@ -105,7 +95,7 @@ case PC_RESEARCH: case PC_INDUSTRY: case PC_TRADE: - return boost::get<float>(part_stats); + return static_cast<float>(part_type->Capacity()); break; case PC_GENERAL: case PC_BOMBARD: @@ -528,7 +518,7 @@ check_it != this_group.end(); ++check_it ) { const PartType* ref_part = *check_it; - if ((GetMainStat(pclass, checkPart->Stats()) < GetMainStat(pclass, ref_part->Stats())) && + if ((GetMainStat(checkPart) < GetMainStat(ref_part)) && (checkPart->ProductionCost(empire_id, loc_id) >= ref_part->ProductionCost(empire_id, loc_id)) && (checkPart->ProductionTime(empire_id, loc_id) >= ref_part->ProductionTime(empire_id, loc_id))) { @@ -613,7 +603,7 @@ if (already_added.find(part) != already_added.end()) continue; already_added.insert(part); - sorted_group.insert(std::make_pair(GetMainStat(pclass, part->Stats()), part)); + sorted_group.insert(std::make_pair(GetMainStat(part), part)); } // take the sorted parts and make UI elements (technically rows) for the PartsListBox Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/EncyclopediaDetailPanel.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/EncyclopediaDetailPanel.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/EncyclopediaDetailPanel.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -370,70 +370,33 @@ } namespace { - struct DescriptionVisitor : public boost::static_visitor<> - { - DescriptionVisitor(ShipPartClass part_class, std::string& description) : - m_class(part_class), - m_description(description) - {} - void operator()(const float& d) const { - std::string desc_string; + void GetPartDescription(const PartType* part, std::string& description) { + if (!part) + return; + ShipPartClass part_class = part->Class(); + std::string desc_string; + float d = part->Capacity(); - switch(m_class){ - case PC_FUEL: - case PC_TROOPS: - case PC_COLONY: - desc_string += UserString("PART_DESC_CAPACITY"); - break; - case PC_SHIELD: - desc_string = UserString("PART_DESC_SHIELD_STRENGTH"); - break; - case PC_DETECTION: - desc_string = UserString("PART_DESC_DETECTION"); - break; - default: - desc_string = UserString("PART_DESC_STRENGTH"); - break; - } - m_description += - str(FlexibleFormat(desc_string) % d); + switch (part_class) { + case PC_FUEL: + case PC_TROOPS: + case PC_COLONY: + desc_string += UserString("PART_DESC_CAPACITY"); + break; + case PC_SHIELD: + desc_string = UserString("PART_DESC_SHIELD_STRENGTH"); + break; + case PC_DETECTION: + desc_string = UserString("PART_DESC_DETECTION"); + break; + default: + desc_string = UserString("PART_DESC_STRENGTH"); + break; } - void operator()(const DirectFireStats& stats) const { - m_description += - str(FlexibleFormat(UserString("PART_DESC_DIRECT_FIRE_STATS")) - % stats.m_damage - % stats.m_ROF - % stats.m_range); - } - void operator()(const LRStats& stats) const { - m_description += - str(FlexibleFormat(UserString("PART_DESC_LR_STATS")) - % stats.m_damage - % stats.m_ROF - % stats.m_range - % stats.m_speed - % stats.m_structure - % stats.m_stealth - % stats.m_capacity); - } - void operator()(const FighterStats& stats) const { - m_description += - str(FlexibleFormat(UserString("PART_DESC_FIGHTER_STATS")) - % (stats.m_type == BOMBER ? UserString("BOMBER") : UserString("INTERCEPTOR")) - % stats.m_anti_ship_damage - % stats.m_anti_fighter_damage - % stats.m_launch_rate - % stats.m_speed - % stats.m_stealth - % stats.m_structure - % stats.m_detection - % stats.m_capacity); - } + description += + str(FlexibleFormat(desc_string) % d); + } - const ShipPartClass m_class; - std::string& m_description; - }; - class ColorByOwner: public LinkDecorator { public: virtual std::string Decorate(const std::string& object_id_str, const std::string& content) const { @@ -1042,7 +1005,7 @@ specific_type = UserString(boost::lexical_cast<std::string>(part->Class())); std::string stat_description; - boost::apply_visitor(DescriptionVisitor(part->Class(), stat_description), part->Stats()); + GetPartDescription(part, stat_description); detailed_description += UserString(part->Description()) + "\n\n" + stat_description; std::string slot_types_list; @@ -1796,19 +1759,19 @@ } return str(FlexibleFormat(UserString("ENC_SHIP_DESIGN_DESCRIPTION_STR")) - % design->Description() - % hull_link - % parts_list - % static_cast<int>(design->SRWeapons().size()) - % static_cast<int>(design->LRWeapons().size()) - % static_cast<int>(design->FWeapons().size()) - % static_cast<int>(design->PDWeapons().size()) - % ship->CurrentMeterValue(METER_MAX_STRUCTURE) - % ship->CurrentMeterValue(METER_MAX_SHIELD) - % ship->CurrentMeterValue(METER_DETECTION) - % ship->CurrentMeterValue(METER_STEALTH) - % ship->CurrentMeterValue(METER_BATTLE_SPEED) - % ship->CurrentMeterValue(METER_STARLANE_SPEED) + % design->Description() + % hull_link + % parts_list + % static_cast<int>(design->Weapons().size()) + % 0 + % 0 + % 0 + % ship->CurrentMeterValue(METER_MAX_STRUCTURE) + % ship->CurrentMeterValue(METER_MAX_SHIELD) + % ship->CurrentMeterValue(METER_DETECTION) + % ship->CurrentMeterValue(METER_STEALTH) + % ship->CurrentMeterValue(METER_BATTLE_SPEED) + % ship->CurrentMeterValue(METER_STARLANE_SPEED) % ship->CurrentMeterValue(METER_MAX_FUEL) % design->ColonyCapacity() % design->TroopCapacity() Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -1,53 +0,0 @@ -#include "ShipPartStatsParser.h" - -#include "Double.h" -#include "EnumParser.h" -#include "Int.h" -#include "Label.h" -#include "ParseImpl.h" - -#include <boost/spirit/include/phoenix.hpp> - -#define DEBUG_PARSERS 0 - -#if DEBUG_PARSERS -namespace std { - inline ostream& operator<<(ostream& os, const PartTypeStats&) { return os; } -} -#endif - -namespace { - struct part_stats_parser_rules { - part_stats_parser_rules() { - qi::_1_type _1; - qi::_2_type _2; - qi::_3_type _3; - qi::_4_type _4; - qi::_val_type _val; - qi::eps_type eps; - using phoenix::construct; - - start - = (parse::label(Capacity_token) >> parse::double_ [ _val = _1 ]) - | eps [ _val = 0.0 ] - ; - - start.name("Part Stats"); - -#if DEBUG_PARSERS - debug(start); -#endif - - qi::on_error<qi::fail>(start, parse::report_error(_1, _2, _3, _4)); - } - - parse::detail::part_stats_parser_rule start; - }; -} - -namespace parse { namespace detail { - part_stats_parser_rule& part_stats_parser() { - static part_stats_parser_rules rules; - return rules.start; - } -} } Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.h 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartStatsParser.h 2014-12-19 18:49:55 UTC (rev 7791) @@ -1,21 +0,0 @@ -// -*- C++ -*- -#ifndef _ShipPartStatsParser_h_ -#define _ShipPartStatsParser_h_ - -#include "../universe/ShipDesign.h" -#include "Lexer.h" - -#include <boost/spirit/include/qi.hpp> - -namespace parse { namespace detail { - typedef boost::spirit::qi::rule< - parse::token_iterator, - PartTypeStats (), - parse::skipper_type - > part_stats_parser_rule; - - part_stats_parser_rule& part_stats_parser(); -} } - - -#endif \ No newline at end of file Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartsParser.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartsParser.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/ShipPartsParser.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -3,11 +3,13 @@ #include "ConditionParserImpl.h" #include "EnumParser.h" +#include "Double.h" #include "Label.h" #include "Parse.h" #include "ParseImpl.h" #include "ShipPartStatsParser.h" #include "ValueRefParser.h" +#include "../universe/ShipDesign.h" #include "../universe/Condition.h" @@ -112,7 +114,9 @@ part_type = part_type_prefix(_a, _b, _c) - > parse::detail::part_stats_parser() [ _d = _1 ] + > (( parse::label(Capacity_token) >> parse::double_ [ _d = _1 ]) + | eps [ _d = 0.0 ] + ) > slots(_f) > common_params [ _e = _1 ] [ insert(_r1, new_<PartType>(_a, _b, _c, _d, _e, _f)) ] @@ -186,7 +190,7 @@ std::string, std::string, ShipPartClass, - PartTypeStats, + double, PartHullCommonParams, std::vector<ShipSlotType> >, Modified: branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -203,20 +203,6 @@ const std::vector<std::string>& parts) = &ShipDesign::ValidDesign; bool (*ValidDesignDesign)(const ShipDesign&) = &ShipDesign::ValidDesign; - std::vector<int> DirectFireStatsP(const ShipDesign& ship_design) { - const std::vector<std::string>& partslist = ship_design.Parts(); - std::vector<int> results; - for (std::vector<std::string>::const_iterator part_it = partslist.begin(); part_it!=partslist.end(); part_it++){ - const PartType* part = GetPartType(*part_it); - if (part && part->Class() == PC_SHORT_RANGE) { // TODO: handle other weapon classes when they are implemented - const DirectFireStats& stats = boost::get<DirectFireStats>(part->Stats()); - results.push_back(stats.m_damage); - } - } - return results; - } - boost::function<std::vector<int> (const ShipDesign&)> DirectFireStatsFunc = &DirectFireStatsP; - const std::vector<std::string>& (ShipDesign::*PartsVoid)(void) const = &ShipDesign::Parts; std::vector<std::string> (ShipDesign::*PartsSlotType)(ShipSlotType) const = &ShipDesign::Parts; @@ -468,12 +454,6 @@ .def("perTurnCost", &ShipDesign::PerTurnCost) .add_property("hull", make_function(&ShipDesign::Hull, return_value_policy<return_by_value>())) .add_property("parts", make_function(PartsVoid, return_internal_reference<>())) - .add_property("directFireStats", make_function( - DirectFireStatsFunc, - return_value_policy<return_by_value>(), - boost::mpl::vector<std::vector<int>, const ShipDesign&>() - )) - .def("partsInSlotType", PartsSlotType, return_value_policy<return_by_value>()) .def("productionLocationForEmpire", &ShipDesign::ProductionLocation) ; Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/Effect.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/Effect.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/Effect.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -186,9 +186,8 @@ case PC_SHORT_RANGE: case PC_MISSILES: case PC_POINT_DEFENSE: + case PC_FIGHTERS: return part.Class() == part_class; - case PC_FIGHTERS: - return boost::get<FighterStats>(part.Stats()).m_type == fighter_type; default: break; } Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -75,42 +75,14 @@ switch (part->Class()) { case PC_SHORT_RANGE: + case PC_MISSILES: + case PC_FIGHTERS: case PC_POINT_DEFENSE: { m_part_meters[std::make_pair(METER_DAMAGE, part->Name())]; m_part_meters[std::make_pair(METER_ROF, part->Name())]; m_part_meters[std::make_pair(METER_RANGE, part->Name())]; break; } - case PC_MISSILES: { - std::pair<std::size_t, std::size_t>& part_missiles = - m_missiles[part_names[i]]; - ++part_missiles.first; - part_missiles.second += boost::get<LRStats>(part->Stats()).m_capacity; - m_part_meters[std::make_pair(METER_DAMAGE, part->Name())]; - m_part_meters[std::make_pair(METER_ROF, part->Name())]; - m_part_meters[std::make_pair(METER_RANGE, part->Name())]; - m_part_meters[std::make_pair(METER_SPEED, part->Name())]; - m_part_meters[std::make_pair(METER_STEALTH, part->Name())]; - m_part_meters[std::make_pair(METER_STRUCTURE, part->Name())]; - m_part_meters[std::make_pair(METER_CAPACITY, part->Name())]; - break; - } - case PC_FIGHTERS: { - std::pair<std::size_t, std::size_t>& part_fighters = - m_fighters[part_names[i]]; - ++part_fighters.first; - part_fighters.second += boost::get<FighterStats>(part->Stats()).m_capacity; - m_part_meters[std::make_pair(METER_ANTI_SHIP_DAMAGE, part->Name())]; - m_part_meters[std::make_pair(METER_ANTI_FIGHTER_DAMAGE, part->Name())]; - m_part_meters[std::make_pair(METER_LAUNCH_RATE, part->Name())]; - m_part_meters[std::make_pair(METER_FIGHTER_WEAPON_RANGE,part->Name())]; - m_part_meters[std::make_pair(METER_SPEED, part->Name())]; - m_part_meters[std::make_pair(METER_STEALTH, part->Name())]; - m_part_meters[std::make_pair(METER_STRUCTURE, part->Name())]; - m_part_meters[std::make_pair(METER_DETECTION, part->Name())]; - m_part_meters[std::make_pair(METER_CAPACITY, part->Name())]; - break; - } default: break; } @@ -157,8 +129,6 @@ this->m_name = copied_ship->m_name; this->m_design_id = copied_ship->m_design_id; - this->m_fighters = copied_ship->m_fighters; - this->m_missiles = copied_ship->m_missiles; for (PartMeterMap::const_iterator it = copied_ship->m_part_meters.begin(); it != copied_ship->m_part_meters.end(); ++it) { this->m_part_meters[it->first]; } @@ -243,20 +213,6 @@ << " species name: " << m_species_name << " produced by empire id: " << m_produced_by_empire_id << " fighters: "; - //typedef std::map<std::string, std::pair<std::size_t, std::size_t> > ConsumablesMap; - for (ConsumablesMap::const_iterator it = m_fighters.begin(); it != m_fighters.end();) { - const std::string& part_name = it->first; - int num_consumables_available = it->second.second; - ++it; - os << part_name << ": " << num_consumables_available << (it == m_fighters.end() ? "" : ", "); - } - os << " missiles: "; - for (ConsumablesMap::const_iterator it = m_missiles.begin(); it != m_missiles.end();) { - const std::string& part_name = it->first; - int num_consumables_available = it->second.second; - ++it; - os << part_name << ": " << num_consumables_available << (it == m_missiles.end() ? "" : ", "); - } //typedef std::map<std::pair<MeterType, std::string>, Meter> PartMeters; os << " part meters: "; for (PartMeterMap::const_iterator it = m_part_meters.begin(); it != m_part_meters.end();) { @@ -475,45 +431,8 @@ } fuel_meter->SetCurrent(max_fuel_meter->Current()); - - for (ConsumablesMap::iterator it = m_fighters.begin(); - it != m_fighters.end(); ++it) - { - const PartType* part_type = GetPartType(it->first); - if (part_type) - it->second.second = it->second.first * - boost::get<FighterStats>(part_type->Stats()).m_capacity; - } - - for (ConsumablesMap::iterator it = m_missiles.begin(); - it != m_missiles.end(); ++it) - { - const PartType* part_type = GetPartType(it->first); - if (part_type) - it->second.second = it->second.first * - boost::get<LRStats>(part_type->Stats()).m_capacity; - } } -void Ship::AddFighters(const std::string& part_name, std::size_t n) { - const PartType* part_type = GetPartType(part_name); - if (!part_type) return; - assert(m_fighters[part_name].second + n <= - m_fighters[part_name].first * - boost::get<FighterStats>(part_type->Stats()).m_capacity); - m_fighters[part_name].second += n; -} - -void Ship::RemoveFighters(const std::string& part_name, std::size_t n) { - assert(m_fighters[part_name].second < n); - m_fighters[part_name].second -= n; -} - -void Ship::RemoveMissiles(const std::string& part_name, std::size_t n) { - assert(m_missiles[part_name].second < n); - m_missiles[part_name].second -= n; -} - void Ship::SetSpecies(const std::string& species_name) { if (!GetSpecies(species_name)) Logger().errorStream() << "Ship::SetSpecies couldn't get species with name " << species_name; Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.h 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/Ship.h 2014-12-19 18:49:55 UTC (rev 7791) @@ -12,10 +12,6 @@ /** a class representing a single FreeOrion ship */ class FO_COMMON_API Ship : public UniverseObject { public: - // map from part type name to (number of parts in the design of that type, - // number of fighters (or missiles) available of that type) pairs - typedef std::map<std::string, std::pair<std::size_t, std::size_t> > ConsumablesMap; - typedef std::map<std::pair<MeterType, std::string>, Meter> PartMeterMap; /** \name Accessors */ //@{ @@ -45,9 +41,6 @@ const std::string& SpeciesName() const { return m_species_name; } float Speed() const; - const ConsumablesMap& Fighters() const { return m_fighters; } - const ConsumablesMap& Missiles() const { return m_missiles; } - virtual TemporaryPtr<UniverseObject> Accept(const UniverseObjectVisitor& visitor) const; @@ -75,10 +68,6 @@ void Resupply(); - void AddFighters(const std::string& part_name, std::size_t n); - void RemoveFighters(const std::string& part_name, std::size_t n); - void RemoveMissiles(const std::string& part_name, std::size_t n); - void SetSpecies(const std::string& species_name); void SetOrderedScrapped(bool b = true); ///< flags ship for scrapping @@ -122,8 +111,6 @@ int m_ordered_invade_planet_id; int m_ordered_bombard_planet_id; int m_last_turn_active_in_combat; - ConsumablesMap m_fighters; - ConsumablesMap m_missiles; PartMeterMap m_part_meters; std::string m_species_name; int m_produced_by_empire_id; Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -23,29 +23,6 @@ } namespace { - struct PartTypeStringVisitor : - public boost::static_visitor<> - { - PartTypeStringVisitor(std::string& str) : - m_str(str) - {} - void operator()(const float& d) const - { m_str = "capacity stat"; } - void operator()(const DirectFireStats& stats) const - { m_str = "direct-fire weapon stats"; } - void operator()(const LRStats& stats) const - { m_str = "long-range weapon stats"; } - void operator()(const FighterStats& stats) const - { m_str = "fighter bay stats"; } - std::string& m_str; - }; - - std::string PartTypeStatsString(const PartTypeStats& stats) { - std::string retval; - boost::apply_visitor(PartTypeStringVisitor(retval), stats); - return retval; - } - boost::shared_ptr<const Effect::EffectsGroup> IncreaseMeter(MeterType meter_type, float increase) { typedef boost::shared_ptr<const Effect::EffectsGroup> EffectsGroupPtr; @@ -166,99 +143,6 @@ { return m_parts.end(); } -//////////////////////////////////////////////// -// PartType stat variant types // -//////////////////////////////////////////////// -const float DirectFireStats::PD_SELF_DEFENSE_FACTOR = 2.0f / 3.0f; - -DirectFireStats::DirectFireStats() : - m_damage(), - m_ROF(), - m_range() -{} - -DirectFireStats::DirectFireStats(float damage, - float ROF, - float range) : - m_damage(damage), - m_ROF(ROF), - m_range(range) -{} - -LRStats::LRStats() : - m_damage(), - m_ROF(), - m_range(), - m_speed(), - m_stealth(), - m_structure() -{} - -LRStats::LRStats(float damage, - float ROF, - float range, - float speed, - float stealth, - float structure, - int capacity) : - m_damage(damage), - m_ROF(ROF), - m_range(range), - m_speed(speed), - m_stealth(stealth), - m_structure(structure), - m_capacity(capacity) -{ - if (m_capacity < 0) - throw std::runtime_error("Attempted to create a LRStats with a " - "nonpositive capacity."); -} - -FighterStats::FighterStats() : - m_type(), - m_anti_ship_damage(), - m_anti_fighter_damage(), - m_launch_rate(), - m_fighter_weapon_range(), - m_speed(), - m_stealth(), - m_structure(), - m_detection(), - m_capacity() -{} - -FighterStats::FighterStats(CombatFighterType type, - float anti_ship_damage, - float anti_fighter_damage, - float launch_rate, - float fighter_weapon_range, - float speed, - float stealth, - float structure, - float detection, - int capacity) : - m_type(type), - m_anti_ship_damage(anti_ship_damage), - m_anti_fighter_damage(anti_fighter_damage), - m_launch_rate(launch_rate), - m_fighter_weapon_range(fighter_weapon_range), - m_speed(speed), - m_stealth(stealth), - m_structure(structure), - m_detection(detection), - m_capacity(capacity) -{ - if (type == INTERCEPTOR && m_anti_fighter_damage < m_anti_ship_damage) - Logger().debugStream() << "Creating an INTERCEPTOR FighterStats with weaker anti-fighter stat than anti-ship stat."; - if (type == BOMBER && m_anti_ship_damage < m_anti_fighter_damage) - Logger().debugStream() << "Creating a BOMBER FighterStats with weaker anti-ship stat than anti-fighter stat."; - if (m_capacity < 0) { - m_capacity = 0; - Logger().debugStream() << "Creating a FighterStats with a nonpositive capacity."; - } -} - - namespace { // Looks like there are at least 3 SourceForEmpire functions lying around - one in ShipDesign, one in Tech, and one in Building // TODO: Eliminate duplication @@ -290,121 +174,49 @@ // PartType //////////////////////////////////////////////// void PartType::Init(const std::vector<boost::shared_ptr<const Effect::EffectsGroup> >& effects) { - switch (m_class) { - case PC_SHORT_RANGE: - case PC_POINT_DEFENSE: - if (!boost::get<DirectFireStats>(&m_stats)) { - std::string type_name = m_class == PC_SHORT_RANGE? - "PC_SHORT_RANGE" : "PC_POINT_DEFENSE"; - throw std::runtime_error("PartType::PartType() : Wrong kind of stats specified " - "for " + type_name + " part \"" + m_name + "\" -- " - "was " + PartTypeStatsString(m_stats) + "; should have " - "been " + PartTypeStatsString(DirectFireStats())); + if (m_capacity != 0) { + switch (m_class) { + case PC_SHORT_RANGE: + case PC_POINT_DEFENSE: + case PC_MISSILES: + case PC_FIGHTERS: + m_effects.push_back(IncreaseMeter(METER_DAMAGE, m_name, m_capacity, false)); + break; + case PC_SHIELD: + m_effects.push_back(IncreaseMeter(METER_MAX_SHIELD, m_capacity)); + break; + case PC_DETECTION: + m_effects.push_back(IncreaseMeter(METER_DETECTION, m_capacity)); + break; + case PC_STEALTH: + m_effects.push_back(IncreaseMeter(METER_STEALTH, m_capacity)); + break; + case PC_FUEL: + m_effects.push_back(IncreaseMeter(METER_MAX_FUEL, m_capacity)); + break; + case PC_ARMOUR: + m_effects.push_back(IncreaseMeter(METER_MAX_STRUCTURE, m_capacity)); + break; + case PC_BATTLE_SPEED: + m_effects.push_back(IncreaseMeter(METER_BATTLE_SPEED, m_capacity)); + break; + case PC_STARLANE_SPEED: + m_effects.push_back(IncreaseMeter(METER_STARLANE_SPEED, m_capacity)); + break; + case PC_RESEARCH: + m_effects.push_back(IncreaseMeter(METER_TARGET_RESEARCH,m_capacity)); + break; + case PC_INDUSTRY: + m_effects.push_back(IncreaseMeter(METER_TARGET_INDUSTRY,m_capacity)); + break; + case PC_TRADE: + m_effects.push_back(IncreaseMeter(METER_TARGET_TRADE, m_capacity)); + break; + default: + break; } - break; - case PC_MISSILES: - if (!boost::get<LRStats>(&m_stats)) { - throw std::runtime_error("PartType::PartType() : Wrong kind of stats specified " - "for PC_MISSILES part \"" + m_name + "\" -- " - "was " + PartTypeStatsString(m_stats) + "; should have " - "been " + PartTypeStatsString(LRStats())); - } - break; - case PC_FIGHTERS: - if (!boost::get<FighterStats>(&m_stats)) { - throw std::runtime_error("PartType::PartType() : Wrong kind of stats specified " - "for PC_FIGHTERS part \"" + m_name + "\" -- " - "was " + PartTypeStatsString(m_stats) + "; should have " - "been " + PartTypeStatsString(FighterStats())); - } - break; - default: - if (!boost::get<float>(&m_stats)) { - throw std::runtime_error("PartType::PartType() : Wrong kind of stats specified " - "for generic part \"" + m_name + "\" -- " - "was " + PartTypeStatsString(m_stats) + "; should have " - "been " + PartTypeStatsString(float())); - } - break; } - switch (m_class) { - case PC_SHORT_RANGE: - case PC_POINT_DEFENSE: { - const DirectFireStats& stats = boost::get<DirectFireStats>(m_stats); - m_effects.push_back(IncreaseMeter(METER_DAMAGE, m_name, stats.m_damage, false)); - m_effects.push_back(IncreaseMeter(METER_ROF, m_name, stats.m_ROF, false)); - m_effects.push_back(IncreaseMeter(METER_RANGE, m_name, stats.m_range, false)); - break; - } - case PC_MISSILES: { - const LRStats& stats = boost::get<LRStats>(m_stats); - m_effects.push_back(IncreaseMeter(METER_DAMAGE, m_name, stats.m_damage, false)); - m_effects.push_back(IncreaseMeter(METER_ROF, m_name, stats.m_ROF, false)); - m_effects.push_back(IncreaseMeter(METER_RANGE, m_name, stats.m_range, false)); - m_effects.push_back(IncreaseMeter(METER_SPEED, m_name, stats.m_speed, false)); - m_effects.push_back(IncreaseMeter(METER_STEALTH, m_name, stats.m_stealth, false)); - m_effects.push_back(IncreaseMeter(METER_STRUCTURE, m_name, stats.m_structure, false)); - m_effects.push_back(IncreaseMeter(METER_CAPACITY, m_name, stats.m_capacity, false)); - break; - } - case PC_FIGHTERS: { - const FighterStats& stats = boost::get<FighterStats>(m_stats); - m_effects.push_back(IncreaseMeter(METER_ANTI_SHIP_DAMAGE, m_name, stats.m_anti_ship_damage, false)); - m_effects.push_back(IncreaseMeter(METER_ANTI_FIGHTER_DAMAGE, m_name, stats.m_anti_fighter_damage, false)); - m_effects.push_back(IncreaseMeter(METER_LAUNCH_RATE, m_name, stats.m_launch_rate, false)); - m_effects.push_back(IncreaseMeter(METER_FIGHTER_WEAPON_RANGE, m_name, stats.m_fighter_weapon_range, false)); - m_effects.push_back(IncreaseMeter(METER_SPEED, m_name, stats.m_speed, false)); - m_effects.push_back(IncreaseMeter(METER_STEALTH, m_name, stats.m_stealth, false)); - m_effects.push_back(IncreaseMeter(METER_STRUCTURE, m_name, stats.m_structure, false)); // not METER_MAX_STRUCTURE because this stat sets the initial/max structure of battle-spawned missiles, but doesn't need to track a separate max and actual value itself - m_effects.push_back(IncreaseMeter(METER_DETECTION, m_name, stats.m_detection, false)); - m_effects.push_back(IncreaseMeter(METER_CAPACITY, m_name, stats.m_capacity, false)); - break; - } - case PC_SHIELD: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_MAX_SHIELD, boost::get<float>(m_stats))); - break; - case PC_DETECTION: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_DETECTION, boost::get<float>(m_stats))); - break; - case PC_STEALTH: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_STEALTH, boost::get<float>(m_stats))); - break; - case PC_FUEL: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_MAX_FUEL, boost::get<float>(m_stats))); - break; - case PC_ARMOUR: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_MAX_STRUCTURE, boost::get<float>(m_stats))); - break; - case PC_BATTLE_SPEED: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_BATTLE_SPEED, boost::get<float>(m_stats))); - break; - case PC_STARLANE_SPEED: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_STARLANE_SPEED, boost::get<float>(m_stats))); - break; - case PC_RESEARCH: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_TARGET_RESEARCH,boost::get<float>(m_stats))); - break; - case PC_INDUSTRY: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_TARGET_INDUSTRY,boost::get<float>(m_stats))); - break; - case PC_TRADE: - if (boost::get<float>(m_stats) != 0) - m_effects.push_back(IncreaseMeter(METER_TARGET_TRADE, boost::get<float>(m_stats))); - break; - default: - break; - } - for (std::vector<boost::shared_ptr<const Effect::EffectsGroup> >::const_iterator it = effects.begin(); it != effects.end(); ++it) { m_effects.push_back(*it); } @@ -640,17 +452,7 @@ m_research_generation(0.0), m_industry_generation(0.0), m_trade_generation(0.0), - m_is_production_location(false), - m_min_SR_range(FLT_MAX), - m_max_SR_range(0.0), - m_min_LR_range(FLT_MAX), - m_max_LR_range(0.0), - m_min_PD_range(FLT_MAX), - m_max_PD_range(0.0), - m_min_weapon_range(FLT_MAX), - m_max_weapon_range(0.0f), - m_min_non_PD_weapon_range(FLT_MAX), - m_max_non_PD_weapon_range(0.0f) + m_is_production_location(false) {} ShipDesign::ShipDesign(const std::string& name, const std::string& description, @@ -683,17 +485,7 @@ m_research_generation(0.0), m_industry_generation(0.0), m_trade_generation(0.0), - m_is_production_location(false), - m_min_SR_range(FLT_MAX), - m_max_SR_range(0.0), - m_min_LR_range(FLT_MAX), - m_max_LR_range(0.0), - m_min_PD_range(FLT_MAX), - m_max_PD_range(0.0), - m_min_weapon_range(FLT_MAX), - m_max_weapon_range(0.0), - m_min_non_PD_weapon_range(FLT_MAX), - m_max_non_PD_weapon_range(0.0) + m_is_production_location(false) { // expand parts list to have empty values if fewer parts are given than hull has slots if (const HullType* hull_type = GetHullType(m_hull)) { @@ -807,7 +599,7 @@ for (std::vector<std::string>::const_iterator it = all_parts.begin(); it != all_parts.end(); ++it) { const PartType* part = part_manager.GetPartType(*it); if (part && (part->Class() == PC_SHIELD || part->Class() == PC_ARMOUR)) - total_defense += boost::get<float>(part->Stats()); + total_defense += part->Capacity(); } return total_defense; } @@ -820,14 +612,9 @@ std::vector<std::string> all_parts = Parts(); for (std::vector<std::string>::const_iterator it = all_parts.begin(); it != all_parts.end(); ++it) { const PartType* part = manager.GetPartType(*it); - if (part) { - if (part->Class() == PC_SHORT_RANGE || part->Class() == PC_POINT_DEFENSE) - total_attack += boost::get<DirectFireStats>(part->Stats()).m_damage; - else if (part->Class() == PC_MISSILES) - total_attack += boost::get<LRStats>(part->Stats()).m_damage; - else if (part->Class() == PC_FIGHTERS) - total_attack += boost::get<FighterStats>(part->Stats()).m_anti_ship_damage; - } + if (part && (part->Class() == PC_SHORT_RANGE || part->Class() == PC_POINT_DEFENSE || + part->Class() == PC_MISSILES || part->Class() == PC_FIGHTERS)) + { total_attack += part->Capacity(); } } return total_attack; } @@ -851,6 +638,22 @@ return retval; } +std::vector<std::string> ShipDesign::Weapons() const { + std::vector<std::string> retval; + retval.reserve(m_parts.size()); + for (int i = 0; i < m_parts.size(); ++i) { + const std::string& part_name = m_parts[i]; + const PartType* part = GetPartType(part_name); + if (!part) + continue; + ShipPartClass part_class = part->Class(); + if (part_class == PC_SHORT_RANGE || part_class == PC_MISSILES || + part_class == PC_FIGHTERS || part_class == PC_POINT_DEFENSE) + { retval.push_back(part_name); } + } + return retval; +} + bool ShipDesign::ProductionLocation(int empire_id, int location_id) const { TemporaryPtr<const UniverseObject> location = GetUniverseObject(location_id); if (!location) @@ -990,82 +793,51 @@ m_producible = false; switch (part->Class()) { - case PC_SHORT_RANGE: { - const DirectFireStats& stats = boost::get<DirectFireStats>(part->Stats()); - m_SR_weapons.insert(std::make_pair(stats.m_range, part)); - m_is_armed = true; - m_min_SR_range = std::min(m_min_SR_range, stats.m_range); - m_max_SR_range = std::max(m_max_SR_range, stats.m_range); - m_min_weapon_range = std::min(m_min_weapon_range, stats.m_range); - m_max_weapon_range = std::max(m_max_weapon_range, stats.m_range); - m_min_non_PD_weapon_range = std::min(m_min_non_PD_weapon_range, stats.m_range); - m_max_non_PD_weapon_range = std::max(m_max_non_PD_weapon_range, stats.m_range); - break; - } - case PC_MISSILES: { - const LRStats& stats = boost::get<LRStats>(part->Stats()); - m_LR_weapons.insert(std::make_pair(stats.m_range, part)); - m_is_armed = true; - m_min_LR_range = std::min(m_min_LR_range, stats.m_range); - m_max_LR_range = std::max(m_max_LR_range, stats.m_range); - m_min_weapon_range = std::min(m_min_weapon_range, stats.m_range); - m_max_weapon_range = std::max(m_max_weapon_range, stats.m_range); - m_min_non_PD_weapon_range = std::min(m_min_non_PD_weapon_range, stats.m_range); - m_max_non_PD_weapon_range = std::max(m_max_non_PD_weapon_range, stats.m_range); - break; - } + case PC_SHORT_RANGE: + case PC_MISSILES: case PC_FIGHTERS: - m_F_weapons.push_back(part); - m_is_armed = true; - break; case PC_POINT_DEFENSE: { - const DirectFireStats& stats = boost::get<DirectFireStats>(part->Stats()); - m_PD_weapons.insert(std::make_pair(stats.m_range, part)); m_is_armed = true; - m_min_PD_range = std::min(m_min_PD_range, stats.m_range); - m_max_PD_range = std::max(m_max_PD_range, stats.m_range); - m_min_weapon_range = std::min(m_min_weapon_range, stats.m_range); - m_max_weapon_range = std::max(m_max_weapon_range, stats.m_range); break; } case PC_COLONY: - m_colony_capacity += boost::get<float>(part->Stats()); + m_colony_capacity += part->Capacity(); break; case PC_TROOPS: - m_troop_capacity += boost::get<float>(part->Stats()); + m_troop_capacity += part->Capacity(); break; case PC_STEALTH: - m_stealth += boost::get<float>(part->Stats()); + m_stealth += part->Capacity(); break; case PC_BATTLE_SPEED: - m_battle_speed += boost::get<float>(part->Stats()); + m_battle_speed += part->Capacity(); break; case PC_STARLANE_SPEED: - m_starlane_speed += boost::get<float>(part->Stats()); + m_starlane_speed += part->Capacity(); break; case PC_SHIELD: - m_shields += boost::get<float>(part->Stats()); + m_shields += part->Capacity(); break; case PC_FUEL: - m_fuel += boost::get<float>(part->Stats()); + m_fuel += part->Capacity(); break; case PC_ARMOUR: - m_structure += boost::get<float>(part->Stats()); + m_structure += part->Capacity(); break; case PC_DETECTION: - m_detection += boost::get<float>(part->Stats()); + m_detection += part->Capacity(); break; case PC_BOMBARD: m_can_bombard = true; break; case PC_RESEARCH: - m_research_generation += boost::get<float>(part->Stats()); + m_research_generation += part->Capacity(); break; case PC_INDUSTRY: - m_industry_generation += boost::get<float>(part->Stats()); + m_industry_generation += part->Capacity(); break; case PC_TRADE: - m_trade_generation += boost::get<float>(part->Stats()); + m_trade_generation += part->Capacity(); break; case PC_PRODICTION_LOCATION: m_is_production_location = true; @@ -1074,17 +846,6 @@ break; } } - - if (m_SR_weapons.empty()) - m_min_SR_range = 0.0; - if (m_LR_weapons.empty()) - m_min_LR_range = 0.0; - if (m_PD_weapons.empty()) - m_min_PD_range = 0.0; - if (!m_min_SR_range && !m_min_LR_range && !m_min_PD_range) - m_min_weapon_range = 0.0; - if (!m_min_LR_range && !m_min_PD_range) - m_min_non_PD_weapon_range = 0.0; } std::string ShipDesign::Dump() const { Modified: branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.h 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/universe/ShipDesign.h 2014-12-19 18:49:55 UTC (rev 7791) @@ -26,105 +26,6 @@ } class Empire; -/** Part stats for the PC_SHORT_RANGE and PC_POINT_DEFENSE part classes. */ -struct FO_COMMON_API DirectFireStats { - DirectFireStats(); - DirectFireStats(float damage, - float ROF, - float range); - - float m_damage; - float m_ROF; - float m_range; - - /** The factor by which PD damage should be multiplied when used in - defense of the ship firing it. */ - static const float PD_SELF_DEFENSE_FACTOR; - - template <class Archive> - void serialize(Archive& ar, const unsigned int) { - ar & BOOST_SERIALIZATION_NVP(m_damage) - & BOOST_SERIALIZATION_NVP(m_ROF) - & BOOST_SERIALIZATION_NVP(m_range); - } -}; - -/** Part stats for the PC_MISSILES part class. */ -struct FO_COMMON_API LRStats { - LRStats(); - LRStats(float damage, - float ROF, - float range, - float speed, - float stealth, - float structure, - int capacity); - - float m_damage; - float m_ROF; - float m_range; - float m_speed; - float m_stealth; - float m_structure; - int m_capacity; - - template <class Archive> - void serialize(Archive& ar, const unsigned int) { - ar & BOOST_SERIALIZATION_NVP(m_damage) - & BOOST_SERIALIZATION_NVP(m_ROF) - & BOOST_SERIALIZATION_NVP(m_range) - & BOOST_SERIALIZATION_NVP(m_speed) - & BOOST_SERIALIZATION_NVP(m_stealth) - & BOOST_SERIALIZATION_NVP(m_structure) - & BOOST_SERIALIZATION_NVP(m_capacity); - } -}; - -/** Part stats for the PC_FIGHTERS part class. */ -struct FO_COMMON_API FighterStats { - FighterStats(); - FighterStats(CombatFighterType type, - float anti_ship_damage, - float anti_fighter_damage, - float launch_rate, - float fighter_weapon_range, - float speed, - float stealth, - float structure, - float detection, - int capacity); - - CombatFighterType m_type; - float m_anti_ship_damage; - float m_anti_fighter_damage; - float m_launch_rate; - float m_fighter_weapon_range; - float m_speed; - float m_stealth; - float m_structure; - float m_detection; - int m_capacity; - - template <class Archive> - void serialize(Archive& ar, const unsigned int) { - ar & BOOST_SERIALIZATION_NVP(m_type) - & BOOST_SERIALIZATION_NVP(m_anti_ship_damage) - & BOOST_SERIALIZATION_NVP(m_anti_fighter_damage) - & BOOST_SERIALIZATION_NVP(m_launch_rate) - & BOOST_SERIALIZATION_NVP(m_fighter_weapon_range) - & BOOST_SERIALIZATION_NVP(m_speed) - & BOOST_SERIALIZATION_NVP(m_stealth) - & BOOST_SERIALIZATION_NVP(m_structure) - & BOOST_SERIALIZATION_NVP(m_detection) - & BOOST_SERIALIZATION_NVP(m_capacity); - } -}; - -/** A variant type containing all ShipPartClass-specific stats for a PartType. - * Note that most parts need only a single value to represent their - * capabilities. This is represented by the float variant. */ -typedef boost::variant<float, DirectFireStats, LRStats, FighterStats> PartTypeStats; - /** Common parameters for PartType and HullType constructors. Used as temporary * storage for parsing to reduce number of sub-items parsed per item. */ struct PartHullCommonParams { @@ -170,7 +71,7 @@ m_name("invalid part type"), m_description("indescribable"), m_class(INVALID_SHIP_PART_CLASS), - m_stats(1.0), + m_capacity(0.0), m_production_cost(0), m_production_time(0), m_mountable_slot_types(), @@ -180,13 +81,13 @@ m_icon() {} PartType(const std::string& name, const std::string& description, - ShipPartClass part_class, const PartTypeStats& stats, + ShipPartClass part_class, double capacity, const PartHullCommonParams& common_params, std::vector<ShipSlotType> mountable_slot_types) : m_name(name), m_description(description), m_class(part_class), - m_stats(stats), + m_capacity(capacity), m_production_cost(common_params.production_cost), m_production_time(common_params.production_time), m_producible(common_params.producible), @@ -204,7 +105,7 @@ const std::string& Name() const { return m_name; }; ///< returns name of part const std::string& Description() const { return m_description; } ///< returns description, including a description of the stats and effects of this part ShipPartClass Class() const { return m_class; } ///< returns that class of part that this is. - const PartTypeStats& Stats() const { return m_stats; } ///< returns how good the part is at its function. might be weapon or shield strength, or cargo hold capacity + double Capacity() const { return m_capacity; } ///< returns how good the part is at its function. might be weapon or shield strength, or cargo hold capacity bool CanMountInSlotType(ShipSlotType slot_type) const; ///< returns true if this part can be placed in a slot of the indicated type const std::vector<ShipSlotType>& MountableSlotTypes() const { return m_mountable_slot_types; } @@ -227,7 +128,7 @@ std::string m_name; std::string m_description; ShipPartClass m_class; - PartTypeStats m_stats; + double m_capacity; const ValueRef::ValueRefBase<double>* m_production_cost; const ValueRef::ValueRefBase<int>* m_production_time; bool m_producible; @@ -555,24 +456,6 @@ bool IsArmed() const { return m_is_armed; } bool IsMonster() const { return m_is_monster; } - /** Return maps from ranges to stats for various types of weapons in design */ - const std::multimap<float, const PartType*>& SRWeapons() const { return m_SR_weapons; } - const std::multimap<float, const PartType*>& LRWeapons() const { return m_LR_weapons; } - const std::multimap<float, const PartType*>& PDWeapons() const { return m_PD_weapons; } - /** Returns the set of Fighter weapons in this design. */ - const std::vector<const PartType*>& FWeapons() const { return m_F_weapons; } - - float MinSRRange() const { return m_min_SR_range; } - float MaxSRRange() const { return m_max_SR_range; } - float MinLRRange() const { return m_min_LR_range; } - float MaxLRRange() const { return m_max_LR_range; } - float MinPDRange() const { return m_min_PD_range; } - float MaxPDRange() const { return m_max_PD_range; } - float MinWeaponRange() const { return m_min_weapon_range; } - float MaxWeaponRange() const { return m_max_weapon_range; } - float MinNonPDWeaponRange() const { return m_min_non_PD_weapon_range; } - float MaxNonPDWeaponRange() const { return m_max_non_PD_weapon_range; } - /////// TEMPORARY /////// float Defense() const; float Attack() const; @@ -585,6 +468,7 @@ const std::vector<std::string>& Parts() const { return m_parts; } ///< returns vector of names of all parts in design std::vector<std::string> Parts(ShipSlotType slot_type) const; ///< returns vector of names of parts in slots of indicated type + std::vector<std::string> Weapons() const; std::vector<std::string> Tags() const; @@ -654,20 +538,6 @@ bool m_is_production_location; bool m_producible; - std::multimap<float, const PartType*> m_SR_weapons; - std::multimap<float, const PartType*> m_LR_weapons; - std::multimap<float, const PartType*> m_PD_weapons; - std::vector<const PartType*> m_F_weapons; - float m_min_SR_range; - float m_max_SR_range; - float m_min_LR_range; - float m_max_LR_range; - float m_min_PD_range; - float m_max_PD_range; - float m_min_weapon_range; - float m_max_weapon_range; - float m_min_non_PD_weapon_range; - float m_max_non_PD_weapon_range; friend class boost::serialization::access; template <class Archive> @@ -753,7 +623,7 @@ ar & BOOST_SERIALIZATION_NVP(m_name) & BOOST_SERIALIZATION_NVP(m_description) & BOOST_SERIALIZATION_NVP(m_class) - & BOOST_SERIALIZATION_NVP(m_stats) + & BOOST_SERIALIZATION_NVP(m_capacity) & BOOST_SERIALIZATION_NVP(m_production_cost) & BOOST_SERIALIZATION_NVP(m_production_time) & BOOST_SERIALIZATION_NVP(m_mountable_slot_types) Modified: branches/SDL_Migration_And_Dependencies_Updates/util/SerializeUniverse.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/util/SerializeUniverse.cpp 2014-12-19 18:29:53 UTC (rev 7790) +++ branches/SDL_Migration_And_Dependencies_Updates/util/SerializeUniverse.cpp 2014-12-19 18:49:55 UTC (rev 7791) @@ -213,8 +213,6 @@ & BOOST_SERIALIZATION_NVP(m_ordered_colonize_planet_id) & BOOST_SERIALIZATION_NVP(m_ordered_invade_planet_id) & BOOST_SERIALIZATION_NVP(m_ordered_bombard_planet_id) - & BOOST_SERIALIZATION_NVP(m_fighters) - & BOOST_SERIALIZATION_NVP(m_missiles) & BOOST_SERIALIZATION_NVP(m_part_meters) & BOOST_SERIALIZATION_NVP(m_species_name) & BOOST_SERIALIZATION_NVP(m_produced_by_empire_id); |
From: <dil...@us...> - 2014-12-22 20:46:39
|
Revision: 7797 http://sourceforge.net/p/freeorion/code/7797 Author: dilvish-fo Date: 2014-12-22 20:45:56 +0000 (Mon, 22 Dec 2014) Log Message: ----------- re-exposed some ShipDesign attack info needed by the AI Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/default/AI/AIstate.py branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/default/AI/AIstate.py =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/default/AI/AIstate.py 2014-12-22 19:27:34 UTC (rev 7796) +++ branches/SDL_Migration_And_Dependencies_Updates/default/AI/AIstate.py 2014-12-22 20:45:56 UTC (rev 7797) @@ -770,7 +770,7 @@ detect_bonus = 0 if design: attacks = {} - for attack in list(design.directFireStats): + for attack in list(design.attackStats): attacks[attack] = attacks.get(attack, 0) + 1 parts = design.parts shields = 0 Modified: branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2014-12-22 19:27:34 UTC (rev 7796) +++ branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2014-12-22 20:45:56 UTC (rev 7797) @@ -206,6 +206,19 @@ const std::vector<std::string>& (ShipDesign::*PartsVoid)(void) const = &ShipDesign::Parts; std::vector<std::string> (ShipDesign::*PartsSlotType)(ShipSlotType) const = &ShipDesign::Parts; + std::vector<int> AttackStatsP(const ShipDesign& ship_design) { + const std::vector<std::string>& partslist = ship_design.Parts(); + std::vector<int> results; + for (std::vector<std::string>::const_iterator part_it = partslist.begin(); part_it!=partslist.end(); part_it++){ + const PartType* part = GetPartType(*part_it); + if (part && part->Class() == PC_SHORT_RANGE) { // TODO: handle other weapon classes when they are implemented + results.push_back(part->Capacity()); + } + } + return results; + } + boost::function<std::vector<int> (const ShipDesign&)> AttackStatsFunc = &AttackStatsP; + unsigned int (HullType::*NumSlotsTotal)(void) const = &HullType::NumSlots; unsigned int (HullType::*NumSlotsOfSlotType)(ShipSlotType) const = &HullType::NumSlots; @@ -454,6 +467,12 @@ .def("perTurnCost", &ShipDesign::PerTurnCost) .add_property("hull", make_function(&ShipDesign::Hull, return_value_policy<return_by_value>())) .add_property("parts", make_function(PartsVoid, return_internal_reference<>())) + .add_property("attackStats", make_function( + AttackStatsFunc, + return_value_policy<return_by_value>(), + boost::mpl::vector<std::vector<int>, const ShipDesign&>() + )) + .def("partsInSlotType", PartsSlotType, return_value_policy<return_by_value>()) .def("productionLocationForEmpire", &ShipDesign::ProductionLocation) ; @@ -467,6 +486,7 @@ .def("productionCost", &PartType::ProductionCost) .def("productionTime", &PartType::ProductionTime) .def("canMountInSlotType", &PartType::CanMountInSlotType) + .def("capacity", &PartType::Capacity) ; def("getPartType", &GetPartType, return_value_policy<reference_existing_object>()); |
From: <ve...@us...> - 2015-02-15 18:07:21
|
Revision: 7941 http://sourceforge.net/p/freeorion/code/7941 Author: vezzra Date: 2015-02-15 18:07:12 +0000 (Sun, 15 Feb 2015) Log Message: ----------- Fixes to solve build errors on OSX (that turned up after trunk had been merged) - Fixed several settings in Xcode project - Reverted GG/Base.h to version of this branch prior to the merge. These changes broke things on OSX, whereas the version of the branch used to work on all platforms. Reverting fixed the build errors on OSX, and still builds fine on Win. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Base.h branches/SDL_Migration_And_Dependencies_Updates/Xcode/FreeOrion.xcodeproj/project.pbxproj Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Base.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Base.h 2015-02-15 15:24:44 UTC (rev 7940) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Base.h 2015-02-15 18:07:12 UTC (rev 7941) @@ -31,21 +31,9 @@ #include <GG/Export.h> -// Causes extension functions to be declared -#define GL_GLEXT_PROTOTYPES 1 +// GL headers +#include <GL/glew.h> -// include OpenGL headers -#if defined(__APPLE__) && defined(__MACH__) -# include <OpenGL/gl.h> -# include <OpenGL/glu.h> -#elif defined(_WIN32) -# include <GL/glew.h> -#else -# include <GL/gl.h> -# include <GL/glu.h> -#endif -#include <GG/glext.h> - // include useful boost headers #include <boost/cstdint.hpp> #include <boost/signals2/signal.hpp> Modified: branches/SDL_Migration_And_Dependencies_Updates/Xcode/FreeOrion.xcodeproj/project.pbxproj =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/Xcode/FreeOrion.xcodeproj/project.pbxproj 2015-02-15 15:24:44 UTC (rev 7940) +++ branches/SDL_Migration_And_Dependencies_Updates/Xcode/FreeOrion.xcodeproj/project.pbxproj 2015-02-15 18:07:12 UTC (rev 7941) @@ -35,7 +35,6 @@ /* Begin PBXBuildFile section */ 2F22EC0612F7F4CF00456CDE /* TechTreeLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F22EC0412F7F4CF00456CDE /* TechTreeLayout.cpp */; }; - 2F276A3B130401E000153050 /* GLClientAndServerBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F276A39130401E000153050 /* GLClientAndServerBuffer.cpp */; }; 2F60966512EEAD2200F58913 /* PlayerListWnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F60966312EEAD2200F58913 /* PlayerListWnd.cpp */; }; 2F60966B12EEAF0200F58913 /* GroupBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F60966A12EEAF0200F58913 /* GroupBox.cpp */; }; 2F60967E12EEB1AE00F58913 /* MessageQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47102FA40CEF565700A7DF2B /* MessageQueue.cpp */; }; @@ -84,7 +83,6 @@ 3A76046617499F8800363653 /* ShipDesignsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FA147E3B1B00B840A5 /* ShipDesignsParser.cpp */; }; 3A76046717499F9600363653 /* ShipHullsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FB147E3B1B00B840A5 /* ShipHullsParser.cpp */; }; 3A76046817499FA400363653 /* ShipPartsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FC147E3B1B00B840A5 /* ShipPartsParser.cpp */; }; - 3A76046917499FA700363653 /* ShipPartStatsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82D68C6D15F4F720006B772D /* ShipPartStatsParser.cpp */; }; 3A76046A17499FBD00363653 /* SpecialsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FD147E3B1B00B840A5 /* SpecialsParser.cpp */; }; 3A76046B1749A01600363653 /* SpeciesParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FE147E3B1B00B840A5 /* SpeciesParser.cpp */; }; 3A76046E1749A03E00363653 /* StarTypeValueRefParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 825936FF147E3B1B00B840A5 /* StarTypeValueRefParser.cpp */; }; @@ -292,6 +290,7 @@ 8242C81C176B0C8E001E1CF2 /* ScopedTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8242C81A176B0C8E001E1CF2 /* ScopedTimer.cpp */; }; 8246FED0194D8F83008C07B5 /* IntComplexValueRefParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8246FECF194D8F83008C07B5 /* IntComplexValueRefParser.cpp */; }; 8250FDE515FCEFDE00523C1C /* Field.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8250FDE315FCEFDD00523C1C /* Field.cpp */; }; + 8257A8D71A90BA610006777D /* GLClientAndServerBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8257A8D61A90BA610006777D /* GLClientAndServerBuffer.cpp */; }; 82592EF0147E381B00B840A5 /* EffectAccounting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82592EEF147E381B00B840A5 /* EffectAccounting.cpp */; }; 82592EF6147E387100B840A5 /* ObjectMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82592EF3147E387100B840A5 /* ObjectMap.cpp */; }; 825E7259196EC28A00F8114D /* default in Resources */ = {isa = PBXBuildFile; fileRef = 825E7258196EC28A00F8114D /* default */; }; @@ -446,6 +445,13 @@ remoteGlobalIDString = 82C073D8149DE46200E76876; remoteInfo = Parse; }; + 8257A8D51A90B7EF0006777D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 829C76351689EFD4005881B4; + remoteInfo = Configure; + }; 829C763E1689F0EA005881B4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; @@ -538,8 +544,6 @@ /* Begin PBXFileReference section */ 2F22EC0412F7F4CF00456CDE /* TechTreeLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TechTreeLayout.cpp; sourceTree = "<group>"; }; 2F22EC0512F7F4CF00456CDE /* TechTreeLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TechTreeLayout.h; sourceTree = "<group>"; }; - 2F276A39130401E000153050 /* GLClientAndServerBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLClientAndServerBuffer.cpp; sourceTree = "<group>"; }; - 2F276A3A130401E000153050 /* GLClientAndServerBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLClientAndServerBuffer.h; sourceTree = "<group>"; }; 2F60966312EEAD2200F58913 /* PlayerListWnd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayerListWnd.cpp; sourceTree = "<group>"; }; 2F60966412EEAD2200F58913 /* PlayerListWnd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayerListWnd.h; sourceTree = "<group>"; }; 2F60966A12EEAF0200F58913 /* GroupBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupBox.cpp; sourceTree = "<group>"; }; @@ -580,61 +584,6 @@ 34BAB0BE0FC5CD7300EF792E /* DefaultFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultFont.h; sourceTree = "<group>"; }; 34BAB0C20FC5CDC400EF792E /* FontFwd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontFwd.h; sourceTree = "<group>"; }; 34BAB0C30FC5CDC400EF792E /* MultiEditFwd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiEditFwd.h; sourceTree = "<group>"; }; - 34BAB1B00FC5CFE500EF792E /* algorithm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = algorithm.hpp; sourceTree = "<group>"; }; - 34BAB1B10FC5CFE500EF792E /* bit_aligned_pixel_iterator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bit_aligned_pixel_iterator.hpp; sourceTree = "<group>"; }; - 34BAB1B20FC5CFE500EF792E /* bit_aligned_pixel_reference.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bit_aligned_pixel_reference.hpp; sourceTree = "<group>"; }; - 34BAB1B30FC5CFE500EF792E /* channel.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = channel.hpp; sourceTree = "<group>"; }; - 34BAB1B40FC5CFE500EF792E /* channel_algorithm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = channel_algorithm.hpp; sourceTree = "<group>"; }; - 34BAB1B50FC5CFE500EF792E /* cmyk.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = cmyk.hpp; sourceTree = "<group>"; }; - 34BAB1B60FC5CFE500EF792E /* color_base.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = color_base.hpp; sourceTree = "<group>"; }; - 34BAB1B70FC5CFE500EF792E /* color_base_algorithm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = color_base_algorithm.hpp; sourceTree = "<group>"; }; - 34BAB1B80FC5CFE500EF792E /* color_convert.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = color_convert.hpp; sourceTree = "<group>"; }; - 34BAB1B90FC5CFE500EF792E /* deprecated.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = deprecated.hpp; sourceTree = "<group>"; }; - 34BAB1BA0FC5CFE500EF792E /* device_n.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = device_n.hpp; sourceTree = "<group>"; }; - 34BAB1BD0FC5CFE500EF792E /* algorithm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = algorithm.hpp; sourceTree = "<group>"; }; - 34BAB1BE0FC5CFE500EF792E /* any_image.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = any_image.hpp; sourceTree = "<group>"; }; - 34BAB1BF0FC5CFE500EF792E /* any_image_view.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = any_image_view.hpp; sourceTree = "<group>"; }; - 34BAB1C00FC5CFE500EF792E /* apply_operation.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = apply_operation.hpp; sourceTree = "<group>"; }; - 34BAB1C10FC5CFE500EF792E /* apply_operation_base.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = apply_operation_base.hpp; sourceTree = "<group>"; }; - 34BAB1C20FC5CFE500EF792E /* dynamic_at_c.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dynamic_at_c.hpp; sourceTree = "<group>"; }; - 34BAB1C30FC5CFE500EF792E /* dynamic_image_all.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dynamic_image_all.hpp; sourceTree = "<group>"; }; - 34BAB1C40FC5CFE500EF792E /* image_view_factory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = image_view_factory.hpp; sourceTree = "<group>"; }; - 34BAB1C50FC5CFE500EF792E /* reduce.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = reduce.hpp; sourceTree = "<group>"; }; - 34BAB1C60FC5CFE500EF792E /* variant.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = variant.hpp; sourceTree = "<group>"; }; - 34BAB1C80FC5CFE500EF792E /* dynamic_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dynamic_io.hpp; sourceTree = "<group>"; }; - 34BAB1C90FC5CFE500EF792E /* io_error.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = io_error.hpp; sourceTree = "<group>"; }; - 34BAB1CA0FC5CFE500EF792E /* jpeg_dynamic_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = jpeg_dynamic_io.hpp; sourceTree = "<group>"; }; - 34BAB1CB0FC5CFE500EF792E /* jpeg_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = jpeg_io.hpp; sourceTree = "<group>"; }; - 34BAB1CC0FC5CFE500EF792E /* jpeg_io_private.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = jpeg_io_private.hpp; sourceTree = "<group>"; }; - 34BAB1CD0FC5CFE500EF792E /* png_dynamic_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = png_dynamic_io.hpp; sourceTree = "<group>"; }; - 34BAB1CE0FC5CFE500EF792E /* png_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = png_io.hpp; sourceTree = "<group>"; }; - 34BAB1CF0FC5CFE500EF792E /* png_io_private.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = png_io_private.hpp; sourceTree = "<group>"; }; - 34BAB1D00FC5CFE500EF792E /* tiff_dynamic_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = tiff_dynamic_io.hpp; sourceTree = "<group>"; }; - 34BAB1D10FC5CFE500EF792E /* tiff_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = tiff_io.hpp; sourceTree = "<group>"; }; - 34BAB1D20FC5CFE500EF792E /* gil_all.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gil_all.hpp; sourceTree = "<group>"; }; - 34BAB1D30FC5CFE500EF792E /* gil_concept.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gil_concept.hpp; sourceTree = "<group>"; }; - 34BAB1D40FC5CFE500EF792E /* gil_config.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gil_config.hpp; sourceTree = "<group>"; }; - 34BAB1D50FC5CFE500EF792E /* gray.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gray.hpp; sourceTree = "<group>"; }; - 34BAB1D60FC5CFE500EF792E /* gray_alpha.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gray_alpha.hpp; sourceTree = "<group>"; }; - 34BAB1D70FC5CFE500EF792E /* image.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = image.hpp; sourceTree = "<group>"; }; - 34BAB1D80FC5CFE500EF792E /* image_view.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = image_view.hpp; sourceTree = "<group>"; }; - 34BAB1D90FC5CFE500EF792E /* image_view_factory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = image_view_factory.hpp; sourceTree = "<group>"; }; - 34BAB1DA0FC5CFE500EF792E /* iterator_from_2d.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = iterator_from_2d.hpp; sourceTree = "<group>"; }; - 34BAB1DB0FC5CFE500EF792E /* locator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = locator.hpp; sourceTree = "<group>"; }; - 34BAB1DC0FC5CFE500EF792E /* metafunctions.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = metafunctions.hpp; sourceTree = "<group>"; }; - 34BAB1DD0FC5CFE500EF792E /* packed_pixel.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = packed_pixel.hpp; sourceTree = "<group>"; }; - 34BAB1DE0FC5CFE500EF792E /* pixel.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pixel.hpp; sourceTree = "<group>"; }; - 34BAB1DF0FC5CFE500EF792E /* pixel_iterator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pixel_iterator.hpp; sourceTree = "<group>"; }; - 34BAB1E00FC5CFE500EF792E /* pixel_iterator_adaptor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pixel_iterator_adaptor.hpp; sourceTree = "<group>"; }; - 34BAB1E10FC5CFE500EF792E /* planar_pixel_iterator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = planar_pixel_iterator.hpp; sourceTree = "<group>"; }; - 34BAB1E20FC5CFE500EF792E /* planar_pixel_reference.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = planar_pixel_reference.hpp; sourceTree = "<group>"; }; - 34BAB1E30FC5CFE500EF792E /* position_iterator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = position_iterator.hpp; sourceTree = "<group>"; }; - 34BAB1E40FC5CFE500EF792E /* rgb.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = rgb.hpp; sourceTree = "<group>"; }; - 34BAB1E50FC5CFE500EF792E /* rgba.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = rgba.hpp; sourceTree = "<group>"; }; - 34BAB1E60FC5CFE500EF792E /* step_iterator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = step_iterator.hpp; sourceTree = "<group>"; }; - 34BAB1E70FC5CFE500EF792E /* typedefs.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = typedefs.hpp; sourceTree = "<group>"; }; - 34BAB1E80FC5CFE500EF792E /* utilities.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = utilities.hpp; sourceTree = "<group>"; }; - 34BAB1E90FC5CFE500EF792E /* virtual_locator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = virtual_locator.hpp; sourceTree = "<group>"; }; 34C44954118271590071E09A /* Math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Math.cpp; sourceTree = "<group>"; }; 34C44955118271590071E09A /* Math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Math.h; sourceTree = "<group>"; }; 34C44956118271590071E09A /* Serialize.ipp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Serialize.ipp; sourceTree = "<group>"; }; @@ -649,7 +598,6 @@ 34D3CE8A11D7DA03007C1E78 /* Species.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Species.cpp; sourceTree = "<group>"; }; 34D3CE8B11D7DA03007C1E78 /* Species.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Species.h; sourceTree = "<group>"; }; 34F0E427113F491C00A10EED /* Python.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Python.framework; sourceTree = "<group>"; }; - 3A01FCFD174A2B1600EC9110 /* ogre_plugins.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ogre_plugins.cfg; path = ../ogre_plugins.cfg; sourceTree = SOURCE_ROOT; }; 3A1BF3EA1748875200812237 /* Version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Version.cpp; path = ../util/Version.cpp; sourceTree = SOURCE_ROOT; }; 3A5105521748D68B00DC258B /* i18n.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = i18n.cpp; sourceTree = "<group>"; }; 3A5105531748D68B00DC258B /* i18n.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = i18n.h; sourceTree = "<group>"; }; @@ -1044,6 +992,9 @@ 8250FDE215FCEFC400523C1C /* FieldsParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FieldsParser.cpp; sourceTree = "<group>"; }; 8250FDE315FCEFDD00523C1C /* Field.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Field.cpp; sourceTree = "<group>"; }; 8250FDE415FCEFDE00523C1C /* Field.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Field.h; sourceTree = "<group>"; }; + 8257A8D61A90BA610006777D /* GLClientAndServerBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLClientAndServerBuffer.cpp; sourceTree = "<group>"; }; + 8257A8D81A90BA8C0006777D /* Export.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Export.h; sourceTree = "<group>"; }; + 8257A8D91A90BA8C0006777D /* GLClientAndServerBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLClientAndServerBuffer.h; sourceTree = "<group>"; }; 8258927D17BBD04400818596 /* EnableTemporaryFromThis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnableTemporaryFromThis.h; sourceTree = "<group>"; }; 82592EEB147E365700B840A5 /* CUISlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CUISlider.h; sourceTree = "<group>"; }; 82592EEE147E37FB00B840A5 /* EffectAccounting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EffectAccounting.h; sourceTree = "<group>"; }; @@ -1203,9 +1154,7 @@ 82D2D9A11838C8340011C212 /* ConditionParser5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConditionParser5.cpp; sourceTree = "<group>"; }; 82D2D9A21838C8340011C212 /* ConditionParser6.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConditionParser6.cpp; sourceTree = "<group>"; }; 82D563D51A6AEBD6007E1131 /* DoubleComplexValueRefParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DoubleComplexValueRefParser.cpp; sourceTree = "<group>"; }; - 82D563D61A6AEBD6007E1131 /* ParseImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseImpl.cpp; sourceTree = "<group>"; }; 82D68C6C15F4F720006B772D /* KeymapParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeymapParser.cpp; sourceTree = "<group>"; }; - 82D68C6D15F4F720006B772D /* ShipPartStatsParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShipPartStatsParser.cpp; sourceTree = "<group>"; }; 82D68C6E15F4F720006B772D /* ShipPartStatsParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShipPartStatsParser.h; sourceTree = "<group>"; }; 82E250AD19C2317700F0E2F2 /* libGLEW.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGLEW.a; sourceTree = "<group>"; }; 82E5238E192FE8CE001E2374 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; @@ -1351,7 +1300,6 @@ 1AB674ADFE9D54B511CA2CBB /* Products */ = { isa = PBXGroup; children = ( - 3A01FCFD174A2B1600EC9110 /* ogre_plugins.cfg */, 8DD76F6C0486A84900D96B5E /* FreeOrion */, 471D5A300A988D5700DA9C21 /* libGG.a */, 471D5D440A98A46000DA9C21 /* freeoriond */, @@ -1408,92 +1356,6 @@ name = Resources; sourceTree = "<group>"; }; - 34BAB1AF0FC5CFE500EF792E /* GIL */ = { - isa = PBXGroup; - children = ( - 34BAB1B00FC5CFE500EF792E /* algorithm.hpp */, - 34BAB1B10FC5CFE500EF792E /* bit_aligned_pixel_iterator.hpp */, - 34BAB1B20FC5CFE500EF792E /* bit_aligned_pixel_reference.hpp */, - 34BAB1B30FC5CFE500EF792E /* channel.hpp */, - 34BAB1B40FC5CFE500EF792E /* channel_algorithm.hpp */, - 34BAB1B50FC5CFE500EF792E /* cmyk.hpp */, - 34BAB1B60FC5CFE500EF792E /* color_base.hpp */, - 34BAB1B70FC5CFE500EF792E /* color_base_algorithm.hpp */, - 34BAB1B80FC5CFE500EF792E /* color_convert.hpp */, - 34BAB1B90FC5CFE500EF792E /* deprecated.hpp */, - 34BAB1BA0FC5CFE500EF792E /* device_n.hpp */, - 34BAB1BB0FC5CFE500EF792E /* extension */, - 34BAB1D20FC5CFE500EF792E /* gil_all.hpp */, - 34BAB1D30FC5CFE500EF792E /* gil_concept.hpp */, - 34BAB1D40FC5CFE500EF792E /* gil_config.hpp */, - 34BAB1D50FC5CFE500EF792E /* gray.hpp */, - 34BAB1D60FC5CFE500EF792E /* gray_alpha.hpp */, - 34BAB1D70FC5CFE500EF792E /* image.hpp */, - 34BAB1D80FC5CFE500EF792E /* image_view.hpp */, - 34BAB1D90FC5CFE500EF792E /* image_view_factory.hpp */, - 34BAB1DA0FC5CFE500EF792E /* iterator_from_2d.hpp */, - 34BAB1DB0FC5CFE500EF792E /* locator.hpp */, - 34BAB1DC0FC5CFE500EF792E /* metafunctions.hpp */, - 34BAB1DD0FC5CFE500EF792E /* packed_pixel.hpp */, - 34BAB1DE0FC5CFE500EF792E /* pixel.hpp */, - 34BAB1DF0FC5CFE500EF792E /* pixel_iterator.hpp */, - 34BAB1E00FC5CFE500EF792E /* pixel_iterator_adaptor.hpp */, - 34BAB1E10FC5CFE500EF792E /* planar_pixel_iterator.hpp */, - 34BAB1E20FC5CFE500EF792E /* planar_pixel_reference.hpp */, - 34BAB1E30FC5CFE500EF792E /* position_iterator.hpp */, - 34BAB1E40FC5CFE500EF792E /* rgb.hpp */, - 34BAB1E50FC5CFE500EF792E /* rgba.hpp */, - 34BAB1E60FC5CFE500EF792E /* step_iterator.hpp */, - 34BAB1E70FC5CFE500EF792E /* typedefs.hpp */, - 34BAB1E80FC5CFE500EF792E /* utilities.hpp */, - 34BAB1E90FC5CFE500EF792E /* virtual_locator.hpp */, - ); - path = GIL; - sourceTree = "<group>"; - }; - 34BAB1BB0FC5CFE500EF792E /* extension */ = { - isa = PBXGroup; - children = ( - 34BAB1BC0FC5CFE500EF792E /* dynamic_image */, - 34BAB1C70FC5CFE500EF792E /* io */, - ); - path = extension; - sourceTree = "<group>"; - }; - 34BAB1BC0FC5CFE500EF792E /* dynamic_image */ = { - isa = PBXGroup; - children = ( - 34BAB1BD0FC5CFE500EF792E /* algorithm.hpp */, - 34BAB1BE0FC5CFE500EF792E /* any_image.hpp */, - 34BAB1BF0FC5CFE500EF792E /* any_image_view.hpp */, - 34BAB1C00FC5CFE500EF792E /* apply_operation.hpp */, - 34BAB1C10FC5CFE500EF792E /* apply_operation_base.hpp */, - 34BAB1C20FC5CFE500EF792E /* dynamic_at_c.hpp */, - 34BAB1C30FC5CFE500EF792E /* dynamic_image_all.hpp */, - 34BAB1C40FC5CFE500EF792E /* image_view_factory.hpp */, - 34BAB1C50FC5CFE500EF792E /* reduce.hpp */, - 34BAB1C60FC5CFE500EF792E /* variant.hpp */, - ); - path = dynamic_image; - sourceTree = "<group>"; - }; - 34BAB1C70FC5CFE500EF792E /* io */ = { - isa = PBXGroup; - children = ( - 34BAB1C80FC5CFE500EF792E /* dynamic_io.hpp */, - 34BAB1C90FC5CFE500EF792E /* io_error.hpp */, - 34BAB1CA0FC5CFE500EF792E /* jpeg_dynamic_io.hpp */, - 34BAB1CB0FC5CFE500EF792E /* jpeg_io.hpp */, - 34BAB1CC0FC5CFE500EF792E /* jpeg_io_private.hpp */, - 34BAB1CD0FC5CFE500EF792E /* png_dynamic_io.hpp */, - 34BAB1CE0FC5CFE500EF792E /* png_io.hpp */, - 34BAB1CF0FC5CFE500EF792E /* png_io_private.hpp */, - 34BAB1D00FC5CFE500EF792E /* tiff_dynamic_io.hpp */, - 34BAB1D10FC5CFE500EF792E /* tiff_io.hpp */, - ); - path = io; - sourceTree = "<group>"; - }; 471023380CEF3AAB00A7DF2B /* GG */ = { isa = PBXGroup; children = ( @@ -1531,10 +1393,12 @@ 4710234E0CEF3AAB00A7DF2B /* Enum.h */, 4710234F0CEF3AAB00A7DF2B /* EventPump.h */, 471023500CEF3AAB00A7DF2B /* Exception.h */, + 8257A8D81A90BA8C0006777D /* Export.h */, 471023510CEF3AAB00A7DF2B /* Flags.h */, 471023520CEF3AAB00A7DF2B /* Font.h */, 34BAB0C20FC5CDC400EF792E /* FontFwd.h */, 471023530CEF3AAB00A7DF2B /* gen_signals.py */, + 8257A8D91A90BA8C0006777D /* GLClientAndServerBuffer.h */, 471023540CEF3AAB00A7DF2B /* glext.h */, 2F60966C12EEAF2C00F58913 /* GroupBox.h */, 471023550CEF3AAB00A7DF2B /* GUI.h */, @@ -1621,6 +1485,7 @@ 471023A10CEF3AAC00A7DF2B /* Edit.cpp */, 471023A20CEF3AAC00A7DF2B /* EventPump.cpp */, 471023A30CEF3AAC00A7DF2B /* Font.cpp */, + 8257A8D61A90BA610006777D /* GLClientAndServerBuffer.cpp */, 2F60966A12EEAF0200F58913 /* GroupBox.cpp */, 471023A40CEF3AAC00A7DF2B /* GUI.cpp */, 471023A50CEF3AAC00A7DF2B /* Layout.cpp */, @@ -1887,8 +1752,6 @@ 471D5CBD0A98A3F900DA9C21 /* FleetWnd.h */, 471D5CC00A98A3F900DA9C21 /* GalaxySetupWnd.cpp */, 471D5CC10A98A3F900DA9C21 /* GalaxySetupWnd.h */, - 2F276A39130401E000153050 /* GLClientAndServerBuffer.cpp */, - 2F276A3A130401E000153050 /* GLClientAndServerBuffer.h */, 82B9D445180C53FE0032F86D /* GraphControl.cpp */, 82B9D446180C53FE0032F86D /* GraphControl.h */, 820BDECB1848A93E009BC457 /* Hotkeys.cpp */, @@ -2309,7 +2172,6 @@ 825936F0147E3B1B00B840A5 /* MonsterFleetPlansParser.cpp */, 825936F1147E3B1B00B840A5 /* Parse.cpp */, 825936F2147E3B1B00B840A5 /* Parse.h */, - 82D563D61A6AEBD6007E1131 /* ParseImpl.cpp */, 825936F3147E3B1B00B840A5 /* ParseImpl.h */, 825936F5147E3B1B00B840A5 /* PlanetEnvironmentValueRefParser.cpp */, 825936F6147E3B1B00B840A5 /* PlanetSizeValueRefParser.cpp */, @@ -2319,7 +2181,6 @@ 825936FA147E3B1B00B840A5 /* ShipDesignsParser.cpp */, 825936FB147E3B1B00B840A5 /* ShipHullsParser.cpp */, 825936FC147E3B1B00B840A5 /* ShipPartsParser.cpp */, - 82D68C6D15F4F720006B772D /* ShipPartStatsParser.cpp */, 82D68C6E15F4F720006B772D /* ShipPartStatsParser.h */, 825936FD147E3B1B00B840A5 /* SpecialsParser.cpp */, 825936FE147E3B1B00B840A5 /* SpeciesParser.cpp */, @@ -2814,6 +2675,7 @@ 4710242A0CEF3AAC00A7DF2B /* StaticGraphic.cpp in Sources */, 4710242B0CEF3AAC00A7DF2B /* StyleFactory.cpp in Sources */, 4710242C0CEF3AAC00A7DF2B /* TabWnd.cpp in Sources */, + 8257A8D71A90BA610006777D /* GLClientAndServerBuffer.cpp in Sources */, 4710242D0CEF3AAC00A7DF2B /* TextControl.cpp in Sources */, 8289A72919BDB307001256C1 /* SDLGUI.cpp in Sources */, 4710242E0CEF3AAC00A7DF2B /* Texture.cpp in Sources */, @@ -2961,7 +2823,6 @@ 8295CEC71A88FFF8000EE624 /* StringComplexValueRefParser.cpp in Sources */, 3A76046717499F9600363653 /* ShipHullsParser.cpp in Sources */, 3A76046817499FA400363653 /* ShipPartsParser.cpp in Sources */, - 3A76046917499FA700363653 /* ShipPartStatsParser.cpp in Sources */, 3A76046A17499FBD00363653 /* SpecialsParser.cpp in Sources */, 3A76046B1749A01600363653 /* SpeciesParser.cpp in Sources */, 3A76046E1749A03E00363653 /* StarTypeValueRefParser.cpp in Sources */, @@ -3103,7 +2964,7 @@ 82728DE81A49A0360034F4FE /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 829C76351689EFD4005881B4 /* Configure */; - targetProxy = 82728DE71A49A0360034F4FE /* PBXContainerItemProxy */; + targetProxy = 8257A8D51A90B7EF0006777D /* PBXContainerItemProxy */; }; 829C763F1689F0EA005881B4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -3136,21 +2997,10 @@ 1DEB923208733DC60010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/Frameworks", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_HUMAN, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - "$(PROJECT_DIR)/dep/dyn_lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = FreeOrion; ZERO_LINK = NO; @@ -3185,7 +3035,8 @@ "\"$(SOURCE_ROOT)/../log4cpp\"", "\"$(SOURCE_ROOT)/../network\"", "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/SDK2.framework/Headers\"", + "\"$(SOURCE_ROOT)/dep/Frameworks/SDL2.framework/Headers\"", + "\"$(SOURCE_ROOT)/..\"", ); LD_GENERATE_MAP_FILE = YES; LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/dep/lib\""; @@ -3205,11 +3056,6 @@ 3402E25F0F5A317400DF6FE7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_DYNAMIC_NO_PIC = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; INFOPLIST_FILE = Info.plist; OTHER_LDFLAGS = ( "-framework", @@ -3222,23 +3068,7 @@ 47103BE40CF04DC700A7DF2B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - HEADER_SEARCH_PATHS = ( - "\"$(SOURCE_ROOT)/..\"", - "\"$(SOURCE_ROOT)/dep/include\"", - "\"$(SOURCE_ROOT)/dep/include/bullet\"", - "\"$(SOURCE_ROOT)/../GG\"", - "\"$(SOURCE_ROOT)/../OIS\"", - "\"$(SOURCE_ROOT)/../OpenSteer/include\"", - "\"$(SOURCE_ROOT)/../log4cpp\"", - "\"$(SOURCE_ROOT)/../network\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Ogre.framework/Headers\"", - ); LD_DYLIB_INSTALL_NAME = "@executable_path/../SharedSupport/$(EXECUTABLE_PATH)"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = ( "-fvisibility=hidden", "-undefined", @@ -3260,19 +3090,10 @@ 471D5D6C0A98A48500DA9C21 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/Frameworks\"", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_SERVER, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeoriond; ZERO_LINK = NO; @@ -3286,12 +3107,6 @@ "$(inherited)", FREEORION_BUILD_AI, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeorionca; ZERO_LINK = NO; @@ -3333,7 +3148,8 @@ "\"$(SOURCE_ROOT)/../log4cpp\"", "\"$(SOURCE_ROOT)/../network\"", "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/SDK2.framework/Headers\"", + "\"$(SOURCE_ROOT)/dep/Frameworks/SDL2.framework/Headers\"", + "\"$(SOURCE_ROOT)/..\"", ); LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/dep/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.7; @@ -3374,23 +3190,7 @@ 8218682E14A9F82D009441B8 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { - HEADER_SEARCH_PATHS = ( - "\"$(SOURCE_ROOT)/..\"", - "\"$(SOURCE_ROOT)/dep/include\"", - "\"$(SOURCE_ROOT)/dep/include/bullet\"", - "\"$(SOURCE_ROOT)/../GG\"", - "\"$(SOURCE_ROOT)/../OIS\"", - "\"$(SOURCE_ROOT)/../OpenSteer/include\"", - "\"$(SOURCE_ROOT)/../log4cpp\"", - "\"$(SOURCE_ROOT)/../network\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Ogre.framework/Headers\"", - ); LD_DYLIB_INSTALL_NAME = "@executable_path/../SharedSupport/$(EXECUTABLE_PATH)"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = ( "-fvisibility=hidden", "-undefined", @@ -3412,19 +3212,10 @@ 8218683014A9F82D009441B8 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/Frameworks\"", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_SERVER, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeoriond; ZERO_LINK = NO; @@ -3434,21 +3225,10 @@ 8218683114A9F82D009441B8 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/Frameworks", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_HUMAN, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - "$(PROJECT_DIR)/dep/dyn_lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = FreeOrion; ZERO_LINK = NO; @@ -3462,12 +3242,6 @@ "$(inherited)", FREEORION_BUILD_AI, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeorionca; ZERO_LINK = NO; @@ -3477,11 +3251,6 @@ 8218683314A9F82D009441B8 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_DYNAMIC_NO_PIC = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; INFOPLIST_FILE = Info.plist; OTHER_LDFLAGS = ( "-framework", @@ -3495,7 +3264,6 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = log4cpp; - USER_HEADER_SEARCH_PATHS = "\"$(SOURCE_ROOT)/../OIS/OIS\""; ZERO_LINK = NO; }; name = Debug; @@ -3504,7 +3272,6 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = log4cpp; - USER_HEADER_SEARCH_PATHS = "\"$(SOURCE_ROOT)/../OIS/OIS\""; ZERO_LINK = NO; }; name = Test; @@ -3537,7 +3304,8 @@ "\"$(SOURCE_ROOT)/../log4cpp\"", "\"$(SOURCE_ROOT)/../network\"", "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/SDK2.framework/Headers\"", + "\"$(SOURCE_ROOT)/dep/Frameworks/SDL2.framework/Headers\"", + "\"$(SOURCE_ROOT)/..\"", ); LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/dep/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.7; @@ -3565,7 +3333,6 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = log4cpp; - USER_HEADER_SEARCH_PATHS = "\"$(SOURCE_ROOT)/../OIS/OIS\""; ZERO_LINK = NO; }; name = Release; @@ -3587,23 +3354,7 @@ 8221B251160F2211007D86B9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - HEADER_SEARCH_PATHS = ( - "\"$(SOURCE_ROOT)/..\"", - "\"$(SOURCE_ROOT)/dep/include\"", - "\"$(SOURCE_ROOT)/dep/include/bullet\"", - "\"$(SOURCE_ROOT)/../GG\"", - "\"$(SOURCE_ROOT)/../OIS\"", - "\"$(SOURCE_ROOT)/../OpenSteer/include\"", - "\"$(SOURCE_ROOT)/../log4cpp\"", - "\"$(SOURCE_ROOT)/../network\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Python.framework/Headers\"", - "\"$(SOURCE_ROOT)/dep/Frameworks/Ogre.framework/Headers\"", - ); LD_DYLIB_INSTALL_NAME = "@executable_path/../SharedSupport/$(EXECUTABLE_PATH)"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = ( "-fvisibility=hidden", "-undefined", @@ -3625,19 +3376,10 @@ 8221B253160F2211007D86B9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/Frameworks\"", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_SERVER, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeoriond; ZERO_LINK = NO; @@ -3647,21 +3389,10 @@ 8221B254160F2211007D86B9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dep/Frameworks", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", FREEORION_BUILD_HUMAN, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - "$(PROJECT_DIR)/dep/dyn_lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = FreeOrion; ZERO_LINK = NO; @@ -3675,12 +3406,6 @@ "$(inherited)", FREEORION_BUILD_AI, ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/dep/lib\"", - "\"$(SRCROOT)/dep/dyn_lib\"", - "$(PROJECT_DIR)/dep/lib", - ); OTHER_LDFLAGS = "-fvisibility=hidden"; PRODUCT_NAME = freeorionca; ZERO_LINK = NO; @@ -3690,11 +3415,6 @@ 8221B256160F2211007D86B9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_DYNAMIC_NO_PIC = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; INFOPLIST_FILE = Info.plist; OTHER_LDFLAGS = ( "-framework", @@ -3708,8 +3428,6 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; PRODUCT_NAME = INIT; }; name = Debug; @@ -3727,7 +3445,6 @@ COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; PRODUCT_NAME = INIT; - ZERO_LINK = NO; }; name = Release; }; @@ -3749,8 +3466,6 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; PRODUCT_NAME = MakeDMG; }; name = Debug; @@ -3768,7 +3483,6 @@ COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; PRODUCT_NAME = MakeDMG; - ZERO_LINK = NO; }; name = Release; }; |
From: <dil...@us...> - 2015-02-16 20:36:55
|
Revision: 7951 http://sourceforge.net/p/freeorion/code/7951 Author: dilvish-fo Date: 2015-02-16 20:36:52 +0000 (Mon, 16 Feb 2015) Log Message: ----------- sdl branch cmake adjustments Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt branches/SDL_Migration_And_Dependencies_Updates/parse/CMakeLists.txt Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2015-02-15 22:34:09 UTC (rev 7950) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2015-02-16 20:36:52 UTC (rev 7951) @@ -74,7 +74,7 @@ ../../UI/FleetButton.h ../../UI/FleetWnd.h ../../UI/GalaxySetupWnd.h - ../../UI/GLClientAndServerBuffer.h + ../../GG/GG/GLClientAndServerBuffer.h ../../UI/GraphControl.h ../../UI/Hotkeys.h ../../UI/InfoPanels.h @@ -125,7 +125,7 @@ ../../UI/FleetButton.cpp ../../UI/FleetWnd.cpp ../../UI/GalaxySetupWnd.cpp - ../../UI/GLClientAndServerBuffer.cpp + ../../GG/src/GLClientAndServerBuffer.cpp ../../UI/GraphControl.cpp ../../UI/Hotkeys.cpp ../../UI/InfoPanels.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/parse/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/parse/CMakeLists.txt 2015-02-15 22:34:09 UTC (rev 7950) +++ branches/SDL_Migration_And_Dependencies_Updates/parse/CMakeLists.txt 2015-02-16 20:36:52 UTC (rev 7951) @@ -21,7 +21,6 @@ Parse.h ParseImpl.h ReportParseError.h - ShipPartStatsParser.h Tokens.h ValueRefParser.h ValueRefParserImpl.h @@ -67,7 +66,6 @@ ShipDesignsParser.cpp ShipHullsParser.cpp ShipPartsParser.cpp - ShipPartStatsParser.cpp SpecialsParser.cpp SpeciesParser.cpp StarTypeValueRefParser.cpp |
From: <dil...@us...> - 2015-02-16 21:32:03
|
Revision: 7952 http://sourceforge.net/p/freeorion/code/7952 Author: dilvish-fo Date: 2015-02-16 21:31:55 +0000 (Mon, 16 Feb 2015) Log Message: ----------- additional sdl branch cmake cleanup re Ogre Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt branches/SDL_Migration_And_Dependencies_Updates/GG/CMakeLists.txt branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt Modified: branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt 2015-02-16 20:36:52 UTC (rev 7951) +++ branches/SDL_Migration_And_Dependencies_Updates/CMakeLists.txt 2015-02-16 21:31:55 UTC (rev 7952) @@ -450,7 +450,6 @@ install( FILES OIS.dll - OgreMain.dll OpenAL32.dll Plugin_OctreeSceneManager.dll Plugin_ParticleFX.dll Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/CMakeLists.txt 2015-02-16 20:36:52 UTC (rev 7951) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/CMakeLists.txt 2015-02-16 21:31:55 UTC (rev 7952) @@ -47,10 +47,10 @@ ON) option(BUILD_OGRE_DRIVER "Builds GG Ogre support (the GiGiOgre library)." - ON) + OFF) option(BUILD_OGRE_OIS_PLUGIN "Builds OIS input plugin for the GiGiOgre library." - ON) + OFF) option(BUILD_DOCUMENTATION "Builds HTML documentation (requires Doxygen)." OFF) @@ -289,21 +289,21 @@ DEPENDS COMPONENT_GIGI ) -cpack_add_component( - COMPONENT_GIGIOGRE - DISPLAY_NAME GiGiOgre - DESCRIPTION "An Ogre input driver (http://www.ogre3d.org). Note that Ogre itself does not include proper input support. The OIS input plugin is recommended." - GROUP COMPONENT_GROUP_RUNTIME - DEPENDS COMPONENT_GIGI -) +# cpack_add_component( +# COMPONENT_GIGIOGRE +# DISPLAY_NAME GiGiOgre +# DESCRIPTION "An Ogre input driver (http://www.ogre3d.org). Note that Ogre itself does not include proper input support. The OIS input plugin is recommended." +# GROUP COMPONENT_GROUP_RUNTIME +# DEPENDS COMPONENT_GIGI +# ) -cpack_add_component( - COMPONENT_GIGIOGREPLUGIN_OIS - DISPLAY_NAME "GiGiOgre OIS Plugin" - DESCRIPTION "An Ogre plugin using OIS (http://sourceforge.net/projects/wgois)." - GROUP COMPONENT_GROUP_RUNTIME - DEPENDS COMPONENT_GIGIOGRE -) +# cpack_add_component( +# COMPONENT_GIGIOGREPLUGIN_OIS +# DISPLAY_NAME "GiGiOgre OIS Plugin" +# DESCRIPTION "An Ogre plugin using OIS (http://sourceforge.net/projects/wgois)." +# GROUP COMPONENT_GROUP_RUNTIME +# DEPENDS COMPONENT_GIGIOGRE +# ) cpack_add_component( COMPONENT_GIGI_DEVEL @@ -321,21 +321,21 @@ DEPENDS COMPONENT_GIGI_DEVEL COMPONENT_GIGISDL ) -cpack_add_component( - COMPONENT_GIGIOGRE_DEVEL - DISPLAY_NAME "GiGiOgre" - DESCRIPTION "The files necessary to do development with GiGiOgre." - GROUP COMPONENT_GROUP_DEVEL - DEPENDS COMPONENT_GIGI_DEVEL COMPONENT_GIGIOGRE -) +# cpack_add_component( +# COMPONENT_GIGIOGRE_DEVEL +# DISPLAY_NAME "GiGiOgre" +# DESCRIPTION "The files necessary to do development with GiGiOgre." +# GROUP COMPONENT_GROUP_DEVEL +# DEPENDS COMPONENT_GIGI_DEVEL COMPONENT_GIGIOGRE +# ) -cpack_add_component( - COMPONENT_GIGIOGREPLUGIN_OIS_DEVEL - DISPLAY_NAME "GiGiOgre OIS Plugin" - DESCRIPTION "The files necessary to do development with GiGiOgre's OIS Plugin. Only required for users who are statically linking against Ogre, and want to link to the OIS plugin at link-time." - GROUP COMPONENT_GROUP_DEVEL - DEPENDS COMPONENT_GIGIOGRE_DEVEL COMPONENT_GIGIOGREPLUGIN_OIS -) +# cpack_add_component( +# COMPONENT_GIGIOGREPLUGIN_OIS_DEVEL +# DISPLAY_NAME "GiGiOgre OIS Plugin" +# DESCRIPTION "The files necessary to do development with GiGiOgre's OIS Plugin. Only required for users who are statically linking against Ogre, and want to link to the OIS plugin at link-time." +# GROUP COMPONENT_GROUP_DEVEL +# DEPENDS COMPONENT_GIGIOGRE_DEVEL COMPONENT_GIGIOGREPLUGIN_OIS +# ) cpack_add_component_group( COMPONENT_GROUP_RUNTIME Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2015-02-16 20:36:52 UTC (rev 7951) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/CMakeLists.txt 2015-02-16 21:31:55 UTC (rev 7952) @@ -13,7 +13,6 @@ endif () find_package(OpenAL REQUIRED) -find_package(OGRE REQUIRED) # Use pkg config to find sdl2 details, # since there is no official FindSDL2.cmake INCLUDE(FindPkgConfig) @@ -30,7 +29,6 @@ ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS} ${OPENAL_INCLUDE_DIR} - ${OGRE_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${OGG_INCLUDE_DIR} ${VORBIS_INCLUDE_DIR} @@ -164,7 +162,6 @@ ${GLEW_LIBRARIES} ${OPENAL_LIBRARY} ${Boost_LIBRARIES} - ${OGRE_LIBRARIES} ${SDL2_LIBRARIES} ${OGG_LIBRARY} ${VORBIS_LIBRARIES} |
From: <ve...@us...> - 2015-02-18 19:23:24
|
Revision: 7961 http://sourceforge.net/p/freeorion/code/7961 Author: vezzra Date: 2015-02-18 19:23:21 +0000 (Wed, 18 Feb 2015) Log Message: ----------- Merged from trunk (up to r7957) Revision Links: -------------- http://sourceforge.net/p/freeorion/code/7957 Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp branches/SDL_Migration_And_Dependencies_Updates/AI/PythonAI.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/ObjectListWnd.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp branches/SDL_Migration_And_Dependencies_Updates/default/AI/ExplorationAI.py branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp branches/SDL_Migration_And_Dependencies_Updates/server/ServerApp.cpp Added Paths: ----------- branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_huge/worldtree.png branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_large/worldtree.png branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_tiny/worldtree.png Modified: branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/AI/AIInterface.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -154,10 +154,10 @@ { return AIClientApp::GetApp()->CurrentTurn(); } std::string GetAIConfigStr() - { return GetOptionsDB().GetValueString("ai-config"); } + { return GetOptionsDB().Get<std::string>("ai-config"); } std::string GetAIDir() - { return (GetResourceDir() / GetOptionsDB().GetValueString("ai-path")).string(); } + { return (GetResourceDir() / GetOptionsDB().Get<std::string>("ai-path")).string(); } const GalaxySetupData& GetGalaxySetupData() { return AIClientApp::GetApp()->GetGalaxySetupData(); } Modified: branches/SDL_Migration_And_Dependencies_Updates/AI/PythonAI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/AI/PythonAI.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/AI/PythonAI.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -285,7 +285,7 @@ try { // tell Python the path in which to locate AI script file - std::string AI_path = (GetResourceDir() / GetOptionsDB().GetValueString("ai-path")).string(); + std::string AI_path = (GetResourceDir() / GetOptionsDB().Get<std::string>("ai-path")).string(); std::string path_command = "sys.path.append(r'" + AI_path + "')"; object ignored = exec(path_command.c_str(), s_main_namespace, s_main_namespace); Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/ObjectListWnd.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/ObjectListWnd.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/ObjectListWnd.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -1137,8 +1137,16 @@ m_selected(false) { SetChildClippingMode(ClipToClient); + TemporaryPtr<const ResourceCenter> rcobj = boost::dynamic_pointer_cast<const ResourceCenter>(obj); + if (rcobj) + GG::Connect(rcobj->ResourceCenterChangedSignal, &ObjectPanel::RCChanged, this); } + void RCChanged() { + RefreshCache(); + Refresh(); + } + std::string SortKey(std::size_t column) const { if (column >= m_column_val_cache.size()) RefreshCache(); Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -326,8 +326,8 @@ #endif std::vector<std::string> args; - std::string ai_config = GetOptionsDB().GetValueString("ai-config"); - std::string ai_path = GetOptionsDB().GetValueString("ai-path"); + std::string ai_config = GetOptionsDB().Get<std::string>("ai-config"); + std::string ai_path = GetOptionsDB().Get<std::string>("ai-path"); args.push_back("\"" + SERVER_CLIENT_EXE + "\""); args.push_back("--resource-dir"); args.push_back("\"" + GetOptionsDB().Get<std::string>("resource-dir") + "\""); Modified: branches/SDL_Migration_And_Dependencies_Updates/default/AI/ExplorationAI.py =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/default/AI/ExplorationAI.py 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/default/AI/ExplorationAI.py 2015-02-18 19:23:21 UTC (rev 7961) @@ -135,15 +135,16 @@ else: pre_vis = "an unknown system" if fo.currentTurn() < 50: - print "*** system ID %d ( %s ) ; previously %s, new visibility_turns vector is %s " % (cur_system_id, sys_name, pre_vis, [turn for turn in universe.getVisibilityTurns(cur_system_id, empire_id)]) + visibility_turn_list = sorted(dict_from_map(universe.getVisibilityTurnsMap(cur_system_id, empire_id)).items(), + key=lambda x: x[0].numerator) + visibility_info = ['%s: %s' % (vis.name, turn) for vis, turn in visibility_turn_list] + print "*** system ID %d ( %s ) ; previously %s, new visibility turns info: %s " % (cur_system_id, sys_name, pre_vis, visibility_info) status_str = "*** system ID %d ( %s ) ; " % (cur_system_id, sys_name) - is_visible = universe.getVisibilityTurns(cur_system_id, empire_id)[fo.visibility.partial] > 0 # more precisely, this means HAS BEEN visible - #print "previous visTurns result: %s"% ([val for val in universe.getVisibilityTurns(cur_system_id, empire_id)], ) - #print "new visTurns result: %s"% (dictFromMap( universe.getVisibilityTurnsMap(cur_system_id, empire_id)), ) + has_been_visible = dict_from_map(universe.getVisibilityTurnsMap(cur_system_id, empire_id)).get(fo.visibility.partial, 0) > 0 is_connected = universe.systemsConnected(cur_system_id, home_system_id, -1) # self.empire_id) - status_str += " -- is %s partially visible " % (["not", ""][is_visible]) + status_str += " -- is %s partially visible " % (["not", ""][has_been_visible]) status_str += " -- is %s visibly connected to homesystem " % (["not", ""][is_connected]) - if is_visible: + if has_been_visible: sys_status = foAI.foAIstate.systemStatus.setdefault(cur_system_id, {}) foAI.foAIstate.visInteriorSystemIDs[cur_system_id] = 1 if cur_system_id in foAI.foAIstate.visBorderSystemIDs: Copied: branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_huge/worldtree.png (from rev 7957, trunk/FreeOrion/default/data/art/icons/specials_huge/worldtree.png) =================================================================== (Binary files differ) Copied: branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_large/worldtree.png (from rev 7957, trunk/FreeOrion/default/data/art/icons/specials_large/worldtree.png) =================================================================== (Binary files differ) Copied: branches/SDL_Migration_And_Dependencies_Updates/default/data/art/icons/specials_tiny/worldtree.png (from rev 7957, trunk/FreeOrion/default/data/art/icons/specials_tiny/worldtree.png) =================================================================== (Binary files differ) Modified: branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/default/stringtables/en.txt 2015-02-18 19:23:21 UTC (rev 7961) @@ -3659,7 +3659,7 @@ SUPPLY_TITLE Supply SUPPLY_TEXT -'''Supply lines are shown by coloring star-lanes with an empire's color. Planets connected by supply lines can share physical resources -- production created on one planet, can be used on any connected planet to build ships or structures. Supply lines can also be used to refill the [[encyclopedia FUEL_TITLE]] supply of ships. +'''Supply lines are shown by coloring star-lanes with an empire's color. Planets connected by supply lines can share physical resources -- production created on one planet, can be used on any connected planet to build ships or structures. A set of systems with supply connections between them are called a 'Resource Group'. Supply lines can also be used to refill the [[encyclopedia FUEL_TITLE]] supply of ships. A set of core supply starlanes for an empire (the set of least-jump starlanes connecting the resource-producing systems of each Resource Group) will have greater thickness than the non-core starlanes. If PP is currently being wasted within the Resource Group the outer bands of the core starlanes will be a contrasting color. The supply meter on a planet represents the number of star-lanes supply can reach.''' @@ -9510,7 +9510,9 @@ Ground Troop Pod GT_TROOP_POD_DESC -Carries 2 units of ground [[encyclopedia TROOP_TITLE]] and equipment that can be deployed onto a planet. The troops can only be used for one invasion. +'''Carries 2 units of ground [[encyclopedia TROOP_TITLE]] and equipment that can be deployed onto a planet. + * The troops can only be used for one invasion. + * The ships carrying troops during an invasion come in for a fast hard landing and are unusable afterwards.''' SP_DISTORTION_MODULATOR Distortion Modulator Modified: branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -155,34 +155,6 @@ } boost::function<std::map<int,double> (const Universe&, int, int)> SystemNeighborsMapFunc = &SystemNeighborsMapP; - int VisibilityP(const Universe& universe, int object_id, int empire_id = ALL_EMPIRES) { - int retval; - //std::vector<int> retval; - try { - retval = universe.GetObjectVisibilityByEmpire(object_id, empire_id); - return retval; - } catch (...) { - } - return INVALID_VISIBILITY; - } - boost::function<int (const Universe&, int, int)> VisibilityFunc = &VisibilityP; - - std::vector<int> VisibilityTurnsP(const Universe& universe, int object_id, int empire_id = ALL_EMPIRES) { - Universe::VisibilityTurnMap vismap; - std::vector<int> retval; - try { - vismap = universe.GetObjectVisibilityTurnMapByEmpire(object_id, empire_id); - retval.push_back(vismap[VIS_NO_VISIBILITY]); - retval.push_back(vismap[VIS_BASIC_VISIBILITY]); - retval.push_back(vismap[VIS_PARTIAL_VISIBILITY]); - retval.push_back(vismap[VIS_FULL_VISIBILITY]); - return retval; - } catch (...) { - } - return retval; - } - boost::function<std::vector<int> (const Universe&, int, int)> VisibilityTurnsFunc = &VisibilityTurnsP; - const Meter* (UniverseObject::*ObjectGetMeter)(MeterType) const = &UniverseObject::GetMeter; const std::map<MeterType, Meter>& (UniverseObject::*ObjectMeters)(void) const = &UniverseObject::Meters; @@ -275,9 +247,6 @@ class_<std::map<int, double> >("IntDblMap") .def(boost::python::map_indexing_suite<std::map<int, double>,true >()) ; - class_<std::map<int, Visibility> >("IntVisibilityMap") - .def(boost::python::map_indexing_suite<std::map<int, Visibility>,true >()) - ; class_<std::map<Visibility,int> >("VisibilityIntMap") .def(boost::python::map_indexing_suite<std::map<Visibility, int>, true>()) ; @@ -352,28 +321,13 @@ return_value_policy<return_by_value>(), boost::mpl::vector<std::map<int, double>, const Universe&, int, int>() )) - .def("getVisibilityMap", make_function( - &Universe::GetObjectVisibilityByEmpire, - return_value_policy<return_by_value>() - )) .def("getVisibilityTurnsMap", make_function( &Universe::GetObjectVisibilityTurnMapByEmpire, return_value_policy<return_by_value>() )) - .def("getVisibilityTurns", make_function( - VisibilityTurnsFunc, - return_value_policy<return_by_value>(), - boost::mpl::vector<std::vector<int>, const Universe&, int, int>() - )) - .def("getVisibility", make_function( - VisibilityFunc, - return_value_policy<return_by_value>(), - boost::mpl::vector<int, const Universe&, int, int>() - )) - .def("getVisibilityMap", make_function( &Universe::GetObjectVisibilityByEmpire, return_value_policy<return_by_value>() )) Modified: branches/SDL_Migration_And_Dependencies_Updates/server/ServerApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/server/ServerApp.cpp 2015-02-18 06:19:49 UTC (rev 7960) +++ branches/SDL_Migration_And_Dependencies_Updates/server/ServerApp.cpp 2015-02-18 19:23:21 UTC (rev 7961) @@ -214,7 +214,7 @@ return; } - std::string ai_config = GetOptionsDB().GetValueString("ai-config"); + std::string ai_config = GetOptionsDB().Get<std::string>("ai-config"); // TODO: add other command line args to AI client invocation as needed std::vector<std::string> args; args.push_back("\"" + AI_CLIENT_EXE + "\""); @@ -229,9 +229,9 @@ args.push_back("--binary-serialization"); args.push_back(GetOptionsDB().GetValueString("binary-serialization")); args.push_back("--ai-path"); - args.push_back(GetOptionsDB().GetValueString("ai-path")); + args.push_back(GetOptionsDB().Get<std::string>("ai-path")); Logger().debugStream() << "starting " << AI_CLIENT_EXE << " with GameSetup.ai-aggression set to " << max_aggression; - Logger().debugStream() << "ai-path set to '" << GetOptionsDB().GetValueString("ai-path") << "'"; + Logger().debugStream() << "ai-path set to '" << GetOptionsDB().Get<std::string>("ai-path") << "'"; if (!ai_config.empty()) { args.push_back("--ai-config"); args.push_back(ai_config); |
From: <ve...@us...> - 2015-02-19 11:57:38
|
Revision: 7966 http://sourceforge.net/p/freeorion/code/7966 Author: vezzra Date: 2015-02-19 11:57:28 +0000 (Thu, 19 Feb 2015) Log Message: ----------- Merged from trunk (up to r7960) Revision Links: -------------- http://sourceforge.net/p/freeorion/code/7960 Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/default/AI/ProductionAI.py branches/SDL_Migration_And_Dependencies_Updates/python/PythonEmpireWrapper.cpp branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp Modified: branches/SDL_Migration_And_Dependencies_Updates/default/AI/ProductionAI.py =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/default/AI/ProductionAI.py 2015-02-19 02:58:08 UTC (rev 7965) +++ branches/SDL_Migration_And_Dependencies_Updates/default/AI/ProductionAI.py 2015-02-19 11:57:28 UTC (rev 7966) @@ -346,6 +346,14 @@ isList=["", is1, is2, is3, is4, is5] ar1, ar2, ar3, ar4, ar5 = "AR_STD_PLATE", "AR_ZORTRIUM_PLATE", "AR_DIAMOND_PLATE", "AR_XENTRONIUM_PLATE", "AR_NEUTRONIUM_PLATE" arList = ["", ar1, ar2, ar3, ar4, ar5] + + empire = fo.getEmpire() + print "Available Hulls: %s" % ([hull for hull in empire.availableShipHulls]) + print "Available Ship Parts: %s" % ([hull for hull in empire.availableShipParts]) + testhull = fo.getHullType("SH_BASIC_MEDIUM") + print "testhull: %s, structure: %.1f ; stealth: %.1f ; slots: %s" % (testhull.name, testhull.structure, testhull.stealth, [slot.name for slot in testhull.slots]) + testpart = fo.getPartType(srb2%4) + print "testpart: %s, class: %s ; capacity: %.1f ; slottypes: %s" % (testpart.name, testpart.partClass.name, testpart.capacity, [slot.name for slot in testpart.mountableSlotTypes]) if foAI.foAIstate.aggression in [fo.aggression.beginner, fo.aggression.turtle]: maxEM= 8 Modified: branches/SDL_Migration_And_Dependencies_Updates/python/PythonEmpireWrapper.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/python/PythonEmpireWrapper.cpp 2015-02-19 02:58:08 UTC (rev 7965) +++ branches/SDL_Migration_And_Dependencies_Updates/python/PythonEmpireWrapper.cpp 2015-02-19 11:57:28 UTC (rev 7966) @@ -350,6 +350,8 @@ .def("shipDesignAvailable", &Empire::ShipDesignAvailable) .add_property("allShipDesigns", make_function(&Empire::ShipDesigns, return_value_policy<return_by_value>())) .add_property("availableShipDesigns", make_function(&Empire::AvailableShipDesigns, return_value_policy<return_by_value>())) + .add_property("availableShipParts", make_function(&Empire::AvailableShipParts, return_value_policy<copy_const_reference>())) + .add_property("availableShipHulls", make_function(&Empire::AvailableShipHulls, return_value_policy<copy_const_reference>())) .add_property("productionQueue", make_function(&Empire::GetProductionQueue, return_internal_reference<>())) .def("productionCostAndTime", make_function( ProductionCostAndTimeFunc, Modified: branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2015-02-19 02:58:08 UTC (rev 7965) +++ branches/SDL_Migration_And_Dependencies_Updates/python/PythonUniverseWrapper.cpp 2015-02-19 11:57:28 UTC (rev 7966) @@ -448,17 +448,22 @@ class_<PartType, noncopyable>("partType", no_init) .add_property("name", make_function(&PartType::Name, return_value_policy<copy_const_reference>())) - .add_property("class", &PartType::Class) + .add_property("partClass", &PartType::Class) + .add_property("capacity", &PartType::Capacity) + .add_property("mountableSlotTypes", make_function(&PartType::MountableSlotTypes,return_value_policy<return_by_value>())) .def("productionCost", &PartType::ProductionCost) .def("productionTime", &PartType::ProductionTime) .def("canMountInSlotType", &PartType::CanMountInSlotType) - .add_property("capacity", make_function(&PartType::Capacity, return_value_policy<return_by_value>())) ; def("getPartType", &GetPartType, return_value_policy<reference_existing_object>()); class_<HullType, noncopyable>("hullType", no_init) .add_property("name", make_function(&HullType::Name, return_value_policy<copy_const_reference>())) .add_property("numSlots", make_function(NumSlotsTotal, return_value_policy<return_by_value>())) + .add_property("structure", &HullType::Structure) + .add_property("stealth", &HullType::Stealth) + .add_property("fuel", &HullType::Fuel) + .add_property("starlaneSpeed", &HullType::StarlaneSpeed) .def("numSlotsOfSlotType", NumSlotsOfSlotType) .add_property("slots", make_function( HullSlotsFunc, |
From: <ve...@us...> - 2015-02-20 15:01:44
|
Revision: 7971 http://sourceforge.net/p/freeorion/code/7971 Author: vezzra Date: 2015-02-20 15:01:41 +0000 (Fri, 20 Feb 2015) Log Message: ----------- Merged from trunk (up to r7970) Revision Links: -------------- http://sourceforge.net/p/freeorion/code/7970 Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp branches/SDL_Migration_And_Dependencies_Updates/msvc2010/FreeOrionD/FreeOrionD.vcxproj.filters Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp 2015-02-20 12:46:45 UTC (rev 7970) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/DesignWnd.cpp 2015-02-20 15:01:41 UTC (rev 7971) @@ -2574,7 +2574,6 @@ } } - void DesignWnd::MainPanel::Sanitize() { SetHull(0); m_design_name->SetText(UserString("DESIGN_NAME_DEFAULT")); Modified: branches/SDL_Migration_And_Dependencies_Updates/msvc2010/FreeOrionD/FreeOrionD.vcxproj.filters =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/msvc2010/FreeOrionD/FreeOrionD.vcxproj.filters 2015-02-20 12:46:45 UTC (rev 7970) +++ branches/SDL_Migration_And_Dependencies_Updates/msvc2010/FreeOrionD/FreeOrionD.vcxproj.filters 2015-02-20 15:01:41 UTC (rev 7971) @@ -209,9 +209,6 @@ <ClInclude Include="..\..\universe\Names.h"> <Filter>Header Files\universe</Filter> </ClInclude> - <ClInclude Include="..\..\util\AppInterface.h"> - <Filter>Header Files</Filter> - </ClInclude> <ClInclude Include="..\..\python\PythonWrappers.h"> <Filter>Header Files\python</Filter> </ClInclude> @@ -221,6 +218,9 @@ <ClInclude Include="..\..\universe\UniverseGenerator.h"> <Filter>Header Files\universe</Filter> </ClInclude> + <ClInclude Include="..\..\util\AppInterface.h"> + <Filter>Header Files\util</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\network\ServerNetworking.cpp"> |