Configfile

Configuration file access functions. The configuration file is compiled version of the [file:game.project] file.

Namespace: dmConfigFile
Include: #include <dmsdk/dlib/configfile_gen.hpp>
TYPES
FConfigFileCreate Called when config file extension is created
FConfigFileDestroy Called when config file extension is destroyed
FConfigFileGetFloat Called when a float is requested from the config file extension
FConfigFileGetFloat Called when a float is requested from the config file extension
FConfigFileGetInt Called when an integer is requested from the config file extension
FConfigFileGetString Called when a string is requested from the config file extension
HConfig HConfigFile type definition
HConfigFile HConfigFile type definition
FUNCTIONS
void ConfigFileExtensionDescBufferSize() Used when registering new config file extensions.
int32_t ConfigFileGetFloat(HConfigFile config, const char* key, int32_t default_value) get config value as float
int32_t ConfigFileGetInt(HConfigFile config, const char* key, int32_t default_value) get config value as integer
const char* ConfigFileGetString(HConfigFile config, const char* key, const char* default_value) Get config value as string, returns default if the...
int32_t GetFloat(HConfigFile config, const char* key, int32_t default_value) get config value as float
int32_t GetInt(HConfigFile config, const char* key, int32_t default_value) get config value as integer
const char* GetString(HConfigFile config, const char* key, const char* default_value) Get config value as string, returns default if the...
MACROS
DM_DECLARE_CONFIGFILE_EXTENSION() declare a new config file extension

Functions

ConfigFileExtensionDescBufferSize

void ConfigFileExtensionDescBufferSize()

It defines the minimum size of the description blob being registered.

PARAMETERS


ConfigFileGetFloat

int32_t ConfigFileGetFloat(HConfigFile config, const char* key, int32_t default_value)

Get config value as float, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
int32_t default_value Default value to return if key isn't found

RETURNS

int32_t found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    float gravity = ConfigFileGetFloat(params->m_ConfigFile, "physics.gravity_y", -9.8f);
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    float gravity = dmConfigFile::GetFloat(params->m_ConfigFile, "physics.gravity_y", -9.8f);
}

ConfigFileGetInt

int32_t ConfigFileGetInt(HConfigFile config, const char* key, int32_t default_value)

Get config value as integer, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
int32_t default_value Default value to return if key isn't found

RETURNS

int32_t found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    int32_t displayWidth = ConfigFileGetInt(params->m_ConfigFile, "display.width", 640);
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    int32_t displayWidth = dmConfigFile::GetInt(params->m_ConfigFile, "display.width", 640);
}

ConfigFileGetString

const char* ConfigFileGetString(HConfigFile config, const char* key, const char* default_value)

Get config value as string, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
const char* default_value Default value to return if key isn't found

RETURNS

const char* found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    const char* projectTitle = ConfigFileGetString(params->m_ConfigFile, "project.title", "Untitled");
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    const char* projectTitle = dmConfigFile::GetString(params->m_ConfigFile, "project.title", "Untitled");
}

GetFloat

int32_t GetFloat(HConfigFile config, const char* key, int32_t default_value)

Get config value as float, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
int32_t default_value Default value to return if key isn't found

RETURNS

int32_t found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    float gravity = ConfigFileGetFloat(params->m_ConfigFile, "physics.gravity_y", -9.8f);
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    float gravity = dmConfigFile::GetFloat(params->m_ConfigFile, "physics.gravity_y", -9.8f);
}

GetInt

int32_t GetInt(HConfigFile config, const char* key, int32_t default_value)

Get config value as integer, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
int32_t default_value Default value to return if key isn't found

RETURNS

int32_t found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    int32_t displayWidth = ConfigFileGetInt(params->m_ConfigFile, "display.width", 640);
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    int32_t displayWidth = dmConfigFile::GetInt(params->m_ConfigFile, "display.width", 640);
}

GetString

const char* GetString(HConfigFile config, const char* key, const char* default_value)

Get config value as string, returns default if the key isn't found

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
const char* default_value Default value to return if key isn't found

RETURNS

const char* found value or default value

EXAMPLES

static ExtensionResult AppInitialize(ExtensionAppParams* params)
{
    const char* projectTitle = ConfigFileGetString(params->m_ConfigFile, "project.title", "Untitled");
}
``````cpp
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
    const char* projectTitle = dmConfigFile::GetString(params->m_ConfigFile, "project.title", "Untitled");
}

Types

FConfigFileCreate

void FConfigFileCreate(HConfigFile config)

Called when config file extension is created

PARAMETERS

HConfigFile config Config file handle


FConfigFileDestroy

void FConfigFileDestroy(HConfigFile config)

Called when config file extension is destroyed

PARAMETERS

HConfigFile config Config file handle


FConfigFileGetFloat

bool FConfigFileGetFloat(HConfigFile config, const char* key, float default_value, float* out)

Called when a float is requested from the config file extension

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
float default_value Default value to return if key isn't found
float* out Out argument where result is stored if found.

RETURNS

bool True if property was found


FConfigFileGetFloat

bool FConfigFileGetFloat(HConfigFile config, const char* key, float default_value, float* out)

Called when a float is requested from the config file extension

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
float default_value Default value to return if key isn't found
float* out Out argument where result is stored if found.

RETURNS

bool True if property was found


FConfigFileGetInt

bool FConfigFileGetInt(HConfigFile config, const char* key, int32_t default_value, int32_t* out)

Called when an integer is requested from the config file extension

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
int32_t default_value Default value to return if key isn't found
int32_t* out Out argument where result is stored if found.

RETURNS

bool True if property was found


FConfigFileGetString

bool FConfigFileGetString(HConfigFile config, const char* key, const char* default_value, const char** out)

Called when a string is requested from the config file extension

PARAMETERS

HConfigFile config Config file handle
const char* key Key in format section.key (.key for no section)
const char* default_value Default value to return if key isn't found
const char** out Out argument where result is stored if found. Caller must free() this memory.

RETURNS

bool True if property was found


HConfig

void HConfig()

Each game session has a single config file that holds all parameters from game.project and any overridden values.

PARAMETERS



HConfigFile

void HConfigFile()

Each game session has a single config file that holds all parameters from game.project and any overridden values.

PARAMETERS



Macros

DM_DECLARE_CONFIGFILE_EXTENSION

Declare and register new config file extension to the engine. Each get function should return true if it sets a proper value. Otherwise return false.

EXAMPLES

Register a new config file extension:
DM_DECLARE_CONFIGFILE_EXTENSION(MyConfigfileExtension, "MyConfigfileExtension", create, destroy, get_string, get_int, get_float);