| 498 | } |
| 499 | |
| 500 | float CScriptFile::ReadFloat() |
| 501 | { |
| 502 | if( file == 0 ) |
| 503 | return 0; |
| 504 | |
| 505 | unsigned char buf[4]; |
| 506 | size_t r = fread(buf, 4, 1, file); |
| 507 | if( r == 0 ) return 0; |
| 508 | |
| 509 | union conv |
| 510 | { |
| 511 | asUINT val; |
| 512 | float fp; |
| 513 | } value = { 0 }; |
| 514 | if( mostSignificantByteFirst ) |
| 515 | { |
| 516 | unsigned int n = 0; |
| 517 | for( ; n < 4; n++ ) |
| 518 | value.val |= asUINT(buf[n]) << ((3-n)*8); |
| 519 | } |
| 520 | else |
| 521 | { |
| 522 | unsigned int n = 0; |
| 523 | for( ; n < 4; n++ ) |
| 524 | value.val |= asUINT(buf[n]) << (n*8); |
| 525 | } |
| 526 | |
| 527 | return value.fp; |
| 528 | } |
| 529 | |
| 530 | double CScriptFile::ReadDouble() |
| 531 | { |
no outgoing calls
no test coverage detected