TradePathInitialize(const void *, CvAStar *)
- Defined in
- CvAStar.cpp, line 3917
- Hook name
CivHooks::TradePathInitialize
Hooks
static bool BeforeTradePathInitialize(const void* pointer, CvAStar* finder);static void AfterTradePathInitialize(const void* pointer, CvAStar* finder);static void ReplaceTradePathInitialize(void (*original)(const void*, CvAStar*), const void* pointer, CvAStar* finder);CivRegisterBefore<CivHooks::TradePathInitialize>(host, &BeforeTradePathInitialize);CivRegisterAfter<CivHooks::TradePathInitialize>(host, &AfterTradePathInitialize);CivRegisterReplace<CivHooks::TradePathInitialize>(host, &ReplaceTradePathInitialize);
Code
3917void TradePathInitialize(const void* pointer, CvAStar* finder)3918{3919 PlayerTypes ePlayer = (PlayerTypes)finder->GetInfo();39203921 TradePathCacheData* pCacheData = reinterpret_cast<TradePathCacheData*>(finder->GetScratchBuffer());39223923 CvPlayer& kPlayer = GET_PLAYER(ePlayer);3924 TeamTypes eTeam = kPlayer.getTeam();3925 pCacheData->m_pTeam = &GET_TEAM(eTeam);3926#if defined(MOD_BUGFIX_TRADE_ROUTES_EMBARK_ALL_WATER)3927 pCacheData->m_bCanEmbarkAllWaterPassage = pCacheData->m_pTeam->canEmbarkAllWaterPassage() || kPlayer.GetPlayerTraits()->IsEmbarkedAllWater();3928#else3929 pCacheData->m_bCanEmbarkAllWaterPassage = pCacheData->m_pTeam->canEmbarkAllWaterPassage();3930#endif39313932 CvPlayerTraits* pPlayerTraits = kPlayer.GetPlayerTraits();3933 if (pPlayerTraits)3934 {3935 pCacheData->m_bIsRiverTradeRoad = pPlayerTraits->IsRiverTradeRoad();3936 pCacheData->m_bIsMoveFriendlyWoodsAsRoad = pPlayerTraits->IsMoveFriendlyWoodsAsRoad();3937 }3938 else3939 {3940 pCacheData->m_bIsRiverTradeRoad = false;3941 pCacheData->m_bIsMoveFriendlyWoodsAsRoad = false;3942 }39433944}
Calls
- CvAStar::GetInfo()
- CvAStar::GetScratchBuffer()
- CvPlayer::GetPlayerTraits() const
- CvPlayer::getTeam() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTraits::IsEmbarkedAllWater() const
- CvPlayerTraits::IsMoveFriendlyWoodsAsRoad() const
- CvPlayerTraits::IsRiverTradeRoad() const
- CvTeam::canEmbarkAllWaterPassage() const
- CvTeam::getTeam(TeamTypes)