diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2021-01-23 10:54:27 +0100 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2021-01-23 10:54:27 +0100 |
commit | 8d0100f100c69f1a74558aa136116cb27d0bf0c7 (patch) | |
tree | 3318d4f99017dd49c882c7e2ec06f77b4b18c9ba | |
parent | I hate GetATanOfXY (diff) | |
parent | Add (Don't) walk lights (diff) | |
download | re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar.gz re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar.bz2 re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar.lz re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar.xz re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.tar.zst re3-8d0100f100c69f1a74558aa136116cb27d0bf0c7.zip |
-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()); |