Project

General

Profile

« Previous | Next » 

Revision 00057bb1

Added by Leszek Koltunski about 1 year ago

Make it possible to return rowBitmaps from ObjectScrambler (rather than single rows)

View differences:

src/main/java/org/distorted/objectlib/effects/present/PresentEffect.java
94 94
    addNewScramble();
95 95
    }
96 96

  
97
///////////////////////////////////////////////////////////////////////////////////////////////////
98

  
99
  private int computeRowFromBitmap(int rowBitmap)
100
    {
101
    int index = 0;
102

  
103
    while(index<32)
104
      {
105
      if( (rowBitmap&0x1) != 0 ) return index;
106
      rowBitmap>>=1;
107
      index++;
108
      }
109
    return 0;
110
    }
111

  
97 112
///////////////////////////////////////////////////////////////////////////////////////////////////
98 113

  
99 114
  private void randomizeScrambles()
......
103 118
    for(int scramble=0; scramble<mNumScrambles; scramble++)
104 119
      {
105 120
      mObject.randomizeNewScramble(mScrambles, mRnd, scramble, mNumScrambles);
106
      axis  = mScrambles[scramble][0];
107
      row   = mScrambles[scramble][1];
108
      angle = mScrambles[scramble][2];
121
      int[] s = mScrambles[scramble];
122
      axis  = s[0];
123
      row   = computeRowFromBitmap(s[1]);
124
      angle = s[2];
109 125
      absAngle = (angle<0 ? -angle : angle);
110 126
      basicDegrees = 360/mBasicAngle[axis][row];
111 127
      totalDegrees += absAngle*basicDegrees;
......
175 191

  
176 192
    if( !forward ) angle = -angle;
177 193

  
178
    mPre.addRotation(this, axis, (1<<row), angle, mDurationPerDegree);
194
    mPre.addRotation(this, axis, row, angle, mDurationPerDegree);
179 195

  
180 196
    if( forward ) mCurrScramble++;
181 197

  

Also available in: Unified diff