loadConfig: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "{{RV|type=command |game1= arma3 |branch= dev |version1= 2.10 |gr1= Config |descr= Loads the given file as a Config. It can load .rvmat, .bisurf, .cpp, .bin, .sqm, and d...")
 
m (move the comment before the line (it was too long))
Line 34: Line 34:
_cfg;
_cfg;
};
};
["a3\data_f\default_super.rvmat"] call Leo_fnc_getConfig; //the first call will be slow (~0.1200 ms), but subsequent calls are fast (~0.0050 ms)</sqf>
//the first call will be slow (~0.1200 ms), but subsequent calls are fast (~0.0050 ms)
["a3\data_f\default_super.rvmat"] call Leo_fnc_getConfig;</sqf>


|seealso= [[config greater greater name|>>]] [[configFile]] [[configClasses]] [[isText]] [[isNumber]] [[isArray]] [[isClass]]
|seealso= [[config greater greater name|>>]] [[configFile]] [[configClasses]] [[isText]] [[isNumber]] [[isArray]] [[isClass]]
}}
}}

Revision as of 05:08, 17 March 2022

Hover & click on the images for description
Only available in Development branch(es) until its release with Arma 3 patch v2.10.

Description

Description:
Loads the given file as a Config. It can load .rvmat, .bisurf, .cpp, .bin, .sqm, and description.ext files (both binarized and unbinarized configs are supported).
Loading a config can be very slow. The config should only be loaded once and cached. For example, the result can be stored in a HashMap of File Path - Config pairs. (See Example 2)
Groups:
Config

Syntax

Syntax:
loadConfig path
Parameters:
path: String - Path to the file, which should be in a valid config format.
Return Value:
Config - Loaded config. Returns configNull if the file doesn't exist.

Examples

Example 1:
private _cfg = loadConfig "a3\data_f\default_super.rvmat"; //note: very slow! ~0.1200 ms on tested system getText (_cfg >> "Stage2" >> "uvSource");
Example 2:
//Using a cache to store loaded configs, since loading configs is very slow and should be done once. Leo_fnc_getConfig = { params ["_path"]; //initialize cache if not initialized yet if (isNil "Leo_configCache") then { Leo_configCache = createHashMap; }; private _cfg = Leo_configCache getOrDefault [_path, configNull]; //if path doesn't exist in the cache or cfg is null, load the config if (isNull _cfg) then { _cfg = loadConfig _path; Leo_configCache set [_path, _cfg]; }; _cfg; }; //the first call will be slow (~0.1200 ms), but subsequent calls are fast (~0.0050 ms) ["a3\data_f\default_super.rvmat"] call Leo_fnc_getConfig;

Additional Information

See also:
>> configFile configClasses isText isNumber isArray isClass

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note