Hooks
static bool BeforeCvWorldBuilderMapLoader_ScatterGoodies(lua_State* L, int& result);static void AfterCvWorldBuilderMapLoader_ScatterGoodies(lua_State* L, int& result);static int ReplaceCvWorldBuilderMapLoader_ScatterGoodies(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvWorldBuilderMapLoader_ScatterGoodies>(host, &BeforeCvWorldBuilderMapLoader_ScatterGoodies);CivRegisterAfter<CivHooks::CvWorldBuilderMapLoader_ScatterGoodies>(host, &AfterCvWorldBuilderMapLoader_ScatterGoodies);CivRegisterReplace<CivHooks::CvWorldBuilderMapLoader_ScatterGoodies>(host, &ReplaceCvWorldBuilderMapLoader_ScatterGoodies);
Code
2197int CvWorldBuilderMapLoader::ScatterGoodies(lua_State* L)2198{2199 if(L == NULL)2200 {2201 FAssertMsg(L, "Seriously, you really need a lua state for this.");2202 return 0;2203 }22042205 const int iTop = lua_gettop(L);22062207 ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();2208 if(pkScriptSystem != NULL)2209 {2210 const bool bLoadedMapGenerator = pkScriptSystem->LoadFile(L, "WorldBuilderRandomItems.lua");2211 FAssertMsg(bLoadedMapGenerator, "Failed to load WorldBuilderRandomItems.lua");2212 if(bLoadedMapGenerator)2213 {2214 lua_getglobal(L, "AddGoodies");2215 if(lua_isfunction(L, -1))2216 pkScriptSystem->CallFunction(L, 0, 0);2217 else2218 FAssertMsg(0, "Failed to find \"AddGoodies\" in WorldBuilderRandomItems.lua");2219 }2220 }22212222 lua_settop(L, iTop);22232224 return 0;2225}