10 Debug.
Log(
"PPEManagerStatic | CreateManagerStatic - PPEManager already exists");
67 PPERequesterBank.Init();
72 PPERequesterBank.Cleanup();
155 if ( order > PPEConstants.DEPENDENCY_ORDER_HIGHEST )
198 if ( active && found == -1 )
202 else if ( !active && found > -1 )
215 Debug.
Log(
"PPEManager | SetRequestUpdating | !m_UpdatingRequests");
221 if ( active && idx == -1 )
225 else if ( !active && idx > -1 )
245 foreach (
typename requesterType : requesters)
264 for (
int i = 0; i < count; i++)
361 typename name = mat_class.Type();
367 Debug.
Log(
"PPEManager | Invalid material path " +
path +
" used for " +
name );
376 if (!scriptside_only)
387 if (requester.GetCategoryMask() & mask)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
PostProcessPrioritiesCamera
PPE type priorities, C++ based. DO NOT CHANGE ORDER! Used only when calling 'SetCameraPostProcessEffe...
void DbgPrnt(string text)
ref map< int, ref array< int > > m_PPEMaterialUpdateQueueMap
bool m_ManagerInitialized
ref array< ref PPERequesterBase > m_ExistingPostprocessRequests
void SetRequestActive(PPERequesterBase request, bool active)
Marks requester as 'active'. Currently indistinguiishable from 'updating' requester,...
void InsertUpdatedMaterial(int mat_id)
Marks material class as updated and values to be set in the course of update - 'ProcessApplyValueChan...
class PPEManagerStatic CAMERA_ID
void RequestsCleanup()
Unused cleanup method, should it be ever needed.
bool IsAnyRequesterRunning(array< typename > requesters)
void ProcessRequesterUpdates(float timeslice)
void ProcessApplyValueChanges()
ref array< int > m_UpdatedMaterials
ref map< int, ref PPEClassBase > m_PPEClassMap
void InitPPEManagerClassMap()
Ordered by 'PostProcessEffectType' for easy access through the same enum; ID saved all the same.
ref array< ref PPERequesterBase > m_UpdatingRequests
Param GetPostProcessDefaultValues(int material, int parameter)
Returns default 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,...
void RegisterPPEClass(PPEClassBase material_class)
Registeres material class and creates data structure within.
void RemoveActiveRequestFromMaterials(PPERequesterBase req)
void SetMaterialParamUpdating(int material_id, int parameter_id, int order)
Queues material/parameter to update (once)
void SendMaterialValueData(PPERequestParamDataBase data)
void ClearMaterialUpdating()
void RemoveMaterialUpdating(int material_id, int order=0)
Currently unused, requests remain in the hierarchy and are used when needed (slightly faster than con...
void SetRequestUpdating(PPERequesterBase request, bool active)
Marks requester as 'updating' and to be processed on manager update.
void ProcessMaterialUpdates(float timeslice)
bool GetExistingRequester(typename req, out PPERequesterBase ret)
Param GetPostProcessCurrentValues(int material, int parameter)
Returns current values as Param. See 'PPEConstants' file for various typedefs used.
override ScriptInvoker GetUpdateQueue(int call_category)
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
ChromAber - PostProcessEffectType.ChromAber.
void ChangeMaterialPathUsed(string path)
void InsertParamValueData(PPERequestParamDataBase request_data)
Distributes requester data to the material class structure and links them to appropriate parameter.
void RemoveRequest(int req_idx)
unused, see 'RemoveActiveRequestFromMaterials' for more info
void OnUpdate(float timeslice, int order)
generic update method, take care when overriding!
void SetParameterUpdating(int order, int parameter_id)
Queue specific parameter of this material to update.
int GetPostProcessEffectID()
Overriden in all material classes!
PPEMatClassParameterCommandData GetParameterCommandData(int parameter_idx)
Some PP effects are handled as hard-coded exceptions, outside of material system. Default == PPEExcep...
Created once, on manager init. Script-side representation of C++ material class, separate handling.
ColorGrading - PostProcessEffectType.ColorGrading.
Colors - PostProcessEffectType.Colors.
DOF postprocess, does not directly use materials.
DepthOfField - PostProcessEffectType.DepthOfField.
Distort - PostProcessEffectType.Distort.
DynamicBlur - PostProcessEffectType.DynamicBlur.
EV postprocess, does not directly use materials.
Eye Accomodation postprocess, does not directly use materials.
FXAA - PostProcessEffectType.FXAA.
FilmGrain - PostProcessEffectType.FilmGrain.
GaussFilter - PostProcessEffectType.GaussFilter.
Ghost - PostProcessEffectType.Ghost.
Glow - PostProcessEffectType.Glow.
GodRays - PostProcessEffectType.GodRays.
HBAO - PostProcessEffectType.HBAO.
g_Game.NightVissionLightParams, does not directly use materials. Controls light multiplication and fi...
static void CreateManagerStatic()
static PPEManager GetPPEManager()
Returns the manager instance singleton.
static void DestroyManagerStatic()
static ref PPEManager m_Manager
Static component of PPE manager, used to hold the instance.
Param GetCurrentValues()
Careful, only actual values, WITHOUT string.
Param GetDefaultValues()
Careful, formating is such, that param1 is ALWAYS string, containing parameter name,...
Dummy class - PostProcessEffectType.None.
RadialBlur - PostProcessEffectType.RadialBlur.
Rain - PostProcessEffectType.Rain.
Data for one material parameter, requester side.
int GetRequesterIDX()
Returns requester index.
void OnUpdate(float delta)
bool IsRequesterRunning()
map< int, ref map< int, ref PPERequestParamDataBase > > GetActiveRequestStructure()
SMAA - PostProcessEffectType.SMAA.
SSAO - PostProcessEffectType.SSAO.
SunMask - PostProcessEffectType.SunMask.
UnderWater - PostProcessEffectType.UnderWater.
WetDistort - PostProcessEffectType.WetDistort.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
PostProcessEffectType
Post-process effect type.
proto native void SetCameraPostProcessEffect(int cam, int priority, PostProcessEffectType type, string materialPath)