Hooks
static bool BeforeCvLuaFractal_lCreate(lua_State* L, int& result);static void AfterCvLuaFractal_lCreate(lua_State* L, int& result);static int ReplaceCvLuaFractal_lCreate(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaFractal_lCreate>(host, &BeforeCvLuaFractal_lCreate);CivRegisterAfter<CivHooks::CvLuaFractal_lCreate>(host, &AfterCvLuaFractal_lCreate);CivRegisterReplace<CivHooks::CvLuaFractal_lCreate>(host, &ReplaceCvLuaFractal_lCreate);
Code
138int CvLuaFractal::lCreate(lua_State* L)139{140 CvFractal* pFractal = CreateFractal(L);141142 const int iNewXs = lua_tointeger(L, 1);143 const int iNewYs = lua_tointeger(L, 2);144 const int iGrain = lua_tointeger(L, 3);145 CvRandom& rand = GC.getGame().getMapRand(); //Temporary!!146147 //calculate flags148 const int flags = GetFractalFlags(L, 4);149150 const int iFracXExp = lua_isnil(L, 5)? CvFractal::DEFAULT_FRAC_X_EXP : lua_tointeger(L, 5);151 const int iFracYExp = lua_isnil(L, 6)? CvFractal::DEFAULT_FRAC_Y_EXP : lua_tointeger(L, 6);152153154 pFractal->fracInit(iNewXs, iNewYs, iGrain, rand, flags, NULL, iFracXExp, iFracYExp);155156 return 1;157}