Revision 43a4ccff
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java | ||
---|---|---|
516 | 516 |
int variant = edge / numCubitsPerEdge; |
517 | 517 |
if( mEdgeMap==null ) initializeEdgeMap(); |
518 | 518 |
|
519 |
return (part==0 || cubitface==((part+1)%2)) ? mEdgeMap[variant][cubitface+2] + ((part+3)/2)*NUM_FACE_COLORS : NUM_TEXTURES;
|
|
519 |
return (part==0 || cubitface==((part+1)%2)) ? mEdgeMap[variant][cubitface+2] + ((part+5)/2)*NUM_FACE_COLORS : NUM_TEXTURES;
|
|
520 | 520 |
} |
521 | 521 |
|
522 | 522 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
523 | 523 |
|
524 |
int getCenterColor(int center, int cubitface, int numLayers)
|
|
524 |
int getCenterColor(int center, int cubitface) |
|
525 | 525 |
{ |
526 |
return cubitface>0 ? NUM_TEXTURES : center + NUM_FACE_COLORS*(numLayers+1)/2;
|
|
526 |
return cubitface>0 ? NUM_TEXTURES : center + NUM_FACE_COLORS; |
|
527 | 527 |
} |
528 | 528 |
|
529 | 529 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
546 | 546 |
else |
547 | 547 |
{ |
548 | 548 |
int center = cubit-NUM_CORNERS*numCubitsPerCorner-NUM_EDGES*numCubitsPerEdge; |
549 |
return getCenterColor( center, cubitface, numL);
|
|
549 |
return getCenterColor( center, cubitface );
|
|
550 | 550 |
} |
551 | 551 |
} |
552 | 552 |
|
... | ... | |
556 | 556 |
{ |
557 | 557 |
if( mStickers==null ) |
558 | 558 |
{ |
559 |
float[][] STICKERS = new float[][] |
|
559 |
float[][] STICKERS; |
|
560 |
int[] numLayers = getNumLayers(); |
|
561 |
int numL = numLayers[0]; |
|
562 |
|
|
563 |
if( numL==3 ) |
|
560 | 564 |
{ |
561 |
{ -0.36327127f, -0.5f, 0.36327127f, -0.26393202f, 0.36327127f, 0.5f, -0.36327127f, 0.26393202f }, |
|
562 |
{ -0.5f, -0.0914315f, 0.5f, -0.4163512f, 0.5f, 0.4163512f, -0.5f, 0.0914315f }, |
|
563 |
{ -0.49233657f, -0.18006028f, 0.49233657f, -0.5f, 0.49233657f, 0.5f, -0.49233657f, 0.18006028f }, |
|
564 |
{ -0.3002273f, -0.30490047f, 0.3002273f, -0.5f, 0.3002273f, 0.5f, -0.3002273f, 0.30490047f }, |
|
565 |
{ -0.29389262f, 0.4045085f, -0.47552824f, -0.1545085f, 0.0f, -0.5f, 0.47552824f, -0.1545085f, 0.29389262f, 0.4045085f } |
|
566 |
}; |
|
565 |
STICKERS = new float[][] |
|
566 |
{ |
|
567 |
{ -0.36327127f, -0.5f, 0.36327127f, -0.26393202f, 0.36327127f, 0.5f, -0.36327127f, 0.26393202f }, |
|
568 |
{ -0.29389262f, 0.4045085f, -0.47552824f, -0.1545085f, 0.0f, -0.5f, 0.47552824f, -0.1545085f, 0.29389262f, 0.4045085f }, |
|
569 |
{ -0.5f, -0.0914315f, 0.5f, -0.4163512f, 0.5f, 0.4163512f, -0.5f, 0.0914315f } |
|
570 |
}; |
|
571 |
} |
|
572 |
else |
|
573 |
{ |
|
574 |
STICKERS = new float[][] |
|
575 |
{ |
|
576 |
{ -0.36327127f, -0.5f, 0.36327127f, -0.26393202f, 0.36327127f, 0.5f, -0.36327127f, 0.26393202f }, |
|
577 |
{ -0.29389262f, 0.4045085f, -0.47552824f, -0.1545085f, 0.0f, -0.5f, 0.47552824f, -0.1545085f, 0.29389262f, 0.4045085f }, |
|
578 |
{ -0.49233657f, -0.18006028f, 0.49233657f, -0.5f, 0.49233657f, 0.5f, -0.49233657f, 0.18006028f }, |
|
579 |
{ -0.3002273f, -0.30490047f, 0.3002273f, -0.5f, 0.3002273f, 0.5f, -0.3002273f, 0.30490047f } |
|
580 |
}; |
|
581 |
} |
|
567 | 582 |
|
568 | 583 |
mStickers = new ObjectSticker[STICKERS.length]; |
569 | 584 |
|
570 | 585 |
final float R0 = 0.08f; |
571 |
final float R1 = 0.12f;
|
|
586 |
final float R1 = 0.10f;
|
|
572 | 587 |
final float R2 = 0.12f; |
573 | 588 |
final float R3 = 0.08f; |
574 |
final float R4 = 0.10f; |
|
575 |
final float[][] radii = { {R0,R0,R0,R0},{R1,R1,R1,R1},{R2,R2,R2,R2},{R3,R3,R3,R3},{R4,R4,R4,R4,R4} };
|
|
576 |
float[] strokes = { 0.10f,0.12f,0.12f,0.08f,0.07f };
|
|
589 |
|
|
590 |
final float[][] radii = { {R0,R0,R0,R0},{R1,R1,R1,R1,R1},{R2,R2,R2,R2},{R3,R3,R3,R3} };
|
|
591 |
float[] strokes = { 0.10f,0.065f,0.12f,0.08f };
|
|
577 | 592 |
|
578 | 593 |
if( ObjectControl.isInIconMode() ) |
579 | 594 |
{ |
580 |
int[] numLayers = getNumLayers(); |
|
581 |
float mult = numLayers[0]==3 ? 1.5f : 2.2f; |
|
595 |
float mult = numL==3 ? 1.5f : 2.2f; |
|
582 | 596 |
|
583 | 597 |
strokes[0]*=mult; |
584 | 598 |
strokes[1]*=mult; |
... | ... | |
596 | 610 |
return mStickers[sticker]; |
597 | 611 |
} |
598 | 612 |
|
599 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
600 |
|
|
601 |
protected int getStickerIndex(int face) |
|
602 |
{ |
|
603 |
int variant = face/NUM_FACE_COLORS; |
|
604 |
|
|
605 |
if( variant==0 ) return 0; |
|
606 |
|
|
607 |
int[] numLayers = getNumLayers(); |
|
608 |
int numL = numLayers[0]; |
|
609 |
|
|
610 |
if( variant < (numL+1)/2 ) |
|
611 |
{ |
|
612 |
return numL==3 ? 1 : ( variant==1 ? 2 : 3 ); |
|
613 |
} |
|
614 |
|
|
615 |
return 4; |
|
616 |
} |
|
617 |
|
|
618 | 613 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
619 | 614 |
|
620 | 615 |
public ObjectType intGetObjectType(int[] numLayers) |
Also available in: Unified diff
simplify sticker/color map.