From: <geo...@us...> - 2010-05-16 01:42:44
|
Revision: 3590 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=3590&view=rev Author: geoffthemedio Date: 2010-05-16 01:42:38 +0000 (Sun, 16 May 2010) Log Message: ----------- -Fixed client issue where first turn meter values were displayed as 0 (incorrectly) -Added ObjectMap dumps at various places in client and server for debugging purposes -Replaced MapWnd's custom ObjectMap dumping with the ObjectMap's built in dump, which moves the output from stdout to the log file -Commented out the MessageBox that indicates when a player has won the game, as I found this annoying when debugging with no AIs, which results in the player winning on the first (or second?) turn Modified Paths: -------------- trunk/FreeOrion/UI/InfoPanels.cpp trunk/FreeOrion/UI/MapWnd.cpp trunk/FreeOrion/client/human/HumanClientFSM.cpp trunk/FreeOrion/server/ServerApp.cpp trunk/FreeOrion/universe/Universe.cpp Modified: trunk/FreeOrion/UI/InfoPanels.cpp =================================================================== --- trunk/FreeOrion/UI/InfoPanels.cpp 2010-05-16 00:00:25 UTC (rev 3589) +++ trunk/FreeOrion/UI/InfoPanels.cpp 2010-05-16 01:42:38 UTC (rev 3590) @@ -1361,6 +1361,8 @@ Logger().errorStream() << "MultiIconValueIndicator::Update couldn't get object with id " << object_id; continue; } + Logger().debugStream() << "MultiIconValueIndicator::Update object:"; + obj->Dump(); sum += obj->NextTurnCurrentMeterValue(m_meter_types[i].first); } m_icons[i]->SetValue(sum); Modified: trunk/FreeOrion/UI/MapWnd.cpp =================================================================== --- trunk/FreeOrion/UI/MapWnd.cpp 2010-05-16 00:00:25 UTC (rev 3589) +++ trunk/FreeOrion/UI/MapWnd.cpp 2010-05-16 01:42:38 UTC (rev 3590) @@ -1529,50 +1529,15 @@ // std::cout << " [missing object] (" << *it << ")" << std::endl; //} // DEBUG - std::cout << "Visible UniverseObjects: " << std::endl; - for (ObjectMap::const_iterator it = objects.const_begin(); it != objects.const_end(); ++it) { - const UniverseObject* obj = it->second; - std::cout << obj->ID() << ": " << obj->TypeName() << " " << obj->Name(); - if (const System* system = objects.Object<System>(obj->SystemID())) - std::cout << " at: " << system->Name(); + Logger().debugStream() << "Visible UniverseObjects: "; + objects.Dump(); - const std::set<int>& owners = obj->Owners(); - if (!owners.empty()) { - std::cout << " owners:"; - for (std::set<int>::const_iterator own_it = owners.begin(); own_it != owners.end(); ++own_it) - std::cout << " " << *own_it; - } - - Visibility vis = universe.GetObjectVisibilityByEmpire(it->first, HumanClientApp::GetApp()->EmpireID()); - std::cout << " vis: " << boost::lexical_cast<std::string>(vis); - - std::cout << std::endl; - } - std::cout << std::endl; - const ObjectMap& known_objects = universe.EmpireKnownObjects(HumanClientApp::GetApp()->EmpireID()); - std::cout << "Latest Known UniverseObjects: " << std::endl; - for (ObjectMap::const_iterator it = known_objects.const_begin(); it != known_objects.const_end(); ++it) { - const UniverseObject* obj = it->second; - std::cout << obj->ID() << ": " << obj->TypeName() << " " << obj->Name(); + Logger().debugStream() << "Latest Known UniverseObjects: "; + known_objects.Dump(); - if (const System* system = known_objects.Object<System>(obj->SystemID())) - std::cout << " at: " << system->Name(); - const std::set<int>& owners = obj->Owners(); - if (!owners.empty()) { - std::cout << " owners:"; - for (std::set<int>::const_iterator own_it = owners.begin(); own_it != owners.end(); ++own_it) - std::cout << " " << *own_it; - } - - std::cout << std::endl; - } - std::cout << std::endl; - - - EmpireManager& manager = HumanClientApp::GetApp()->Empires(); Empire* this_client_empire = manager.Lookup(HumanClientApp::GetApp()->EmpireID()); if (!this_client_empire) { Modified: trunk/FreeOrion/client/human/HumanClientFSM.cpp =================================================================== --- trunk/FreeOrion/client/human/HumanClientFSM.cpp 2010-05-16 00:00:25 UTC (rev 3589) +++ trunk/FreeOrion/client/human/HumanClientFSM.cpp 2010-05-16 01:42:38 UTC (rev 3590) @@ -334,7 +334,7 @@ if (empire) empire_name = empire->Name(); - ClientUI::MessageBox(boost::io::str(FlexibleFormat(UserString(reason_string)) % empire_name)); + //ClientUI::MessageBox(boost::io::str(FlexibleFormat(UserString(reason_string)) % empire_name)); return discard_event(); } Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2010-05-16 00:00:25 UTC (rev 3589) +++ trunk/FreeOrion/server/ServerApp.cpp 2010-05-16 01:42:38 UTC (rev 3590) @@ -359,6 +359,9 @@ Logger().debugStream() << "Sending GameStartMessages to players"; + Logger().debugStream() << "!!!!!!!!!!!!!!!!!!! Right before gamestart messages!"; + m_universe.Objects().Dump(); + for (ServerNetworking::const_established_iterator it = m_networking.established_begin(); it != m_networking.established_end(); ++it) { int player_id = (*it)->ID(); int empire_id = GetPlayerEmpire(player_id)->EmpireID(); @@ -1109,10 +1112,17 @@ Logger().debugStream() << "ServerApp::ProcessTurns effects and meter updates"; + Logger().debugStream() << "!!!!!!!!!!!!!!!!!!!!!!BEFORE TURN PROCESSING EFFECTS APPLICATION"; + objects.Dump(); + // execute all effects and update meters prior to production, research, etc. m_universe.ApplyAllEffectsAndUpdateMeters(); + Logger().debugStream() << "!!!!!!!!!!!!!!!!!!!!!!AFTER TURN PROCESSING EFFECTS APPLICATION"; + objects.Dump(); + + Logger().debugStream() << "ServerApp::ProcessTurns empire resources updates"; @@ -1175,6 +1185,10 @@ } + Logger().debugStream() << "!!!!!!!!!!!!!!!!!!!!!!AFTER TURN PROCESSING POP GROWTH PRODCUTION RESEARCH"; + objects.Dump(); + + // 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 Modified: trunk/FreeOrion/universe/Universe.cpp =================================================================== --- trunk/FreeOrion/universe/Universe.cpp 2010-05-16 00:00:25 UTC (rev 3589) +++ trunk/FreeOrion/universe/Universe.cpp 2010-05-16 01:42:38 UTC (rev 3590) @@ -3665,9 +3665,15 @@ UniverseObject* obj = it->second; for (std::map<MeterType, MeterType>::const_iterator meter_it = meters.begin(); meter_it != meters.end(); ++meter_it) { - if (Meter* meter = obj->GetMeter(meter_it->first)) - if (const Meter* targetmax_meter = obj->GetMeter(meter_it->second)) - meter->SetCurrent(targetmax_meter->Current()); + if (!obj->Owners().empty()) { + if (Meter* meter = obj->GetMeter(meter_it->first)) { + if (Meter* targetmax_meter = obj->GetMeter(meter_it->second)) { + meter->SetCurrent(targetmax_meter->Current()); + targetmax_meter->BackPropegate(); + } + meter->BackPropegate(); + } + } } } } @@ -3754,6 +3760,9 @@ SetActiveMetersToTargetMaxCurrentValues(m_objects); + Logger().debugStream() << "!!!!!!!!!!!!!!!!!!! Populationg systems after setting active meters to targes!"; + m_objects.Dump(); + UpdateEmpireObjectVisibilities(); #else |