Handle "double" type fields correctly for ascii input data. Previously double
data was being down-cast to float and the loss of precision impacted data types like lon/lat positions dramatically, preventing smooth replay of data.
This commit is contained in:
parent
d09c0ec8b9
commit
bf423ef0ca
1 changed files with 5 additions and 1 deletions
|
@ -378,9 +378,13 @@ bool FGGeneric::parse_message_ascii() {
|
||||||
|
|
||||||
case FG_FIXED:
|
case FG_FIXED:
|
||||||
case FG_FLOAT:
|
case FG_FLOAT:
|
||||||
|
val = _in_message[i].offset + strtof(p1, 0) * _in_message[i].factor;
|
||||||
|
_in_message[i].prop->setFloatValue((float)val);
|
||||||
|
break;
|
||||||
|
|
||||||
case FG_DOUBLE:
|
case FG_DOUBLE:
|
||||||
val = _in_message[i].offset + strtod(p1, 0) * _in_message[i].factor;
|
val = _in_message[i].offset + strtod(p1, 0) * _in_message[i].factor;
|
||||||
_in_message[i].prop->setFloatValue((float)val);
|
_in_message[i].prop->setDoubleValue(val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: // SG_STRING
|
default: // SG_STRING
|
||||||
|
|
Loading…
Reference in a new issue