void IN_Ticker(void) { if(!intermission) { return; } if(interstate == 3) { IN_WaitStop(); return; } IN_CheckForSkip(); intertime++; if(oldintertime < intertime) { interstate++; if(gameepisode > 3 && interstate >= 1) { // Extended Wad levels: skip directly to the next level interstate = 3; } switch(interstate) { case 0: oldintertime = intertime+300; if(gameepisode > 3) { oldintertime = intertime+1200; } break; case 1: oldintertime = intertime+200; break; case 2: oldintertime = MAXINT; break; case 3: cnt = 10; break; default: break; } } if(skipintermission) { if(interstate == 0 && intertime < 150) { intertime = 150; skipintermission = false; return; } else if(interstate < 2 && gameepisode < 4) { interstate = 2; skipintermission = false; S_StartSound(NULL, sfx_dorcls); return; } interstate = 3; cnt = 10; skipintermission = false; S_StartSound(NULL, sfx_dorcls); } }
void IN_Ticker(void) { if(!intermission) { return; } if(!IS_CLIENT) { if(interState == 3) { IN_WaitStop(); return; } } IN_CheckForSkip(); // Counter for general background animation. bcnt++; interTime++; if(oldInterTime < interTime) { interState++; if(wbs->episode > 2 && interState >= 1) { // Extended Wad levels: skip directly to the next level interState = 3; } switch(interState) { case 0: oldInterTime = interTime + 300; if(wbs->episode > 2) { oldInterTime = interTime + 1200; } break; case 1: oldInterTime = interTime + 200; break; case 2: oldInterTime = MAXINT; break; case 3: cnt = 10; break; default: break; } } if(skipIntermission) { if(interState == 0 && interTime < 150) { interTime = 150; skipIntermission = false; NetSv_Intermission(IMF_TIME, 0, interTime); return; } else if(interState < 2 && wbs->episode < 3) { interState = 2; skipIntermission = false; S_StartSound(SFX_DORCLS, NULL); NetSv_Intermission(IMF_STATE, interState, 0); return; } interState = 3; cnt = 10; skipIntermission = false; S_StartSound(SFX_DORCLS, NULL); NetSv_Intermission(IMF_STATE, interState, 0); } }