From 7abd1f743cfec40a6431e129b9080256d785276c Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 16 Oct 2022 00:02:43 +0200 Subject: [PATCH] always enable GetDiskFreeSpace patch --- src/config.c | 2 -- src/winapi_hooks.c | 16 ++++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/config.c b/src/config.c index 20d5436..e9fa4fe 100644 --- a/src/config.c +++ b/src/config.c @@ -372,7 +372,6 @@ static void cfg_create_ini() "allow_wmactivate=false\n" "dinputhook=false\n" "flipclear=false\n" - "limit_disk_space=false\n" "fixmousehook=false\n" "bpp=0\n" "\n" @@ -740,7 +739,6 @@ static void cfg_create_ini() "; Fallout\n" "[falloutw]\n" "dinputhook=true\n" - "limit_disk_space=true\n" "\n" "; Fallout 2\n" "[FALLOUT2]\n" diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index 935a461..fcd8143 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -791,19 +791,19 @@ BOOL WINAPI fake_GetDiskFreeSpaceA( lpNumberOfFreeClusters, lpTotalNumberOfClusters); - if (cfg_get_bool("limit_disk_space", FALSE)) + if (result && lpSectorsPerCluster && lpBytesPerSector && lpNumberOfFreeClusters) { - if (lpSectorsPerCluster) + long long int free_bytes = (long long int)*lpNumberOfFreeClusters * *lpSectorsPerCluster * *lpBytesPerSector; + + if (free_bytes >= 2147155968) + { *lpSectorsPerCluster = 0x00000040; - - if (lpBytesPerSector) *lpBytesPerSector = 0x00000200; - - if (lpNumberOfFreeClusters) *lpNumberOfFreeClusters = 0x0000FFF6; - if (lpTotalNumberOfClusters) - *lpTotalNumberOfClusters = 0x0000FFF6; + if (lpTotalNumberOfClusters) + *lpTotalNumberOfClusters = 0x0000FFF6; + } } return result;