here I am again with another question
The following code produces a warning which says "Implicit conversion changed sign of value":
if ( ( G_PointContents( spawn.origin ) & CONTENTS_NODROP ) != 0 ) ...
G_PointContents's declaration is:
int G_PointContents( const Vec3 &in origin )
and CONTENTS_NODROP is an enum. Changing the line to read:
if ( ( G_PointContents( spawn.origin ) & uint( CONTENTS_NODROP ) ) != 0 )
fixes the warning. Why casting an enum to unsigned int fixes the warning, while G_PointContents is obviously a signed integer?