kui / 7dtd-map

Map renderer for 7 Day to Die
50 stars 8 forks source link

All bundled worlds as sample #98

Closed kui closed 3 months ago

kui commented 3 months ago

Make it possible to load bundled worlds like the current sample button.

The problem with achieving this is that large bundled worlds will reach the github file size limit because dtm.raw is large.

kui commented 3 months ago
$ cp /mnt/c/Program\ Files\ \(x86\)/Steam/steamapps/common/7\ Days\ To\ Die/Data/Worlds/Pregen10k1/dtm.raw a.raw
$ npx tsx ./tools/generate-dtm-png.ts a.raw 10240 a.png
{ width: 10240, height: 10240 }
Compress: 47.33879327774048 (99276645 / 209715200)
$ convert a.png a.webp
$ ls -1sh a.raw a.png a.webp
 95M a.png
201M a.raw*
 62M a.webp
kui commented 3 months ago
$ convert a.png -debug all -define webp:lossless=true -define webp:method=6 a2.webp
$ ls -1sh a*
 95M a.png
201M a.raw*
 62M a.webp
 66M a2.webp
kui commented 3 months ago

Dropping the Alpha channel would be more effective.

$ convert a.png -alpha off -quality 95 a3.png
$ ls -1sh a3.png
9.8M a3.png

The Alpha value is used as the sub-block height. However, this application does not refer to it, so it can be ignored.