Files
Leviathan/Client/Game/game/QJTV/QJTVObj.h
T
2026-06-01 12:46:52 +02:00

37 lines
851 B
C++

#pragma once
#include "KTypes.h"
#include <kfile/KStream.h>
#include <kfile/TrfMapper.h>
class QJTVObj
{
public:
QJTVObj();
~QJTVObj();
void Clear();
void ClearTempBits();
void AllocTempBits();
void ClearBits();
void AllocBits();
void Load( const trf::MetaData* pMeta, KStream* pStream );
void Load( const trf::MetaData* pMeta, const char* szFile );
void GetFrame( int nFrame, BYTE*& pBits, int& nWidth, int& nHeight );
unsigned int GetFrameCount() { return m_vFrames.size(); }
void GetFrameIndexList( std::vector<int>& rvFrames ) { rvFrames = m_vFrames; };
private:
void _DetailLoad( const trf::MetaData* pMeta, KStream* pStream );
KStream* m_pStream;
trf::Mapper* m_pMapper;
trf::MTemplateArrayPtr m_pFrameArray;
std::vector< int > m_vFrames;
int m_nCurWidth;
int m_nCurHeight;
BYTE* m_pBits;
};