Fix broken plantlike drawtype.

This commit is contained in:
RealBadAngel 2014-10-03 15:33:32 +02:00
parent 37d3c3d328
commit 0920f55eb4

@ -394,7 +394,8 @@ private:
void addNameIdMapping(content_t i, std::string name); void addNameIdMapping(content_t i, std::string name);
#ifndef SERVER #ifndef SERVER
void fillTileAttribs(ITextureSource *tsrc, TileSpec *tile, TileDef *tiledef, void fillTileAttribs(ITextureSource *tsrc, TileSpec *tile, TileDef *tiledef,
u32 shader_id, bool use_normal_texture, u8 alpha, u8 material_type); u32 shader_id, bool use_normal_texture, u8 alpha, u8 material_type,
bool backface_culling);
#endif #endif
// Features indexed by id // Features indexed by id
@ -800,13 +801,13 @@ void CNodeDefManager::updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc
// Tiles (fill in f->tiles[]) // Tiles (fill in f->tiles[])
for (u16 j = 0; j < 6; j++) { for (u16 j = 0; j < 6; j++) {
fillTileAttribs(tsrc, &f->tiles[j], &tiledef[j], tile_shader[j], fillTileAttribs(tsrc, &f->tiles[j], &tiledef[j], tile_shader[j],
use_normal_texture, f->alpha, material_type); use_normal_texture, f->alpha, material_type, f->backface_culling);
} }
// Special tiles (fill in f->special_tiles[]) // Special tiles (fill in f->special_tiles[])
for (u16 j = 0; j < CF_SPECIAL_COUNT; j++) { for (u16 j = 0; j < CF_SPECIAL_COUNT; j++) {
fillTileAttribs(tsrc, &f->special_tiles[j], &f->tiledef_special[j], fillTileAttribs(tsrc, &f->special_tiles[j], &f->tiledef_special[j],
tile_shader[j], use_normal_texture, f->alpha, material_type); tile_shader[j], use_normal_texture, f->alpha, material_type, f->backface_culling);
} }
} }
#endif #endif
@ -816,7 +817,7 @@ void CNodeDefManager::updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc
#ifndef SERVER #ifndef SERVER
void CNodeDefManager::fillTileAttribs(ITextureSource *tsrc, TileSpec *tile, void CNodeDefManager::fillTileAttribs(ITextureSource *tsrc, TileSpec *tile,
TileDef *tiledef, u32 shader_id, bool use_normal_texture, TileDef *tiledef, u32 shader_id, bool use_normal_texture,
u8 alpha, u8 material_type) u8 alpha, u8 material_type, bool backface_culling)
{ {
tile->shader_id = shader_id; tile->shader_id = shader_id;
tile->texture = tsrc->getTexture(tiledef->name, &tile->texture_id); tile->texture = tsrc->getTexture(tiledef->name, &tile->texture_id);
@ -829,7 +830,7 @@ void CNodeDefManager::fillTileAttribs(ITextureSource *tsrc, TileSpec *tile,
// Material flags // Material flags
tile->material_flags = 0; tile->material_flags = 0;
if (tiledef->backface_culling) if (backface_culling)
tile->material_flags |= MATERIAL_FLAG_BACKFACE_CULLING; tile->material_flags |= MATERIAL_FLAG_BACKFACE_CULLING;
if (tiledef->animation.type == TAT_VERTICAL_FRAMES) if (tiledef->animation.type == TAT_VERTICAL_FRAMES)
tile->material_flags |= MATERIAL_FLAG_ANIMATION_VERTICAL_FRAMES; tile->material_flags |= MATERIAL_FLAG_ANIMATION_VERTICAL_FRAMES;