Code Search for Developers
 
 
  

ClientPlayMovesHandler.cpp from Scorched 3D at Krugle


Show ClientPlayMovesHandler.cpp syntax highlighted

////////////////////////////////////////////////////////////////////////////////
//    Scorched3D (c) 2000-2003
//
//    This file is part of Scorched3D.
//
//    Scorched3D is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//    Scorched3D 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 Scorched3D; if not, write to the Free Software
//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
////////////////////////////////////////////////////////////////////////////////

#include <client/ClientPlayMovesHandler.h>
#include <client/ClientState.h>
#include <client/ScorchedClient.h>
#include <engine/ActionController.h>
#include <coms/ComsPlayMovesMessage.h>

ClientPlayMovesHandler *ClientPlayMovesHandler::instance_ = 0;

ClientPlayMovesHandler *ClientPlayMovesHandler::instance()
{
	if (!instance_)
	{
		instance_ = new ClientPlayMovesHandler;
	}
	return instance_;
}

ClientPlayMovesHandler::ClientPlayMovesHandler()
{
	ScorchedClient::instance()->getComsMessageHandler().addHandler(
		"ComsPlayMovesMessage",
		this);
}

ClientPlayMovesHandler::~ClientPlayMovesHandler()
{
}

bool ClientPlayMovesHandler::processMessage(
	NetMessage &message,
	const char *messageType,
	NetBufferReader &reader)
{
	// Read the new shots into the action controller
	ComsPlayMovesMessage playMovesMessage;
	if (!playMovesMessage.readMessage(reader)) return false;

	// Read the moves from the message
	readMessage(playMovesMessage);

	// Seed
	ScorchedClient::instance()->getActionController().getRandom().seed(playMovesMessage.getSeed());

	// Ensure and move to the shot state
	ScorchedClient::instance()->getGameState().stimulate(ClientState::StimWait);
	ScorchedClient::instance()->getGameState().checkStimulate();
	ScorchedClient::instance()->getGameState().stimulate(ClientState::StimShot);
	return true;
}




See more files for this project here

Scorched 3D

Scorched3D is a 3D remake of the popular 2D artillery game Scorched Earth.\r\nScorched3D can be played against the computer, other players and remotely across the internet or LAN.

Project homepage: http://sourceforge.net/projects/scorched3d
Programming language(s): C,C++,XML
License: gpl2

  ClientAddPlayerHandler.cpp
  ClientAddPlayerHandler.h
  ClientAdmin.cpp
  ClientAdmin.h
  ClientChannelManager.cpp
  ClientChannelManager.h
  ClientChannelManagerI.cpp
  ClientChannelManagerI.h
  ClientConnectionAcceptHandler.cpp
  ClientConnectionAcceptHandler.h
  ClientConnectionRejectHandler.cpp
  ClientConnectionRejectHandler.h
  ClientDefenseHandler.cpp
  ClientDefenseHandler.h
  ClientDialog.cpp
  ClientDialog.h
  ClientFileHandler.cpp
  ClientFileHandler.h
  ClientGameStateHandler.cpp
  ClientGameStateHandler.h
  ClientGameStoppedHandler.cpp
  ClientGameStoppedHandler.h
  ClientGiftMoneyHandler.cpp
  ClientGiftMoneyHandler.h
  ClientInitializeHandler.cpp
  ClientInitializeHandler.h
  ClientKeepAliveSender.cpp
  ClientKeepAliveSender.h
  ClientLinesHandler.cpp
  ClientLinesHandler.h
  ClientLoadPlayersState.cpp
  ClientLoadPlayersState.h
  ClientMain.cpp
  ClientMain.h
  ClientMessageHandler.cpp
  ClientMessageHandler.h
  ClientNewGameHandler.cpp
  ClientNewGameHandler.h
  ClientParams.cpp
  ClientParams.h
  ClientPlayMovesHandler.cpp
  ClientPlayMovesHandler.h
  ClientPlayerAimHandler.cpp
  ClientPlayerAimHandler.h
  ClientPlayerStateHandler.cpp
  ClientPlayerStateHandler.h
  ClientPlayerStatusHandler.cpp
  ClientPlayerStatusHandler.h
  ClientRmPlayerHandler.cpp
  ClientRmPlayerHandler.h
  ClientSave.cpp
  ClientSave.h
  ClientScoreHandler.cpp
  ClientScoreHandler.h
  ClientShotState.cpp
  ClientShotState.h
  ClientStartGameHandler.cpp
  ClientStartGameHandler.h
  ClientStartTimerHandler.cpp
  ClientStartTimerHandler.h
  ClientState.cpp
  ClientState.h
  ClientSyncCheckHandler.cpp
  ClientSyncCheckHandler.h
  ClientTargetStateHandler.cpp
  ClientTargetStateHandler.h
  ClientWaitState.cpp
  ClientWaitState.h
  ClientWindowSetup.cpp
  ClientWindowSetup.h
  ScorchedClient.cpp
  ScorchedClient.h