mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-23 05:24:46 -07:00
Simpler settings save and load
This commit is contained in:
@@ -4,34 +4,29 @@ XtremeSettings* xtreme_settings = NULL;
|
|||||||
|
|
||||||
XtremeSettings* XTREME_SETTINGS() {
|
XtremeSettings* XTREME_SETTINGS() {
|
||||||
if (xtreme_settings == NULL) {
|
if (xtreme_settings == NULL) {
|
||||||
xtreme_settings = malloc(sizeof(XtremeSettings));
|
XTREME_SETTINGS_LOAD();
|
||||||
_XTREME_SETTINGS_LOAD(xtreme_settings);
|
|
||||||
}
|
}
|
||||||
return xtreme_settings;
|
return xtreme_settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool XTREME_SETTINGS_LOAD() {
|
||||||
|
if (xtreme_settings == NULL) {
|
||||||
|
xtreme_settings = malloc(sizeof(XtremeSettings));
|
||||||
|
bool loaded = saved_struct_load(
|
||||||
|
XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION);
|
||||||
|
if(!loaded) {
|
||||||
|
memset(xtreme_settings, 0, sizeof(XtremeSettings));
|
||||||
|
loaded = XTREME_SETTINGS_SAVE();
|
||||||
|
}
|
||||||
|
return loaded;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool XTREME_SETTINGS_SAVE() {
|
bool XTREME_SETTINGS_SAVE() {
|
||||||
if (xtreme_settings == NULL) {
|
if (xtreme_settings == NULL) {
|
||||||
XTREME_SETTINGS();
|
XTREME_SETTINGS_LOAD();
|
||||||
}
|
}
|
||||||
return _XTREME_SETTINGS_SAVE(xtreme_settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool _XTREME_SETTINGS_LOAD(XtremeSettings* xtreme_settings) {
|
|
||||||
furi_assert(xtreme_settings);
|
|
||||||
|
|
||||||
bool loaded = saved_struct_load(
|
|
||||||
XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION);
|
|
||||||
if(!loaded) {
|
|
||||||
memset(xtreme_settings, 0, sizeof(XtremeSettings));
|
|
||||||
loaded = _XTREME_SETTINGS_SAVE(xtreme_settings);
|
|
||||||
}
|
|
||||||
return loaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool _XTREME_SETTINGS_SAVE(XtremeSettings* xtreme_settings) {
|
|
||||||
furi_assert(xtreme_settings);
|
|
||||||
|
|
||||||
return saved_struct_save(
|
return saved_struct_save(
|
||||||
XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION);
|
XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ typedef struct {
|
|||||||
|
|
||||||
XtremeSettings* XTREME_SETTINGS();
|
XtremeSettings* XTREME_SETTINGS();
|
||||||
|
|
||||||
|
bool XTREME_SETTINGS_LOAD();
|
||||||
|
|
||||||
bool XTREME_SETTINGS_SAVE();
|
bool XTREME_SETTINGS_SAVE();
|
||||||
|
|
||||||
bool _XTREME_SETTINGS_LOAD(XtremeSettings* xtreme_settings);
|
|
||||||
|
|
||||||
bool _XTREME_SETTINGS_SAVE(XtremeSettings* xtreme_settings);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user