re3/src/render/Draw.h

75 lines
1.7 KiB
C
Raw Normal View History

2019-05-15 16:52:37 +02:00
#pragma once
2019-07-03 17:26:15 +02:00
enum eAspectRatio
{
2019-07-12 18:28:40 +02:00
// Make sure these work the same as FrontEndMenuManager.m_PrefsUseWideScreen
// without widescreen support
2020-12-29 20:16:52 +01:00
AR_AUTO,
2019-07-03 17:26:15 +02:00
AR_4_3,
2020-12-29 18:24:16 +01:00
AR_5_4,
AR_16_10,
2019-07-03 17:26:15 +02:00
AR_16_9,
2020-12-29 18:24:16 +01:00
AR_21_9,
AR_MAX,
};
enum eSpriteScalingMode
{
SCL_PC,
SCL_PS2,
2019-07-03 17:26:15 +02:00
};
2019-05-15 16:52:37 +02:00
class CDraw
{
private:
2020-04-17 07:54:14 +02:00
static float ms_fNearClipZ;
static float ms_fFarClipZ;
static float ms_fFOV;
#ifdef ASPECT_RATIO_SCALE
// we use this variable to scale a lot of 2D elements
// so better cache it
2019-06-16 00:20:55 +02:00
static float ms_fAspectRatio;
2020-06-21 14:50:00 +02:00
// similar thing for 3D rendering
static float ms_fScaledFOV;
#endif
2020-06-21 14:50:00 +02:00
public:
static float ms_fLODDistance; // set but unused?
2019-06-16 00:20:55 +02:00
2020-04-17 07:54:14 +02:00
static uint8 FadeValue;
static uint8 FadeRed;
static uint8 FadeGreen;
static uint8 FadeBlue;
2021-01-05 02:17:18 +01:00
#ifdef ASPECT_RATIO_SCALE
static int32 ms_nScalingMode;
static int32 ms_bFixRadar;
static int32 ms_bFixSprites;
#endif
2019-05-15 16:52:37 +02:00
static void SetNearClipZ(float nearclip) { ms_fNearClipZ = nearclip; }
static float GetNearClipZ(void) { return ms_fNearClipZ; }
static void SetFarClipZ(float farclip) { ms_fFarClipZ = farclip; }
static float GetFarClipZ(void) { return ms_fFarClipZ; }
2019-06-16 00:20:55 +02:00
2019-05-30 13:35:13 +02:00
static void SetFOV(float fov);
2019-05-15 16:52:37 +02:00
static float GetFOV(void) { return ms_fFOV; }
2020-06-21 14:50:00 +02:00
#ifdef ASPECT_RATIO_SCALE
static float GetScaledFOV(void) { return ms_fScaledFOV; }
#else
static float GetScaledFOV(void) { return ms_fFOV; }
#endif
2019-06-16 00:20:55 +02:00
static float FindAspectRatio(void);
#ifdef ASPECT_RATIO_SCALE
static float ConvertFOV(float fov);
2019-06-16 00:20:55 +02:00
static float GetAspectRatio(void) { return ms_fAspectRatio; }
static void SetAspectRatio(float ratio) { ms_fAspectRatio = ratio; }
#else
static float GetAspectRatio(void) { return FindAspectRatio(); }
#endif
2020-12-29 18:24:16 +01:00
#ifdef ASPECT_RATIO_SCALE
static float ScaleY(float y);
#endif
2019-05-15 16:52:37 +02:00
};