Skip to content

Commit d241aea

Browse files
committed
fix refresh rate affecting screenshots, pause menu version display
1 parent 92cfeaf commit d241aea

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

GliFixVf/fix.c

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@
1212
char *szConfigMenu = "/C:Ray2Fix Config";
1313
char szVersionString[50];
1414

15+
JFFTXT_tdstString g_stVersionTxt = {
16+
szVersionString,
17+
500.0f, 980.0f, 7.0f, 0xC0,
18+
.eOther = JFFTXT_C_ForcedColor,
19+
.ucForcedColor = 2
20+
};
21+
1522

1623
/*
1724
* Detours
@@ -66,6 +73,14 @@ char * FIX_fn_szGetStringFromTextOrStringParam( void *param )
6673
return result;
6774
}
6875

76+
void FIX_fn_vAffiche( void *pContext )
77+
{
78+
if ( *AI_g_bInGameMenu )
79+
JFFTXT_vDrawString(pContext, &g_stVersionTxt);
80+
81+
JFFTXT_vAffiche(pContext);
82+
}
83+
6984

7085
void FIX_xAdjustCameraToViewport2(GLD_tdstDeviceAttributes *p_stDev, GLD_tdstViewportAttributes *p_stVpt, GLI_tdstCamera *p_stCam )
7186
{
@@ -138,7 +153,7 @@ void FIX_vDraw2DSpriteWithPercent( GLD_tdstViewportAttributes *p_stVpt, MTH_tdxR
138153
p_stGlobals->ulColorInitForSprite &= 0xFF000000;
139154
p_stGlobals->ulColorInitForSprite |= GLI_a3_ForcedAAAColor[0] << 16 | GLI_a3_ForcedAAAColor[1] << 8 | GLI_a3_ForcedAAAColor[2];
140155
}
141-
156+
142157
GLI_DRV_vSendSpriteToClip(a4_st2DVertex, *GLI_g_fZValueForSprite, p_stGlobals);
143158
#else
144159
if ( *GLI_g_bForceAAAColor )
@@ -286,6 +301,13 @@ void fn_vPreAttachHooks( void )
286301
{
287302
//sprintf_s(szVersionString, sizeof(szVersionString), "/O200:%s v%s", GLI_szName, GLI_szVersion);
288303
snprintf(szVersionString, sizeof(szVersionString), "/C:%s %s", GLI_szName, GLI_szVersion);
304+
305+
/* pause menu version display */
306+
g_stVersionTxt.szText = szVersionString+3;
307+
long dx, dy, cx, cy;
308+
JFFTXT_vGetSizeValues(g_stVersionTxt.xSize, &dx, &dy, &cx, &cy);
309+
long lLength = JFFTXT_lGetStringLength(szVersionString, dx);
310+
g_stVersionTxt.X = 1000 - lLength - 5;
289311
}
290312

291313
void FIX_fn_vAttachHooks( void )
@@ -298,6 +320,7 @@ void FIX_fn_vAttachHooks( void )
298320
DetourAttach((PVOID*)&R2_fn_InputEnum, (PVOID)FIX_fn_InputEnum);
299321
DetourAttach((PVOID*)&R2_fn_SuspendGame, (PVOID)FIX_fn_SuspendGame);
300322
DetourAttach((PVOID*)&R2_fn_szGetStringFromTextOrStringParam, (PVOID)FIX_fn_szGetStringFromTextOrStringParam);
323+
DetourAttach((PVOID*)&JFFTXT_vAffiche, (PVOID)FIX_fn_vAffiche);
301324

302325
if ( CFG_bIsWidescreen && CFG_bPatchWidescreen )
303326
{
@@ -318,6 +341,8 @@ void FIX_fn_vDetachHooks( void )
318341
DetourDetach((PVOID*)&R2_fn_InputEnum, (PVOID)FIX_fn_InputEnum);
319342
DetourDetach((PVOID*)&R2_fn_SuspendGame, (PVOID)FIX_fn_SuspendGame);
320343
DetourDetach((PVOID*)&R2_fn_szGetStringFromTextOrStringParam, (PVOID)FIX_fn_szGetStringFromTextOrStringParam);
344+
DetourDetach((PVOID*)&JFFTXT_vAffiche, (PVOID)FIX_fn_vAffiche);
345+
321346

322347
if ( CFG_bIsWidescreen && CFG_bPatchWidescreen )
323348
{

R2FixCfg/config.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ void fn_vWriteDegeIni( void )
171171
WritePrivateProfileString("Glide", "NumberOfTMUs", "2", szDegePath);
172172
WritePrivateProfileString("Glide", "EnableGlideGammaRamp", "true", szDegePath);
173173
WritePrivateProfileString("Glide", "EnableInactiveAppState", "false", szDegePath);
174+
/* this one is necessary to avoid refresh rate affecting timers/screenshot lag... */
175+
WritePrivateProfileString("GeneralExt", "FPSLimit", "60", szDegePath);
174176

175177
// Display mode & refresh rate
176178
sprintf_s(szBuffer, sizeof(szBuffer), "h:%i, v:%i, refrate:%i",

0 commit comments

Comments
 (0)