DIFF

class PPEManagerSource

PPEManager Managed

All members, including inherited

Constructors 1

void PPEManager()

Constants 1

const int CAMERA_ID = 0
Referenced by ChangePPEMaterial()

Members 6

protected bool m_ManagerInitialized
Referenced by Cleanup(), Init(), PPEManager()
Show 1 more, Update()
protected ref map<int, ref array<int>> m_PPEMaterialUpdateQueueMap

multiple levels of update queues, to allow for multiple dependent updates during same frame (greedy?)

protected ref array<int> m_UpdatedMaterials
protected ref array<ref PPERequesterBase> m_ExistingPostprocessRequests

which requests are active overall. Does not have to be updating ATM!

Referenced by Cleanup(), GetExistingRequester(), Init()
Show 2 more, SetRequestActive(), and StopAllEffects()
protected ref array<ref PPERequesterBase> m_UpdatingRequests

which requests are currently updating and processing

Referenced by Cleanup(), Init(), ProcessRequesterUpdates()
Show 1 more, SetRequestUpdating()

Methods 24

void Init()

Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside of a non-static system)

protected void RegisterPPEClass(PPEClassBase material_class)

Registeres material class and creates data structure within

void SetMaterialParamUpdating(int material_id, int parameter_id, int order)

Queues material/parameter to update (once)

void RemoveMaterialUpdating(int material_id, int order = 0)

Currently unused, requests remain in the hierarchy and are used when needed (slightly faster than constantly re-shuffilng the arrays)

References map.Contains(), Count(), map.Get()
Show 3 more, map.Remove(), RemoveItem(), and m_PPEMaterialUpdateQueueMap
protected void ClearMaterialUpdating()
void SetRequestActive(PPERequesterBase request, bool active)

Marks requester as 'active'. Currently indistinguiishable from 'updating' requester, can potentially be used for intermittently updated requesters

void SetRequestUpdating(PPERequesterBase request, bool active)

Marks requester as 'updating' and to be processed on manager update

bool GetExistingRequester(typename req, out PPERequesterBase ret)
bool IsAnyRequesterRunning(array<typename> requesters)
protected void RemoveActiveRequestFromMaterials(PPERequesterBase req)

/brief Originally designed to rip the requester data from all relevant mat/params, but that proved too costly and volatile. /note Still, it is here, use at your own peril.

protected void RequestsCleanup()

Unused cleanup method, should it be ever needed

Referenced by Update()
void InsertUpdatedMaterial(int mat_id)

Marks material class as updated and values to be set in the course of update - 'ProcessApplyValueChanges'

protected void ProcessRequesterUpdates(float timeslice)
Referenced by Update()
protected void ProcessMaterialUpdates(float timeslice)
Referenced by Update()
protected void ProcessApplyValueChanges()
Referenced by Update()
Param GetPostProcessDefaultValues(int material, int parameter)

Returns default values as Param. See 'PPEConstants' file for various typedefs used

Param GetPostProcessCurrentValues(int material, int parameter)

Returns current values as Param. See 'PPEConstants' file for various typedefs used

void ChangePPEMaterial(PostProcessPrioritiesCamera priority, PostProcessEffectType type, string path, bool scriptside_only)

Changes material file associated with the script material class. Will be used very rarely, mostly set in C++ anyway.

void DbgPrnt(string text)