1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-06-28 12:56:01 +02:00

# 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,19 +1,16 @@
# Blender v2.73 (sub 0) OBJ File: 'cobe+1.001.blend'
# www.blender.org
o Cylinder
v -0.499500 -0.499500 0.499500
v -0.499500 -0.499500 -0.499500
v 0.499500 -0.499500 -0.499500
v 0.499500 -0.499500 0.499500
v -0.499500 0.499500 0.499500
v -0.499500 0.499500 -0.499500
v 0.499500 0.499500 -0.499500
v 0.499500 0.499500 0.499500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
g Cylinder_Cylinder_None
v -0.499 -0.499 0.5
v -0.499 -0.499 -0.499
v 0.5 -0.499 -0.499
v 0.5 -0.499 0.5
v -0.499 0.5 0.5
v -0.499 0.5 -0.499
v 0.5 0.5 -0.499
v 0.5 0.5 0.5
vt 1 1
vt 0 1
vt 0 0
vt 1 0
g 1
s off
f 5/1 6/2 2/3 1/4
f 6/1 7/2 3/3 2/4

View File

@ -1,26 +1,23 @@
# Blender v2.73 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend'
# www.blender.org
o Cube_Cube.002
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 0.707100 -0.707100
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
g Cube_Cube.002_Cube_Cube.002_front-back-bottom
v 0.5 0.5 0.5
v -0.5 0.5 0.5
v -0.5 -0.5 0.5
v 0.5 -0.5 0.5
v -0.5 -0.5 -0.5
v 0.5 -0.5 -0.5
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vn 0 0 1
vn 0 -1 0
vn 0 0.707 -0.707
vn -1 0 0
vn 1 0 0
g 1
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/3/2 3/4/2 5/1/2 6/2/2
f 2/1/3 1/2/3 6/3/3 5/4/3
g Cube_Cube.002_Cube_Cube.002_sides
g 2
f 2/1/4 5/3/4 3/4/4
f 1/2/5 4/3/5 6/4/5

View File

@ -1,27 +1,24 @@
# Blender v2.73 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend'
# www.blender.org
o Cube_Cube.000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vn 1.000000 -0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.707100 -0.707100
vn 0.000000 -0.000000 -1.000000
vn -0.000000 -1.000000 -0.000000
vn -0.000000 -0.000000 1.000000
vn -0.707100 0.707100 -0.000000
g Cube_Cube.000_Cube_Cube.000_None
v 0.5 0.5 0.5
v -0.5 0.5 0.5
v -0.5 -0.5 0.5
v 0.5 -0.5 0.5
v -0.5 -0.5 -0.5
v 0.5 0.5 -0.5
v 0.5 -0.5 0.5
v 0.5 -0.5 -0.5
v -0.5 -0.5 -0.5
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vn 1 0 0
vn -1 0 0
vn 0 0.707 -0.707
vn 0 0 -1
vn 0 -1 0
vn 0 0 1
vn -0.707 0.707 0
g 1
s off
f 6/1/1 1/2/1 7/3/1 8/4/1
f 2/1/2 5/3/2 3/4/2
@ -30,5 +27,3 @@ f 6/2/4 8/3/4 9/4/4
f 9/1/5 8/2/5 7/3/5 3/4/5
f 3/3/6 7/4/6 1/1/6 2/2/6
f 1/1/7 6/2/7 9/3/7
l 1 4
l 3 4

View File

@ -1,21 +1,18 @@
# Blender v2.73 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend'
# www.blender.org
o Cube_Cube.002
v 0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vn 0.000000 -1.000000 -0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn -0.707100 0.707100 0.000000
vn 0.000000 0.707100 -0.707100
g Cube_Cube.002_Cube_Cube.002_None
v 0.5 0.5 0.5
v -0.5 -0.5 0.5
v 0.5 -0.5 0.5
v -0.5 -0.5 -0.5
v 0.5 -0.5 -0.5
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vn 0 -1 0
vn 1 0 0
vn 0 0 1
vn -0.707 0.707 0
vn 0 0.707 -0.707
g 1
s off
f 3/1/1 2/2/1 4/3/1 5/4/1
f 1/2/2 3/3/2 5/4/2