Pixel-Composer/scripts/preset_data/preset_data.gml
2023-03-22 13:07:38 +07:00

38 lines
1.1 KiB
Plaintext

#region loading
global.PRESETS_MAP = ds_map_create();
function __initPresets() {
ds_map_clear(global.PRESETS_MAP);
var root = DIRECTORY + "Presets";
if(!directory_exists(root))
directory_create(root);
var _l = root + "/version";
var _preset_path = "data/Preset.zip";
if(file_exists(_preset_path)) {
if(file_exists(_l)) {
var res = json_load_struct(_l);
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
zip_unzip(_preset_path, root);
} else
zip_unzip(_preset_path, root);
}
json_save_struct(_l, { version: VERSION });
global.PRESETS = new DirectoryObject("Presets", root);
global.PRESETS.scan([".json"]);
for( var i = 0; i < ds_list_size(global.PRESETS.subDir); i++ ) {
var l = [];
var grp = global.PRESETS.subDir[| i];
for( var j = 0; j < ds_list_size(grp.content); j++ ) {
var pth = grp.content[| j].path;
var f = new FileObject(grp.content[| j].name, pth);
f.content = json_load(pth);
array_push(l, f);
}
global.PRESETS_MAP[? grp.name] = l;
}
}
#endregion