1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Implement override.txt support for special tiles (#10140)

Add override targets for all special_tiles entries in node definitions, allowing texture packs to replace these textures. This makes overrides work properly with a variety of drawtypes.

The targets are named special1 through special6, covering the the current length of the special_tiles array.
This commit is contained in:
Hugues Ross 2020-08-04 14:12:47 -04:00 committed by GitHub
parent d22fd6fc34
commit 93ecc589bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 84 additions and 16 deletions

View file

@ -1337,6 +1337,7 @@ void NodeDefManager::applyTextureOverrides(const std::vector<TextureOverride> &o
ContentFeatures &nodedef = m_content_features[id];
// Override tiles
if (texture_override.hasTarget(OverrideTarget::TOP))
nodedef.tiledef[0].name = texture_override.texture;
@ -1354,6 +1355,26 @@ void NodeDefManager::applyTextureOverrides(const std::vector<TextureOverride> &o
if (texture_override.hasTarget(OverrideTarget::FRONT))
nodedef.tiledef[5].name = texture_override.texture;
// Override special tiles, if applicable
if (texture_override.hasTarget(OverrideTarget::SPECIAL_1))
nodedef.tiledef_special[0].name = texture_override.texture;
if (texture_override.hasTarget(OverrideTarget::SPECIAL_2))
nodedef.tiledef_special[1].name = texture_override.texture;
if (texture_override.hasTarget(OverrideTarget::SPECIAL_3))
nodedef.tiledef_special[2].name = texture_override.texture;
if (texture_override.hasTarget(OverrideTarget::SPECIAL_4))
nodedef.tiledef_special[3].name = texture_override.texture;
if (texture_override.hasTarget(OverrideTarget::SPECIAL_5))
nodedef.tiledef_special[4].name = texture_override.texture;
if (texture_override.hasTarget(OverrideTarget::SPECIAL_6))
nodedef.tiledef_special[5].name = texture_override.texture;
}
}