mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-06-02 02:01:19 +00:00
- got rid of several redundant conversion macros in the GL code. It uses the defaults from the main engine now.
- Update to ZDoom r1991: - Replaced toint/quickertoint with the portable routines from xs_Float.h. The former used fistp, which is not portable across platforms, so cannot be used in the play simulation. They were only suitable for the renderer. xs_Float.h also has a very fast float->fixed conversion, so FLOAT2FIXED uses that now. (And I also learned that the FPU's round to nearest is not the rounding I learned in grade school but actually Banker's Rounding. I had no idea.) (Also, also, the only thing that could have made quickertoint faster than toint was that it stored a 32-bit int. I never timed them, and I doubt in practice there was any real difference between the two.) git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@632 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
fe0cde0692
commit
38b5ba87cd
36 changed files with 460 additions and 301 deletions
|
@ -328,9 +328,7 @@ angle_t R_PointToAngle2 (fixed_t x1, fixed_t y1, fixed_t x, fixed_t y)
|
|||
else
|
||||
{
|
||||
// we have to use the slower but more precise floating point atan2 function here.
|
||||
// (use quickertoint to speed this up because the CRT's conversion is rather slow and
|
||||
// this is used in time critical code.)
|
||||
return quickertoint((float)(atan2f(float(y), float(x)) * (ANGLE_180/M_PI)));
|
||||
return xs_RoundToUInt(atan2(double(y), double(x)) * (ANGLE_180/M_PI));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue