fix issues
- revert nullptr check for BMap::MeshTrans pointer getter. - fix pointer return error of BMap::MeshTrans - fix type hint error and variable name error in PyBMap - fix CKMesh flag init value error - improve empty material slots saving. add a nullptr entry if no slots to make sure virtools can load it.
This commit is contained in:
@ -256,7 +256,7 @@ bool BMMeshTrans_PrepareVertexCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(Li
|
||||
bool BMMeshTrans_PrepareVertex(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::VxMath::VxVector3*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareVertex());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareNormalCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibCmo::CKDWORD, count)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
@ -265,7 +265,7 @@ bool BMMeshTrans_PrepareNormalCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(Li
|
||||
bool BMMeshTrans_PrepareNormal(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::VxMath::VxVector3*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareNormal());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareUVCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibCmo::CKDWORD, count)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
@ -274,7 +274,7 @@ bool BMMeshTrans_PrepareUVCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibCmo
|
||||
bool BMMeshTrans_PrepareUV(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::VxMath::VxVector2*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareUV());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareMtlSlotCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibCmo::CKDWORD, count)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
@ -283,7 +283,7 @@ bool BMMeshTrans_PrepareMtlSlotCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(L
|
||||
bool BMMeshTrans_PrepareMtlSlot(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::CK2::CK_ID*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareMtlSlot());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareFaceCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibCmo::CKDWORD, count)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
@ -292,22 +292,22 @@ bool BMMeshTrans_PrepareFaceCount(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(LibC
|
||||
bool BMMeshTrans_PrepareFaceVertexIndices(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::CKDWORD*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareFaceVertexIndices());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareFaceNormalIndices(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::CKDWORD*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareFaceNormalIndices());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareFaceUVIndices(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::CKDWORD*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareFaceUVIndices());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_PrepareFaceMtlSlot(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_OUT(LibCmo::CKDWORD*, out_mem)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
BMPARAM_OUT_ASSIGN(out_mem, trans->PrepareFaceMtlSlot());
|
||||
return BMPARAM_OUT_VAL(out_mem) != nullptr;
|
||||
return true;
|
||||
}
|
||||
bool BMMeshTrans_Parse(BMPARAM_MESHTRANS_DECL(trans), BMPARAM_IN(BMap::BMFile*, bmfile), BMPARAM_IN(LibCmo::CK2::CK_ID, objid)) {
|
||||
if (!CheckBMMeshTrans(trans)) return false;
|
||||
|
@ -94,17 +94,17 @@ namespace BMap {
|
||||
|
||||
LibCmo::CKDWORD* BMMeshTransition::PrepareFaceNormalIndices() {
|
||||
if (m_IsParsed || !m_IsFaceOK) return nullptr;
|
||||
return m_FaceVertexs.data();
|
||||
return m_FaceNormals.data();
|
||||
}
|
||||
|
||||
LibCmo::CKDWORD* BMMeshTransition::PrepareFaceUVIndices() {
|
||||
if (m_IsParsed || !m_IsFaceOK) return nullptr;
|
||||
return m_FaceVertexs.data();
|
||||
return m_FaceUVs.data();
|
||||
}
|
||||
|
||||
LibCmo::CKDWORD* BMMeshTransition::PrepareFaceMtlSlot() {
|
||||
if (m_IsParsed || !m_IsFaceOK) return nullptr;
|
||||
return m_FaceVertexs.data();
|
||||
return m_FaceMtlSlotIdxs.data();
|
||||
}
|
||||
|
||||
bool BMMeshTransition::Parse(BMFile* bmfile, LibCmo::CK2::CK_ID mesh_id) {
|
||||
@ -148,8 +148,8 @@ namespace BMap {
|
||||
// create one first
|
||||
TransitionVertex tvec(
|
||||
m_Vertexs[m_FaceVertexs[faceid * 3 + j]],
|
||||
m_Normals[m_FaceVertexs[faceid * 3 + j]],
|
||||
m_UVs[m_FaceVertexs[faceid * 3 + j]]
|
||||
m_Normals[m_FaceNormals[faceid * 3 + j]],
|
||||
m_UVs[m_FaceUVs[faceid * 3 + j]]
|
||||
);
|
||||
|
||||
// try insert it
|
||||
|
Reference in New Issue
Block a user