This thing allocates memory dynamically in ACS. Malloc and free as you might know from C or C++.
It allows you to build data structures on the fly for things like dialogue systems, menu systems or whatever else and provide an API for addons to modify these structures without having to copy-paste your script and change what it needs to be different, allowing a horizontal addon structure instead of imposing a strictly linear one. That is, different addons modifying your ACS data can do so simultaneously as long as they don't interact with conflicting semantics, but that's a semantics issue of the memory usage. which lies outside of the scope of this project to handle.
How do I do this? Global and world scope arrays can both be addressed absolutely ridiculously. I tested it with index twenty million and it works. That is the hack I have used.
There is additional information in the readme on the github page.
The current version has major version 0, so expect the API to change. I can so far reveal that the major change I have in mind for the project is to support separate world and global scope allocations, as the current version only has global scope allocation.
Spoiler: Compatibility notice (Open)As an end note: I am fully aware that the realistic use cases for something like this are rare. It's just something that I thought would be cool to make and did the bulk of the work on it in two days. I did the final little feature on it today and restructured it for proper version control. (Project started on 11 august 2018)
Download it here on the release page: https://github.com/Zelaven/ZMemory/releases