.ini for scaling, radar, sprites

This commit is contained in:
Fire-Head
2021-01-08 23:30:30 +03:00
parent 6e42c791cf
commit 00d23c61d9
6 changed files with 64 additions and 4 deletions

View File

@ -20,6 +20,16 @@ uint8 CDraw::FadeRed;
uint8 CDraw::FadeGreen;
uint8 CDraw::FadeBlue;
#ifdef PROPER_SCALING
int32 CDraw::ms_bProperScaling = true;
#endif
#ifdef FIX_SPRITES
int32 CDraw::ms_bFixRadar = true;
#endif
#ifdef FIX_RADAR
int32 CDraw::ms_bFixSprites = true;
#endif
float
CDraw::FindAspectRatio(void)
{
@ -75,4 +85,11 @@ CDraw::SetFOV(float fov)
ms_fScaledFOV = fov;
#endif
ms_fFOV = fov;
}
}
#ifdef PROPER_SCALING
float CDraw::ScaleY(float y)
{
return ms_bProperScaling ? y : y * ((float)DEFAULT_SCREEN_HEIGHT/SCREEN_HEIGHT_NTSC);
}
#endif

View File

@ -34,6 +34,16 @@ public:
static uint8 FadeRed;
static uint8 FadeGreen;
static uint8 FadeBlue;
#ifdef PROPER_SCALING
static int32 ms_bProperScaling;
#endif
#ifdef FIX_SPRITES
static int32 ms_bFixRadar;
#endif
#ifdef FIX_RADAR
static int32 ms_bFixSprites;
#endif
static void SetNearClipZ(float nearclip) { ms_fNearClipZ = nearclip; }
static float GetNearClipZ(void) { return ms_fNearClipZ; }
@ -56,4 +66,8 @@ public:
#else
static float GetAspectRatio(void) { return FindAspectRatio(); }
#endif
#ifdef PROPER_SCALING
static float ScaleY(float y);
#endif
};

View File

@ -38,7 +38,7 @@ CSprite::CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh,
float fovScale = fov / CDraw::GetFOV();
#ifdef FIX_SPRITES
*outw = fovScale * recip * SCREEN_HEIGHT;
*outw = CDraw::ms_bFixSprites ? (fovScale * recip * SCREEN_HEIGHT) : (fovScale * SCREEN_SCALE_AR(recip) * SCREEN_WIDTH);
#else
*outw = fovScale * SCREEN_SCALE_AR(recip) * SCREEN_WIDTH;
#endif