SilkCfg - DummkopfOfHachtenduden/SilkroadDoc GitHub Wiki

4   uint    version //3
if (version < 4) {
	4   uint    unkUInt1 //1
	4   uint    WindowWidth
	4   uint    WindowHeight
	1   byte    Graphic1 	//0 = Low, 1 = Middle, 2 = High, 3 = Large scale battle, 4 = Do not change
	1   byte    Brightness 	//0 = Very Dark, 1 = Dark, 2 = Normal, 3 = Bright, 4 = Very Bright
	1   bool    unkByte2    //seen as 1 but dunno how
	1   bool    IsSoundEnabled
	1   byte    LanguageID  // Tab Index?
	if (version == 3) {
		1   byte    Graphic2
		1   byte    GraphicIndex    //1 or 2
	}
}

ImHex Pattern (silkcfg.hexpat)

Allows for crude editing capabilities using ImHex

struct WindowResolution
{
    u32 Width;
    u32 Height;
};

enum GraphicType : u8
{
    Low = 0,
    Middle = 1,
    High = 2,
    Large = 3,
    Unchanged = 4
};

enum Brightness : u8
{
    VeryDark = 0,
    Dark = 1,
    Normal = 2,
    Bright = 3,
    VeryBright = 4
};

struct SilkCfg
{
    u32 version;
    u32 unkUInt01;
    WindowResolution Resolution;
    GraphicType Graphic1;
    Brightness Brightness;
    u8 unkByte01;
    u8 IsSoundEnabled;
    u8 LanguageId;
    if (version == 3)
    {
        GraphicType Graphic2;
        u8 GraphicUsed;
    }
};

SilkCfg file @ 0;