Only a single program was used to safely compress all textures in MTG.
This was done using optipng with the following settings:
```
optipng -o7 -zm1-9 -nc -strip all -clobber %%f
```
The key command used is -nc, which stops color mode changes. I.e. any RGBA textures will remain RGBA textures, with none being changes to 8-bit indexed mode.
The resulting compression:
| type | size (Bytes) | % of original texture size |
| --- | --- | --- |
| Original | 247,571 | 100% |
| Compressed | 152,189 | 61.5% |
**Summary: Saves 93.14 KB**
A script has been added: utils/optimize_textures.sh which will perform this compression automatically, assuming optipng is installed.
Fix slabs combining into a cube: Facedir is only set for the cube if it has
paramtype2 = "facedir". This avoids liquid appearing in connected
framed glasslike.
All stair/slab nodes with parent nodes that are rotatable (wood and bricks)
are reverted to not having world-aligned textures, to fix the breakage of
rotated stair/slab appearence in worlds.
Update, and add missing documentation to, game_api.txt.
Before, it checked if the node name *contained* "stairs:slab_", which could detect
things like "xxxxxstairs:slab_xxxx". Changed the pattern to "^stairs:slab_".
Original recording by Ryding.
http://freesound.org/people/Ryding/
Found by Anth0rx, edited by paramat.
Add and use 'default.node_sound_snow_defaults()' function.
If backface culling is not specified for a tile in 'images' it is set to true.
Slabs already have backface culling due to being defined as nodeboxes (which
are then converted to meshnodes).
No longer have 2 recipes for stairs, choose the one that matches the appearence
in inventory (stair rising toward the right).
Helps to reduce recipe count now that an increasing number of stairs are
being registered.