XPlor/libs/xassets/xgfxworld.h

93 lines
2.6 KiB
C
Raw Permalink Normal View History

2025-08-17 13:14:17 -04:00
#ifndef XGFXWORLD_H
#define XGFXWORLD_H
#include "xasset.h"
2025-09-07 23:12:01 -04:00
#include "xd3dindexbuffer.h"
#include "xgfxbrushmodel.h"
#include "xgfxcell.h"
#include "xgfxlightgrid.h"
#include "xgfxlightmaparray.h"
#include "xgfxlightregion.h"
#include "xgfxscenedynmodel.h"
#include "xgfxscenedynbrush.h"
#include "xgfxshadowgeometry.h"
#include "xgfxworlddpvsdynamic.h"
#include "xgfxworlddpvsplanes.h"
#include "xgfxworlddpvsstatic.h"
2025-08-17 13:14:17 -04:00
#include "xgfxworldstreaminfo.h"
#include "xgfxworldvertexdata.h"
2025-09-07 23:12:01 -04:00
#include "xgfxworldvertexlayerdata.h"
#include "xmaterialmemory.h"
2025-08-17 13:14:17 -04:00
#include "xsunlightparseparams.h"
#include "xgfxlight.h"
2025-09-07 23:12:01 -04:00
#include "xsunflare.h"
2025-08-17 13:14:17 -04:00
#include "xgfxreflectionprobe.h"
class XGfxWorld : public XAsset
{
public:
explicit XGfxWorld();
2025-09-05 18:35:17 -04:00
~XGfxWorld();
2025-08-17 13:14:17 -04:00
2025-09-10 21:58:26 -04:00
void ParseData(XDataStream *aStream) override;
2025-09-05 18:35:17 -04:00
void Clear() override;
2025-08-17 13:14:17 -04:00
private:
2025-09-07 23:12:01 -04:00
XString mName;
XString mBaseName;
qint32 mPlaneCount;
qint32 mNodeCount;
qint32 mIndexCount;
QByteArray mIndices;
XD3DIndexBuffer mIndexBuffer;
qint32 mSurfaceCount;
XGfxWorldStreamInfo mStreamInfo;
qint32 mSkySurfCount;
QVector<qint32> mSkyStartSurfs;
XGfxImage mSkyImage;
quint8 mSkySamplerState;
quint32 mVertexCount;
2025-08-17 13:14:17 -04:00
XGfxWorldVertexData mVertexData;
2025-09-07 23:12:01 -04:00
quint32 mVertexLayerDataSize;
XGfxWorldVertexLayerData mVertexLayerData;
XSunLightParseParams mSunParse;
XGfxLight mSunLight;
QColor mSunColorFromBsp;
quint32 mSunPrimaryLightIndex;
quint32 mPrimaryLightCount;
qint32 mCullGroupCount;
quint32 mReflectionProbeCount;
2025-08-17 13:14:17 -04:00
QVector<XGfxReflectionProbe> mReflectionProbes;
2025-09-07 23:12:01 -04:00
QVector<XGfxTexture> mReflectionProbeTextures;
XGfxWorldDpvsPlanes mDpvsPlanes;
qint32 mCellBitsCount;
QVector<XGfxCell> mCells;
qint32 mLightmapCount;
QVector<XGfxLightmapArray> mLightmaps;
XGfxLightGrid mLightGrid;
QVector<XGfxTexture> mLightmapPrimaryTextures;
QVector<XGfxTexture> mLightmapSecondaryTextures;
qint32 mModelCount;
QVector<XGfxBrushModel> mModels;
QVector3D mMins;
QVector3D mMaxs;
quint32 mChecksum;
qint32 mMaterialMemoryCount;
QVector<XMaterialMemory> mMaterialMemory;
XSunFlare mSun;
QVector<QVector<float>> mOutdoorLookupMatrix;
XGfxImage mOutdoorImage;
QVector<quint32> mCellCasterBits;
QVector<XGfxSceneDynModel> mSceneDynModel;
QVector<XGfxSceneDynBrush> mSceneDynBrush;
quint32 mPrimaryLightEntityShadowVis;
quint32 mPrimaryLightDynEntShadowVis[2];
quint8 mNonSunPrimaryLightForModelDynEnt;
XGfxShadowGeometry mShadowGeom;
XGfxLightRegion mLightRegion;
XGfxWorldDpvsStatic mDpvs;
XGfxWorldDpvsDynamic mDpvsDyn;
2025-08-17 13:14:17 -04:00
};
#endif // XGFXWORLD_H