00001
00002
00004 #ifndef __TITLESCREEN_H
00005 #define __TITLESCREEN_H
00006
00007
00009
00011 typedef struct t_FlagPoint
00012 {
00013 VEC pos;
00014 REAL u,v;
00015
00016 } s_FlagPoint;
00017
00018 typedef struct t_Flag
00019 {
00020 int w,h;
00021 t_FlagPoint* pPoints;
00022
00023 } s_Flag;
00024
00025
00026 typedef struct t_Light
00027 {
00028 VEC pos;
00029 VEC dir;
00030 REAL power;
00031 REAL strength;
00032 REAL range;
00033 REAL range2;
00034 REAL rangeInv;
00035
00036 } s_light;
00037
00038
00039
00040 typedef struct t_CameraPos
00041 {
00042 VEC eye;
00043 VEC focus;
00044 QUATERNION quat;
00045
00046 } s_CameraPos;
00047
00048
00050
00052 extern t_Light gLight[];
00053
00054
00056
00058 void GoTitleScreen(void);
00059 void ReleaseTitleScreen(void);
00060 void TitleScreen(void);
00061
00062 void ts_InitCameraPositions(void);
00063
00064 void SetLightPos(t_Light* pLight, REAL x, REAL y, REAL z);
00065 void SetLightDir(t_Light* pLight, REAL x, REAL y, REAL z);
00066 void SetLightPower(t_Light* pLight, REAL power);
00067 void SetLightStrength(t_Light* pLight, REAL strength);
00068 void SetLightRange(t_Light* pLight, REAL range);
00069
00070 void InitFlag(t_Flag *pFlag, int w, int h, REAL sX, REAL sY);
00071 void ReleaseFlag(t_Flag *pFlag);
00072 void RenderFlag(t_Flag *pFlag);
00073
00074 void ts_ApplyLightPull(t_Light* pLight, VEC* pN, VEC* pS, VEC* pE);
00075 REAL ts_Power(REAL value, REAL power);
00076
00077
00079
00081 #endif //__TITLESCREEN_H