2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 01:07:43 +00:00

Implement additive body states, rstl::binary_find

This commit is contained in:
Jack Andersen
2017-07-10 21:17:03 -10:00
parent 7e85ab932b
commit daef773f39
17 changed files with 371 additions and 71 deletions

View File

@@ -62,11 +62,9 @@ CPASAnimState::CPASAnimState(int stateId)
CPASAnimParm CPASAnimState::GetAnimParmData(s32 animId, u32 parmIdx) const
{
CPASAnimInfo key(animId);
auto search = std::lower_bound(x14_anims.begin(), x14_anims.end(), key,
[](const CPASAnimInfo& item, const CPASAnimInfo& testId) ->
bool {return item.GetAnimId() < testId.GetAnimId();});
if (search == x14_anims.end() || search->GetAnimId() > animId)
auto search = rstl::binary_find(x14_anims.begin(), x14_anims.end(), animId,
[](const CPASAnimInfo& item) {return item.GetAnimId();});
if (search == x14_anims.end())
return CPASAnimParm::NoParameter();
CPASParmInfo parm = x4_parms.at(parmIdx);