diff --git a/Source/utils/hp_mana_units.hpp b/Source/utils/hp_mana_units.hpp new file mode 100644 index 000000000..d20ed8af2 --- /dev/null +++ b/Source/utils/hp_mana_units.hpp @@ -0,0 +1,23 @@ +#pragma once + +namespace devilution { + +constexpr int HpManaFracBits = 6; +constexpr int HpManaScale = 1 << HpManaFracBits; + +constexpr int HpManaToFrac(int whole) +{ + return whole * HpManaScale; +} + +constexpr int HpManaToWhole(int frac) +{ + return frac / HpManaScale; +} + +constexpr int HpManaFromParts(int whole, int frac) +{ + return HpManaToFrac(whole) + frac; +} + +} // namespace devilution