'Filter' texture flag defaults to 'on' when using new textures and rebuilding
Bropocalypse opened this issue · 1 comments
I'm currently using pixellated graphics in my project and I've noticed that rebuilding a map in Godot causes the newly added textures' filters to default their 'Filter' flag to 'On' even though it was deliberately turned 'Off' when imported into Godot(I know because I set them manually). This behavior does not occur on subsequent rebuilds after re-setting the flag back to 'Off'(it only happens to textures newly added to the texture collection in TrenchBroom), but it's a little annoying.
Steps to reproduce:
- Import a texture into Godot(in my case I use .PNG files), placing it into TrenchBroom's designated textures folder.
- Set the texture's 'Filter' flag to 'Off'.
- Refresh the texture collections in Trenchbroom and use the new texture in the current map. Save the file.
- In Godot, press 'Quick Build' or 'Full Build' to rebuild the map.
- Check the texture's flags(you may need to click on a different one and then back again to refresh the Import tab's display).
- the flag will be defaulted to 'On'. You can turn it off and re-import it and it will behave normally.
Godot v3.4.4.stable.official [419e713a2]
Qodot 1.7.1
TrenchBroom v2021.1 (release Linux)
Was in similar situation for a modding project involving external user textures, ended up setting the relevant flags on textures (Texture.FLAG_REPEAT | Texture.FLAG_ANISOTROPIC_FILTER
) when they're created qodot_texture_loader.gd
:
func load_texture(texture_name: String) -> Texture:
if(texture_name == TEXTURE_EMPTY):
return null
# Load image as texture if it's external
if texture_name in external_texture_dict:
var dict_value = external_texture_dict[texture_name]
var img = Image.new()
var err = img.load(external_texture_dict[texture_name])
if err == 0:
var tex = ImageTexture.new()
tex.create_from_image(img)
tex.flags = Texture.FLAG_REPEAT | Texture.FLAG_ANISOTROPIC_FILTER
return tex as Texture
else:
return null
# ...
Its in a added external texture dictionary lookup, but it still should apply to any other texture creation