Project

General

Profile

« Previous | Next » 

Revision 43a4ccff

Added by Leszek Koltunski over 2 years ago

simplify sticker/color map.

View differences:

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