mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2025-01-01 16:53:01 +05:00
Handle IMGs bigger than 4GB
This commit is contained in:
parent
6c5a025c60
commit
4bcf3ba89a
1 changed files with 29 additions and 0 deletions
|
@ -941,6 +941,14 @@ RwBool GTARtAnimInterpolatorSetCurrentAnim(RtAnimInterpolator* animI, RtAnimAnim
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __stdcall CdStreamSetFilePointer( HANDLE hFile, uint32_t distanceToMove, void*, DWORD dwMoveMethod )
|
||||||
|
{
|
||||||
|
LARGE_INTEGER li;
|
||||||
|
li.QuadPart = int64_t(distanceToMove) << 11;
|
||||||
|
SetFilePointerEx( hFile, li, nullptr, dwMoveMethod );
|
||||||
|
}
|
||||||
|
static auto* pCdStreamSetFilePointer = CdStreamSetFilePointer;
|
||||||
|
|
||||||
|
|
||||||
#include <xnamath.h>
|
#include <xnamath.h>
|
||||||
|
|
||||||
|
@ -1971,6 +1979,21 @@ FixedCarDamage_Negative:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __declspec(naked) CdStreamThreadHighSize()
|
||||||
|
{
|
||||||
|
_asm
|
||||||
|
{
|
||||||
|
xor edx, edx
|
||||||
|
shld edx, ecx, 11
|
||||||
|
shl ecx, 11
|
||||||
|
mov [esi+1Ch+8], ecx // OVERLAPPED.Offset
|
||||||
|
mov [esi+1Ch+0Ch], edx // OVERLAPPED.OffsetHigh
|
||||||
|
|
||||||
|
mov edx, [esi+4]
|
||||||
|
retn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static const float fSteamSubtitleSizeX = 0.45f;
|
static const float fSteamSubtitleSizeX = 0.45f;
|
||||||
static const float fSteamSubtitleSizeY = 0.9f;
|
static const float fSteamSubtitleSizeY = 0.9f;
|
||||||
|
@ -3062,6 +3085,12 @@ void Patch_SA_10()
|
||||||
char* pScannerNames = *(char**)0x4E72D4;
|
char* pScannerNames = *(char**)0x4E72D4;
|
||||||
strcpy(pScannerNames + (8*113), "WESTP");
|
strcpy(pScannerNames + (8*113), "WESTP");
|
||||||
strcpy(pScannerNames + (8*134), "????");
|
strcpy(pScannerNames + (8*134), "????");
|
||||||
|
|
||||||
|
// Handle IMGs bigger than 4GB
|
||||||
|
Nop( 0x4065BB, 3 );
|
||||||
|
Nop( 0x4065C2, 1 );
|
||||||
|
InjectHook( 0x4065C2+1, CdStreamThreadHighSize, PATCH_CALL );
|
||||||
|
Patch<const void*>( 0x406620+2, &pCdStreamSetFilePointer );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Patch_SA_11()
|
void Patch_SA_11()
|
||||||
|
|
Loading…
Reference in a new issue