# Compression Commit

This commit performs both lossless and lossy compression on every .obj and .png in homedecor. The .png files were all 100% losslessly compressed using ect.exe and optipng.exe (more details below) at maximum settings. The .obj files were lossy-compressed so that comments were removed, trailing 000's were removed and all numbers rounded to 3 decimal places max. Blender exports at 6 decimal places but for minetest, 3 decimal places is the absolute maximum a person with anything under a 256K screen will ever need.

## Results
```
Original entire modpack size: 6343.5 KB
New entire modpack size:      5312.2 KB
Total Reduction:              1031.3 KB  (16.3% less)
```
Please note that actual media size is likely more like 4,500 KB so media reduction is more around 20-25%.

## Details / What actions were actually performed

Used these programs:

https://github.com/ExeVirus/Compress-Obj

https://sourceforge.net/projects/optipng/

https://github.com/fhanau/Efficient-Compression-Tool

Ran this command on every .obj: (fast)

```
luajit.exe compress.lua -f <file> -precision 3
```

Ran these commands on every .png: (slow)
```
ect.exe  -9 -strip --allfilters-b <file>
optipng.exe -o7 -strip all -clobber <file>
```

Note that for future compression, I recommend only using optipng.exe instead of both. ECT can get better results but it takes a LOT longer and only ever saves another 1-2% of the file size. Not worth an extra 10-20 seconds per texture file in my opinion.

## Time spent

Roughly 2 Hours from start to finish + commit + PR
This commit is contained in:
ExeVirus
2021-01-23 07:28:20 -05:00
parent a57723df7d
commit f9ca183f2a
827 changed files with 88657 additions and 89231 deletions

View File

@ -1,58 +1,55 @@
# Blender v2.73 (sub 0) OBJ File: 'calendar.blend'
# www.blender.org
o Cylinder
v -0.250000 -0.500000 -0.500000
v -0.250000 -0.375000 -0.500000
v 0.250000 -0.375000 -0.500000
v 0.250000 -0.500000 -0.500000
v -0.250000 -0.500000 0.187500
v -0.250000 -0.375000 0.187500
v 0.250000 -0.375000 0.187500
v 0.250000 -0.500000 0.187500
v 0.187500 -0.500000 0.312499
v 0.187500 -0.250000 0.312499
v 0.187500 -0.250000 0.062499
v 0.187500 -0.500000 0.062499
v 0.187500 -0.250000 0.312499
v 0.187500 -0.500000 0.312499
v -0.187500 -0.250000 0.312499
v -0.187500 -0.500000 0.312499
v -0.000000 -0.500000 0.312499
v 0.000000 -0.250000 0.312499
v -0.187500 -0.500000 0.312499
v -0.187500 -0.250000 0.312499
v -0.000000 -0.500000 0.062499
v -0.000000 -0.250000 0.062499
v 0.000000 -0.250000 0.312499
v -0.000000 -0.500000 0.312499
v -0.187500 -0.250000 0.062499
v -0.187500 -0.500000 0.062499
vt 0.781250 0.843750
vt 0.656250 0.843750
vt 0.656250 0.156250
vt 0.781250 0.156250
vt 0.156250 0.843750
vt 0.156250 0.156250
vt 0.031250 0.843750
vt 0.031250 0.156250
vt 0.968750 0.656250
vt 0.812500 0.656250
vt 0.812500 0.468750
vt 0.968750 0.468750
vt 0.656250 0.031250
vt 0.156250 0.031250
vt 0.968750 1.000000
vt 0.718750 1.000000
vt 0.718750 0.750000
vt 0.968750 0.750000
vt 0.656250 0.968750
vt 0.156250 0.968750
vn -1.000000 0.000000 0.000000
vn 0.000000 1.000000 -0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
v -0.25 -0.5 -0.5
v -0.25 -0.375 -0.5
v 0.25 -0.375 -0.5
v 0.25 -0.5 -0.5
v -0.25 -0.5 0.188
v -0.25 -0.375 0.188
v 0.25 -0.375 0.188
v 0.25 -0.5 0.188
v 0.188 -0.5 0.312
v 0.188 -0.25 0.312
v 0.188 -0.25 0.062
v 0.188 -0.5 0.062
v 0.188 -0.25 0.312
v 0.188 -0.5 0.312
v -0.187 -0.25 0.312
v -0.187 -0.5 0.312
v 0 -0.5 0.312
v 0 -0.25 0.312
v -0.187 -0.5 0.312
v -0.187 -0.25 0.312
v 0 -0.5 0.062
v 0 -0.25 0.062
v 0 -0.25 0.312
v 0 -0.5 0.312
v -0.187 -0.25 0.062
v -0.187 -0.5 0.062
vt 0.781 0.844
vt 0.656 0.844
vt 0.656 0.156
vt 0.781 0.156
vt 0.156 0.844
vt 0.156 0.156
vt 0.031 0.844
vt 0.031 0.156
vt 0.969 0.656
vt 0.813 0.656
vt 0.813 0.469
vt 0.969 0.469
vt 0.656 0.031
vt 0.156 0.031
vt 0.969 1
vt 0.719 1
vt 0.719 0.75
vt 0.969 0.75
vt 0.656 0.969
vt 0.156 0.969
vn -1 0 0
vn 0 1 0
vn 1 0 0
vn 0 -1 0
vn 0 0 -1
vn 0 0 1
s off
f 5/1/1 6/2/1 2/3/1 1/4/1
f 6/2/2 7/5/2 3/6/2 2/3/2

View File

@ -1,187 +1,184 @@
# Blender v2.73 (sub 0) OBJ File: 'desk.blend'
# www.blender.org
o main-parts-wood_Cube.001
v -0.312500 0.000000 -0.437500
v -0.312500 0.000000 -0.500000
v 0.437500 0.000000 -0.500000
v 0.437500 0.000000 -0.437500
v -0.312500 0.375000 -0.437500
v -0.312500 0.375000 -0.500000
v 0.437500 0.375000 -0.500000
v 0.437500 0.375000 -0.437500
v -0.312500 -0.437500 -0.437500
v -0.312500 -0.437500 -0.500000
v 0.437500 -0.437500 -0.500000
v 0.437500 -0.437500 -0.437500
v -0.312500 -0.062500 -0.437500
v -0.312500 -0.062500 -0.500000
v 0.437500 -0.062500 -0.500000
v 0.437500 -0.062500 -0.437500
v -0.500000 0.437500 0.000000
v -0.500000 0.437500 -0.437500
v -0.531250 0.437500 -0.437500
v -0.531250 0.437500 0.000000
v -0.500000 0.312500 0.000000
v -0.500000 0.312500 -0.437500
v -0.531250 0.312500 -0.437500
v -0.531250 0.312500 0.000000
v -1.406250 0.312500 0.000000
v -1.406250 0.312500 -0.437500
v -1.375000 0.312500 -0.437500
v -1.375000 0.312500 0.000000
v -1.406250 0.437500 0.000000
v -1.406250 0.437500 -0.437500
v -1.375000 0.437500 -0.437500
v -1.375000 0.437500 0.000000
v -0.375000 -0.500000 0.500000
v -0.375000 -0.500000 -0.437500
v 0.500000 -0.500000 -0.437500
v 0.500000 -0.500000 0.500000
v -0.375000 0.437500 0.500000
v -0.375000 0.437500 -0.437500
v 0.500000 0.437500 -0.437500
v 0.500000 0.437500 0.500000
v -0.312500 0.000000 -0.437500
v -0.500000 0.437500 0.500000
v -0.500000 0.437500 -0.437500
v 0.437500 0.000000 -0.437500
v -0.312500 0.375000 -0.437500
v -0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.437500
v 0.437500 0.375000 -0.437500
v -0.312500 -0.437500 -0.437500
v -0.500000 -0.375000 0.500000
v -0.500000 0.250000 0.500000
v 0.437500 -0.437500 -0.437500
v -0.312500 -0.062500 -0.437500
v -0.500000 -0.375000 0.437500
v -0.500000 0.250000 0.437500
v 0.437500 -0.062500 -0.437500
v -1.500000 0.437500 0.500000
v -1.500000 0.437500 -0.437500
v -1.500000 0.500000 0.500000
v -1.500000 0.500000 -0.437500
v 0.500000 0.500000 -0.437500
v 0.500000 0.500000 0.500000
v -1.500000 -0.500000 0.500000
v -1.500000 -0.500000 -0.437500
v -1.437500 -0.500000 -0.437500
v -1.437500 -0.500000 0.500000
v -1.437500 0.437500 -0.437500
v -1.437500 0.437500 0.500000
v -1.437500 -0.375000 0.500000
v -1.437500 -0.375000 0.437500
v -0.375000 -0.375000 0.437500
v -0.375000 -0.375000 0.500000
v -1.437500 0.250000 0.500000
v -1.437500 0.250000 0.437500
v -0.375000 0.250000 0.437500
v -0.375000 0.250000 0.500000
v -1.375000 0.328125 -0.062500
v -1.375000 0.328125 -0.375000
v -0.531250 0.328125 -0.375000
v -0.531250 0.328125 -0.062500
v -1.375000 0.359375 -0.062500
v -1.375000 0.359375 -0.375000
v -0.531250 0.359375 -0.375000
v -0.531250 0.359375 -0.062500
v -0.375000 0.000000 -0.437500
v -0.375000 0.375000 -0.437500
v -0.375000 -0.437500 -0.437500
v -0.375000 -0.062500 -0.437500
v 0.500000 0.000000 -0.437500
v 0.500000 0.375000 -0.437500
v 0.500000 -0.437500 -0.437500
v 0.500000 -0.062500 -0.437500
vt 1.000000 1.000000
vt 0.062500 1.000000
vt 0.062500 0.062500
vt 1.000000 0.062500
vt 1.000000 0.937500
vt 0.062500 0.937500
vt 0.062500 0.000000
vt 1.000000 0.000000
vt 0.125000 0.937500
vt 0.125000 0.000000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 0.000000 0.937500
vt 0.937500 0.750000
vt 0.000000 0.750000
vt 0.000000 0.125000
vt 0.937500 0.125000
vt 0.125000 0.750000
vt 0.125000 0.125000
vt 0.937500 1.000000
vt 0.937500 0.937500
vt 0.937500 0.000000
vt 1.000000 0.750000
vt 0.875000 0.750000
vt 0.875000 0.125000
vt 1.000000 0.125000
vt 0.062500 0.750000
vt 0.062500 0.125000
vt 0.875000 0.859375
vt 0.031250 0.859375
vt 0.031250 0.828125
vt 0.875000 0.828125
vt 0.968750 0.859375
vt 0.125000 0.859375
vt 0.125000 0.828125
vt 0.968750 0.828125
vt 0.000000 0.984375
vt 0.000000 0.773396
vt 0.569642 0.773396
vt 0.569642 0.984375
vt 0.569642 0.523397
vt 0.569642 0.734375
vt 0.000000 0.734375
vt 0.000000 0.523397
vt 0.000000 0.062500
vt 0.875000 0.000000
vt 0.875000 0.062500
vt 0.000000 0.437500
vt 0.875000 0.437500
vt 0.875000 0.500000
vt 0.000000 0.500000
vt 0.062500 0.875000
vt 0.000000 0.875000
vt 0.062500 0.500000
vt 0.062500 0.437500
vt 0.812500 0.437500
vt 0.812500 0.062500
vt 0.875000 0.875000
vt 0.812500 0.875000
vt 0.812500 0.500000
vt 0.875000 0.937500
vt 0.812500 1.000000
vt 0.812500 0.937500
vt 0.812500 0.000000
vt 0.750000 0.937500
vt 0.750000 0.875000
vt 1.000000 0.875000
vt 0.750000 0.750000
vt 0.000000 0.562500
vt 0.750000 0.562500
vt 0.750000 0.312500
vt 0.000000 0.312500
vt 0.750000 0.125000
vt 0.750000 0.625000
vt 1.000000 0.562500
vt 1.000000 0.625000
vt 0.750000 0.000000
vt 0.750000 0.062500
vt 0.750000 0.500000
vt 1.000000 0.500000
vt 0.750000 1.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.000000
g main-parts-wood_Cube.001_wood
v -0.312 0 -0.437
v -0.312 0 -0.5
v 0.438 0 -0.5
v 0.438 0 -0.437
v -0.312 0.375 -0.437
v -0.312 0.375 -0.5
v 0.438 0.375 -0.5
v 0.438 0.375 -0.437
v -0.312 -0.437 -0.437
v -0.312 -0.437 -0.5
v 0.438 -0.437 -0.5
v 0.438 -0.437 -0.437
v -0.312 -0.062 -0.437
v -0.312 -0.062 -0.5
v 0.438 -0.062 -0.5
v 0.438 -0.062 -0.437
v -0.5 0.438 0
v -0.5 0.438 -0.437
v -0.531 0.438 -0.437
v -0.531 0.438 0
v -0.5 0.313 0
v -0.5 0.313 -0.437
v -0.531 0.313 -0.437
v -0.531 0.313 0
v -1.406 0.313 0
v -1.406 0.313 -0.437
v -1.375 0.313 -0.437
v -1.375 0.313 0
v -1.406 0.438 0
v -1.406 0.438 -0.437
v -1.375 0.438 -0.437
v -1.375 0.438 0
v -0.375 -0.5 0.5
v -0.375 -0.5 -0.437
v 0.5 -0.5 -0.437
v 0.5 -0.5 0.5
v -0.375 0.438 0.5
v -0.375 0.438 -0.437
v 0.5 0.438 -0.437
v 0.5 0.438 0.5
v -0.312 0 -0.437
v -0.5 0.438 0.5
v -0.5 0.438 -0.437
v 0.438 0 -0.437
v -0.312 0.375 -0.437
v -0.5 0.5 0.5
v -0.5 0.5 -0.437
v 0.438 0.375 -0.437
v -0.312 -0.437 -0.437
v -0.5 -0.375 0.5
v -0.5 0.25 0.5
v 0.438 -0.437 -0.437
v -0.312 -0.062 -0.437
v -0.5 -0.375 0.438
v -0.5 0.25 0.438
v 0.438 -0.062 -0.437
v -1.5 0.438 0.5
v -1.5 0.438 -0.437
v -1.5 0.5 0.5
v -1.5 0.5 -0.437
v 0.5 0.5 -0.437
v 0.5 0.5 0.5
v -1.5 -0.5 0.5
v -1.5 -0.5 -0.437
v -1.437 -0.5 -0.437
v -1.437 -0.5 0.5
v -1.437 0.438 -0.437
v -1.437 0.438 0.5
v -1.437 -0.375 0.5
v -1.437 -0.375 0.438
v -0.375 -0.375 0.438
v -0.375 -0.375 0.5
v -1.437 0.25 0.5
v -1.437 0.25 0.438
v -0.375 0.25 0.438
v -0.375 0.25 0.5
v -1.375 0.328 -0.062
v -1.375 0.328 -0.375
v -0.531 0.328 -0.375
v -0.531 0.328 -0.062
v -1.375 0.359 -0.062
v -1.375 0.359 -0.375
v -0.531 0.359 -0.375
v -0.531 0.359 -0.062
v -0.375 0 -0.437
v -0.375 0.375 -0.437
v -0.375 -0.437 -0.437
v -0.375 -0.062 -0.437
v 0.5 0 -0.437
v 0.5 0.375 -0.437
v 0.5 -0.437 -0.437
v 0.5 -0.062 -0.437
vt 1 1
vt 0.063 1
vt 0.063 0.063
vt 1 0.063
vt 1 0.938
vt 0.063 0.938
vt 0.063 0
vt 1 0
vt 0.125 0.938
vt 0.125 0
vt 0.125 1
vt 0 1
vt 0 0
vt 0 0.938
vt 0.938 0.75
vt 0 0.75
vt 0 0.125
vt 0.938 0.125
vt 0.125 0.75
vt 0.125 0.125
vt 0.938 1
vt 0.938 0.938
vt 0.938 0
vt 1 0.75
vt 0.875 0.75
vt 0.875 0.125
vt 1 0.125
vt 0.063 0.75
vt 0.063 0.125
vt 0.875 0.859
vt 0.031 0.859
vt 0.031 0.828
vt 0.875 0.828
vt 0.969 0.859
vt 0.125 0.859
vt 0.125 0.828
vt 0.969 0.828
vt 0 0.984
vt 0 0.773
vt 0.57 0.773
vt 0.57 0.984
vt 0.57 0.523
vt 0.57 0.734
vt 0 0.734
vt 0 0.523
vt 0 0.063
vt 0.875 0
vt 0.875 0.063
vt 0 0.438
vt 0.875 0.438
vt 0.875 0.5
vt 0 0.5
vt 0.063 0.875
vt 0 0.875
vt 0.063 0.5
vt 0.063 0.438
vt 0.813 0.438
vt 0.813 0.063
vt 0.875 0.875
vt 0.813 0.875
vt 0.813 0.5
vt 0.875 0.938
vt 0.813 1
vt 0.813 0.938
vt 0.813 0
vt 0.75 0.938
vt 0.75 0.875
vt 1 0.875
vt 0.75 0.75
vt 0 0.563
vt 0.75 0.563
vt 0.75 0.313
vt 0 0.313
vt 0.75 0.125
vt 0.75 0.625
vt 1 0.563
vt 1 0.625
vt 0.75 0
vt 0.75 0.063
vt 0.75 0.5
vt 1 0.5
vt 0.75 1
vn -1 0 0
vn 1 0 0
vn 0 0 1
vn 0 -1 0
vn 0 1 0
vn 0 0 -1
g 1
s off
f 37/1/1 38/2/1 34/3/1 33/4/1
f 39/5/2 40/6/2 36/7/2 35/8/2
@ -221,7 +218,7 @@ f 57/22/1 58/14/1 64/13/1 63/23/1
f 58/5/6 67/22/6 65/23/6 64/8/6
f 68/6/3 57/14/3 63/13/3 66/7/3
f 90/54/6 86/59/6 38/62/6 39/14/6
g main-parts-wood_Cube.001_drawers
g 2
f 5/59/1 6/60/1 2/61/1 1/51/1
f 6/60/6 7/53/6 3/55/6 2/61/6
f 7/53/2 8/54/2 4/52/2 3/55/2
@ -232,7 +229,7 @@ f 14/57/6 15/56/6 11/3/6 10/58/6
f 15/56/2 16/49/2 12/46/2 11/3/2
f 9/7/4 10/3/4 11/58/4 12/65/4
f 16/57/5 15/61/5 14/55/5 13/56/5
g main-parts-wood_Cube.001_metal
g 3
f 32/66/3 29/67/3 25/68/3 28/5/3
f 31/69/2 32/16/2 28/70/2 27/71/2
f 29/72/1 30/73/1 26/17/1 25/74/1

File diff suppressed because it is too large Load Diff

View File

@ -1,56 +1,53 @@
# Blender v2.73 (sub 0) OBJ File: 'filing-cabinet.blend'
# www.blender.org
o Cylinder
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.437500
v 0.500000 -0.500000 -0.437500
v 0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.437500
v 0.500000 0.500000 -0.437500
v 0.500000 0.500000 0.500000
v -0.437500 -0.437500 -0.437500
v 0.437500 -0.437500 -0.437500
v -0.437500 0.437500 -0.437500
v 0.437500 0.437500 -0.437500
v -0.437500 -0.437500 -0.500000
v 0.437500 -0.437500 -0.500000
v -0.437500 0.437500 -0.500000
v 0.437500 0.437500 -0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.937500 0.937500
vt 0.062500 0.937500
vt 0.062500 0.062500
vt 0.937500 0.062500
vt 0.937500 0.125000
vt 0.062500 0.125000
vt 0.125000 0.062500
vt 0.125000 0.937500
vt 0.062500 0.875000
vt 0.937500 0.875000
vt 0.875000 0.937500
vt 0.875000 0.062500
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 -1.000000 0.000000
g Cylinder_Cylinder_sides
v -0.5 -0.5 0.5
v -0.5 -0.5 -0.437
v 0.5 -0.5 -0.437
v 0.5 -0.5 0.5
v -0.5 0.5 0.5
v -0.5 0.5 -0.437
v 0.5 0.5 -0.437
v 0.5 0.5 0.5
v -0.437 -0.437 -0.437
v 0.438 -0.437 -0.437
v -0.437 0.438 -0.437
v 0.438 0.438 -0.437
v -0.437 -0.437 -0.5
v 0.438 -0.437 -0.5
v -0.437 0.438 -0.5
v 0.438 0.438 -0.5
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 0.938 0.938
vt 0.063 0.938
vt 0.063 0.063
vt 0.938 0.063
vt 0.938 0.125
vt 0.063 0.125
vt 0.125 0.063
vt 0.125 0.938
vt 0.063 0.875
vt 0.938 0.875
vt 0.875 0.938
vt 0.875 0.063
vn -1 0 0
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn 0 1 0
vn 0 -1 0
g 1
s off
f 5/1/1 6/2/1 2/3/1 1/4/1
f 6/1/2 7/2/2 3/3/2 2/4/2
f 7/1/3 8/2/3 4/3/3 3/4/3
f 8/1/4 5/2/4 1/3/4 4/4/4
f 8/2/5 7/3/5 6/4/5 5/1/5
g Cylinder_Cylinder_drawer
g 2
f 15/5/2 16/6/2 14/7/2 13/8/2
f 10/7/6 9/8/6 13/9/6 14/10/6
f 12/6/3 10/7/3 14/11/3 16/12/3
f 11/5/5 12/6/5 16/13/5 15/14/5
f 9/8/1 11/5/1 15/15/1 13/16/1
g Cylinder_Cylinder_bottom
g 3
f 1/4/6 2/1/6 3/2/6 4/3/6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 B

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

After

Width:  |  Height:  |  Size: 674 B