diff --git a/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.cpp b/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.cpp index 20352aa..a728eaf 100644 --- a/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.cpp +++ b/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.cpp @@ -1,4 +1,5 @@ #include "CKBitmapHandler.hpp" +#include #include #include @@ -135,7 +136,7 @@ namespace LibCmo::CK2::DataHandlers { static bool StbReadFile(CKSTRING u8filename, VxMath::VxImageDescEx* read_image) { if (u8filename == nullptr || read_image == nullptr) return false; - FILE* fs = YYCC::IOHelper::UTF8FOpen(u8filename, u8"rb"); + FILE* fs = yycc::patch::fopen::fopen(u8filename, u8"rb"); if (fs == nullptr) return false; // read data @@ -210,7 +211,7 @@ namespace LibCmo::CK2::DataHandlers { static bool StbSaveFile(CKSTRING u8filename, const VxMath::VxImageDescEx* write_image, bool save_alpha, SaveOperation oper) { if (u8filename == nullptr || write_image == nullptr) return false; if (!write_image->IsValid()) return false; - FILE* fs = YYCC::IOHelper::UTF8FOpen(u8filename, u8"wb"); + FILE* fs = yycc::patch::fopen::fopen(u8filename, u8"wb"); if (fs == nullptr) return false; // allocate buffer and convert data from ARGB to RGBA or RGB diff --git a/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.hpp b/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.hpp index 0aff0c5..766d797 100644 --- a/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.hpp +++ b/LibCmo/LibCmo/CK2/DataHandlers/CKBitmapHandler.hpp @@ -1,6 +1,7 @@ #pragma once #include "../../VTInternal.hpp" +#include #include #include @@ -30,7 +31,7 @@ namespace LibCmo::CK2::DataHandlers { public: CKBitmapHandler() {} virtual ~CKBitmapHandler() {} - YYCC_DEL_CLS_COPY_MOVE(CKBitmapHandler); + YYCC_DELETE_COPY_MOVE(CKBitmapHandler) /** * @brief General CKBitmapHandler getter. @@ -102,7 +103,7 @@ namespace LibCmo::CK2::DataHandlers { public: CKBitmapBMPHandler(); virtual ~CKBitmapBMPHandler(); - YYCC_DEL_CLS_COPY_MOVE(CKBitmapBMPHandler); + YYCC_DELETE_COPY_MOVE(CKBitmapBMPHandler) static const CKBitmapProperties& GetBitmapDefaultProperties(); @@ -118,7 +119,7 @@ namespace LibCmo::CK2::DataHandlers { public: CKBitmapTGAHandler(); virtual ~CKBitmapTGAHandler(); - YYCC_DEL_CLS_COPY_MOVE(CKBitmapTGAHandler); + YYCC_DELETE_COPY_MOVE(CKBitmapTGAHandler) static const CKBitmapProperties& GetBitmapDefaultProperties(); @@ -134,7 +135,7 @@ namespace LibCmo::CK2::DataHandlers { public: CKBitmapJPGHandler(); virtual ~CKBitmapJPGHandler(); - YYCC_DEL_CLS_COPY_MOVE(CKBitmapJPGHandler); + YYCC_DELETE_COPY_MOVE(CKBitmapJPGHandler) static const CKBitmapProperties& GetBitmapDefaultProperties(); @@ -150,7 +151,7 @@ namespace LibCmo::CK2::DataHandlers { public: CKBitmapPNGHandler(); virtual ~CKBitmapPNGHandler(); - YYCC_DEL_CLS_COPY_MOVE(CKBitmapPNGHandler); + YYCC_DELETE_COPY_MOVE(CKBitmapPNGHandler) static const CKBitmapProperties& GetBitmapDefaultProperties(); diff --git a/LibCmo/LibCmo/CK2/MgrImpls/CKBaseManager.hpp b/LibCmo/LibCmo/CK2/MgrImpls/CKBaseManager.hpp index c4c526c..32fbb31 100644 --- a/LibCmo/LibCmo/CK2/MgrImpls/CKBaseManager.hpp +++ b/LibCmo/LibCmo/CK2/MgrImpls/CKBaseManager.hpp @@ -1,6 +1,7 @@ #pragma once #include "../../VTInternal.hpp" +#include /** CKBaseManager virtual functions implementations help @@ -40,7 +41,7 @@ namespace LibCmo::CK2::MgrImpls { XContainer::NSXString::FromCKSTRING(m_ManagerName, name); } virtual ~CKBaseManager() {} - YYCC_DEL_CLS_COPY_MOVE(CKBaseManager); + YYCC_DELETE_COPY_MOVE(CKBaseManager) /** @brief Acces to Manager GUID diff --git a/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.cpp b/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.cpp index 5f5623a..c042902 100644 --- a/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.cpp +++ b/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.cpp @@ -1,6 +1,7 @@ #include "CKObjectManager.hpp" #include "../CKContext.hpp" #include "../ObjImpls/CKObject.hpp" +#include namespace LibCmo::CK2::MgrImpls { @@ -86,7 +87,7 @@ namespace LibCmo::CK2::MgrImpls { // set to be deleted CK_OBJECT_FLAGS objflag = obj->GetObjectFlags(); - YYCC::EnumHelper::Add(objflag, CK_OBJECT_FLAGS::CK_OBJECT_TOBEDELETED); + yycc::cenum::add(objflag, CK_OBJECT_FLAGS::CK_OBJECT_TOBEDELETED); obj->SetObjectFlags(objflag); // collect class id diff --git a/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.hpp b/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.hpp index e5fad56..ad8e001 100644 --- a/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.hpp +++ b/LibCmo/LibCmo/CK2/MgrImpls/CKObjectManager.hpp @@ -10,7 +10,7 @@ namespace LibCmo::CK2::MgrImpls { public: CKObjectManager(CKContext* ctx); virtual ~CKObjectManager(); - YYCC_DEL_CLS_COPY_MOVE(CKObjectManager); + YYCC_DELETE_COPY_MOVE(CKObjectManager) // ========== Objects Management ========== @@ -67,9 +67,9 @@ namespace LibCmo::CK2::MgrImpls { * The value close to zero may cause some issue. * So we add a static offset to every created CK_ID. */ - const CK_ID c_ObjectIdOffset = 61u; - CKDWORD Id2Offset(CK_ID id) { return static_cast(id - c_ObjectIdOffset); } - CK_ID Offset2Id(CKDWORD off) { return static_cast(off + c_ObjectIdOffset); } + static constexpr CK_ID OBJECT_ID_OFFSET = 61u; + CKDWORD Id2Offset(CK_ID id) { return static_cast(id - OBJECT_ID_OFFSET); } + CK_ID Offset2Id(CKDWORD off) { return static_cast(off + OBJECT_ID_OFFSET); } /** * @brief The real CKObject destroy worker shared by CKObjectManager::DestroyObject and CKObjectManager::~CKObjectManager diff --git a/LibCmo/LibCmo/CK2/MgrImpls/CKPathManager.hpp b/LibCmo/LibCmo/CK2/MgrImpls/CKPathManager.hpp index 0f027ed..1f41d53 100644 --- a/LibCmo/LibCmo/CK2/MgrImpls/CKPathManager.hpp +++ b/LibCmo/LibCmo/CK2/MgrImpls/CKPathManager.hpp @@ -10,7 +10,7 @@ namespace LibCmo::CK2::MgrImpls { public: CKPathManager(CKContext* ctx); virtual ~CKPathManager(); - YYCC_DEL_CLS_COPY_MOVE(CKPathManager); + YYCC_DELETE_COPY_MOVE(CKPathManager) /** * @brief Set the temp folder of current context. diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.cpp index 46de068..74e6d76 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.cpp @@ -2,6 +2,7 @@ #include "../CKStateChunk.hpp" #include "../CKContext.hpp" #include "CKMesh.hpp" +#include namespace LibCmo::CK2::ObjImpls { @@ -9,7 +10,7 @@ namespace LibCmo::CK2::ObjImpls { CKRenderObject(ctx, ckid, name), m_PotentialMeshes(), m_CurrentMesh(nullptr), m_WorldMatrix(), m_ZOrder(0), - m_MoveableFlags(YYCC::EnumHelper::Merge( + m_MoveableFlags(yycc::cenum::merge( VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_PICKABLE, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERCHANNELS, @@ -53,15 +54,15 @@ namespace LibCmo::CK2::ObjImpls { // regulate self flag again // MARK: originally we should check parent here. // but we do not support parent and hierarchy feature, so we simply remove flag - YYCC::EnumHelper::Remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID); + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID); // MARK: originally we should check grouped into CKPlace here. // but we do not support CKPlace, so we simply remove this flag - YYCC::EnumHelper::Remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID); + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID); // check z-order, if not zero, save it if (m_ZOrder != 0) { - YYCC::EnumHelper::Add(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID); + yycc::cenum::add(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID); } else { - YYCC::EnumHelper::Remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID); + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID); } // write 2 flags @@ -94,7 +95,7 @@ namespace LibCmo::CK2::ObjImpls { if (!suc) return false; // backup moveable flags - bool hasWorldAligned = YYCC::EnumHelper::Has(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_WORLDALIGNED); + bool hasWorldAligned = yycc::cenum::has(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_WORLDALIGNED); // MARK: object animation is skipped @@ -132,11 +133,11 @@ namespace LibCmo::CK2::ObjImpls { chunk->ReadStruct(m_3dEntityFlags); chunk->ReadStruct(m_MoveableFlags); // remove some properties - YYCC::EnumHelper::Remove(m_3dEntityFlags, + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_UPDATELASTFRAME, CK_3DENTITY_FLAGS::CK_3DENTITY_RESERVED0 ); - YYCC::EnumHelper::Remove(m_MoveableFlags, + yycc::cenum::remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RESERVED2, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_STENCILONLY, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_DONTUPDATEFROMPARENT, @@ -147,11 +148,11 @@ namespace LibCmo::CK2::ObjImpls { VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_UPTODATE ); if (hasWorldAligned) { - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_WORLDALIGNED); + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_WORLDALIGNED); } // if order render first - if (YYCC::EnumHelper::Has(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERFIRST)) { + if (yycc::cenum::has(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERFIRST)) { m_ZOrder = 10000; } @@ -171,47 +172,47 @@ namespace LibCmo::CK2::ObjImpls { VxMath::VxVector3 crossProduct = VxMath::NSVxVector::CrossProduct(col0, col1); CKFLOAT dotProduct = VxMath::NSVxVector::DotProduct(crossProduct, col2); if (dotProduct >= 0.0f) { - YYCC::EnumHelper::Remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INDIRECTMATRIX); + yycc::cenum::remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INDIRECTMATRIX); } else { - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INDIRECTMATRIX); + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INDIRECTMATRIX); } // copy visible data // process direct visible - if (YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE)) { - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); + if (yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE)) { + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); } else { - YYCC::EnumHelper::Remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); + yycc::cenum::remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); } // process indirect visible - if (YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE)) { - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); + if (yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE)) { + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); } else { - YYCC::EnumHelper::Remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); + yycc::cenum::remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); } // read associated CKPlace - if (YYCC::EnumHelper::Has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID)) { + if (yycc::cenum::has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID)) { // MARK: we drop the support of CKPlace. // so we just read it and skip it. CK_ID placeid; chunk->ReadObjectID(placeid); // and remove this flag - YYCC::EnumHelper::Remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID); + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID); } // read parent - if (YYCC::EnumHelper::Has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID)) { + if (yycc::cenum::has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID)) { // MAKR: we drop the support of parent and the whole 3dentity hierarchy system // we ignore this field. CK_ID parentid; chunk->ReadObjectID(parentid); // and remove this flag - YYCC::EnumHelper::Remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID); + yycc::cenum::remove(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID); } // read priority (non-zero zorder) - if (YYCC::EnumHelper::Has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID)) { + if (yycc::cenum::has(m_3dEntityFlags, CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID)) { chunk->ReadStruct(m_ZOrder); } @@ -227,16 +228,16 @@ namespace LibCmo::CK2::ObjImpls { void CK3dEntity::Show(CK_OBJECT_SHOWOPTION show) { CKObject::Show(show); - YYCC::EnumHelper::Remove(m_MoveableFlags, + yycc::cenum::remove(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE ); switch (show) { case CK_OBJECT_SHOWOPTION::CKSHOW: - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE); break; case CK_OBJECT_SHOWOPTION::CKHIERARCHICALHIDE: - YYCC::EnumHelper::Add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); + yycc::cenum::add(m_MoveableFlags, VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE); break; case CK_OBJECT_SHOWOPTION::CKHIDE: break; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.hpp index f356ca4..c414819 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CK3dEntity.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CK3dEntity(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CK3dEntity(); - YYCC_DEL_CLS_COPY_MOVE(CK3dEntity); + YYCC_DELETE_COPY_MOVE(CK3dEntity) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_3DENTITY; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CK3dObject.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CK3dObject.hpp index 0a399bf..f9a39cf 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CK3dObject.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CK3dObject.hpp @@ -11,7 +11,7 @@ namespace LibCmo::CK2::ObjImpls { CK3dEntity(ctx, ckid, name) {} virtual ~CK3dObject() {} - YYCC_DEL_CLS_COPY_MOVE(CK3dObject); + YYCC_DELETE_COPY_MOVE(CK3dObject) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_3DOBJECT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKBeObject.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKBeObject.hpp index cfefd57..3b8ac62 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKBeObject.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKBeObject.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKBeObject(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKBeObject(); - YYCC_DEL_CLS_COPY_MOVE(CKBeObject); + YYCC_DELETE_COPY_MOVE(CKBeObject) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_BEOBJECT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.cpp index 888fd70..1cade25 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.cpp @@ -1,12 +1,13 @@ #include "CKCamera.hpp" #include "../CKStateChunk.hpp" +#include namespace LibCmo::CK2::ObjImpls { // Convenient macro to mark this object is not UPTODATE. #define REMOVE_UPTODATE_FLAG { \ CK_OBJECT_FLAGS obj_flags = GetObjectFlags(); \ -YYCC::EnumHelper::Remove(obj_flags, CK_OBJECT_FLAGS::CK_OBJECT_UPTODATE); \ +yycc::cenum::remove(obj_flags, CK_OBJECT_FLAGS::CK_OBJECT_UPTODATE); \ SetObjectFlags(obj_flags); \ } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.hpp index 8b555b0..6690937 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKCamera.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKCamera(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKCamera(); - YYCC_DEL_CLS_COPY_MOVE(CKCamera); + YYCC_DELETE_COPY_MOVE(CKCamera) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_CAMERA; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKGroup.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKGroup.hpp index f10848f..e521e13 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKGroup.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKGroup.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKGroup(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKGroup(); - YYCC_DEL_CLS_COPY_MOVE(CKGroup); + YYCC_DELETE_COPY_MOVE(CKGroup) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_GROUP; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKLight.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKLight.cpp index e8fedb9..2341777 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKLight.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKLight.cpp @@ -1,5 +1,6 @@ #include "CKLight.hpp" #include "../CKStateChunk.hpp" +#include #include namespace LibCmo::CK2::ObjImpls { @@ -189,24 +190,24 @@ namespace LibCmo::CK2::ObjImpls { } bool CKLight::GetActivity() const { - return YYCC::EnumHelper::Has(m_LightFlags, LightFlags::Active); + return yycc::cenum::has(m_LightFlags, LightFlags::Active); } void CKLight::Active(bool active) { if (active) { - YYCC::EnumHelper::Add(m_LightFlags, LightFlags::Active); + yycc::cenum::add(m_LightFlags, LightFlags::Active); } else { - YYCC::EnumHelper::Remove(m_LightFlags, LightFlags::Active); + yycc::cenum::remove(m_LightFlags, LightFlags::Active); } } bool CKLight::GetSpecularFlag() const { - return YYCC::EnumHelper::Has(m_LightFlags, LightFlags::Specular); + return yycc::cenum::has(m_LightFlags, LightFlags::Specular); } void CKLight::SetSpecularFlag(bool specular) { if (specular) { - YYCC::EnumHelper::Add(m_LightFlags, LightFlags::Specular); + yycc::cenum::add(m_LightFlags, LightFlags::Specular); } else { - YYCC::EnumHelper::Remove(m_LightFlags, LightFlags::Specular); + yycc::cenum::remove(m_LightFlags, LightFlags::Specular); } } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKLight.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKLight.hpp index 3240841..331a494 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKLight.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKLight.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKLight(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKLight(); - YYCC_DEL_CLS_COPY_MOVE(CKLight); + YYCC_DELETE_COPY_MOVE(CKLight) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_LIGHT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKMaterial.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKMaterial.hpp index b052a4c..d2aed4f 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKMaterial.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKMaterial.hpp @@ -10,7 +10,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKMaterial(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKMaterial(); - YYCC_DEL_CLS_COPY_MOVE(CKMaterial); + YYCC_DELETE_COPY_MOVE(CKMaterial) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_MATERIAL; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.cpp index f589608..51f6d73 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.cpp @@ -2,6 +2,7 @@ #include "../CKStateChunk.hpp" #include "../CKContext.hpp" #include "CKMaterial.hpp" +#include namespace LibCmo::CK2::ObjImpls { @@ -21,12 +22,12 @@ namespace LibCmo::CK2::ObjImpls { m_LineCount(0), m_LineIndices(), // init flags - m_Flags(YYCC::EnumHelper::Merge( + m_Flags(yycc::cenum::merge( VxMath::VXMESH_FLAGS::VXMESH_VISIBLE, VxMath::VXMESH_FLAGS::VXMESH_RENDERCHANNELS )) { // set visible in default - YYCC::EnumHelper::Add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + yycc::cenum::add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); } CKMesh::~CKMesh() {} @@ -145,7 +146,7 @@ namespace LibCmo::CK2::ObjImpls { rawbuf += CKSizeof(CKDWORD); // write vertex position - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::NoPos)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::NoPos)) { CKDWORD consumed = CKSizeof(VxMath::VxVector3) * vtxCount; std::memcpy(rawbuf, m_VertexPosition.data(), consumed); rawbuf += consumed; @@ -154,7 +155,7 @@ namespace LibCmo::CK2::ObjImpls { // write color and specular color { CKDWORD consumed = 0; - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleColor)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleColor)) { consumed = CKSizeof(CKDWORD) * vtxCount; } else { consumed = CKSizeof(CKDWORD); @@ -165,7 +166,7 @@ namespace LibCmo::CK2::ObjImpls { } { CKDWORD consumed = 0; - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleSpecularColor)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleSpecularColor)) { consumed = CKSizeof(CKDWORD) * vtxCount; } else { consumed = CKSizeof(CKDWORD); @@ -176,7 +177,7 @@ namespace LibCmo::CK2::ObjImpls { } // write normal - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::NoNormal)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::NoNormal)) { CKDWORD consumed = CKSizeof(VxMath::VxVector3) * vtxCount; std::memcpy(rawbuf, m_VertexNormal.data(), consumed); rawbuf += consumed; @@ -185,7 +186,7 @@ namespace LibCmo::CK2::ObjImpls { // write uv { CKDWORD consumed = 0; - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleUV)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleUV)) { consumed = CKSizeof(VxMath::VxVector2) * vtxCount; } else { consumed = CKSizeof(VxMath::VxVector2); @@ -229,10 +230,10 @@ namespace LibCmo::CK2::ObjImpls { // read flag if (chunk->SeekIdentifier(CK_STATESAVEFLAGS_MESH::CK_STATESAVE_MESHFLAGS)) { chunk->ReadStruct(m_Flags); - YYCC::EnumHelper::Mask(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_ALLFLAGS); + yycc::cenum::mask(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_ALLFLAGS); // I don't know why, just interpter the IDA code. - YYCC::EnumHelper::Remove(m_Flags, + yycc::cenum::remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_BOUNDINGUPTODATE, VxMath::VXMESH_FLAGS::VXMESH_OPTIMIZED ); @@ -285,14 +286,14 @@ namespace LibCmo::CK2::ObjImpls { const CKBYTE* rawbuf = static_cast(buf.get()); // copy position if it have - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::NoPos)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::NoPos)) { CKDWORD consumed = CKSizeof(VxMath::VxVector3) * vertexCount; std::memcpy(m_VertexPosition.data(), rawbuf, consumed); rawbuf += consumed; } // copy color or apply single color - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleColor)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleColor)) { CKDWORD consumed = CKSizeof(CKDWORD) * vertexCount; std::memcpy(m_VertexColor.data(), rawbuf, consumed); rawbuf += consumed; @@ -309,7 +310,7 @@ namespace LibCmo::CK2::ObjImpls { } // copy specular color or apply a single color - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleSpecularColor)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleSpecularColor)) { CKDWORD consumed = CKSizeof(CKDWORD) * vertexCount; std::memcpy(m_VertexSpecularColor.data(), rawbuf, consumed); rawbuf += consumed; @@ -326,14 +327,14 @@ namespace LibCmo::CK2::ObjImpls { } // copy normals if it has - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::NoNormal)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::NoNormal)) { CKDWORD consumed = CKSizeof(VxMath::VxVector3) * vertexCount; std::memcpy(m_VertexNormal.data(), rawbuf, consumed); rawbuf += consumed; } // copy uv or apply single uv - if (!YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::SingleUV)) { + if (!yycc::cenum::has(saveflags, VertexSaveFlags::SingleUV)) { CKDWORD consumed = CKSizeof(VxMath::VxVector2) * vertexCount; std::memcpy(m_VertexUV.data(), rawbuf, consumed); rawbuf += consumed; @@ -407,7 +408,7 @@ namespace LibCmo::CK2::ObjImpls { } // build normals - if (YYCC::EnumHelper::Has(saveflags, VertexSaveFlags::NoNormal)) { + if (yycc::cenum::has(saveflags, VertexSaveFlags::NoNormal)) { BuildNormals(); } else { BuildFaceNormals(); @@ -425,9 +426,9 @@ namespace LibCmo::CK2::ObjImpls { CKObject::Show(show); if (show == CK_OBJECT_SHOWOPTION::CKSHOW) { - YYCC::EnumHelper::Add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE); + yycc::cenum::add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE); } else { - YYCC::EnumHelper::Remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE); + yycc::cenum::remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE); } } @@ -449,15 +450,15 @@ namespace LibCmo::CK2::ObjImpls { m_Flags = flags; // sync visibility to CKObject layer. - if (YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE)) { - YYCC::EnumHelper::Add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + if (yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_VISIBLE)) { + yycc::cenum::add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); } else { - YYCC::EnumHelper::Remove(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + yycc::cenum::remove(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); } } VxMath::VXMESH_LITMODE CKMesh::GetLitMode() const { - if (YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE)) { + if (yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE)) { return VxMath::VXMESH_LITMODE::VX_PRELITMESH; } else { return VxMath::VXMESH_LITMODE::VX_LITMESH; @@ -467,10 +468,10 @@ namespace LibCmo::CK2::ObjImpls { void CKMesh::SetLitMode(VxMath::VXMESH_LITMODE mode) { switch (mode) { case VxMath::VXMESH_LITMODE::VX_PRELITMESH: - YYCC::EnumHelper::Add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE); + yycc::cenum::add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE); break; case VxMath::VXMESH_LITMODE::VX_LITMESH: - YYCC::EnumHelper::Remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE); + yycc::cenum::remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE); break; } } @@ -478,33 +479,33 @@ namespace LibCmo::CK2::ObjImpls { VxMath::VXTEXTURE_WRAPMODE CKMesh::GetWrapMode() const { VxMath::VXTEXTURE_WRAPMODE ret = VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_NONE; - if (YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU)) { - YYCC::EnumHelper::Add(ret, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_U); + if (yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU)) { + yycc::cenum::add(ret, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_U); } - if (YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV)) { - YYCC::EnumHelper::Add(ret, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_V); + if (yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV)) { + yycc::cenum::add(ret, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_V); } return ret; } void CKMesh::SetWrapMode(VxMath::VXTEXTURE_WRAPMODE mode) { - if (YYCC::EnumHelper::Has(mode, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_U)) { - YYCC::EnumHelper::Add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU); + if (yycc::cenum::has(mode, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_U)) { + yycc::cenum::add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU); } else { - YYCC::EnumHelper::Remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU); + yycc::cenum::remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPU); } - if (YYCC::EnumHelper::Has(mode, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_V)) { - YYCC::EnumHelper::Add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV); + if (yycc::cenum::has(mode, VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_V)) { + yycc::cenum::add(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV); } else { - YYCC::EnumHelper::Remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV); + yycc::cenum::remove(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_WRAPV); } } CKMesh::VertexSaveFlags CKMesh::GenerateSaveFlags() { // set to initial status - VertexSaveFlags saveflags = YYCC::EnumHelper::Merge( + VertexSaveFlags saveflags = yycc::cenum::merge( VertexSaveFlags::SingleColor, VertexSaveFlags::SingleSpecularColor, VertexSaveFlags::NoNormal, @@ -513,16 +514,16 @@ namespace LibCmo::CK2::ObjImpls { // check no pos // if position is generated, skip saving position - if (YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALPOS)) { - YYCC::EnumHelper::Add(saveflags, VertexSaveFlags::NoPos); + if (yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALPOS)) { + yycc::cenum::add(saveflags, VertexSaveFlags::NoPos); } // check uv // if uv is not generated and all uv are not the same value, remove single uv - if (!YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALUV)) { + if (!yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALUV)) { for (const auto& uv : m_VertexUV) { if (uv != m_VertexUV.front()) { - YYCC::EnumHelper::Remove(saveflags, VertexSaveFlags::SingleUV); + yycc::cenum::remove(saveflags, VertexSaveFlags::SingleUV); break; } } @@ -532,19 +533,19 @@ namespace LibCmo::CK2::ObjImpls { // if all color are not the same value, remove single color for (const auto& col : m_VertexColor) { if (col != m_VertexColor.front()) { - YYCC::EnumHelper::Remove(saveflags, VertexSaveFlags::SingleColor); + yycc::cenum::remove(saveflags, VertexSaveFlags::SingleColor); break; } } for (const auto& col : m_VertexSpecularColor) { if (col != m_VertexSpecularColor.front()) { - YYCC::EnumHelper::Remove(saveflags, VertexSaveFlags::SingleSpecularColor); + yycc::cenum::remove(saveflags, VertexSaveFlags::SingleSpecularColor); break; } } // if normal not changed, and position is not generated, we should consider whether we need save normal (step into if) - if (!YYCC::EnumHelper::Has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_NORMAL_CHANGED, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALPOS)) { + if (!yycc::cenum::has(m_Flags, VxMath::VXMESH_FLAGS::VXMESH_NORMAL_CHANGED, VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALPOS)) { // MARK: we should build face normal first // then we build vertex normal like BuildNormals. // then, we compare the difference between the generated normals and user specified normals, by simply using operator- (userNml - generatedNml) and abs the result. @@ -581,7 +582,7 @@ namespace LibCmo::CK2::ObjImpls { accnml /= static_cast(m_VertexCount); if (accnml.Length() > 0.001f) { // too large difference, we need save normal - YYCC::EnumHelper::Remove(saveflags, VertexSaveFlags::NoNormal); + yycc::cenum::remove(saveflags, VertexSaveFlags::NoNormal); } } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.hpp index a85c3d5..77e77c6 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKMesh.hpp @@ -19,7 +19,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKMesh(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKMesh(); - YYCC_DEL_CLS_COPY_MOVE(CKMesh); + YYCC_DELETE_COPY_MOVE(CKMesh) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_MESH; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKObject.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKObject.cpp index 6a8a200..a460e0f 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKObject.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKObject.cpp @@ -1,5 +1,6 @@ #include "CKObject.hpp" #include "../CKStateChunk.hpp" +#include namespace LibCmo::CK2::ObjImpls { @@ -32,7 +33,7 @@ namespace LibCmo::CK2::ObjImpls { m_ObjectFlags = flags; } bool CKObject::IsToBeDeleted() const { - return YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_TOBEDELETED); + return yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_TOBEDELETED); } CKContext* CKObject::GetCKContext() const { return m_Context; @@ -51,10 +52,10 @@ namespace LibCmo::CK2::ObjImpls { void CKObject::PreSave(CKFileVisitor* file, CKDWORD flags) {} bool CKObject::Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) { - if (YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE)) { + if (yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE)) { // if hierarchy hidden chunk->WriteIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIERAHIDDEN); - } else if (!YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE)) { + } else if (!yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE)) { // if really hidden chunk->WriteIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIDDEN); } @@ -65,20 +66,20 @@ namespace LibCmo::CK2::ObjImpls { bool CKObject::Load(CKStateChunk* chunk, CKFileVisitor* file) { if (chunk->SeekIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIDDEN)) { - YYCC::EnumHelper::Remove(this->m_ObjectFlags, + yycc::cenum::remove(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE ); } else { if (chunk->SeekIdentifier(CK_STATESAVEFLAGS_OBJECT::CK_STATESAVE_OBJECTHIERAHIDDEN)) { // != 0 - YYCC::EnumHelper::Remove(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); - YYCC::EnumHelper::Add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); + yycc::cenum::remove(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + yycc::cenum::add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); } else { // == 0 - YYCC::EnumHelper::Add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); - YYCC::EnumHelper::Remove(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); + yycc::cenum::add(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + yycc::cenum::remove(this->m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); } } @@ -91,17 +92,17 @@ namespace LibCmo::CK2::ObjImpls { void CKObject::Show(CK_OBJECT_SHOWOPTION show) { // clear all visible data of object flags - YYCC::EnumHelper::Remove(m_ObjectFlags, + yycc::cenum::remove(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE ); switch (show) { case CK_OBJECT_SHOWOPTION::CKSHOW: - YYCC::EnumHelper::Add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + yycc::cenum::add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); break; case CK_OBJECT_SHOWOPTION::CKHIERARCHICALHIDE: - YYCC::EnumHelper::Add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); + yycc::cenum::add(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE); break; case CK_OBJECT_SHOWOPTION::CKHIDE: return; @@ -109,7 +110,7 @@ namespace LibCmo::CK2::ObjImpls { } bool CKObject::IsVisible() const { - return YYCC::EnumHelper::Has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); + return yycc::cenum::has(m_ObjectFlags, CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE); } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKObject.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKObject.hpp index 6698d64..3ac14f6 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKObject.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKObject.hpp @@ -1,6 +1,7 @@ #pragma once #include "../../VTInternal.hpp" +#include /** CKObject virtual functions implementations help @@ -40,7 +41,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKObject(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKObject(); - YYCC_DEL_CLS_COPY_MOVE(CKObject); + YYCC_DELETE_COPY_MOVE(CKObject) CK_ID GetID() const; CKSTRING GetName() const; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKRenderObject.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKRenderObject.hpp index ab6919d..dabfc1d 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKRenderObject.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKRenderObject.hpp @@ -11,7 +11,7 @@ namespace LibCmo::CK2::ObjImpls { CKBeObject(ctx, ckid, name) {} virtual ~CKRenderObject() {} - YYCC_DEL_CLS_COPY_MOVE(CKRenderObject); + YYCC_DELETE_COPY_MOVE(CKRenderObject) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_RENDEROBJECT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKSceneObject.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKSceneObject.hpp index 6d780fd..325284c 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKSceneObject.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKSceneObject.hpp @@ -11,7 +11,7 @@ namespace LibCmo::CK2::ObjImpls { CKObject(ctx, ckid, name), m_Scenes() {} virtual ~CKSceneObject() {} - YYCC_DEL_CLS_COPY_MOVE(CKSceneObject); + YYCC_DELETE_COPY_MOVE(CKSceneObject) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_SCENEOBJECT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.cpp index 4f68a2e..f83209b 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.cpp @@ -1,6 +1,7 @@ #include "CKTargetCamera.hpp" #include "../CKStateChunk.hpp" #include "../CKContext.hpp" +#include namespace LibCmo::CK2::ObjImpls { @@ -66,16 +67,16 @@ namespace LibCmo::CK2::ObjImpls { CK3dEntity* old_target = static_cast(m_Context->GetObject(m_Target3dEntity)); if (old_target != nullptr) { CK_3DENTITY_FLAGS old_target_flags = old_target->GetEntityFlags(); - YYCC::EnumHelper::Remove(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETCAMERA); - YYCC::EnumHelper::Add(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); + yycc::cenum::remove(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETCAMERA); + yycc::cenum::add(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); old_target->SetEntityFlags(old_target_flags); } // Then add specified target if (target != nullptr) { CK_3DENTITY_FLAGS new_target_flags = target->GetEntityFlags(); - YYCC::EnumHelper::Add(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETCAMERA); - YYCC::EnumHelper::Remove(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); + yycc::cenum::add(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETCAMERA); + yycc::cenum::remove(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); target->SetEntityFlags(new_target_flags); } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.hpp index 31dd0e8..bccb178 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetCamera.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKTargetCamera(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKTargetCamera(); - YYCC_DEL_CLS_COPY_MOVE(CKTargetCamera); + YYCC_DELETE_COPY_MOVE(CKTargetCamera) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_TARGETCAMERA; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.cpp b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.cpp index 6b05e7e..096f920 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.cpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.cpp @@ -1,6 +1,7 @@ #include "CKTargetLight.hpp" #include "../CKStateChunk.hpp" #include "../CKContext.hpp" +#include namespace LibCmo::CK2::ObjImpls { @@ -70,16 +71,16 @@ namespace LibCmo::CK2::ObjImpls { CK3dEntity* old_target = static_cast(m_Context->GetObject(m_Target3dEntity)); if (old_target != nullptr) { CK_3DENTITY_FLAGS old_target_flags = old_target->GetEntityFlags(); - YYCC::EnumHelper::Remove(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETLIGHT); - YYCC::EnumHelper::Add(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); + yycc::cenum::remove(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETLIGHT); + yycc::cenum::add(old_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); old_target->SetEntityFlags(old_target_flags); } // Then add specified target if (target != nullptr) { CK_3DENTITY_FLAGS new_target_flags = target->GetEntityFlags(); - YYCC::EnumHelper::Add(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETLIGHT); - YYCC::EnumHelper::Remove(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); + yycc::cenum::add(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETLIGHT); + yycc::cenum::remove(new_target_flags, CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME); target->SetEntityFlags(new_target_flags); } diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.hpp index 6f88f0a..be19147 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKTargetLight.hpp @@ -9,7 +9,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKTargetLight(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKTargetLight(); - YYCC_DEL_CLS_COPY_MOVE(CKTargetLight); + YYCC_DELETE_COPY_MOVE(CKTargetLight) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_TARGETLIGHT; diff --git a/LibCmo/LibCmo/CK2/ObjImpls/CKTexture.hpp b/LibCmo/LibCmo/CK2/ObjImpls/CKTexture.hpp index 5e58524..aa3c955 100644 --- a/LibCmo/LibCmo/CK2/ObjImpls/CKTexture.hpp +++ b/LibCmo/LibCmo/CK2/ObjImpls/CKTexture.hpp @@ -10,7 +10,7 @@ namespace LibCmo::CK2::ObjImpls { public: CKTexture(CKContext* ctx, CK_ID ckid, CKSTRING name); virtual ~CKTexture(); - YYCC_DEL_CLS_COPY_MOVE(CKTexture); + YYCC_DELETE_COPY_MOVE(CKTexture) virtual CK_CLASSID GetClassID() override { return CK_CLASSID::CKCID_TEXTURE;