Add almost matching CScriptDistanceFog

Former-commit-id: d99637766d
This commit is contained in:
Henrique Gemignani Passos Lima
2022-10-21 17:28:54 +03:00
parent 0c3d5d2a07
commit 195d942406
9 changed files with 156 additions and 22 deletions

View File

@@ -7,7 +7,19 @@
#include "Kyoto/Math/CVector2f.hpp"
enum ERglFogMode {
// TODO
kRFM_None = GX_FOG_NONE,
kRFM_PerspLin = GX_FOG_PERSP_LIN,
kRFM_PerspExp = GX_FOG_PERSP_EXP,
kRFM_PerspExp2 = GX_FOG_ORTHO_EXP2,
kRFM_PerspRevExp = GX_FOG_PERSP_REVEXP,
kRFM_PerspRevExp2 = GX_FOG_PERSP_REVEXP2,
kRFM_OrthoLin = GX_FOG_ORTHO_LIN,
kRFM_OrthoExp = GX_FOG_ORTHO_EXP,
kRFM_OrthoExp2 = GX_FOG_ORTHO_EXP2,
kRFM_OrthoRevExp = GX_FOG_ORTHO_REVEXP,
kRFM_OrthoRevExp2 = GX_FOG_ORTHO_REVEXP2,
};
class CAreaFog {
@@ -23,6 +35,16 @@ private:
unkptr x2c_;
unkptr x30_;
float x34_colorDelta;
public:
void SetCurrent() const;
void Update(float dt);
void RollFogOut(float rangeDelta, float colorDelta, const CColor& color);
void FadeFog(ERglFogMode, const CColor& color, const CVector2f& vec1, float,
const CVector2f& vec2);
void SetFogExplicit(ERglFogMode mode, const CColor& color, const CVector2f& range);
bool IsFogDisabled() const;
void DisableFog();
};
CHECK_SIZEOF(CAreaFog, 0x38)