mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
attempt to fix the build
This commit is contained in:
@@ -295,9 +295,9 @@ void BulkMoveArtifacts::applyCl(CClient * cl)
|
||||
callInterfaceIfPresent(cl, dstLoc.owningPlayer(), &IGameEventsReceiver::artifactMoved, srcLoc, dstLoc);
|
||||
}
|
||||
|
||||
if (artsPack1.has_value())
|
||||
if (swap)
|
||||
{
|
||||
movingArts = artsPack1.value();
|
||||
movingArts = artsPack1;
|
||||
for (auto & slotToMove : movingArts)
|
||||
{
|
||||
auto srcLoc = ArtifactLocation(srcArtHolder, slotToMove.srcPos);
|
||||
|
@@ -1019,7 +1019,6 @@ struct BulkMoveArtifacts : CArtifactOperationPack
|
||||
LinkedSlots() {}
|
||||
LinkedSlots(ArtifactPosition srcPos, ArtifactPosition dstPos)
|
||||
: srcPos(srcPos), dstPos(dstPos) {}
|
||||
|
||||
template <typename Handler> void serialize(Handler & h, const int version)
|
||||
{
|
||||
h & srcPos;
|
||||
@@ -1031,16 +1030,15 @@ struct BulkMoveArtifacts : CArtifactOperationPack
|
||||
TArtHolder dstArtHolder;
|
||||
|
||||
BulkMoveArtifacts() {}
|
||||
BulkMoveArtifacts(TArtHolder srcArtHolder, TArtHolder dstArtHolder)
|
||||
: srcArtHolder(srcArtHolder), dstArtHolder(dstArtHolder) {}
|
||||
BulkMoveArtifacts(TArtHolder srcArtHolder, TArtHolder dstArtHolder, bool swap)
|
||||
: srcArtHolder(srcArtHolder), dstArtHolder(dstArtHolder), swap(swap) {}
|
||||
|
||||
void applyCl(CClient * cl);
|
||||
DLL_LINKAGE void applyGs(CGameState * gs);
|
||||
|
||||
std::vector<LinkedSlots> artsPack0;
|
||||
// If the artsPack1 is present then make swap
|
||||
boost::optional<std::vector<LinkedSlots>> artsPack1;
|
||||
|
||||
std::vector<LinkedSlots> artsPack1;
|
||||
bool swap;
|
||||
CArtifactSet * getSrcHolderArtSet();
|
||||
CArtifactSet * getDstHolderArtSet();
|
||||
template <typename Handler> void serialize(Handler & h, const int version)
|
||||
@@ -1049,6 +1047,7 @@ struct BulkMoveArtifacts : CArtifactOperationPack
|
||||
h & artsPack1;
|
||||
h & srcArtHolder;
|
||||
h & dstArtHolder;
|
||||
h & swap;
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -1098,10 +1098,9 @@ DLL_LINKAGE void MoveArtifact::applyGs(CGameState * gs)
|
||||
DLL_LINKAGE void BulkMoveArtifacts::applyGs(CGameState * gs)
|
||||
{
|
||||
int numBackpackArtifactsMoved = 0;
|
||||
if (artsPack1.has_value())
|
||||
if (swap)
|
||||
{
|
||||
// Swap
|
||||
auto & leftRightPack = artsPack0;
|
||||
auto leftSet = getSrcHolderArtSet();
|
||||
auto rightSet = getDstHolderArtSet();
|
||||
CArtifactFittingSet ArtFittingSet(leftSet->bearerType());
|
||||
|
@@ -3934,7 +3934,7 @@ bool CGameHandler::bulkMoveArtifacts(ObjectInstanceID srcHero, ObjectInstanceID
|
||||
auto psrcHero = getHero(srcHero);
|
||||
auto pdstHero = getHero(dstHero);
|
||||
BulkMoveArtifacts ma(static_cast<ConstTransitivePtr<CGHeroInstance>>(psrcHero),
|
||||
static_cast<ConstTransitivePtr<CGHeroInstance>>(pdstHero));
|
||||
static_cast<ConstTransitivePtr<CGHeroInstance>>(pdstHero), false);
|
||||
auto slots = &ma.artsPack0;
|
||||
|
||||
// Temporary fitting set for artifacts. Used to select available slots before sending data.
|
||||
@@ -3981,12 +3981,11 @@ bool CGameHandler::bulkSwapArtifacts(ObjectInstanceID leftHero, ObjectInstanceID
|
||||
auto pleftHero = getHero(leftHero);
|
||||
auto prightHero = getHero(rightHero);
|
||||
BulkMoveArtifacts ma(static_cast<ConstTransitivePtr<CGHeroInstance>>(pleftHero),
|
||||
static_cast<ConstTransitivePtr<CGHeroInstance>>(prightHero));
|
||||
ma.artsPack1 = std::vector<BulkMoveArtifacts::LinkedSlots>();
|
||||
static_cast<ConstTransitivePtr<CGHeroInstance>>(prightHero), true);
|
||||
ma.srcArtHolder = static_cast<ConstTransitivePtr<CGHeroInstance>>(prightHero);
|
||||
ma.dstArtHolder = static_cast<ConstTransitivePtr<CGHeroInstance>>(pleftHero);
|
||||
auto slotsLeftRight = &ma.artsPack0;
|
||||
auto slotsRightLeft = &ma.artsPack1.value();
|
||||
auto slotsRightLeft = &ma.artsPack1;
|
||||
|
||||
auto moveArtsWorn = [this](const CGHeroInstance * srcHero, const CGHeroInstance * dstHero,
|
||||
std::vector<BulkMoveArtifacts::LinkedSlots> * slots) -> void
|
||||
|
Reference in New Issue
Block a user