void P_StartLightning () { const bool isOriginalHexen = (gameinfo.gametype == GAME_Hexen) && (level.flags2 & LEVEL2_HEXENHACK); if (isOriginalHexen) { bool hasLightning = false; for (const sector_t §or : level.sectors) { hasLightning = sector.GetTexture(sector_t::ceiling) == skyflatnum || sector.special == Light_IndoorLightning1 || sector.special == Light_IndoorLightning2; if (hasLightning) { break; } } if (!hasLightning) { level.flags &= ~LEVEL_STARTLIGHTNING; return; } } DLightningThinker *lightning = LocateLightning (); if (lightning == NULL) { Create<DLightningThinker>(); } }
void P_StartLightning () { DLightningThinker *lightning = LocateLightning (); if (lightning == NULL) { new DLightningThinker (); } }
void P_ForceLightning (int mode) { DLightningThinker *lightning = LocateLightning (); if (lightning == NULL) { lightning = Create<DLightningThinker>(); } if (lightning != NULL) { lightning->ForceLightning (mode); } }