Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/hudenginestatus.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/client/hudenginestatus.cc b/src/client/hudenginestatus.cc
index 04b6f63..6b55344 100644
--- a/src/client/hudenginestatus.cc
+++ b/src/client/hudenginestatus.cc
@@ -33,13 +33,24 @@ void HUDEngineStatus::draw()
s[1] -= 2.0f * padding;
// thrust
+ const float blink_t = core::application()->time() * 2.0f;
std::ostringstream thruststr;
- if (core::localcontrol()->state() == core::Entity::Normal) {
- thruststr << "^B" << roundf(core::localcontrol()->thrust() * 100.0f) << "%";
- } else {
- thruststr << "^B--";
+ switch(core::localcontrol()->state()) {
+ case core::Entity::Normal:
+ thruststr << "^B" << roundf(core::localcontrol()->thrust() * 100.0f) << "%";
+ break;
+ case core::Entity::ImpulseInitiate:
+ case core::Entity::JumpInitiate:
+
+ if ((blink_t - floorf(blink_t)) < 0.5f) {
+ thruststr << "^B--";
+ }
+ break;
+ default:
+ thruststr << "^B--";
+ break;
}
-
+
// speed
std::ostringstream speedstr;
speedstr << "^B" << roundf(core::localcontrol()->speed() * 100.0f);