[Gcblue-commits] gcb_wx/src/sim Game.cpp,1.73,1.74 tcNetworkView.cpp,1.9,1.10 tcSimState.cpp,1.36,1.
Status: Alpha
Brought to you by:
ddcforge
|
From: Dewitt C. <ddc...@us...> - 2004-04-07 00:54:02
|
Update of /cvsroot/gcblue/gcb_wx/src/sim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25434/src/sim Modified Files: Game.cpp tcNetworkView.cpp tcSimState.cpp Log Message: Index: tcSimState.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/sim/tcSimState.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** tcSimState.cpp 21 Mar 2004 21:03:27 -0000 1.36 --- tcSimState.cpp 7 Apr 2004 00:41:08 -0000 1.37 *************** *** 48,51 **** --- 48,61 ---- /***************************************** tcSimState *******************************/ + /** + * @return singleton instance + */ + tcSimState* tcSimState::Get() + { + static tcSimState instance; + return &instance; + } + + void tcSimState::ChangeHeadingToLocation(long anKey, float afLon, float afLat) { Index: tcNetworkView.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/sim/tcNetworkView.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** tcNetworkView.cpp 5 Apr 2004 02:24:29 -0000 1.9 --- tcNetworkView.cpp 7 Apr 2004 00:41:08 -0000 1.10 *************** *** 1,5 **** /** tcNetworkView.cpp */ /* ! ** Copyright (C) 2003 Dewitt "Cole" Colclough (de...@tw...) ** All rights reserved. --- 1,5 ---- /** tcNetworkView.cpp */ /* ! ** Copyright (C) 2003-2004 Dewitt "Cole" Colclough (de...@tw...) ** All rights reserved. *************** *** 58,62 **** Erase(); ! if (!GetGraphics(pGraphics)) { return false; } --- 58,63 ---- Erase(); ! if (!GetGraphics(pGraphics)) ! { return false; } *************** *** 121,127 **** void tcNetworkView::SendChatText(wxCommandEvent& event) { std::string chatText = event.GetString().c_str(); ! unsigned nConnections = tcMultiplayerInterface::Get()->GetNumConnections(); for (unsigned n=0;n<nConnections;n++) --- 122,146 ---- void tcNetworkView::SendChatText(wxCommandEvent& event) { + tcMultiplayerInterface* multiplayerInterface = tcMultiplayerInterface::Get(); + + bool isServer = multiplayerInterface->IsServer(); std::string chatText = event.GetString().c_str(); ! if (isServer && (multiplayerInterface->IsCommand(chatText))) ! { ! chatBox->Print(chatText.c_str()); ! multiplayerInterface->ProcessCommandServer(chatText); ! return; ! } ! ! /* prepend name tag if server, this is done for clients by server, server has ! ** to do tagging itself */ ! if (isServer) ! { ! chatText = std::string("<") + multiplayerInterface->GetName() + ! std::string("> ") + chatText; ! } ! ! unsigned nConnections = multiplayerInterface->GetNumConnections(); for (unsigned n=0;n<nConnections;n++) *************** *** 131,136 **** } // if server, print chat text locally since no echo comes back ! if (tcMultiplayerInterface::Get()->IsServer()) { chatBox->Print(chatText.c_str()); --- 150,156 ---- } + // if server, print chat text locally since no echo comes back ! if (isServer) { chatBox->Print(chatText.c_str()); Index: Game.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/sim/Game.cpp,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** Game.cpp 5 Apr 2004 02:24:29 -0000 1.73 --- Game.cpp 7 Apr 2004 00:41:08 -0000 1.74 *************** *** 1,20 **** ! /** @file Game.cpp main application class */ ! /** ! * Copyright (C) 2003 Dewitt "Cole" Colclough (de...@tw...) ! * All rights reserved. ! * ! * This file is part of the Global Conflict Blue (GCB) program. ! * GCB is free software; you can redistribute it and/or modify ! * it under the terms of version 2 of the GNU General Public License as ! * published by the Free Software Foundation. ! * ! * GCB is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! * GNU General Public License for more details. ! * ! * You should have received a copy of the GNU General Public License ! * along with GCB; if not, write to the Free Software ! * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ --- 1,20 ---- ! /** @file Game.cpp main application class ! ** ! ** Copyright (C) 2003 Dewitt "Cole" Colclough (de...@tw...) ! ** All rights reserved. ! ** ! ** This file is part of the Global Conflict Blue (GCB) program. ! ** GCB is free software; you can redistribute it and/or modify ! ** it under the terms of version 2 of the GNU General Public License as ! ** published by the Free Software Foundation. ! ** ! ** GCB is distributed in the hope that it will be useful, ! ** but WITHOUT ANY WARRANTY; without even the implied warranty of ! ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! ** GNU General Public License for more details. ! ** ! ** You should have received a copy of the GNU General Public License ! ** along with GCB; if not, write to the Free Software ! ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ *************** *** 111,119 **** Show(FALSE); glCanvas = new wxGLCanvas(this, -1, wxPoint(0,0), size, 0, "GLCanvas", 0, wxNullPalette); glCanvas->SetBackgroundColour(*wxBLACK); pythonInterface = new tcSimPythonInterface(); ! goalTracker = mcSimState.GetGoalTracker(); mcOptions.Init(); --- 111,121 ---- Show(FALSE); + simState = tcSimState::Get(); + glCanvas = new wxGLCanvas(this, -1, wxPoint(0,0), size, 0, "GLCanvas", 0, wxNullPalette); glCanvas->SetBackgroundColour(*wxBLACK); pythonInterface = new tcSimPythonInterface(); ! goalTracker = simState->GetGoalTracker(); mcOptions.Init(); *************** *** 218,222 **** UninitGame(); ! mcSimState.RandInit(); // generate new random scenario // reset time --- 220,224 ---- UninitGame(); ! simState->RandInit(); // generate new random scenario // reset time *************** *** 397,407 **** tcGameObject::SetGameObjectDatabase(&mcDatabase); // added to allow objects to init themselves ! mcSimState.AttachDB(&mcDatabase); ! mcSimState.AttachMapData(&mcMapData); ! mcSimState.AttachPythonInterface(pythonInterface); ! mcSimState.AttachUserInfo(&mcUserInfo); pythonInterface->AttachMapData(&mcMapData); ! pythonInterface->AttachSimState(&mcSimState); tcLauncherState::mpDatabase = &mcDatabase; --- 399,409 ---- tcGameObject::SetGameObjectDatabase(&mcDatabase); // added to allow objects to init themselves ! simState->AttachDB(&mcDatabase); ! simState->AttachMapData(&mcMapData); ! simState->AttachPythonInterface(pythonInterface); ! simState->AttachUserInfo(&mcUserInfo); pythonInterface->AttachMapData(&mcMapData); ! pythonInterface->AttachSimState(simState); tcLauncherState::mpDatabase = &mcDatabase; *************** *** 426,430 **** /* ** Miscellaneous startup * **/ ! mcSimState.RandInit(); meGameMode = GM_START; --- 428,432 ---- /* ** Miscellaneous startup * **/ ! simState->RandInit(); meGameMode = GM_START; *************** *** 626,630 **** wxPoint(0,0), frameSize, "ScenarioSelect", startView); ! scenarioSelectView->AttachSimState(&mcSimState); scenarioSelectView->LoadBackgroundImage("start_background.jpg"); --- 628,632 ---- wxPoint(0,0), frameSize, "ScenarioSelect", startView); ! scenarioSelectView->AttachSimState(simState); scenarioSelectView->LoadBackgroundImage("start_background.jpg"); *************** *** 698,702 **** hookInfo->LoadBackgroundImage("console_b.jpg"); ! hookInfo->AttachSimState(&mcSimState); hookInfo->AttachOptions(&mcOptions); hookInfo->AttachUserInfo(&mcUserInfo); --- 700,704 ---- hookInfo->LoadBackgroundImage("console_b.jpg"); ! hookInfo->AttachSimState(simState); hookInfo->AttachOptions(&mcOptions); hookInfo->AttachUserInfo(&mcUserInfo); *************** *** 717,721 **** objectControl->AttachCommandInterface(&mcCommandQueue); ! objectControl->AttachSimState(&mcSimState); objectControl->AttachOptions(&mcOptions); objectControl->AttachUserInfo(&mcUserInfo); --- 719,723 ---- objectControl->AttachCommandInterface(&mcCommandQueue); ! objectControl->AttachSimState(simState); objectControl->AttachOptions(&mcOptions); objectControl->AttachUserInfo(&mcUserInfo); *************** *** 739,743 **** oobView->AttachMapView(tacticalMap); ! oobView->AttachSimState(&mcSimState); oobView->mnAlliance = mcUserInfo.GetOwnAlliance(); // TODO: make this configurable oobView->SetSkipCount(mcOptions.renderSkipCount); --- 741,745 ---- oobView->AttachMapView(tacticalMap); ! oobView->AttachSimState(simState); oobView->mnAlliance = mcUserInfo.GetOwnAlliance(); // TODO: make this configurable oobView->SetSkipCount(mcOptions.renderSkipCount); *************** *** 839,860 **** tcString s; ! mcSimState.AttachMapData(&mcMapData); ! mcSimState.AttachPythonInterface(pythonInterface); ! mcSimState.AttachUserInfo(&mcUserInfo); ! mcSimState.AttachCommandInterface(&mcCommandQueue); ! s.Format("Starting scenario: %s",mcSimState.msScenarioInfo.mzName); ConsoleMessage(s.GetBuffer()); ! mcSimState.PrintToFile("log\\simstate_text.txt"); wxASSERT(infoConsole); wxASSERT(director); pythonInterface->AttachConsole(infoConsole); ! pythonInterface->AttachSensorMap(mcSimState.mcSensorMap.GetMap(mcUserInfo.GetOwnAlliance())); pythonInterface->AttachCommandQueue(&mcCommandQueue); ! mcGameView.AttachSimState(&mcSimState); mcGameView.AttachMapView(tacticalMap); mcGameView.AttachUserInfo(&mcUserInfo); --- 841,862 ---- tcString s; ! simState->AttachMapData(&mcMapData); ! simState->AttachPythonInterface(pythonInterface); ! simState->AttachUserInfo(&mcUserInfo); ! simState->AttachCommandInterface(&mcCommandQueue); ! s.Format("Starting scenario: %s",simState->msScenarioInfo.mzName); ConsoleMessage(s.GetBuffer()); ! simState->PrintToFile("log\\simstate_text.txt"); wxASSERT(infoConsole); wxASSERT(director); pythonInterface->AttachConsole(infoConsole); ! pythonInterface->AttachSensorMap(simState->mcSensorMap.GetMap(mcUserInfo.GetOwnAlliance())); pythonInterface->AttachCommandQueue(&mcCommandQueue); ! mcGameView.AttachSimState(simState); mcGameView.AttachMapView(tacticalMap); mcGameView.AttachUserInfo(&mcUserInfo); *************** *** 862,866 **** mcGameView.AttachObjectControl(objectControl); ! viewer->AttachSimState(&mcSimState); viewer->AttachMapData(&mcMapData); --- 864,868 ---- mcGameView.AttachObjectControl(objectControl); ! viewer->AttachSimState(simState); viewer->AttachMapData(&mcMapData); *************** *** 877,881 **** void tcGame::SaveScenario(char *azFilePath) { ! if (mcSimState.Serialize(azFilePath,false) == false) { if (!DirectoryExists(SCENARIO_PATH)) --- 879,883 ---- void tcGame::SaveScenario(char *azFilePath) { ! if (simState->Serialize(azFilePath,false) == false) { if (!DirectoryExists(SCENARIO_PATH)) *************** *** 883,887 **** _mkdir(SCENARIO_PATH); ! if(mcSimState.Serialize(azFilePath,false)==false) { WTLC("Failed to save scenario file"); --- 885,889 ---- _mkdir(SCENARIO_PATH); ! if(simState->Serialize(azFilePath,false)==false) { WTLC("Failed to save scenario file"); *************** *** 976,982 **** { DateZulu dz; ! mcSimState.GetDateZulu(dz); dz.addTime(delta_s); ! mcSimState.SetDateTime(dz); } --- 978,984 ---- { DateZulu dz; ! simState->GetDateZulu(dz); dz.addTime(delta_s); ! simState->SetDateTime(dz); } *************** *** 1010,1014 **** tcMultiplayerInterface::Get()->Update(); ! startView->mbPlayEnabled = mcSimState.msScenarioInfo.mbLoaded; if (meScreenMode != lastMode) --- 1012,1016 ---- tcMultiplayerInterface::Get()->Update(); ! startView->mbPlayEnabled = simState->msScenarioInfo.mbLoaded; if (meScreenMode != lastMode) *************** *** 1228,1249 **** if ((nPerformanceCount.QuadPart-nLastCount) >= ndt) { ! mcSimState.Update(); ! gameTime = mcSimState.GetTime(); ! mcSimState.GetDateZulu(gameDateZulu); if (!mbPaused) { gameTime += fdt; gameDateZulu.addTime(fdt*dateZuluScale); ! mcSimState.SetTime(gameTime); ! mcSimState.SetDateTime(gameDateZulu); if (accelerateTime) { for (int step=0;step<accelerateTime;step++) { ! mcSimState.Update(); gameTime += fdt; gameDateZulu.addTime(fdt*dateZuluScale); ! mcSimState.SetTime(gameTime); ! mcSimState.SetDateTime(gameDateZulu); } } --- 1230,1251 ---- if ((nPerformanceCount.QuadPart-nLastCount) >= ndt) { ! simState->Update(); ! gameTime = simState->GetTime(); ! simState->GetDateZulu(gameDateZulu); if (!mbPaused) { gameTime += fdt; gameDateZulu.addTime(fdt*dateZuluScale); ! simState->SetTime(gameTime); ! simState->SetDateTime(gameDateZulu); if (accelerateTime) { for (int step=0;step<accelerateTime;step++) { ! simState->Update(); gameTime += fdt; gameDateZulu.addTime(fdt*dateZuluScale); ! simState->SetTime(gameTime); ! simState->SetDateTime(gameDateZulu); } } *************** *** 1429,1433 **** // check alliance UINT nAlliance; ! mcSimState.GetPlatformAlliance(hookID, nAlliance); if ((mcUserInfo.IsOwnAlliance(nAlliance))||(mcOptions.mnCommandMode == 0)) --- 1431,1435 ---- // check alliance UINT nAlliance; ! simState->GetPlatformAlliance(hookID, nAlliance); if ((mcUserInfo.IsOwnAlliance(nAlliance))||(mcOptions.mnCommandMode == 0)) *************** *** 1985,1995 **** case GC_RESETMAP: WTL("tcGame::ProcessCommand GC_RESETMAP"); ! mcSimState.DeleteAllPlatforms(); ! mcSimState.ClearSensorMaps(); ! mcSimState.RandInit(); break; case GC_ADDRANDPLAT: WTL("tcGame::ProcessCommand GC_ADDRANDPLAT"); ! mcSimState.AddRandomPlatform(); break; case GC_SAVESCEN: --- 1987,1997 ---- case GC_RESETMAP: WTL("tcGame::ProcessCommand GC_RESETMAP"); ! simState->DeleteAllPlatforms(); ! simState->ClearSensorMaps(); ! simState->RandInit(); break; case GC_ADDRANDPLAT: WTL("tcGame::ProcessCommand GC_ADDRANDPLAT"); ! simState->AddRandomPlatform(); break; case GC_SAVESCEN: *************** *** 2020,2036 **** WTL("tcGame::ProcessCommand PC_CHANGEHEADING"); if (mbScenarioEdit) { ! mcSimState.ChangeHeadingForced(tacticalMap->mnHookID,afData); } else { ! mcSimState.ChangeHeading(tacticalMap->mnHookID,afData); } break; case PC_HALFSPEED: WTL("tcGame::ProcessCommand PC_HALFSPEED"); ! mcSimState.ChangeNormSpeed(tacticalMap->mnHookID,0.5f); break; case PC_FULLSPEED: WTL("tcGame::ProcessCommand PC_FULLSPEED"); ! mcSimState.ChangeNormSpeed(tacticalMap->mnHookID,1.0f); break; case PC_GETNEWTARGET: --- 2022,2038 ---- WTL("tcGame::ProcessCommand PC_CHANGEHEADING"); if (mbScenarioEdit) { ! simState->ChangeHeadingForced(tacticalMap->mnHookID,afData); } else { ! simState->ChangeHeading(tacticalMap->mnHookID,afData); } break; case PC_HALFSPEED: WTL("tcGame::ProcessCommand PC_HALFSPEED"); ! simState->ChangeNormSpeed(tacticalMap->mnHookID,0.5f); break; case PC_FULLSPEED: WTL("tcGame::ProcessCommand PC_FULLSPEED"); ! simState->ChangeNormSpeed(tacticalMap->mnHookID,1.0f); break; case PC_GETNEWTARGET: *************** *** 2050,2057 **** tacticalMap->GetMapCmdDatum(p); if (seMode == PLATFORM_TARGET) { ! mcSimState.DesignateTarget(tacticalMap->mnHookID,anData); } else { ! if (mcSimState.DesignateLauncherTarget(tacticalMap->mnHookID,anData,snData2)==false) { tcSound::Get()->PlayEffect(SEFFECT_REJECTBEEP); // failed, repeat command --- 2052,2059 ---- tacticalMap->GetMapCmdDatum(p); if (seMode == PLATFORM_TARGET) { ! simState->DesignateTarget(tacticalMap->mnHookID,anData); } else { ! if (simState->DesignateLauncherTarget(tacticalMap->mnHookID,anData,snData2)==false) { tcSound::Get()->PlayEffect(SEFFECT_REJECTBEEP); // failed, repeat command *************** *** 2079,2089 **** tacticalMap->GetMapCmdDatum(p); if (seMode == PLATFORM_LOCATION) { ! mcSimState.ChangeLocation(tacticalMap->mnHookID,p.x,p.y); } else if (seMode == PLATFORM_DATUM) { ! mcSimState.DesignateDatum(tacticalMap->mnHookID,p); } else { ! mcSimState.DesignateLauncherDatum(tacticalMap->mnHookID,p,snData2); } } --- 2081,2091 ---- tacticalMap->GetMapCmdDatum(p); if (seMode == PLATFORM_LOCATION) { ! simState->ChangeLocation(tacticalMap->mnHookID,p.x,p.y); } else if (seMode == PLATFORM_DATUM) { ! simState->DesignateDatum(tacticalMap->mnHookID,p); } else { ! simState->DesignateLauncherDatum(tacticalMap->mnHookID,p,snData2); } } *************** *** 2091,2105 **** case PC_LAUNCH: WTL("tcGame::ProcessCommand PC_LAUNCH"); ! if (mcSimState.IsLauncherReady(tacticalMap->mnHookID,0)) { ! mcSimState.RequestLaunch(tacticalMap->mnHookID,0); } ! else if (mcSimState.IsLauncherReady(tacticalMap->mnHookID,1)) { ! mcSimState.RequestLaunch(tacticalMap->mnHookID,1); } ! else if (mcSimState.IsLauncherReady(tacticalMap->mnHookID,2)) { ! mcSimState.RequestLaunch(tacticalMap->mnHookID,2); } ! else if (mcSimState.IsLauncherReady(tacticalMap->mnHookID,3)) { ! mcSimState.RequestLaunch(tacticalMap->mnHookID,3); } else { --- 2093,2107 ---- case PC_LAUNCH: WTL("tcGame::ProcessCommand PC_LAUNCH"); ! if (simState->IsLauncherReady(tacticalMap->mnHookID,0)) { ! simState->RequestLaunch(tacticalMap->mnHookID,0); } ! else if (simState->IsLauncherReady(tacticalMap->mnHookID,1)) { ! simState->RequestLaunch(tacticalMap->mnHookID,1); } ! else if (simState->IsLauncherReady(tacticalMap->mnHookID,2)) { ! simState->RequestLaunch(tacticalMap->mnHookID,2); } ! else if (simState->IsLauncherReady(tacticalMap->mnHookID,3)) { ! simState->RequestLaunch(tacticalMap->mnHookID,3); } else { *************** *** 2110,2114 **** case PC_DELETE: WTL("tcGame::ProcessCommand PC_DELETE"); ! mcSimState.DeletePlatform(tacticalMap->mnHookID); tacticalMap->mnHookID = NULL_INDEX; mcHook.SetHookID(NULL_INDEX); --- 2112,2116 ---- case PC_DELETE: WTL("tcGame::ProcessCommand PC_DELETE"); ! simState->DeletePlatform(tacticalMap->mnHookID); tacticalMap->mnHookID = NULL_INDEX; mcHook.SetHookID(NULL_INDEX); |