ksys/phys: Add prerequisites for RigidBody (RigidBodyParam fixes)

Seems to have fixed _ZN4ksys4phys11InstanceSet14sub_7100FBB00CEPNS0_9RigidBodyEPNS0_14RigidBodyParamE
This commit is contained in:
Léo Lam
2022-01-16 11:42:40 +01:00
parent 544c33e2eb
commit 2ed36c7dc0
13 changed files with 115 additions and 27 deletions
@@ -122,17 +122,16 @@ void* InstanceSet::sub_7100FBAEDC(s32 idx1, s32 idx2) const {
return mRigidBodySets[idx1]->getRigidBody(idx2);
}
// NON_MATCHING
void InstanceSet::sub_7100FBB00C(phys::RigidBody* body, phys::RigidBodyParam* param) {
if (body == nullptr)
return;
phys::RigidBodyInstanceParam instance_params;
param->getParams(&instance_params);
param->makeInstanceParam(&instance_params);
if (instance_params.contact_layer == phys::ContactLayer::SensorCustomReceiver) {
body->sub_7100F8F9E8(&instance_params.flags, _188[body->isMassScaling()]);
} else if (instance_params.info_5e0) {
body->sub_7100F8FA44(instance_params.contact_layer, instance_params.info_5e0);
body->sub_7100F8F9E8(&instance_params.receiver_mask, _188[body->isMassScaling()]);
} else if (instance_params.groundhit_mask) {
body->sub_7100F8FA44(instance_params.contact_layer, instance_params.groundhit_mask);
} else {
body->sub_7100F8F8CC(instance_params.contact_layer, instance_params.groundhit,
_188[body->isMassScaling()]);