Esempio n. 1
0
/**
 * Change the configured music set and reset playback
 * @param index Index of music set to switch to
 */
void ChangeMusicSet(int index)
{
	if (BaseMusic::GetIndexOfUsedSet() == index) return;

	/* Resume playback after switching?
	 * Always if music is already playing, and also if the user is switching
	 * away from an empty music set.
	 * If the user switches away from an empty set, assume it's because they
	 * want to hear music now. */
	bool shouldplay = _song_is_active || (BaseMusic::GetUsedSet()->num_available == 0);
	StopMusic();

	const char *name = BaseMusic::GetSet(index)->name;
	BaseMusic::SetSet(name);
	free(BaseMusic::ini_set);
	BaseMusic::ini_set = stredup(name);

	InitializeMusic();
	ResetPlaylist();
	_settings_client.music.playing = shouldplay;

	InvalidateWindowData(WC_MUSIC_TRACK_SELECTION, 0);
	InvalidateWindowData(WC_MUSIC_WINDOW, 0);
	InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_GAME_OPTIONS, 0, true);
}
Esempio n. 2
0
	//----------------------------------------------------------------------------------------------------
	EEMusic::EEMusic()
		:
		m_totalBytes(0),
		m_totalSamples(0),
		m_totalTime(0.f),
		m_beginSamples(0)
	{
		InitializeMusic();
	}
Esempio n. 3
0
	//----------------------------------------------------------------------------------------------------
	EEMusic::EEMusic(const std::string& _fileName)
		:
		m_totalBytes(0),
		m_totalSamples(0),
		m_totalTime(0.f),
		m_beginSamples(0)
	{
		InitializeMusic();

		LoadMusic(_fileName.c_str());
	}
Esempio n. 4
0
	//----------------------------------------------------------------------------------------------------
	EEMusic::EEMusic(const char* _fileName)
		:
		m_totalBytes(0),
		m_totalSamples(0),
		m_totalTime(0.f),
		m_beginSamples(0)
	{
		InitializeMusic();

		LoadMusic(_fileName);
	}
Esempio n. 5
0
	//----------------------------------------------------------------------------------------------------
	EEMusic::EEMusic(const WAVEFORMATEX& _format)
		:
		m_format(_format),
		m_totalBytes(0),
		m_totalSamples(0),
		m_totalTime(0.f),
		m_beginSamples(0)
	{
		InitializeMusic();

		s_XAudio2->CreateSourceVoice(&m_sourceVoice, &m_format);
	}
Esempio n. 6
0
void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settings)
{
	/* Make sure there isn't any window that can influence anything
	 * related to the new game we're about to start/load. */
	UnInitWindowSystem();

	AllocateMap(size_x, size_y);

	_pause_mode = PM_UNPAUSED;
	_fast_forward = 0;
	_tick_counter = 0;
	_cur_tileloop_tile = 0;
	_thd.redsq = INVALID_TILE;
	if (reset_settings) MakeNewgameSettingsLive();

	if (reset_date) {
		SetDate(ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1), 0);
		InitializeOldNames();
	}

	PoolBase::Clean(PT_NORMAL);

	ResetPersistentNewGRFData();

	InitializeSound();
	InitializeMusic();

	InitializeVehicles();

	InitNewsItemStructs();
	InitializeLandscape();
	InitializeRailGui();
	InitializeRoadGui();
	InitializeAirportGui();
	InitializeDockGui();
	InitializeObjectGui();
	InitializeAIGui();
	InitializeTrees();
	InitializeIndustries();
	InitializeObjects();
	InitializeBuildingCounts();

	InitializeNPF();

	InitializeCompanies();
	AI::Initialize();
	Game::Initialize();
	InitializeCheats();

	InitTextEffects();
#ifdef ENABLE_NETWORK
	NetworkInitChatMessage();
#endif /* ENABLE_NETWORK */
	InitializeAnimatedTiles();

	InitializeEconomy();

	ResetObjectToPlace();

	GamelogReset();
	GamelogStartAction(GLAT_START);
	GamelogRevision();
	GamelogMode();
	GamelogGRFAddList(_grfconfig);
	GamelogStopAction();
}