// Version and flag constants:
const TELE_VERSION = 1;
const TELE_FLAG_ALIVE = 1;
+const MINUS_1_U32 = 4294967295; // minus one as 32 bit unsigned int
// Timestamp of last activity, used for NoSleep timeout:
var last_active = tnow();
var last_fuel = -1;
var last_odometer = -1;
+// Used to check if delivery time needs update:
+var last_deltime = -1;
+
// State of telemetry saved from the last update cycle:
var last_tele = null;
warn( next_rest, tele.next_rest < 60 ? 2 : tele.next_rest < 99 ? 1 : 0 );
}
// remaining time until job delivery date:
- if ( !last_tele || last_tele.job_deltime != tele.job_deltime || last_tele.job_isvalid != tele.job_isvalid ) {
- job_ttd.innerHTML =
- tele.job_isvalid
- ? tele.job_deltime != 4294967295
- ? m2hm(tele.job_deltime - tele.game_time)
- : '<span class="special">[external]</span>'
- : '-'
+ if ( tele.job_isvalid ) {
+ if ( tele.job_deltime != MINUS_1_U32 ) {
+ var deltime = tele.job_deltime - tele.game_time;
+ if ( last_deltime != deltime ) {
+ job_ttd.innerHTML = m2hm( deltime );
+ last_deltime = deltime;
+ }
+ }
+ else if ( !last_tele || last_tele.job_deltime != tele.job_deltime )
+ job_ttd.innerHTML = '<span class="special">[external]</span>'
}
+ else if ( !last_tele || last_tele.job_isvalid )
+ job_ttd.innerHTML = '-';
//// "job" box