CvFractal::tectonicAction(CvFractal *)
- Defined in
- CvFractal.cpp, line 381
- Class
- CvFractal
- Hook name
CivHooks::CvFractal_tectonicAction
Hooks
static bool BeforeCvFractal_tectonicAction(CvFractal* self, CvFractal* pRifts);static void AfterCvFractal_tectonicAction(CvFractal* self, CvFractal* pRifts);static void ReplaceCvFractal_tectonicAction(void (*original)(CvFractal*, CvFractal*), CvFractal* self, CvFractal* pRifts);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvFractal_tectonicAction::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvFractal_tectonicAction);host->RegisterHook(host->pluginIndex, CivHooks::CvFractal_tectonicAction::ID, CIV_HOOK_AFTER, (void*)&AfterCvFractal_tectonicAction);host->RegisterHook(host->pluginIndex, CivHooks::CvFractal_tectonicAction::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvFractal_tectonicAction);
Code
381void CvFractal::tectonicAction(CvFractal* pRifts) // Assumes FRAC_WRAP_X is on.382{383 //int iRift1x = (m_iFracX / 4);384 const int iRift2x = ((m_iFracX / 4) * 3);385 const int iWidth = 16;386387 for(int iY = 0; iY < m_iFracY + 1; iY++)388 {389 for(int iX = 0; iX < iWidth; iX++)390 {391 // Rift along edge of map.392 int iDeep = 0;393 int iRx = yieldX(((((pRifts->m_aaiFrac[iRift2x][iY] - 128) * m_iFracX) / 128) / 8) + iX);394 int iLx = yieldX(((((pRifts->m_aaiFrac[iRift2x][iY] - 128) * m_iFracX) / 128) / 8) - iX);395 m_aaiFrac[iRx][iY] = (((m_aaiFrac[iRx][iY] * iX) + iDeep * (iWidth - iX)) / iWidth);396 m_aaiFrac[iLx][iY] = (((m_aaiFrac[iLx][iY] * iX) + iDeep * (iWidth - iX)) / iWidth);397 }398 }399400 for(int iY = 0; iY < m_iFracY + 1; iY++)401 {402 m_aaiFrac[m_iFracX][iY] = m_aaiFrac[0][iY];403 }404}