2023-08-02 00:55:16 +02:00
|
|
|
#ifndef GAME_RENDER_ESM4NPCANIMATION_H
|
|
|
|
#define GAME_RENDER_ESM4NPCANIMATION_H
|
|
|
|
|
|
|
|
#include "animation.hpp"
|
|
|
|
|
2023-12-24 17:20:57 +01:00
|
|
|
namespace ESM4
|
|
|
|
{
|
|
|
|
struct Npc;
|
|
|
|
}
|
|
|
|
|
2023-08-02 00:55:16 +02:00
|
|
|
namespace MWRender
|
|
|
|
{
|
|
|
|
class ESM4NpcAnimation : public Animation
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ESM4NpcAnimation(
|
|
|
|
const MWWorld::Ptr& ptr, osg::ref_ptr<osg::Group> parentNode, Resource::ResourceSystem* resourceSystem);
|
|
|
|
|
|
|
|
private:
|
2023-10-04 22:48:17 +02:00
|
|
|
void insertPart(std::string_view model);
|
2023-08-02 00:55:16 +02:00
|
|
|
|
2023-10-06 22:08:00 +02:00
|
|
|
// Works for FO3/FONV/TES5
|
|
|
|
void insertHeadParts(const std::vector<ESM::FormId>& partIds, std::set<uint32_t>& usedHeadPartTypes);
|
|
|
|
|
2023-10-04 22:48:17 +02:00
|
|
|
void updateParts();
|
2023-12-24 17:20:57 +01:00
|
|
|
void updatePartsTES4(const ESM4::Npc& traits);
|
|
|
|
void updatePartsTES5(const ESM4::Npc& traits);
|
2023-08-02 00:55:16 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // GAME_RENDER_ESM4NPCANIMATION_H
|