Project

General

Profile

« Previous | Next » 

Revision 02d80fe6

Added by Leszek Koltunski over 2 years ago

progress with off-center objects.

View differences:

src/main/java/org/distorted/objectlib/effects/objectchange/ObjectChangeEffect.java
67 67
      }
68 68
    }
69 69

  
70
  private ObjectPreRender mPre;
71 70
  private int mDuration;
72 71
  private final int[] mEffectReturned;
73 72
  private final int[] mCubeEffectNumber, mNodeEffectNumber;
74 73
  private final int[] mEffectFinished;
75 74
  private final boolean[] mPhaseActive;
76 75

  
76
  ObjectPreRender mPre;
77 77
  TwistyObject[] mObject;
78 78
  DistortedScreen mScreen;
79 79
  Effect[][] mCubeEffects;
src/main/java/org/distorted/objectlib/effects/scramble/ScrambleEffect.java
66 66
      }
67 67
    }
68 68

  
69
  private ObjectPreRender mPre;
69

  
70 70
  private int mEffectReturned;
71 71
  private int mNumScramblesLeft;
72 72
  private int mDurationPerDegree;
......
74 74
  private int[] mBasicAngle;
75 75
  private boolean mRotReady, mPluginReady;
76 76

  
77
  ObjectPreRender mPre;
77 78
  TwistyObject mObject;
78 79
  Effect[] mNodeEffects;
79 80
  int[] mNodeEffectPosition;
src/main/java/org/distorted/objectlib/effects/solve/SolveEffect.java
65 65
      }
66 66
    }
67 67

  
68
  private ObjectPreRender mPre;
69 68
  private int mDuration;
70 69
  private int mEffectReturned;
71 70
  private final int[] mCubeEffectNumber, mNodeEffectNumber;
72 71
  private int mPhase;
73 72

  
73
  ObjectPreRender mPre;
74 74
  TwistyObject mObject;
75 75
  DistortedScreen mScreen;
76 76
  Effect[][] mCubeEffects;
src/main/java/org/distorted/objectlib/effects/win/WinEffect.java
63 63
      }
64 64
    }
65 65

  
66
  private ObjectPreRender mPre;
67 66
  private int mDuration;
68 67
  private int mEffectReturned;
69 68
  private int mCubeEffectNumber, mNodeEffectNumber;
70 69

  
70
  ObjectPreRender mPre;
71 71
  TwistyObject mObject;
72 72
  DistortedScreen mScreen;
73 73
  Effect[] mCubeEffects;
src/main/java/org/distorted/objectlib/effects/win/WinEffectGlow.java
67 67
    degreeDyn.add(new Static1D(1.5f));
68 68
    degreeDyn.add(new Static1D(1.0f));
69 69

  
70
    mNodeEffects[1] = new VertexEffectSink(degreeDyn,new Static3D(0,0,0), new Static4D(0,0,0,0.5f) );
70
    Static3D move = mPre.getMove();
71
    float moveX = move.get0();
72
    float moveY = move.get1();
73
    int width = mScreen.getWidth();
74
    int height= mScreen.getHeight();
75
    Static3D center = new Static3D(moveX/width, moveY/height, 0);
76
    float ratio = 0.5f*mObject.getRatio();
77

  
78
    mNodeEffects[1] = new VertexEffectSink(degreeDyn, center, new Static4D(0,0,0,ratio) );
71 79
    }
72 80

  
73 81
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/helpers/ObjectLibInterface.java
19 19

  
20 20
package org.distorted.objectlib.helpers;
21 21

  
22
///////////////////////////////////////////////////////////////////////////////////////////////////
23

  
24 22
import org.distorted.library.main.DistortedScreen;
25 23
import org.distorted.objectlib.main.ObjectControl;
26 24
import org.distorted.objectlib.main.ObjectType;
27 25

  
26
///////////////////////////////////////////////////////////////////////////////////////////////////
27

  
28 28
public interface ObjectLibInterface
29 29
  {
30
  // objectlib calls those in reaction to object state changing, app has to respond
30
  // objectlib calls those in reaction to object state changing, app might want to know about those
31 31
  void onWinEffectFinished(String debug, int scrambleNum);
32 32
  void onScrambleEffectFinished();
33 33
  void onBeginRotation();
src/main/java/org/distorted/objectlib/main/ObjectControl.java
554 554
    public void setMove(int xmove, int ymove)
555 555
      {
556 556
      mMove = new Static3D(xmove,ymove,0);
557
      mPreRender.setMove(mMove);
557 558
      }
558 559

  
559 560
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/main/ObjectPreRender.java
27 27
import org.distorted.library.main.DistortedScreen;
28 28
import org.distorted.library.message.EffectListener;
29 29

  
30
import org.distorted.library.type.Static3D;
30 31
import org.distorted.objectlib.helpers.ObjectLibInterface;
31 32
import org.distorted.objectlib.effects.BaseEffect;
32 33
import org.distorted.objectlib.effects.scramble.ScrambleEffect;
......
46 47
  private final BlockController mBlockController;
47 48
  private final ObjectLibInterface mInterface;
48 49
  private String mDebug;
50
  private Static3D mMove;
49 51

  
50 52
  private boolean mFinishRotation, mRemoveRotation, mRemovePatternRotation, mAddRotation,
51 53
                  mSetQuat, mChangeObject, mSolveObject, mScrambleObject,
......
85 87
    mNewObject = null;
86 88

  
87 89
    mDebug = "";
90
    mMove = new Static3D(0,0,0);
88 91

  
89 92
    mScreenWidth = 0;
90 93
    mScrambleObjectNum = 0;
......
313 316
    mSetQuat = true;
314 317
    }
315 318

  
319
///////////////////////////////////////////////////////////////////////////////////////////////////
320

  
321
  void setMove(Static3D move)
322
    {
323
    mMove = move;
324
    }
325

  
316 326
///////////////////////////////////////////////////////////////////////////////////////////////////
317 327
// INTERNAL API
318 328
///////////////////////////////////////////////////////////////////////////////////////////////////
......
329 339
    return mOldObject;
330 340
    }
331 341

  
342
///////////////////////////////////////////////////////////////////////////////////////////////////
343

  
344
  public Static3D getMove()
345
    {
346
    return mMove;
347
    }
348

  
332 349
///////////////////////////////////////////////////////////////////////////////////////////////////
333 350
// PUBLIC API
334 351
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/main/TwistyObject.java
1157 1157
    return mObjectScreenRatio*mInitScreenRatio;
1158 1158
    }
1159 1159

  
1160
///////////////////////////////////////////////////////////////////////////////////////////////////
1161

  
1162
  public float getRatio()
1163
    {
1164
    return mObjectScreenRatio;
1165
    }
1166

  
1160 1167
///////////////////////////////////////////////////////////////////////////////////////////////////
1161 1168

  
1162 1169
  boolean isSolved()

Also available in: Unified diff