Page 1 of 1

changing a texture of a wall

Posted: Mon Jan 13, 2020 5:10 pm
by tadpolefeet
I thought walls looked too boring, and made a few textures for single walls that make them decorations. how can i replace the textures of hr-wall-single.png and hr-wall-single-shadow.png to custom ones

Re: changing a texture of a wall

Posted: Mon Jan 13, 2020 9:13 pm
by darkfrei
It's a file

Code: Select all

Factorio_0.17\data\core\graphics\background-image.jpg
but it seems that's impossible to change the background via mod.

Re: changing a texture of a wall

Posted: Tue Jan 14, 2020 12:16 am
by asdff45
THis should be possible, with overriding the default texture with your own texture in the data stage:

Code: Select all

data.raw.wall["stone-wall"].pictures.single.layers[0].filename = "your-sd-sprite"
data.raw.wall["stone-wall"].pictures.single.layers[0].hr_version.filename = "your-hr-sprite"
data.raw.wall["stone-wall"].pictures.single.layers[1].filename = "your-sd-shadow"
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.filename = "your-hr-shadow"
Stone-Wall Prototype definition: https://github.com/wube/factorio-data/b ... .lua#L4465
Prototype of Walls: https://wiki.factorio.com/Prototype/Wall#pictures

Dont forget to override also the other Parts of the `pictures` table

Re: changing a texture of a wall

Posted: Tue Jan 14, 2020 5:38 pm
by darkfrei
My bad, the wall sprites are defined as

Code: Select all

data.raw.wall["stone-wall"].pictures.single.layers[1].filename = "__base__/graphics/entity/wall/wall-single.png" 
data.raw.wall["stone-wall"].pictures.single.layers[1].priority = "extra-high" 
data.raw.wall["stone-wall"].pictures.single.layers[1].width = 32 
data.raw.wall["stone-wall"].pictures.single.layers[1].height = 46 
data.raw.wall["stone-wall"].pictures.single.layers[1].variation_count = 2 
data.raw.wall["stone-wall"].pictures.single.layers[1].line_length = 2 
data.raw.wall["stone-wall"].pictures.single.layers[1].shift[1] = 0 
data.raw.wall["stone-wall"].pictures.single.layers[1].shift[2] = -0.1875 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.filename = "__base__/graphics/entity/wall/hr-wall-single.png" 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.priority = "extra-high" 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.width = 64 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.height = 86 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.variation_count = 2 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.line_length = 2 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.shift[1] = 0 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.shift[2] = -0.15625 
data.raw.wall["stone-wall"].pictures.single.layers[1].hr_version.scale = 0.5 
data.raw.wall["stone-wall"].pictures.single.layers[2].filename = "__base__/graphics/entity/wall/wall-single-shadow.png" 
data.raw.wall["stone-wall"].pictures.single.layers[2].priority = "extra-high" 
data.raw.wall["stone-wall"].pictures.single.layers[2].width = 50 
data.raw.wall["stone-wall"].pictures.single.layers[2].height = 32 
data.raw.wall["stone-wall"].pictures.single.layers[2].repeat_count = 2 
data.raw.wall["stone-wall"].pictures.single.layers[2].shift[1] = 0.3125 
data.raw.wall["stone-wall"].pictures.single.layers[2].shift[2] = 0.5 
data.raw.wall["stone-wall"].pictures.single.layers[2].draw_as_shadow = true 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.filename = "__base__/graphics/entity/wall/hr-wall-single-shadow.png" 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.priority = "extra-high" 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.width = 98 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.height = 60 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.repeat_count = 2 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.shift[1] = 0.3125 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.shift[2] = 0.53125 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.draw_as_shadow = true 
data.raw.wall["stone-wall"].pictures.single.layers[2].hr_version.scale = 0.5 
The same for

Code: Select all

data.raw.wall["stone-wall"].pictures.straight_vertical
data.raw.wall["stone-wall"].pictures.straight_horizontal
data.raw.wall["stone-wall"].pictures.corner_right_down
data.raw.wall["stone-wall"].pictures.corner_left_down
data.raw.wall["stone-wall"].pictures.t_up
data.raw.wall["stone-wall"].pictures.ending_right
data.raw.wall["stone-wall"].pictures.ending_left
data.raw.wall["stone-wall"].pictures.filling
data.raw.wall["stone-wall"].pictures.water_connection_patch
data.raw.wall["stone-wall"].pictures.gate_connection_patch

Re: changing a texture of a wall

Posted: Tue Jan 14, 2020 10:10 pm
by Hiladdar
What the others wrote before me is spot on.

Only thing I would like to add, is this: If all you are modifying is the skin, then there is no need to edit the ...shadow.png files. If you want, you can improve on the resolution of the graphic, then you will need to edit some of the attributes which define your graphic file within .lua. If you want to change the shape, height or width of a wall, then you will need to come up with a new ...shadow.png files.

Hiladdar