Looks good but I have a small doubt about the camera. Florian Köberle a écrit : > This patch fix the issue that characters continue to walk for one player when > the character was walking at the end of the turn. > It also reduces network traffic and makes the code simpler. > --- > lib/wormux/include/WORMUX_action.h | 1 - > src/game/game_blitz.cpp | 16 ++++++---------- > src/game/game_classic.cpp | 16 ++++++---------- > src/include/action_handler.cpp | 15 --------------- > src/team/teams_list.cpp | 3 --- > 5 files changed, 12 insertions(+), 39 deletions(-) > > diff --git a/lib/wormux/include/WORMUX_action.h > b/lib/wormux/include/WORMUX_action.h > index 2b9a9c4..4f6e957 100644 > --- a/lib/wormux/include/WORMUX_action.h > +++ b/lib/wormux/include/WORMUX_action.h > @@ -74,7 +74,6 @@ public: > // ######################################################## > ACTION_PLAYER_CHANGE_WEAPON, > ACTION_PLAYER_CHANGE_CHARACTER, > - ACTION_GAMELOOP_NEXT_TEAM, > ACTION_GAME_CALCULATE_FRAME, > > // ######################################################## > diff --git a/src/game/game_blitz.cpp b/src/game/game_blitz.cpp > index 4e3b6da..06da844 100644 > --- a/src/game/game_blitz.cpp > +++ b/src/game/game_blitz.cpp > @@ -171,17 +171,13 @@ void GameBlitz::__SetState_PLAYING() > > // Select the next team > ASSERT (!IsGameFinished()); > + GetTeamsList().NextTeam(); > > - if (Network::GetInstance()->IsTurnMaster() || > Network::GetInstance()->IsLocal()) { > - > - GetTeamsList().NextTeam(); > - > - // Are we turn master for next turn ? > - if (ActiveTeam().IsLocal() || ActiveTeam().IsLocalAI()) > - Network::GetInstance()->SetTurnMaster(true); > - else > - Network::GetInstance()->SetTurnMaster(false); > - } > + // Are we turn master for next turn ? > + if (ActiveTeam().IsLocal() || ActiveTeam().IsLocalAI()) > + Network::GetInstance()->SetTurnMaster(true); > + else > + Network::GetInstance()->SetTurnMaster(false); > > // initialize counter > Interface::GetInstance()->UpdateTimer(GetCurrentTeam()->second); > diff --git a/src/game/game_classic.cpp b/src/game/game_classic.cpp > index d1009c9..3fad12d 100644 > --- a/src/game/game_classic.cpp > +++ b/src/game/game_classic.cpp > @@ -158,17 +158,13 @@ void GameClassic::__SetState_PLAYING() > > // Select the next team > ASSERT (!IsGameFinished()); > + GetTeamsList().NextTeam(); > > - if (Network::GetInstance()->IsTurnMaster() || > Network::GetInstance()->IsLocal()) { > - > - GetTeamsList().NextTeam(); > - > - // Are we turn master for next turn ? > - if (ActiveTeam().IsLocal() || ActiveTeam().IsLocalAI()) > - Network::GetInstance()->SetTurnMaster(true); > - else > - Network::GetInstance()->SetTurnMaster(false); > - } > + // Are we turn master for next turn ? > + if (ActiveTeam().IsLocal() || ActiveTeam().IsLocalAI()) > + Network::GetInstance()->SetTurnMaster(true); > + else > + Network::GetInstance()->SetTurnMaster(false); > > give_objbox = true; //hack: make it so that there is no more than one > objbox per turn > } > diff --git a/src/include/action_handler.cpp b/src/include/action_handler.cpp > index e144a2a..67731a0 100644 > --- a/src/include/action_handler.cpp > +++ b/src/include/action_handler.cpp > @@ -310,20 +310,6 @@ static void Action_Player_ChangeCharacter (Action *a) > Camera::GetInstance()->FollowObject(&ActiveCharacter(),true); > } > > -static void Action_Game_NextTeam (Action *a) > -{ > - std::string team = a->PopString(); > - GetTeamsList().SetActive(team); > - ActiveTeam().NextCharacter(true); > - Camera::GetInstance()->FollowObject(&ActiveCharacter()); > - > - // Are we turn master for next turn ? > - if (ActiveTeam().IsLocal() || ActiveTeam().IsLocalAI()) > - Network::GetInstance()->SetTurnMaster(true); > - else > - Network::GetInstance()->SetTurnMaster(false); > -} > - > static void Action_Game_CalculateFrame (Action */*a*/) > { > // Nothing to do here: > @@ -952,7 +938,6 @@ void Action_Handler_Init() > // ######################################################## > ActionHandler::GetInstance()->Register > (Action::ACTION_PLAYER_CHANGE_WEAPON, "PLAYER_change_weapon", > &Action_Player_ChangeWeapon); > ActionHandler::GetInstance()->Register > (Action::ACTION_PLAYER_CHANGE_CHARACTER, "PLAYER_change_character", > &Action_Player_ChangeCharacter); > - ActionHandler::GetInstance()->Register (Action::ACTION_GAMELOOP_NEXT_TEAM, > "GAMELOOP_change_team", &Action_Game_NextTeam); > ActionHandler::GetInstance()->Register > (Action::ACTION_GAME_CALCULATE_FRAME, "GAME_calculate_frame", > &Action_Game_CalculateFrame); > > // ######################################################## > diff --git a/src/team/teams_list.cpp b/src/team/teams_list.cpp > index 4f8779e..bc0b82c 100644 > --- a/src/team/teams_list.cpp > +++ b/src/team/teams_list.cpp > @@ -64,9 +64,6 @@ void TeamsList::NextTeam () > > ActiveTeam().NextCharacter(true); > > - Action a(Action::ACTION_GAMELOOP_NEXT_TEAM, next->GetId()); > - Network::GetInstance()->SendActionToAll(a); > - > printf("\nPlaying character : %i %s\n", > ActiveCharacter().GetCharacterIndex(), ActiveCharacter().GetName().c_str()); > printf("Playing team : %i %s\n", ActiveCharacter().GetTeamIndex(), > ActiveTeam().GetName().c_str()); > printf("Alive characters: %i / > %i\n\n",ActiveTeam().NbAliveCharacter(),ActiveTeam().GetNbCharacters()); >
_______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev