<x-boxleft id="odo" class="cont">
<x-boxright class="clear"><span class="small" id="nav_dist">-</span><span class="tiny"> km</span></x-boxright>
<x-boxright class="clear"><span class="small" id="nav_eta">-</span><span class="tiny"> eta</span></x-boxright>
- <x-boxright class="clear">
+ <x-boxleft class="clear">
<svg width="50" height="50">
<circle cx="25" cy="25" r="22" stroke="red" stroke-width="6" fill="white" id="nav_slimitsign"/>
<text fill="#000" font-size="24" font-family="sans-serif" font-weight="normal" x="10" y="34" id="nav_slimit">---</text>
</svg>
- </x-boxright>
+ </x-boxleft>
</x-boxleft>
<x-bar class="pause" id="pause"> GAME PAUSED </x-bar>
<script>
-function dgear(x) {
- if ( x > 0 ) return 'A' + x;
+function dgear(x, m) {
+ if ( x > 0 ) return ( m ? '' : 'A' ) + x;
if ( x < 0 ) return 'R' + Math.abs(x);
return 'N';
}
document.getElementById("cctrl").innerHTML = Math.round(tele.cctrl * 3.6);
e = document.getElementById("gear");
- e.innerHTML = dgear(tele.gear_disp);
+ e.innerHTML = dgear(tele.gear_disp, tele.shifter);
if ( tele.clutch_eff > 0 )
e.classList.add("hilite");
else
write(fd, buf, sprintf( buf, " \"gear\": %d,\n", telemetry->gear ) );
write(fd, buf, sprintf( buf, " \"gear_disp\": %d,\n", telemetry->gear_disp ) );
write(fd, buf, sprintf( buf, " \"clutch_eff\": %f,\n", telemetry->clutch_eff ) );
+ write(fd, buf, sprintf( buf, " \"shifter\": %d,\n", telemetry->shifter ) );
write(fd, buf, sprintf( buf, " \"fuel\": %f,\n", telemetry->fuel ) );
write(fd, buf, sprintf( buf, " \"fuel_warn\": %d,\n", (int)telemetry->fuel_warn ) );
printf( "gear: %d\n", telemetry->gear );
printf( "gear d: %d\n", telemetry->gear_disp );
printf( "clutch eff: %.1f\n", telemetry->clutch_eff );
+ printf( "shifter: %s\n", telemetry->shifter ? "manual" : "automatic" );
printf( "fuel: %.1f l\n", telemetry->fuel );
printf( "fuel warn: %s\n", telemetry->fuel_warn ? "yes" : "no" );
int gear; // engine gear
int gear_disp; // displayed gear
float clutch_eff; // effective clutch
+ int shifter; // 0 = automatic, 1 = manual
float fuel; // fuel amount in l
bool fuel_warn; // fuel low warning
log_print("Configuration: %s\n", info->id);
for (const scs_named_value_t *current = info->attributes; current->name; ++current) {
+
+ if ( 0 == strcmp( current->name, "shifter.type" ) )
+ telemetry->shifter = !strcmp( current->value.value_string.value, "manual" );
+
+
log_print(" %s", current->name);
if (current->index != SCS_U32_NIL) {
log_print("[%u]", static_cast<unsigned>(current->index));