Data Structures | |
| class | DynamicMusicLocationTypes |
| class | DynamicMusicLocationDynamicData |
| class | DynamicMusicTrackData |
| class | DynamicMusicPlayerCategoryPlaybackData |
| class | DynamicMusicPlayerTimeOfDay |
| for backward compatibility More... | |
DEPRECATED.
References Debug::CleanupDrawShapes().
Referenced by ActionTargets::FilterObstructedObjectsEx(), and Trigger::~Trigger().
| protected void DetermineTrackByCategory | ( | EDynamicMusicPlayerCategory | category | ) |
References CALL_CATEGORY_SYSTEM, DetermineTrackByCategory(), g_Game, IsPlaybackActive(), m_CategorySelected, m_DynamicMusicPlayerRegistry, DynamicMusicPlayerRegistry::m_TracksCredits, DynamicMusicPlayerRegistry::m_TracksLocationDynamic, m_TracksLocationMatchedPlayerInside, DynamicMusicPlayerRegistry::m_TracksMenu, DynamicMusicPlayerRegistry::m_TracksTime, and SetSelectedTrackFromCategory().
Referenced by DetermineTrackByCategory(), OnCategorySet(), and OnUpdate().
| void DynamicMusicPlayer | ( | DynamicMusicPlayerRegistry | configuration | ) |
fadeout settings
References WorldDataDaytime::ANY, CALL_CATEGORY_SYSTEM, g_Game, ScriptInvoker::Insert(), m_CategorySelected, m_Created, m_DynamicMusicPlayerRegistry, m_FadeoutTimeElapsed, m_FadeoutTimeRequested, m_LastPlayedTrackBufferPerCategory, DayZProfilesOptions::m_OnIntOptionChanged, m_TracksLocationMatchedPlayerInside, m_TracksLocationStaticCached, m_TracksLocationStaticPrioritizedCached, OnProfileOptionChanged(), RefreshTracksCache(), SetTimeOfDate(), and TRACKS_BUFFER_HISTORY_SIZE.
Referenced by MissionBaseWorld::MissionBase().
| private void FadeoutTrack | ( | float | fadeoutSeconds | ) |
References m_CurrentTrack, m_FadeoutInProgress, m_FadeoutTimeRequested, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, and ResetWaitingQueue().
Referenced by SetCategory().
| private float GetMaxWaitTimePerCategory | ( | EDynamicMusicPlayerCategory | category | ) |
References m_DynamicMusicPlayerRegistry, and DynamicMusicPlayerRegistry::m_SettingsByCategory.
Referenced by GetWaitTimeForCategory().
| private float GetMinWaitTimePerCategory | ( | EDynamicMusicPlayerCategory | category | ) |
References m_DynamicMusicPlayerRegistry, and DynamicMusicPlayerRegistry::m_SettingsByCategory.
Referenced by GetWaitTimeForCategory().
| private float GetPreviousTrackFadeoutSeconds | ( | EDynamicMusicPlayerCategory | category | ) |
References m_DynamicMusicPlayerRegistry, and DynamicMusicPlayerRegistry::m_SettingsByCategory.
Referenced by SetCategory().
| protected float GetWaitTimeForCategory | ( | EDynamicMusicPlayerCategory | category | ) |
References GetMaxWaitTimePerCategory(), GetMinWaitTimePerCategory(), and Math::RandomFloatInclusive().
Referenced by SetSelectedTrackFromCategory().
| protected bool IsPlaybackActive | ( | ) |
References m_SoundPlaying, and m_WaitingForPlayback.
Referenced by DetermineTrackByCategory(), and OnUpdate().
| protected bool IsPriotitizedCategorySelected | ( | ) |
References m_CategorySelected.
Referenced by OnFadeoutFinished(), OnLocationMatched(), and OnUpdate().
| protected void OnCategorySet | ( | EDynamicMusicPlayerCategory | category, |
| bool | forced | ||
| ) |
References DetermineTrackByCategory(), and EnumTools::EnumToString().
Referenced by SetCategory().
| protected void OnFadeoutFinished | ( | EDynamicMusicPlayerCategory | category | ) |
| protected void OnLocationMatched | ( | EDynamicMusicPlayerCategory | category, |
| bool | isPriorityLocation | ||
| ) |
play prio location track (no fadeout)
play location track (no fadeout)
References IsPriotitizedCategorySelected(), DynamicMusicPlayerCategoryPlaybackData::m_Category, m_CategorySelected, DynamicMusicPlayerCategoryPlaybackData::m_FadeOut, DynamicMusicPlayerCategoryPlaybackData::m_Forced, m_SoundPlaying, m_WaitingForPlayback, ResetWaitingQueue(), and SetCategory().
Referenced by OnUpdate().
| protected void OnNextTrackSelected | ( | DynamicMusicTrackData | track, |
| float | waitTime | ||
| ) |
References CALL_CATEGORY_SYSTEM, g_Game, m_Created, m_CurrentTrack, DynamicMusicTrackData::m_SoundSet, m_WaitingForPlayback, and PlayTrack().
Referenced by SetSelectedTrackFromCategory().
| protected void OnProfileOptionChanged | ( | EDayZProfilesOptions | option, |
| int | value | ||
| ) |
References m_CategorySelected, ResetWaitingQueue(), and StopTrack().
Referenced by DynamicMusicPlayer().
| protected void OnTrackEnded | ( | ) |
References m_CurrentTrack, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, and m_WaitingForPlayback.
Referenced by OnFadeoutFinished(), and PlayTrack().
| protected void OnTrackStopped | ( | ) |
stopped only by fadeouts
References m_CurrentTrack, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, and m_WaitingForPlayback.
Referenced by PlayTrack().
| void OnUpdate | ( | float | timeslice | ) |
handle fadeouts
caching of locations based on distance from player (<= LOCATION_DISTANCE_MAX)
no playback at all OR playback of non-prioritized category
works as default category selector
References Math::Clamp(), DetermineTrackByCategory(), g_Game, DiagMenu::GetBool(), IsPlaybackActive(), IsPriotitizedCategorySelected(), DynamicMusicPlayerCategoryPlaybackData::m_Category, m_CategorySelected, m_DynamicMusicPlayerRegistry, m_FadeoutInProgress, m_FadeoutTimeElapsed, m_FadeoutTimeRequested, m_PlayerPosition, m_TickFadeOutProcessingElapsed, m_TickLocationCacheUpdateElapsed, m_TickLocationUpdateElapsed, m_TickPriorityLocationUpdateElapsed, m_TickTimeOfDateElapsed, m_TracksLocationStaticCached, m_TracksLocationStaticPrioritizedCached, OnFadeoutFinished(), OnLocationMatched(), PlayerInsideOfLocationFilter(), ProcessFadeOut(), RefreshTracksCache(), SetCategory(), SetTimeOfDate(), TICK_FADEOUT_PROCESSOR_SECONDS, TICK_LOCATION_CACHE_UPDATE_SECONDS, TICK_LOCATION_UPDATE_SECONDS, TICK_PRIORITY_LOCATION_UPDATE_SECONDS, and TICK_TIME_OF_DATE_UPDATE_SECONDS.
| private bool PlayerInsideOfLocationFilter | ( | array< ref DynamicMusicTrackData > | locations | ) |
References INDEX_NOT_FOUND, Math::IsPointInRectangle(), m_PlayerPosition, m_TracksLocationMatchedPlayerInside, and Math2D().
Referenced by OnUpdate().
| private bool PlayerInsideOfLocationFilter | ( | map< int, ref DynamicMusicLocationDynamicData > | locations | ) |
References Math::IsPointInRectangle(), and m_PlayerPosition.
| private void PlayTrack | ( | DynamicMusicTrackData | track | ) |
register callbacks
invalid sound set is used
References GetGame(), CGame::GetSoundScene(), m_CurrentTrack, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, m_WaitingForPlayback, OnTrackEnded(), OnTrackStopped(), AbstractSoundScene::Play2D(), SoundObject::SetKind(), SoundObjectBuilder(), and SoundParams().
Referenced by OnNextTrackSelected(), and ResetWaitingQueue().
| private void ProcessFadeOut | ( | ) |
References m_FadeoutTimeElapsed, m_FadeoutTimeRequested, and m_SoundPlaying.
Referenced by OnUpdate().
| private void RefreshTracksCache | ( | ) |
References Math::CenterOfRectangle(), vector::Distance(), LOCATION_DISTANCE_MAX, m_DynamicMusicPlayerRegistry, m_PlayerPosition, DynamicMusicPlayerRegistry::m_TracksLocationStatic, m_TracksLocationStaticCached, DynamicMusicPlayerRegistry::m_TracksLocationStaticPrioritized, and m_TracksLocationStaticPrioritizedCached.
Referenced by DynamicMusicPlayer(), and OnUpdate().
| private void ResetWaitingQueue | ( | ) |
References CALL_CATEGORY_SYSTEM, g_Game, m_CurrentTrack, m_WaitingForPlayback, and PlayTrack().
Referenced by FadeoutTrack(), OnLocationMatched(), and OnProfileOptionChanged().
| private int SelectRandomTrackIndexFromCategory | ( | EDynamicMusicPlayerCategory | category, |
| int | lookupType, | ||
| notnull array< ref DynamicMusicTrackData > | tracks | ||
| ) |
References INDEX_NOT_FOUND, m_LastPlayedTrackBufferPerCategory, Math::RandomInt(), and TRACKS_BUFFER_HISTORY_SIZE.
Referenced by SetSelectedTrackFromCategory().
| private int SelectRandomTrackIndexFromCategoryPriorityFlagFirst | ( | EDynamicMusicPlayerCategory | category, |
| notnull array< ref DynamicMusicTrackData > | tracks | ||
| ) |
main menu priority tracks first
fallback in case there is no priority track
References INDEX_NOT_FOUND.
Referenced by SetSelectedTrackFromCategory().
| void SetCategory | ( | DynamicMusicPlayerCategoryPlaybackData | playbackData | ) |
pass to fadeout handler
References FadeoutTrack(), GetPreviousTrackFadeoutSeconds(), DynamicMusicPlayerCategoryPlaybackData::m_Category, m_CategorySelected, m_DynamicMusicPlayerRegistry, DynamicMusicPlayerCategoryPlaybackData::m_FadeOut, DynamicMusicPlayerCategoryPlaybackData::m_Forced, and OnCategorySet().
Referenced by BIOSErrorModule::BIOSErrorModule(), ClientKickedModule::ClientKickedModule(), ConnectErrorClientModule::ConnectErrorClientModule(), ConnectErrorServerModule::ConnectErrorServerModule(), OnFadeoutFinished(), OnGameEvent(), OnLocationMatched(), OnUpdate(), and SetCategory().
| void SetCategory | ( | EDynamicMusicPlayerCategory | category, |
| bool | forced | ||
| ) |
| private bool SetSelectedTrackFromCategory | ( | EDynamicMusicPlayerCategory | category, |
| notnull array< ref DynamicMusicTrackData > | tracklist, | ||
| int | historyLookupType = DynamicMusicPlayerTrackHistoryLookupType.ANY |
||
| ) |
currently prioritize main menu track on DMP start
References WorldDataDaytime::ANY, GetWaitTimeForCategory(), INDEX_NOT_FOUND, m_Created, m_LastPlayedTrackBufferPerCategory, OnNextTrackSelected(), SelectRandomTrackIndexFromCategory(), and SelectRandomTrackIndexFromCategoryPriorityFlagFirst().
Referenced by DetermineTrackByCategory().
| private void SetTimeOfDate | ( | ) |
References WorldDataDaytime::DAY, and g_Game.
Referenced by DynamicMusicPlayer(), OnGameEvent(), and OnUpdate().
| private void StopTrack | ( | ) |
References m_SoundPlaying.
Referenced by OnFadeoutFinished(), and OnProfileOptionChanged().
| void UnregisterDynamicLocation | ( | notnull Entity | caller | ) |
| class DynamicMusicTrackData ANY = 0 |
| class DynamicMusicLocationTypes BOX = 0 |
| const int BUFFER = 1 |
| protected const float LOCATION_DISTANCE_MAX = 500 |
Referenced by RefreshTracksCache().
| protected int m_ActualTimeOfDay protected EDynamicMusicPlayerCategory m_CategorySelected |
| private bool m_Created |
Referenced by DynamicMusicPlayer(), OnNextTrackSelected(), and SetSelectedTrackFromCategory().
| protected DynamicMusicTrackData m_CurrentTrack |
Referenced by FadeoutTrack(), OnNextTrackSelected(), OnTrackEnded(), OnTrackStopped(), PlayTrack(), and ResetWaitingQueue().
| protected ref DynamicMusicPlayerRegistry m_DynamicMusicPlayerRegistry |
| private bool m_FadeoutInProgress |
Referenced by FadeoutTrack(), and OnUpdate().
| private float m_FadeoutTimeElapsed |
Referenced by DynamicMusicPlayer(), OnUpdate(), and ProcessFadeOut().
| private float m_FadeoutTimeRequested |
Referenced by DynamicMusicPlayer(), FadeoutTrack(), OnUpdate(), and ProcessFadeOut().
| private int m_RequestedPlaybackMode private ref map<EDynamicMusicPlayerCategory, ref SimpleCircularBuffer<int> > m_LastPlayedTrackBufferPerCategory |
gets the playback mode as set in sounds menu; 0 - all; 1 - menu only
Referenced by DynamicMusicPlayer(), SelectRandomTrackIndexFromCategory(), and SetSelectedTrackFromCategory().
| float m_MaxWaitTimeSeconds = 5.0 |
| class DynamicMusicLocationDynamicData m_MinWaitTimeSeconds = 3.0 |
| private vector m_PlayerPosition |
Referenced by OnUpdate(), PlayerInsideOfLocationFilter(), PlayerInsideOfLocationFilter(), and RefreshTracksCache().
| float m_PreviousTrackFadeoutSeconds = 30 |
| protected AbstractWave m_SoundPlaying |
Referenced by FadeoutTrack(), IsPlaybackActive(), OnFadeoutFinished(), OnLocationMatched(), OnTrackEnded(), OnTrackStopped(), PlayTrack(), ProcessFadeOut(), and StopTrack().
| protected float m_TickFadeOutProcessingElapsed |
Referenced by OnUpdate().
| protected float m_TickLocationCacheUpdateElapsed |
Referenced by OnUpdate().
| protected float m_TickLocationUpdateElapsed |
Referenced by OnUpdate().
| protected float m_TickPriorityLocationUpdateElapsed |
Referenced by OnUpdate().
| protected float m_TickTimeOfDateElapsed |
Referenced by OnUpdate().
| protected ref array<ref DynamicMusicTrackData> m_TracksLocationMatchedPlayerInside |
static prio + filtered by the distance between player and center of zone
Referenced by DetermineTrackByCategory(), DynamicMusicPlayer(), and PlayerInsideOfLocationFilter().
| protected ref map<int, ref DynamicMusicLocationDynamicData> m_LocationsDynamic private ref array<ref DynamicMusicTrackData> m_TracksLocationStaticCached |
map of dynamically registered locations during runtime
Referenced by DynamicMusicPlayer(), OnUpdate(), and RefreshTracksCache().
| private ref array<ref DynamicMusicTrackData> m_TracksLocationStaticPrioritizedCached |
static + filtered by the distance between player and center of zone
Referenced by DynamicMusicPlayer(), OnUpdate(), and RefreshTracksCache().
| private bool m_WaitingForPlayback |
Referenced by IsPlaybackActive(), OnLocationMatched(), OnNextTrackSelected(), OnTrackEnded(), OnTrackStopped(), PlayTrack(), and ResetWaitingQueue().
| const int POLYGON = 1 |
| protected const float TICK_FADEOUT_PROCESSOR_SECONDS = 0.2 |
Referenced by OnUpdate().
| protected const float TICK_LOCATION_CACHE_UPDATE_SECONDS = 120.0 |
Referenced by OnUpdate().
| protected const float TICK_LOCATION_UPDATE_SECONDS = 120.0 |
Referenced by OnUpdate().
| protected const float TICK_PRIORITY_LOCATION_UPDATE_SECONDS = 30.0 |
Referenced by OnUpdate().
| class DynamicMusicPlayerCategoryPlaybackData TICK_TIME_OF_DATE_UPDATE_SECONDS = 300.0 |
Referenced by OnUpdate().
| protected const int TRACKS_BUFFER_HISTORY_SIZE = 2 |
Referenced by DynamicMusicPlayer(), and SelectRandomTrackIndexFromCategory().