Bazaar developer reference

CvMapGenerator::pGetMapInitData(lua_State *)

Defined in
CvMapGenerator.cpp, line 103
Class
CvMapGenerator
Hook name
CivHooks::CvMapGenerator_pGetMapInitData

Hooks

static bool BeforeCvMapGenerator_pGetMapInitData(lua_State* L, int& result);static void AfterCvMapGenerator_pGetMapInitData(lua_State* L, int& result);static int ReplaceCvMapGenerator_pGetMapInitData(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvMapGenerator_pGetMapInitData>(host, &BeforeCvMapGenerator_pGetMapInitData);CivRegisterAfter<CivHooks::CvMapGenerator_pGetMapInitData>(host, &AfterCvMapGenerator_pGetMapInitData);CivRegisterReplace<CivHooks::CvMapGenerator_pGetMapInitData>(host, &ReplaceCvMapGenerator_pGetMapInitData);

Code

103int CvMapGenerator::pGetMapInitData(lua_State* L)104{105	cvStopWatch stopWatch("CvMapGenerator - GetMapInitData()");106	GetMapInitDataArgs* pArgs = (GetMapInitDataArgs*)lua_touserdata(L, 1);107108	pArgs->bSuccess = false;109	lua_getglobal(L, "GetMapInitData");110	if(lua_isfunction(L, -1))111	{112		lua_pushinteger(L, pArgs->WorldSize);113		pArgs->pkScriptSystem->CallFunction(L, 1, 1);114		const int t = lua_gettop(L);115		if(lua_istable(L, t))116		{117			lua_getfield(L, t, "Width");118			if(!lua_isnoneornil(L, -1))119				pArgs->pkMapInitData->m_iGridW = lua_tointeger(L, -1);120			lua_pop(L, 1);121122			lua_getfield(L, t, "Height");123			if(!lua_isnoneornil(L, -1))124				pArgs->pkMapInitData->m_iGridH = lua_tointeger(L, -1);125			lua_pop(L, 1);126127			lua_getfield(L, t, "WrapX");128			if(!lua_isnoneornil(L, -1))129				pArgs->pkMapInitData->m_bWrapX = lua_toboolean(L, -1);130			lua_pop(L, 1);131132			lua_getfield(L, t, "WrapY");133			if(!lua_isnoneornil(L, -1))134				pArgs->pkMapInitData->m_bWrapY = lua_toboolean(L, -1);135136			lua_getfield(L, t, "TopLatitude");137			if(!lua_isnoneornil(L, -1))138				pArgs->pkMapInitData->m_iTopLatitude = lua_tointeger(L, -1);139140			lua_getfield(L, t, "BottomLatitude");141			if(!lua_isnoneornil(L, -1))142				pArgs->pkMapInitData->m_iBottomLatitude = lua_tointeger(L, -1);143144			pArgs->bSuccess = true;145		}146	}147148	return 0;149}

Calls

Called by