Hooks
static bool BeforeCvWorldBuilderMapLoader_ScatterResources(lua_State* L, int& result);static void AfterCvWorldBuilderMapLoader_ScatterResources(lua_State* L, int& result);static int ReplaceCvWorldBuilderMapLoader_ScatterResources(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvWorldBuilderMapLoader_ScatterResources>(host, &BeforeCvWorldBuilderMapLoader_ScatterResources);CivRegisterAfter<CivHooks::CvWorldBuilderMapLoader_ScatterResources>(host, &AfterCvWorldBuilderMapLoader_ScatterResources);CivRegisterReplace<CivHooks::CvWorldBuilderMapLoader_ScatterResources>(host, &ReplaceCvWorldBuilderMapLoader_ScatterResources);
Code
2167int CvWorldBuilderMapLoader::ScatterResources(lua_State* L)2168{2169 if(L == NULL)2170 {2171 FAssertMsg(L, "Seriously, you really need a lua state for this.");2172 return 0;2173 }21742175 const int iTop = lua_gettop(L);21762177 ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();2178 if(pkScriptSystem != NULL)2179 {2180 const bool bLoadedMapGenerator = pkScriptSystem->LoadFile(L, "WorldBuilderRandomItems.lua");2181 FAssertMsg(bLoadedMapGenerator, "Failed to load WorldBuilderRandomItems.lua");2182 if(bLoadedMapGenerator)2183 {2184 lua_getglobal(L, "AddResourcesForWorldBuilderMap");2185 if(lua_isfunction(L, -1))2186 pkScriptSystem->CallFunction(L, 0, 0);2187 else2188 FAssertMsg(0, "Failed to find \"AddResourcesForWorldBuilderMap\" in WorldBuilderRandomItems.lua");2189 }2190 }21912192 lua_settop(L, iTop);21932194 return 0;2195}