void GBAConfigLoadDefaults(struct GBAConfig* config, const struct GBAOptions* opts) { ConfigurationSetValue(&config->defaultsTable, 0, "bios", opts->bios); ConfigurationSetIntValue(&config->defaultsTable, 0, "skipBios", opts->skipBios); ConfigurationSetIntValue(&config->defaultsTable, 0, "useBios", opts->useBios); ConfigurationSetIntValue(&config->defaultsTable, 0, "logLevel", opts->logLevel); ConfigurationSetIntValue(&config->defaultsTable, 0, "frameskip", opts->frameskip); ConfigurationSetIntValue(&config->defaultsTable, 0, "rewindEnable", opts->rewindEnable); ConfigurationSetIntValue(&config->defaultsTable, 0, "rewindBufferCapacity", opts->rewindBufferCapacity); ConfigurationSetIntValue(&config->defaultsTable, 0, "rewindBufferInterval", opts->rewindBufferInterval); ConfigurationSetFloatValue(&config->defaultsTable, 0, "fpsTarget", opts->fpsTarget); ConfigurationSetUIntValue(&config->defaultsTable, 0, "audioBuffers", opts->audioBuffers); ConfigurationSetUIntValue(&config->defaultsTable, 0, "sampleRate", opts->sampleRate); ConfigurationSetIntValue(&config->defaultsTable, 0, "audioSync", opts->audioSync); ConfigurationSetIntValue(&config->defaultsTable, 0, "videoSync", opts->videoSync); ConfigurationSetIntValue(&config->defaultsTable, 0, "fullscreen", opts->fullscreen); ConfigurationSetIntValue(&config->defaultsTable, 0, "width", opts->width); ConfigurationSetIntValue(&config->defaultsTable, 0, "height", opts->height); ConfigurationSetIntValue(&config->defaultsTable, 0, "volume", opts->volume); ConfigurationSetIntValue(&config->defaultsTable, 0, "mute", opts->mute); ConfigurationSetIntValue(&config->defaultsTable, 0, "lockAspectRatio", opts->lockAspectRatio); ConfigurationSetIntValue(&config->defaultsTable, 0, "resampleVideo", opts->resampleVideo); ConfigurationSetIntValue(&config->defaultsTable, 0, "suspendScreensaver", opts->suspendScreensaver); switch (opts->idleOptimization) { case IDLE_LOOP_IGNORE: ConfigurationSetValue(&config->defaultsTable, 0, "idleOptimization", "ignore"); break; case IDLE_LOOP_REMOVE: ConfigurationSetValue(&config->defaultsTable, 0, "idleOptimization", "remove"); break; case IDLE_LOOP_DETECT: ConfigurationSetValue(&config->defaultsTable, 0, "idleOptimization", "detect"); break; } }
static int _iniRead(void* configuration, const char* section, const char* key, const char* value) { if (section && !section[0]) { section = 0; } ConfigurationSetValue(configuration, section, key, value); return 1; }
void ConfigurationSetFloatValue(struct Configuration* configuration, const char* section, const char* key, float value) { char charValue[16]; ftostr_u(charValue, sizeof(charValue), value); ConfigurationSetValue(configuration, section, key, charValue); }
void ConfigurationSetUIntValue(struct Configuration* configuration, const char* section, const char* key, unsigned value) { char charValue[12]; sprintf(charValue, "%u", value); ConfigurationSetValue(configuration, section, key, charValue); }
void ConfigurationSetIntValue(struct Configuration* configuration, const char* section, const char* key, int value) { char charValue[12]; sprintf(charValue, "%i", value); ConfigurationSetValue(configuration, section, key, charValue); }
void GBAConfigSetOverrideValue(struct GBAConfig* config, const char* key, const char* value) { ConfigurationSetValue(&config->overridesTable, config->port, key, value); }
void GBAConfigSetDefaultValue(struct GBAConfig* config, const char* key, const char* value) { ConfigurationSetValue(&config->defaultsTable, config->port, key, value); }