]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
upright_sprite: Fix walk animation in first person (#12194)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Fri, 15 Apr 2022 16:55:08 +0000 (18:55 +0200)
committerGitHub <noreply@github.com>
Fri, 15 Apr 2022 16:55:08 +0000 (18:55 +0200)
src/client/content_cao.cpp

index 19569d4b62239df4183b73b9741bf64a3dac1a04..3c31d4a3689e275e16119ee91e0aa9d8812cd774 100644 (file)
@@ -1974,20 +1974,17 @@ void GenericCAO::updateMeshCulling()
 
        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();
+
        if (!node)
                return;
 
+       if (m_prop.visual == "upright_sprite") {
+               // upright sprite has no backface culling
+               node->setMaterialFlag(video::EMF_FRONT_FACE_CULLING, hidden);
+               return;
+       }
+
        if (hidden) {
                // Hide the mesh by culling both front and
                // back faces. Serious hackyness but it works for our