mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-25 17:07:52 -05:00
Fix camera glitch (#1031)
This commit is contained in:
parent
e5d66d597d
commit
dd1c11a933
4 changed files with 9 additions and 11 deletions
|
@ -2790,7 +2790,7 @@ void LegoAnimationManager::FUN_10064b50(MxLong p_time)
|
|||
if (m_unk0x430 && m_unk0x42c != NULL) {
|
||||
MxMatrix mat;
|
||||
|
||||
if (p_time < 0 || p_time <= m_unk0x438) {
|
||||
if (p_time < 0 || m_unk0x438 <= p_time) {
|
||||
m_unk0x430 = FALSE;
|
||||
m_unk0x42c->m_flags &= ~LegoTranInfo::c_bit1;
|
||||
m_unk0x42c = NULL;
|
||||
|
@ -2807,7 +2807,7 @@ void LegoAnimationManager::FUN_10064b50(MxLong p_time)
|
|||
m_unk0x4cc.Unknown6(mat, (float) (p_time - m_unk0x434) / 1000.0f);
|
||||
|
||||
VPV3(mat[3], m_unk0x43c[3], sub);
|
||||
mat[3][4] = 1.0f;
|
||||
mat[3][3] = 1.0f;
|
||||
}
|
||||
|
||||
LegoROI* viewROI = VideoManager()->GetViewROI();
|
||||
|
|
|
@ -706,12 +706,10 @@ void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time)
|
|||
m_time = p_time;
|
||||
|
||||
Mx3DPointFloat targetPosition(p_matrix[3]);
|
||||
Vector3 vec(m_local2world[3]);
|
||||
|
||||
// TODO: Figure out how to get type right for the call
|
||||
((Vector3&) targetPosition).Sub(Vector3(m_local2world[3]));
|
||||
|
||||
float division = time * 0.001;
|
||||
((Vector3&) targetPosition).Div(division);
|
||||
((Vector3&) targetPosition).Sub(vec);
|
||||
((Vector3&) targetPosition).Div(time * 0.001);
|
||||
|
||||
FUN_100a5a30(targetPosition);
|
||||
}
|
||||
|
|
|
@ -183,9 +183,9 @@ inline int UnknownMx4DPointFloat::FUN_100040a0(Vector4& p_v, float p_f)
|
|||
if (d1 + 1.0 > 0.00001) {
|
||||
if (1.0 - d1 > 0.00001) {
|
||||
double d = acos(d1);
|
||||
sin(d);
|
||||
d1 = sin((1.0 - p_f) * d) / sin(d);
|
||||
d2 = sin(p_f * d) / sin(d);
|
||||
double s = sin(d);
|
||||
d1 = sin((1.0 - p_f) * d) / s;
|
||||
d2 = sin(p_f * d) / s;
|
||||
}
|
||||
else {
|
||||
d1 = 1.0 - p_f;
|
||||
|
|
|
@ -138,7 +138,7 @@ class Vector2 {
|
|||
virtual void Mul(const float& p_value) { MulScalarImpl((float*) &p_value); } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10002240
|
||||
virtual void Div(float& p_value) { DivScalarImpl(&p_value); } // vtable+0x68
|
||||
virtual void Div(const float& p_value) { DivScalarImpl((float*) &p_value); } // vtable+0x68
|
||||
|
||||
// FUNCTION: LEGO1 0x10002250
|
||||
virtual void SetVector(float* p_other) { EqualsImpl(p_other); } // vtable+0x70
|
||||
|
|
Loading…
Reference in a new issue