-
There is no need or capacity for atomic transactions in GML since there is no multi-threading.
-
You can use
file_ini_print
and thenbuffer_compress
. See this extension for creating actual ZIP files. -
This extension is pure-GML on native platforms and has a JS-based version for HTML5. As you might guess, it would not cost $4 if I had to recompile native binaries for a dozen platforms and even more architectures every time I made an addition/change/fix.
-
This extension supports files in UTF-8, optionally with BOM. GameMaker lacks native support for UTF-16, so supporting that would take toll on speed of the extension.
-
You have full control over that, including opening an INI from one path but saving it to another - see documentation.
-
INI files by definition are intended to be human-readable configuration files, therefore it makes no sense to add such features. Regardless, you are free to use file_ini_parse and file_ini_print if you want a pre/post processing step to encrypt/decrypt the contents.