mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-03 23:56:43 +00:00 
			
		
		
		
	BulletNifLoader: properly check if the node has animation controllers Flatten extra data linked list
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1,013 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1,013 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "base.hpp"
 | 
						|
 | 
						|
namespace Nif
 | 
						|
{
 | 
						|
    void Extra::read(NIFStream* nif)
 | 
						|
    {
 | 
						|
        if (nif->getVersion() >= NIFStream::generateVersion(10, 0, 1, 0))
 | 
						|
            nif->read(mName);
 | 
						|
        else if (nif->getVersion() <= NIFStream::generateVersion(4, 2, 2, 0))
 | 
						|
        {
 | 
						|
            mNext.read(nif);
 | 
						|
            nif->read(mRecordSize);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    void NiObjectNET::read(NIFStream* nif)
 | 
						|
    {
 | 
						|
        nif->read(mName);
 | 
						|
        if (nif->getVersion() < NIFStream::generateVersion(10, 0, 1, 0))
 | 
						|
            mExtra.read(nif);
 | 
						|
        else
 | 
						|
            readRecordList(nif, mExtraList);
 | 
						|
        mController.read(nif);
 | 
						|
    }
 | 
						|
 | 
						|
    void NiObjectNET::post(Reader& nif)
 | 
						|
    {
 | 
						|
        mExtra.post(nif);
 | 
						|
        postRecordList(nif, mExtraList);
 | 
						|
        mController.post(nif);
 | 
						|
    }
 | 
						|
 | 
						|
    ExtraList NiObjectNET::getExtraList() const
 | 
						|
    {
 | 
						|
        ExtraList list = mExtraList;
 | 
						|
        for (ExtraPtr extra = mExtra; !extra.empty(); extra = extra->mNext)
 | 
						|
            list.emplace_back(extra);
 | 
						|
        return list;
 | 
						|
    }
 | 
						|
}
 |