forked from Mirrorlandia_minetest/minetest
upright_sprite: Fix walk animation in first person (#12194)
This commit is contained in:
parent
a5d29fa1d4
commit
1d07a36552
@ -1974,20 +1974,17 @@ void GenericCAO::updateMeshCulling()
|
|||||||
|
|
||||||
const bool hidden = m_client->getCamera()->getCameraMode() == CAMERA_MODE_FIRST;
|
const bool hidden = m_client->getCamera()->getCameraMode() == CAMERA_MODE_FIRST;
|
||||||
|
|
||||||
if (m_meshnode && m_prop.visual == "upright_sprite") {
|
|
||||||
u32 buffers = m_meshnode->getMesh()->getMeshBufferCount();
|
|
||||||
for (u32 i = 0; i < buffers; i++) {
|
|
||||||
video::SMaterial &mat = m_meshnode->getMesh()->getMeshBuffer(i)->getMaterial();
|
|
||||||
// upright sprite has no backface culling
|
|
||||||
mat.setFlag(video::EMF_FRONT_FACE_CULLING, hidden);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
scene::ISceneNode *node = getSceneNode();
|
scene::ISceneNode *node = getSceneNode();
|
||||||
|
|
||||||
if (!node)
|
if (!node)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (m_prop.visual == "upright_sprite") {
|
||||||
|
// upright sprite has no backface culling
|
||||||
|
node->setMaterialFlag(video::EMF_FRONT_FACE_CULLING, hidden);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (hidden) {
|
if (hidden) {
|
||||||
// Hide the mesh by culling both front and
|
// Hide the mesh by culling both front and
|
||||||
// back faces. Serious hackyness but it works for our
|
// back faces. Serious hackyness but it works for our
|
||||||
|
Loading…
Reference in New Issue
Block a user