From: <geo...@us...> - 2008-06-22 18:47:31
|
Revision: 2604 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2604&view=rev Author: geoffthemedio Date: 2008-06-22 11:47:39 -0700 (Sun, 22 Jun 2008) Log Message: ----------- -Exposed UniverseObject::GetMeter to python -Tweaked HideAllCategories and ShowAllCategories of LayoutPanel and TechListBox so they exit early, skipping the time-consuming layout and populating if doing so is unnecessary because they already are showing all categories of techs. This eliminates a lengthy delay when starting the program (before starting a game). Modified Paths: -------------- trunk/FreeOrion/UI/TechTreeWnd.cpp trunk/FreeOrion/python/PythonUniverseWrapper.cpp Modified: trunk/FreeOrion/UI/TechTreeWnd.cpp =================================================================== --- trunk/FreeOrion/UI/TechTreeWnd.cpp 2008-06-22 17:59:53 UTC (rev 2603) +++ trunk/FreeOrion/UI/TechTreeWnd.cpp 2008-06-22 18:47:39 UTC (rev 2604) @@ -1795,6 +1795,8 @@ void TechTreeWnd::LayoutPanel::ShowAllCategories() { const std::vector<std::string> all_cats = GetTechManager().CategoryNames(); + if (all_cats.size() == m_categories_shown.size()) + return; for (std::vector<std::string>::const_iterator it = all_cats.begin(); it != all_cats.end(); ++it) m_categories_shown.insert(*it); Layout(true); @@ -1811,6 +1813,8 @@ void TechTreeWnd::LayoutPanel::HideAllCategories() { + if (m_categories_shown.empty()) + return; m_categories_shown.clear(); Layout(true); } @@ -2365,6 +2369,8 @@ void TechTreeWnd::TechListBox::ShowAllCategories() { const std::vector<std::string> all_cats = GetTechManager().CategoryNames(); + if (all_cats.size() == m_categories_shown.size()) + return; for (std::vector<std::string>::const_iterator it = all_cats.begin(); it != all_cats.end(); ++it) m_categories_shown.insert(*it); Populate(); @@ -2381,6 +2387,8 @@ void TechTreeWnd::TechListBox::HideAllCategories() { + if (m_categories_shown.empty()) + return; m_categories_shown.clear(); Populate(); } Modified: trunk/FreeOrion/python/PythonUniverseWrapper.cpp =================================================================== --- trunk/FreeOrion/python/PythonUniverseWrapper.cpp 2008-06-22 17:59:53 UTC (rev 2603) +++ trunk/FreeOrion/python/PythonUniverseWrapper.cpp 2008-06-22 18:47:39 UTC (rev 2604) @@ -20,6 +20,8 @@ const System* (Universe::*UniverseGetSystem)(int) = &Universe::Object; const Building* (Universe::*UniverseGetBuilding)(int) = &Universe::Object; + const Meter* (UniverseObject::*ObjectGetMeter)(MeterType) const = &UniverseObject::GetMeter; + bool (*ValidDesignHullAndParts)(const std::string& hull, const std::vector<std::string>& parts) = &ShipDesign::ValidDesign; bool (*ValidDesignDesign)(const ShipDesign&) = &ShipDesign::ValidDesign; @@ -102,6 +104,7 @@ .add_property("specials", make_function(&UniverseObject::Specials, return_internal_reference<>())) .def("Contains", &UniverseObject::Contains) .def("ContainedBy", &UniverseObject::ContainedBy) + .def("getMeter", ObjectGetMeter, return_value_policy<reference_existing_object>()) ; /////////////////// |
From: <tz...@us...> - 2008-06-25 01:43:30
|
Revision: 2607 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2607&view=rev Author: tzlaine Date: 2008-06-24 18:43:37 -0700 (Tue, 24 Jun 2008) Log Message: ----------- Small changes to version number, etc., in preparation for a release. Modified Paths: -------------- trunk/FreeOrion/Installer/FreeOrion_Install_Script.nsi trunk/FreeOrion/build_config.py Modified: trunk/FreeOrion/Installer/FreeOrion_Install_Script.nsi =================================================================== --- trunk/FreeOrion/Installer/FreeOrion_Install_Script.nsi 2008-06-23 08:47:25 UTC (rev 2606) +++ trunk/FreeOrion/Installer/FreeOrion_Install_Script.nsi 2008-06-25 01:43:37 UTC (rev 2607) @@ -2,7 +2,7 @@ ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "FreeOrion" -!define PRODUCT_VERSION "0.3.9" +!define PRODUCT_VERSION "0.3.10" !define PRODUCT_PUBLISHER "FreeOrion Community" !define PRODUCT_WEB_SITE "http://www.freeorion.org" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\freeorionca.exe" @@ -44,7 +44,7 @@ ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "..\..\FreeOrion-0.3.9-Setup.exe" +OutFile "..\..\FreeOrion-0.3.10-Setup.exe" InstallDir "$PROGRAMFILES\FreeOrion" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show Modified: trunk/FreeOrion/build_config.py =================================================================== --- trunk/FreeOrion/build_config.py 2008-06-23 08:47:25 UTC (rev 2606) +++ trunk/FreeOrion/build_config.py 2008-06-25 01:43:37 UTC (rev 2607) @@ -1,6 +1,6 @@ # -*- Python -*- -freeorion_version = 'v0.3.9' +freeorion_version = 'v0.3.10' gigi_version = '0.6.0' |
From: <geo...@us...> - 2008-06-25 18:57:01
|
Revision: 2609 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2609&view=rev Author: geoffthemedio Date: 2008-06-25 11:57:10 -0700 (Wed, 25 Jun 2008) Log Message: ----------- -Exposed leastJumpsPath and updateMeterEstimates on Universe class to Python -Made FleetWnd use ClientUI::ShipIcon to get icon for fleets, so that nicer and more specific icons are used when available -Minor whitespace grooming Modified Paths: -------------- trunk/FreeOrion/Empire/Empire.cpp trunk/FreeOrion/UI/FleetWnd.cpp trunk/FreeOrion/python/PythonEmpireWrapper.cpp trunk/FreeOrion/python/PythonUniverseWrapper.cpp trunk/FreeOrion/universe/Universe.cpp Modified: trunk/FreeOrion/Empire/Empire.cpp =================================================================== --- trunk/FreeOrion/Empire/Empire.cpp 2008-06-25 05:56:42 UTC (rev 2608) +++ trunk/FreeOrion/Empire/Empire.cpp 2008-06-25 18:57:10 UTC (rev 2609) @@ -1816,7 +1816,8 @@ Logger().debugStream() << "New Fleet created on turn: " << fleet->CreationTurn(); // add ship - Ship *ship = new Ship(m_id, m_production_queue[i].item.design_id); + Ship* ship = new Ship(m_id, m_production_queue[i].item.design_id); + int ship_id = universe.Insert(ship); #if 0 const ShipDesign* ship_design = GetShipDesign(m_production_queue[i].item.design_id); Modified: trunk/FreeOrion/UI/FleetWnd.cpp =================================================================== --- trunk/FreeOrion/UI/FleetWnd.cpp 2008-06-25 05:56:42 UTC (rev 2608) +++ trunk/FreeOrion/UI/FleetWnd.cpp 2008-06-25 18:57:10 UTC (rev 2609) @@ -601,17 +601,10 @@ } else if (m_fleet->NumShips() == 1) { Ship* ship = GetUniverse().Object<Ship>(*m_fleet->begin()); const ShipDesign* design = ship->Design(); - std::string design_name; - if (design) { - design_name = design->Name(); - std::string::size_type space = design_name.find(' '); - if (space != std::string::npos) { - design_name[space] = '_'; - } - } else { - design_name = "Scout"; - } - icon = ClientUI::GetTexture(ClientUI::ArtDir() / "icons" / (design_name + ".png")); + if (design) + icon = ClientUI::ShipIcon(design->ID()); + else + icon = ClientUI::ShipIcon(-1); // default icon } } else { // the "new fleet" data panel icon = ClientUI::GetTexture(ClientUI::ArtDir() / "icons" / "newfleet.png"); Modified: trunk/FreeOrion/python/PythonEmpireWrapper.cpp =================================================================== --- trunk/FreeOrion/python/PythonEmpireWrapper.cpp 2008-06-25 05:56:42 UTC (rev 2608) +++ trunk/FreeOrion/python/PythonEmpireWrapper.cpp 2008-06-25 18:57:10 UTC (rev 2609) @@ -7,7 +7,9 @@ namespace { // Research queue tests whether it contains a Tech but Python needs a __contains__ function that takes a // *Queue::Element. This helper functions take an Element and returns the associated Tech. - const Tech* TechFromResearchQueueElement(const ResearchQueue::Element& element) { return element.tech; } + const Tech* TechFromResearchQueueElement(const ResearchQueue::Element& element) { + return element.tech; + } std::vector<std::string> (TechManager::*TechNamesVoid)(void) const = &TechManager::TechNames; boost::function<std::vector<std::string>(const TechManager*)> TechNamesMemberFunc = TechNamesVoid; Modified: trunk/FreeOrion/python/PythonUniverseWrapper.cpp =================================================================== --- trunk/FreeOrion/python/PythonUniverseWrapper.cpp 2008-06-25 05:56:42 UTC (rev 2608) +++ trunk/FreeOrion/python/PythonUniverseWrapper.cpp 2008-06-25 18:57:10 UTC (rev 2609) @@ -21,6 +21,17 @@ const System* (Universe::*UniverseGetSystem)(int) = &Universe::Object; const Building* (Universe::*UniverseGetBuilding)(int) = &Universe::Object; + void (Universe::*UpdateMeterEstimatesVoidFunc)(void) = &Universe::UpdateMeterEstimates; + + std::vector<int> LeastJumpsPath(const Universe* universe, int start_sys, int end_sys, int empire_id) { + std::pair<std::list<System*>, int> path = universe->LeastJumpsPath(start_sys, end_sys, empire_id); + std::vector<int> retval; + for (std::list<System*>::const_iterator it = path.first.begin(); it != path.first.end(); ++it) + retval.push_back((*it)->ID()); + return retval; + } + boost::function<std::vector<int>(const Universe*, int, int, int)> LeastJumpsFunc = &LeastJumpsPath; + const Meter* (UniverseObject::*ObjectGetMeter)(MeterType) const = &UniverseObject::GetMeter; boost::function<double(const UniverseObject*, MeterType)> InitialCurrentMeterValueFromObject = @@ -94,8 +105,17 @@ // put as part of universe class so one doesn't need a UniverseObject object in python to access these .def_readonly("invalidObjectID", &UniverseObject::INVALID_OBJECT_ID) .def_readonly("invalidObjectAge", &UniverseObject::INVALID_OBJECT_AGE) + + .def("updateMeterEstimates", UpdateMeterEstimatesVoidFunc) + + .def("leastJumpsPath", make_function( + LeastJumpsFunc, + return_value_policy<return_by_value>(), + boost::mpl::vector<std::vector<int>, const Universe*, int, int, int>() + )) ; + //////////////////// // UniverseObject // //////////////////// Modified: trunk/FreeOrion/universe/Universe.cpp =================================================================== --- trunk/FreeOrion/universe/Universe.cpp 2008-06-25 05:56:42 UTC (rev 2608) +++ trunk/FreeOrion/universe/Universe.cpp 2008-06-25 18:57:10 UTC (rev 2609) @@ -204,8 +204,8 @@ std::vector<int> predecessors(boost::num_vertices(graph)); for (unsigned int i = 0; i < boost::num_vertices(graph); ++i) predecessors[i] = i; - - + + // do the actual path finding using verbose boost magic... try { boost::queue<int> buf; @@ -234,7 +234,7 @@ // add start system to path, as it wasn't added by traversing predecessors array retval.first.push_front(pointer_property_map[system1_index]); } - + return retval; } |
From: <geo...@us...> - 2008-06-30 05:39:49
|
Revision: 2616 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2616&view=rev Author: geoffthemedio Date: 2008-06-29 22:39:58 -0700 (Sun, 29 Jun 2008) Log Message: ----------- Fixed (hopefully) effect accounting, so that new buildings / techs are listed as taking effect on the first turn they're built. This allows newly-built ships to be given full fuel tanks on the turn they're built, which is also done. In process, also fixed some issues with movement and projected movement of fleets of newly created ships. Modified Paths: -------------- trunk/FreeOrion/Empire/Empire.cpp trunk/FreeOrion/server/ServerApp.cpp trunk/FreeOrion/universe/Fleet.cpp trunk/FreeOrion/universe/Universe.cpp trunk/FreeOrion/universe/Universe.h Modified: trunk/FreeOrion/Empire/Empire.cpp =================================================================== --- trunk/FreeOrion/Empire/Empire.cpp 2008-06-29 20:09:20 UTC (rev 2615) +++ trunk/FreeOrion/Empire/Empire.cpp 2008-06-30 05:39:58 UTC (rev 2616) @@ -1817,6 +1817,7 @@ // add ship Ship* ship = new Ship(m_id, m_production_queue[i].item.design_id); + ship->GetMeter(METER_FUEL)->SetCurrent(Meter::METER_MAX); // ensures ship starts with some fuel. will be clamped to max value after effects are applied to set that max value appropriately int ship_id = universe.Insert(ship); #if 0 Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2008-06-29 20:09:20 UTC (rev 2615) +++ trunk/FreeOrion/server/ServerApp.cpp 2008-06-30 05:39:58 UTC (rev 2616) @@ -638,15 +638,10 @@ } - // Update meters - for (Universe::const_iterator it = GetUniverse().begin(); it != GetUniverse().end(); ++it) { - it->second->ResetMaxMeters(); // zero all meters - it->second->ApplyUniverseTableMaxMeterAdjustments(); // apply non-effects max meter modifications, including focus mods - } - GetUniverse().ApplyEffects(); // apply effects, futher altering meters (and also non-meter effects) - for (Universe::const_iterator it = GetUniverse().begin(); it != GetUniverse().end(); ++it) - it->second->ClampMeters(); // clamp max meters to [METER_MIN, METER_MAX] and current meters to [METER_MIN, max] + // execute all effects and update meters prior to production, research, etc. + GetUniverse().ApplyAllEffectsAndUpdateMeters(); + // Determine how much of each resource is available, and determine how to distribute it to planets or on queues for (EmpireManager::iterator it = Empires().begin(); it != Empires().end(); ++it) { Empire* empire = it->second; @@ -669,41 +664,52 @@ } + // re-execute all meter-related effects after production, so that new UniverseObjects created during production + // will have effects applied to them this turn, allowing (for example) ships to have max fuel meters greater than + // 0 on the turn they are created. + GetUniverse().ApplyMeterEffectsAndUpdateMeters(); + + // regenerate empire system visibility, which is needed for some UniverseObject subclasses' PopGrowthProductionResearchPhase() GetUniverse().RebuildEmpireViewSystemGraphs(); + // Population growth or loss, health meter growth, resource current meter growth + for (Universe::const_iterator it = GetUniverse().begin(); it != GetUniverse().end(); ++it) { + it->second->PopGrowthProductionResearchPhase(); + } - // Population growth or loss, health meter growth, resource current meter growth + // copy latest updated current meter values to initial current values, and initial current values + // to previous values, so that clients will have this information based on values after all changes + // that occured this turn. for (Universe::const_iterator it = GetUniverse().begin(); it != GetUniverse().end(); ++it) { - it->second->PopGrowthProductionResearchPhase(); - it->second->ClampMeters(); // limit current meters by max meters for (MeterType i = MeterType(0); i != NUM_METER_TYPES; i = MeterType(i + 1)) if (Meter* meter = it->second->GetMeter(i)) meter->BackPropegate(); } - // find planets which have starved to death + // create sitreps for starved planets std::vector<Planet*> plt_vec = GetUniverse().FindObjects<Planet>(); - for (std::vector<Planet*>::iterator it = plt_vec.begin(); it!=plt_vec.end(); ++it) - if ((*it)->Owners().size()>0 && (*it)->MeterPoints(METER_POPULATION) == 0.0) - { + for (std::vector<Planet*>::iterator it = plt_vec.begin(); it!=plt_vec.end(); ++it) { + if ((*it)->Owners().size()>0 && (*it)->MeterPoints(METER_POPULATION) == 0.0) { // add some information to sitrep Empire *empire = Empires().Lookup(*(*it)->Owners().begin()); empire->AddSitRepEntry(CreatePlanetStarvedToDeathSitRep((*it)->SystemID(), (*it)->ID())); (*it)->Reset(); } + } // loop and free all orders - for (std::map<int, OrderSet*>::iterator it = m_turn_sequence.begin(); it != m_turn_sequence.end(); ++it) - { + for (std::map<int, OrderSet*>::iterator it = m_turn_sequence.begin(); it != m_turn_sequence.end(); ++it) { delete it->second; - it->second = NULL; + it->second = 0; } + ++m_current_turn; + // indicate that the clients are waiting for their new Universes for (ServerNetworking::const_established_iterator player_it = m_networking.established_begin(); player_it != m_networking.established_end(); ++player_it) { (*player_it)->SendMessage(TurnProgressMessage((*player_it)->ID(), Message::DOWNLOADING, -1)); Modified: trunk/FreeOrion/universe/Fleet.cpp =================================================================== --- trunk/FreeOrion/universe/Fleet.cpp 2008-06-29 20:09:20 UTC (rev 2615) +++ trunk/FreeOrion/universe/Fleet.cpp 2008-06-30 05:39:58 UTC (rev 2616) @@ -201,12 +201,14 @@ const int TOO_LONG = 200; // limit on turns to simulate int turns_taken = 0; - while (turns_taken <= TOO_LONG) { + while (turns_taken < TOO_LONG) { cur_pos.eta = turns_taken; cur_pos.turn_end = new_turn; if (!cur_system) cur_pos.object_id = INVALID_OBJECT_ID; + //if (cur_system) Logger().debugStream() << " ... at system: " << cur_system->Name(); + // check for arrival at next system on path if (dist_to_next_system < FLEET_MOVEMENT_EPSILON) { // update current system and position, and next system and position @@ -239,11 +241,13 @@ retval.push_back(cur_pos); } + //Logger().debugStream() << " ... dist to next system: " << dist_to_next_system; // if this iteration is the start of a new simulated turn, distance to be travelled this turn is reset and turns taken incremented if (new_turn) { ++turns_taken; turn_dist_remaining = m_speed; + //Logger().debugStream() << " ... new turn! turns taken now: " << turns_taken << " turn dist remaining: " << turn_dist_remaining; } @@ -251,20 +255,25 @@ // doesn't have enough fuel to jump, it may be able to be resupplied by spending a turn in this sytem if (cur_system) { if (fuel >= 1.0) { + //Logger().debugStream() << " ... have " << fuel << " fuel, deducting 1. next turn should not be a new turn"; fuel -= 1.0; // can start next jump this turn. turn_dist_remaining is unchanged new_turn = false; } else { + //Logger().debugStream() << " ... have " << fuel << " fuel. not moving this turn"; turn_dist_remaining = 0.0; // can't progress this turn due to lack of fuel // if a new turn started this update, the fleet has a chance to get fuel by waiting for a full turn in current system if (new_turn) { + //Logger().debugStream() << " ... new turn this update, so can refuel?"; // determine if current system is one where fuel can be supplied std::set<int>::const_iterator it = fleet_supplied_systems.find(cur_system->ID()); if (it != fleet_supplied_systems.end()) { + //Logger().debugStream() << " ... fleet can be refueled here!"; // fleet supply is available, so give it fuel = max_fuel; // turn_dist_remaining is zero, so new_turn will remain true; must wait a full turn without moving to refuel } else { + //Logger().debugStream() << " ... can't refuel, and have no fuel, so route goes out of range. aborting"; // started a new turn with insufficient fuel to move, and can't get any more fuel by waiting, so can never get to destination. turns_taken = ETA_OUT_OF_RANGE; break; @@ -279,6 +288,8 @@ if (turn_dist_remaining >= FLEET_MOVEMENT_EPSILON) { double dist_travelled_this_step = std::min(turn_dist_remaining, dist_to_next_system); + //Logger().debugStream() << " ... fleet moving " << dist_travelled_this_step << " this iteration. dist to next system: " << dist_to_next_system << " and turn_dist_remaining: " << turn_dist_remaining; + double x_dist = next_sys_pos.x - cur_pos.x; double y_dist = next_sys_pos.y - cur_pos.y; // dist_to_next_system = std::sqrt(x_dist * x_dist + y_dist * y_dist); // should already equal this distance, so don't need to recalculate @@ -298,14 +309,19 @@ // if fleet can't move, must wait until next turn for another chance to move if (turn_dist_remaining < FLEET_MOVEMENT_EPSILON) { + //Logger().debugStream() << " ... fleet can't move further this turn. next iteration should be a new turn"; turn_dist_remaining = 0.0; // to prevent any possible precision-related errors new_turn = true; } else { + //Logger().debugStream() << " ... fleet CAN move further this turn on next iteration."; new_turn = false; } } if (turns_taken >= TOO_LONG) { + //Logger().debugStream() << " ... fleet path took too long or went out of range."; + if (turns_taken == TOO_LONG) + turns_taken = ETA_NEVER; cur_pos.eta = turns_taken; cur_pos.turn_end = true; retval.push_back(cur_pos); @@ -364,7 +380,7 @@ const Meter* meter = ship->GetMeter(METER_FUEL); assert(meter); fuel = std::min(fuel, meter->Current()); - Logger().debugStream() << "ship " << ship->Name() << " has fuel: " << meter->Current(); + //Logger().debugStream() << "ship " << ship->Name() << " has fuel: " << meter->Current(); } return fuel; } @@ -402,7 +418,7 @@ double Fleet::Speed() const { - Logger().debugStream() << "Fleet " << this->Name() << " has speed: " << m_speed; + //Logger().debugStream() << "Fleet " << this->Name() << " has speed: " << m_speed; return m_speed; } @@ -745,6 +761,7 @@ if (universe.Object<System>(next_it->object_id)) { //Logger().debugStream() << "___ setting m_next_system to " << next_it->object_id; m_next_system = next_it->object_id; + break; } } } else { Modified: trunk/FreeOrion/universe/Universe.cpp =================================================================== --- trunk/FreeOrion/universe/Universe.cpp 2008-06-29 20:09:20 UTC (rev 2615) +++ trunk/FreeOrion/universe/Universe.cpp 2008-06-30 05:39:58 UTC (rev 2616) @@ -445,6 +445,7 @@ double Universe::LinearDistance(int system1_id, int system2_id) const { + //Logger().debugStream() << "LinearDistance(" << system1_id << ", " << system2_id << ")"; int system1_index = SystemGraphIndex(m_system_graph, system1_id); int system2_index = SystemGraphIndex(m_system_graph, system2_id); return m_system_distances.at(std::max(system1_index, system2_index)).at(std::min(system1_index, system2_index)); @@ -579,6 +580,46 @@ return retval; } +void Universe::ApplyAllEffectsAndUpdateMeters() +{ + // cache all activation and scoping condition results before applying Effects, since the application of + // these Effects may affect the activation and scoping evaluations + EffectsTargetsCausesMap targets_causes_map; + GetEffectsAndTargets(targets_causes_map); + + // reset max meter state that is affected by the application of effects + for (const_iterator it = begin(); it != end(); ++it) { + it->second->ResetMaxMeters(); + it->second->ApplyUniverseTableMaxMeterAdjustments(); + } + + ExecuteEffects(targets_causes_map); + + for (const_iterator it = begin(); it != end(); ++it) { + it->second->ClampMeters(); // clamp max meters to [METER_MIN, METER_MAX] and current meters to [METER_MIN, max] + } +} + +void Universe::ApplyMeterEffectsAndUpdateMeters() +{ + // cache all activation and scoping condition results before applying Effects, since the application of + // these Effects may affect the activation and scoping evaluations + EffectsTargetsCausesMap targets_causes_map; + GetEffectsAndTargets(targets_causes_map); + + // reset max meter state that is affected by the application of effects + for (const_iterator it = begin(); it != end(); ++it) { + it->second->ResetMaxMeters(); + it->second->ApplyUniverseTableMaxMeterAdjustments(); + } + + ExecuteMeterEffects(targets_causes_map); + + for (const_iterator it = begin(); it != end(); ++it) { + it->second->ClampMeters(); // clamp max meters to [METER_MIN, METER_MAX] and current meters to [METER_MIN, max] + } +} + void Universe::InitMeterEstimatesAndDiscrepancies() { // clear old discrepancies and accounting @@ -722,9 +763,11 @@ // Apply non-effect focus mods from tables obj->ApplyUniverseTableMaxMeterAdjustments(meter_type); - // record value of max meter(s) after applying universe table adjustments - // also set current meter value to initial current value, so that any previous clamping of current won't - // alter the apparent "this turn" current value. + // record value(s) of max meter(s) after applying universe table adjustments. + // also set current meter value to initial current value. this ensures that the + // projected current value will be based on the actual initial current value this + // turn, rather than the altered current value that may be different after meter + // effects were applied and meters were clamped. MeterType start, end; if (meter_type == INVALID_METER_TYPE) { // record data for all meters @@ -907,6 +950,7 @@ void Universe::ExecuteEffects(EffectsTargetsCausesMap& targets_causes_map) { + m_marked_destroyed.clear(); std::map<std::string, Effect::EffectsGroup::TargetSet> executed_nonstacking_effects; for (EffectsTargetsCausesMap::const_iterator targets_it = targets_causes_map.begin(); targets_it != targets_causes_map.end(); ++targets_it) { @@ -1024,24 +1068,6 @@ } } -void Universe::ApplyEffects() -{ - m_marked_destroyed.clear(); - - // cache all activation and scoping condition results before applying Effects, since the application of - // these Effects may affect the activation and scoping evaluations - EffectsTargetsCausesMap targets_causes_map; - GetEffectsAndTargets(targets_causes_map); - - // reset max meter state that is affected by the application of effects - for (const_iterator it = begin(); it != end(); ++it) { - it->second->ResetMaxMeters(); - it->second->ApplyUniverseTableMaxMeterAdjustments(); - } - - ExecuteEffects(targets_causes_map); -} - void Universe::RebuildEmpireViewSystemGraphs() { m_empire_system_graph_views.clear(); @@ -2110,7 +2136,7 @@ GenerateEmpires(players + ai_players, homeworlds, player_setup_data); // Apply effects for 1st turn - ApplyEffects(); + ApplyAllEffectsAndUpdateMeters(); // update initial and previous meter values for (Universe::const_iterator it = GetUniverse().begin(); it != GetUniverse().end(); ++it) { Modified: trunk/FreeOrion/universe/Universe.h =================================================================== --- trunk/FreeOrion/universe/Universe.h 2008-06-29 20:09:20 UTC (rev 2615) +++ trunk/FreeOrion/universe/Universe.h 2008-06-30 05:39:58 UTC (rev 2616) @@ -236,8 +236,17 @@ SpecialsFrequency specials_freq, int players, int ai_players, const std::map<int, PlayerSetupData>& player_setup_data); - void ApplyEffects(); ///< Executes Effects from Buildings, Specials, Techs, Ship Parts, Ship Hulls + /** determines all effectsgroups' target sets, resets meters and applies universe table adjustments. then executes + * all effects on all objects (meter effects and non-meter effects, including destroying objects). then clamps + * meter values so max is within acceptable range, and current is within range limited by max. */ + void ApplyAllEffectsAndUpdateMeters(); + /** determines all effectsgroups' target sets, resets meters and applies universe table adjustments. then executes + * only SetMeter effects on all objects. then clamps meter values so max is within acceptable range, and current + * is within range limited by max. */ + void ApplyMeterEffectsAndUpdateMeters(); + + /** for all objects and meters, determines discrepancies between actual meter maxes and what the known universe should produce, * and and stores in m_effect_discrepancy_map. */ void InitMeterEstimatesAndDiscrepancies(); @@ -350,7 +359,7 @@ void ExecuteEffects(EffectsTargetsCausesMap& targets_causes_map); /** Executes only meter-altering effects; ignores other effects.. Stores effect accounting information in - * \a targets_causes_map */ + * \a targets_causes_map. Can be used on server or on clients to determine meter values after effects are applied */ void ExecuteMeterEffects(EffectsTargetsCausesMap& targets_causes_map); /** Does actual updating of meter estimates after the public function have processed objects_vec or whatever they were passed and |
From: <geo...@us...> - 2008-06-30 06:36:28
|
Revision: 2617 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2617&view=rev Author: geoffthemedio Date: 2008-06-29 23:36:37 -0700 (Sun, 29 Jun 2008) Log Message: ----------- -Made icon scaling proportional for items on build queue, so that non-square ship images don't look all blurry and distorted -Gave Building UniverseObjects a default name based on their building_type Modified Paths: -------------- trunk/FreeOrion/UI/ProductionWnd.cpp trunk/FreeOrion/universe/Building.cpp Modified: trunk/FreeOrion/UI/ProductionWnd.cpp =================================================================== --- trunk/FreeOrion/UI/ProductionWnd.cpp 2008-06-30 05:39:58 UTC (rev 2616) +++ trunk/FreeOrion/UI/ProductionWnd.cpp 2008-06-30 06:36:37 UTC (rev 2617) @@ -138,7 +138,7 @@ int left = MARGIN; if (graphic) - m_icon = new GG::StaticGraphic(left, top, GRAPHIC_SIZE, GRAPHIC_SIZE, graphic, GG::GRAPHIC_FITGRAPHIC); + m_icon = new GG::StaticGraphic(left, top, GRAPHIC_SIZE, GRAPHIC_SIZE, graphic, GG::GRAPHIC_FITGRAPHIC | GG::GRAPHIC_PROPSCALE); else m_icon = 0; Modified: trunk/FreeOrion/universe/Building.cpp =================================================================== --- trunk/FreeOrion/universe/Building.cpp 2008-06-30 05:39:58 UTC (rev 2616) +++ trunk/FreeOrion/universe/Building.cpp 2008-06-30 06:36:37 UTC (rev 2617) @@ -44,17 +44,24 @@ // Building // ///////////////////////////////////////////////// Building::Building() : + UniverseObject(), m_building_type(""), m_operating(true), m_planet_id(INVALID_OBJECT_ID) {} Building::Building(int empire_id, const std::string& building_type, int planet_id) : + UniverseObject(), m_building_type(building_type), m_operating(true), m_planet_id(planet_id) { AddOwner(empire_id); + const BuildingType* type = GetBuildingType(); + if (type) + Rename(type->Name()); + else + Rename(UserString("ENC_BUILDING")); } const BuildingType* Building::GetBuildingType() const |
From: <geo...@us...> - 2008-07-02 02:36:03
|
Revision: 2620 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2620&view=rev Author: geoffthemedio Date: 2008-07-01 19:36:06 -0700 (Tue, 01 Jul 2008) Log Message: ----------- -Added a name-generating function to the Fleet class, to unify fleet naming wherever it is done -At the risk of great peril, changed FleetColonizeOrder to use this new fleet naming function when the order is cancelled -Also changed FleetWnd to use this function. -Added an extra digit of precision to meter accounting tooltips, to match the precision of what's displayed on the main planet panel. -Moved FlexibleFormat into MultiplayerCommon from ClientUI, since it's now needed outside the UI -Removed unnecessary AdjustPop function from PopCenter -Misc. whitespace tweaks -Converted a few stringtable entries to '''-enclosed format instead of using \n for newlines -Renamed some variables in ServerApp to the tzlaine-approved style Modified Paths: -------------- trunk/FreeOrion/UI/ClientUI.cpp trunk/FreeOrion/UI/ClientUI.h trunk/FreeOrion/UI/FleetWnd.cpp trunk/FreeOrion/UI/InfoPanels.cpp trunk/FreeOrion/default/eng_stringtable.txt trunk/FreeOrion/server/ServerApp.cpp trunk/FreeOrion/server/ServerApp.h trunk/FreeOrion/universe/Fleet.cpp trunk/FreeOrion/universe/Fleet.h trunk/FreeOrion/universe/PopCenter.cpp trunk/FreeOrion/universe/PopCenter.h trunk/FreeOrion/universe/ResourceCenter.cpp trunk/FreeOrion/util/MultiplayerCommon.cpp trunk/FreeOrion/util/MultiplayerCommon.h trunk/FreeOrion/util/Order.cpp Modified: trunk/FreeOrion/UI/ClientUI.cpp =================================================================== --- trunk/FreeOrion/UI/ClientUI.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/UI/ClientUI.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -660,12 +660,6 @@ return is; } -boost::format FlexibleFormat(const std::string &string_to_format) { - boost::format retval(string_to_format); - retval.exceptions(boost::io::all_error_bits ^ (boost::io::too_many_args_bit | boost::io::too_few_args_bit)); - return retval; -} - const double SMALL_UI_DISPLAY_VALUE = 1.0e-6; const double LARGE_UI_DISPLAY_VALUE = 9.99999999e+9; const double UNKNOWN_UI_DISPLAY_VALUE = std::numeric_limits<double>::infinity(); @@ -724,7 +718,7 @@ } if (mag > LARGE_UI_DISPLAY_VALUE) mag = LARGE_UI_DISPLAY_VALUE; - + // if digits 0 or negative, return full precision value if (digits < 1) { text += boost::lexical_cast<std::string>(mag); Modified: trunk/FreeOrion/UI/ClientUI.h =================================================================== --- trunk/FreeOrion/UI/ClientUI.h 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/UI/ClientUI.h 2008-07-02 02:36:06 UTC (rev 2620) @@ -212,9 +212,6 @@ std::ostream& operator<<(std::ostream& os, const StreamableColor& clr); std::istream& operator>>(std::istream& is, StreamableColor& clr); -/** Wraps boost::format such that it won't crash if passed the wrong number of arguments */ -boost::format FlexibleFormat(const std::string &string_to_format); - extern const double SMALL_UI_DISPLAY_VALUE; extern const double LARGE_UI_DISPLAY_VALUE; extern const double UNKNOWN_UI_DISPLAY_VALUE; Modified: trunk/FreeOrion/UI/FleetWnd.cpp =================================================================== --- trunk/FreeOrion/UI/FleetWnd.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/UI/FleetWnd.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -1446,8 +1446,7 @@ return; } - std::string fleet_name = - UserString("FW_NEW_FLEET_NAME") + boost::lexical_cast<std::string>(new_fleet_id); + std::string fleet_name = Fleet::GenerateFleetName(ship_ids, new_fleet_id); Fleet* new_fleet = 0; if (system) { Modified: trunk/FreeOrion/UI/InfoPanels.cpp =================================================================== --- trunk/FreeOrion/UI/InfoPanels.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/UI/InfoPanels.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -111,15 +111,15 @@ double change = next - current; double meter_max = meter->Max(); - m_current_value->SetText(DoubleToString(current, 2, false, false)); - m_next_turn_value->SetText(DoubleToString(next, 2, false, false)); + m_current_value->SetText(DoubleToString(current, 3, false, false)); + m_next_turn_value->SetText(DoubleToString(next, 3, false, false)); GG::Clr clr = ClientUI::TextColor(); if (change > 0.0) clr = ClientUI::StatIncrColor(); else if (change < 0.0) clr = ClientUI::StatDecrColor(); - m_change_value->SetText(GG::RgbaTag(clr) + DoubleToString(change, 2, false, true) + "</rgba>"); - m_meter_title->SetText(boost::io::str(FlexibleFormat(UserString("TT_MAX_METER")) % DoubleToString(meter_max, 2, false, false))); + m_change_value->SetText(GG::RgbaTag(clr) + DoubleToString(change, 3, false, true) + "</rgba>"); + m_meter_title->SetText(boost::io::str(FlexibleFormat(UserString("TT_MAX_METER")) % DoubleToString(meter_max, 3, false, false))); switch (m_meter_type) { case METER_POPULATION: Modified: trunk/FreeOrion/default/eng_stringtable.txt =================================================================== --- trunk/FreeOrion/default/eng_stringtable.txt 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/default/eng_stringtable.txt 2008-07-02 02:36:06 UTC (rev 2620) @@ -105,12 +105,19 @@ Defense Base DEFENSE_BASE_DESCRIPTION -An orbital defense platform that aids in the defense of the planet at which it is located.\n\nAttack: 1\nDefense: 3 +'''An orbital defense platform that aids in the defense of the planet at which it is located. +Attack: 1 +Defense: 3''' + CHAT_WHISPER whisper +# used to generate a name for new fleets when they are created +NEW_FLEET_NAME +New fleet%1% + ###################################### # Command Line and OptionsDB Options # ###################################### @@ -475,16 +482,20 @@ Invalid file name. FILE_DLG_OVERWRITE_PROMPT -%1% exists.\nOk to overwrite it? +'''%1% exists. +Ok to overwrite it?''' FILE_DLG_INVALID_FILENAME -"%1%"\nis an invalid file name. +'''"%1%" +is an invalid file name.''' FILE_DLG_FILENAME_IS_A_DIRECTORY -"%1%"\nis a directory. +'''"%1%" +is a directory.''' FILE_DLG_FILE_DOES_NOT_EXIST -File "%1%"\ndoes not exist. +'''File "%1%" +does not exist.''' FILE_DLG_DEVICE_IS_NOT_READY Device is not ready. @@ -1173,11 +1184,15 @@ ## Buildings Panel########## BP_INCOMPLETE_BUILDING_TOOLTIP -%1% (Incomplete)\n\n%2% +'''%1% (Incomplete) +%2%''' + BP_COMPLETE_BUILDING_TOOLTIP -%1%\n\n%2% +'''%1% +%2%''' + ## General Tooltips######### TT_CURRENT @@ -1228,8 +1243,11 @@ Enter new planet name SP_USE_DEPARTING_COLONY_SHIPS_QUESTION -All colony ships in this system have been\ngiven orders to leave the system.\n\nUse one of the departing colony ships? +'''All colony ships in this system have been +given orders to leave the system. +Use one of the departing colony ships?''' + ################# # Fleet Window # ################# @@ -1255,10 +1273,6 @@ FW_UNKNOWN_DESIGN_NAME Unknown -# used to name new fleets when they are created -FW_NEW_FLEET_NAME -New fleet - # the name of the new fleet icon in the fleet listbox FW_NEW_FLEET_LABEL New Fleet @@ -1315,13 +1329,22 @@ %1% TECH_DETAIL_EFFECTS_STR -\n\n<u>Effects</u>\n\n%1% +''' +<u>Effects</u> + +%1%''' + TECH_DETAIL_UNLOCKS_SECTION_STR -\n\n<u>Unlocks</u>\n\n +''' +<u>Unlocks</u> + +''' + TECH_DETAIL_UNLOCKED_ITEM_STR -%1%: %2%\n +'''%1%: %2% +''' TECH_WND_TECH_COMPLETED COMPLETED @@ -1435,11 +1458,19 @@ %1% PRODUCTION_DETAIL_BUILDING_DESCRIPTION_STR_WITH_EFFECTS -%1%\n\n<u>Effects</u>\n\n%2% +'''%1% +<u>Effects</u> + +%2%''' + PRODUCTION_DETAIL_SHIP_DESCRIPTION_STR -%1%\n\nAttack: %2%\nDefense: %3%\nSpeed: %4% +'''%1% +Attack: %2% +Defense: %3% +Speed: %4%''' + PRODUCTION_DETAIL_NUMBER_TO_BUILD Quantity @@ -1604,10 +1635,14 @@ # autogenerated effects description. %1% will be the autogenerated effects text. This string should # provide an appropriate heading to appear before the autogenerated text. END_EFFECTS_STR -\n\n<u>Effects</u>\n\n%1% +''' +<u>Effects</u> +%1%''' + + #################### # Combat Messages # #################### @@ -2185,19 +2220,25 @@ Effect is always active DESC_EFFECTS_GROUP_SCOPE_DESC -%1%\n +'''%1% +''' DESC_EFFECTS_GROUP_ACTIVATION_DESC -%1%\n +'''%1% +''' DESC_EFFECTS_GROUP_EFFECT_DESC -%1%\n +'''%1% +''' DESC_EFFECTS_GROUP_EFFECTS_GROUP_DESC -%1%\n +'''%1% +''' DESC_EFFECTS_GROUP_NUMBERED_EFFECTS_GROUP_DESC -Effects group %1%:\n%2%\n +'''Effects group %1%: +%2% +''' # SetMeter @@ -2906,9 +2947,11 @@ Interstellar Navigation SHP_NAVIGATION_DESC -Starlanes form a relatively restrictive network of possible pathes, but interstellar travel is complicated and risky without proper navigation techniques.\n\nIn future, this tech might do something related to starlanes or ship speed or range... +'''Starlanes form a relatively restrictive network of possible pathes, but interstellar travel is complicated and risky without proper navigation techniques. +In future, this tech might do something related to starlanes or ship speed or range...''' + ######################################### # Tech Application Names & Descriptions # ######################################### @@ -3049,8 +3092,10 @@ Self-Rotating Crops GRO_SELF_ROTATING_CROPS_DESC -High-intensity farming output benefits from a thorough understanding of the environment and application of this knowledge in custom-tailoring crops via genetic modification. Self-rotating crops may be grown continually, without the traditional need to alternate to less productive, but soil rejuvinating, plants every few growing seasons.\n\n+ 5 to max farming per 10 population on primary farming focused worlds. +'''High-intensity farming output benefits from a thorough understanding of the environment and application of this knowledge in custom-tailoring crops via genetic modification. Self-rotating crops may be grown continually, without the traditional need to alternate to less productive, but soil rejuvinating, plants every few growing seasons. ++ 5 to max farming per 10 population on primary farming focused worlds.''' + GRO_BIOTERROR Bioterror Facilites @@ -3061,8 +3106,10 @@ Habitation Domes GRO_HABITATION_DOMES_DESC -While terraforming efforts can make planets much more useful, the process is expensive and time consuming. Habibation Domes provide a faster and cheaper, though more limited, alternative for increasing the population capacity of inhospitable worlds, allowing moderate levels of infrastructure and resource capacity to be developed.\n\nIncreases by +2 the maximum population of Terrible environment worlds with current construction of at least 20. +'''While terraforming efforts can make planets much more useful, the process is expensive and time consuming. Habibation Domes provide a faster and cheaper, though more limited, alternative for increasing the population capacity of inhospitable worlds, allowing moderate levels of infrastructure and resource capacity to be developed. +Increases by +2 the maximum population of Terrible environment worlds with current construction of at least 20.''' + GRO_CADUCEAN The Caducean Institute @@ -3097,8 +3144,13 @@ Stellar Tomography LRN_STELLAR_TOMOGRAPHY_DESC -A network of specialized satellites can use tomographic methods to reconstruct the activities occurs deep within a star. These otherwise costly-to-produce conditions are ideal for a variety of research endeavours, with larger benefits for more exotic star types.\n\nProvides + 4 to research per 10 population on primary research focused worlds in systems with black holes.\nProvides +3 to planets in systems with neutron stars.\nProvides +2 to planets in systems with white or blue stars.\nProvides +1 to planets in systems with red, orange or yellow stars. +'''A network of specialized satellites can use tomographic methods to reconstruct the activities occurs deep within a star. These otherwise costly-to-produce conditions are ideal for a variety of research endeavours, with larger benefits for more exotic star types. +Provides + 4 to research per 10 population on primary research focused worlds in systems with black holes. +Provides +3 to planets in systems with neutron stars. +Provides +2 to planets in systems with white or blue stars. +Provides +1 to planets in systems with red, orange or yellow stars.''' + LRN_OBSERVATORY_I Observatory @@ -3169,8 +3221,12 @@ Environmentally-Conscious Mining PRO_ENVIRO_MINING_I_DESC -Many mining methods are incompatiable with highly populous planets, due to environmental damage. Careful consideration of Planetary Ecology is required to permit limited mining techniques to be employed without such downsides. Minerals production is less per unit of population than more extreme methods, however additional population may somewhat offset this. Additionaly, these limited techniques are only applicable to worlds capable of supporting high populations: Superb or Optimal for a given race.\n\nIncreases minerals production by +2 per 10 population on primary mining focused worlds.\nIncreases minreals production by +1 per 10 population on primary balanced and secondary mining focused worlds.\nMultiple focus balances are cumulative: primary and secondary mining focus provides +3 to mineral production per 10 population. +'''Many mining methods are incompatiable with highly populous planets, due to environmental damage. Careful consideration of Planetary Ecology is required to permit limited mining techniques to be employed without such downsides. Minerals production is less per unit of population than more extreme methods, however additional population may somewhat offset this. Additionaly, these limited techniques are only applicable to worlds capable of supporting high populations: Superb or Optimal for a given race. +Increases minerals production by +2 per 10 population on primary mining focused worlds. +Increases minreals production by +1 per 10 population on primary balanced and secondary mining focused worlds. +Multiple focus balances are cumulative: primary and secondary mining focus provides +3 to mineral production per 10 population.''' + PRO_ASTEROID_MINE Asteroid Mining @@ -3223,14 +3279,24 @@ Mining Engineering PRO_MINING_ENGINEERING_DESC -Applying the concepts of Planetary Geology allows effective extraction of minerals from near the surface of planets. By identifying the probable locations and ideal extraction methods, efficiency and total possible production are increased. As well, proper planning and analysis increase mine safety and longevity.\n\nBonuses depend on planet type:\nBarren and Inferno recive +4 per 10 population of planet at mining focused worlds.\nDesert, Radiated and Toxic recive +2.\nTundra and Terran recive +1.\nOcean and Swap receive no bonus.\n\nLarge research cost and time and lack of building-production requirement to receive effect make technology attractive for research-focused empires, but less useful for production-focused. Bonuses are largest on low-population planet types, making overall benefit small until future advances can increase the popluations of these planet types. +'''Applying the concepts of Planetary Geology allows effective extraction of minerals from near the surface of planets. By identifying the probable locations and ideal extraction methods, efficiency and total possible production are increased. As well, proper planning and analysis increase mine safety and longevity. +Bonuses depend on planet type: +Barren and Inferno recive +4 per 10 population of planet at mining focused worlds. +Desert, Radiated and Toxic recive +2. +Tundra and Terran recive +1. +Ocean and Swap receive no bonus. + +Large research cost and time and lack of building-production requirement to receive effect make technology attractive for research-focused empires, but less useful for production-focused. Bonuses are largest on low-population planet types, making overall benefit small until future advances can increase the popluations of these planet types.''' + PRO_INDUSTRY_CENTRE_I Industrial Centres PRO_INDUSTRY_CENTRE_I_DESC -Coordinating industrial activity between planets and star systems can be effectively accomplished at large centralized complexes.\n\nFacility's large cost and build time, as well as significant future range growth potential, require strong planning to produce in location with ideal future utility. Large industrial benefits come with large up-front cost, in both production resources and time, but with minimal research prerequisites, making facility useful for high-production strategies, but unattractive for research-focused empires. +'''Coordinating industrial activity between planets and star systems can be effectively accomplished at large centralized complexes. +Facility's large cost and build time, as well as significant future range growth potential, require strong planning to produce in location with ideal future utility. Large industrial benefits come with large up-front cost, in both production resources and time, but with minimal research prerequisites, making facility useful for high-production strategies, but unattractive for research-focused empires.''' + PRO_ENERGY_CONV Energy Conversion @@ -3357,8 +3423,10 @@ Imperial Palace BLD_IMPERIAL_PALACE_DESC -Represents imperial power and prestige and functions as a centre of control for the empire's holdings.\n\nPlanet on which palace is built receive +2 to max construction. +'''Represents imperial power and prestige and functions as a centre of control for the empire's holdings. +Planet on which palace is built receive +2 to max construction.''' + BLD_SHIPYARD_BASE Shipyard @@ -3369,8 +3437,12 @@ Bioterror Projection Base BLD_BIOTERROR_PROJECTOR_DESC -Projects negative health effects of minor biological warfare to nearby planets.\n\nPlanets within 2 starlane jumps owned by other empires receive -4 to max health.\nPlanets within 2 starlane jumps owned exclusively by the empire that builds the projector receive -1 to max health.\nRequires empire operating it to own at least one Bioterror Research Centre; otherwise produces no negative health effects on other empires' planets. +'''Projects negative health effects of minor biological warfare to nearby planets. +Planets within 2 starlane jumps owned by other empires receive -4 to max health. +Planets within 2 starlane jumps owned exclusively by the empire that builds the projector receive -1 to max health. +Requires empire operating it to own at least one Bioterror Research Centre; otherwise produces no negative health effects on other empires' planets.''' + BLD_BIOTERROR_LAB Bioterror Research Centre Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/server/ServerApp.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -414,13 +414,19 @@ } void ServerApp::AddEmpireTurn(int empire_id) -{ m_turn_sequence[empire_id] = 0; } +{ + m_turn_sequence[empire_id] = 0; +} void ServerApp::RemoveEmpireTurn(int empire_id) -{ m_turn_sequence.erase(empire_id); } +{ + m_turn_sequence.erase(empire_id); +} void ServerApp::SetEmpireTurnOrders(int empire_id, OrderSet *order_set) -{ m_turn_sequence[empire_id] = order_set; } +{ + m_turn_sequence[empire_id] = order_set; +} bool ServerApp::AllOrdersReceived() { @@ -434,8 +440,8 @@ void ServerApp::ProcessTurns() { - Empire *pEmpire; - OrderSet *pOrderSet; + Empire *empire; + OrderSet *order_set; OrderSet::const_iterator order_it; // Now all orders, then process turns @@ -446,26 +452,26 @@ (*player_it)->SendMessage(TurnProgressMessage((*player_it)->ID(), Message::PROCESSING_ORDERS, it->first)); } - pEmpire = Empires().Lookup(it->first); - pEmpire->ClearSitRep(); - pOrderSet = it->second; - + empire = Empires().Lookup(it->first); + empire->ClearSitRep(); + order_set = it->second; + // execute order set - for (order_it = pOrderSet->begin(); order_it != pOrderSet->end(); ++order_it) { + for (order_it = order_set->begin(); order_it != order_set->end(); ++order_it) { order_it->second->Execute(); } - } + } // filter FleetColonizeOrder for later processing typedef std::map<int, std::vector<boost::shared_ptr<FleetColonizeOrder> > > ColonizeOrderMap; ColonizeOrderMap colonize_order_map; for (std::map<int, OrderSet*>::iterator it = m_turn_sequence.begin(); it != m_turn_sequence.end(); ++it) { - pOrderSet = it->second; + order_set = it->second; // filter FleetColonizeOrder and sort them per planet boost::shared_ptr<FleetColonizeOrder> order; - for (order_it = pOrderSet->begin(); order_it != pOrderSet->end(); ++order_it) { + for (order_it = order_set->begin(); order_it != order_set->end(); ++order_it) { if ((order = boost::dynamic_pointer_cast<FleetColonizeOrder>(order_it->second))) { ColonizeOrderMap::iterator it = colonize_order_map.find(order->PlanetID()); @@ -491,8 +497,8 @@ // only one empire? if (it->second.size()==1) { it->second[0]->ServerExecute(); - pEmpire = Empires().Lookup( it->second[0]->EmpireID() ); - pEmpire->AddSitRepEntry(CreatePlanetColonizedSitRep(planet->SystemID(), planet->ID())); + empire = Empires().Lookup( it->second[0]->EmpireID() ); + empire->AddSitRepEntry(CreatePlanetColonizedSitRep(planet->SystemID(), planet->ID())); } else { const System *system = GetUniverse().Object<System>(planet->SystemID()); @@ -531,8 +537,8 @@ for (int i=0;i<static_cast<int>(it->second.size());i++) if (winner==i) { it->second[i]->ServerExecute(); - pEmpire = Empires().Lookup( it->second[i]->EmpireID() ); - pEmpire->AddSitRepEntry(CreatePlanetColonizedSitRep(planet->SystemID(), planet->ID())); + empire = Empires().Lookup( it->second[i]->EmpireID() ); + empire->AddSitRepEntry(CreatePlanetColonizedSitRep(planet->SystemID(), planet->ID())); } else it->second[i]->Undo(); @@ -560,8 +566,8 @@ if (eta == 1) { std::set<int> owners_set = fleet->Owners(); for (std::set<int>::const_iterator owners_it = owners_set.begin(); owners_it != owners_set.end(); ++owners_it) { - pEmpire = Empires().Lookup( *owners_it ); - pEmpire->AddSitRepEntry(CreateFleetArrivedAtDestinationSitRep(fleet->SystemID(), fleet->ID())); + empire = Empires().Lookup( *owners_it ); + empire->AddSitRepEntry(CreateFleetArrivedAtDestinationSitRep(fleet->SystemID(), fleet->ID())); } } } @@ -628,9 +634,10 @@ } } - // if a combat happened, give the human user a chance to look at the results - if (combat_happend) - Sleep(1500); + // commenting out this delay because human client isn't currently displaying combats anyway... + //// if a combat happened, give the human user a chance to look at the results + //if (combat_happend) + // Sleep(1500); // process production and growth phase for (ServerNetworking::const_established_iterator player_it = m_networking.established_begin(); player_it != m_networking.established_end(); ++player_it) { Modified: trunk/FreeOrion/server/ServerApp.h =================================================================== --- trunk/FreeOrion/server/ServerApp.h 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/server/ServerApp.h 2008-07-02 02:36:06 UTC (rev 2620) @@ -47,8 +47,8 @@ /** the application framework class for the FreeOrion server. */ class ServerApp { -public: - /** \name Structors */ //@{ +public: + /** \name Structors */ //@{ ServerApp(); ~ServerApp(); //@} @@ -71,10 +71,10 @@ /** Removes an empire from turn processing. This is most likely called when an empire is eliminated from the game */ void RemoveEmpireTurn(int empire_id); - /** Adds turn orders for the given empire for the current turn. pOrderSet will be freed when all processing is done for the turn */ - void SetEmpireTurnOrders(int empire_id, OrderSet* pOrderSet); + /** Adds turn orders for the given empire for the current turn. order_set will be freed when all processing is done for the turn */ + void SetEmpireTurnOrders(int empire_id, OrderSet* order_set); - /** Determines if all empired have submitted their orders for this turn It will loop the turn squence vector and check for a set pOrderSet. A pOrderSet + /** Determines if all empired have submitted their orders for this turn It will loop the turn squence vector and check for a set order_set. A order_set * of NULL indicates that the empire has not yet submitted their orders for the given turn */ bool AllOrdersReceived(); Modified: trunk/FreeOrion/universe/Fleet.cpp =================================================================== --- trunk/FreeOrion/universe/Fleet.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/universe/Fleet.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -13,6 +13,8 @@ #include <stdexcept> #include <cmath> +#include <boost/format.hpp> + namespace { const double MAX_SHIP_SPEED = 500.0; // max allowed speed of ship movement const double FLEET_MOVEMENT_EPSILON = 1.0e-1; // how close a fleet needs to be to a system to have arrived in the system @@ -873,3 +875,13 @@ if (travel_route.empty() && !m_travel_route.empty()) travel_route.push_back(0); } + +std::string Fleet::GenerateFleetName(const std::vector<int>& ship_ids, int new_fleet_id) { + // TODO: Change returned name based on passed ship designs. eg. return "colony fleet" if + // ships are colony ships, or "battle fleet" if ships are armed. + std::string number_text = ""; + if (new_fleet_id != UniverseObject::INVALID_OBJECT_ID) + number_text = " " + boost::lexical_cast<std::string>(new_fleet_id); + return boost::io::str(FlexibleFormat(UserString("NEW_FLEET_NAME")) % number_text); +} + Modified: trunk/FreeOrion/universe/Fleet.h =================================================================== --- trunk/FreeOrion/universe/Fleet.h 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/universe/Fleet.h 2008-07-02 02:36:06 UTC (rev 2620) @@ -99,6 +99,9 @@ virtual void PopGrowthProductionResearchPhase(); //@} + /* returns a name for a fleet based on the specified \a ship_ids */ + static std::string GenerateFleetName(const std::vector<int>& ship_ids, int new_fleet_id = UniverseObject::INVALID_OBJECT_ID); + static const int ETA_NEVER; ///< returned by ETA when fleet can't reach destination due to lack of route or inability to move static const int ETA_UNKNOWN; ///< returned when ETA can't be determined static const int ETA_OUT_OF_RANGE; ///< returned by ETA when fleet can't reach destination due to insufficient fuel capacity and lack of fleet resupply on route Modified: trunk/FreeOrion/universe/PopCenter.cpp =================================================================== --- trunk/FreeOrion/universe/PopCenter.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/universe/PopCenter.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -75,22 +75,6 @@ return retval; } -double PopCenter::AdjustPop(double pop) -{ - double max_pop = GetMeter(METER_POPULATION)->Max(); - double cur_pop = GetMeter(METER_POPULATION)->Current(); - - double retval = 0.0; - double new_val = cur_pop + pop; - GetMeter(METER_POPULATION)->SetCurrent(new_val); - if (new_val < Meter::METER_MIN) { - retval = new_val; - } else if (max_pop < new_val) { - retval = new_val - max_pop; - } - return retval; -} - double PopCenter::FuturePopGrowth() const { double max = GetMeter(METER_POPULATION)->Max(); Modified: trunk/FreeOrion/universe/PopCenter.h =================================================================== --- trunk/FreeOrion/universe/PopCenter.h 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/universe/PopCenter.h 2008-07-02 02:36:06 UTC (rev 2620) @@ -48,12 +48,6 @@ //@} /** \name Mutators */ //@{ - - /** adjusts the population by \a pop, down to a minimum of 0.0, or up to a maximum of MaxPop(). This function - returns the (positive) pop surplus, or the (negative) pop deficit that would result from - adjusting the population by \a pop points, or 0 if the adjustment falls within [0.0, MaxPop()]*/ - double AdjustPop(double pop); - void SetRace(int race) {m_race = race;} ///< sets the race of the population to \a race void SetAvailableFood(double available_food) {m_available_food = available_food;} ///< sets the amount of food which is currently available Modified: trunk/FreeOrion/universe/ResourceCenter.cpp =================================================================== --- trunk/FreeOrion/universe/ResourceCenter.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/universe/ResourceCenter.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -82,20 +82,18 @@ } ResourceCenter::ResourceCenter() -{ -} +{} ResourceCenter::~ResourceCenter() -{ -} +{} void ResourceCenter::Init() { - InsertMeter(METER_FARMING, Meter()); - InsertMeter(METER_MINING, Meter()); - InsertMeter(METER_INDUSTRY, Meter()); - InsertMeter(METER_RESEARCH, Meter()); - InsertMeter(METER_TRADE, Meter()); + InsertMeter(METER_FARMING, Meter()); + InsertMeter(METER_MINING, Meter()); + InsertMeter(METER_INDUSTRY, Meter()); + InsertMeter(METER_RESEARCH, Meter()); + InsertMeter(METER_TRADE, Meter()); InsertMeter(METER_CONSTRUCTION, Meter()); Reset(); } Modified: trunk/FreeOrion/util/MultiplayerCommon.cpp =================================================================== --- trunk/FreeOrion/util/MultiplayerCommon.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/util/MultiplayerCommon.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -120,6 +120,12 @@ return GetStringTable().String(str); } +boost::format FlexibleFormat(const std::string &string_to_format) { + boost::format retval(string_to_format); + retval.exceptions(boost::io::all_error_bits ^ (boost::io::too_many_args_bit | boost::io::too_few_args_bit)); + return retval; +} + std::string RomanNumber(unsigned int n) { static const char N[] = "IVXLCDM??"; Modified: trunk/FreeOrion/util/MultiplayerCommon.h =================================================================== --- trunk/FreeOrion/util/MultiplayerCommon.h 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/util/MultiplayerCommon.h 2008-07-02 02:36:06 UTC (rev 2620) @@ -9,6 +9,7 @@ #include <boost/serialization/access.hpp> #include <boost/serialization/nvp.hpp> +#include <boost/format.hpp> #include <set> #include <vector> @@ -29,6 +30,9 @@ /** Returns a language-specific string for the key-string \a str */ const std::string& UserString(const std::string& str); +/** Wraps boost::format such that it won't crash if passed the wrong number of arguments */ +boost::format FlexibleFormat(const std::string &string_to_format); + /** Returns the stringified form of \a n as a roman number. "Only" defined for 1 <= n <= 3999, as we can't display the symbol for 5000. */ std::string RomanNumber(unsigned int n); Modified: trunk/FreeOrion/util/Order.cpp =================================================================== --- trunk/FreeOrion/util/Order.cpp 2008-07-01 05:17:39 UTC (rev 2619) +++ trunk/FreeOrion/util/Order.cpp 2008-07-02 02:36:06 UTC (rev 2620) @@ -341,13 +341,14 @@ Universe& universe = GetUniverse(); universe.Delete(m_ship); Planet* planet = universe.Object<Planet>(m_planet); + planet->SetPrimaryFocus(FOCUS_BALANCED); planet->SetSecondaryFocus(FOCUS_BALANCED); - planet->ResetMaxMeters(); - planet->ApplyUniverseTableMaxMeterAdjustments(); - planet->AdjustPop(INITIAL_COLONY_POP); - planet->GetMeter(METER_FARMING)->SetCurrent(INITIAL_COLONY_POP); + + planet->GetMeter(METER_POPULATION)->SetCurrent(INITIAL_COLONY_POP); + planet->GetMeter(METER_FARMING)->SetCurrent(10.0); planet->GetMeter(METER_HEALTH)->SetCurrent(planet->GetMeter(METER_HEALTH)->Max()); + planet->AddOwner(EmpireID()); } @@ -410,8 +411,22 @@ // if the fleet from which the colony ship came no longer exists or has moved, recreate it if (!fleet || fleet->SystemID() != ship->SystemID()) { System* system = planet->GetSystem(); - int new_fleet_id = !fleet ? m_colony_fleet_id : GetNewObjectID(); - fleet = new Fleet(!fleet ? m_colony_fleet_name : "Colony Fleet", system->X(), system->Y(), EmpireID()); + + int new_fleet_id = m_colony_fleet_id; + std::string new_fleet_name = m_colony_fleet_name; + + if (fleet && (fleet->SystemID() != ship->SystemID())) { + // fleet still exists, but it or ship are no longer in the same system, so + // need to create a new fleet for the ship in the system it is in + + // new id for new fleet + new_fleet_id = GetNewObjectID(); + // name for new fleet + std::vector<int> ship_ids; ship_ids.push_back(m_ship); + new_fleet_name = Fleet::GenerateFleetName(ship_ids, new_fleet_id); // potential bug?! Client and Server might be using different languge files, meaning the client will see fleet name in its set language on the turn of the undo, but will see a different language fleet name on the next turn which is permanently set by the server undo + } + + fleet = new Fleet(new_fleet_name, system->X(), system->Y(), EmpireID()); if (new_fleet_id == UniverseObject::INVALID_OBJECT_ID) throw std::runtime_error("FleetColonizeOrder::UndoImpl(): Unable to obtain a new fleet ID"); universe.InsertID(fleet, new_fleet_id); |
From: <geo...@us...> - 2008-07-02 11:40:34
|
Revision: 2621 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2621&view=rev Author: geoffthemedio Date: 2008-07-02 04:40:42 -0700 (Wed, 02 Jul 2008) Log Message: ----------- -Made new fleets produced by production use Fleet::GenerateFleetName -Added a separate stringtable entry for un-numbered new fleet names, rather than the less-flexible hard-coded space that was previously used. Modified Paths: -------------- trunk/FreeOrion/Empire/Empire.cpp trunk/FreeOrion/default/eng_stringtable.txt trunk/FreeOrion/universe/Fleet.cpp Modified: trunk/FreeOrion/Empire/Empire.cpp =================================================================== --- trunk/FreeOrion/Empire/Empire.cpp 2008-07-02 02:36:06 UTC (rev 2620) +++ trunk/FreeOrion/Empire/Empire.cpp 2008-07-02 11:40:42 UTC (rev 2621) @@ -1808,10 +1808,7 @@ // create new fleet with new ship Fleet* fleet = new Fleet("", system->X(), system->Y(), m_id); int fleet_id = universe.Insert(fleet); - // TODO: What is the mechanism for determining new fleet name? - std::string fleet_name("New fleet "); - fleet_name += boost::lexical_cast<std::string>(fleet_id); - fleet->Rename(fleet_name); + system->Insert(fleet); Logger().debugStream() << "New Fleet created on turn: " << fleet->CreationTurn(); @@ -1829,6 +1826,11 @@ ship->Rename(NewShipName()); #endif fleet->AddShip(ship_id); + + // rename fleet, given its id and the ship that is in it + std::vector<int> ship_ids; ship_ids.push_back(ship_id); + fleet->Rename(Fleet::GenerateFleetName(ship_ids, fleet_id)); + Logger().debugStream() << "New Ship created on turn: " << ship->CreationTurn(); // add sitrep Modified: trunk/FreeOrion/default/eng_stringtable.txt =================================================================== --- trunk/FreeOrion/default/eng_stringtable.txt 2008-07-02 02:36:06 UTC (rev 2620) +++ trunk/FreeOrion/default/eng_stringtable.txt 2008-07-02 11:40:42 UTC (rev 2621) @@ -113,10 +113,12 @@ CHAT_WHISPER whisper -# used to generate a name for new fleets when they are created +# used to generate names for new fleets when they are created NEW_FLEET_NAME -New fleet%1% +New Fleet %1% +NEW_FLEET_NAME_NO_NUMBER +New Fleet ###################################### # Command Line and OptionsDB Options # Modified: trunk/FreeOrion/universe/Fleet.cpp =================================================================== --- trunk/FreeOrion/universe/Fleet.cpp 2008-07-02 02:36:06 UTC (rev 2620) +++ trunk/FreeOrion/universe/Fleet.cpp 2008-07-02 11:40:42 UTC (rev 2621) @@ -879,9 +879,9 @@ std::string Fleet::GenerateFleetName(const std::vector<int>& ship_ids, int new_fleet_id) { // TODO: Change returned name based on passed ship designs. eg. return "colony fleet" if // ships are colony ships, or "battle fleet" if ships are armed. - std::string number_text = ""; - if (new_fleet_id != UniverseObject::INVALID_OBJECT_ID) - number_text = " " + boost::lexical_cast<std::string>(new_fleet_id); - return boost::io::str(FlexibleFormat(UserString("NEW_FLEET_NAME")) % number_text); + if (new_fleet_id == UniverseObject::INVALID_OBJECT_ID) + return UserString("NEW_FLEET_NAME_NO_NUMBER"); + + return boost::io::str(FlexibleFormat(UserString("NEW_FLEET_NAME")) % boost::lexical_cast<std::string>(new_fleet_id)); } |
From: <tz...@us...> - 2008-07-07 03:37:53
|
Revision: 2625 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2625&view=rev Author: tzlaine Date: 2008-07-06 20:38:00 -0700 (Sun, 06 Jul 2008) Log Message: ----------- Upgraded to Boost 1.35.0. Modified Paths: -------------- trunk/FreeOrion/SConscript trunk/FreeOrion/SConstruct trunk/FreeOrion/UI/ClientUI.cpp trunk/FreeOrion/UI/OptionsWnd.cpp trunk/FreeOrion/UI/StringTable.cpp trunk/FreeOrion/build_config.py trunk/FreeOrion/build_support.py trunk/FreeOrion/network/ClientNetworking.cpp trunk/FreeOrion/network/ClientNetworking.h trunk/FreeOrion/network/Message.h trunk/FreeOrion/network/ServerNetworking.h trunk/FreeOrion/universe/Universe.h trunk/FreeOrion/util/AppInterface.cpp trunk/FreeOrion/util/AppInterface.h trunk/FreeOrion/util/MultiplayerCommon.cpp trunk/FreeOrion/util/Random.h trunk/FreeOrion/util/Serialize.cpp Removed Paths: ------------- trunk/FreeOrion/network/boost/ Modified: trunk/FreeOrion/SConscript =================================================================== --- trunk/FreeOrion/SConscript 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/SConscript 2008-07-07 03:38:00 UTC (rev 2625) @@ -9,7 +9,6 @@ 'network/Message.cpp', 'network/MessageQueue.cpp', 'network/Networking.cpp', - 'network/boost/error_code.cpp', 'UI/StringTable.cpp', 'universe/Building.cpp', 'universe/Condition.cpp', Modified: trunk/FreeOrion/SConstruct =================================================================== --- trunk/FreeOrion/SConstruct 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/SConstruct 2008-07-07 03:38:00 UTC (rev 2625) @@ -231,6 +231,7 @@ if not conf.CheckBoost(boost_version_string, freeorion_boost_libs, conf, not ms_linker): Exit(1) else: + signals_namespace = 'signals' if OptionValue('boost_signals_namespace', env): signals_namespace = OptionValue('boost_signals_namespace', env) env.AppendUnique(CPPDEFINES = [ @@ -239,7 +240,8 @@ ]) boost_libs = freeorion_boost_libs + [ - ('boost_signals', 'boost/signals.hpp', 'boost::signals::connection();'), + ('boost_signals', 'boost/signals.hpp', 'boost::' + signals_namespace + '::connection();'), + ('boost_system', 'boost/system/error_code.hpp', 'boost::system::get_system_category();'), ('boost_filesystem', 'boost/filesystem/operations.hpp', 'boost::filesystem::initial_path();'), ('boost_thread', 'boost/thread/thread.hpp', 'boost::thread::yield();'), ] @@ -558,11 +560,7 @@ version_cpp.close() version_cpp_in.close() -# This is necessary until Boost 1.35 is released, which will include Boost.Asio. For now, we have a local copy of -# Boost.Asio in the network directory. -env.AppendUnique(CPPPATH = ['network']) - -# On Win32, assume we're using the SDK, and copy the installed GG DLLs to the FreeOrion directory. +# On Win32, assume we're using the FreeOrion SDK, and copy the installed GG DLLs to the FreeOrion directory. if str(Platform()) == 'win32': import shutil shutil.copy(os.path.join('..', 'lib', 'GiGi.dll'), '.') Modified: trunk/FreeOrion/UI/ClientUI.cpp =================================================================== --- trunk/FreeOrion/UI/ClientUI.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/UI/ClientUI.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -6,6 +6,9 @@ #include "MapWnd.h" #include "SidePanel.h" #include "../util/AppInterface.h" + +#undef int64_t + #include "../util/Random.h" #include "../universe/Building.h" #include "../universe/Fleet.h" @@ -29,11 +32,11 @@ #include <log4cpp/PatternLayout.hh> #include <log4cpp/FileAppender.hh> +#include <boost/spirit.hpp> #include <boost/algorithm/string/predicate.hpp> -#include <boost/filesystem/cerrno.hpp> #include <boost/filesystem/fstream.hpp> #include <boost/filesystem/operations.hpp> -#include <boost/spirit.hpp> +#include <boost/system/system_error.hpp> #include <string> @@ -589,7 +592,7 @@ textures.push_back(ClientUI::GetTexture(*it, mipmap)); } catch (const fs::filesystem_error& e) { // ignore files for which permission is denied, and rethrow other exceptions - if (e.system_error() != EACCES) + if (e.code() != boost::system::posix_error::permission_denied) throw; } } Modified: trunk/FreeOrion/UI/OptionsWnd.cpp =================================================================== --- trunk/FreeOrion/UI/OptionsWnd.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/UI/OptionsWnd.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -12,14 +12,14 @@ #include <GG/TabWnd.h> #include <GG/dialogs/ThreeButtonDlg.h> +#include <boost/format.hpp> +#include <boost/spirit.hpp> #include <boost/algorithm/string/erase.hpp> #include <boost/algorithm/string/predicate.hpp> -#include <boost/filesystem/cerrno.hpp> #include <boost/filesystem/convenience.hpp> #include <boost/filesystem/fstream.hpp> #include <boost/filesystem/operations.hpp> -#include <boost/format.hpp> -#include <boost/spirit.hpp> +#include <boost/system/system_error.hpp> namespace fs = boost::filesystem; @@ -518,7 +518,7 @@ } } catch (const fs::filesystem_error& e) { // ignore files for which permission is denied, and rethrow other exceptions - if (e.system_error() != EACCES) + if (e.code() != boost::system::posix_error::permission_denied) throw; } } Modified: trunk/FreeOrion/UI/StringTable.cpp =================================================================== --- trunk/FreeOrion/UI/StringTable.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/UI/StringTable.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -4,13 +4,6 @@ #include "../util/MultiplayerCommon.h" #include "../util/Directories.h" -#if defined(_MSC_VER) - // HACK! this keeps VC.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#endif #include <boost/filesystem/fstream.hpp> #include <boost/xpressive/xpressive.hpp> #include <boost/algorithm/string/replace.hpp> Modified: trunk/FreeOrion/build_config.py =================================================================== --- trunk/FreeOrion/build_config.py 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/build_config.py 2008-07-07 03:38:00 UTC (rev 2625) @@ -13,7 +13,7 @@ sdl_version = '1.2.7' -boost_version_string = '1.34' +boost_version_string = '1.35' def BoostStringToNumber(version_string): pieces = version_string.split('.') return str(int(pieces[0]) * 100000 + int(pieces[1]) * 100 + (3 <= len(pieces) and int(pieces[2]) or 0)) Modified: trunk/FreeOrion/build_support.py =================================================================== --- trunk/FreeOrion/build_support.py 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/build_support.py 2008-07-07 03:38:00 UTC (rev 2625) @@ -212,7 +212,8 @@ context.Message('Checking %s version == %s... ' % (package, comparison_string)) matches = FindRegexMatchesInHeader(regex, header, context.env) if len(matches) == 1: - if isinstance(matches[0], basestring): + import types + if type(matches[0]) == types.StringType: match_str = matches[0] else: match_str = '.'.join(matches[0]) Modified: trunk/FreeOrion/network/ClientNetworking.cpp =================================================================== --- trunk/FreeOrion/network/ClientNetworking.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/network/ClientNetworking.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -1,3 +1,5 @@ +#define WIN32_LEAN_AND_MEAN + #include "ClientNetworking.h" #include "Networking.h" Modified: trunk/FreeOrion/network/ClientNetworking.h =================================================================== --- trunk/FreeOrion/network/ClientNetworking.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/network/ClientNetworking.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -5,18 +5,6 @@ #include "Message.h" #include "MessageQueue.h" -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 -#endif - #include <boost/array.hpp> #include <boost/asio.hpp> Modified: trunk/FreeOrion/network/Message.h =================================================================== --- trunk/FreeOrion/network/Message.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/network/Message.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -4,6 +4,10 @@ #include <boost/shared_ptr.hpp> +#if defined(_MSC_VER) && defined(int64_t) +#undef int64_t +#endif + #include <string> #include <map> Modified: trunk/FreeOrion/network/ServerNetworking.h =================================================================== --- trunk/FreeOrion/network/ServerNetworking.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/network/ServerNetworking.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -4,18 +4,6 @@ #include "Message.h" -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 -#endif - #include <boost/asio.hpp> #include <boost/enable_shared_from_this.hpp> #include <boost/function.hpp> Modified: trunk/FreeOrion/universe/Universe.h =================================================================== --- trunk/FreeOrion/universe/Universe.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/universe/Universe.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -14,17 +14,6 @@ #include "Predicates.h" #include "Effect.h" -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 -#endif #ifndef BOOST_GRAPH_ADJACENCY_LIST_HPP #include <boost/graph/adjacency_list.hpp> #endif Modified: trunk/FreeOrion/util/AppInterface.cpp =================================================================== --- trunk/FreeOrion/util/AppInterface.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/util/AppInterface.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -6,6 +6,7 @@ # ifdef FREEORION_BUILD_HUMAN # include "../client/human/HumanClientApp.h" # else +# undef int64_t # include "../client/AI/AIClientApp.h" # endif #endif Modified: trunk/FreeOrion/util/AppInterface.h =================================================================== --- trunk/FreeOrion/util/AppInterface.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/util/AppInterface.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -4,6 +4,10 @@ #include <log4cpp/Category.hh> +#if defined(_MSC_VER) && defined(int64_t) +#undef int64_t +#endif + class EmpireManager; class Universe; Modified: trunk/FreeOrion/util/MultiplayerCommon.cpp =================================================================== --- trunk/FreeOrion/util/MultiplayerCommon.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/util/MultiplayerCommon.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -6,20 +6,12 @@ #include <log4cpp/Priority.hh> -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 +#if defined(_MSC_VER) && defined(int64_t) +#undef int64_t #endif #include <boost/filesystem/operations.hpp> -#include <boost/filesystem/cerrno.hpp> +#include <boost/system/system_error.hpp> #include <boost/thread/thread.hpp> #include <boost/thread/xtime.hpp> @@ -255,7 +247,7 @@ } } catch (const fs::filesystem_error& e) { // ignore files for which permission is denied, and rethrow other exceptions - if (e.system_error() != EACCES) + if (e.code() != boost::system::posix_error::permission_denied) throw; } } Modified: trunk/FreeOrion/util/Random.h =================================================================== --- trunk/FreeOrion/util/Random.h 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/util/Random.h 2008-07-07 03:38:00 UTC (rev 2625) @@ -2,16 +2,8 @@ #ifndef _Random_h_ #define _Random_h_ -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 +#if defined(_MSC_VER) && defined(int64_t) +#undef int64_t #endif #include <boost/random/mersenne_twister.hpp> Modified: trunk/FreeOrion/util/Serialize.cpp =================================================================== --- trunk/FreeOrion/util/Serialize.cpp 2008-07-07 00:38:51 UTC (rev 2624) +++ trunk/FreeOrion/util/Serialize.cpp 2008-07-07 03:38:00 UTC (rev 2625) @@ -12,16 +12,8 @@ #include <SDL/SDL_byteorder.h> -#if defined(_MSC_VER) - // HACK! this keeps VC 7.x from barfing when it sees "typedef __int64 int64_t;" - // in boost/cstdint.h when compiling under windows -# if defined(int64_t) -# undef int64_t -# endif -#elif defined(WIN32) - // HACK! this keeps gcc 3.x from barfing when it sees "typedef long long uint64_t;" - // in boost/cstdint.h when compiling under windows -# define BOOST_MSVC -1 +#if defined(_MSC_VER) && defined(int64_t) +#undef int64_t #endif #include <boost/serialization/export.hpp> |
From: <geo...@us...> - 2008-07-10 03:12:27
|
Revision: 2629 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2629&view=rev Author: geoffthemedio Date: 2008-07-09 20:12:36 -0700 (Wed, 09 Jul 2008) Log Message: ----------- MSVC 2008 project files Added Paths: ----------- trunk/FreeOrion/msvc2008/ trunk/FreeOrion/msvc2008/FreeOrion/ trunk/FreeOrion/msvc2008/FreeOrion/FreeOrion.sln trunk/FreeOrion/msvc2008/FreeOrion/freeorion/ trunk/FreeOrion/msvc2008/FreeOrion/freeorion/freeorion.vcproj trunk/FreeOrion/msvc2008/FreeOrion/freeorionca/ trunk/FreeOrion/msvc2008/FreeOrion/freeorionca/freeorionca.vcproj trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/ trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj trunk/FreeOrion/msvc2008/include/ trunk/FreeOrion/msvc2008/include/GG/ trunk/FreeOrion/msvc2008/include/GG/ltdl.h Added: trunk/FreeOrion/msvc2008/FreeOrion/FreeOrion.sln =================================================================== --- trunk/FreeOrion/msvc2008/FreeOrion/FreeOrion.sln (rev 0) +++ trunk/FreeOrion/msvc2008/FreeOrion/FreeOrion.sln 2008-07-10 03:12:36 UTC (rev 2629) @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freeorion", "freeorion\freeorion.vcproj", "{DB6FF1B0-5485-4DB9-8390-88CE29C22261}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freeoriond", "freeoriond\freeoriond.vcproj", "{BA9529CC-B803-4763-B803-2B374D4ECD43}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freeorionca", "freeorionca\freeorionca.vcproj", "{4B69AB88-9DA9-41AB-B6D6-CACFE5F3DAD9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Defaut|Win32 = Defaut|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DB6FF1B0-5485-4DB9-8390-88CE29C22261}.Defaut|Win32.ActiveCfg = Release|Win32 + {DB6FF1B0-5485-4DB9-8390-88CE29C22261}.Defaut|Win32.Build.0 = Release|Win32 + {BA9529CC-B803-4763-B803-2B374D4ECD43}.Defaut|Win32.ActiveCfg = Release|Win32 + {BA9529CC-B803-4763-B803-2B374D4ECD43}.Defaut|Win32.Build.0 = Release|Win32 + {4B69AB88-9DA9-41AB-B6D6-CACFE5F3DAD9}.Defaut|Win32.ActiveCfg = Release|Win32 + {4B69AB88-9DA9-41AB-B6D6-CACFE5F3DAD9}.Defaut|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: trunk/FreeOrion/msvc2008/FreeOrion/freeorion/freeorion.vcproj =================================================================== --- trunk/FreeOrion/msvc2008/FreeOrion/freeorion/freeorion.vcproj (rev 0) +++ trunk/FreeOrion/msvc2008/FreeOrion/freeorion/freeorion.vcproj 2008-07-10 03:12:36 UTC (rev 2629) @@ -0,0 +1,1140 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="freeorion" + ProjectGUID="{DB6FF1B0-5485-4DB9-8390-88CE29C22261}" + RootNamespace="freeorion" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../" + IntermediateDirectory="Release" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="3" + AdditionalIncludeDirectories="../../../../include/;"../../../../Boost/include/boost-1_35";C:\Python25\include;../../../GG/;../../../GG/libltdl;../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;GIGI_EXPORTS;GIGI_SDL_EXPORTS;FREEORION_BUILD_HUMAN;FREEORION_WIN32;BOOST_SIGNALS_STATIC_LINK" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + EnableEnhancedInstructionSet="2" + DisableLanguageExtensions="false" + ForceConformanceInForLoopScope="true" + RuntimeTypeInfo="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4099;4251;4800;4267;4275;4244;4101;4258;4996;4312;4311" + ShowIncludes="false" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib glu32.lib wsock32.lib zdll.lib SDL.lib SDLmain.lib log4cpp.lib freetype214MT.lib cdt.lib circogen.lib common.lib dotgen.lib fdpgen.lib gd.lib graph.lib gvc.lib libexpat.lib neatogen.lib pack.lib pathplan.lib plugin.lib twopigen.lib png.lib jpeg.lib OpenAL32.lib alut.lib libvorbisfile.lib glew32.lib" + ShowProgress="0" + OutputFile="../../../freeorion.exe" + LinkIncremental="2" + AdditionalLibraryDirectories="../../../../lib/;../../../../Boost/lib/;C:\Python25\libs;C:\boost_1_35_0\lib" + GenerateManifest="true" + IgnoreDefaultLibraryNames="LIBCMT" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="0" + EnableCOMDATFolding="0" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + EmbedManifest="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="client" + > + <File + RelativePath="..\..\..\client\ClientApp.cpp" + > + </File> + <File + RelativePath="..\..\..\client\ClientApp.h" + > + </File> + <File + RelativePath="..\..\..\client\ClientFSMEvents.cpp" + > + </File> + <File + RelativePath="..\..\..\client\ClientFSMEvents.h" + > + </File> + <Filter + Name="human" + > + <File + RelativePath="..\..\..\client\human\chmain.cpp" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientApp.cpp" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientApp.h" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientAppSoundOpenAL.cpp" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientAppSoundOpenAL.h" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientFSM.cpp" + > + </File> + <File + RelativePath="..\..\..\client\human\HumanClientFSM.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="util" + > + <File + RelativePath="..\..\..\util\AppInterface.cpp" + > + </File> + <File + RelativePath="..\..\..\util\AppInterface.h" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.cpp" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.h" + > + </File> + <File + RelativePath="..\..\..\util\Directories.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Directories.h" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.cpp" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.h" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.cpp" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionValidators.h" + > + </File> + <File + RelativePath="..\..\..\util\Order.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Order.h" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.h" + > + </File> + <File + RelativePath="..\..\..\util\Process.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Process.h" + > + </File> + <File + RelativePath="..\..\..\util\Random.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Random.h" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.h" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.cpp" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.h" + > + </File> + <File + RelativePath="..\..\..\util\VarText.cpp" + > + </File> + <File + RelativePath="..\..\..\util\VarText.h" + > + </File> + <File + RelativePath="..\..\..\util\Version.cpp.in" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\util\Version.h" + > + </File> + <File + RelativePath="..\..\..\util\XMLDoc.cpp" + > + </File> + <File + RelativePath="..\..\..\util\XMLDoc.h" + > + </File> + </Filter> + <Filter + Name="combat" + > + <File + RelativePath="..\..\..\combat\Combat.cpp" + > + </File> + <File + RelativePath="..\..\..\combat\Combat.h" + > + </File> + </Filter> + <Filter + Name="Empire" + > + <File + RelativePath="..\..\..\Empire\Empire.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\Empire.h" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.h" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.h" + > + </File> + </Filter> + <Filter + Name="network" + > + <File + RelativePath="..\..\..\network\ClientNetworking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\ClientNetworking.h" + > + </File> + <File + RelativePath="..\..\..\network\Message.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Message.h" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.cpp" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.h" + > + </File> + <File + RelativePath="..\..\..\network\Networking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Networking.h" + > + </File> + </Filter> + <Filter + Name="UI" + > + <File + RelativePath="..\..\..\Ui\About.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\About.h" + > + </File> + <File + RelativePath="..\..\..\Ui\BuildDesignatorWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\BuildDesignatorWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\ClientUI.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\ClientUI.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CombatWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\CombatWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIControls.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIControls.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIDrawUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIDrawUtil.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CUISpin.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIStyle.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIStyle.h" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\CUIWnd.h" + > + </File> + <File + RelativePath="..\..\..\UI\DesignWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\UI\DesignWnd.h" + > + </File> + <File + RelativePath="..\..\..\UI\EncyclopediaDetailPanel.cpp" + > + </File> + <File + RelativePath="..\..\..\UI\EncyclopediaDetailPanel.h" + > + </File> + <File + RelativePath="..\..\..\Ui\FleetButton.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\FleetButton.h" + > + </File> + <File + RelativePath="..\..\..\Ui\FleetWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\FleetWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\GalaxySetupWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\GalaxySetupWnd.h" + > + </File> + <File + RelativePath="..\..\..\UI\InfoPanels.cpp" + > + </File> + <File + RelativePath="..\..\..\UI\InfoPanels.h" + > + </File> + <File + RelativePath="..\..\..\Ui\InGameMenu.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\InGameMenu.h" + > + </File> + <File + RelativePath="..\..\..\Ui\IntroScreen.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\IntroScreen.h" + > + </File> + <File + RelativePath="..\..\..\Ui\LinkText.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\LinkText.h" + > + </File> + <File + RelativePath="..\..\..\Ui\MapWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\MapWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\MultiplayerLobbyWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\MultiplayerLobbyWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\OptionsWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\OptionsWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\PlanetDetailWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\PlanetDetailWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\ProductionWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\ProductionWnd.h" + > + </File> + <File + RelativePath="..\..\..\UI\QueueListBox.cpp" + > + </File> + <File + RelativePath="..\..\..\UI\QueueListBox.h" + > + </File> + <File + RelativePath="..\..\..\Ui\ResearchWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\ResearchWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\ServerConnectWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\ServerConnectWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\SidePanel.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\SidePanel.h" + > + </File> + <File + RelativePath="..\..\..\Ui\SitRepPanel.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\SitRepPanel.h" + > + </File> + <File + RelativePath="..\..\..\Ui\StringTable.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\StringTable.h" + > + </File> + <File + RelativePath="..\..\..\Ui\SystemIcon.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\SystemIcon.h" + > + </File> + <File + RelativePath="..\..\..\Ui\TechTreeWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\TechTreeWnd.h" + > + </File> + <File + RelativePath="..\..\..\Ui\TurnProgressWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\TurnProgressWnd.h" + > + </File> + </Filter> + <Filter + Name="universe" + > + <File + RelativePath="..\..\..\universe\Building.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Building.h" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.h" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser1.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser2.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.h" + > + </File> + <File + RelativePath="..\..\..\universe\EffectParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.h" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.h" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Parser.h" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.h" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.h" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.h" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.h" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.h" + > + </File> + <File + RelativePath="..\..\..\universe\Special.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Special.h" + > + </File> + <File + RelativePath="..\..\..\universe\System.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\System.h" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.h" + > + </File> + <File + RelativePath="..\..\..\universe\TopLevelParsers.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.h" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.h" + > + </File> + </Filter> + <Filter + Name="GG" + > + <Filter + Name="GG" + > + <File + RelativePath="..\..\..\GG\GG\AlignmentFlags.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Base.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\BrowseInfoWnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Button.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Clr.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Control.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Cursor.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DrawUtil.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DropDownList.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DynamicGraphic.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Edit.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Enum.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\EventPump.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Flags.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Font.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\GUI.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Layout.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\ListBox.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Menu.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\MultiEdit.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\PtRect.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Scroll.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Slider.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\StaticGraphic.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\StyleFactory.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\TabWnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\TextControl.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Texture.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Timer.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Wnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\WndEditor.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\WndEvent.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\ZList.h" + > + </File> + <Filter + Name="SDL" + > + <File + RelativePath="..\..\..\GG\GG\SDL\SDLGUI.h" + > + </File> + </Filter> + <Filter + Name="dialogs" + > + <File + RelativePath="..\..\..\GG\GG\dialogs\ColorDlg.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\dialogs\FileDlg.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\dialogs\ThreeButtonDlg.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="src" + > + <File + RelativePath="..\..\..\GG\src\AlignmentFlags.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Base.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\BrowseInfoWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Button.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Clr.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Control.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Cursor.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DrawUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DropDownList.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DynamicGraphic.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Edit.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\EventPump.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Font.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\GUI.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Layout.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\ListBox.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Menu.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\MultiEdit.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\PtRect.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Scroll.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Slider.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\StaticGraphic.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\StyleFactory.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\TabWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\TextControl.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Texture.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Timer.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Wnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\WndEditor.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\WndEvent.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\ZList.cpp" + > + </File> + <Filter + Name="SDL" + > + <File + RelativePath="..\..\..\GG\src\SDL\SDLGUI.cpp" + > + </File> + </Filter> + <Filter + Name="dialogs" + > + <File + RelativePath="..\..\..\GG\src\dialogs\ColorDlg.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\dialogs\FileDlg.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\dialogs\ThreeButtonDlg.cpp" + > + </File> + </Filter> + </Filter> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/FreeOrion/msvc2008/FreeOrion/freeorionca/freeorionca.vcproj =================================================================== --- trunk/FreeOrion/msvc2008/FreeOrion/freeorionca/freeorionca.vcproj (rev 0) +++ trunk/FreeOrion/msvc2008/FreeOrion/freeorionca/freeorionca.vcproj 2008-07-10 03:12:36 UTC (rev 2629) @@ -0,0 +1,640 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="freeorionca" + ProjectGUID="{4B69AB88-9DA9-41AB-B6D6-CACFE5F3DAD9}" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../" + IntermediateDirectory="Release" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="3" + AdditionalIncludeDirectories="../../../../include/;"../../../../Boost/include/boost-1_35";C:\Python25\include;../../../GG/" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;GIGI_EXPORTS;FREEORION_BUILD_AI;FREEORION_WIN32;BOOST_SIGNALS_STATIC_LINK" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + EnableEnhancedInstructionSet="2" + DisableLanguageExtensions="false" + ForceConformanceInForLoopScope="true" + RuntimeTypeInfo="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4099;4251;4800;4267;4275;4244;4101;4258;4996;4312;4311" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib glu32.lib wsock32.lib zdll.lib log4cpp.lib freetype214MT.lib cdt.lib common.lib pathplan.lib libexpat.lib python25.lib boost_python-vc80-mt-1_35.lib" + OutputFile="../../../freeorionca.exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib/;../../../../Boost/lib/;C:\Python25\libs;C:\boost_1_35_0\lib" + GenerateManifest="true" + GenerateDebugInformation="false" + SubSystem="1" + OptimizeReferences="0" + EnableCOMDATFolding="0" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + EmbedManifest="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="AI" + > + <File + RelativePath="..\..\..\AI\AIInterface.cpp" + > + </File> + <File + RelativePath="..\..\..\AI\AIInterface.h" + > + </File> + <File + RelativePath="..\..\..\AI\PythonAI.cpp" + > + </File> + <File + RelativePath="..\..\..\AI\PythonAI.h" + > + </File> + <File + RelativePath="..\..\..\AI\ReferenceAI.cpp" + > + </File> + <File + RelativePath="..\..\..\AI\ReferenceAI.h" + > + </File> + </Filter> + <Filter + Name="util" + > + <File + RelativePath="..\..\..\util\AppInterface.cpp" + > + </File> + <File + RelativePath="..\..\..\util\AppInterface.h" + > + </File> + <File + RelativePath="..\..\..\util\binreloc.c" + > + </File> + <File + RelativePath="..\..\..\util\binreloc.h" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.cpp" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.h" + > + </File> + <File + RelativePath="..\..\..\util\Directories.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Directories.h" + > + </File> + <File + RelativePath="..\..\..\util\GLStateComparator.h" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.cpp" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.h" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.cpp" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionValidators.h" + > + </File> + <File + RelativePath="..\..\..\util\Order.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Order.h" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.h" + > + </File> + <File + RelativePath="..\..\..\util\Process.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Process.h" + > + </File> + <File + RelativePath="..\..\..\util\Random.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Random.h" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.h" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.cpp" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.h" + > + </File> + <File + RelativePath="..\..\..\util\VarText.cpp" + > + </File> + <File + RelativePath="..\..\..\util\VarText.h" + > + </File> + <File + RelativePath="..\..\..\util\Version.h" + > + </File> + <File + RelativePath="..\..\..\util\XMLDoc.cpp" + > + </File> + </Filter> + <Filter + Name="client" + > + <File + RelativePath="..\..\..\client\ClientApp.cpp" + > + </File> + <File + RelativePath="..\..\..\client\ClientApp.h" + > + </File> + <File + RelativePath="..\..\..\client\ClientFSMEvents.cpp" + > + </File> + <File + RelativePath="..\..\..\client\ClientFSMEvents.h" + > + </File> + <Filter + Name="AI" + > + <File + RelativePath="..\..\..\client\Ai\AIClientApp.cpp" + > + </File> + <File + RelativePath="..\..\..\client\Ai\AIClientApp.h" + > + </File> + <File + RelativePath="..\..\..\client\Ai\camain.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="combat" + > + <File + RelativePath="..\..\..\combat\Combat.cpp" + > + </File> + <File + RelativePath="..\..\..\combat\Combat.h" + > + </File> + </Filter> + <Filter + Name="Empire" + > + <File + RelativePath="..\..\..\Empire\Empire.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\Empire.h" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.h" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.h" + > + </File> + </Filter> + <Filter + Name="network" + > + <File + RelativePath="..\..\..\network\ClientNetworking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\ClientNetworking.h" + > + </File> + <File + RelativePath="..\..\..\network\Message.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Message.h" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.cpp" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.h" + > + </File> + <File + RelativePath="..\..\..\network\Networking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Networking.h" + > + </File> + </Filter> + <Filter + Name="python" + > + <File + RelativePath="..\..\..\Python\PythonEmpireWrapper.cpp" + > + </File> + <File + RelativePath="..\..\..\Python\PythonEnumWrapper.cpp" + > + </File> + <File + RelativePath="..\..\..\Python\PythonLoggingWrapper.cpp" + > + </File> + <File + RelativePath="..\..\..\Python\PythonSetWrapper.h" + > + </File> + <File + RelativePath="..\..\..\Python\PythonUniverseWrapper.cpp" + > + </File> + <File + RelativePath="..\..\..\Python\PythonWrappers.h" + > + </File> + </Filter> + <Filter + Name="UI" + > + <File + RelativePath="..\..\..\Ui\StringTable.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\StringTable.h" + > + </File> + </Filter> + <Filter + Name="universe" + > + <File + RelativePath="..\..\..\universe\Building.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Building.h" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.h" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser1.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser2.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.h" + > + </File> + <File + RelativePath="..\..\..\universe\EffectParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.h" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.h" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Parser.h" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.h" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.h" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.h" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.h" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.h" + > + </File> + <File + RelativePath="..\..\..\universe\Special.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Special.h" + > + </File> + <File + RelativePath="..\..\..\universe\System.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\System.h" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.h" + > + </File> + <File + RelativePath="..\..\..\universe\TopLevelParsers.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.h" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.h" + > + </File> + </Filter> + <Filter + Name="GG" + > + <Filter + Name="GG" + > + <File + RelativePath="..\..\..\GG\GG\Clr.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\PtRect.h" + > + </File> + </Filter> + <Filter + Name="src" + > + <File + RelativePath="..\..\..\GG\src\Clr.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\PtRect.cpp" + > + </File> + </Filter> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj =================================================================== --- trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj (rev 0) +++ trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj 2008-07-10 03:12:36 UTC (rev 2629) @@ -0,0 +1,865 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="freeoriond" + ProjectGUID="{BA9529CC-B803-4763-B803-2B374D4ECD43}" + RootNamespace="freeoriond" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory="../../../" + IntermediateDirectory="Release" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="3" + AdditionalIncludeDirectories="../../../../include/;"../../../../Boost/include/boost-1_35";C:\Python25\include;../../../GG/;../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;GIGI_EXPORTS;FREEORION_BUILD_SERVER;FREEORION_WIN32;BOOST_SIGNALS_STATIC_LINK" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + EnableEnhancedInstructionSet="2" + DisableLanguageExtensions="false" + ForceConformanceInForLoopScope="true" + RuntimeTypeInfo="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4099;4251;4800;4267;4275;4244;4101;4258;4996;4312;4311" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib glu32.lib wsock32.lib zdll.lib log4cpp.lib freetype214MT.lib cdt.lib common.lib graph.lib pathplan.lib libexpat.lib" + OutputFile="../../../freeoriond.exe" + LinkIncremental="1" + AdditionalLibraryDirectories="../../../../lib/;../../../../Boost/lib/;C:\Python25\libs;C:\boost_1_35_0\lib" + GenerateManifest="true" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="0" + EnableCOMDATFolding="0" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + EmbedManifest="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="combat" + > + <File + RelativePath="..\..\..\combat\Combat.cpp" + > + </File> + <File + RelativePath="..\..\..\combat\Combat.h" + > + </File> + <File + RelativePath="..\..\..\combat\CombatSystem.cpp" + > + </File> + <File + RelativePath="..\..\..\combat\CombatSystem.h" + > + </File> + </Filter> + <Filter + Name="util" + > + <File + RelativePath="..\..\..\util\AppInterface.cpp" + > + </File> + <File + RelativePath="..\..\..\util\AppInterface.h" + > + </File> + <File + RelativePath="..\..\..\util\binreloc.c" + > + </File> + <File + RelativePath="..\..\..\util\binreloc.h" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.cpp" + > + </File> + <File + RelativePath="..\..\..\util\DataTable.h" + > + </File> + <File + RelativePath="..\..\..\util\Directories.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Directories.h" + > + </File> + <File + RelativePath="..\..\..\util\GLStateComparator.h" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.cpp" + > + </File> + <File + RelativePath="..\..\..\util\GZStream.h" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.cpp" + > + </File> + <File + RelativePath="..\..\..\util\MultiplayerCommon.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OptionsDB.h" + > + </File> + <File + RelativePath="..\..\..\util\OptionValidators.h" + > + </File> + <File + RelativePath="..\..\..\util\Order.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Order.h" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.cpp" + > + </File> + <File + RelativePath="..\..\..\util\OrderSet.h" + > + </File> + <File + RelativePath="..\..\..\util\Process.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Process.h" + > + </File> + <File + RelativePath="..\..\..\util\Random.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Random.h" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.cpp" + > + </File> + <File + RelativePath="..\..\..\util\Serialize.h" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.cpp" + > + </File> + <File + RelativePath="..\..\..\util\SitRepEntry.h" + > + </File> + <File + RelativePath="..\..\..\Ui\StringTable.cpp" + > + </File> + <File + RelativePath="..\..\..\Ui\StringTable.h" + > + </File> + <File + RelativePath="..\..\..\util\VarText.cpp" + > + </File> + <File + RelativePath="..\..\..\util\VarText.h" + > + </File> + <File + RelativePath="..\..\..\util\Version.h" + > + </File> + <File + RelativePath="..\..\..\util\XMLDoc.cpp" + > + </File> + <File + RelativePath="..\..\..\util\XMLDoc.h" + > + </File> + <File + RelativePath="..\..\..\util\XMLObjectFactory.h" + > + </File> + </Filter> + <Filter + Name="Empire" + > + <File + RelativePath="..\..\..\Empire\Empire.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\Empire.h" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\EmpireManager.h" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.cpp" + > + </File> + <File + RelativePath="..\..\..\Empire\ResourcePool.h" + > + </File> + </Filter> + <Filter + Name="network" + > + <File + RelativePath="..\..\..\network\Message.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Message.h" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.cpp" + > + </File> + <File + RelativePath="..\..\..\network\MessageQueue.h" + > + </File> + <File + RelativePath="..\..\..\network\Networking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\Networking.h" + > + </File> + <File + RelativePath="..\..\..\network\ServerNetworking.cpp" + > + </File> + <File + RelativePath="..\..\..\network\ServerNetworking.h" + > + </File> + </Filter> + <Filter + Name="server" + > + <File + RelativePath="..\..\..\server\dmain.cpp" + > + </File> + <File + RelativePath="..\..\..\server\SaveLoad.cpp" + > + </File> + <File + RelativePath="..\..\..\server\SaveLoad.h" + > + </File> + <File + RelativePath="..\..\..\server\ServerApp.cpp" + > + </File> + <File + RelativePath="..\..\..\server\ServerApp.h" + > + </File> + <File + RelativePath="..\..\..\server\ServerFSM.cpp" + > + </File> + <File + RelativePath="..\..\..\server\ServerFSM.h" + > + </File> + </Filter> + <Filter + Name="universe" + > + <File + RelativePath="..\..\..\universe\Building.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Building.h" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Condition.h" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser1.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ConditionParser2.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Effect.h" + > + </File> + <File + RelativePath="..\..\..\universe\EffectParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Enums.h" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Fleet.h" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Meter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Parser.h" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ParserUtil.h" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Planet.h" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\PopCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Predicates.h" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ResourceCenter.h" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Ship.h" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ShipDesign.h" + > + </File> + <File + RelativePath="..\..\..\universe\Special.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Special.h" + > + </File> + <File + RelativePath="..\..\..\universe\System.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\System.h" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Tech.h" + > + </File> + <File + RelativePath="..\..\..\universe\TopLevelParsers.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\Universe.h" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\UniverseObject.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRef.h" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.cpp" + > + </File> + <File + RelativePath="..\..\..\universe\ValueRefParser.h" + > + </File> + </Filter> + <Filter + Name="GG" + > + <Filter + Name="GG" + > + <File + RelativePath="..\..\..\GG\GG\AlignmentFlags.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Base.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\BrowseInfoWnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Button.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Clr.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Control.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Cursor.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DrawUtil.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DropDownList.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\DynamicGraphic.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Edit.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\EventPump.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Flags.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Font.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\GUI.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Layout.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\ListBox.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Menu.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\MultiEdit.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\PtRect.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Scroll.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Slider.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Spin.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\StaticGraphic.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\StyleFactory.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\TabWnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\TextControl.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Texture.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Timer.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\Wnd.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\WndEditor.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\WndEvent.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\ZList.h" + > + </File> + <Filter + Name="dialogs" + > + <File + RelativePath="..\..\..\GG\GG\dialogs\ColorDlg.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\dialogs\FileDlg.h" + > + </File> + <File + RelativePath="..\..\..\GG\GG\dialogs\ThreeButtonDlg.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="src" + > + <File + RelativePath="..\..\..\GG\src\AlignmentFlags.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Base.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\BrowseInfoWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Button.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Clr.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Control.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Cursor.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DrawUtil.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DropDownList.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\DynamicGraphic.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Edit.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\EventPump.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Font.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\GUI.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Layout.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\ListBox.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Menu.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\MultiEdit.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\PtRect.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Scroll.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Slider.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\StaticGraphic.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\StyleFactory.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\TabWnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\TextControl.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Texture.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Timer.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\Wnd.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\WndEditor.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\WndEvent.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\ZList.cpp" + > + </File> + <Filter + Name="dialogs" + > + <File + RelativePath="..\..\..\GG\src\dialogs\ColorDlg.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\dialogs\FileDlg.cpp" + > + </File> + <File + RelativePath="..\..\..\GG\src\dialogs\ThreeButtonDlg.cpp" + > + </File> + </Filter> + </Filter> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/FreeOrion/msvc2008/include/GG/ltdl.h =================================================================== --- trunk/FreeOrion/msvc2008/include/GG/ltdl.h (rev 0) +++ trunk/FreeOrion/msvc2008/include/GG/ltdl.h 2008-07-10 03:12:36 UTC (rev 2629) @@ -0,0 +1,366 @@ +/* ltdl.h -- generic dlopen functions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + Originally by Thomas Tanner <ta...@ff...> + This file is part of GNU Libtool. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free +Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA +*/ + +/* Only include this header file once. */ +#ifndef LTDL_H +#define LTDL_H 1 + +#include <sys/types.h> /* for size_t declaration */ + + +/* --- MACROS FOR PORTABILITY --- */ + + +/* Saves on those hard to debug '\0' typos.... */ +#define LT_EOS_CHAR '\0' + +/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at + the end of C declarations. */ +#ifdef __cplusplus +# define LT_BEGIN_C_DECLS extern "C" { +# define LT_END_C_DECLS } +#else +# define LT_BEGIN_C_DECLS /* empty */ +# define LT_END_C_DECLS /* empty */ +#endif + +LT_BEGIN_C_DECLS + + +/* LT_PARAMS is a macro used to wrap function prototypes, so that compilers + that don't understand ANSI C prototypes still work, and ANSI C + compilers can issue warnings about type mismatches. */ +#if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(WIN32) || defined(__cplusplus) +# define LT_PARAMS(protos) protos +# define lt_ptr void* +#else +# define LT_PARAMS(protos) () +# define lt_ptr char* +#endif + +/* LT_STMT_START/END are used to create macros which expand to a + a single compound statement in a portable way. */ +#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus) +# define LT_STMT_START (void)( +# define LT_STMT_END ) +#else +# if (defined (sun) || defined (__sun__)) +# define LT_STMT_START if (1) +# define LT_STMT_END else (void)0 +# else +# define LT_STMT_START do +# define LT_STMT_END while (0) +# endif +#endif + +/* LT_CONC creates a new concatenated symbol for the compiler + in a portable way. */ +#if defined(__STDC__) || defined(__cplusplus) || defined(_MSC_VER) +# define LT_CONC(s,t) s##t +#else +# define LT_CONC(s,t) s/**/t +#endif + +/* LT_STRLEN can be used safely on NULL pointers. */ +#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0) + + + +/* --- WINDOWS SUPPORT --- */ + + +/* Canonicalise Windows and Cygwin recognition macros. */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ __CYGWIN32__ +# endif +#endif +#if defined(_WIN32) || defined(WIN32) +# ifndef __WINDOWS__ +# ifdef _WI... [truncated message content] |
From: <geo...@us...> - 2008-07-10 09:20:09
|
Revision: 2632 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2632&view=rev Author: geoffthemedio Date: 2008-07-10 02:18:50 -0700 (Thu, 10 Jul 2008) Log Message: ----------- -Removed nebulae from PlayerSaveGameData. They should really be part of the universe, and can be added to it when we have a) a purpose for them and b) a way to select particular nebulae to go with particular galaxy themes that artists are happy with -Changed PlayerSaveGameData to store two int instead of a GG::Pt to hopefully remove a GiGi dependency -Minor whitespace tweak in ServerApp.h Modified Paths: -------------- trunk/FreeOrion/UI/MapWnd.cpp trunk/FreeOrion/UI/MapWnd.h trunk/FreeOrion/server/ServerApp.h trunk/FreeOrion/util/MultiplayerCommon.h Modified: trunk/FreeOrion/UI/MapWnd.cpp =================================================================== --- trunk/FreeOrion/UI/MapWnd.cpp 2008-07-10 05:59:48 UTC (rev 2631) +++ trunk/FreeOrion/UI/MapWnd.cpp 2008-07-10 09:18:50 UTC (rev 2632) @@ -477,13 +477,9 @@ void MapWnd::GetSaveGameUIData(SaveGameUIData& data) const { - data.map_upper_left = UpperLeft(); + data.map_left = UpperLeft().x; + data.map_top = UpperLeft().y; data.map_zoom_factor = m_zoom_factor; - data.map_nebulae.resize(m_nebulae.size()); - for (unsigned int i = 0; i < data.map_nebulae.size(); ++i) { - data.map_nebulae[i].filename = m_nebulae[i]->Filename(); - data.map_nebulae[i].center = m_nebula_centers[i]; - } } bool MapWnd::InProductionViewMode() const @@ -752,20 +748,6 @@ Resize(GG::Pt(static_cast<int>(Universe::UniverseWidth() * s_max_scale_factor + GG::GUI::GetGUI()->AppWidth() * 1.5), static_cast<int>(Universe::UniverseWidth() * s_max_scale_factor + GG::GUI::GetGUI()->AppHeight() * 1.5))); - // set up nebulae on the first turn - if (m_nebulae.empty()) { - // chosen so that the density of nebulae will be about MIN_NEBULAE to MAX_NEBULAE for a 1000.0-width galaxy - const double DENSITY_SCALE_FACTOR = (Universe::UniverseWidth() * Universe::UniverseWidth()) / (1000.0 * 1000.0); - int num_nebulae = static_cast<int>(MAX_NEBULAE * DENSITY_SCALE_FACTOR);/*RandSmallInt(static_cast<int>(MIN_NEBULAE * DENSITY_SCALE_FACTOR), - static_cast<int>(MAX_NEBULAE * DENSITY_SCALE_FACTOR));*/ - m_nebulae.resize(num_nebulae); - m_nebula_centers.resize(num_nebulae); - SmallIntDistType universe_placement = SmallIntDist(0, static_cast<int>(Universe::UniverseWidth())); - for (int i = 0; i < num_nebulae; ++i) { - m_nebulae[i] = ClientUI::GetClientUI()->GetRandomTexture(ClientUI::ArtDir(), "nebula"); - m_nebula_centers[i] = GG::Pt(universe_placement(), universe_placement()); - } - } // set up backgrounds on first turn if (m_backgrounds.empty()) { @@ -1275,7 +1257,8 @@ DoMovingFleetButtonsLayout(); GG::Pt ul = UpperLeft(); - GG::Pt map_move = data.map_upper_left - ul; + GG::Pt map_ul = GG::Pt(data.map_left, data.map_top); + GG::Pt map_move = map_ul - ul; OffsetMove(map_move); m_side_panel->OffsetMove(-map_move); m_chat_display->OffsetMove(-map_move); @@ -1292,13 +1275,6 @@ m_sitrep_panel->OffsetMove(-final_move); MoveTo(move_to_pt - GG::Pt(GG::GUI::GetGUI()->AppWidth(), GG::GUI::GetGUI()->AppHeight())); - - m_nebulae.clear(); - m_nebula_centers.clear(); - for (unsigned int i = 0; i < data.map_nebulae.size(); ++i) { - m_nebulae.push_back(ClientUI::GetTexture(data.map_nebulae[i].filename)); - m_nebula_centers.push_back(data.map_nebulae[i].center); - } } void MapWnd::ShowSystemNames() @@ -1702,22 +1678,26 @@ void MapWnd::RenderNebulae() { - glColor4f(1.0, 1.0, 1.0, 1.0); - glPushMatrix(); - glLoadIdentity(); - for (unsigned int i = 0; i < m_nebulae.size(); ++i) { - int nebula_width = m_nebulae[i]->Width() / 3; // factor of 3 chosen to give ok-seeming nebula sizes for images in use at time of this writing - int nebula_height = m_nebulae[i]->Height() / 3; + // nebula rendering disabled until we add nebulae worth rendering, which likely + // means for them to have some gameplay purpose and artist-approved way to + // specify what colours or specific nebula images to use - GG::Pt ul = - ClientUpperLeft() + - GG::Pt(static_cast<int>((m_nebula_centers[i].x - nebula_width / 2.0) * m_zoom_factor), - static_cast<int>((m_nebula_centers[i].y - nebula_height / 2.0) * m_zoom_factor)); - m_nebulae[i]->OrthoBlit(ul, - ul + GG::Pt(static_cast<int>(nebula_width * m_zoom_factor), - static_cast<int>(nebula_height * m_zoom_factor))); - } - glPopMatrix(); + //glColor4f(1.0, 1.0, 1.0, 1.0); + //glPushMatrix(); + //glLoadIdentity(); + //for (unsigned int i = 0; i < m_nebulae.size(); ++i) { + // int nebula_width = m_nebulae[i]->Width() / 3; // factor of 3 chosen to give ok-seeming nebula sizes for images in use at time of this writing + // int nebula_height = m_nebulae[i]->Height() / 3; + + // GG::Pt ul = + // ClientUpperLeft() + + // GG::Pt(static_cast<int>((m_nebula_centers[i].x - nebula_width / 2.0) * m_zoom_factor), + // static_cast<int>((m_nebula_centers[i].y - nebula_height / 2.0) * m_zoom_factor)); + // m_nebulae[i]->OrthoBlit(ul, + // ul + GG::Pt(static_cast<int>(nebula_width * m_zoom_factor), + // static_cast<int>(nebula_height * m_zoom_factor))); + //} + //glPopMatrix(); } void MapWnd::RenderGalaxyGas() Modified: trunk/FreeOrion/UI/MapWnd.h =================================================================== --- trunk/FreeOrion/UI/MapWnd.h 2008-07-10 05:59:48 UTC (rev 2631) +++ trunk/FreeOrion/UI/MapWnd.h 2008-07-10 09:18:50 UTC (rev 2632) @@ -224,8 +224,6 @@ std::set<GG::Key> m_disabled_accels_list; //!< the list of Accelerators disabled by \a DisableAlphaNumAccels std::vector<boost::shared_ptr<GG::Texture> > m_backgrounds; //!< starfield backgrounds - std::vector<boost::shared_ptr<GG::Texture> > m_nebulae; //!< decorative nebula textures - std::vector<GG::Pt> m_nebula_centers; //!< the centerpoints of each of the nebula textures std::vector<double> m_bg_scroll_rate; //!< array, the rates at which each background scrolls int m_previously_selected_system; Modified: trunk/FreeOrion/server/ServerApp.h =================================================================== --- trunk/FreeOrion/server/ServerApp.h 2008-07-10 05:59:48 UTC (rev 2631) +++ trunk/FreeOrion/server/ServerApp.h 2008-07-10 09:18:50 UTC (rev 2632) @@ -129,7 +129,7 @@ log4cpp::Category& m_log_category; ///< reference to the log4cpp object used to log events to file ServerFSM m_fsm; - + int m_current_turn; ///< current turn number std::map<std::string, Process> Modified: trunk/FreeOrion/util/MultiplayerCommon.h =================================================================== --- trunk/FreeOrion/util/MultiplayerCommon.h 2008-07-10 05:59:48 UTC (rev 2631) +++ trunk/FreeOrion/util/MultiplayerCommon.h 2008-07-10 09:18:50 UTC (rev 2632) @@ -92,21 +92,10 @@ /** Contains the UI data that must be saved in save game files in order to restore games to the users' last views. */ struct SaveGameUIData { - struct NebulaData - { - std::string filename; - GG::Pt center; + int map_top; + int map_left; + double map_zoom_factor; - private: - friend class boost::serialization::access; - template <class Archive> - void serialize(Archive& ar, const unsigned int version); - }; - - GG::Pt map_upper_left; - double map_zoom_factor; - std::vector<NebulaData> map_nebulae; - private: friend class boost::serialization::access; template <class Archive> @@ -221,18 +210,11 @@ } template <class Archive> -void SaveGameUIData::NebulaData::serialize(Archive& ar, const unsigned int version) -{ - ar & BOOST_SERIALIZATION_NVP(filename) - & BOOST_SERIALIZATION_NVP(center); -} - -template <class Archive> void SaveGameUIData::serialize(Archive& ar, const unsigned int version) { - ar & BOOST_SERIALIZATION_NVP(map_upper_left) - & BOOST_SERIALIZATION_NVP(map_zoom_factor) - & BOOST_SERIALIZATION_NVP(map_nebulae); + ar & BOOST_SERIALIZATION_NVP(map_top) + & BOOST_SERIALIZATION_NVP(map_left) + & BOOST_SERIALIZATION_NVP(map_zoom_factor); } template <class Archive> |
From: <geo...@us...> - 2008-07-10 17:06:13
|
Revision: 2633 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=2633&view=rev Author: geoffthemedio Date: 2008-07-10 10:06:20 -0700 (Thu, 10 Jul 2008) Log Message: ----------- -Removed include of GG/Font.h from ServerApp.cpp and ServerFSM.cpp. It was seemingly unnecessary, but caused the server's number of GG dependencies to expand from about two cpp files to almost all of them. -Removed most GG files from server MSVC 2008 project Modified Paths: -------------- trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj trunk/FreeOrion/server/ServerApp.cpp trunk/FreeOrion/server/ServerFSM.cpp Modified: trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj =================================================================== --- trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj 2008-07-10 09:18:50 UTC (rev 2632) +++ trunk/FreeOrion/msvc2008/FreeOrion/freeoriond/freeoriond.vcproj 2008-07-10 17:06:20 UTC (rev 2633) @@ -566,297 +566,25 @@ Name="GG" > <File - RelativePath="..\..\..\GG\GG\AlignmentFlags.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Base.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\BrowseInfoWnd.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Button.h" - > - </File> - <File RelativePath="..\..\..\GG\GG\Clr.h" > </File> <File - RelativePath="..\..\..\GG\GG\Control.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Cursor.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\DrawUtil.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\DropDownList.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\DynamicGraphic.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Edit.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\EventPump.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Flags.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Font.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\GUI.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Layout.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\ListBox.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Menu.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\MultiEdit.h" - > - </File> - <File RelativePath="..\..\..\GG\GG\PtRect.h" > </File> - <File - RelativePath="..\..\..\GG\GG\Scroll.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Slider.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Spin.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\StaticGraphic.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\StyleFactory.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\TabWnd.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\TextControl.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Texture.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Timer.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\Wnd.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\WndEditor.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\WndEvent.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\ZList.h" - > - </File> - <Filter - Name="dialogs" - > - <File - RelativePath="..\..\..\GG\GG\dialogs\ColorDlg.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\dialogs\FileDlg.h" - > - </File> - <File - RelativePath="..\..\..\GG\GG\dialogs\ThreeButtonDlg.h" - > - </File> - </Filter> </Filter> <Filter Name="src" > <File - RelativePath="..\..\..\GG\src\AlignmentFlags.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Base.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\BrowseInfoWnd.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Button.cpp" - > - </File> - <File RelativePath="..\..\..\GG\src\Clr.cpp" > </File> <File - RelativePath="..\..\..\GG\src\Control.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Cursor.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\DrawUtil.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\DropDownList.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\DynamicGraphic.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Edit.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\EventPump.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Font.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\GUI.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Layout.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\ListBox.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Menu.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\MultiEdit.cpp" - > - </File> - <File RelativePath="..\..\..\GG\src\PtRect.cpp" > </File> - <File - RelativePath="..\..\..\GG\src\Scroll.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Slider.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\StaticGraphic.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\StyleFactory.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\TabWnd.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\TextControl.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Texture.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Timer.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\Wnd.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\WndEditor.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\WndEvent.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\ZList.cpp" - > - </File> - <Filter - Name="dialogs" - > - <File - RelativePath="..\..\..\GG\src\dialogs\ColorDlg.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\dialogs\FileDlg.cpp" - > - </File> - <File - RelativePath="..\..\..\GG\src\dialogs\ThreeButtonDlg.cpp" - > - </File> - </Filter> </Filter> </Filter> </Files> Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2008-07-10 09:18:50 UTC (rev 2632) +++ trunk/FreeOrion/server/ServerApp.cpp 2008-07-10 17:06:20 UTC (rev 2633) @@ -18,8 +18,6 @@ #include "../util/OrderSet.h" #include "../util/SitRepEntry.h" -#include <GG/Font.h> - #include <boost/filesystem/exception.hpp> #include <boost/filesystem/fstream.hpp> #include <boost/filesystem/operations.hpp> Modified: trunk/FreeOrion/server/ServerFSM.cpp =================================================================== --- trunk/FreeOrion/server/ServerFSM.cpp 2008-07-10 09:18:50 UTC (rev 2632) +++ trunk/FreeOrion/server/ServerFSM.cpp 2008-07-10 17:06:20 UTC (rev 2633) @@ -8,9 +8,7 @@ #include "../util/Directories.h" #include "../util/OrderSet.h" -#include <GG/Font.h> - namespace { const bool TRACE_EXECUTION = false; |