fix fatal CKStateChunk error
This commit is contained in:
20
LibCmo/CK2/ObjImpls/CK3dEntity.cpp
Normal file
20
LibCmo/CK2/ObjImpls/CK3dEntity.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
#include "CK3dEntity.hpp"
|
||||
#include "../CKStateChunk.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
bool CK3dEntity::Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) {
|
||||
bool suc = CKRenderObject::Save(chunk, file, flags);
|
||||
if (!suc) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CK3dEntity::Load(CKStateChunk* chunk, CKFileVisitor* file) {
|
||||
bool suc = CKRenderObject::Load(chunk, file);
|
||||
if (!suc) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
32
LibCmo/CK2/ObjImpls/CK3dEntity.hpp
Normal file
32
LibCmo/CK2/ObjImpls/CK3dEntity.hpp
Normal file
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../VTAll.hpp"
|
||||
#include "CKRenderObject.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
class CK3dEntity : public CKRenderObject {
|
||||
public:
|
||||
CK3dEntity(CKContext* ctx, CK_ID ckid, CKSTRING name) :
|
||||
CKRenderObject(ctx, ckid, name),
|
||||
m_Meshes(), m_CurrentMesh(nullptr), m_WorldMatrix()
|
||||
{}
|
||||
virtual ~CK3dEntity() {}
|
||||
LIBCMO_DISABLE_COPY_MOVE(CK3dEntity);
|
||||
|
||||
virtual CK_CLASSID GetClassID(void) override {
|
||||
return CK_CLASSID::CKCID_3DENTITY;
|
||||
}
|
||||
//virtual void PreSave(CKFileVisitor* file, CKDWORD flags) override;
|
||||
virtual bool Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) override;
|
||||
virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file) override;
|
||||
//virtual void PostLoad() override;
|
||||
|
||||
protected:
|
||||
XContainer::XObjectPointerArray m_Meshes;
|
||||
CKMesh* m_CurrentMesh;
|
||||
VxMath::VxMatrix m_WorldMatrix;
|
||||
|
||||
};
|
||||
|
||||
}
|
28
LibCmo/CK2/ObjImpls/CK3dObject.hpp
Normal file
28
LibCmo/CK2/ObjImpls/CK3dObject.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../VTAll.hpp"
|
||||
#include "CK3dEntity.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
class CK3dObject : public CK3dEntity {
|
||||
public:
|
||||
CK3dObject(CKContext* ctx, CK_ID ckid, CKSTRING name) :
|
||||
CK3dEntity(ctx, ckid, name)
|
||||
{}
|
||||
virtual ~CK3dObject() {}
|
||||
LIBCMO_DISABLE_COPY_MOVE(CK3dObject);
|
||||
|
||||
virtual CK_CLASSID GetClassID(void) override {
|
||||
return CK_CLASSID::CKCID_3DOBJECT;
|
||||
}
|
||||
// CK3dObject do not implement any load/save functions
|
||||
//virtual void PreSave(CKFileVisitor* file, CKDWORD flags) override;
|
||||
//virtual bool Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) override;
|
||||
//virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file) override;
|
||||
//virtual void PostLoad() override;
|
||||
protected:
|
||||
|
||||
};
|
||||
|
||||
}
|
8
LibCmo/CK2/ObjImpls/CKRenderObject.cpp
Normal file
8
LibCmo/CK2/ObjImpls/CKRenderObject.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
#include "CKRenderObject.hpp"
|
||||
#include "../CKStateChunk.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
// nothing to compile now
|
||||
|
||||
}
|
28
LibCmo/CK2/ObjImpls/CKRenderObject.hpp
Normal file
28
LibCmo/CK2/ObjImpls/CKRenderObject.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../VTAll.hpp"
|
||||
#include "CKBeObject.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
class CKRenderObject : public CKBeObject {
|
||||
public:
|
||||
CKRenderObject(CKContext* ctx, CK_ID ckid, CKSTRING name) :
|
||||
CKBeObject(ctx, ckid, name)
|
||||
{}
|
||||
virtual ~CKRenderObject() {}
|
||||
LIBCMO_DISABLE_COPY_MOVE(CKRenderObject);
|
||||
|
||||
virtual CK_CLASSID GetClassID(void) override {
|
||||
return CK_CLASSID::CKCID_RENDEROBJECT;
|
||||
}
|
||||
// CKRenderObject do not implement any load/save functions
|
||||
//virtual void PreSave(CKFileVisitor* file, CKDWORD flags) override;
|
||||
//virtual bool Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) override;
|
||||
//virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file) override;
|
||||
//virtual void PostLoad() override;
|
||||
protected:
|
||||
|
||||
};
|
||||
|
||||
}
|
Reference in New Issue
Block a user