Apr 25th '19, 20:29
To be clear, you only need worry about colour tables and the 128x128 limitation inside the Shapes file, although ShapeFusion will attempt to automatically match textures to Marathon's colour space when you import a PNG or BMP. Do NOT rely on copy and paste for ShapeFusion, it doesn't work as well as Anvil.
You can also make a custom colour pallette for a texture collection, just reserve the first 3 colours for pure Blue, Magenta, and Cyan, which Marathon expects to use for 1-bit transparency.
For OpenGL replacement textures in a plugin, just use the standard 24-bit RGB or 32-bit RGBA if it's transparent.
512x512 is the sweet spot for having great looking textures without causing compatibility issues, and 1024x1024 works, too, if you don't have a massive number of them. Going to 2048x2048 or having too many 1024x1024 textures can cause problems on Windows machines, which still use 32-bit builds of Aleph One.
There is a hard maximum of 256 textures per collection. ShapeFusion will let you add more than this, but do not let it as it may lead to file corruption as it must rewrite other bytes to do so, we don't understand how AlephOne accesses them, and it will crash older utilities like Anvil.
A1 supports bump map and glow map textures in a plugin, while alpha can either be baked into a texture's alpha channel or split off into a separate mask texture. It does *not*, however, support pre-multiplied alpha very well, just straight alpha.
Landscape textures need a higher, non-square resolution. Inside the Shapesfile, use 270x512 rotated clockwise. In a plugin, 8192x3072 will give you a pixel-perfect starscape at 1080p but most people don't go that high. Landscapes obviously do not support bump maps and sadly do not support glow maps either.
Finally, once you have your textures made, you *can* save them as PNGs, but it's more efficient to use DDS with DXT 1, 3, or 5 compression. I use the GIMP DDS plugin for that, other people use Treelama's Aorta.