00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __IENGINE_HALO_H__
00020 #define __IENGINE_HALO_H__
00021
00022 #include "csutil/scf.h"
00023 #include "csutil/flags.h"
00024
00025 struct iMaterialWrapper;
00026
00030 enum csHaloType
00031 {
00032 cshtCross,
00033 cshtNova,
00034 cshtFlare
00035 };
00036
00037 SCF_VERSION (iBaseHalo, 0, 0, 1);
00038
00042 struct iBaseHalo : public iBase
00043 {
00045 virtual void SetIntensity (float i) = 0;
00047 virtual float GetIntensity () = 0;
00048 };
00049
00050 SCF_VERSION (iCrossHalo, 0, 0, 1);
00051
00055 struct iCrossHalo : public iBase
00056 {
00058 virtual void SetIntensityFactor (float i) = 0;
00060 virtual float GetIntensityFactor () = 0;
00062 virtual void SetCrossFactor (float i) = 0;
00064 virtual float GetCrossFactor () = 0;
00065 };
00066
00067 SCF_VERSION (iNovaHalo, 0, 0, 1);
00068
00072 struct iNovaHalo : public iBase
00073 {
00075 virtual void SetRandomSeed (int s) = 0;
00077 virtual int GetRandomSeed () = 0;
00079 virtual void SetSpokeCount (int s) = 0;
00081 virtual int GetSpokeCount () = 0;
00083 virtual void SetRoundnessFactor (float r) = 0;
00085 virtual float GetRoundnessFactor () = 0;
00086 };
00087
00088 SCF_VERSION (iFlareHalo, 0, 0, 1);
00089
00093 struct iFlareHalo : public iBase
00094 {
00100 virtual void AddComponent (float pos, float w, float h, uint mode,
00101 iMaterialWrapper *image) = 0;
00102 };
00103
00104 #endif // __IENGINE_HALO_H__