QTfrontend/game.cpp
changeset 15278 16f389fcd462
parent 14962 da7eb3414e02
child 15283 c4fd2813b127
child 15299 3bf780084c86
equal deleted inserted replaced
15277:7b05af5912cb 15278:16f389fcd462
    74     SetGameState(gsDestroyed);
    74     SetGameState(gsDestroyed);
    75 }
    75 }
    76 
    76 
    77 void HWGame::onClientDisconnect()
    77 void HWGame::onClientDisconnect()
    78 {
    78 {
    79     switch (gameType)
    79     if (demoIsPresent)
    80     {
    80     {
    81         case gtDemo:
    81         switch (gameType)
    82             // for video recording we need demo anyway
    82         {
    83             emit HaveRecord(rtNeither, demo);
    83             case gtDemo:
    84             break;
    84                 // for video recording we need demo anyway
    85         case gtNet:
    85                 emit HaveRecord(rtNeither, demo);
    86             emit HaveRecord(rtDemo, demo);
    86                 break;
    87             break;
    87             case gtNet:
    88         default:
       
    89             if (gameState == gsInterrupted || gameState == gsHalted)
       
    90                 emit HaveRecord(rtSave, demo);
       
    91             else if (gameState == gsFinished)
       
    92                 emit HaveRecord(rtDemo, demo);
    88                 emit HaveRecord(rtDemo, demo);
    93             else
    89                 break;
    94                 emit HaveRecord(rtNeither, demo);
    90             default:
       
    91                 if (gameState == gsInterrupted || gameState == gsHalted)
       
    92                     emit HaveRecord(rtSave, demo);
       
    93                 else if (gameState == gsFinished)
       
    94                     emit HaveRecord(rtDemo, demo);
       
    95                 else
       
    96                     emit HaveRecord(rtNeither, demo);
       
    97         }
       
    98     }
       
    99     else
       
   100     {
       
   101         emit HaveRecord(rtNeither, demo);
    95     }
   102     }
    96     SetGameState(gsStopped);
   103     SetGameState(gsStopped);
    97 }
   104 }
    98 
   105 
    99 void HWGame::commonConfig()
   106 void HWGame::commonConfig()
   450         case 'q':
   457         case 'q':
   451         {
   458         {
   452             SetGameState(gsFinished);
   459             SetGameState(gsFinished);
   453             break;
   460             break;
   454         }
   461         }
       
   462         case 'm':
       
   463         {
       
   464             SetDemoPresence(false);
       
   465             break;
       
   466         }
   455         case 'H':
   467         case 'H':
   456         {
   468         {
   457             SetGameState(gsHalted);
   469             SetGameState(gsHalted);
   458             break;
   470             break;
   459         }
   471         }
   749     {
   761     {
   750         emit TrainingStateChanged(1);
   762         emit TrainingStateChanged(1);
   751     }
   763     }
   752 }
   764 }
   753 
   765 
       
   766 void HWGame::SetDemoPresence(bool hasDemo)
       
   767 {
       
   768     emit DemoPresenceChanged(hasDemo);
       
   769 }
       
   770 
   754 void HWGame::abort()
   771 void HWGame::abort()
   755 {
   772 {
   756     QByteArray buf;
   773     QByteArray buf;
   757     HWProto::addStringToBuffer(buf, QString("eforcequit"));
   774     HWProto::addStringToBuffer(buf, QString("eforcequit"));
   758     RawSendIPC(buf);
   775     RawSendIPC(buf);