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_FLOAT:
|
||||
val = _in_message[i].offset + strtof(p1, 0) * _in_message[i].factor;
|
||||
_in_message[i].prop->setFloatValue((float)val);
|
||||
break;
|
||||
|
||||
case FG_DOUBLE:
|
||||
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;
|
||||
|
||||
default: // SG_STRING
|
||||
|
|
Loading…
Reference in a new issue