diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-01-23 03:07:50 +0100 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-01-23 03:07:50 +0100 |
commit | e03aaec03076be4ec6504a4fb0f75d059c98d328 (patch) | |
tree | 65561b1bee41b9d340bd525d4a3b1d6ca92d06f7 /src/control/TrafficLights.cpp | |
parent | Merge remote-tracking branch 'upstream/lcs' into lcs (diff) | |
download | re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar.gz re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar.bz2 re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar.lz re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar.xz re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.tar.zst re3-e03aaec03076be4ec6504a4fb0f75d059c98d328.zip |
Diffstat (limited to 'src/control/TrafficLights.cpp')
-rw-r--r-- | src/control/TrafficLights.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/control/TrafficLights.cpp b/src/control/TrafficLights.cpp index df0761ab..d8f211d0 100644 --- a/src/control/TrafficLights.cpp +++ b/src/control/TrafficLights.cpp @@ -114,6 +114,32 @@ CTrafficLights::DisplayActualLight(CEntity *ent) CBrightLights::RegisterOne(pos1, ent->GetUp(), ent->GetRight(), CVector(0.0f, 0.0f, 0.0f), id + BRIGHTLIGHT_TRAFFIC_GREEN); CBrightLights::RegisterOne(pos2, ent->GetUp(), -ent->GetRight(), CVector(0.0f, 0.0f, 0.0f), id + BRIGHTLIGHT_TRAFFIC_GREEN); + + // TODO(LCS): check coordinates + static const float top = -0.127f; + static const float bot = -0.539f; + static const float mid = bot + (top - bot) / 3.0f; + static const float left = 1.256f; + static const float right = 0.706f; + phase = CTrafficLights::LightForPeds(); + if (phase == PED_LIGHTS_DONT_WALK) { + CVector p0(2.7f, right, top); + CVector p1(2.7f, left, top); + CVector p2(2.7f, right, mid); + CVector p3(2.7f, left, mid); + CShinyTexts::RegisterOne(ent->GetMatrix() * p0, ent->GetMatrix() * p1, ent->GetMatrix() * p2, ent->GetMatrix() * p3, + 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, + SHINYTEXT_WALK, 255, 0, 0, 60.0f); + } + else if (phase == PED_LIGHTS_WALK || CTimer::GetTimeInMilliseconds() & 0x100) { + CVector p0(2.7f, right, mid); + CVector p1(2.7f, left, mid); + CVector p2(2.7f, right, bot); + CVector p3(2.7f, left, bot); + CShinyTexts::RegisterOne(ent->GetMatrix() * p0, ent->GetMatrix() * p1, ent->GetMatrix() * p2, ent->GetMatrix() * p3, + 1.0f, 0.5f, 0.0f, 0.5f, 1.0f, 1.0f, 0.0f, 1.0f, + SHINYTEXT_WALK, 255, 255, 255, 60.0f); + } } else if (MI_TRAFFICLIGHTS_VERTICAL == m) { CBaseModelInfo* mi = CModelInfo::GetModelInfo(ent->GetModelIndex()); |