mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 15:30:00 +00:00
Restore some marker code
This commit is contained in:
parent
ccf6232039
commit
4f3e4cd542
|
@ -849,7 +849,7 @@ C3dMarkers::PlaceMarker(uint32 identifier, uint16 type, CVector &pos, float size
|
||||||
} else {
|
} else {
|
||||||
pMarker->m_fStdSize = size;
|
pMarker->m_fStdSize = size;
|
||||||
}
|
}
|
||||||
} else {
|
} else if (type == MARKERTYPE_CYLINDER) {
|
||||||
if (dist < size + 12.0f) {
|
if (dist < size + 12.0f) {
|
||||||
if (dist > size + 1.0f)
|
if (dist > size + 1.0f)
|
||||||
pMarker->m_Color.alpha = (1.0f - (size + 12.0f - dist) * 0.7f / 11.0f) * (float)a;
|
pMarker->m_Color.alpha = (1.0f - (size + 12.0f - dist) * 0.7f / 11.0f) * (float)a;
|
||||||
|
@ -862,8 +862,14 @@ C3dMarkers::PlaceMarker(uint32 identifier, uint16 type, CVector &pos, float size
|
||||||
float someSin = Sin(TWOPI * (float)((pMarker->m_nPulsePeriod - 1) & (CTimer::GetTimeInMilliseconds() - pMarker->m_nStartTime)) / (float)pMarker->m_nPulsePeriod);
|
float someSin = Sin(TWOPI * (float)((pMarker->m_nPulsePeriod - 1) & (CTimer::GetTimeInMilliseconds() - pMarker->m_nStartTime)) / (float)pMarker->m_nPulsePeriod);
|
||||||
pMarker->m_fSize = pMarker->m_fStdSize - pulseFraction * pMarker->m_fStdSize * someSin;
|
pMarker->m_fSize = pMarker->m_fStdSize - pulseFraction * pMarker->m_fStdSize * someSin;
|
||||||
|
|
||||||
if (type == MARKERTYPE_ARROW)
|
if (type == MARKERTYPE_ARROW) {
|
||||||
pos.z += 0.25f * pMarker->m_fStdSize * someSin;
|
pos.z += 0.25f * pMarker->m_fStdSize * someSin;
|
||||||
|
} else if (type == MARKERTYPE_0) {
|
||||||
|
if (someSin > 0.0f)
|
||||||
|
pMarker->m_Color.alpha = (float)a * 0.7f * someSin + a;
|
||||||
|
else
|
||||||
|
pMarker->m_Color.alpha = (float)a * 0.4f * someSin + a;
|
||||||
|
}
|
||||||
if (pMarker->m_nRotateRate != 0) {
|
if (pMarker->m_nRotateRate != 0) {
|
||||||
RwV3d pos = pMarker->m_Matrix.m_matrix.pos;
|
RwV3d pos = pMarker->m_Matrix.m_matrix.pos;
|
||||||
pMarker->m_Matrix.RotateZ(DEGTORAD(pMarker->m_nRotateRate * CTimer::GetTimeStep()));
|
pMarker->m_Matrix.RotateZ(DEGTORAD(pMarker->m_nRotateRate * CTimer::GetTimeStep()));
|
||||||
|
@ -888,7 +894,7 @@ C3dMarkers::PlaceMarker(uint32 identifier, uint16 type, CVector &pos, float size
|
||||||
pMarker->DeleteMarkerObject();
|
pMarker->DeleteMarkerObject();
|
||||||
|
|
||||||
pMarker->AddMarker(identifier, type, size, r, g, b, a, pulsePeriod, pulseFraction, rotateRate);
|
pMarker->AddMarker(identifier, type, size, r, g, b, a, pulsePeriod, pulseFraction, rotateRate);
|
||||||
if (type == MARKERTYPE_CYLINDER) {
|
if (type == MARKERTYPE_CYLINDER || type == MARKERTYPE_0 || type == MARKERTYPE_2) {
|
||||||
if ((playerPos - pos).MagnitudeSqr() < sq(100.f) && CColStore::HasCollisionLoaded(CVector2D(pos))) {
|
if ((playerPos - pos).MagnitudeSqr() < sq(100.f) && CColStore::HasCollisionLoaded(CVector2D(pos))) {
|
||||||
float z = CWorld::FindGroundZFor3DCoord(pos.x, pos.y, pos.z + 1.0f, nil);
|
float z = CWorld::FindGroundZFor3DCoord(pos.x, pos.y, pos.z + 1.0f, nil);
|
||||||
if (z != 0.0f)
|
if (z != 0.0f)
|
||||||
|
@ -899,6 +905,10 @@ C3dMarkers::PlaceMarker(uint32 identifier, uint16 type, CVector &pos, float size
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pMarker->m_Matrix.SetTranslate(pos.x, pos.y, pos.z);
|
pMarker->m_Matrix.SetTranslate(pos.x, pos.y, pos.z);
|
||||||
|
if (type == MARKERTYPE_2) {
|
||||||
|
pMarker->m_Matrix.RotateX(PI);
|
||||||
|
pMarker->m_Matrix.GetPosition() = pos;
|
||||||
|
}
|
||||||
pMarker->m_Matrix.UpdateRW();
|
pMarker->m_Matrix.UpdateRW();
|
||||||
if (type == MARKERTYPE_ARROW) {
|
if (type == MARKERTYPE_ARROW) {
|
||||||
if (dist < 25.0f) {
|
if (dist < 25.0f) {
|
||||||
|
@ -909,7 +919,7 @@ C3dMarkers::PlaceMarker(uint32 identifier, uint16 type, CVector &pos, float size
|
||||||
} else {
|
} else {
|
||||||
pMarker->m_fStdSize = size;
|
pMarker->m_fStdSize = size;
|
||||||
}
|
}
|
||||||
} else {
|
} else if (type == MARKERTYPE_CYLINDER) {
|
||||||
if (dist < size + 12.0f) {
|
if (dist < size + 12.0f) {
|
||||||
if (dist > size + 1.0f)
|
if (dist > size + 1.0f)
|
||||||
pMarker->m_Color.alpha = (1.0f - (size + 12.0f - dist) * 0.7f / 11.0f) * (float)a;
|
pMarker->m_Color.alpha = (1.0f - (size + 12.0f - dist) * 0.7f / 11.0f) * (float)a;
|
||||||
|
|
Loading…
Reference in a new issue