mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 16:51:15 +00:00
Fix logic / match
This commit is contained in:
parent
4e8af0ddc4
commit
14661988aa
@ -76,6 +76,7 @@ class LegoEntity : public MxEntity {
|
||||
inline MxFloat GetWorldSpeed() { return m_worldSpeed; }
|
||||
inline LegoROI* GetROI() { return m_roi; }
|
||||
inline MxU8 GetUnknown0x59() { return m_unk0x59; }
|
||||
inline MxBool GetCameraFlag() { return m_cameraFlag; }
|
||||
|
||||
inline void SetFlags(MxU8 p_flags) { m_flags = p_flags; }
|
||||
inline void SetFlag(MxU8 p_flag) { m_flags |= p_flag; }
|
||||
|
||||
@ -47,12 +47,21 @@ class LegoPathBoundary : public LegoWEGEdge {
|
||||
// TEMPLATE: LEGO1 0x1002bee0
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,a
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002bfb0
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::iterator::_Inc
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002bff0
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::erase
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002c440
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::find
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002c4c0
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002c630
|
||||
// _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase
|
||||
|
||||
// TEMPLATE: LEGO1 0x1002c670
|
||||
// set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >
|
||||
|
||||
|
||||
@ -435,17 +435,23 @@ MxU32 LegoPathActor::VTable0x6c(
|
||||
LegoPathActorSet lpas(*plpas);
|
||||
|
||||
for (LegoPathActorSet::iterator itpa = lpas.begin(); itpa != lpas.end(); itpa++) {
|
||||
LegoPathActor* actor = *itpa;
|
||||
if (plpas->find(*itpa) != plpas->end()) {
|
||||
LegoPathActor* actor = *itpa;
|
||||
|
||||
if (plpas->find(actor) != plpas->end() && this != actor && (actor->m_state & 0x100) && actor->m_roi &&
|
||||
(actor->m_roi->GetVisibility() || actor->m_cameraFlag)) {
|
||||
if (actor->m_roi->FUN_100a9410(p_v1, p_v2, p_f1, p_f2, p_v3, m_unk0xe8 != 0 && actor->m_unk0xe8 != 0)) {
|
||||
VTable0x94(actor, TRUE);
|
||||
VTable0x94(actor, FALSE);
|
||||
return 2;
|
||||
if (this != actor && !(actor->GetState() & 0x100)) {
|
||||
LegoROI* roi = actor->GetROI();
|
||||
|
||||
if (roi != NULL && (roi->GetVisibility() || actor->GetCameraFlag())) {
|
||||
if (roi->FUN_100a9410(p_v1, p_v2, p_f1, p_f2, p_v3, m_unk0xe8 != 0 && actor->m_unk0xe8 != 0)) {
|
||||
VTable0x94(actor, TRUE);
|
||||
actor->VTable0x94(this, FALSE);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user