Ejemplo n.º 1
0
//////////////////////////////////////////////////////////
//
// CopyExe
//
// Return false if needs admin access
//
//////////////////////////////////////////////////////////
bool CopyExe( void )
{
    SString strGTAEXEPathFrom = GetExePathFilename( false );
    SString strGTAEXEPathTo = GetExePathFilename( true );
    if ( !FileCopy( strGTAEXEPathFrom, strGTAEXEPathTo ) )
        return false;
    return true;
}
Ejemplo n.º 2
0
//////////////////////////////////////////////////////////
//
// SetExePatchedStatus
//
// Apply selected patches to exe
// Return false if needs admin access
//
//////////////////////////////////////////////////////////
bool SetExePatchedStatus( bool bUseExeCopy, const SExePatchedStatus& status )
{
    SString strGTAEXEPath = GetExePathFilename( bUseExeCopy );

    bool bReqAdmin = false;
    bReqAdmin |= UpdatePatchStatusTimestamp ( strGTAEXEPath, status.bTimestamp  ? PATCH_SET_ON : PATCH_SET_OFF ) == PATCH_SET_RESULT_REQ_ADMIN;
    bReqAdmin |= UpdatePatchStatusLargeMem  ( strGTAEXEPath, status.bLargeMem   ? PATCH_SET_ON : PATCH_SET_OFF ) == PATCH_SET_RESULT_REQ_ADMIN;
    bReqAdmin |= UpdatePatchStatusDep       ( strGTAEXEPath, status.bDep        ? PATCH_SET_ON : PATCH_SET_OFF ) == PATCH_SET_RESULT_REQ_ADMIN;
    bReqAdmin |= UpdatePatchStatusNvightmare( strGTAEXEPath, status.bNvightmare ? PATCH_SET_ON : PATCH_SET_OFF ) == PATCH_SET_RESULT_REQ_ADMIN;
    bReqAdmin |= UpdatePatchStatusAltModules( strGTAEXEPath, status.bAltModules ? PATCH_SET_ON : PATCH_SET_OFF ) == PATCH_SET_RESULT_REQ_ADMIN;

    return !bReqAdmin;
}
Ejemplo n.º 3
0
//////////////////////////////////////////////////////////
//
// GetExePatchedStatus
//
// Check which patches are currently applied
//
//////////////////////////////////////////////////////////
SExePatchedStatus GetExePatchedStatus( bool bUseExeCopy )
{
    SString strGTAEXEPath = GetExePathFilename( bUseExeCopy );

    SExePatchedStatus status;
    status.bTimestamp   = UpdatePatchStatusTimestamp ( strGTAEXEPath, PATCH_CHECK ) == PATCH_CHECK_RESULT_ON;
    status.bLargeMem    = UpdatePatchStatusLargeMem  ( strGTAEXEPath, PATCH_CHECK ) == PATCH_CHECK_RESULT_ON;
    status.bDep         = UpdatePatchStatusDep       ( strGTAEXEPath, PATCH_CHECK ) == PATCH_CHECK_RESULT_ON;
    status.bNvightmare  = UpdatePatchStatusNvightmare( strGTAEXEPath, PATCH_CHECK ) == PATCH_CHECK_RESULT_ON;
    status.bAltModules  = UpdatePatchStatusAltModules( strGTAEXEPath, PATCH_CHECK ) == PATCH_CHECK_RESULT_ON;

    return status;
}
Ejemplo n.º 4
0
//////////////////////////////////////////////////////////
//
// GetExeFileSize
//
//
//
//////////////////////////////////////////////////////////
uint GetExeFileSize( bool bUseExeCopy )
{
    SString strGTAEXEPath = GetExePathFilename( bUseExeCopy );
    return FileSize( strGTAEXEPath );
}
Ejemplo n.º 5
0
//////////////////////////////////////////////////////////
//
// GetUsingExePathFilename
//
// Return full path and filename of exe we will probably be using
//
//////////////////////////////////////////////////////////
SString GetUsingExePathFilename( void )
{
    return GetExePathFilename( ShouldUseExeCopy() );
}