Project

General

Profile

« Previous | Next » 

Revision c0266cb1

Added by Leszek Koltunski about 1 year ago

Tablebase-based scrambling.

View differences:

src/main/java/org/distorted/objectlib/effects/scramble/ScrambleEffect.java
95 95
    for(int scramble=0; scramble<mNumScramblesLeft; scramble++)
96 96
      {
97 97
      mObject.randomizeNewScramble(mScrambles, mRnd, scramble, numScrambles);
98
      axis  = mScrambles[scramble][0];
99
      row   = mScrambles[scramble][1];
100
      angle = mScrambles[scramble][2];
98
      int[] s = mScrambles[scramble];
99
      axis  = s[0];
100
      row   = s[1];
101
      angle = s[2];
101 102
      absAngle = (angle<0 ? -angle : angle);
102 103
      basicDegrees = 360/mBasicAngle[axis][row];
103 104
      totalDegrees += absAngle*basicDegrees;
104 105
      }
105 106

  
107
    // tablebase scrambling can return a scramble which is shorter than requested,
108
    // padding the end with three 0s. Take note of that.
109
    for(int scramble=0; scramble<mNumScramblesLeft; scramble++)
110
      {
111
      int[] s = mScrambles[scramble];
112
      if( s[0]==0 && s[1]==0 && s[2]==0 ) mNumScramblesLeft = scramble;
113
      }
114

  
106 115
    mDurationPerDegree = duration/totalDegrees;
107 116
    mNumScrambles = 0;
108 117

  

Also available in: Unified diff