OTP support for receive_update_broadcast_required_owner
This commit is contained in:
parent
f8b78ea12e
commit
e5d612067c
|
|
@ -183,12 +183,32 @@ receive_update_broadcast_required_owner(PyObject *distobj,
|
|||
int num_fields = _this->get_num_inherited_fields();
|
||||
for (int i = 0; i < num_fields && !PyErr_Occurred(); ++i) {
|
||||
DCField *field = _this->get_inherited_field(i);
|
||||
if (field->as_molecular_field() == nullptr &&
|
||||
field->is_required() && (field->is_ownrecv() || field->is_broadcast())) {
|
||||
packer.begin_unpack(field);
|
||||
invoke_extension(field).receive_update(packer, distobj);
|
||||
if (!packer.end_unpack()) {
|
||||
break;
|
||||
if (astron_support)
|
||||
{
|
||||
if (field->as_molecular_field() == nullptr &&
|
||||
field->is_required() && (field->is_ownrecv() || field->is_broadcast())) {
|
||||
packer.begin_unpack(field);
|
||||
invoke_extension(field).receive_update(packer, distobj);
|
||||
if (!packer.end_unpack()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (field->as_molecular_field() == nullptr &&
|
||||
field->is_required()) {
|
||||
packer.begin_unpack(field);
|
||||
if (field->is_ownrecv()) {
|
||||
invoke_extension(field).receive_update(packer, distobj);
|
||||
} else {
|
||||
// It's not an ownrecv field; skip over it. It's difficult to filter
|
||||
// this on the server, ask Roger for the reason.
|
||||
packer.unpack_skip();
|
||||
}
|
||||
if (!packer.end_unpack()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -611,7 +631,9 @@ ai_format_generate(PyObject *distobj, DOID_TYPE do_id,
|
|||
|
||||
// Parent is a bit overloaded; this parent is not about inheritance, this
|
||||
// one is about the visibility container parent, i.e. the zone parent:
|
||||
packer.raw_pack_uint32(parent_id);
|
||||
if (parent_id) {
|
||||
packer.raw_pack_uint32(parent_id);
|
||||
}
|
||||
packer.raw_pack_uint32(zone_id);
|
||||
packer.raw_pack_uint16(_this->_number);
|
||||
packer.raw_pack_uint32(do_id);
|
||||
|
|
|
|||
Loading…
Reference in New Issue