12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #pragma once
- #include "MathLib.h"
- class CVertexArray
- {
- public:
- CVertexArray();
- ~CVertexArray();
- static void SetVertexSize(DWORD Size);
- BOOL UnPack(BYTE** ppData, ULONG iSize);
- BOOL AllocateVertex(DWORD VertexCount, DWORD VertexType);
- void DestroyVertex();
- LPVOID m_pAlloc; // 0x00
- DWORD m_VertexType; // 0x04
- DWORD m_VertexCount; // 0x08
- LPVOID m_pVertexBuffer; // 0x0C
- static DWORD vertex_size;
- #define VERTEX_NUM(vertbuffer, vertindex) \
- ((CSWVertex *)((BYTE *)vertbuffer + ((CVertexArray::vertex_size) * (vertindex))))
- };
- class CSWVertexUV
- {
- public:
- CSWVertexUV();
- BOOL UnPack(BYTE **ppData, ULONG iSize);
- float u, v;
- };
- class CSWVertex
- {
- public:
- void Init();
- void Destroy();
- BOOL UnPack(BYTE **ppData, ULONG iSize);
- Vector origin; // 0x00 0x04 0x08
- short index; // 0x0C Identifier
- short uvcount; // 0x0E
- CSWVertexUV* uvarray; // 0x10 UV Array data
- Vector normal; // 0x14 0x18 0x1C
- float unk20; // 0x20
- float unk24; // 0x24
- };
- class BBox
- {
- public:
- BBox();
- void CalcBBox(Vector& Point);
- Vector m_Min, m_Max;
- };
|