00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IENGINE_HALO_H__
00020 #define __CS_IENGINE_HALO_H__
00021
00028 #include "csutil/scf.h"
00029 #include "csutil/flags.h"
00030
00031 struct iMaterialWrapper;
00032
00036 enum csHaloType
00037 {
00039 cshtCross,
00041 cshtNova,
00043 cshtFlare
00044 };
00045
00046 SCF_VERSION (iBaseHalo, 0, 0, 1);
00047
00051 struct iBaseHalo : public iBase
00052 {
00054 virtual void SetIntensity (float i) = 0;
00056 virtual float GetIntensity () = 0;
00057 };
00058
00059 SCF_VERSION (iCrossHalo, 0, 0, 1);
00060
00064 struct iCrossHalo : public iBase
00065 {
00067 virtual void SetIntensityFactor (float i) = 0;
00069 virtual float GetIntensityFactor () = 0;
00071 virtual void SetCrossFactor (float i) = 0;
00073 virtual float GetCrossFactor () = 0;
00074 };
00075
00076 SCF_VERSION (iNovaHalo, 0, 0, 1);
00077
00081 struct iNovaHalo : public iBase
00082 {
00084 virtual void SetRandomSeed (int s) = 0;
00086 virtual int GetRandomSeed () = 0;
00088 virtual void SetSpokeCount (int s) = 0;
00090 virtual int GetSpokeCount () = 0;
00092 virtual void SetRoundnessFactor (float r) = 0;
00094 virtual float GetRoundnessFactor () = 0;
00095 };
00096
00097 SCF_VERSION (iFlareHalo, 0, 0, 1);
00098
00102 struct iFlareHalo : public iBase
00103 {
00109 virtual void AddComponent (float pos, float w, float h, uint mode,
00110 iMaterialWrapper *image) = 0;
00111 };
00112
00115 #endif // __CS_IENGINE_HALO_H__