Revision 00057bb1
Added by Leszek Koltunski about 1 year ago
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
Make it possible to return rowBitmaps from ObjectScrambler (rather than single rows)