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

Répondre à