void CDemo::Create (void) { CModeScreen::Create(); // The match has not begun yet m_MatchOver = false; m_IsSongPlaying = false; m_NoticedTimeUp = false; // Reset mode time (no time has been elapsed in this mode yet) m_ModeTime = 0.0f; // Don't have to exit this mode yet m_HaveToExit = false; // Initialize demo text variables m_DemoTextTime = 0.0f; m_DrawDemoText = false; SetupOptions(); // Setting up the options must be done FIRST CreateMainComponents(); CreateFont(); m_AiManager.SetDisplay(m_pDisplay); m_AiManager.Create(&m_Options); }
void CMatch::Create (void) { CModeScreen::Create(); // No match result for the moment m_MatchOver = false; m_WinnerPlayer = NO_WINNER_PLAYER; m_IsSongPlaying = false; m_NoticedTimeUp = false; // Reset mode time (no time has been elapsed in this mode yet) m_ModeTime = 0.0f; // Don't have to exit this mode yet m_HaveToExit = false; if (NetworkMode != NETWORKMODE_LOCAL) { m_pOptions->SetTimeStart(2, 0); m_pOptions->SetTimeUp(0, 35); m_pOptions->SetBomberType(2, BOMBERTYPE_OFF); m_pOptions->SetBomberType(3, BOMBERTYPE_OFF); m_pOptions->SetBomberType(4, BOMBERTYPE_OFF); m_pOptions->SetBattleCount(3); if (NetworkMode == NETWORKMODE_SERVER) { m_pOptions->SetBomberType(0, BOMBERTYPE_MAN); m_pOptions->SetBomberType(1, BOMBERTYPE_NET); #ifdef WIN32 DWORD TickCount = GetTickCount(); #else DWORD TickCount = time(NULL); #endif send(ClientSocket, (const char*)&TickCount, sizeof(DWORD), 0); SEED_RANDOM(TickCount); } else if (NetworkMode == NETWORKMODE_CLIENT) { m_pOptions->SetBomberType(0, BOMBERTYPE_NET); m_pOptions->SetBomberType(1, BOMBERTYPE_MAN); DWORD TickCount; int Received = recv(MySocket, (char*)&TickCount, sizeof(DWORD), 0); #ifdef WIN32 if (Received == SOCKET_ERROR) theConsole.Write("recv error : %d\n", WSAGetLastError()); #else if (Received == -1) theConsole.Write("recv error : %d\n", Received); #endif SEED_RANDOM(TickCount); } } CreateMainComponents (); // Set computerPlayersPresent to true when there are AI players in this match computerPlayersPresent = false; for ( int i = 0; i < MAX_BOMBERS; i++ ) { if ( m_pOptions->GetBomberType( i ) == BOMBERTYPE_COM ) { computerPlayersPresent = true; } } if ( computerPlayersPresent ) { m_AiManager.SetDisplay(m_pDisplay); m_AiManager.Create(m_pOptions); } }