From 9cc605a03f18794ffb3fd41b29e8a573d19e3e97 Mon Sep 17 00:00:00 2001 From: William Howard Date: Tue, 3 Sep 2019 09:24:59 +0100 Subject: [PATCH] v95 --- CvGameCoreDLL_Expansion2/CustomMods.cpp | 1 + CvGameCoreDLL_Expansion2/CustomMods.h | 10 ++++++++-- CvGameCoreDLL_Expansion2/CvDealClasses.cpp | 2 +- CvGameCoreDLL_Expansion2/CvPlayer.cpp | 6 ++++++ CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.cpp | 11 +++++++++++ CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.h | 3 +++ 6 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CvGameCoreDLL_Expansion2/CustomMods.cpp b/CvGameCoreDLL_Expansion2/CustomMods.cpp index 8f81a694..8c499a61 100644 --- a/CvGameCoreDLL_Expansion2/CustomMods.cpp +++ b/CvGameCoreDLL_Expansion2/CustomMods.cpp @@ -414,6 +414,7 @@ int CustomMods::getOption(string sOption, int defValue) { MOD_OPT_CACHE(EVENTS_RELIGION); MOD_OPT_CACHE(EVENTS_ESPIONAGE); MOD_OPT_CACHE(EVENTS_PLOT); + MOD_OPT_CACHE(EVENTS_PLAYER_TURN); MOD_OPT_CACHE(EVENTS_GOLDEN_AGE); MOD_OPT_CACHE(EVENTS_CITY); MOD_OPT_CACHE(EVENTS_CITY_CAPITAL); diff --git a/CvGameCoreDLL_Expansion2/CustomMods.h b/CvGameCoreDLL_Expansion2/CustomMods.h index 0961be06..ecceac5a 100644 --- a/CvGameCoreDLL_Expansion2/CustomMods.h +++ b/CvGameCoreDLL_Expansion2/CustomMods.h @@ -33,7 +33,7 @@ ****************************************************************************/ #define MOD_DLL_GUID {0xcf7d28a8, 0x1684, 0x4420, { 0xaf, 0x45, 0x11, 0x7, 0xc, 0xb, 0x8c, 0x4a }} // {CF7D28A8-1684-4420-AF45-11070C0B8C4A} #define MOD_DLL_NAME "Pick'N'Mix BNW DLL" -#define MOD_DLL_VERSION_NUMBER ((uint) 93) +#define MOD_DLL_VERSION_NUMBER ((uint) 94) #define MOD_DLL_VERSION_STATUS "" // a (alpha), b (beta) or blank (released) #define MOD_DLL_CUSTOM_BUILD_NAME "" @@ -561,7 +561,11 @@ // GameEvents.PlayerBuilt.Add(function(iPlayer, iUnit, iX, iY, iBuild) end) (v46) #define MOD_EVENTS_PLOT gCustomMods.isEVENTS_PLOT() -// Events sent by golden ages (v52) +// Event sent by ending turn (v94) +// GameEvents.PlayerDoneTurn.Add(function(iPlayer) end) +#define MOD_EVENTS_PLAYER_TURN gCustomMods.isEVENTS_PLAYER_TURN() + +// Event sent by golden ages (v52) // GameEvents.PlayerGoldenAge.Add(function(iPlayer, bStart, iTurns) end) #define MOD_EVENTS_GOLDEN_AGE gCustomMods.isEVENTS_GOLDEN_AGE() @@ -1011,6 +1015,7 @@ enum BattleTypeTypes #define GAMEEVENT_PlayerCanRevoke "PlayerCanRevoke", "ii" #define GAMEEVENT_PlayerCanSpreadReligion "PlayerCanSpreadReligion", "iiii" #define GAMEEVENT_PlayerCanTransitMinorCity "PlayerCanTransitMinorCity", "iiiii" +#define GAMEEVENT_PlayerDoneTurn "PlayerDoneTurn", "i" #define GAMEEVENT_PlayerGifted "PlayerGifted", "iiiiii" #define GAMEEVENT_PlayerGoldenAge "PlayerGoldenAge", "ibi" #define GAMEEVENT_PlayerLiberated "PlayerLiberated", "iii" @@ -1286,6 +1291,7 @@ class CustomMods { MOD_OPT_DECL(EVENTS_RELIGION); MOD_OPT_DECL(EVENTS_ESPIONAGE); MOD_OPT_DECL(EVENTS_PLOT); + MOD_OPT_DECL(EVENTS_PLAYER_TURN); MOD_OPT_DECL(EVENTS_GOLDEN_AGE); MOD_OPT_DECL(EVENTS_CITY); MOD_OPT_DECL(EVENTS_CITY_CAPITAL); diff --git a/CvGameCoreDLL_Expansion2/CvDealClasses.cpp b/CvGameCoreDLL_Expansion2/CvDealClasses.cpp index 45f8c0ef..6a18e174 100644 --- a/CvGameCoreDLL_Expansion2/CvDealClasses.cpp +++ b/CvGameCoreDLL_Expansion2/CvDealClasses.cpp @@ -2191,7 +2191,7 @@ bool CvGameDeals::FinalizeDeal(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, b return bFoundIt && bValid; } -void CvGameDeals::FinalizeDealValidAndAccepted(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, CvDeal& kDeal, bool bAccepted, CvWeightedVector& veNowAtPeacePairs) +void CvGameDeals::FinalizeDealValidAndAccepted(PlayerTypes eFromPlayer, PlayerTypes /* eToPlayer */, CvDeal& kDeal, bool bAccepted, CvWeightedVector& veNowAtPeacePairs) { // Determine total duration of the Deal int iLatestItemLastTurn = 0; diff --git a/CvGameCoreDLL_Expansion2/CvPlayer.cpp b/CvGameCoreDLL_Expansion2/CvPlayer.cpp index 1bdbd071..255ed53c 100644 --- a/CvGameCoreDLL_Expansion2/CvPlayer.cpp +++ b/CvGameCoreDLL_Expansion2/CvPlayer.cpp @@ -17932,6 +17932,12 @@ void CvPlayer::setTurnActive(bool bNewValue, bool bDoTurn) else { +#if defined(MOD_EVENTS_PLAYER_TURN) + if (MOD_EVENTS_PLAYER_TURN) { + GAMEEVENTINVOKE_HOOK(GAMEEVENT_PlayerDoneTurn, GetID()); + } +#endif + CvAssertFmt(GetEndTurnBlockingType() == NO_ENDTURN_BLOCKING_TYPE, "Expecting the end-turn blocking to be NO_ENDTURN_BLOCKING_TYPE, got %d", GetEndTurnBlockingType()); SetEndTurnBlocking(NO_ENDTURN_BLOCKING_TYPE, -1); // Make sure this is clear so the UI doesn't block when it is not our turn. diff --git a/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.cpp b/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.cpp index 885a6e56..97a3c91c 100644 --- a/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.cpp +++ b/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.cpp @@ -221,6 +221,9 @@ void CvLuaPlot::PushMethods(lua_State* L, int t) Method(GetRouteType); Method(SetRouteType); Method(IsRoutePillaged); +#if defined(MOD_API_LUA_EXTENSIONS) + Method(SetRoutePillaged); +#endif #if defined(MOD_API_LUA_EXTENSIONS) Method(GetPlayerThatBuiltImprovement); @@ -1511,6 +1514,14 @@ int CvLuaPlot::lIsRoutePillaged(lua_State* L) } #if defined(MOD_API_LUA_EXTENSIONS) //------------------------------------------------------------------------------ +//void setRoutePillaged(bool b); +int CvLuaPlot::lSetRoutePillaged(lua_State* L) +{ + return BasicLuaMethod(L, &CvPlot::SetRoutePillaged); +} +#endif +#if defined(MOD_API_LUA_EXTENSIONS) +//------------------------------------------------------------------------------ int CvLuaPlot::lGetPlayerThatBuiltImprovement(lua_State* L) { return BasicLuaMethod(L, &CvPlot::GetPlayerThatBuiltImprovement); diff --git a/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.h b/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.h index 23a47032..c0914c1d 100644 --- a/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.h +++ b/CvGameCoreDLL_Expansion2/Lua/CvLuaPlot.h @@ -239,6 +239,9 @@ class CvLuaPlot : public CvLuaScopedInstance static int lGetRouteType(lua_State* L); static int lSetRouteType(lua_State* L); static int lIsRoutePillaged(lua_State* L); +#if defined(MOD_API_LUA_EXTENSIONS) + LUAAPIEXTN(SetRoutePillaged, void, bPillage); +#endif #if defined(MOD_API_LUA_EXTENSIONS) LUAAPIEXTN(GetPlayerThatBuiltImprovement, int);