diff options
author | eray orçunus <erayorcunus@gmail.com> | 2020-05-19 16:46:18 +0200 |
---|---|---|
committer | eray orçunus <erayorcunus@gmail.com> | 2020-05-19 16:46:18 +0200 |
commit | 99574ebfc61a79b34f4681eaa2debefbae174875 (patch) | |
tree | a3edae2913a4af9682f7ecfec53367a484c2975c /src/render/Occlusion.cpp | |
parent | Melee weapons(half-working), Ped and Hud bits (diff) | |
parent | Merge pull request #564 from Xinerki/miami (diff) | |
download | re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar.gz re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar.bz2 re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar.lz re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar.xz re3-99574ebfc61a79b34f4681eaa2debefbae174875.tar.zst re3-99574ebfc61a79b34f4681eaa2debefbae174875.zip |
Diffstat (limited to 'src/render/Occlusion.cpp')
-rw-r--r-- | src/render/Occlusion.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/render/Occlusion.cpp b/src/render/Occlusion.cpp index b33b1d01..1c4e4266 100644 --- a/src/render/Occlusion.cpp +++ b/src/render/Occlusion.cpp @@ -2,6 +2,42 @@ #include "Occlusion.h" +int32 COcclusion::NumOccludersOnMap; +int16 COcclusion::FarAwayList; +int16 COcclusion::NearbyList; +int16 COcclusion::ListWalkThroughFA; +int16 COcclusion::PreviousListWalkThroughFA; +COccluder COcclusion::aOccluders[NUMOCCLUSIONVOLUMES]; + +void +COcclusion::Init(void) +{ + NumOccludersOnMap = 0; + FarAwayList = -1; + NearbyList = -1; + ListWalkThroughFA = -1; + PreviousListWalkThroughFA = -1; +} + +void +COcclusion::AddOne(float x, float y, float z, float width, float length, float height, float angle) +{ + if(NumOccludersOnMap >= NUMOCCLUSIONVOLUMES) + return; + + aOccluders[NumOccludersOnMap].x = x; + aOccluders[NumOccludersOnMap].y = y; + aOccluders[NumOccludersOnMap].z = z; + aOccluders[NumOccludersOnMap].width = width; + aOccluders[NumOccludersOnMap].length = length; + aOccluders[NumOccludersOnMap].height = height; + while(angle < 0.0f) angle += 360.0f; + while(angle > 360.0f) angle -= 360.0f; + aOccluders[NumOccludersOnMap].angle = angle * UINT16_MAX/360.0f; + aOccluders[NumOccludersOnMap].listIndex = FarAwayList; + FarAwayList = NumOccludersOnMap++; +} + void COcclusion::ProcessBeforeRendering(void) { |