Commit Graph

1310 Commits

Author SHA1 Message Date
Zweihorn 07c7403050 Strip metadata from PNG `mods/default` textures
M  default_acacia_tree_top.png
M  default_aspen_tree.png
M  default_aspen_wood.png
M  default_desert_stone_block.png
M  default_desert_stone_brick.png
M  default_dirt.png
M  default_fence_aspen_wood.png
M  default_gravel.png
M  default_ice.png
M  default_jungletree.png
M  default_jungletree_top.png
M  default_lava.png
M  default_meselamp.png
M  default_obsidian_block.png
M  default_river_water_flowing_animated.png
M  default_river_water_source_animated.png
M  default_sandstone_block.png
M  default_silver_sand.png
M  default_stone_brick.png
M  heart.png

All PNG files sized 4 kB and above were processed as follows:

$ for i in "heart.png
default_dirt.png
default_river_water_flowing_animated.png
default_lava.png
default_jungletree.png
default_jungletree_top.png
default_meselamp.png
default_acacia_tree_top.png
default_river_water_source_animated.png
default_gravel.png
default_sandstone_block.png
default_aspen_tree.png
default_desert_stone_brick.png
default_desert_stone_block.png
default_stone_brick.png
default_fence_aspen_wood.png
default_ice.png
default_silver_sand.png
default_aspen_wood.png
default_obsidian_block.png"; do optipng -o2 -strip all $i ; done

** Processing: heart.png
16x16 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 8 bits/pixel, 42 colors (1 transparent) in palette
Stripping metadata...
Input IDAT size = 320 bytes
Input file size = 14830 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 126
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 125
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 119
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 117

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 117

Output IDAT size = 117 bytes (203 bytes decrease)
Output file size = 325 bytes (14505 bytes = 97.81% decrease)

** Processing: default_dirt.png
16x16 pixels, 4 bits/pixel, 16 colors in palette
Stripping metadata...
Input IDAT size = 155 bytes
Input file size = 5889 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 155
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 155
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 155
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 155
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 155

Output IDAT size = 155 bytes (no change)
Output file size = 272 bytes (5617 bytes = 95.38% decrease)

** Processing: default_river_water_flowing_animated.png
16x256 pixels, 4x8 bits/pixel, RGB+alpha
Stripping metadata...
Input IDAT size = 5723 bytes
Input file size = 5851 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 4186

Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 4186

Output IDAT size = 4186 bytes (1537 bytes decrease)
Output file size = 4243 bytes (1608 bytes = 27.48% decrease)

** Processing: default_lava.png
16x16 pixels, 8 bits/pixel, 221 colors in palette
Stripping metadata...
Input IDAT size = 283 bytes
Input file size = 5706 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 283
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 283
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 283
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 283
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 283

Output IDAT size = 283 bytes (no change)
Output file size = 1015 bytes (4691 bytes = 82.21% decrease)

** Processing: default_jungletree.png
16x16 pixels, 8 bits/pixel, 254 colors in palette
Stripping metadata...
Input IDAT size = 283 bytes
Input file size = 5592 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 283
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 283
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 283
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 283
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 283
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 283

Output IDAT size = 283 bytes (no change)
Output file size = 1114 bytes (4478 bytes = 80.08% decrease)

** Processing: default_jungletree_top.png
16x16 pixels, 8 bits/pixel, 117 colors in palette
Stripping metadata...
Input IDAT size = 268 bytes
Input file size = 5175 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 268
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 268
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 268
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 268

Output IDAT size = 268 bytes (no change)
Output file size = 688 bytes (4487 bytes = 86.71% decrease)

** Processing: default_meselamp.png
16x16 pixels, 8 bits/pixel, 199 colors in palette
Stripping metadata...
Input IDAT size = 281 bytes
Input file size = 5103 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 281
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 256
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 256
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 256
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 256

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 256

Output IDAT size = 256 bytes (25 bytes decrease)
Output file size = 922 bytes (4181 bytes = 81.93% decrease)

** Processing: default_acacia_tree_top.png
16x16 pixels, 8 bits/pixel, 132 colors in palette
Stripping metadata...
Input IDAT size = 225 bytes
Input file size = 5010 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 225

Output IDAT size = 225 bytes (no change)
Output file size = 690 bytes (4320 bytes = 86.23% decrease)

** Processing: default_river_water_source_animated.png
16x256 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 8 bits/pixel, 178 colors (178 transparent) in palette
Stripping metadata...
Input IDAT size = 4807 bytes
Input file size = 4935 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 2112

Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 2112

Output IDAT size = 2112 bytes (2695 bytes decrease)
Output file size = 2905 bytes (2030 bytes = 41.13% decrease)

** Processing: default_gravel.png
16x16 pixels, 8 bits/pixel, 103 colors in palette
Stripping metadata...
Input IDAT size = 254 bytes
Input file size = 4715 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 254
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 252
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 252
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 252

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 252

Output IDAT size = 252 bytes (2 bytes decrease)
Output file size = 630 bytes (4085 bytes = 86.64% decrease)

** Processing: default_sandstone_block.png
16x16 pixels, 8 bits/pixel, 35 colors in palette
Stripping metadata...
Input IDAT size = 189 bytes
Input file size = 4548 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 189
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 185
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 185
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 185
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 177
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 172
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 172
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 172

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 172

Output IDAT size = 172 bytes (17 bytes decrease)
Output file size = 346 bytes (4202 bytes = 92.39% decrease)

** Processing: default_aspen_tree.png
16x16 pixels, 8 bits/pixel, 77 colors in palette
Reducing image to 8 bits/pixel, grayscale
Stripping metadata...
Input IDAT size = 231 bytes
Input file size = 4429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 255
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 253
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 253
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 253

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 253

Output IDAT size = 253 bytes (22 bytes increase)
Output file size = 310 bytes (4119 bytes = 93.00% decrease)

** Processing: default_desert_stone_brick.png
16x16 pixels, 8 bits/pixel, 48 colors in palette
Stripping metadata...
Input IDAT size = 185 bytes
Input file size = 4420 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 185
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 183
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 175
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 175

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 175

Output IDAT size = 175 bytes (10 bytes decrease)
Output file size = 388 bytes (4032 bytes = 91.22% decrease)

** Processing: default_desert_stone_block.png
16x16 pixels, 8 bits/pixel, 40 colors in palette
Stripping metadata...
Input IDAT size = 173 bytes
Input file size = 4368 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 173
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 171
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 169
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 169

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 169

Output IDAT size = 169 bytes (4 bytes decrease)
Output file size = 358 bytes (4010 bytes = 91.80% decrease)

** Processing: default_stone_brick.png
16x16 pixels, 8 bits/pixel, 36 colors in palette
Stripping metadata...
Input IDAT size = 172 bytes
Input file size = 4196 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 172
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 172
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 169
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 151
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 151

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 151

Output IDAT size = 151 bytes (21 bytes decrease)
Output file size = 328 bytes (3868 bytes = 92.18% decrease)

** Processing: default_fence_aspen_wood.png
16x16 pixels, 4 bits/pixel, 12 colors in palette
Stripping metadata...
Input IDAT size = 130 bytes
Input file size = 4170 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 130
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 127
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 127
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 127

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 127

Output IDAT size = 127 bytes (3 bytes decrease)
Output file size = 232 bytes (3938 bytes = 94.44% decrease)

** Processing: default_ice.png
16x16 pixels, 8 bits/pixel, 18 colors in palette
Stripping metadata...
Input IDAT size = 112 bytes
Input file size = 4114 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 112
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 110
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 99

Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 99

Output IDAT size = 99 bytes (13 bytes decrease)
Output file size = 222 bytes (3892 bytes = 94.60% decrease)

** Processing: default_silver_sand.png
16x16 pixels, 4 bits/pixel, 12 colors in palette
Stripping metadata...
Input IDAT size = 155 bytes
Input file size = 4069 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 155
  zc = 1  zm = 8  zs = 2  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 3  f = 0		IDAT size = 155
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 155
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 155
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 155
  zc = 9  zm = 8  zs = 3  f = 5		IDAT size = 155

Output IDAT size = 155 bytes (no change)
Output file size = 260 bytes (3809 bytes = 93.61% decrease)

** Processing: default_aspen_wood.png
16x16 pixels, 4 bits/pixel, 12 colors in palette
Stripping metadata...
Input IDAT size = 119 bytes
Input file size = 4023 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 119
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 117

Selecting parameters:
  zc = 9  zm = 8  zs = 1  f = 0		IDAT size = 117

Output IDAT size = 117 bytes (2 bytes decrease)
Output file size = 222 bytes (3801 bytes = 94.48% decrease)

** Processing: default_obsidian_block.png
16x16 pixels, 4 bits/pixel, 13 colors in palette
Stripping metadata...
Input IDAT size = 95 bytes
Input file size = 3913 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 95

Output IDAT size = 95 bytes (no change)
Output file size = 203 bytes (3710 bytes = 94.81% decrease)
2019-05-31 13:08:10 +02:00
Zweihorn 76a08a7058 wool: use global 'dye.dyes' table 2019-05-26 20:21:31 +01:00
Paul Ouellette 80c10cee15 Capitalize author in game.conf to match ContentDB
The author is used to track packages for updating, so it should match.
2019-05-26 20:16:52 +01:00
Paramat aee5ba64f9
Make cave liquids biome-determined
No longer use the hardcoded engine cave liquids.
Water only in '_ocean' biomes, water and lava in '_under' biomes.
2019-05-18 21:22:19 +01:00
Paramat 5c48c76aa2
Fix trapdoor side textures and orientations
Previously, opening a trapdoor caused the side textures to flip.

Fix the incorrect textures.
Also add a texture transform to a tile of the open trapdoor, such
that the closed trapdoor sides use the lower part of the texture
and the open trapdoor sides use the higher part.

Clean up some codestyle issues.
2019-05-03 23:49:07 +01:00
Paramat f21bab2ff9
Split underground biome to correspond to surface biomes
In preparation for biome-defined: dungeon materials, cave liquids,
stone type, ores, decorations.
'_ocean' biomes now extend to y = -255 to be deeper than default
mgv5 oceans, and to create 'shallow underground biomes'.
Remove unnecessary biome lists for gravel and silver sand blob ores,
as those are already defined to only appear in default:stone.
2019-04-19 21:23:26 +01:00
HybridDog 0291c6b210 Moss growth ABM: Add inner and outer cobble stairs, simplify code 2019-04-06 21:35:48 +01:00
HybridDog b20725026e flowers: Light check optimisation in mushroom spread 2019-03-31 22:20:28 +01:00
tenplus1 88d79881b8 Add food groups to blueberries (#2335) 2019-03-31 22:20:47 +02:00
HybridDog efd090228d fire: Document flammable group, a little code cleanup 2019-03-30 20:33:08 +00:00
Paramat dfe6fd6560
Restrict waving liquid shader to normal water 2019-03-27 02:17:32 +00:00
SmallJoker dd3f3b2032 Use group:stick in recipes (fixes #2306) 2019-03-24 10:59:34 +01:00
Paramat 8b5e0a914b
Dungeon loot: Avoid empty 'if' branch to satisfy lua check 2019-03-23 23:16:41 +00:00
Paramat e3cd961a15
Fix beds being undiggable after laying down 2019-03-23 23:12:44 +00:00
Niwla23 eaf6eac723 Mapping kit recipe: Use "group:stick" instead of "default:stick" 2019-03-18 22:20:24 +00:00
sfan5 02e2cab375 Dungeon loot: Don't crash on unknown items
fixes #2228
2019-03-17 13:59:10 +01:00
sofar b853c8a509 Beds: Properly count players in beds
This is a rebased and slightly rewritten version of #2125.
2019-03-10 01:43:49 +00:00
acmgit 891f00e9db Flowers: Remove stack max definition (#2324) 2019-03-05 11:59:23 +01:00
Paramat 196f206d3e
Remove corals.mts credit 2019-02-18 19:57:30 +00:00
Paramat 1ca25eec9d
Kelp, coral sounds: Add missing 'footstep'. Use quiet 'dig', 'dug'
Footstep sounds as sand or cubic coral nodes.
Dig and dug sounds as leaves but much lower gain to be suitable for
underwater.
2019-02-16 21:18:01 +00:00
Nathan Salapat b92f7431ef Fix sfinv hotbar offset 2019-02-16 20:51:33 +00:00
Paramat 7f687777a6
Beds: Do not require red wool to craft beds 2019-02-10 21:38:58 +00:00
Auke Kok 6b2887e3bf Limit sign length to 512 (~6 lines of 80 char or so).
Players can enter unlimited text into the field, causing lag and
potentially locking up clients. I have not found any negative effects
server side, other than the large storage needed to store the long
text.
2019-02-07 23:57:42 -08:00
12Me21 14cc07bfd3 Beds: Make on_rotate function check new param2 instead of rotation mode
The on_rotate function now checks the new param2 value to determine if a rotation is valid, rather than checking the rotation mode.
This is so screwdriver-like items with different rotation modes will not be able to rotate the bed into invalid orientations.
2019-02-08 01:53:55 +00:00
Paul Ouellette ad6c2cf035 Dye: Remove type="shapeless" from single-item recipes 2019-02-06 19:07:48 +00:00
Paramat 2033b2cc65
'permafrost_with_stones/moss' drops itself instead of permafrost
Previously they were not collectable or creatable.
A simple temporary solution for MTG 5.0.0.
2019-02-05 00:24:04 +00:00
rubenwardy bfde214c52 Add screenshot.png, and more info to game.conf 2019-02-05 00:07:06 +00:00
random-geek 6e0e2b8be9 Textures: Update permafrost to new dirt, improve stones, add stones side 2019-02-03 19:14:13 +00:00
rubenwardy 64a923f7fb Fix sfinv not updating on creative grant/revoke 2019-02-03 11:45:45 +00:00
SmallJoker 2ff9058a62 Beds: Fix formspec size, no prepend 2019-01-26 14:00:01 +01:00
Paramat a2c9523bce
Update small pines in schematic_tables.txt
Update was missing from 7fa03c7a9b
2019-01-06 23:48:57 +00:00
Paramat 7fa03c7a9b
Fix small pine leafdecay: New schematics, new leafdecay radius
Fix small pine leafdecay: New schematics, new leafdecay radius
2019-01-04 04:12:07 +00:00
Paramat 8af8dc49a0
Remove uses of default.gui_bg/bg_img/slots
Keep their definitions, to not break mods, but move them to legacy.lua.
2019-01-03 01:57:13 +00:00
Paul Ouellette ccf03ea404 Remove extra empty strings in craft recipes (#2281) 2019-01-02 12:40:32 +01:00
Paramat 6688ddf6d4
Add large cactus seedling
Alter 'large cactus' schematic to place another force-placed cactus node,
to replace the cactus seedling on growth.
Make schematic 5x7x5 to solve rotation, placement and protection check
issues.
Add a y-slice probability for height variation.

Growth time is tuned to not make this a faster way to obtain cactus nodes
compared to normal cactus farming.
Seedling texture by Extex101.

Use sapling/seedling description in protection intersection message in
'sapling_on_place' function.
2019-01-02 02:18:50 +00:00
Paramat da10af919e
Doors: New handle and hinges for glass door 2018-12-22 00:33:37 +00:00
Ryan Nolan bae58b3806 Doors: Allow on_rightclick to be overidden
Allow mods such as protection mods to over ride on_rightclick.
Usecase is creating shared doors without the need for keys.
2018-12-20 22:45:24 +00:00
Paramat ec248d3cb0
Remove now-unused 'puts out fire' group 2018-12-08 04:00:38 +00:00
sofar 667e130c52 Prevent crash if some mod inadvertently allowed doors to rotate 2018-12-06 23:29:43 +00:00
rubenwardy 1fa8180e7f
Add sfinv.get_page() 2018-11-28 14:14:33 +00:00
Paul Ouellette 068e0b167f Remove double inner/outer in stairs descriptions 2018-11-16 19:50:53 +01:00
Ezhh 21f5eaade0
Add plantlike_rooted coral 2018-11-15 00:49:16 +00:00
TumeniNodes 5f61379757 Fix sRGB profiles for obsidian glass stair textures 2018-11-09 18:53:23 +00:00
SmallJoker ad486bc863 New glass, glass stair/slab, and glass door textures 2018-11-02 17:22:54 +00:00
TumeniNodes 5ccf965825 Beds: Use mod textures instead of default_wood.png
No longer use default_wood.png for one side of the bed head and
one side of the bed bottom node.
Add a new texture for the underside of both beds.
2018-10-29 22:08:25 +00:00
Paramat 58f6994e08
Liquid sources: Backface-cull sides and base. Remove unused special tiles
Fixes most z-fighting caused by underwater nodeboxes.
Special tiles were for 'new style water' (lowered water level) which was
removed a few years ago.
2018-10-27 13:57:16 +01:00
SmallJoker cf0e49fb4a Chests: Fix crash on empty key metadata 2018-10-18 05:45:35 +01:00
Paramat 382e2acd9b
Spawn mod: Avoid respawn conflict with beds mod (#2240) 2018-10-14 02:36:40 +01:00
TumeniNodes b042106fdc Stairs: Remove combine slabs code 2018-10-11 19:33:33 +01:00
TumeniNodes f583d90c94 Fence rails: Allow connections to walls 2018-10-11 19:31:35 +01:00