Added penalty floating point packer/unpacker
Switch from using ifdef to using if(Defined) which is less likely to hide compile time errors