Hello,
I am trying to write a new CA sim, which I wish to compatible with Golly. As far as I can tell, Golly uses a different Macrocell format for Hashlife (one with an 8x8 base node encoded using the symbols *.$
) compared to all other algorithms (one with a 2x2 base node encoded using four integers). This means that even the exact same pattern in the exact same rule (e.g. B3/S23) may be exported in slightly different ways depending on the algorithm used to simulate it, and each algorithm can only import the exact format that it uses for export. This is problematic for my program, which makes no distinction internally between 2-state Hashlife and multi-state Hashlife (what Golly uses RuleLoader for).
Please add support for the multi-state Macrocell format (where a 2x2 base node encoded using 4 integers) to the Hashlife algorithm, so that there is a single format universally accepted. It would be even better if the 2-state Macrocell format (with 8x8 base node) could be accepted by other algorithms as well, but this is not as necessary.
Thank you!
Hi Hactar,
I added support for reading multi-state Macrocell files in the HashLife algorithm, as long as only binary cell states (values 0 or 1) are used.
This is read support only. The HashLife algorithm still writes the classic format with 8-square leaf cells for backward compatibility and because those files are often smaller (though the difference isn't very large).
The commit is here:
https://sourceforge.net/p/golly/code/ci/830453f273b952a200cf70e2c916135bbd7c0f67/
If you want to try it out, you can build Golly from head (see docs/Build.html for instructions) or wait for the next release.