00001 #ifndef CORONA_H
00002 #define CORONA_H
00003
00004 #include "genesis.h"
00005
00006 #pragma warning( disable : 4068 )
00007
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011
00012 #pragma GE_Type("corona.bmp")
00013 typedef struct Corona
00014 {
00015 #pragma GE_Private
00016 geFloat LastTime;
00017 geFloat LastVisibleTime;
00018 geFloat LastVisibleRadius;
00019
00020 #pragma GE_Published
00021 geVec3d origin;
00022 int FadeOut;
00023 geFloat FadeTime;
00024 int MinRadius;
00025 int MaxRadius;
00026 int MaxVisibleDistance;
00027 int MaxRadiusDistance;
00028 int MinRadiusDistance;
00029 int AllowRotation;
00030 geWorld_Model * Model;
00031 GE_RGBA Color;
00032
00033 #pragma GE_Origin(origin)
00034 #pragma GE_DefaultValue(FadeOut, "1")
00035 #pragma GE_DefaultValue(FadeTime, "0.15")
00036 #pragma GE_DefaultValue(MinRadius, "1")
00037 #pragma GE_DefaultValue(MaxRadius, "20")
00038 #pragma GE_DefaultValue(MaxVisibleDistance, "2000")
00039 #pragma GE_DefaultValue(MaxRadiusDistance, "1000")
00040 #pragma GE_DefaultValue(MinRadiusDistance, "100")
00041 #pragma GE_DefaultValue(AllowRotation, "1")
00042 #pragma GE_DefaultValue(Color, "255.0 255.0 255.0")
00043
00044 #pragma GE_Documentation(FadeOut, "Whether to fade out coronas when they pass out of visibility (0 or 1)")
00045 #pragma GE_Documentation(FadeTime, "How long the fade takes to drop to zero visibility (seconds)")
00046 #pragma GE_Documentation(MinRadius, "Minimum radius corona will ever drop to (texels)")
00047 #pragma GE_Documentation(MaxRadius, "Maximum radius corona will ever increase to (texels)")
00048 #pragma GE_Documentation(MaxVisibleDistance, "Maximum distance corona is visible at (texels)")
00049 #pragma GE_Documentation(MaxRadiusDistance, "Above this distance, corona is capped at MaxRadius (texels)")
00050 #pragma GE_Documentation(MinRadiusDistance, "Below this distance, corona is capped at MinRadius (texels)")
00051 #pragma GE_Documentation(AllowRotation, "Permit rotation about model, if one is present (0 or 1)")
00052 #pragma GE_Documentation(Model, "World model to slave motion of corona to")
00053 } Corona;
00054
00055 geBoolean Corona_Init(geEngine *Engine, geWorld *World, geVFile *MainFS);
00056 geBoolean Corona_Shutdown(void);
00057 geBoolean Corona_Frame(geWorld *World, const geXForm3d *XForm, geFloat DeltaTime);
00058
00059 #ifdef __cplusplus
00060 }
00061 #endif
00062
00063 #pragma warning( default : 4068 )
00064
00065 #endif