mirror of
https://github.com/halpz/re3.git
synced 2025-07-22 18:19:44 +00:00
added CCoronas
This commit is contained in:
@ -2,15 +2,99 @@
|
||||
|
||||
extern RwTexture **gpCoronaTexture; //[9]
|
||||
|
||||
struct CRegisteredCorona
|
||||
{
|
||||
uint32 id;
|
||||
uint32 lastLOScheck;
|
||||
RwTexture *texture;
|
||||
uint8 red;
|
||||
uint8 green;
|
||||
uint8 blue;
|
||||
uint8 alpha; // alpha when fully visible
|
||||
uint8 fadeAlpha; // actual value used for rendering, faded
|
||||
CVector coors;
|
||||
float size;
|
||||
float someAngle;
|
||||
bool registeredThisFrame;
|
||||
float drawDist;
|
||||
int8 flareType;
|
||||
int8 reflection;
|
||||
|
||||
uint8 LOScheck : 1;
|
||||
uint8 offScreen : 1;
|
||||
uint8 firstUpdate : 1;
|
||||
uint8 drawStreak : 1;
|
||||
uint8 sightClear : 1;
|
||||
|
||||
bool renderReflection;
|
||||
float heightAboveRoad;
|
||||
|
||||
float prevX[6];
|
||||
float prevY[6];
|
||||
uint8 prevRed[6];
|
||||
uint8 prevGreen[6];
|
||||
uint8 prevBlue[6];
|
||||
bool hasValue[6];
|
||||
|
||||
void Update(void);
|
||||
};
|
||||
static_assert(sizeof(CRegisteredCorona) == 0x80, "CRegisteredCorona: error");
|
||||
|
||||
class CCoronas
|
||||
{
|
||||
static CRegisteredCorona *aCoronas; //[NUMCORONAS];
|
||||
public:
|
||||
enum {
|
||||
SUN_CORE = 1,
|
||||
SUN_CORONA
|
||||
};
|
||||
enum {
|
||||
TYPE_STAR,
|
||||
TYPE_NORMAL,
|
||||
TYPE_MOON,
|
||||
TYPE_REFLECT,
|
||||
TYPE_HEADLIGHT,
|
||||
TYPE_HEX,
|
||||
TYPE_CIRCLE,
|
||||
TYPE_RING,
|
||||
TYPE_STREAK,
|
||||
};
|
||||
enum {
|
||||
FLARE_NONE,
|
||||
FLARE_SUN,
|
||||
FLARE_HEADLIGHTS
|
||||
};
|
||||
enum {
|
||||
REFLECTION_OFF,
|
||||
REFLECTION_ON,
|
||||
};
|
||||
enum {
|
||||
LOSCHECK_OFF,
|
||||
LOSCHECK_ON,
|
||||
};
|
||||
enum {
|
||||
STREAK_OFF,
|
||||
STREAK_ON,
|
||||
};
|
||||
|
||||
static float &LightsMult;
|
||||
static float &SunScreenY;
|
||||
static float &SunScreenX;
|
||||
static bool &bSmallMoon;
|
||||
static bool &SunBlockedByClouds;
|
||||
static int &bChangeBrightnessImmediately;
|
||||
|
||||
static void Init(void);
|
||||
static void Shutdown(void);
|
||||
static void Update(void);
|
||||
static void RegisterCorona(uint32 id, uint8 red, uint8 green, uint8 blue, uint8 alpha,
|
||||
const CVector &coors, float size, float drawDist, RwTexture *tex,
|
||||
int8 flareType, uint8 reflection, uint8 LOScheck, uint8 drawStreak, float someAngle);
|
||||
static void RegisterCorona(uint32 id, uint8 red, uint8 green, uint8 blue, uint8 alpha,
|
||||
const CVector &coors, float size, float drawDist, uint8 type,
|
||||
int8 flareType, uint8 reflection, uint8 LOScheck, uint8 drawStreak, float someAngle);
|
||||
static void UpdateCoronaCoors(int id, const CVector &coors, float drawDist, float someAngle);
|
||||
static void Render(void);
|
||||
static void RenderReflections(void);
|
||||
static void DoSunAndMoon(void);
|
||||
};
|
||||
|
Reference in New Issue
Block a user