コード例 #1
0
bool loadSettings() {

	// init defaults
	for (int i = 0; i < config_size; i++) {
		ConfigEntry * entry = config + i;
		tryParseValue(*entry->type, entry->default_val, entry->storage);
	}

	// try read from file
	FileParser infile;
	if (!infile.open(PATH_CONF + FILE_SETTINGS, false, "")) {
		loadAndroidDefaults();
		if (!infile.open("engine/default_settings.txt", true, "")) {
			saveSettings();
			return true;
		}
		else saveSettings();
	}

	while (infile.next()) {

		ConfigEntry * entry = getConfigEntry(infile.key);
		if (entry) {
			tryParseValue(*entry->type, infile.val, entry->storage);
		}
	}
	infile.close();

	loadAndroidDefaults();

	return true;
}
コード例 #2
0
ファイル: Settings.cpp プロジェクト: SBasalaev/flare-engine
/**
 * Load all default settings, except video settings.
 */
bool loadDefaults() {

	// HACK init defaults except video
	for (int i = 3; i < config_size; i++) {
		ConfigEntry * entry = config + i;
		tryParseValue(*entry->type, entry->default_val, entry->storage);
	}

	loadAndroidDefaults();

	return true;
}
コード例 #3
0
bool tryParseValue(const std::type_info & type, const char * value, void * output) {
	return tryParseValue(type, std::string(value), output);
}