remove all std::nothrow and re-create namespace for objs and mgrs
This commit is contained in:
123
LibCmo/CK2/ObjImpls/CKObject.cpp
Normal file
123
LibCmo/CK2/ObjImpls/CKObject.cpp
Normal file
@ -0,0 +1,123 @@
|
||||
#include "CKObject.hpp"
|
||||
#include "../CKStateChunk.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
|
||||
void CKObject::PreSave(CKFileVisitor* file, CKDWORD flags) {}
|
||||
|
||||
CKStateChunk* CKObject::Save(CKFileVisitor* file, CKDWORD flags) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool CKObject::Load(CKStateChunk* chunk, CKFileVisitor* file) {
|
||||
if (chunk->SeekIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIDDEN)) {
|
||||
EnumsHelper::Rm(this->m_ObjectFlags,
|
||||
EnumsHelper::Merge({ CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE }));
|
||||
} else {
|
||||
if (chunk->SeekIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIERAHIDDEN)) {
|
||||
// != 0
|
||||
EnumsHelper::Rm(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE);
|
||||
EnumsHelper::Add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE);
|
||||
|
||||
} else {
|
||||
// == 0
|
||||
EnumsHelper::Add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE);
|
||||
EnumsHelper::Rm(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CKObject::PostLoad() {}
|
||||
|
||||
|
||||
//CKSceneObject::CKSceneObject(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKSceneObject::~CKSceneObject() {
|
||||
//}
|
||||
|
||||
//CKBeObject::CKBeObject(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKSceneObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKBeObject::~CKBeObject() {
|
||||
//}
|
||||
|
||||
//CKGroup::CKGroup(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKBeObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKGroup::~CKGroup() {
|
||||
//}
|
||||
|
||||
//CKMesh::CKMesh(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKBeObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKMesh::~CKMesh() {
|
||||
//}
|
||||
|
||||
//CKTexture::CKTexture(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKBeObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKTexture::~CKTexture() {
|
||||
//}
|
||||
|
||||
//CKMaterial::CKMaterial(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKBeObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKMaterial::~CKMaterial() {
|
||||
//}
|
||||
|
||||
//CKRenderObject::CKRenderObject(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKBeObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKRenderObject::~CKRenderObject() {
|
||||
//}
|
||||
|
||||
//CK3dEntity::CK3dEntity(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKRenderObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CK3dEntity::~CK3dEntity() {
|
||||
//}
|
||||
|
||||
//CK3dObject::CK3dObject(CKContext* ctx, CK_ID ckid, CKSTRING name) : CK3dEntity(ctx, ckid, name) {
|
||||
//}
|
||||
//CK3dObject::~CK3dObject() {
|
||||
//}
|
||||
|
||||
|
||||
//CKParameterIn::CKParameterIn(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKParameterIn::~CKParameterIn() {
|
||||
//}
|
||||
|
||||
//CKParameter::CKParameter(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKParameter::~CKParameter() {
|
||||
//}
|
||||
|
||||
//CKParameterOut::CKParameterOut(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKParameter(ctx, ckid, name) {
|
||||
//}
|
||||
//CKParameterOut::~CKParameterOut() {
|
||||
//}
|
||||
|
||||
//CKParameterLocal::CKParameterLocal(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKParameter(ctx, ckid, name) {
|
||||
//}
|
||||
//CKParameterLocal::~CKParameterLocal() {
|
||||
//}
|
||||
|
||||
//CKParameterOperation::CKParameterOperation(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKParameterOperation::~CKParameterOperation() {
|
||||
//}
|
||||
|
||||
//CKBehaviorLink::CKBehaviorLink(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKBehaviorLink::~CKBehaviorLink() {
|
||||
//}
|
||||
|
||||
//CKBehaviorIO::CKBehaviorIO(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKBehaviorIO::~CKBehaviorIO() {
|
||||
//}
|
||||
|
||||
//CKBehavior::CKBehavior(CKContext* ctx, CK_ID ckid, CKSTRING name) : CKSceneObject(ctx, ckid, name) {
|
||||
//}
|
||||
//CKBehavior::~CKBehavior() {
|
||||
//}
|
||||
|
||||
}
|
267
LibCmo/CK2/ObjImpls/CKObject.hpp
Normal file
267
LibCmo/CK2/ObjImpls/CKObject.hpp
Normal file
@ -0,0 +1,267 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../VTUtils.hpp"
|
||||
#include "../CKContext.hpp"
|
||||
|
||||
namespace LibCmo::CK2::ObjImpls {
|
||||
|
||||
class CKObject {
|
||||
public:
|
||||
CKObject(CKContext* ctx, CK_ID ckid, CKSTRING name) :
|
||||
m_ID(ckid),
|
||||
m_Name(name),
|
||||
m_Context(ctx),
|
||||
m_ObjectFlags(CK_OBJECT_FLAGS::CK_PARAMETERIN_DISABLED)
|
||||
{}
|
||||
virtual ~CKObject() {}
|
||||
LIBCMO_DISABLE_COPY_MOVE(CKObject);
|
||||
|
||||
CK_ID GetID(void) {
|
||||
return m_ID;
|
||||
}
|
||||
CKSTRING GetName(void) {
|
||||
return m_Name.c_str();
|
||||
}
|
||||
void SetName(CKSTRING u8_name) {
|
||||
m_Name = u8_name;
|
||||
}
|
||||
CK_OBJECT_FLAGS GetObjectFlags(void) {
|
||||
return m_ObjectFlags;
|
||||
}
|
||||
void SetObjectFlags(CK_OBJECT_FLAGS flags) {
|
||||
m_ObjectFlags = flags;
|
||||
}
|
||||
CKContext* GetCKContext() {
|
||||
return m_Context;
|
||||
}
|
||||
|
||||
virtual CK_CLASSID GetClassID(void) {
|
||||
return CK_CLASSID::CKCID_OBJECT;
|
||||
}
|
||||
|
||||
virtual void PreSave(CKFileVisitor* file, CKDWORD flags);
|
||||
virtual CKStateChunk* Save(CKFileVisitor* file, CKDWORD flags);
|
||||
virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file);
|
||||
virtual void PostLoad();
|
||||
|
||||
private:
|
||||
CK_ID m_ID;
|
||||
TypeHelper::MKString m_Name;
|
||||
CK_OBJECT_FLAGS m_ObjectFlags;
|
||||
CKContext* m_Context;
|
||||
};
|
||||
|
||||
//class CKSceneObject : public CKObject {
|
||||
//public:
|
||||
// CKSceneObject(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKSceneObject(const CKSceneObject&) = delete;
|
||||
// CKSceneObject& operator=(const CKSceneObject&) = delete;
|
||||
// virtual ~CKSceneObject();
|
||||
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_SCENEOBJECT; }
|
||||
//protected:
|
||||
// XBitArray m_Scenes;
|
||||
//};
|
||||
|
||||
//class CKBeObject : public CKSceneObject {
|
||||
//public:
|
||||
// CKBeObject(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKBeObject(const CKBeObject&) = delete;
|
||||
// CKBeObject& operator=(const CKBeObject&) = delete;
|
||||
// virtual ~CKBeObject();
|
||||
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_BEOBJECT; }
|
||||
//protected:
|
||||
|
||||
//};
|
||||
//
|
||||
//#pragma region Map Related
|
||||
//
|
||||
// class CKGroup : public CKBeObject {
|
||||
// public:
|
||||
// CKGroup(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKGroup(const CKGroup&) = delete;
|
||||
// CKGroup& operator=(const CKGroup&) = delete;
|
||||
// virtual ~CKGroup();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_GROUP; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKMesh : public CKBeObject {
|
||||
// public:
|
||||
// CKMesh(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKMesh(const CKMesh&) = delete;
|
||||
// CKMesh& operator=(const CKMesh&) = delete;
|
||||
// virtual ~CKMesh();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_MESH; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKTexture : public CKBeObject {
|
||||
// public:
|
||||
// CKTexture(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKTexture(const CKTexture&) = delete;
|
||||
// CKTexture& operator=(const CKTexture&) = delete;
|
||||
// virtual ~CKTexture();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_TEXTURE; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKMaterial : public CKBeObject {
|
||||
// public:
|
||||
// CKMaterial(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKMaterial(const CKMaterial&) = delete;
|
||||
// CKMaterial& operator=(const CKMaterial&) = delete;
|
||||
// virtual ~CKMaterial();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_MATERIAL; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKRenderObject : public CKBeObject {
|
||||
// public:
|
||||
// CKRenderObject(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKRenderObject(const CKRenderObject&) = delete;
|
||||
// CKRenderObject& operator=(const CKRenderObject&) = delete;
|
||||
// ~CKRenderObject();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_RENDEROBJECT; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CK3dEntity : public CKRenderObject {
|
||||
// public:
|
||||
// CK3dEntity(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CK3dEntity(const CK3dEntity&) = delete;
|
||||
// CK3dEntity& operator=(const CK3dEntity&) = delete;
|
||||
// virtual ~CK3dEntity();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_3DENTITY; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CK3dObject :public CK3dEntity {
|
||||
// public:
|
||||
// CK3dObject(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CK3dObject(const CK3dObject&) = delete;
|
||||
// CK3dObject& operator=(const CK3dObject&) = delete;
|
||||
// ~CK3dObject();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_3DOBJECT; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
//#pragma endregion
|
||||
//
|
||||
//#pragma region Behavior Related
|
||||
//
|
||||
// class CKParameterIn :public CKObject {
|
||||
// public:
|
||||
// CKParameterIn(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKParameterIn(const CKParameterIn&) = delete;
|
||||
// CKParameterIn& operator=(const CKParameterIn&) = delete;
|
||||
// ~CKParameterIn();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_PARAMETERIN; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKParameter :public CKObject {
|
||||
// public:
|
||||
// CKParameter(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKParameter(const CKParameter&) = delete;
|
||||
// CKParameter& operator=(const CKParameter&) = delete;
|
||||
// ~CKParameter();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_PARAMETER; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKParameterOut :public CKParameter {
|
||||
// public:
|
||||
// CKParameterOut(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKParameterOut(const CKParameterOut&) = delete;
|
||||
// CKParameterOut& operator=(const CKParameterOut&) = delete;
|
||||
// ~CKParameterOut();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_PARAMETEROUT; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKParameterLocal :public CKParameter {
|
||||
// public:
|
||||
// CKParameterLocal(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKParameterLocal(const CKParameterLocal&) = delete;
|
||||
// CKParameterLocal& operator=(const CKParameterLocal&) = delete;
|
||||
// ~CKParameterLocal();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_PARAMETERLOCAL; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKParameterOperation :public CKObject {
|
||||
// public:
|
||||
// CKParameterOperation(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKParameterOperation(const CKParameterOperation&) = delete;
|
||||
// CKParameterOperation& operator=(const CKParameterOperation&) = delete;
|
||||
// ~CKParameterOperation();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_PARAMETEROPERATION; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKBehaviorLink :public CKObject {
|
||||
// public:
|
||||
// CKBehaviorLink(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKBehaviorLink(const CKBehaviorLink&) = delete;
|
||||
// CKBehaviorLink& operator=(const CKBehaviorLink&) = delete;
|
||||
// ~CKBehaviorLink();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_BEHAVIORLINK; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKBehaviorIO :public CKObject {
|
||||
// public:
|
||||
// CKBehaviorIO(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKBehaviorIO(const CKBehaviorIO&) = delete;
|
||||
// CKBehaviorIO& operator=(const CKBehaviorIO&) = delete;
|
||||
// ~CKBehaviorIO();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_BEHAVIORIO; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
// class CKBehavior :public CKSceneObject {
|
||||
// public:
|
||||
// CKBehavior(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
||||
// CKBehavior(const CKBehavior&) = delete;
|
||||
// CKBehavior& operator=(const CKBehavior&) = delete;
|
||||
// ~CKBehavior();
|
||||
//
|
||||
// virtual CK_CLASSID GetClassID(void) override { return CK_CLASSID::CKCID_BEHAVIOR; }
|
||||
// protected:
|
||||
//
|
||||
// };
|
||||
//
|
||||
//#pragma endregion
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user