fix issues
- fix usage error of ckid getter in bmap wrapper. - fix CKObject flag init value error. - fix CKFileWriter writing empty object name error. - regulate some statement.
This commit is contained in:
parent
279fa1eccb
commit
74d8f02588
|
@ -279,7 +279,7 @@ class BMMaterial(BMObject):
|
||||||
def set_texture(self, tex_: BMTexture | None) -> None:
|
def set_texture(self, tex_: BMTexture | None) -> None:
|
||||||
objid: bmap.bm_CKID = bmap.bm_CKID(g_InvalidCKID)
|
objid: bmap.bm_CKID = bmap.bm_CKID(g_InvalidCKID)
|
||||||
if tex_ is not None:
|
if tex_ is not None:
|
||||||
objid.value = tex_._get_ckid()
|
objid = tex_._get_ckid()
|
||||||
bmap.BMMaterial_SetTexture(self._get_pointer(), self._get_ckid(), objid)
|
bmap.BMMaterial_SetTexture(self._get_pointer(), self._get_ckid(), objid)
|
||||||
|
|
||||||
def get_texture_border_color(self) -> virtools_types.VxColor:
|
def get_texture_border_color(self) -> virtools_types.VxColor:
|
||||||
|
@ -521,7 +521,7 @@ class BMMesh(BMObject):
|
||||||
if mtlobj is None:
|
if mtlobj is None:
|
||||||
mtlid.value = g_InvalidCKID
|
mtlid.value = g_InvalidCKID
|
||||||
else:
|
else:
|
||||||
mtlid.value = mtlobj._get_ckid()
|
mtlid = mtlobj._get_ckid()
|
||||||
# set
|
# set
|
||||||
bmap.BMMesh_SetMaterialSlot(self._get_pointer(), self._get_ckid(), idx, mtlid)
|
bmap.BMMesh_SetMaterialSlot(self._get_pointer(), self._get_ckid(), idx, mtlid)
|
||||||
|
|
||||||
|
@ -551,7 +551,7 @@ class BM3dObject(BMObject):
|
||||||
def set_current_mesh(self, mesh: BMMesh | None) -> None:
|
def set_current_mesh(self, mesh: BMMesh | None) -> None:
|
||||||
ckid: bmap.bm_CKID = bmap.bm_CKID(g_InvalidCKID)
|
ckid: bmap.bm_CKID = bmap.bm_CKID(g_InvalidCKID)
|
||||||
if mesh is not None:
|
if mesh is not None:
|
||||||
ckid.value = mesh._get_ckid()
|
ckid = mesh._get_ckid()
|
||||||
bmap.BM3dObject_SetCurrentMesh(self._get_pointer(), self._get_ckid(), ckid)
|
bmap.BM3dObject_SetCurrentMesh(self._get_pointer(), self._get_ckid(), ckid)
|
||||||
|
|
||||||
def get_visibility(self) -> bool:
|
def get_visibility(self) -> bool:
|
||||||
|
@ -733,31 +733,31 @@ class BMFileWriter(_AbstractPointer):
|
||||||
return class_type(self._get_pointer(), retid)
|
return class_type(self._get_pointer(), retid)
|
||||||
|
|
||||||
def create_texture(self) -> BMTexture:
|
def create_texture(self) -> BMTexture:
|
||||||
self.__create_ckobject(
|
return self.__create_ckobject(
|
||||||
BMTexture,
|
BMTexture,
|
||||||
bmap.BMFile_CreateTexture
|
bmap.BMFile_CreateTexture
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_material(self) -> BMMaterial:
|
def create_material(self) -> BMMaterial:
|
||||||
self.__create_ckobject(
|
return self.__create_ckobject(
|
||||||
BMMaterial,
|
BMMaterial,
|
||||||
bmap.BMFile_CreateMaterial
|
bmap.BMFile_CreateMaterial
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_mesh(self) -> BMMesh:
|
def create_mesh(self) -> BMMesh:
|
||||||
self.__create_ckobject(
|
return self.__create_ckobject(
|
||||||
BMMesh,
|
BMMesh,
|
||||||
bmap.BMFile_CreateMesh
|
bmap.BMFile_CreateMesh
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_3dobject(self) -> BM3dObject:
|
def create_3dobject(self) -> BM3dObject:
|
||||||
self.__create_ckobject(
|
return self.__create_ckobject(
|
||||||
BM3dObject,
|
BM3dObject,
|
||||||
bmap.BMFile_Create3dObject
|
bmap.BMFile_Create3dObject
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_group(self) -> BMGroup:
|
def create_group(self) -> BMGroup:
|
||||||
self.__create_ckobject(
|
return self.__create_ckobject(
|
||||||
BMGroup,
|
BMGroup,
|
||||||
bmap.BMFile_CreateGroup
|
bmap.BMFile_CreateGroup
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Debug IronPad used. Force enable IronPad.
|
// Debug IronPad used. Force enable IronPad.
|
||||||
#define IRONPAD_ENABLED 1
|
//#define IRONPAD_ENABLED 1
|
||||||
|
|
||||||
namespace IronPad {
|
namespace IronPad {
|
||||||
|
|
||||||
|
|
|
@ -131,7 +131,7 @@ namespace LibCmo::CK2 {
|
||||||
parser->Read(name_conv.data(), namelen);
|
parser->Read(name_conv.data(), namelen);
|
||||||
m_Ctx->GetUtf8String(name_conv, fileobj.Name);
|
m_Ctx->GetUtf8String(name_conv, fileobj.Name);
|
||||||
} else {
|
} else {
|
||||||
fileobj.Name.clear();
|
XContainer::NSXString::FromCKSTRING(fileobj.Name, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,10 +175,15 @@ namespace LibCmo::CK2 {
|
||||||
hdrparser->Write(&obj.FileIndex);
|
hdrparser->Write(&obj.FileIndex);
|
||||||
|
|
||||||
if (XContainer::NSXString::ToCKSTRING(obj.Name) != nullptr) {
|
if (XContainer::NSXString::ToCKSTRING(obj.Name) != nullptr) {
|
||||||
|
// if have name, write it
|
||||||
m_Ctx->GetNativeString(obj.Name, name_conv);
|
m_Ctx->GetNativeString(obj.Name, name_conv);
|
||||||
CKDWORD namelen = static_cast<CKDWORD>(name_conv.size());
|
CKDWORD namelen = static_cast<CKDWORD>(name_conv.size());
|
||||||
hdrparser->Write(&namelen);
|
hdrparser->Write(&namelen);
|
||||||
hdrparser->Write(name_conv.data(), namelen);
|
hdrparser->Write(name_conv.data(), namelen);
|
||||||
|
} else {
|
||||||
|
// otherwise, write 0 to indicate no name
|
||||||
|
CKDWORD namelen = 0;
|
||||||
|
hdrparser->Write(&namelen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace LibCmo::CK2::ObjImpls {
|
||||||
m_ID(ckid),
|
m_ID(ckid),
|
||||||
m_Name(),
|
m_Name(),
|
||||||
m_Context(ctx),
|
m_Context(ctx),
|
||||||
m_ObjectFlags(CK_OBJECT_FLAGS::CK_PARAMETERIN_DISABLED) {
|
m_ObjectFlags(CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE) {
|
||||||
// set name with possible nullptr.
|
// set name with possible nullptr.
|
||||||
XContainer::NSXString::FromCKSTRING(m_Name, name);
|
XContainer::NSXString::FromCKSTRING(m_Name, name);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user