public void WriteConfigFile(string outputDir)
{
string configFilePath = Path.Combine(outputDir, CONFIG_FILE_NAME);
if (!File.Exists(configFilePath))
{
// Write default values for sound drivers
NativeProxy.WritePrivateProfileString("sound", "digiid", "-1", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "midiid", "-1", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "digiwin", "-1", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "midiwin", "-1", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "digiindx", "0", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "midiindx", "0", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "digiwinindx", "0", configFilePath);
NativeProxy.WritePrivateProfileString("sound", "midiwinindx", "0", configFilePath);
}
if (_game.Settings.LetterboxMode)
{
NativeProxy.WritePrivateProfileString("misc", "defaultres", ((int)_game.Settings.LegacyLetterboxResolution).ToString(), configFilePath);
NativeProxy.WritePrivateProfileString("misc", "letterbox", "1", configFilePath);
NativeProxy.WritePrivateProfileString("misc", "game_width", null, configFilePath);
NativeProxy.WritePrivateProfileString("misc", "game_height", null, configFilePath);
}
else
{
NativeProxy.WritePrivateProfileString("misc", "defaultres", null, configFilePath);
NativeProxy.WritePrivateProfileString("misc", "letterbox", null, configFilePath);
NativeProxy.WritePrivateProfileString("misc", "game_width", _game.Settings.CustomResolution.Width.ToString(), configFilePath);
NativeProxy.WritePrivateProfileString("misc", "game_height", _game.Settings.CustomResolution.Height.ToString(), configFilePath);
}
NativeProxy.WritePrivateProfileString("misc", "gamecolordepth", (((int)_game.Settings.ColorDepth) * 8).ToString(), configFilePath);
StringBuilder buffer = new StringBuilder(100);
NativeProxy.GetPrivateProfileString("graphics", "defaultdriver", "NULL", buffer, buffer.Capacity, configFilePath);
if (buffer.ToString() != _game.Settings.GraphicsDriver.ToString())
{
NativeProxy.WritePrivateProfileString("graphics", "defaultdriver", _game.Settings.GraphicsDriver.ToString(), configFilePath);
NativeProxy.WritePrivateProfileString("graphics", "driver", _game.Settings.GraphicsDriver.ToString(), configFilePath);
}
// Always write "render_at_screenres" as 0 (false), which is now the default for user-defined parameter
NativeProxy.WritePrivateProfileString("graphics", "render_at_screenres", "0", configFilePath);
NativeProxy.WritePrivateProfileString("misc", "titletext", _game.Settings.GameName + " Setup", configFilePath);
}