Bazaar developer reference

CvWorldBuilderMapLoader::MapPlayerToSlot(uint, PlayerTypes)

Defined in
CvWorldBuilderMapLoader.cpp, line 1861
Class
CvWorldBuilderMapLoader
Hook name
CivHooks::CvWorldBuilderMapLoader_MapPlayerToSlot

Hooks

static bool BeforeCvWorldBuilderMapLoader_MapPlayerToSlot(uint uiPlayer, PlayerTypes ePlayerSlot);static void AfterCvWorldBuilderMapLoader_MapPlayerToSlot(uint uiPlayer, PlayerTypes ePlayerSlot);static void ReplaceCvWorldBuilderMapLoader_MapPlayerToSlot(void (*original)(uint, PlayerTypes), uint uiPlayer, PlayerTypes ePlayerSlot);CivRegisterBefore<CivHooks::CvWorldBuilderMapLoader_MapPlayerToSlot>(host, &BeforeCvWorldBuilderMapLoader_MapPlayerToSlot);CivRegisterAfter<CivHooks::CvWorldBuilderMapLoader_MapPlayerToSlot>(host, &AfterCvWorldBuilderMapLoader_MapPlayerToSlot);CivRegisterReplace<CivHooks::CvWorldBuilderMapLoader_MapPlayerToSlot>(host, &ReplaceCvWorldBuilderMapLoader_MapPlayerToSlot);

Code

1861void CvWorldBuilderMapLoader::MapPlayerToSlot(uint uiPlayer, PlayerTypes ePlayerSlot)1862{1863	if(uiPlayer < MAX_CIV_PLAYERS && ePlayerSlot >= 0 && ePlayerSlot < MAX_CIV_PLAYERS)1864	{1865		const uint uiCurrent = sg_auiPlayerSlots[ePlayerSlot];1866		if(uiCurrent != uiPlayer)1867		{1868			PlayerTypes eOldSlot = NO_PLAYER;1869			for(uint i = 0; i < MAX_CIV_PLAYERS; ++i)1870			{1871				if(sg_auiPlayerSlots[i] == uiPlayer)1872				{1873					eOldSlot = (PlayerTypes)i;1874					break;1875				}1876			}18771878			sg_auiPlayerSlots[ePlayerSlot] = uiPlayer;18791880			FAssertMsg(eOldSlot != NO_PLAYER, "Player list has holes in it!")1881			if(eOldSlot != NO_PLAYER)1882				sg_auiPlayerSlots[eOldSlot] = uiCurrent;1883		}1884	}1885}

Called by