21        ATTR_BILLBOARD_MASK = (1 << 8) - 1,
 
   23        ATTR_T_IGNORE = (1 << 27),
 
   24        ATTR_S_UNIFORM = (1 << 28),
 
   25        ATTR_ALL_S_UNIFORM = (1 << 29),
 
   26        ATTR_S_ONE = (1 << 30),
 
   27        ATTR_ALL_S_ONE = (1 << 31),
 
   31    static ResNodeData::Billboard GetBillboard(ulong attr) {
 
   32        return static_cast<ResNodeData::Billboard
>(attr & ATTR_BILLBOARD_MASK);
 
   34    static ulong SetBillboard(ulong attr, ResNodeData::Billboard billboard) {
 
   35        return (attr & ~ATTR_BILLBOARD_MASK) | billboard;
 
   38    static bool IsIgnoreTrans(ulong attr) {
 
   39        return (attr & ATTR_T_IGNORE) ? true : 
false;
 
   41    static ulong AnmIgnoreTrans(ulong attr) {
 
   42        return attr | ATTR_T_IGNORE;
 
   44    static ulong AnmNotIgnoreTrans(ulong attr) {
 
   45        return attr & ~ATTR_T_IGNORE;
 
   48    static bool IsScaleUniform(ulong attr) {
 
   49        return (attr & ATTR_S_UNIFORM) ? true : 
false;
 
   51    static ulong AnmScaleUniform(ulong attr) {
 
   52        return attr | ATTR_S_UNIFORM;
 
   54    static ulong AnmNotScaleUniform(ulong attr) {
 
   55        return attr & ~(ATTR_S_UNIFORM | ATTR_ALL_S_UNIFORM | ATTR_S_ONE |
 
   59    static bool IsAllScaleUniform(ulong attr) {
 
   60        return (attr & ATTR_ALL_S_UNIFORM) ? true : 
false;
 
   62    static ulong AnmAllScaleUniform(ulong attr) {
 
   63        return attr | ATTR_ALL_S_UNIFORM;
 
   65    static ulong AnmNotAllScaleUniform(ulong attr) {
 
   66        return attr & ~(ATTR_ALL_S_UNIFORM | ATTR_ALL_S_ONE);
 
   69    static bool IsScaleOne(ulong attr) {
 
   70        return (attr & ATTR_S_ONE) ? true : 
false;
 
   72    static ulong AnmScaleOne(ulong attr) {
 
   73        return attr | ATTR_S_ONE;
 
   75    static ulong AnmNotScaleOne(ulong attr) {
 
   76        return attr & ~(ATTR_S_ONE | ATTR_ALL_S_ONE);
 
   79    static bool IsAllScaleOne(ulong attr) {
 
   80        return (attr & ATTR_ALL_S_ONE) ? true : 
false;
 
   82    static ulong AnmAllScaleOne(ulong attr) {
 
   83        return attr | ATTR_ALL_S_ONE;
 
   85    static ulong AnmNotAllScaleOne(ulong attr) {
 
   86        return attr & ~ATTR_ALL_S_ONE;
 
   89    static ulong GetRootMtxAttr() {
 
   90        return ATTR_S_UNIFORM | ATTR_ALL_S_UNIFORM | ATTR_S_ONE |