ksys/phys: Move orGroundHitTypeMask to the correct TU

This commit is contained in:
Léo Lam 2021-12-24 23:01:58 +01:00
parent a816125247
commit e9024ed406
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 15 additions and 8 deletions

View File

@ -83790,8 +83790,8 @@ Address,Quality,Size,Name
0x0000007100fb5dc8,U,000028, 0x0000007100fb5dc8,U,000028,
0x0000007100fb5de4,O,000192,_ZN4ksys4phys17EntityGroupFilter30doInitSystemGroupHandlerLists_EPN4sead4HeapE 0x0000007100fb5de4,O,000192,_ZN4ksys4phys17EntityGroupFilter30doInitSystemGroupHandlerLists_EPN4sead4HeapE
0x0000007100fb5ea4,O,000016,_ZN4ksys4phys17EntityGroupFilter16getFreeListIndexEPKNS0_18SystemGroupHandlerE 0x0000007100fb5ea4,O,000016,_ZN4ksys4phys17EntityGroupFilter16getFreeListIndexEPKNS0_18SystemGroupHandlerE
0x0000007100fb5eb4,U,000036, 0x0000007100fb5eb4,O,000036,_ZN4ksys4phys19orGroundHitTypeMaskEjNS0_9GroundHitE
0x0000007100fb5ed8,O,000060,_ZN4ksys4physL19orGroundHitTypeMaskEjRKN4sead14SafeStringBaseIcEE 0x0000007100fb5ed8,O,000060,_ZN4ksys4phys19orGroundHitTypeMaskEjRKN4sead14SafeStringBaseIcEE
0x0000007100fb5f14,U,000032, 0x0000007100fb5f14,U,000032,
0x0000007100fb5f34,U,000068, 0x0000007100fb5f34,U,000068,
0x0000007100fb5f78,U,000036, 0x0000007100fb5f78,U,000036,

Can't render this file because it is too large.

View File

@ -1,4 +1,5 @@
#include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h"
#include "KingSystem/Physics/System/physEntityGroupFilter.h"
#include "KingSystem/Physics/System/physShapeParam.h" #include "KingSystem/Physics/System/physShapeParam.h"
namespace ksys::phys { namespace ksys::phys {
@ -77,12 +78,6 @@ MotionType RigidBodyParam::getMotionType() const {
return motionTypeFromText(*info.motion_type); return motionTypeFromText(*info.motion_type);
} }
// TODO: move this to another translation unit (figure out where this belongs)
[[gnu::noinline]] static u32 orGroundHitTypeMask(u32 mask, const sead::SafeString& type) {
mask |= (0x100 << groundHitFromText(type)) & 0xffff00;
return mask;
}
namespace { namespace {
constexpr const char* navmesh_types[] = { constexpr const char* navmesh_types[] = {
"NOT_USE", "NOT_USE",

View File

@ -40,4 +40,13 @@ int EntityGroupFilter::getFreeListIndex(const SystemGroupHandler* handler) {
return handler->getIndex() < NumEntityHandlersInList0; return handler->getIndex() < NumEntityHandlersInList0;
} }
u32 orGroundHitTypeMask(u32 mask, GroundHit type) {
mask |= (0x100 << type) & 0xffff00;
return mask;
}
u32 orGroundHitTypeMask(u32 mask, const sead::SafeString& type) {
return orGroundHitTypeMask(mask, groundHitFromText(type));
}
} // namespace ksys::phys } // namespace ksys::phys

View File

@ -60,4 +60,7 @@ private:
sead::SafeArray<u32, ContactLayer::size()> mMasks; sead::SafeArray<u32, ContactLayer::size()> mMasks;
}; };
u32 orGroundHitTypeMask(u32 mask, GroundHit type);
u32 orGroundHitTypeMask(u32 mask, const sead::SafeString& type);
} // namespace ksys::phys } // namespace ksys::phys