Commit Graph

7 Commits

Author SHA1 Message Date
ExeVirus f9ca183f2a # 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
2021-01-23 07:28:20 -05:00
VanessaE 5aecf5f2c7 move some "japanese" files to their proper sub-mods
fixes #24
2020-06-04 12:32:10 -04:00
Vanessa Dannenberg cbb41f7d98 give most doors more meaningful, distinct node names
to avoid confusion

doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b}                      --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b}                         --> doors:homedecor_basic_panel_{a,b}

All others:
doors:$foo_{a,b}                            --> doors:homedecor_$foo_{a,b}
2019-06-03 03:42:06 -04:00
Vanessa Dannenberg 9b77ba1c28 move door 3d models to "3d extras" mod
by extension, require its presence to cause doors to be 3d

for consistency with the appearance/style of mtg doors in worlds that
wouldn't normally use the 3d extras mod

minor rework of closet door textures to make them work decently in both modes
2019-05-28 07:59:23 -04:00
Vanessa Dannenberg 7be5e15263 use custom models for most doors
all are derived from homedecor's pre-mtg-doors models, with minimal changes,
so doors should look virtually identical to what they used to.

uses the old clone_node() technique to force-dereference the door defs

reworked a few textures for quality and to fix stuff I broke but didn't
notice right away, pulling from pre-mtg-doors when needed.

also fixes the broken alpha on doors that use it.
2019-05-27 02:41:20 -04:00
Vanessa Dannenberg 9d64af85ca convert doors over to use minetest_game doors API
simplify gates code a bit
2019-05-25 00:11:54 -04:00
Vanessa Dannenberg b08c0905c0 Split the big "homedecor" mod into multiple sub-mods
Any of these new submods can be run without any other
components that were once part of the big "homedecor"
mod, other than homedecor_common and homedecor_i18n

Reduced dependencies where possible, but each submod still
has its various dependencies more or less the same as before,
i.e. some need basic_materials, others need unifieddyes,
some need building_blocks, and so on.

All of the stuff that used to be under homedecor/handlers
got moved to homedecor_common, as did any models and/or textures
that are used by more than one other homedecor component.

All the miscellaneous items that didn't warrant their own
mod ended up in homedecor_misc, which can also be thought
of as the remains of the original "homedecor" mod, renamed.
2019-04-20 17:02:42 -04:00