]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/content_cso.cpp
Minimap: show player markers
[dragonfireclient.git] / src / content_cso.cpp
index 20eb88b7d41161ce311211c9dfe5b9089884cabe..0790024fc9623f0319ac3523ae5c9d96452f4851 100644 (file)
@@ -19,12 +19,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "content_cso.h"
 #include <IBillboardSceneNode.h>
-#include "tile.h"
+#include "client/tile.h"
 #include "environment.h"
 #include "gamedef.h"
 #include "log.h"
 #include "map.h"
 
+/*
 static void setBillboardTextureMatrix(scene::IBillboardSceneNode *bill,
                float txs, float tys, int col, int row)
 {
@@ -33,6 +34,7 @@ static void setBillboardTextureMatrix(scene::IBillboardSceneNode *bill,
        matrix.setTextureTranslate(txs*col, tys*row);
        matrix.setTextureScale(txs, tys);
 }
+*/
 
 class SmokePuffCSO: public ClientSimpleObject
 {
@@ -48,7 +50,7 @@ class SmokePuffCSO: public ClientSimpleObject
                m_spritenode = smgr->addBillboardSceneNode(
                                NULL, v2f(1,1), pos, -1);
                m_spritenode->setMaterialTexture(0,
-                               env->getGameDef()->tsrc()->getTextureRaw("smoke_puff.png"));
+                               env->getGameDef()->tsrc()->getTextureForMesh("smoke_puff.png"));
                m_spritenode->setMaterialFlag(video::EMF_LIGHTING, false);
                m_spritenode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
                //m_spritenode->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF);
@@ -58,13 +60,12 @@ class SmokePuffCSO: public ClientSimpleObject
                m_spritenode->setVisible(true);
                m_spritenode->setSize(size);
                /* Update brightness */
-               u8 light = 64;
-               try{
-                       MapNode n = env->getMap().getNode(floatToInt(pos, BS));
-                       light = decode_light(n.getLightBlend(env->getDayNightRatio(),
-                                       env->getGameDef()->ndef()));
-               }
-               catch(InvalidPositionException &e){}
+               u8 light;
+               bool pos_ok;
+               MapNode n = env->getMap().getNodeNoEx(floatToInt(pos, BS), &pos_ok);
+               light = pos_ok ? decode_light(n.getLightBlend(env->getDayNightRatio(),
+                                                       env->getGameDef()->ndef()))
+                              : 64;
                video::SColor color(255,light,light,light);
                m_spritenode->setColor(color);
        }