Bazaar developer reference

CvMapGenerator::GetMapInitData(CvMapInitData &, WorldSizeTypes)

Defined in
CvMapGenerator.cpp, line 47
Class
CvMapGenerator
Hook name
CivHooks::CvMapGenerator_GetMapInitData

Hooks

static bool BeforeCvMapGenerator_GetMapInitData(CvMapGenerator* self, CvMapInitData& kData, WorldSizeTypes eWorldSize, bool& result);static void AfterCvMapGenerator_GetMapInitData(CvMapGenerator* self, CvMapInitData& kData, WorldSizeTypes eWorldSize, bool& result);static bool ReplaceCvMapGenerator_GetMapInitData(bool (*original)(CvMapGenerator*, CvMapInitData&, WorldSizeTypes), CvMapGenerator* self, CvMapInitData& kData, WorldSizeTypes eWorldSize);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvMapGenerator_GetMapInitData::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvMapGenerator_GetMapInitData);host->RegisterHook(host->pluginIndex, CivHooks::CvMapGenerator_GetMapInitData::ID, CIV_HOOK_AFTER, (void*)&AfterCvMapGenerator_GetMapInitData);host->RegisterHook(host->pluginIndex, CivHooks::CvMapGenerator_GetMapInitData::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvMapGenerator_GetMapInitData);

Code

47bool CvMapGenerator::GetMapInitData(CvMapInitData& kData, WorldSizeTypes eWorldSize)48{49	CvWorldInfo	kWorldInfo;50	Database::Connection& db = *GC.GetGameDatabase();5152	//Query53	Database::Results kQuery;54	db.Execute(kQuery, "SELECT * from Worlds where ID = ? LIMIT 1");55	kQuery.Bind(1, eWorldSize);5657	if(kQuery.Step())58	{59		kWorldInfo.CacheResult(kQuery);60	}61	else62	{63		CvAssertMsg(false, "Could not find world size entry.")64	}6566	ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();6768	kData.m_iGridH = kWorldInfo.getGridHeight();69	kData.m_iGridW = kWorldInfo.getGridWidth();7071	GetMapInitDataArgs args;72	args.pkScriptSystem = pkScriptSystem;73	args.pkMapInitData = &kData;74	args.WorldSize = kWorldInfo.GetID();75	args.bSuccess = false;7677	pkScriptSystem->CallCFunction(m_pkLuaState, pGetMapInitData, &args);78	return args.bSuccess;79}

Calls

Called by