File: texture.cpp

package info (click to toggle)
openmw 0.49.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,992 kB
  • sloc: cpp: 372,479; xml: 2,149; sh: 1,403; python: 797; makefile: 26
file content (47 lines) | stat: -rw-r--r-- 1,289 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "texture.hpp"

#include "data.hpp"

namespace Nif
{

    void NiSourceTexture::read(NIFStream* nif)
    {
        NiTexture::read(nif);

        nif->read(mExternal);
        bool hasData = nif->getVersion() >= NIFStream::generateVersion(10, 0, 1, 4);
        if (!hasData && !mExternal)
            hasData = nif->get<uint8_t>() != 0;

        if (mExternal || nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 0))
            nif->read(mFile);

        if (hasData)
            mData.read(nif);

        mPrefs.mPixelLayout = static_cast<PixelLayout>(nif->get<uint32_t>());
        mPrefs.mUseMipMaps = static_cast<MipMapFormat>(nif->get<uint32_t>());
        mPrefs.mAlphaFormat = static_cast<AlphaFormat>(nif->get<uint32_t>());

        nif->read(mIsStatic);
        if (nif->getVersion() >= NIFStream::generateVersion(10, 1, 0, 103))
        {
            nif->read(mDirectRendering);
            if (nif->getVersion() >= NIFStream::generateVersion(20, 2, 0, 4))
                nif->read(mPersistRenderData);
        }
    }

    void NiSourceTexture::post(Reader& nif)
    {
        NiTexture::post(nif);
        mData.post(nif);
    }

    void BSShaderTextureSet::read(NIFStream* nif)
    {
        nif->getSizedStrings(mTextures, nif->get<uint32_t>());
    }

}