PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
DynamicMusicPlayer.c File Reference

Data Structures

class  DynamicMusicLocationTypes
 
class  DynamicMusicLocationDynamicData
 
class  DynamicMusicTrackData
 
class  DynamicMusicPlayerCategoryPlaybackData
 
class  DynamicMusicPlayerTimeOfDay
 for backward compatibility More...
 

Functions

void DynamicMusicPlayer (DynamicMusicPlayerRegistry configuration)
 
void OnUpdate (float timeslice)
 
void SetCategory (DynamicMusicPlayerCategoryPlaybackData playbackData)
 
void RegisterDynamicLocation (notnull Entity caller, int locationType, float locationSize)
 
void UnregisterDynamicLocation (notnull Entity caller)
 
void OnGameEvent (EventType eventTypeId, Param params)
 
protected bool IsPriotitizedCategorySelected ()
 
protected void DetermineTrackByCategory (EDynamicMusicPlayerCategory category)
 
protected bool IsPlaybackActive ()
 
protected void OnProfileOptionChanged (EDayZProfilesOptions option, int value)
 
protected void OnCategorySet (EDynamicMusicPlayerCategory category, bool forced)
 
protected void OnTrackEnded ()
 
protected void OnTrackStopped ()
 
protected void OnNextTrackSelected (DynamicMusicTrackData track, float waitTime)
 
protected void OnLocationMatched (EDynamicMusicPlayerCategory category, bool isPriorityLocation)
 
protected void OnFadeoutFinished (EDynamicMusicPlayerCategory category)
 
private void PlayTrack (DynamicMusicTrackData track)
 
private void StopTrack ()
 
private void ResetWaitingQueue ()
 
private void FadeoutTrack (float fadeoutSeconds)
 
private void ProcessFadeOut ()
 
private bool PlayerInsideOfLocationFilter (array< ref DynamicMusicTrackData > locations)
 
private bool PlayerInsideOfLocationFilter (map< int, ref DynamicMusicLocationDynamicData > locations)
 
private bool SetSelectedTrackFromCategory (EDynamicMusicPlayerCategory category, notnull array< ref DynamicMusicTrackData > tracklist, int historyLookupType=DynamicMusicPlayerTrackHistoryLookupType.ANY)
 
private int SelectRandomTrackIndexFromCategoryPriorityFlagFirst (EDynamicMusicPlayerCategory category, notnull array< ref DynamicMusicTrackData > tracks)
 
private int SelectRandomTrackIndexFromCategory (EDynamicMusicPlayerCategory category, int lookupType, notnull array< ref DynamicMusicTrackData > tracks)
 
private void SetTimeOfDate ()
 
protected float GetWaitTimeForCategory (EDynamicMusicPlayerCategory category)
 
private float GetMinWaitTimePerCategory (EDynamicMusicPlayerCategory category)
 
private float GetMaxWaitTimePerCategory (EDynamicMusicPlayerCategory category)
 
private float GetPreviousTrackFadeoutSeconds (EDynamicMusicPlayerCategory category)
 
private void RefreshTracksCache ()
 
private void CleanupDebugShapes (array< Shape > shapesArr)
 DEPRECATED.
 
void SetCategory (EDynamicMusicPlayerCategory category, bool forced)
 

Variables

class DynamicMusicLocationTypes BOX = 0
 
const int POLYGON = 1
 
class DynamicMusicLocationDynamicData m_MinWaitTimeSeconds = 3.0
 
float m_MaxWaitTimeSeconds = 5.0
 
float m_PreviousTrackFadeoutSeconds = 30
 
class DynamicMusicTrackData ANY = 0
 
const int BUFFER = 1
 
class DynamicMusicPlayerCategoryPlaybackData TICK_TIME_OF_DATE_UPDATE_SECONDS = 300.0
 
protected const float TICK_LOCATION_CACHE_UPDATE_SECONDS = 120.0
 
protected const float TICK_LOCATION_UPDATE_SECONDS = 120.0
 
protected const float TICK_PRIORITY_LOCATION_UPDATE_SECONDS = 30.0
 
protected const float TICK_FADEOUT_PROCESSOR_SECONDS = 0.2
 
protected const int TRACKS_BUFFER_HISTORY_SIZE = 2
 
protected const float LOCATION_DISTANCE_MAX = 500
 
protected float m_TickTimeOfDateElapsed
 
protected float m_TickLocationCacheUpdateElapsed
 
protected float m_TickLocationUpdateElapsed
 
protected float m_TickPriorityLocationUpdateElapsed
 
protected float m_TickFadeOutProcessingElapsed
 
protected int m_ActualTimeOfDay protected EDynamicMusicPlayerCategory m_CategorySelected
 
protected DynamicMusicTrackData m_CurrentTrack
 
protected ref DynamicMusicPlayerRegistry m_DynamicMusicPlayerRegistry
 
protected ref map< int, ref DynamicMusicLocationDynamicData > m_LocationsDynamic private ref array< ref DynamicMusicTrackDatam_TracksLocationStaticCached
 map of dynamically registered locations during runtime
 
private ref array< ref DynamicMusicTrackDatam_TracksLocationStaticPrioritizedCached
 static + filtered by the distance between player and center of zone
 
protected ref array< ref DynamicMusicTrackDatam_TracksLocationMatchedPlayerInside
 static prio + filtered by the distance between player and center of zone
 
protected AbstractWave m_SoundPlaying
 
private bool m_WaitingForPlayback
 
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
 
private vector m_PlayerPosition
 
private float m_FadeoutTimeElapsed
 
private float m_FadeoutTimeRequested
 
private bool m_FadeoutInProgress
 
private bool m_Created
 

Function Documentation

◆ CleanupDebugShapes()

private void CleanupDebugShapes ( array< Shape shapesArr)

◆ DetermineTrackByCategory()

◆ DynamicMusicPlayer()

◆ FadeoutTrack()

◆ GetMaxWaitTimePerCategory()

◆ GetMinWaitTimePerCategory()

◆ GetPreviousTrackFadeoutSeconds()

private float GetPreviousTrackFadeoutSeconds ( EDynamicMusicPlayerCategory  category)

◆ GetWaitTimeForCategory()

◆ IsPlaybackActive()

protected bool IsPlaybackActive ( )

◆ IsPriotitizedCategorySelected()

protected bool IsPriotitizedCategorySelected ( )

◆ OnCategorySet()

protected void OnCategorySet ( EDynamicMusicPlayerCategory  category,
bool  forced 
)

◆ OnFadeoutFinished()

◆ OnGameEvent()

◆ OnLocationMatched()

◆ OnNextTrackSelected()

◆ OnProfileOptionChanged()

protected void OnProfileOptionChanged ( EDayZProfilesOptions  option,
int  value 
)

◆ OnTrackEnded()

protected void OnTrackEnded ( )

◆ OnTrackStopped()

protected void OnTrackStopped ( )

stopped only by fadeouts

References m_CurrentTrack, m_SoundPlaying, DynamicMusicTrackData::m_SoundSet, and m_WaitingForPlayback.

Referenced by PlayTrack().

◆ OnUpdate()

◆ PlayerInsideOfLocationFilter() [1/2]

private bool PlayerInsideOfLocationFilter ( array< ref DynamicMusicTrackData locations)

◆ PlayerInsideOfLocationFilter() [2/2]

private bool PlayerInsideOfLocationFilter ( map< int, ref DynamicMusicLocationDynamicData locations)

◆ PlayTrack()

◆ ProcessFadeOut()

private void ProcessFadeOut ( )

◆ RefreshTracksCache()

◆ RegisterDynamicLocation()

◆ ResetWaitingQueue()

◆ SelectRandomTrackIndexFromCategory()

private int SelectRandomTrackIndexFromCategory ( EDynamicMusicPlayerCategory  category,
int  lookupType,
notnull array< ref DynamicMusicTrackData tracks 
)

◆ SelectRandomTrackIndexFromCategoryPriorityFlagFirst()

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().

◆ SetCategory() [1/2]

◆ SetCategory() [2/2]

◆ SetSelectedTrackFromCategory()

◆ SetTimeOfDate()

private void SetTimeOfDate ( )

◆ StopTrack()

private void StopTrack ( )

◆ UnregisterDynamicLocation()

void UnregisterDynamicLocation ( notnull Entity  caller)

Variable Documentation

◆ ANY

class DynamicMusicTrackData ANY = 0

◆ BOX

◆ BUFFER

const int BUFFER = 1

◆ LOCATION_DISTANCE_MAX

protected const float LOCATION_DISTANCE_MAX = 500

Referenced by RefreshTracksCache().

◆ m_CategorySelected

◆ m_Created

◆ m_CurrentTrack

◆ m_DynamicMusicPlayerRegistry

◆ m_FadeoutInProgress

private bool m_FadeoutInProgress

Referenced by FadeoutTrack(), and OnUpdate().

◆ m_FadeoutTimeElapsed

private float m_FadeoutTimeElapsed

◆ m_FadeoutTimeRequested

private float m_FadeoutTimeRequested

◆ m_LastPlayedTrackBufferPerCategory

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().

◆ m_MaxWaitTimeSeconds

float m_MaxWaitTimeSeconds = 5.0

◆ m_MinWaitTimeSeconds

class DynamicMusicLocationDynamicData m_MinWaitTimeSeconds = 3.0

◆ m_PlayerPosition

◆ m_PreviousTrackFadeoutSeconds

float m_PreviousTrackFadeoutSeconds = 30

◆ m_SoundPlaying

◆ m_TickFadeOutProcessingElapsed

protected float m_TickFadeOutProcessingElapsed

Referenced by OnUpdate().

◆ m_TickLocationCacheUpdateElapsed

protected float m_TickLocationCacheUpdateElapsed

Referenced by OnUpdate().

◆ m_TickLocationUpdateElapsed

protected float m_TickLocationUpdateElapsed

Referenced by OnUpdate().

◆ m_TickPriorityLocationUpdateElapsed

protected float m_TickPriorityLocationUpdateElapsed

Referenced by OnUpdate().

◆ m_TickTimeOfDateElapsed

protected float m_TickTimeOfDateElapsed

Referenced by OnUpdate().

◆ m_TracksLocationMatchedPlayerInside

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().

◆ m_TracksLocationStaticCached

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().

◆ m_TracksLocationStaticPrioritizedCached

private ref array<ref DynamicMusicTrackData> m_TracksLocationStaticPrioritizedCached

static + filtered by the distance between player and center of zone

Referenced by DynamicMusicPlayer(), OnUpdate(), and RefreshTracksCache().

◆ m_WaitingForPlayback

◆ POLYGON

const int POLYGON = 1

◆ TICK_FADEOUT_PROCESSOR_SECONDS

protected const float TICK_FADEOUT_PROCESSOR_SECONDS = 0.2

Referenced by OnUpdate().

◆ TICK_LOCATION_CACHE_UPDATE_SECONDS

protected const float TICK_LOCATION_CACHE_UPDATE_SECONDS = 120.0

Referenced by OnUpdate().

◆ TICK_LOCATION_UPDATE_SECONDS

protected const float TICK_LOCATION_UPDATE_SECONDS = 120.0

Referenced by OnUpdate().

◆ TICK_PRIORITY_LOCATION_UPDATE_SECONDS

protected const float TICK_PRIORITY_LOCATION_UPDATE_SECONDS = 30.0

Referenced by OnUpdate().

◆ TICK_TIME_OF_DATE_UPDATE_SECONDS

class DynamicMusicPlayerCategoryPlaybackData TICK_TIME_OF_DATE_UPDATE_SECONDS = 300.0

Referenced by OnUpdate().

◆ TRACKS_BUFFER_HISTORY_SIZE

protected const int TRACKS_BUFFER_HISTORY_SIZE = 2