* Replaced bool with a type of explicit fixed width.
authorUrban Wallasch <urban.wallasch@freenet.de>
Fri, 9 Aug 2019 07:57:01 +0000 (09:57 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Fri, 9 Aug 2019 07:57:01 +0000 (09:57 +0200)
* Renamed placement_available to placement_isvalid.
* Added missing placement_isvalid variable to JSON output.

tele2json.c
telemetry.h
teleshmem.cpp

index c5abdb23a63c2ed025a82597fa8f6451939b23ee..752fbfeaa2ce6f131317e746bba41d5b0edcfb42 100644 (file)
@@ -20,10 +20,11 @@ size_t tele2json( char *buf, size_t size, const struct telemetry_state_t *tele )
     n += snprintf( buf+n, size-n, "  \"game_minor_ver\": %"PRIu32",\n", tele->game_minor_ver ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"game_ver_warn\": %"PRIu32",\n", (int)tele->game_ver_warn ); CHKSIZE;
 
-    n += snprintf( buf+n, size-n, "  \"paused\": %"PRIi32",\n", (int)tele->paused ); CHKSIZE;
+    n += snprintf( buf+n, size-n, "  \"paused\": %"PRIu8",\n", tele->paused ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"timestamp\": %"PRIu64",\n", tele->timestamp ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"game_time\": %"PRIu32",\n", tele->game_time ); CHKSIZE;
 
+    n += snprintf( buf+n, size-n, "  \"placement_isvalid\": %"PRIu8",\n", tele->placement_isvalid ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"x\": %.12f,\n", tele->x ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"y\": %.12f,\n", tele->y ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"z\": %.12f,\n", tele->z ); CHKSIZE;
@@ -42,7 +43,7 @@ size_t tele2json( char *buf, size_t size, const struct telemetry_state_t *tele )
     n += snprintf( buf+n, size-n, "  \"shifter\": %"PRIi32",\n", tele->shifter ); CHKSIZE;
 
     n += snprintf( buf+n, size-n, "  \"fuel\": %.12f,\n", tele->fuel ); CHKSIZE;
-    n += snprintf( buf+n, size-n, "  \"fuel_warn\": %"PRIi32",\n", (int)tele->fuel_warn ); CHKSIZE;
+    n += snprintf( buf+n, size-n, "  \"fuel_warn\": %"PRIu8",\n", tele->fuel_warn ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"fuel_avg\": %.12f,\n", tele->fuel_avg ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"fuel_range\": %.12f,\n", tele->fuel_range ); CHKSIZE;
 
@@ -57,7 +58,7 @@ size_t tele2json( char *buf, size_t size, const struct telemetry_state_t *tele )
 
     n += snprintf( buf+n, size-n, "  \"trailer_cnt\": %"PRIu32",\n", tele->trailer_cnt ); CHKSIZE;
 
-    n += snprintf( buf+n, size-n, "  \"job_isvalid\": %"PRIi32",\n", (int)tele->job_isvalid ); CHKSIZE;
+    n += snprintf( buf+n, size-n, "  \"job_isvalid\": %"PRIu8",\n", tele->job_isvalid ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"job_deltime\": %"PRIu32",\n", tele->job_deltime ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"job_income\": %"PRIu64",\n", tele->job_income ); CHKSIZE;
     n += snprintf( buf+n, size-n, "  \"job_cargo_mass\": %.12f,\n", tele->job_cargo_mass ); CHKSIZE;
index 9a3238bb858dd5ad1d8345347d0f524a7052f0ec..0f626350c1710c16fa877fa77f179c70ab019ee1 100644 (file)
@@ -12,6 +12,8 @@
 
 #define TELE_FLAG_ALIVE 0x0001U
 
+typedef uint8_t bool_t;
+
 struct telemetry_state_t {
     uint32_t version;
     uint32_t flags;
@@ -19,8 +21,8 @@ struct telemetry_state_t {
     char game_id[10];
     uint32_t game_major_ver;
     uint32_t game_minor_ver;
-    bool     game_ver_warn;
-    bool     paused;
+    bool_t   game_ver_warn;
+    bool_t   paused;
 
     uint64_t timestamp;
     uint64_t raw_rendering_timestamp;
@@ -30,7 +32,7 @@ struct telemetry_state_t {
     uint32_t game_time; // minutes since beginning of first in-game day
 
     // truck placement and orientation
-    bool     placement_available;
+    bool_t   placement_isvalid;
     double   x;
     double   y;
     double   z;
@@ -48,7 +50,7 @@ struct telemetry_state_t {
     int32_t  shifter;    // 0 = automatic, 1 = manual
 
     double   fuel;       // fuel amount in l
-    bool     fuel_warn;  // fuel low warning
+    bool_t   fuel_warn;  // fuel low warning
     double   fuel_avg;   // fuel consumption average in l/km
     double   fuel_range; // estimated range in km
 
@@ -62,7 +64,7 @@ struct telemetry_state_t {
     char     truck_name[TELE_STRLEN];  // truck model name
     uint32_t truck_fwd_gear_cnt;       // truck number of forward gears
 
-    bool     job_isvalid; // job info is current, i.e. job is in progress
+    bool_t   job_isvalid; // job info is current, i.e. job is in progress
     uint32_t job_deltime; // job deadline in minutes (see game_time)
     uint64_t job_income;  // job reward without penalties in in-game currency
     double   job_cargo_mass; // cargo mass in kg
index ed6faf9452dc16313055a77c111058832f88d178..2e23dc63f0eea250004af3fc636c7139e2c0fe17 100644 (file)
@@ -416,10 +416,10 @@ SCSAPI_VOID telemetry_store_dplacement(const scs_string_t name, const scs_u32_t
     // This callback was registered with the SCS_TELEMETRY_CHANNEL_FLAG_no_value flag
     // so it is called even when the value is not available.
     if ( !value || value->type != SCS_VALUE_TYPE_dplacement ) {
-        tele->placement_available = false;
+        tele->placement_isvalid = false;
         return;
     }
-    tele->placement_available = true;
+    tele->placement_isvalid = true;
     tele->x = value->value_dplacement.position.x;
     tele->y = value->value_dplacement.position.y;
     tele->z = value->value_dplacement.position.z;