mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-29 04:35:40 +00:00
PS2 audio reflections
This commit is contained in:
parent
c7e05c74b9
commit
d6fbf9fbe7
2 changed files with 63 additions and 0 deletions
|
@ -755,6 +755,49 @@ cAudioManager::UpdateReflections()
|
|||
CColPoint colpoint;
|
||||
CEntity *ent;
|
||||
|
||||
#if GTA_VERSION < GTAVC_PC_10
|
||||
if (m_FrameCounter % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[0] = camPos;
|
||||
m_avecReflectionsPos[0].y += 50.0f;
|
||||
if (CWorld::ProcessLineOfSight(camPos, m_avecReflectionsPos[0], colpoint, ent, true, false, false, true, false, true, true))
|
||||
m_afReflectionsDistances[0] = Distance(camPos, colpoint.point);
|
||||
else
|
||||
m_afReflectionsDistances[0] = 50.0f;
|
||||
} else if ((m_FrameCounter + 1) % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[1] = camPos;
|
||||
m_avecReflectionsPos[1].y -= 50.0f;
|
||||
if (CWorld::ProcessLineOfSight(camPos, m_avecReflectionsPos[1], colpoint, ent, true, false, false, true, false, true, true))
|
||||
m_afReflectionsDistances[1] = Distance(camPos, colpoint.point);
|
||||
else
|
||||
m_afReflectionsDistances[1] = 50.0f;
|
||||
} else if ((m_FrameCounter + 2) % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[2] = camPos;
|
||||
m_avecReflectionsPos[2].x -= 50.0f;
|
||||
if (CWorld::ProcessLineOfSight(camPos, m_avecReflectionsPos[2], colpoint, ent, true, false, false, true, false, true, true))
|
||||
m_afReflectionsDistances[2] = Distance(camPos, colpoint.point);
|
||||
else
|
||||
m_afReflectionsDistances[2] = 50.0f;
|
||||
} else if ((m_FrameCounter + 3) % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[3] = camPos;
|
||||
m_avecReflectionsPos[3].x += 50.0f;
|
||||
if (CWorld::ProcessLineOfSight(camPos, m_avecReflectionsPos[3], colpoint, ent, true, false, false, true, false, true, true))
|
||||
m_afReflectionsDistances[3] = Distance(camPos, colpoint.point);
|
||||
else
|
||||
m_afReflectionsDistances[3] = 50.0f;
|
||||
} else if ((m_FrameCounter + 4) % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[4] = camPos;
|
||||
m_avecReflectionsPos[4].z += 50.0f;
|
||||
if (CWorld::ProcessVerticalLine(camPos, m_avecReflectionsPos[4].z, colpoint, ent, true, false, false, false, true, false, nil))
|
||||
m_afReflectionsDistances[4] = colpoint.point.z - camPos.z;
|
||||
else
|
||||
m_afReflectionsDistances[4] = 50.0f;
|
||||
}
|
||||
#else
|
||||
if (m_FrameCounter % 8 == 0) {
|
||||
camPos = TheCamera.GetPosition();
|
||||
m_avecReflectionsPos[0] = camPos;
|
||||
|
@ -824,6 +867,7 @@ cAudioManager::UpdateReflections()
|
|||
else
|
||||
m_afReflectionsDistances[7] = 100.0f;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -184,6 +184,24 @@ public:
|
|||
|
||||
VALIDATE_SIZE(cVehicleParams, 0x1C);
|
||||
|
||||
#if GTA_VERSION < GTAVC_PC_10
|
||||
enum {
|
||||
/*
|
||||
REFLECTION_YMAX = 0, top
|
||||
REFLECTION_YMIN = 1, bottom
|
||||
REFLECTION_XMIN = 2, left
|
||||
REFLECTION_XMAX = 3, right
|
||||
REFLECTION_ZMAX = 4,
|
||||
*/
|
||||
|
||||
REFLECTION_TOP = 0,
|
||||
REFLECTION_BOTTOM,
|
||||
REFLECTION_LEFT,
|
||||
REFLECTION_RIGHT,
|
||||
REFLECTION_UP,
|
||||
MAX_REFLECTIONS,
|
||||
};
|
||||
#else
|
||||
enum {
|
||||
REFLECTION_NORTH = 0,
|
||||
REFLECTION_SOUTH,
|
||||
|
@ -195,6 +213,7 @@ enum {
|
|||
REFLECTION_CEIL_EAST,
|
||||
MAX_REFLECTIONS,
|
||||
};
|
||||
#endif
|
||||
|
||||
enum PLAY_STATUS { PLAY_STATUS_STOPPED = 0, PLAY_STATUS_PLAYING, PLAY_STATUS_FINISHED };
|
||||
enum LOADING_STATUS { LOADING_STATUS_NOT_LOADED = 0, LOADING_STATUS_LOADED, LOADING_STATUS_FAILED };
|
||||
|
|
Loading…
Reference in a new issue