DayZ 1.24
|
Go to the source code of this file.
Classes | |
class | PPEManagerStatic |
Static component of PPE manager, used to hold the instance. More... | |
Functions | |
void | PPEManager () |
void | Cleanup () |
void | Init () |
Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside of a non-static system) | |
void | InitPPEManagerClassMap () |
Ordered by 'PostProcessEffectType' for easy access through the same enum; ID saved all the same. | |
void | RegisterPPEClass (PPEClassBase material_class) |
Registeres material class and creates data structure within. | |
void | SendMaterialValueData (PPERequestParamDataBase data) |
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) | |
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) |
void | RemoveActiveRequestFromMaterials (PPERequesterBase req) |
void | RequestsCleanup () |
Unused cleanup method, should it be ever needed. | |
void | InsertUpdatedMaterial (int mat_id) |
Marks material class as updated and values to be set in the course of update - 'ProcessApplyValueChanges'. | |
void | ProcessRequesterUpdates (float timeslice) |
void | ProcessMaterialUpdates (float timeslice) |
void | ProcessApplyValueChanges () |
void | Update (float timeslice) |
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 | StopAllEffects (int mask=0) |
stops all effects of a certain kind | |
void | DbgPrnt (string text) |
|
protected |
Changes material file associated with the script material class. Will be used very rarely, mostly set in C++ anyway.
Definition at line 344 of file PPEManager.c.
References CAMERA_ID, Debug::Log(), m_PPEClassMap, name, path, and SetCameraPostProcessEffect().
|
protected |
Definition at line 70 of file PPEManager.c.
References m_ExistingPostprocessRequests, m_ManagerInitialized, m_PPEClassMap, m_PPEMaterialUpdateQueueMap, and m_UpdatingRequests.
|
protected |
Definition at line 183 of file PPEManager.c.
References m_PPEMaterialUpdateQueueMap.
Referenced by ProcessApplyValueChanges().
Definition at line 381 of file PPEManager.c.
|
protected |
Definition at line 220 of file PPEManager.c.
References m_ExistingPostprocessRequests.
Referenced by IsAnyRequesterRunning().
Returns current values as Param. See 'PPEConstants' file for various typedefs used.
Definition at line 335 of file PPEManager.c.
References m_PPEClassMap.
Returns default values as Param. See 'PPEConstants' file for various typedefs used.
Definition at line 328 of file PPEManager.c.
References m_PPEClassMap.
|
protected |
Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside of a non-static system)
Definition at line 84 of file PPEManager.c.
References CALL_CATEGORY_GUI, GetGame(), InitPPEManagerClassMap(), m_ExistingPostprocessRequests, m_ManagerInitialized, m_PPEMaterialUpdateQueueMap, m_UpdatedMaterials, m_UpdatingRequests, and Update().
|
protected |
Ordered by 'PostProcessEffectType' for easy access through the same enum; ID saved all the same.
Definition at line 101 of file PPEManager.c.
References m_PPEClassMap, and RegisterPPEClass().
Referenced by Init().
Marks material class as updated and values to be set in the course of update - 'ProcessApplyValueChanges'.
Definition at line 266 of file PPEManager.c.
References m_UpdatedMaterials.
Definition at line 231 of file PPEManager.c.
References GetExistingRequester().
|
protected |
Definition at line 64 of file PPEManager.c.
References m_ManagerInitialized.
Referenced by PPEManagerStatic::CreateManagerStatic().
|
protected |
Definition at line 302 of file PPEManager.c.
References ClearMaterialUpdating(), m_PPEClassMap, and m_UpdatedMaterials.
Referenced by Update().
Definition at line 287 of file PPEManager.c.
References Count, m_PPEClassMap, and m_PPEMaterialUpdateQueueMap.
Referenced by Update().
Definition at line 275 of file PPEManager.c.
References m_UpdatingRequests.
Referenced by Update().
|
protected |
Registeres material class and creates data structure within.
Definition at line 135 of file PPEManager.c.
References m_PPEClassMap.
Referenced by InitPPEManagerClassMap().
|
protected |
/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.
Definition at line 248 of file PPEManager.c.
References m_PPEClassMap.
Currently unused, requests remain in the hierarchy and are used when needed (slightly faster than constantly re-shuffilng the arrays)
Definition at line 172 of file PPEManager.c.
References m_PPEMaterialUpdateQueueMap.
|
protected |
Unused cleanup method, should it be ever needed.
Definition at line 261 of file PPEManager.c.
Referenced by Update().
|
protected |
Definition at line 140 of file PPEManager.c.
References m_PPEClassMap, and SetMaterialParamUpdating().
Queues material/parameter to update (once)
Definition at line 149 of file PPEManager.c.
References m_PPEClassMap, and m_PPEMaterialUpdateQueueMap.
Referenced by SendMaterialValueData().
|
protected |
Marks requester as 'active'. Currently indistinguiishable from 'updating' requester, can potentially be used for intermittently updated requesters.
Definition at line 189 of file PPEManager.c.
References m_ExistingPostprocessRequests.
|
protected |
Marks requester as 'updating' and to be processed on manager update.
Definition at line 203 of file PPEManager.c.
References Debug::Log(), and m_UpdatingRequests.
stops all effects of a certain kind
Definition at line 369 of file PPEManager.c.
References m_ExistingPostprocessRequests.
Definition at line 316 of file PPEManager.c.
References m_ManagerInitialized, ProcessApplyValueChanges(), ProcessMaterialUpdates(), ProcessRequesterUpdates(), and RequestsCleanup().
class PPEManagerStatic CAMERA_ID = 0 |
/brief Postprocess manager, responsible for updates, receiving, and re-distributing requester data to their respective destinations. /par Basic post process flow outline: Getting a registered 'PPERequester' instance from the 'PPERequesterBank'
/par Launching the requester, either through an overriden 'Start' method, or custom method with some setters (both flag it as active and to be processed)
/par On render update, PPEManager: Handles queued requester changes, re-distributes individual commands to material structure
/par Updates the material/parameter structure and calculates the blend values
/par Sets the final values via native functions (only called once per changed parameter - optimization stonks)
/note Requester serves as a centralized platform for specific effec/group of effects. Although technically the direct commands to mat/param would be feasible, this allows for easier control of effect groups, /note and clearer command hierarchy (no value setters without clear parentage).
Referenced by ChangePPEMaterial().
|
protected |
Definition at line 61 of file PPEManager.c.
Referenced by Cleanup(), GetExistingRequester(), Init(), SetRequestActive(), and StopAllEffects().
|
protected |
Definition at line 57 of file PPEManager.c.
Referenced by Cleanup(), Init(), PPEManager(), and Update().
|
protected |
Definition at line 58 of file PPEManager.c.
Referenced by ChangePPEMaterial(), Cleanup(), GetPostProcessCurrentValues(), GetPostProcessDefaultValues(), InitPPEManagerClassMap(), ProcessApplyValueChanges(), ProcessMaterialUpdates(), RegisterPPEClass(), RemoveActiveRequestFromMaterials(), SendMaterialValueData(), and SetMaterialParamUpdating().
Definition at line 59 of file PPEManager.c.
Referenced by Cleanup(), ClearMaterialUpdating(), Init(), ProcessMaterialUpdates(), RemoveMaterialUpdating(), and SetMaterialParamUpdating().
Definition at line 60 of file PPEManager.c.
Referenced by Init(), InsertUpdatedMaterial(), and ProcessApplyValueChanges().
|
protected |
Definition at line 62 of file PPEManager.c.
Referenced by Cleanup(), Init(), ProcessRequesterUpdates(), and SetRequestUpdating().