OpenTTD after version 1.2 supports use of 32bpp colours with additional sprites for zoom levels. See chapter about Format info version 32.
Working with m4nfo, 32bpp sprites for different zoom levels can be used as well. In fact, this is handled by grfcodec using 'container format 2' which is enabled by adding parameter '-g 2' when calling grfcodec:
There have to be additional modifications to m4nfo as well, namely
setpath(newvehicles\DBXL09\sprites)
setspriteformat(ZOOM32)
...
spriteblock(
set(
sprite(V200.png 8bpp 10 10 20 8 -3 -12 normal
| V200_z2.png 32bpp 10 10 40 16 -6 -24 zi2
| V200_z4.png 32bpp 10 10 80 32 -12 -48 zi4
...
)
)
Here, setting the sprite format to 'ZOOM32' will allow function sprite() to include path names for the extra sprites as well.
You may use the 32bpp format without using any 32bpp or extra zoom sprites. You may also use 32bpp sprites without any zoom, but you have always to include the 'fallback' 8bpp normal sprite.
The default sprite format in m4nfo is 'NORMAL8', i.e. 8bpp non-zoomed sprites. Note that you can't mix both formats in the same new grf.