From 945d91b7832faa85d9a54c657dadc7e99d563227 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 27 Nov 2018 23:12:26 +1100 Subject: [PATCH] change LandState to LandFlags --- src/common/Common.h | 8 ++++---- .../Network/PacketDef/Zone/ServerZoneDef.h | 12 ++++++------ src/servers/sapphire_zone/Actor/Player.cpp | 14 +++++++------- src/servers/sapphire_zone/Actor/Player.h | 8 ++++---- .../DebugCommand/DebugCommandHandler.cpp | 4 ++-- src/servers/sapphire_zone/Zone/HousingMgr.cpp | 18 ++++++++---------- 6 files changed, 31 insertions(+), 33 deletions(-) diff --git a/src/common/Common.h b/src/common/Common.h index 155b00ee..17d7055c 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -774,7 +774,7 @@ namespace Core::Common Private = 2, }; - enum LandEstateFlags : uint32_t + enum LandFlags : uint32_t { ESTATE_BUILT = 0x1, ESTATE_HAS_AETHERYTE = 0x2, @@ -791,10 +791,10 @@ namespace Core::Common int16_t worldId; //06 }; - struct LandStateSet + struct LandFlagSet { LandIdent landIdent; - uint32_t estateFlags; //08 + uint32_t landFlags; //08 uint32_t unkown1; //12 }; @@ -843,7 +843,7 @@ namespace Core::Common Venue = 11, }; - enum WardEstateFlags : uint8_t + enum WardlandFlags : uint8_t { IsEstateOwned = 1, IsPublicEstate = 2, diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index f04e84ff..b5a6ebf8 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1579,20 +1579,20 @@ struct FFXIVIpcLandStateSlot : FFXIVIpcBasePacket< LandStateSlot > { uint32_t type; uint32_t unknown; - Common::LandStateSet permissionSet; + Common::LandFlagSet permissionSet; }; struct FFXIVIpcLandPermission : FFXIVIpcBasePacket< LandPermission > { - Common::LandStateSet freeCompanyHouse; // 00 + Common::LandFlagSet freeCompanyHouse; // 00 uint64_t unkown1; - Common::LandStateSet privateHouse; // 24 + Common::LandFlagSet privateHouse; // 24 uint64_t unkown2; - Common::LandStateSet apartment; // 48 + Common::LandFlagSet apartment; // 48 uint64_t unkown3; - Common::LandStateSet sharedHouse[2]; //72 + Common::LandFlagSet sharedHouse[2]; //72 uint64_t unkown4; - Common::LandStateSet unkownHouse; + Common::LandFlagSet unkownHouse; uint64_t unkown5; }; diff --git a/src/servers/sapphire_zone/Actor/Player.cpp b/src/servers/sapphire_zone/Actor/Player.cpp index 20ae1d12..95b5d1af 100644 --- a/src/servers/sapphire_zone/Actor/Player.cpp +++ b/src/servers/sapphire_zone/Actor/Player.cpp @@ -95,7 +95,7 @@ Core::Entity::Player::Player() : for ( uint8_t i = 0; i < 5; i++ ) { memset( &m_landPermission[i], 0xFF, 8 ); - memset( &m_landPermission[i].estateFlags, 0, 8 ); + memset( &m_landPermission[i].landFlags, 0, 8 ); } m_objSpawnIndexAllocator.init( MAX_DISPLAYED_EOBJS ); @@ -1597,10 +1597,10 @@ void Core::Entity::Player::sendZonePackets() state |= ESTATE_HAS_AETHERYTE; } - setLandState( LandStateSlot::Private, state, pLand->getLandId(), pLand->getWardNum(), pLand->getTerritoryTypeId() ); + setLandFlags( LandStateSlot::Private, state, pLand->getLandId(), pLand->getWardNum(), pLand->getTerritoryTypeId() ); } - sendLandStates(); + sendLandFlags(); auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() ); initZonePacket->data().zoneId = getCurrentZone()->getTerritoryTypeId(); @@ -1778,18 +1778,18 @@ bool Core::Entity::Player::isOnEnterEventDone() const return m_onEnterEventDone; } -void Core::Entity::Player::setLandState( uint8_t permissionSet, uint32_t estateFlags, +void Core::Entity::Player::setLandFlags( uint8_t permissionSet, uint32_t landFlags, int16_t landId, int16_t wardNum, int16_t zoneId ) { m_landPermission[ permissionSet ].landIdent.landId = landId; m_landPermission[ permissionSet ].landIdent.wardNum = wardNum; m_landPermission[ permissionSet ].landIdent.territoryTypeId = zoneId; m_landPermission[ permissionSet ].landIdent.worldId = 67; - m_landPermission[ permissionSet ].estateFlags = estateFlags; + m_landPermission[ permissionSet ].landFlags = landFlags; m_landPermission[ permissionSet ].unkown1 = 0; } -void Core::Entity::Player::sendLandStates() +void Core::Entity::Player::sendLandFlags() { auto landPermissions = makeZonePacket< FFXIVIpcLandPermission >( getId() ); @@ -1802,7 +1802,7 @@ void Core::Entity::Player::sendLandStates() queuePacket( landPermissions ); } -void Core::Entity::Player::sendLandStateSlot( Common::LandStateSlot slot ) +void Core::Entity::Player::sendLandFlagsSlot( Common::LandStateSlot slot ) { auto landPermissions = makeZonePacket< FFXIVIpcLandStateSlot >( getId() ); diff --git a/src/servers/sapphire_zone/Actor/Player.h b/src/servers/sapphire_zone/Actor/Player.h index 2a7d5ea6..3ca345d2 100644 --- a/src/servers/sapphire_zone/Actor/Player.h +++ b/src/servers/sapphire_zone/Actor/Player.h @@ -763,10 +763,10 @@ namespace Core::Entity // Housing Handling ////////////////////////////////////////////////////////////////////////////////////////////////////// - void setLandState( uint8_t permissionSet, uint32_t estateFlags, int16_t landId, int16_t wardNum, int16_t zoneId ); + void setLandFlags( uint8_t permissionSet, uint32_t landFlags, int16_t landId, int16_t wardNum, int16_t zoneId ); - void sendLandStates(); - void sendLandStateSlot( Common::LandStateSlot slot ); + void sendLandFlags(); + void sendLandFlagsSlot( Common::LandStateSlot slot ); // Player Battle Handling ////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1025,7 +1025,7 @@ namespace Core::Entity uint8_t m_searchSelectClass; // class selected to show up in profile // housing info - Common::LandStateSet m_landPermission[5]; + Common::LandFlagSet m_landPermission[5]; Common::ActiveLand m_activeLand; diff --git a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp index 64723a1f..86da3c95 100644 --- a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp +++ b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp @@ -1018,8 +1018,8 @@ void Core::DebugCommandHandler::housing( char* data, Entity::Player& player, std auto pHousing = std::dynamic_pointer_cast< HousingZone >( pZone ); if( pHousing ) { - player.setLandState( permissionSet, 0, pHousing->getLandSetId(), pHousing->getWardNum(), pHousing->getTerritoryTypeId() ); - player.sendLandStates(); + player.setLandFlags( permissionSet, 0, pHousing->getLandSetId(), pHousing->getWardNum(), pHousing->getTerritoryTypeId() ); + player.sendLandFlags(); } else player.sendDebug( "You aren't in a housing Zone." ); diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.cpp b/src/servers/sapphire_zone/Zone/HousingMgr.cpp index 2a88f384..2d2a25fd 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.cpp +++ b/src/servers/sapphire_zone/Zone/HousingMgr.cpp @@ -167,10 +167,10 @@ Core::LandPurchaseResult Core::HousingMgr::purchaseLand( Entity::Player& player, pLand->setState( HouseState::sold ); pLand->setLandType( Common::LandType::Private ); - player.setLandState( LandStateSlot::Private, 0x00, plot, + player.setLandFlags( LandStateSlot::Private, 0x00, plot, pHousing->getWardNum(), pHousing->getTerritoryTypeId() ); - player.sendLandStateSlot( LandStateSlot::Private ); + player.sendLandFlagsSlot( LandStateSlot::Private ); //pLand->setLandName( "Private Estate" + std::to_string( pHousing->getWardNum() ) + "-" + std::to_string( plot ) ); pLand->updateLandDb(); @@ -219,9 +219,9 @@ bool Core::HousingMgr::relinquishLand( Entity::Player& player, uint8_t plot ) pLand->setLandType( Common::LandType::none ); pLand->updateLandDb(); - player.setLandState( LandStateSlot::Private, 0x00, 0xFF, 0xFF, 0xFF ); + player.setLandFlags( LandStateSlot::Private, 0x00, 0xFF, 0xFF, 0xFF ); - player.sendLandStateSlot( LandStateSlot::Private ); + player.sendLandFlagsSlot( LandStateSlot::Private ); auto screenMsgPkt2 = makeActorControl143( player.getId(), ActorControl::LogMsg, 3351, 0x1AA, pLand->getWardNum() + 1, plot + 1 ); @@ -260,14 +260,14 @@ void Core::HousingMgr::sendWardLandInfo( Entity::Player& player, uint8_t wardId, switch( land->getLandType() ) { case LandType::FreeCompany: - entry.infoFlags = Common::WardEstateFlags::IsEstateOwned | Common::WardEstateFlags::IsFreeCompanyEstate; + entry.infoFlags = Common::WardlandFlags::IsEstateOwned | Common::WardlandFlags::IsFreeCompanyEstate; // todo: send FC name break; case LandType::Private: - entry.infoFlags = Common::WardEstateFlags::IsEstateOwned; + entry.infoFlags = Common::WardlandFlags::IsEstateOwned; auto owner = land->getPlayerOwner(); std::string playerName = g_fw.get< Core::ServerMgr >()->getPlayerNameFromDb( owner ); @@ -319,8 +319,6 @@ void Core::HousingMgr::buildPresetEstate( Entity::Player& player, uint8_t plotNu // todo: wtf are these flags player.playScene( 0x000B0095, 0, 4164955899, 0, 1, plotNum, nullptr ); - // todo: send perms/flags for house - - player.setLandState( LandStateSlot::Private, ESTATE_BUILT, pLand->getLandId(), pLand->getWardNum(), pLand->getTerritoryTypeId() ); - player.sendLandStateSlot( LandStateSlot::Private ); + player.setLandFlags( LandStateSlot::Private, ESTATE_BUILT, pLand->getLandId(), pLand->getWardNum(), pLand->getTerritoryTypeId() ); + player.sendLandFlagsSlot( LandStateSlot::Private ); }