mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 17:54:15 +00:00
Document new "Epona Push" bug (#941)
* add comment * missed one * remove dupes and change wording
This commit is contained in:
parent
81830a6e8b
commit
3de7c21196
5 changed files with 11 additions and 0 deletions
|
@ -3783,6 +3783,11 @@ void EnHorse_SkinCallback1(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* ski
|
|||
this->jntSph.elements[i].dim.modelSphere.radius * this->jntSph.elements[i].dim.scale;
|
||||
}
|
||||
|
||||
//! @bug Setting colliders in a draw function allows for duplicate entries to be added to their respective lists
|
||||
//! under certain conditions, like when pausing and unpausing the game.
|
||||
//! Actors will draw for a couple of frames between the pauses, but some important logic updates will not occur.
|
||||
//! In the case of OC, this can cause unwanted effects such as a very large amount of displacement being applied to
|
||||
//! a colliding actor.
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->jntSph.base);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->jntSph.base);
|
||||
}
|
||||
|
|
|
@ -318,6 +318,8 @@ void func_80A68FA8(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
|
|||
this->colliderHead.elements[index].dim.worldSphere.radius =
|
||||
this->colliderHead.elements[index].dim.modelSphere.radius * this->colliderHead.elements[index].dim.scale;
|
||||
}
|
||||
|
||||
//! @bug see relevant comment in `EnHorse_SkinCallback1`
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderHead.base);
|
||||
}
|
||||
|
||||
|
|
|
@ -598,6 +598,7 @@ void func_80A6ABF8(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
|
|||
this->headCollider.elements[i].dim.modelSphere.radius * this->headCollider.elements[i].dim.scale;
|
||||
}
|
||||
|
||||
//! @bug see relevant comment in `EnHorse_SkinCallback1`
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base);
|
||||
}
|
||||
|
||||
|
|
|
@ -607,6 +607,7 @@ void func_80A6CAFC(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
|
|||
this->headCollider.elements[i].dim.modelSphere.radius * this->headCollider.elements[i].dim.scale;
|
||||
}
|
||||
|
||||
//! @bug see relevant comment in `EnHorse_SkinCallback1`
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base);
|
||||
}
|
||||
|
||||
|
|
|
@ -262,6 +262,8 @@ void func_80A6DFD4(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
|
|||
this->colliderSphere.elements[i].dim.worldSphere.radius =
|
||||
this->colliderSphere.elements[i].dim.modelSphere.radius * this->colliderSphere.elements[i].dim.scale;
|
||||
}
|
||||
|
||||
//! @bug see relevant comment in `EnHorse_SkinCallback1`
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue