2011-11-24 06:48:54 +00:00
|
|
|
#ifndef _GAME_RENDER_NPCANIMATION_H
|
|
|
|
#define _GAME_RENDER_NPCANIMATION_H
|
|
|
|
#include "animation.hpp"
|
|
|
|
#include <components/nif/data.hpp>
|
|
|
|
#include <components/nif/node.hpp>
|
2011-12-14 04:49:03 +00:00
|
|
|
#include <components/nif/property.hpp>
|
|
|
|
#include <components/nif/controller.hpp>
|
|
|
|
#include <components/nif/extra.hpp>
|
2011-12-12 03:40:00 +00:00
|
|
|
|
|
|
|
#include "../mwworld/refdata.hpp"
|
|
|
|
#include "../mwworld/ptr.hpp"
|
|
|
|
#include "../mwworld/environment.hpp"
|
|
|
|
#include "components/nifogre/ogre_nif_loader.hpp"
|
|
|
|
|
2011-11-24 06:48:54 +00:00
|
|
|
namespace MWRender{
|
|
|
|
|
2011-12-12 03:40:00 +00:00
|
|
|
class NpcAnimation: public Animation{
|
2011-12-14 04:49:03 +00:00
|
|
|
std::vector<Ogre::Entity*> entityparts;
|
2011-12-27 00:23:46 +00:00
|
|
|
Ogre::Entity* hand;
|
2011-12-27 05:20:14 +00:00
|
|
|
Ogre::SceneNode* insert;
|
2011-12-28 00:19:45 +00:00
|
|
|
std::vector<std::vector<Nif::NiTriShapeCopy>* > shapeparts; //All the NiTriShape data that we need for animating this particular npc
|
2011-12-12 03:40:00 +00:00
|
|
|
public:
|
|
|
|
NpcAnimation(const MWWorld::Ptr& ptr, MWWorld::Environment& _env, OEngine::Render::OgreRenderer& _rend);
|
2011-12-12 04:42:39 +00:00
|
|
|
~NpcAnimation();
|
2011-12-12 03:40:00 +00:00
|
|
|
Ogre::Entity* insertBoundedPart(const std::string &mesh, std::string bonename);
|
2011-12-17 06:29:08 +00:00
|
|
|
void insertFreePart(const std::string &mesh, const std::string suffix, Ogre::SceneNode* insert);
|
2011-12-26 03:37:26 +00:00
|
|
|
virtual void runAnimation(float timepassed);
|
|
|
|
|
2011-11-24 06:48:54 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|