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,57 +1,54 @@
# Blender v2.73 (sub 0) OBJ File: 'ac.blend'
# www.blender.org
o Cylinder
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.125000 0.500000
v -0.500000 0.125000 -0.500000
v 0.500000 0.125000 -0.500000
v 0.500000 0.125000 0.500000
v -0.500000 0.125001 0.500000
v -0.500000 0.125001 -0.500000
v 0.500000 0.125001 -0.500000
v 0.500000 0.125001 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.374999 0.500000
v -0.500000 0.250001 -0.500000
v 0.500000 0.250001 -0.500000
v 0.500000 0.250001 0.500000
v -0.500000 0.250001 0.500000
v -0.500000 0.374999 -0.500000
v 0.500000 0.374999 -0.500000
v 0.500000 0.374999 0.500000
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.687500
vt 1.000000 0.687500
vt 0.000000 1.000000
vt 0.000000 0.687500
vt 0.500000 0.375000
vt 1.000000 0.375000
vt 0.000000 0.187500
vt 0.500000 0.187500
vt 1.000000 0.125000
vt 0.000000 0.125000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt -0.000000 0.750000
vt -0.000000 0.625000
vt 1.000000 0.625000
vt 1.000000 0.750000
vt -0.000000 0.875000
vt 1.000000 0.875000
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_main
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.125 0.5
v -0.5 0.125 -0.5
v 0.5 0.125 -0.5
v 0.5 0.125 0.5
v -0.5 0.125 0.5
v -0.5 0.125 -0.5
v 0.5 0.125 -0.5
v 0.5 0.125 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.375 0.5
v -0.5 0.25 -0.5
v 0.5 0.25 -0.5
v 0.5 0.25 0.5
v -0.5 0.25 0.5
v -0.5 0.375 -0.5
v 0.5 0.375 -0.5
v 0.5 0.375 0.5
vt 1 1
vt 0.5 1
vt 0.5 0.688
vt 1 0.688
vt 0 1
vt 0 0.688
vt 0.5 0.375
vt 1 0.375
vt 0 0.188
vt 0.5 0.188
vt 1 0.125
vt 0 0.125
vt 0 0
vt 1 0
vt 0 0.75
vt 0 0.625
vt 1 0.625
vt 1 0.75
vt 0 0.875
vt 1 0.875
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/2/2 7/5/2 3/6/2 2/3/2
@ -59,7 +56,7 @@ f 7/1/3 8/2/3 4/3/3 3/4/3
f 8/4/4 5/3/4 1/7/4 4/8/4
f 1/6/5 2/9/5 3/10/5 4/3/5
f 8/10/6 7/3/6 6/6/6 5/9/6
g Cylinder_Cylinder_glass-tb
g 2
f 21/11/1 18/12/1 10/13/1 9/14/1
f 18/11/2 19/12/2 11/13/2 10/14/2
f 19/11/3 20/12/3 12/13/3 11/14/3

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 202 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: 165 B

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 B

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB