= 'A' && character <= 'Z') character += 'a' - 'A'; else if (character == '\\') character = (byte)'/'; key += character; key += (key << 10); //lint !e701 key ^= (key >> 6); //lint !e702 } key += (key << 3); //lint !e701 key ^= (key >> 11); //lint !e702 key += (key << 15); //lint !e701 // The original swat code did several tests at this point to make // sure that the resulting value was representable as a valid // floating-point number (not a negative zero, or a NaN or Inf) // and also reserved a nonzero value to indicate a bad key. // We don't do this here for generality but the caller could // obviously add such checks again in higher-level code. return key;}]]> #ifndef PICKUP_IDS_H #define PICKUP_IDS_H namespace PickupIds { enum PickupType { _TYPE, NUM_PICKUP_TYPES }; enum PickupHash { PICKUP_INVALID_ID = 0, _ID = u, }; extern PickupHash PickupHashes[NUM_PICKUP_TYPES]; extern char* PickupNames[NUM_PICKUP_TYPES]; } #endif // PICKUP_IDS_H