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}