Der Record könnte in Delphi so aussehen (sobald man mehr Infos hat, würde man die inline-records extra deklarieren und dem ganzen sinnvolle Bezeichner geben)...
Delphi-Quellcode:
type
PGtaSaSet = ^TGtaSaSet;
TGtaSaSet = packed record
{ Header }
Identifier : Longint; // always 6
{ Unknown block (Keyboard configuration maybe) }
UnknownBlock: array [0..3] of array [0..58] of record
KeyIdentifier : Longint;
UnknownBlock_0x004 : Longint;
UnknownBlock_0x008 : Longint;
end;
{ Display/Audio/Controller settings }
MouseSensitivity : Single;
Unknown_0xB18 : ByteBool;
SteerWithMouse : ByteBool;
InvertMouseVertically : ByteBool;
SfxVolume : Byte;
RadioVolume : Byte;
RadioStation : Byte;
RadioAutoTune : ByteBool;
RadioEqualizer : ByteBool;
Brightness : Longint;
MipMapping : ByteBool;
AutomediaScanOnStartup : ByteBool;
Unknown_0xB26 : Longint;
VisualFxQuality : Longint;
Unknown_0xB2E : Byte;
DrawDistance : Single;
Subtitles : ByteBool;
Widescreen : ByteBool;
FrameLimiter : ByteBool;
Resolution : Longint;
ControllerConfiguration: Byte;
Unknown_0xB3B : Byte;
Hud : ByteBool;
RadarMode : Longint;
UserTracksPlayMode : Byte;
StoreGallery : ByteBool;
Unknown_0xB43 : Byte;
Unknown_0xB44 : Byte;
Unknown_0xB45 : Byte;
Unknown_0xB46 : Byte;
Unknown_0xB47 : Byte;
Unknown_0xB48 : Byte;
Unknown_0xB49 : Byte;
MapLegend : ByteBool;
Unknown_0xB4B : Longint;
Unknown_0xB4F : Longint;
Unknown_0xB53 : Byte;
end; // SizeOf = 0xB54 (2900)