Absolute Drift
Hi I tried this game at a friends last night and want to buy it for myself. It's so addictive to play and would look awesome in 3D. My mate didn't have a 3D screen though so has anyone tried it? There doesn't seem to be a way of changing the resolution I game though?!? http://store.steampowered.com/app/320140/
Hi I tried this game at a friends last night and want to buy it for myself.
It's so addictive to play and would look awesome in 3D.
My mate didn't have a 3D screen though so has anyone tried it?
There doesn't seem to be a way of changing the resolution I game though?!?

http://store.steampowered.com/app/320140/

#1
Posted 08/22/2015 11:03 AM   
4everAwake actually posted a fix for that one in the '[url=https://forums.geforce.com/default/topic/809236/3d-vision/obscure-indie-games/post/4639228/#4639228]obscure indie games[/url]' thread awhile ago. [quote="4everAwake"][b][u]Absolute Drift[/u][/b] - http://store.steampowered.com/app/320140/ [img]https://forums.geforce.com/cmd/default/download-comment-attachment/65678/[/img] Fixed haloing issues: https://s3.amazonaws.com/4everAwake/3d_fix_Absolute_Drift.zip 1) Download the above ZIP file and extract the contents into the game directory 2) Use Nvidia Inspector to assign "AbsoluteDrift.exe" to the "3D-Hub Player" profile[/quote]
4everAwake actually posted a fix for that one in the 'obscure indie games' thread awhile ago.

4everAwake said:Absolute Drift - http://store.steampowered.com/app/320140/


Image

Fixed haloing issues: https://s3.amazonaws.com/4everAwake/3d_fix_Absolute_Drift.zip

1) Download the above ZIP file and extract the contents into the game directory
2) Use Nvidia Inspector to assign "AbsoluteDrift.exe" to the "3D-Hub Player" profile
#2
Posted 08/22/2015 04:45 PM   
Awesome. Thanks for letting me know. Does anyone know where the config is to change the resolution though. There are no in-game settings and I can't seem to find the ini file? Thanks again!
Awesome. Thanks for letting me know.
Does anyone know where the config is to change the resolution though. There are no in-game settings and I can't seem to find the ini file?
Thanks again!

#3
Posted 08/22/2015 05:00 PM   
Oh nice, can we get that up on the blog? I was interested in it.
Oh nice, can we get that up on the blog? I was interested in it.

#4
Posted 08/22/2015 06:15 PM   
[quote="GibsonRed"]Awesome. Thanks for letting me know. Does anyone know where the config is to change the resolution though. There are no in-game settings and I can't seem to find the ini file? Thanks again![/quote]No problem, just glad I remembered it ... not sure about the resolution, I don't have the game. If it's a Unity game they can be impossible to change at times, usually they'll have a Data folder name after the Game.exe like Game_Data. Usually you can set them via a launcher, if any, or the options menu. Otherwise the only other way I've found is sometimes Chiri's Force Res mod will work http://helixmod.blogspot.com/2013/02/chiris-force-certain-resolutionhertz.html ... but that might not work on newer drivers.(?)
GibsonRed said:Awesome. Thanks for letting me know.
Does anyone know where the config is to change the resolution though. There are no in-game settings and I can't seem to find the ini file?
Thanks again!
No problem, just glad I remembered it ... not sure about the resolution, I don't have the game. If it's a Unity game they can be impossible to change at times, usually they'll have a Data folder name after the Game.exe like Game_Data. Usually you can set them via a launcher, if any, or the options menu. Otherwise the only other way I've found is sometimes Chiri's Force Res mod will work http://helixmod.blogspot.com/2013/02/chiris-force-certain-resolutionhertz.html ... but that might not work on newer drivers.(?)
#5
Posted 08/22/2015 06:44 PM   
================================================= Just create a shell script like this with .cmd extension e.g. "Absolute Drift.cmd" ================================================= set arg1=%1 set arg2=%2 start /w PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'c:\some_path\res_changer.ps1' -width %1 -height %2" "C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvstlink.exe" /enable start /w "Absolute Drift" "c:\\some_path_to_your_shortcut\\Absolute Drift.lnk" "C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvstlink.exe" /disable start /w PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'c:\some_path_to_the_res_changer\res_changer.ps1' -width 1920 -height 1080" ================================================= Then create this powershell script name it res_changer.ps1 (or whatever) for the resolution change ================================================= param ( [Parameter(Mandatory=$true, Position = 0)] [int] $width, [Parameter(Mandatory=$true, Position = 1)] [int] $height ) Function Set-ScreenResolution { <# .Synopsis Sets the Screen Resolution of the primary monitor .Description Uses Pinvoke and ChangeDisplaySettings Win32API to make the change .Example Set-ScreenResolution -Width 1024 -Height 768 #> param ( [Parameter(Mandatory=$true, Position = 0)] [int] $Width, [Parameter(Mandatory=$true, Position = 1)] [int] $Height ) $pinvokeCode = @" using System; using System.Runtime.InteropServices; namespace Resolution { [StructLayout(LayoutKind.Sequential)] public struct DEVMODE1 { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string dmDeviceName; public short dmSpecVersion; public short dmDriverVersion; public short dmSize; public short dmDriverExtra; public int dmFields; public short dmOrientation; public short dmPaperSize; public short dmPaperLength; public short dmPaperWidth; public short dmScale; public short dmCopies; public short dmDefaultSource; public short dmPrintQuality; public short dmColor; public short dmDuplex; public short dmYResolution; public short dmTTOption; public short dmCollate; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string dmFormName; public short dmLogPixels; public short dmBitsPerPel; public int dmPelsWidth; public int dmPelsHeight; public int dmDisplayFlags; public int dmDisplayFrequency; public int dmICMMethod; public int dmICMIntent; public int dmMediaType; public int dmDitherType; public int dmReserved1; public int dmReserved2; public int dmPanningWidth; public int dmPanningHeight; }; class User_32 { [DllImport("user32.dll")] public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode); [DllImport("user32.dll")] public static extern int ChangeDisplaySettings(ref DEVMODE1 devMode, int flags); public const int ENUM_CURRENT_SETTINGS = -1; public const int CDS_UPDATEREGISTRY = 0x01; public const int CDS_TEST = 0x02; public const int DISP_CHANGE_SUCCESSFUL = 0; public const int DISP_CHANGE_RESTART = 1; public const int DISP_CHANGE_FAILED = -1; } public class PrmaryScreenResolution { static public string ChangeResolution(int width, int height) { DEVMODE1 dm = GetDevMode1(); if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm)) { dm.dmPelsWidth = width; dm.dmPelsHeight = height; int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST); if (iRet == User_32.DISP_CHANGE_FAILED) { return "Unable To Process Your Request. Sorry For This Inconvenience."; } else { iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY); switch (iRet) { case User_32.DISP_CHANGE_SUCCESSFUL: { return "Success"; } case User_32.DISP_CHANGE_RESTART: { return "You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode."; } default: { return "Failed To Change The Resolution"; } } } } else { return "Failed To Change The Resolution."; } } private static DEVMODE1 GetDevMode1() { DEVMODE1 dm = new DEVMODE1(); dm.dmDeviceName = new String(new char[32]); dm.dmFormName = new String(new char[32]); dm.dmSize = (short)Marshal.SizeOf(dm); return dm; } } } "@ Add-Type $pinvokeCode -ErrorAction SilentlyContinue [Resolution.PrmaryScreenResolution]::ChangeResolution($width,$height) } Set-ScreenResolution -Width $width -Height $height ================================================= Then create a shortcut like this with a .lnk extension ================================================= "c:\some_path_to_the_shell_script\Absolute Drift.cmd" 1280 720
=================================================
Just create a shell script like this with .cmd extension e.g. "Absolute Drift.cmd"
=================================================

set arg1=%1
set arg2=%2

start /w PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'c:\some_path\res_changer.ps1' -width %1 -height %2"
"C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvstlink.exe" /enable
start /w "Absolute Drift" "c:\\some_path_to_your_shortcut\\Absolute Drift.lnk"
"C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvstlink.exe" /disable
start /w PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'c:\some_path_to_the_res_changer\res_changer.ps1' -width 1920 -height 1080"


=================================================
Then create this powershell script name it res_changer.ps1 (or whatever) for the resolution change
=================================================

param (
[Parameter(Mandatory=$true,
Position = 0)]
[int]
$width,

[Parameter(Mandatory=$true,
Position = 1)]
[int]
$height
)



Function Set-ScreenResolution {

<#
.Synopsis
Sets the Screen Resolution of the primary monitor
.Description
Uses Pinvoke and ChangeDisplaySettings Win32API to make the change
.Example
Set-ScreenResolution -Width 1024 -Height 768
#>
param (
[Parameter(Mandatory=$true,
Position = 0)]
[int]
$Width,

[Parameter(Mandatory=$true,
Position = 1)]
[int]
$Height
)

$pinvokeCode = @"

using System;
using System.Runtime.InteropServices;

namespace Resolution
{

[StructLayout(LayoutKind.Sequential)]
public struct DEVMODE1
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmDeviceName;
public short dmSpecVersion;
public short dmDriverVersion;
public short dmSize;
public short dmDriverExtra;
public int dmFields;

public short dmOrientation;
public short dmPaperSize;
public short dmPaperLength;
public short dmPaperWidth;

public short dmScale;
public short dmCopies;
public short dmDefaultSource;
public short dmPrintQuality;
public short dmColor;
public short dmDuplex;
public short dmYResolution;
public short dmTTOption;
public short dmCollate;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmFormName;
public short dmLogPixels;
public short dmBitsPerPel;
public int dmPelsWidth;
public int dmPelsHeight;

public int dmDisplayFlags;
public int dmDisplayFrequency;

public int dmICMMethod;
public int dmICMIntent;
public int dmMediaType;
public int dmDitherType;
public int dmReserved1;
public int dmReserved2;

public int dmPanningWidth;
public int dmPanningHeight;
};



class User_32
{
[DllImport("user32.dll")]
public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode);
[DllImport("user32.dll")]
public static extern int ChangeDisplaySettings(ref DEVMODE1 devMode, int flags);

public const int ENUM_CURRENT_SETTINGS = -1;
public const int CDS_UPDATEREGISTRY = 0x01;
public const int CDS_TEST = 0x02;
public const int DISP_CHANGE_SUCCESSFUL = 0;
public const int DISP_CHANGE_RESTART = 1;
public const int DISP_CHANGE_FAILED = -1;
}



public class PrmaryScreenResolution
{
static public string ChangeResolution(int width, int height)
{

DEVMODE1 dm = GetDevMode1();

if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
{

dm.dmPelsWidth = width;
dm.dmPelsHeight = height;

int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

if (iRet == User_32.DISP_CHANGE_FAILED)
{
return "Unable To Process Your Request. Sorry For This Inconvenience.";
}
else
{
iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);
switch (iRet)
{
case User_32.DISP_CHANGE_SUCCESSFUL:
{
return "Success";
}
case User_32.DISP_CHANGE_RESTART:
{
return "You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.";
}
default:
{
return "Failed To Change The Resolution";
}
}

}


}
else
{
return "Failed To Change The Resolution.";
}
}

private static DEVMODE1 GetDevMode1()
{
DEVMODE1 dm = new DEVMODE1();
dm.dmDeviceName = new String(new char[32]);
dm.dmFormName = new String(new char[32]);
dm.dmSize = (short)Marshal.SizeOf(dm);
return dm;
}
}
}

"@

Add-Type $pinvokeCode -ErrorAction SilentlyContinue
[Resolution.PrmaryScreenResolution]::ChangeResolution($width,$height)
}

Set-ScreenResolution -Width $width -Height $height

=================================================
Then create a shortcut like this with a .lnk extension
=================================================

"c:\some_path_to_the_shell_script\Absolute Drift.cmd" 1280 720

#6
Posted 08/23/2015 03:04 PM   
...wow, how did you work that out?
...wow, how did you work that out?

#7
Posted 08/24/2015 10:04 AM   
I was with you up until you said, make a shell script! Thanks, but seriously, it is beyond me. I thought it would be just changing an ini file somewhere.
I was with you up until you said, make a shell script!
Thanks, but seriously, it is beyond me. I thought it would be just changing an ini file somewhere.

#8
Posted 08/24/2015 07:16 PM   
Scroll To Top