Example #1
0
bool GameModeInfo::fromString( const std::string & str) {
    m_generalGameType = 0;
    m_name = "";

    if(str == "") {
        m_mode = NULL;
        return true;
    }

    bool fail = false;
    int num = from_string<int>(str, fail);
    if(!fail) {
        // interpret num as gamemode index
        m_mode = GameMode((GameModeIndex)num);
        if(m_mode) m_name = m_mode->Name();
    }
    else {
        // interpret str as name
        m_name = str;
        m_mode = GameMode(m_name);
    }

    if(m_mode) m_generalGameType = m_mode->GeneralGameType();
    return true;
}
Example #2
0
void CDynGameData::SetupLevelStart()
{
	DEBUG0("CDynGameData::SetupLevelStart: Reset calls\n");
	Reset();

	/* Setup level*/
	if (iNetworkMode!=ENetworkModeClient)
	{
		iRuntimeData->Level().Load( iGameData->Options()->EpisodeList()->Episode( iEpisode, GameMode()->DMEpisodes() )->Level(iCurrentLevel) );

		iStatistics->LevelStats( iCurrentLevel ).iLevelInfo = iRuntimeData->Level().iGeneralLevelInfo;

		// initialize rest of the player later
		PlacePlayersForLevel();

		if ( iGameData->Options()->Data().iEnemiesOnGame || !GameMode()->DisableEnemiesPossible() ) 
		{
			iRuntimeData->InitEnemies();
		}

		iRuntimeData->PlaceGameCrates( GameMode()->DMCrates() );

		if (GameMode()->RandomPlacePlayers())
			for(int a=0; a<iLocalPlayer.size(); a++) 
				iLocalPlayer[a]->RandomPlace();
	} 

	iNextLevel=0;
	SetMessageWritingMode(false);
}
Example #3
0
void CDynGameData::SetupPlayers() 
{
	int b;

	for(b = 0; b < iLocalPlayer.size(); b++)
	{
		CPlayer* pl = iLocalPlayer[b];

		Statistics()->AddPlayer( pl , true );

		if ( strlen( iOptions->Data().iName[b]) <= 0 )
			strcpy(pl->iName,KUnknownSoldier );
		else
//			strcpy(pl->iName,iOptions->Data().iName[b]);
			pl->SetName(iOptions->Data().iName[b]);

		if (EF_DEBUG)
			pl->iCash = 50000;
		else
            pl->iCash = 500;

		pl->iDead = 0;

		pl->SetColorByIndex( b );

		GameMode()->SetupPlayerEpisode( pl );
	}
}
Example #4
0
void MainWindow::on_StartGameButton_clicked()
{

	close();
	Game game(GameMode(ui->comboBox_mode->currentIndex()),ui->checkBox_sound->isChecked());
	game.start();
	//main code

}
Example #5
0
GameModeInfo::NameWrapper& GameModeInfo::NameWrapper::operator=(const std::string& str) {
    GameModeInfo* info = __OLX_BASETHIS(GameModeInfo, name);

    // NOTE: The difference to fromString is that we don't reset generalgametype/name in case we fail here.
    // Also, we interpret an empty string as the request to reset (gamemodeindex=0).

    bool fail = false;
    int num = (str == "") ? 0 : from_string<int>(str, fail);
    if(!fail) {
        // interpret num as gamemode index
        info->m_mode = GameMode((GameModeIndex)num);
        if(info->m_mode) info->m_name = info->m_mode->Name();
    }
    else {
        // interpret str as name
        info->m_name = str;
        info->m_mode = GameMode(info->m_name);
    }

    if(info->m_mode) info->m_generalGameType = info->m_mode->GeneralGameType();

    return *this;
}
Example #6
0
void CDynGameData::PreparePlayersForLevel() 
{
	const int startPositions = iRuntimeData->Level().StartPositions();

	for(int b = 0; b < iLocalPlayer.size(); b++)
	{
		CPlayer *ply = iLocalPlayer[b];
		ply->Reset(PlayerDrawRect(b));
		ply->Move( 0,0,0, PlayerDrawRect(b) );
		ply->iEnergy = KPlayerMaxEnergy+(ply->iShield*KShieldEnergyAmount);

		GameMode()->SetupPlayerLevel( ply );
	}
}
Example #7
0
GameModeInfo::GameModeInfo() {
    m_mode = GameMode(GM_DEATHMATCH);
    m_generalGameType = 0;
    m_name = "Death Match";
}