while (1)
{
   Initialization for every level...
   Intro
   Select_Screen
   Play level Movie
   for each level's script
   {
      Initialization for every roud...
      LoadInnocent
      LoadBlood
      LoadScript
      ExecScriptStart
      SetBKDType
      SetCDMusicVolume
      InitDemoMode
      InitBlood

      //----------- Main loop ------------
      while somebody is alive and the round is not done
      {
         The last player died.  Play game over music
         ExecScript
         if (round is not done and somebofy's playing and no game pause
            FrameCounter++;
         Control_Read if not end of the round
         Dump debugging infos
         pause or unpause the game
         Show the game pause menu if necessary

         if (Flash == 0)
         {
            DrawBlood if bloody mode
            DrawBulletHoles
            bkgnd_Draw
            Draw_Foreground
            DrawFiring
            DrawPlrFiring
            DrawInnocent

            if game paused or both players are dead
               DrawFrame of every character
            else
            {
               for every character
               {
                  DrawNextFrame
                  Play a sound effect if necessary
                  AddFiring if necessary
                  Check if the character killed another character
               }
            }

            Draw_Gun_Cursor if necessary
         }
         else
         {
            Put the screen to white
            Flash--;

            if a trigger has been pressed
               AddPlrFiring if a trigger has been pulled
               Play a sound fx
               Check if the player has shot a guy or a wall or whatever
         }

         if at the end of the round
            show accuracy shit
      }

      ClearScore

      Clear all characters
      bkgnd_Clear

      Clear screen
   }
}
