summaryrefslogtreecommitdiff
path: root/src/clientobject.h
diff options
context:
space:
mode:
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>2012-11-04 23:54:50 +0200
committerPerttu Ahola <celeron55@gmail.com>2012-11-25 19:14:23 +0200
commit52fcb0b4b9c3e0f80881d0a9295e742687bdfb1c (patch)
tree60633cdef54786cfc8d96026cd7635e1f4bdbea5 /src/clientobject.h
parentd7d759b43f99c999fedd9376edbf5f4e1384dafa (diff)
downloadminetest-52fcb0b4b9c3e0f80881d0a9295e742687bdfb1c.tar.gz
minetest-52fcb0b4b9c3e0f80881d0a9295e742687bdfb1c.tar.bz2
minetest-52fcb0b4b9c3e0f80881d0a9295e742687bdfb1c.zip
Send animations, bone overrides and attachments in entity initialization. Clients no longer have to be near an object when an animation or attachment is set to see the changes, and newly connected clients (or a client that simply renders the object for the first time) will get all of those settings. Therefore, the lua script no longer needs to run every X seconds either, just once per entity.
Finish fixing the material color code. But it won't work until MineTest has dynamic lighting... another day another feature. Extra checks for the bone positioning / rotation code Many checks and consistency improvements to the client attachment code Make a separate function for checking if a client object is attached. A more in-depth change will be needed here to fix reading of invalid pointers Use a different method of fetching the parent. Fixes the mass segmentation faults when rendering an attachment (some still happen though) Major change to how attachments are handled. Fix the last segmentaton fault, which was due to the parent becoming invalid while being refreshed / removed which would bause the child to remain attached to nothing. Parents remove their children when being deleted themselves and add them back when re-added. Attachments are stored inside a 2D a vector which easily allows both a child to find their parent and a parent to find its children. Remove attachment list entry when an object is being permanently removed. Also avoid duplicate entries in this list when re-attaching the same object The "big code comments" can now go away. Client attachments almost work properly, and I know what else needs to be done
Diffstat (limited to 'src/clientobject.h')
-rw-r--r--src/clientobject.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/clientobject.h b/src/clientobject.h
index e08b78c57..ff9f9f37b 100644
--- a/src/clientobject.h
+++ b/src/clientobject.h
@@ -49,7 +49,7 @@ public:
virtual void addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
IrrlichtDevice *irr){}
- virtual void removeFromScene(){}
+ virtual void removeFromScene(bool permanent){}
// 0 <= light_at_pos <= LIGHT_SUN
virtual void updateLight(u8 light_at_pos){}
virtual v3s16 getLightPosition(){return v3s16(0,0,0);}
@@ -61,6 +61,7 @@ public:
virtual scene::IBillboardSceneNode *getSpriteSceneNode(){return NULL;}
virtual bool isPlayer(){return false;}
virtual bool isLocalPlayer(){return false;}
+ virtual void updateParent(){}
virtual bool doShowSelectionBox(){return true;}
// Step object in time