Correcting MSVC warning C4800

Whenever you coerce a non-bool type to a bool, you get a 'performance warning'.  This is because a simple truncation cannot be done when you coerce to bool; a test against zero has to be done first, and then the result used to set the boolean value either to "true" or "false".