LegalizeAdulthood / iterated-dynamics

Iterated Dynamics is an open source fractal generator with support for many fractal types.
https://legalizeadulthood.github.io/iterated-dynamics/
GNU General Public License v3.0
21 stars 8 forks source link

GIF structures need to use fixed-size types #39

Closed LegalizeAdulthood closed 2 months ago

LegalizeAdulthood commented 5 years ago

The image structures used in GIF data blocks use fixed size fields to be compatible with files written out by FRACTINT. Change the types of the fields in the structures to reflect their compatibility size.

Metadata for PNG will be written out as a JSON text comment instead of a machine-specific binary representation. This will allow for bignums in the values.

LegalizeAdulthood commented 2 months ago

There are static asserts about the size of the structures in the code to make sure they match the expected byte length of the extension data, so this should not be a problem anymore. When the switch is made to giflib for writing the data, the structures won't be written with a memcpy but will be marshalled in/out of the GIF file.