Game Development Community

ObjectTypes.h warning C4293

by Brian Kirchgessner · in Torque Game Engine · 02/06/2008 (5:52 am) · 2 replies

Help!!!!
I am trying to add pathed interiors to my project so I can take advantage of the transparent interiors, I would like to Know if anyone has gotten this warning before?

1>../engine\game/objectTypes.h(74) : warning C4293: '<<' : shift count negative or too big, undefined behavior

Can anyone explain to me how I can fix it

Ive got these resources

TerrainDeformerObjectType = BIT(7), <---------Replaced with Atlas Terrain mark in 1.5.2
PathedInteriorType = BIT(29), <----------the one I just put in
ClimableItemObjectType = BIT(30),
LaserProjectileObjectType = BIT(31),
fxReplicatorBlockerObjectType = BIT(32) <----The one giving the warning

If I need to ignore it just tell me, It just slightly worries me because I get it all the way threw the compiling process, like fifteen sixteen time.

Thanks

#1
02/06/2008 (7:43 am)
Sounds like to me the BIT macro is defined as:

#define BIT(a) (U32)(1 << a)

Which means attempting to bit shift an unsigned 32bit variable/number by 32 bits will be zero.
Keep in mind for unsigned 32bit variables the range of bit shifting is 0 through 31 (shifting by 0 will do nothing). So, in order to fix this problem pick a new bit number below 32 that is available.
#2
02/06/2008 (8:01 am)
Thats my problem ive used all the bit variables, all numbers below 31 are used by other resources that we are using in our game.