1.0 - GTI File Reference
This section contains descriptions of all valid GTI file keywords. The GTI file is an INI file that defines the user interface for your GameTune panel. GTI files consist of two areas, the Options section and the Tab sections.
The Options section specifies global settings that affect GameTune's operation, such as the window title, position and size in addition to settings for special tabs like the Console.
Each Tab section describes one page of the GameTune panel, and contains information about the controls inside the page.
The following is a simple GTI file:
; Example GameTune GTI file. [Options] WindowTitle = Example GameTune Interface [Custom Controls] TunerVector Name = 3D Vector Tuner Style = 3D X = 1.0 ; default Y = 1.0 Z = 0.0 TunerButton Name = Wide Button Style = Wide TunerFloat Name = Float Tuner w/Slider Min = 0.0 Max = 1.0 Value = 0.6 ; default
The window created looks like this:

1.1 - Options Section
The options section provides control over the general operation of the GameTune window. It also contains settings for special tabs, such as the Console.
1.1.1 - WindowTitle = [String]
Sets the title of the GameTune panel, which can help create a custom look for your tuning panel.
The default value for this option is the current GameTune version.
Example:
[Options] WindowTitle = Stained Glass Tuning Panel
1.1.2 - StateFile = [String]
Sets the name and location of State file. When the user clicks the Save button at the bottom of the panel, the current state of all tuners is written to this file. Similarly when the Load button is pressed, the state is loaded.
The default value for this option is the name of the GTI file, with the extention .GTS.
Example:
[Options] StateFile = config.gts
1.1.3 - SaveParentRect = [Int]
Setting this value to 1 causes GameTune to save the parent window position and size, in addition to its own to the registry when the GameTune window is destroyed. This can be handy when you want your program to always start up where you left it on screen.
The default value for this option is 0.
Example:
[Options] SaveParentRect = 1
1.1.4 - ConsoleEnabled = [Int]
Setting this value to 1 causes GameTune to add a Console tab after the last user-specified tab. This tab contains an edit box for typing commands, a check box for enabling log file output, and a rich text control that displays text sent to the console.
Note that if the console is disabled, the program can still write to it using gtConOut(), and have the text written to the log file
The default value for this option is 0.
Example:
[Options] ConsoleEnabled = 1
1.1.5 - ConsoleReadOnly = [Int]
Setting this value to 1 causes GameTune to hide the edit box in the console tab, which can be useful when you want your program to output text, but not support any commands. This option has no effect if ConsoleEnabled is set to 0.
The default value for this option is 0.
Example:
[Options] ConsoleEnabled = 1 ConsoleReadOnly = 1
1.1.6 - ConsoleLogFile = [String]
Sets the name of the Console Log file. All console text (including commands) is written to this file if the Log Console Output checkbox in the Console tab is checked. The state of this checkbox is saved to the registry when the program calls gtShutdown().
The default value for this option is the name of the GTI file, with the file extension .LOG.
Example:
[Options] ConsoleEnabled = 1 ConsoleLogFile = debug.log
1.1.7 - ButtonsDisabled = [Int]
Setting this value to 1 causes GameTune to hide the Save, Load and Defaults buttons from the bottom of the tuning panel. This can be useful for conversion utilities, or panels where simplicity is needed.
The default value for this option is 0.
Example:
[Options] ButtonsDisabled = 1
1.1.8 - StartX = [Int] / StartY = [Int] / StartWidth = [Int] / StartHeight = [Int]
These values specify the initial position and size of the GameTune window, if no saved position is found in the registry. Note that the GameTune window will not resize any smaller than 330x200.
The default values are StartX = 100, StartY = 100, StartWidth = 400, StartHeight = 300.
Example:
[Options] StartX = 100 StartY = 100 StartWidth = 500 StartHeight = 200
1.2 - Tab Sections
Each page of the GameTune panel is described by a Tab section in the GTI file. A Tab section consists of a list of tuners and their options. Some options are specific to certain types of tuners, while others apply to all tuners.
1.2.1 - Global Tuner Options
1.2.1.1 - TunerXXXX = [String]
Sets the tuner Ident to the specified value. This string is used by the program to access the tuner. XXXX refers to one of the valid tuner classes, see below.
If no value is specified, the tuner is assigned the identifier starting at Tuner01 and incrementing for each tuner without an Ident.
Example:
[Configuration Page] TunerBool = MyBoolTuner ; the program accesses this tuner as 'MyBoolTuner'.
1.2.1.2 - Name = [String]
Sets the name, or label of the tuner. Depending on the type of tuner, this value is handled differently. For most tuners, the value specified for Name appears in the Name column of the panel.
The default value for this option is an empty string.
Example:
[Configuration Page] TunerBool = MyBoolTuner Name = My Bool Tuner
1.2.1.3 - ReadOnly = [Int]
Setting this value to 1 causes the tuner's interface to be read only. This option only applies to tuners that use edit boxes, such as String, Float and Int tuners. The ReadOnly option can be modified at runtime using the gtSetReadOnly() API call.
The default value for this option is 0.
Example:
[Configuration Page] TunerString = MyStringTuner ReadOnly = 1
1.2.1.2 - Disabled = [Int]
Setting this value to 1 causes the tuner's interface to be disabled. This option applies to all tuners, and can be used to temporarily prevent the user from modifying part of the interface. For example, a Cancel button in a conversion utility should be disabled unless the program is actually in the middle of an operation.The Disabled option can be modified at runtime using the gtSetDisabled() API call.
The default value for this option is 0.
Example:
[File Conversion] TunerButton = CancelBtn Name = Cancel Disabled = 1
1.2.1.2 - Visible = [Int]
Setting this value to 1 causes the tuner to hide its interface. This option applies to all tuners, and can be used to hide controls that are currently not useful. It can also be used to create panels that change their contents based on the status of a tuner. The visible option can be modified at runtime using the gtSetVisible() API call.
The default value for this option is 1.
Example:
[Configuration Page] TunerString Name = Hidden String Visible = 0
1.2.2 - TunerInt Options
1.2.2.1 - Value = [Int]
This option sets the default value for the tuner, the default is 0.
Example:
[Configuration Page] TunerInt Name = My Int Tuner Value = 5
1.2.2.2 - Min = [Int] / Max = [Int]
These options set the minimum and maximum values allowed for the tuner. The presence of one or both of these values causes a slider to be added to the tuner's interface.
1.2.3 - TunerFloat Options
1.2.3.1 - Value = [Float]
This option sets the default value for the tuner, the default is 0.
Example:
[Configuration Page] TunerFloat Name = My Float Tuner Value = 5
1.2.3.2 - Min = [Float] / Max = [Float]
These options set the minimum and maximum values allowed for the tuner. The presence of one or both of these values causes a slider to be added to the tuner's interface.
1.2.4 - TunerString Options
1.2.4.1 - Value = [String]
This option sets the default text for the tuner.
Example:
[Configuration Page] TunerString Name = My String Tuner Value = My Value
1.2.5 - TunerBool Options
1.2.5.1 - Value = [True/False/0/1]
This option sets the default value for the tuner, the default is 0.
Example:
[Configuration Page] TunerBool Name = My Bool Tuner Value = True
1.2.5.1 - Style = [Check/YesNo/TrueFalse/OnOff]
This option sets the style for the controls, the default is Check.
Example:
[Configuration Page] TunerBool Style = TrueFalse
1.2.5 - TunerButton Options
Note that reading Button tuners is slightly different from reading other tuners. By default button tuners always return 0 when polled with gtGetInt(). The first time they are polled after being pressed, they return 1 and then revert back to 0.
1.2.5.1 - Style = [Wide/Labeled]
This option sets the style for the controls, the default is Wide.
Example:
[Configuration Page] TunerButton Style = Wide
1.2.5.2 - ButtonText = [String]
This option is only valid when Style is set to Labeled, the default is "Go".
Example:
[Configuration Page] TunerButton Name = Begin Conversion Value = Do it!
1.2.6 - TunerLabel Options
1.2.6.1 - Style = [Label/Divider/Monitor]
This option sets the style for the controls, the default is Label.
Example:
[Configuration Page] TunerButton Name = My Divider Style = Divider
1.2.6.1 - Value = [String]
This option is only valid when Style is set to Monitor.
Example:
[Configuration Page] TunerLabel Style = Monitor Name = FPS Value = 0.0
1.2.7 - TunerVector Options
Vector tuners are currently implemented as an arranged set of Float tuners. In the future this will change, possibly to a 3DS Max style control
1.2.7.1 - Style = [2D/3D/4D]
This option sets the number of axes for the tuner, the default is 2D.
Example:
[Configuration Page] TunerVector Name = My Vector Tuner Style = 3D
1.2.7.2 - X = [Float]/Y = [Float]/Z = [Float]/W = [Float]
These options set the default values for each axis.
Example:
[Configuration Page] TunerVector Name = My Vector Tuner Style = 3D X = 1.0 Y = 0.0 Z = 0.0
1.2.8 - TunerAngle Options
Angle tuners are currently implemented as a Float tuner with a slider and a range of 0.0 to 360.0 or 0.0 to 6.28 depending on the Style option. In the future this will change.
1.2.6.1 - Style = [Radians/Degrees]
This option sets the style for the controls, the default is Label.
Example:
[Configuration Page] TunerButton Name = My Divider Style = Divider
1.2.8.1 - Value = [Angle]
This option sets the default value for the tuner, the default is 0.
Example:
[Configuration Page] TunerAngle Name = My Angle Tuner Value = 5
2.0 - API Reference
Return to the GameTune Homepage
Copyright © 1998-2000 Wade Brainerd. All Rights Reserved. Last modified Thursday, August 3, 2000 5:03 PM