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