Skip to content

Commit

Permalink
Dump more synced data in DumpState()
Browse files Browse the repository at this point in the history
  • Loading branch information
lhog committed Jan 2, 2024
1 parent 9f07caa commit 4eadd5f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions rts/Sim/Units/UnitHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class CUnitHandler

static CUnit* NewUnit(const UnitDef* ud);

const std::vector<CUnit*>& GetUnitsToBeRemoved() const { return unitsToBeRemoved; }
const std::vector<CUnit*>& GetActiveUnits() const { return activeUnits; }
std::vector<CUnit*>& GetActiveUnits() { return activeUnits; }

Expand Down
32 changes: 32 additions & 0 deletions rts/System/Sync/DumpState.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include "Sim/Units/Unit.h"
#include "Sim/Units/UnitDef.h"
#include "Sim/Units/UnitHandler.h"
#include "Sim/Units/UnitTypes/Builder.h"
#include "Sim/Weapons/Weapon.h"
#include "Sim/Weapons/WeaponDefHandler.h"
#include "Map/ReadMap.h"
Expand Down Expand Up @@ -87,6 +88,12 @@ namespace {

return str.str();
}

inline std::string DumpSolidObjectID(const CSolidObject* so) {
std::string s = so ? std::to_string(so->id) : "(nullptr)";
s.append("\n");
return s;
}
}


Expand Down Expand Up @@ -169,6 +176,7 @@ void DumpState(int newMinFrameNum, int newMaxFrameNum, int newFramePeriod, std::
#define DUMP_UNIT_WEAPON_DATA
#define DUMP_UNIT_COMMANDAI_DATA
#define DUMP_UNIT_MOVETYPE_DATA
#define DUMP_UNIT_BUILDER_DATA
#define DUMP_UNIT_SCRIPT_DATA
#define DUMP_FEATURE_DATA
#define DUMP_PROJECTILE_DATA
Expand Down Expand Up @@ -297,6 +305,7 @@ void DumpState(int newMinFrameNum, int newMaxFrameNum, int newFramePeriod, std::
file << "\t\t\tphysicalState: " << u->physicalState << "\n";
file << "\t\t\tfireState: " << u->fireState << ", moveState: " << u->moveState << "\n";
file << "\t\t\tpieces: " << pieces.size() << "\n";
file << "\t\t\tinBuildStance " << u->inBuildStance << "\n";

#ifdef DUMP_UNIT_PIECE_DATA
for (const LocalModelPiece& lmp: pieces) {
Expand Down Expand Up @@ -370,9 +379,32 @@ void DumpState(int newMinFrameNum, int newMaxFrameNum, int newFramePeriod, std::
file << "\t\t\t\t\tcurrWayPoint: " << TapFloats(gmt->GetCurrWayPoint());
file << "\t\t\t\t\tnextWayPoint: " << TapFloats(gmt->GetNextWayPoint());
}
#endif

#ifdef DUMP_UNIT_BUILDER_DATA
if (const CBuilder* b = dynamic_cast<const CBuilder*>(u); b != nullptr) {
file << "\t\t\tThe unit is CBuilder:\n";
file << "\t\t\t\tcurResurrect: " << DumpSolidObjectID(b->curResurrect);
file << "\t\t\t\tlastResurrected: " << b->lastResurrected << "\n";
file << "\t\t\t\tcurBuild: " << DumpSolidObjectID(b->curBuild);
file << "\t\t\t\tcurCapture: " << DumpSolidObjectID(b->curCapture);
file << "\t\t\t\tcurReclaim: " << DumpSolidObjectID(b->curReclaim);
file << "\t\t\t\treclaimingUnit: " << (b->reclaimingUnit ? 1 : 0) << "\n";
file << "\t\t\t\thelpTerraform: " << DumpSolidObjectID(b->helpTerraform);
file << "\t\t\t\tterraforming: " << (b->terraforming ? 1 : 0) << "\n";
file << "\t\t\t\tterraformHelp: " << TapFloats(b->terraformHelp);
file << "\t\t\t\tmyTerraformLeft: " << TapFloats(b->myTerraformLeft);
file << "\t\t\t\tterraformType: " << std::to_string(b->terraformType) << "\n";
file << "\t\t\t\ttx1,tx2,tz1,tz2: " << b->tx1 << "," << b->tx2 << "," << b->tz1 << "," << b->tz2 << "\n";
file << "\t\t\t\tterraformCenter: " << TapFloats(b->terraformCenter);
file << "\t\t\t\tterraformRadius: " << TapFloats(b->terraformRadius);
}
#endif
}
file << "\tunitsToBeRemoved: " << unitHandler.GetUnitsToBeRemoved().size() << "\n";
for (auto* u : unitHandler.GetUnitsToBeRemoved()) {
file << "\t\tunitID: " << u->id << " (name: " << u->unitDef->name << ")\n";
}
#endif
#ifdef DUMP_UNIT_SCRIPT_DATA
{
Expand Down

0 comments on commit 4eadd5f

Please sign in to comment.