Ticket #4095: rename_CNetTurnManager_v2.patch
File rename_CNetTurnManager_v2.patch, 13.2 KB (added by , 8 years ago) |
---|
-
source/network/NetTurnManager.cpp
58 58 return str.str(); 59 59 } 60 60 61 C NetTurnManager::CNetTurnManager(CSimulation2& simulation, u32 defaultTurnLength, int clientId, IReplayLogger& replay) :61 CTurnManager::CTurnManager(CSimulation2& simulation, u32 defaultTurnLength, int clientId, IReplayLogger& replay) : 62 62 m_Simulation2(simulation), m_CurrentTurn(0), m_ReadyTurn(1), m_TurnLength(defaultTurnLength), m_DeltaSimTime(0), 63 63 m_PlayerId(-1), m_ClientId(clientId), m_HasSyncError(false), m_Replay(replay), 64 64 m_TimeWarpNumTurns(0), m_FinalTurn(std::numeric_limits<u32>::max()) … … 72 72 m_QueuedCommands.resize(COMMAND_DELAY + 1); 73 73 } 74 74 75 void C NetTurnManager::ResetState(u32 newCurrentTurn, u32 newReadyTurn)75 void CTurnManager::ResetState(u32 newCurrentTurn, u32 newReadyTurn) 76 76 { 77 77 m_CurrentTurn = newCurrentTurn; 78 78 m_ReadyTurn = newReadyTurn; … … 82 82 m_QueuedCommands.resize(queuedCommandsSize); 83 83 } 84 84 85 void C NetTurnManager::SetPlayerID(int playerId)85 void CTurnManager::SetPlayerID(int playerId) 86 86 { 87 87 m_PlayerId = playerId; 88 88 } 89 89 90 bool C NetTurnManager::WillUpdate(float simFrameLength)90 bool CTurnManager::WillUpdate(float simFrameLength) 91 91 { 92 92 // Keep this in sync with the return value of Update() 93 93 … … 103 103 return true; 104 104 } 105 105 106 bool C NetTurnManager::Update(float simFrameLength, size_t maxTurns)106 bool CTurnManager::Update(float simFrameLength, size_t maxTurns) 107 107 { 108 108 if (m_CurrentTurn > m_FinalTurn) 109 109 return false; … … 191 191 return true; 192 192 } 193 193 194 bool C NetTurnManager::UpdateFastForward()194 bool CTurnManager::UpdateFastForward() 195 195 { 196 196 m_DeltaSimTime = 0; 197 197 … … 229 229 return true; 230 230 } 231 231 232 void C NetTurnManager::OnSyncError(u32 turn, const CStr& expectedHash, std::vector<CSyncErrorMessage::S_m_PlayerNames>& playerNames)232 void CTurnManager::OnSyncError(u32 turn, const CStr& expectedHash, std::vector<CSyncErrorMessage::S_m_PlayerNames>& playerNames) 233 233 { 234 234 NETTURN_LOG((L"OnSyncError(%d, %hs)\n", turn, Hexify(expectedHash).c_str())); 235 235 … … 252 252 DisplayOOSError(turn, hash, expectedHashHex, false, &playerNames, &path); 253 253 } 254 254 255 void C NetTurnManager::DisplayOOSError(u32 turn, const CStr& hash, const CStr& expectedHash, bool isReplay, std::vector<CSyncErrorMessage::S_m_PlayerNames>* playerNames = NULL, OsPath* path = NULL)255 void CTurnManager::DisplayOOSError(u32 turn, const CStr& hash, const CStr& expectedHash, bool isReplay, std::vector<CSyncErrorMessage::S_m_PlayerNames>* playerNames = NULL, OsPath* path = NULL) 256 256 { 257 257 m_HasSyncError = true; 258 258 … … 277 277 g_GUI->DisplayMessageBox(600, 350, L"Sync error", wstring_from_utf8(msg.str())); 278 278 } 279 279 280 void C NetTurnManager::Interpolate(float simFrameLength, float realFrameLength)280 void CTurnManager::Interpolate(float simFrameLength, float realFrameLength) 281 281 { 282 282 // TODO: using m_TurnLength might be a bit dodgy when length changes - maybe 283 283 // we need to save the previous turn length? … … 291 291 m_Simulation2.Interpolate(simFrameLength, offset, realFrameLength); 292 292 } 293 293 294 void C NetTurnManager::AddCommand(int client, int player, JS::HandleValue data, u32 turn)294 void CTurnManager::AddCommand(int client, int player, JS::HandleValue data, u32 turn) 295 295 { 296 296 NETTURN_LOG((L"AddCommand(client=%d player=%d turn=%d)\n", client, player, turn)); 297 297 … … 305 305 m_QueuedCommands[turn - (m_CurrentTurn+1)][client].emplace_back(player, m_Simulation2.GetScriptInterface().GetContext(), data); 306 306 } 307 307 308 void C NetTurnManager::FinishedAllCommands(u32 turn, u32 turnLength)308 void CTurnManager::FinishedAllCommands(u32 turn, u32 turnLength) 309 309 { 310 310 NETTURN_LOG((L"FinishedAllCommands(%d, %d)\n", turn, turnLength)); 311 311 … … 314 314 m_TurnLength = turnLength; 315 315 } 316 316 317 bool C NetTurnManager::TurnNeedsFullHash(u32 turn)317 bool CTurnManager::TurnNeedsFullHash(u32 turn) 318 318 { 319 319 // Check immediately for errors caused by e.g. inconsistent game versions 320 320 // (The hash is computed after the first sim update, so we start at turn == 1) … … 330 330 return false; 331 331 } 332 332 333 void C NetTurnManager::EnableTimeWarpRecording(size_t numTurns)333 void CTurnManager::EnableTimeWarpRecording(size_t numTurns) 334 334 { 335 335 m_TimeWarpStates.clear(); 336 336 m_TimeWarpNumTurns = numTurns; 337 337 } 338 338 339 void C NetTurnManager::RewindTimeWarp()339 void CTurnManager::RewindTimeWarp() 340 340 { 341 341 if (m_TimeWarpStates.empty()) 342 342 return; … … 352 352 ResetState(0, 1); 353 353 } 354 354 355 void C NetTurnManager::QuickSave()355 void CTurnManager::QuickSave() 356 356 { 357 357 TIMER(L"QuickSave"); 358 358 … … 373 373 374 374 } 375 375 376 void C NetTurnManager::QuickLoad()376 void CTurnManager::QuickLoad() 377 377 { 378 378 TIMER(L"QuickLoad"); 379 379 … … 401 401 402 402 403 403 CNetClientTurnManager::CNetClientTurnManager(CSimulation2& simulation, CNetClient& client, int clientId, IReplayLogger& replay) : 404 C NetTurnManager(simulation, DEFAULT_TURN_LENGTH_MP, clientId, replay), m_NetClient(client)404 CTurnManager(simulation, DEFAULT_TURN_LENGTH_MP, clientId, replay), m_NetClient(client) 405 405 { 406 406 } 407 407 … … 470 470 } 471 471 472 472 473 C NetLocalTurnManager::CNetLocalTurnManager(CSimulation2& simulation, IReplayLogger& replay) :474 C NetTurnManager(simulation, DEFAULT_TURN_LENGTH_SP, 0, replay)473 CLocalTurnManager::CLocalTurnManager(CSimulation2& simulation, IReplayLogger& replay) : 474 CTurnManager(simulation, DEFAULT_TURN_LENGTH_SP, 0, replay) 475 475 { 476 476 } 477 477 478 void C NetLocalTurnManager::PostCommand(JS::HandleValue data)478 void CLocalTurnManager::PostCommand(JS::HandleValue data) 479 479 { 480 480 // Add directly to the next turn, ignoring COMMAND_DELAY, 481 481 // because we don't need to compensate for network latency … … 482 482 AddCommand(m_ClientId, m_PlayerId, data, m_CurrentTurn + 1); 483 483 } 484 484 485 void C NetLocalTurnManager::NotifyFinishedOwnCommands(u32 turn)485 void CLocalTurnManager::NotifyFinishedOwnCommands(u32 turn) 486 486 { 487 487 FinishedAllCommands(turn, m_TurnLength); 488 488 } 489 489 490 void C NetLocalTurnManager::NotifyFinishedUpdate(u32 UNUSED(turn))490 void CLocalTurnManager::NotifyFinishedUpdate(u32 UNUSED(turn)) 491 491 { 492 492 #if 0 // this hurts performance and is only useful for verifying log replays 493 493 std::string hash; … … 499 499 #endif 500 500 } 501 501 502 void C NetLocalTurnManager::OnSimulationMessage(CSimulationMessage* UNUSED(msg))502 void CLocalTurnManager::OnSimulationMessage(CSimulationMessage* UNUSED(msg)) 503 503 { 504 504 debug_warn(L"This should never be called"); 505 505 } 506 506 507 C NetReplayTurnManager::CNetReplayTurnManager(CSimulation2& simulation, IReplayLogger& replay) :508 C NetLocalTurnManager(simulation, replay)507 CReplayTurnManager::CReplayTurnManager(CSimulation2& simulation, IReplayLogger& replay) : 508 CLocalTurnManager(simulation, replay) 509 509 { 510 510 } 511 511 512 void C NetReplayTurnManager::StoreReplayCommand(u32 turn, int player, const std::string& command)512 void CReplayTurnManager::StoreReplayCommand(u32 turn, int player, const std::string& command) 513 513 { 514 514 // Using the pair we make sure that commands per turn will be processed in the correct order 515 515 m_ReplayCommands[turn].emplace_back(player, command); 516 516 } 517 517 518 void C NetReplayTurnManager::StoreReplayHash(u32 turn, const std::string& hash, bool quick)518 void CReplayTurnManager::StoreReplayHash(u32 turn, const std::string& hash, bool quick) 519 519 { 520 520 m_ReplayHash[turn] = std::make_pair(hash, quick); 521 521 } 522 522 523 void C NetReplayTurnManager::StoreReplayTurnLength(u32 turn, u32 turnLength)523 void CReplayTurnManager::StoreReplayTurnLength(u32 turn, u32 turnLength) 524 524 { 525 525 m_ReplayTurnLengths[turn] = turnLength; 526 526 … … 529 529 m_TurnLength = m_ReplayTurnLengths[0]; 530 530 } 531 531 532 void C NetReplayTurnManager::StoreFinalReplayTurn(u32 turn)532 void CReplayTurnManager::StoreFinalReplayTurn(u32 turn) 533 533 { 534 534 m_FinalTurn = turn; 535 535 } 536 536 537 void C NetReplayTurnManager::NotifyFinishedUpdate(u32 turn)537 void CReplayTurnManager::NotifyFinishedUpdate(u32 turn) 538 538 { 539 539 if (turn == 1 && m_FinalTurn == 0) 540 540 g_GUI->SendEventToAll("ReplayFinished"); … … 560 560 DisplayOOSError(turn, hash, expectedHash, true); 561 561 } 562 562 563 void C NetReplayTurnManager::DoTurn(u32 turn)563 void CReplayTurnManager::DoTurn(u32 turn) 564 564 { 565 565 debug_printf("Executing turn %u of %u\n", turn, m_FinalTurn); 566 566 -
source/network/NetTurnManager.h
36 36 class IReplayLogger; 37 37 38 38 /* 39 * This file deals with the logic of the networkturn system. The basic idea is as in39 * This file deals with the logic of the turn system. The basic idea is as in 40 40 * http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php?print=1 41 41 * 42 42 * Each player performs the simulation for turn N. … … 55 55 /** 56 56 * Common network turn system (used by clients and offline games). 57 57 */ 58 class C NetTurnManager58 class CTurnManager 59 59 { 60 NONCOPYABLE(C NetTurnManager);60 NONCOPYABLE(CTurnManager); 61 61 public: 62 62 /** 63 63 * Construct for a given network session ID. 64 64 */ 65 C NetTurnManager(CSimulation2& simulation, u32 defaultTurnLength, int clientId, IReplayLogger& replay);65 CTurnManager(CSimulation2& simulation, u32 defaultTurnLength, int clientId, IReplayLogger& replay); 66 66 67 virtual ~C NetTurnManager() { }67 virtual ~CTurnManager() { } 68 68 69 69 void ResetState(u32 newCurrentTurn, u32 newReadyTurn); 70 70 … … 205 205 206 206 207 207 /** 208 * Implementation of C NetTurnManager for network clients.208 * Implementation of CTurnManager for network clients. 209 209 */ 210 class CNetClientTurnManager : public C NetTurnManager210 class CNetClientTurnManager : public CTurnManager 211 211 { 212 212 public: 213 213 CNetClientTurnManager(CSimulation2& simulation, CNetClient& client, int clientId, IReplayLogger& replay); … … 230 230 }; 231 231 232 232 /** 233 * Implementation of C NetTurnManager for offline games.233 * Implementation of CTurnManager for offline games. 234 234 */ 235 class C NetLocalTurnManager : public CNetTurnManager235 class CLocalTurnManager : public CTurnManager 236 236 { 237 237 public: 238 C NetLocalTurnManager(CSimulation2& simulation, IReplayLogger& replay);238 CLocalTurnManager(CSimulation2& simulation, IReplayLogger& replay); 239 239 240 240 virtual void OnSimulationMessage(CSimulationMessage* msg); 241 241 … … 250 250 251 251 252 252 /** 253 * Implementation of C NetTurnManager for replay games.253 * Implementation of CTurnManager for replay games. 254 254 */ 255 class C NetReplayTurnManager : public CNetLocalTurnManager255 class CReplayTurnManager : public CLocalTurnManager 256 256 { 257 257 public: 258 C NetReplayTurnManager(CSimulation2& simulation, IReplayLogger& replay);258 CReplayTurnManager(CSimulation2& simulation, IReplayLogger& replay); 259 259 260 260 void StoreReplayCommand(u32 turn, int player, const std::string& command); 261 261 -
source/network/tests/test_Net.h
310 310 wait(clients, 100); 311 311 312 312 // (This SetTurnLength thing doesn't actually detect errors unless you change 313 // C NetTurnManager::TurnNeedsFullHash to always return true)313 // CTurnManager::TurnNeedsFullHash to always return true) 314 314 315 315 { 316 316 JS::RootedValue cmd(cx); -
source/ps/Game.cpp
87 87 if (m_GameView) 88 88 m_World->GetUnitManager().SetObjectManager(m_GameView->GetObjectManager()); 89 89 90 m_TurnManager = new C NetLocalTurnManager(*m_Simulation2, GetReplayLogger()); // this will get replaced if we're a net server/client90 m_TurnManager = new CLocalTurnManager(*m_Simulation2, GetReplayLogger()); // this will get replaced if we're a net server/client 91 91 92 92 m_Simulation2->LoadDefaultScripts(); 93 93 } … … 110 110 delete m_ReplayStream; 111 111 } 112 112 113 void CGame::SetTurnManager(C NetTurnManager* turnManager)113 void CGame::SetTurnManager(CTurnManager* turnManager) 114 114 { 115 115 if (m_TurnManager) 116 116 delete m_TurnManager; … … 127 127 ENSURE(!m_ReplayPath.empty()); 128 128 ENSURE(m_ReplayStream); 129 129 130 C NetReplayTurnManager* replayTurnMgr = static_cast<CNetReplayTurnManager*>(GetTurnManager());130 CReplayTurnManager* replayTurnMgr = static_cast<CReplayTurnManager*>(GetTurnManager()); 131 131 132 132 u32 currentTurn = 0; 133 133 std::string type; … … 175 175 m_IsVisualReplay = true; 176 176 ScriptInterface& scriptInterface = m_Simulation2->GetScriptInterface(); 177 177 178 SetTurnManager(new C NetReplayTurnManager(*m_Simulation2, GetReplayLogger()));178 SetTurnManager(new CReplayTurnManager(*m_Simulation2, GetReplayLogger())); 179 179 180 180 m_ReplayPath = replayPath; 181 181 m_ReplayStream = new std::ifstream(m_ReplayPath.c_str()); -
source/ps/Game.h
27 27 class CWorld; 28 28 class CSimulation2; 29 29 class CGameView; 30 class C NetTurnManager;30 class CTurnManager; 31 31 class IReplayLogger; 32 32 struct CColor; 33 33 … … 77 77 */ 78 78 player_id_t m_ViewedPlayerID; 79 79 80 C NetTurnManager* m_TurnManager;80 CTurnManager* m_TurnManager; 81 81 82 82 public: 83 83 CGame(bool disableGraphics = false, bool replayLog = true); … … 185 185 * Replace the current turn manager. 186 186 * This class will take ownership of the pointer. 187 187 */ 188 void SetTurnManager(C NetTurnManager* turnManager);188 void SetTurnManager(CTurnManager* turnManager); 189 189 190 C NetTurnManager* GetTurnManager() const190 CTurnManager* GetTurnManager() const 191 191 { return m_TurnManager; } 192 192 193 193 IReplayLogger& GetReplayLogger() const