DragonNest/Common/EternityEngineSrv/EtSubMesh.cpp
2024-12-20 16:56:44 +08:00

44 lines
2.3 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "StdAfx.h"
#include "EtSubMesh.h"
#include "EtAni.h"
CEtSubMesh::CEtSubMesh(void)
{
}
CEtSubMesh::~CEtSubMesh(void)
{
}
void CEtSubMesh::LoadSubMesh( CStream *pStream )
{
int i;
SSubMeshHeader SubMeshHeader;
pStream->Read( &SubMeshHeader, sizeof( SSubMeshHeader ) );
pStream->Seek( SUBMESH_HEADER_RESERVED, SEEK_CUR );
pStream->Seek( sizeof( WORD ) * SubMeshHeader.nFaceBufferSize, SEEK_CUR );
pStream->Seek( sizeof( float ) * 3 * SubMeshHeader.nVertexCount, SEEK_CUR );
pStream->Seek( sizeof( float ) * 3 * SubMeshHeader.nVertexCount, SEEK_CUR );
for( i = 0; i < SubMeshHeader.nTextureChannel; i++ )
{
pStream->Seek( sizeof( float ) * 2 * SubMeshHeader.nVertexCount, SEEK_CUR );
}
if( SubMeshHeader.bUseVertexColor )
{
pStream->Seek( sizeof( DWORD ) * SubMeshHeader.nVertexCount, SEEK_CUR );
}
if( SubMeshHeader.bUsePhysique )
{
pStream->Seek( sizeof( short ) * 4 * SubMeshHeader.nVertexCount, SEEK_CUR );
pStream->Seek( sizeof( float ) * 4 * SubMeshHeader.nVertexCount, SEEK_CUR );
int nBoneCount;
pStream->Read( &nBoneCount, sizeof( int ) );
pStream->Seek( 256 * nBoneCount, SEEK_CUR );
}
}