mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-21 02:39:17 +00:00
Added a basic UI to change collision render settings, added the ability to color collision based on the surface type
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "CResource.h"
|
||||
#include "CCollisionMesh.h"
|
||||
#include "EGame.h"
|
||||
#include "TResPtr.h"
|
||||
#include <vector>
|
||||
|
||||
@@ -10,6 +11,7 @@ class CCollisionMeshGroup : public CResource
|
||||
{
|
||||
DECLARE_RESOURCE_TYPE(eCollisionMeshGroup)
|
||||
std::vector<CCollisionMesh*> mMeshes;
|
||||
EGame mGame;
|
||||
|
||||
public:
|
||||
CCollisionMeshGroup() {}
|
||||
@@ -20,8 +22,11 @@ public:
|
||||
delete *it;
|
||||
}
|
||||
|
||||
inline EGame Game() const { return mGame; }
|
||||
inline u32 NumMeshes() const { return mMeshes.size(); }
|
||||
inline CCollisionMesh* MeshByIndex(u32 Index) const { return mMeshes[Index]; }
|
||||
|
||||
inline void SetGame(EGame Game) { mGame = Game; }
|
||||
inline void AddMesh(CCollisionMesh *pMesh) { mMeshes.push_back(pMesh); }
|
||||
|
||||
inline void Draw()
|
||||
|
||||
@@ -144,6 +144,7 @@ CCollisionMeshGroup* CCollisionLoader::LoadAreaCollision(IInputStream& rMREA)
|
||||
loader.mVersion = GetFormatVersion(rMREA.ReadLong());
|
||||
|
||||
loader.mpGroup = new CCollisionMeshGroup;
|
||||
loader.mpGroup->SetGame(loader.mVersion);
|
||||
loader.mpMesh = new CCollisionMesh;
|
||||
|
||||
// Octree - structure is known, but not coding this right now
|
||||
@@ -180,6 +181,7 @@ CCollisionMeshGroup* CCollisionLoader::LoadDCLN(IInputStream& rDCLN)
|
||||
}
|
||||
|
||||
Loader.mVersion = GetFormatVersion(rDCLN.ReadLong());
|
||||
Loader.mpGroup->SetGame(Loader.mVersion);
|
||||
|
||||
Loader.mpMesh = new CCollisionMesh;
|
||||
Loader.mpMesh->mOctreeLoaded = false;
|
||||
|
||||
Reference in New Issue
Block a user