Commit graph

4 commits

Author SHA1 Message Date
Christoph Oelckers
c957397573 - undid the workarounds for undefined-ness of negative shifts.
For any mainstream platform that is totally irrelevant and besides, in C++20 it will be well defined and all current compilers on the relevant platforms treat it accordingly.
This is not worth deoptimizing the code.
2020-09-01 19:47:01 +02:00
Christoph Oelckers
0cc019686d - minor optimization of m_fixed.h
Use constexpr where possible to allow using these function in static initializers.
Avoid dividing by constant values. Better multiply with the inverse which is quite a bit faster.
2020-09-01 19:37:05 +02:00
Mitchell Richters
1354d52c05 - Major cleanup of Q16.16 utilisation within games and engine.
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
f671eb622f - migrated to GZDoom's utility code. 2020-04-12 08:30:39 +02:00