finish CKtexture writer

- finish CKTexture writer
- add std::enable_if for CKStateChunk::ReadIdent&WriteIdent to limit it in enum type.
- fix error function calling in CKBitmapData writer.
- let CKTexture reader mor formal for mipmap.
- fix CKStateChunk ReadBuffer redirect guideline.
- add a stupid height and width getter for CKBitmapData to serve CKTexture using.
This commit is contained in:
2023-09-30 11:51:04 +08:00
parent 3195a9682f
commit eedd9bdb55
6 changed files with 189 additions and 100 deletions

View File

@ -22,6 +22,11 @@ namespace LibCmo::CK2 {
// force chunk version
this->m_ChunkVersion = CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSION4;
// set data version
// MARK: in virtools impl, this statement is written in CKObject::Save
// and data version is delivered by merging CKStateChunk.
// but we do not use that saving strategy, so we init data version in here.
this->m_DataVersion = CK_STATECHUNK_DATAVERSION::CHUNK_DEV_2_1;
// switch status
this->m_Parser.m_Status = CKStateChunkStatus::WRITE;