Example #1
0
 public override void Initialize()
 {
   base.Initialize();
   lock (GlitchyRespawner.StaticLock)
   {
     if (GlitchyRespawner.FullbrightEffect == null)
     {
       DefaultEffect.Textured local_0 = new DefaultEffect.Textured();
       local_0.Fullbright = true;
       GlitchyRespawner.FullbrightEffect = (DefaultEffect) local_0;
     }
     if (GlitchyRespawner.CubemappedEffect == null)
       GlitchyRespawner.CubemappedEffect = new CubemappedEffect();
   }
   this.SpawnMesh = new Mesh()
   {
     SamplerState = SamplerState.PointClamp,
     DepthWrites = false,
     Effect = (BaseEffect) GlitchyRespawner.CubemappedEffect
   };
   ShaderInstancedIndexedPrimitives<VertexPositionNormalTextureInstance, Vector4> geometry = this.Instance.Trile.Geometry;
   IndexedUserPrimitives<VertexPositionNormalTextureInstance> indexedUserPrimitives = new IndexedUserPrimitives<VertexPositionNormalTextureInstance>(geometry.Vertices, geometry.Indices, geometry.PrimitiveType);
   Group group = this.SpawnMesh.AddGroup();
   group.Geometry = (IIndexedPrimitiveCollection) indexedUserPrimitives;
   group.Texture = (Texture) this.LevelMaterializer.TrilesMesh.Texture;
   if (ActorTypeExtensions.IsPickable(this.Instance.Trile.ActorSettings.Type))
     this.Instance.Phi = (float) FezMath.Round((double) this.Instance.Phi / 1.57079637050629) * 1.570796f;
   group.Rotation = Quaternion.CreateFromAxisAngle(Vector3.Up, this.Instance.Phi);
   if (this.Instance.Trile.ActorSettings.Type == ActorType.CubeShard || this.Instance.Trile.ActorSettings.Type == ActorType.SecretCube || this.Instance.Trile.ActorSettings.Type == ActorType.PieceOfHeart)
     group.Rotation = Quaternion.CreateFromAxisAngle(Vector3.Left, (float) Math.Asin(Math.Sqrt(2.0) / Math.Sqrt(3.0))) * Quaternion.CreateFromAxisAngle(Vector3.Down, 0.7853982f) * group.Rotation;
   this.Instance.Foreign = true;
   this.StarsTexture = this.CMProvider.Global.Load<Texture2D>("Other Textures/black_hole/Stars");
   if (this.EmitOrNot)
   {
     SoundEmitter soundEmitter = SoundEffectExtensions.EmitAt(this.CMProvider.Global.Load<SoundEffect>("Sounds/MiscActors/GlitchyRespawn"), this.Instance.Center);
     soundEmitter.PauseViewTransitions = true;
     soundEmitter.FactorizeVolume = true;
   }
   this.LightingPostProcess.DrawOnTopLights += new Action(this.DrawLights);
   this.LevelManager.LevelChanging += new Action(this.Kill);
 }
Example #2
0
 public override void Initialize()
 {
   base.Initialize();
   this.sBlueZoomOut = this.CMProvider.Get(CM.EndCutscene).Load<SoundEffect>("Sounds/Ending/Cutscene64/BlueZoomOut");
   this.sProgressiveAppear = this.CMProvider.Get(CM.EndCutscene).Load<SoundEffect>("Sounds/Ending/Cutscene64/CubesProgressiveAppear");
   this.sFadeOut = this.CMProvider.Get(CM.EndCutscene).Load<SoundEffect>("Sounds/Ending/Cutscene64/CubesFadeOut");
   this.LevelManager.ActualAmbient = new Color(0.25f, 0.25f, 0.25f);
   this.LevelManager.ActualDiffuse = Color.White;
   Random random = RandomHelper.Random;
   float y1 = 1f / (float) Math.Sqrt(6.0);
   float z1 = (float) Math.Sqrt(3.0) / 2f;
   float y2 = (float) Math.Sqrt(2.0 / 3.0);
   float z2 = (float) (1.0 / (2.0 * Math.Sqrt(3.0)));
   float x = 1f / (float) Math.Sqrt(2.0);
   VertexPositionNormalColor[] vertices = new VertexPositionNormalColor[864000];
   int[] indices = new int[1296000];
   int num1 = 0;
   int num2 = 0;
   for (int index1 = -100; index1 < 100; ++index1)
   {
     for (int index2 = -180; index2 < 180; ++index2)
     {
       Color color = index2 != 0 || index1 != 0 ? MulticoloredSpace.Colors[random.Next(0, MulticoloredSpace.Colors.Length)] : MulticoloredSpace.MainCubeColor;
       Vector3 vector3 = new Vector3((float) (index2 * 6), (float) (index1 * 6 + (Math.Abs(index2) % 2 == 0 ? 0 : 3)), 0.0f);
       int num3 = num1;
       VertexPositionNormalColor[] positionNormalColorArray1 = vertices;
       int index3 = num1;
       int num4 = 1;
       int num5 = index3 + num4;
       positionNormalColorArray1[index3] = new VertexPositionNormalColor(new Vector3(x, -y1, -z2) + vector3, new Vector3(-1f, 0.0f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray2 = vertices;
       int index4 = num5;
       int num6 = 1;
       int num7 = index4 + num6;
       positionNormalColorArray2[index4] = new VertexPositionNormalColor(new Vector3(x, y1, z2) + vector3, new Vector3(-1f, 0.0f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray3 = vertices;
       int index5 = num7;
       int num8 = 1;
       int num9 = index5 + num8;
       positionNormalColorArray3[index5] = new VertexPositionNormalColor(new Vector3(0.0f, 0.0f, z1) + vector3, new Vector3(-1f, 0.0f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray4 = vertices;
       int index6 = num9;
       int num10 = 1;
       int num11 = index6 + num10;
       positionNormalColorArray4[index6] = new VertexPositionNormalColor(new Vector3(0.0f, -y2, z2) + vector3, new Vector3(-1f, 0.0f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray5 = vertices;
       int index7 = num11;
       int num12 = 1;
       int num13 = index7 + num12;
       positionNormalColorArray5[index7] = new VertexPositionNormalColor(new Vector3(0.0f, -y2, z2) + vector3, new Vector3(0.0f, 0.0f, -1f), color);
       VertexPositionNormalColor[] positionNormalColorArray6 = vertices;
       int index8 = num13;
       int num14 = 1;
       int num15 = index8 + num14;
       positionNormalColorArray6[index8] = new VertexPositionNormalColor(new Vector3(0.0f, 0.0f, z1) + vector3, new Vector3(0.0f, 0.0f, -1f), color);
       VertexPositionNormalColor[] positionNormalColorArray7 = vertices;
       int index9 = num15;
       int num16 = 1;
       int num17 = index9 + num16;
       positionNormalColorArray7[index9] = new VertexPositionNormalColor(new Vector3(-x, y1, z2) + vector3, new Vector3(0.0f, 0.0f, -1f), color);
       VertexPositionNormalColor[] positionNormalColorArray8 = vertices;
       int index10 = num17;
       int num18 = 1;
       int num19 = index10 + num18;
       positionNormalColorArray8[index10] = new VertexPositionNormalColor(new Vector3(-x, -y1, -z2) + vector3, new Vector3(0.0f, 0.0f, -1f), color);
       VertexPositionNormalColor[] positionNormalColorArray9 = vertices;
       int index11 = num19;
       int num20 = 1;
       int num21 = index11 + num20;
       positionNormalColorArray9[index11] = new VertexPositionNormalColor(new Vector3(0.0f, y2, -z2) + vector3, new Vector3(0.0f, 1f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray10 = vertices;
       int index12 = num21;
       int num22 = 1;
       int num23 = index12 + num22;
       positionNormalColorArray10[index12] = new VertexPositionNormalColor(new Vector3(-x, y1, z2) + vector3, new Vector3(0.0f, 1f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray11 = vertices;
       int index13 = num23;
       int num24 = 1;
       int num25 = index13 + num24;
       positionNormalColorArray11[index13] = new VertexPositionNormalColor(new Vector3(0.0f, 0.0f, z1) + vector3, new Vector3(0.0f, 1f, 0.0f), color);
       VertexPositionNormalColor[] positionNormalColorArray12 = vertices;
       int index14 = num25;
       int num26 = 1;
       num1 = index14 + num26;
       positionNormalColorArray12[index14] = new VertexPositionNormalColor(new Vector3(x, y1, z2) + vector3, new Vector3(0.0f, 1f, 0.0f), color);
       int[] numArray1 = indices;
       int index15 = num2;
       int num27 = 1;
       int num28 = index15 + num27;
       int num29 = num3;
       numArray1[index15] = num29;
       int[] numArray2 = indices;
       int index16 = num28;
       int num30 = 1;
       int num31 = index16 + num30;
       int num32 = 2 + num3;
       numArray2[index16] = num32;
       int[] numArray3 = indices;
       int index17 = num31;
       int num33 = 1;
       int num34 = index17 + num33;
       int num35 = 1 + num3;
       numArray3[index17] = num35;
       int[] numArray4 = indices;
       int index18 = num34;
       int num36 = 1;
       int num37 = index18 + num36;
       int num38 = num3;
       numArray4[index18] = num38;
       int[] numArray5 = indices;
       int index19 = num37;
       int num39 = 1;
       int num40 = index19 + num39;
       int num41 = 3 + num3;
       numArray5[index19] = num41;
       int[] numArray6 = indices;
       int index20 = num40;
       int num42 = 1;
       int num43 = index20 + num42;
       int num44 = 2 + num3;
       numArray6[index20] = num44;
       int[] numArray7 = indices;
       int index21 = num43;
       int num45 = 1;
       int num46 = index21 + num45;
       int num47 = 4 + num3;
       numArray7[index21] = num47;
       int[] numArray8 = indices;
       int index22 = num46;
       int num48 = 1;
       int num49 = index22 + num48;
       int num50 = 6 + num3;
       numArray8[index22] = num50;
       int[] numArray9 = indices;
       int index23 = num49;
       int num51 = 1;
       int num52 = index23 + num51;
       int num53 = 5 + num3;
       numArray9[index23] = num53;
       int[] numArray10 = indices;
       int index24 = num52;
       int num54 = 1;
       int num55 = index24 + num54;
       int num56 = 4 + num3;
       numArray10[index24] = num56;
       int[] numArray11 = indices;
       int index25 = num55;
       int num57 = 1;
       int num58 = index25 + num57;
       int num59 = 7 + num3;
       numArray11[index25] = num59;
       int[] numArray12 = indices;
       int index26 = num58;
       int num60 = 1;
       int num61 = index26 + num60;
       int num62 = 6 + num3;
       numArray12[index26] = num62;
       int[] numArray13 = indices;
       int index27 = num61;
       int num63 = 1;
       int num64 = index27 + num63;
       int num65 = 8 + num3;
       numArray13[index27] = num65;
       int[] numArray14 = indices;
       int index28 = num64;
       int num66 = 1;
       int num67 = index28 + num66;
       int num68 = 10 + num3;
       numArray14[index28] = num68;
       int[] numArray15 = indices;
       int index29 = num67;
       int num69 = 1;
       int num70 = index29 + num69;
       int num71 = 9 + num3;
       numArray15[index29] = num71;
       int[] numArray16 = indices;
       int index30 = num70;
       int num72 = 1;
       int num73 = index30 + num72;
       int num74 = 8 + num3;
       numArray16[index30] = num74;
       int[] numArray17 = indices;
       int index31 = num73;
       int num75 = 1;
       int num76 = index31 + num75;
       int num77 = 11 + num3;
       numArray17[index31] = num77;
       int[] numArray18 = indices;
       int index32 = num76;
       int num78 = 1;
       num2 = index32 + num78;
       int num79 = 10 + num3;
       numArray18[index32] = num79;
     }
   }
   this.CubesMesh = new Mesh()
   {
     Effect = (BaseEffect) (this.CubesEffect = (DefaultEffect) new DefaultEffect.LitVertexColored()),
     DepthWrites = false,
     AlwaysOnTop = true
   };
   Group group = this.CubesMesh.AddGroup();
   BufferedIndexedPrimitives<VertexPositionNormalColor> indexedPrimitives = new BufferedIndexedPrimitives<VertexPositionNormalColor>(vertices, indices, PrimitiveType.TriangleList);
   indexedPrimitives.UpdateBuffers();
   indexedPrimitives.CleanUp();
   group.Geometry = (IIndexedPrimitiveCollection) indexedPrimitives;
   this.PointsMesh = new Mesh()
   {
     Effect = (BaseEffect) new PointsFromLinesEffect(),
     DepthWrites = false,
     AlwaysOnTop = true
   };
   Color[] colorArray = new Color[32640];
   Vector3[] vector3Array = new Vector3[32640];
   int index33 = 0;
   for (int index1 = -68; index1 < 68; ++index1)
   {
     for (int index2 = -120; index2 < 120; ++index2)
     {
       vector3Array[index33] = new Vector3((float) index2 / 8f, (float) ((double) index1 / 8.0 + (Math.Abs(index2) % 2 == 0 ? 0.0 : 1.0 / 16.0)), 0.0f);
       colorArray[index33++] = RandomHelper.InList<Color>(MulticoloredSpace.Colors);
     }
   }
   this.PointsMesh.AddPoints((IList<Color>) colorArray, (IEnumerable<Vector3>) vector3Array, true);
 }
Example #3
0
 public override void Initialize()
 {
   base.Initialize();
   this.LogoMesh = new Mesh()
   {
     AlwaysOnTop = true,
     DepthWrites = false,
     Blending = new BlendingMode?(BlendingMode.Alphablending),
     Effect = (BaseEffect) (this.FezEffect = (DefaultEffect) new DefaultEffect.VertexColored())
   };
   this.WireMesh = new Mesh()
   {
     DepthWrites = false,
     AlwaysOnTop = true,
     Effect = this.LogoMesh.Effect
   };
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(0.0f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(0.0f, 1f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(0.0f, 2f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(1f, 2f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(0.0f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(1f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(2f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(0.0f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(1f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(2f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(0.0f, 1f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(0.0f, 2f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(1f, 2f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(0.0f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(1f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(4f, 0.0f, 0.0f) + new Vector3(2f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(0.0f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(1f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(2f, 0.0f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(0.0f, 1f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(1f, 1f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(2f, 2f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(0.0f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(1f, 3f, 0.0f), Color.Black, false);
   this.LogoMesh.AddColoredBox(Vector3.One, new Vector3(8f, 0.0f, 0.0f) + new Vector3(2f, 3f, 0.0f), Color.Black, false);
   Group group1 = this.WireMesh.AddGroup();
   IndexedUserPrimitives<FezVertexPositionColor> indexedUserPrimitives1 = new IndexedUserPrimitives<FezVertexPositionColor>(PrimitiveType.LineList);
   group1.Geometry = (IIndexedPrimitiveCollection) indexedUserPrimitives1;
   indexedUserPrimitives1.Vertices = new FezVertexPositionColor[16]
   {
     new FezVertexPositionColor(new Vector3(0.0f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(1f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(1f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(2f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(2f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(3f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(3f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(0.0f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(0.0f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(1f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(1f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(2f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(2f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(3f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(3f, 4f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(0.0f, 4f, 1f), Color.White)
   };
   indexedUserPrimitives1.Indices = new int[50]
   {
     0,
     1,
     1,
     2,
     2,
     3,
     3,
     4,
     4,
     5,
     5,
     6,
     6,
     7,
     7,
     0,
     8,
     9,
     9,
     10,
     10,
     11,
     11,
     12,
     12,
     13,
     13,
     14,
     14,
     15,
     15,
     8,
     0,
     8,
     1,
     9,
     2,
     10,
     3,
     11,
     4,
     12,
     5,
     13,
     6,
     14,
     7,
     15,
     0,
     8
   };
   Group group2 = this.WireMesh.AddGroup();
   IndexedUserPrimitives<FezVertexPositionColor> indexedUserPrimitives2 = new IndexedUserPrimitives<FezVertexPositionColor>(PrimitiveType.LineList);
   group2.Geometry = (IIndexedPrimitiveCollection) indexedUserPrimitives2;
   indexedUserPrimitives2.Vertices = new FezVertexPositionColor[20]
   {
     new FezVertexPositionColor(new Vector3(4f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 1f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(5f, 1f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(5f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(6f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(6f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(4f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(4f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 1f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(5f, 1f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(5f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(6f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(6f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(7f, 4f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(4f, 4f, 1f), Color.White)
   };
   indexedUserPrimitives2.Indices = new int[60]
   {
     0,
     1,
     1,
     2,
     2,
     3,
     3,
     4,
     4,
     5,
     5,
     6,
     6,
     7,
     7,
     8,
     8,
     9,
     9,
     0,
     10,
     11,
     11,
     12,
     12,
     13,
     13,
     14,
     14,
     15,
     15,
     16,
     16,
     17,
     17,
     18,
     18,
     19,
     19,
     10,
     0,
     10,
     1,
     11,
     2,
     12,
     3,
     13,
     4,
     14,
     5,
     15,
     6,
     16,
     7,
     17,
     8,
     18,
     9,
     19
   };
   Group group3 = this.WireMesh.AddGroup();
   IndexedUserPrimitives<FezVertexPositionColor> indexedUserPrimitives3 = new IndexedUserPrimitives<FezVertexPositionColor>(PrimitiveType.LineList);
   group3.Geometry = (IIndexedPrimitiveCollection) indexedUserPrimitives3;
   indexedUserPrimitives3.Vertices = new FezVertexPositionColor[22]
   {
     new FezVertexPositionColor(new Vector3(8f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 0.0f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 1f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 1f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 4f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 3f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 2f, 0.0f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 0.0f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 1f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 1f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 2f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(11f, 4f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 4f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(10f, 3f, 1f), Color.White),
     new FezVertexPositionColor(new Vector3(8f, 2f, 1f), Color.White)
   };
   indexedUserPrimitives3.Indices = new int[70]
   {
     0,
     1,
     1,
     2,
     2,
     3,
     3,
     4,
     4,
     5,
     5,
     6,
     6,
     7,
     7,
     8,
     8,
     9,
     9,
     4,
     4,
     10,
     10,
     0,
     11,
     12,
     12,
     13,
     13,
     14,
     14,
     15,
     15,
     16,
     16,
     17,
     17,
     18,
     18,
     19,
     19,
     20,
     20,
     15,
     15,
     21,
     21,
     11,
     0,
     11,
     1,
     12,
     2,
     13,
     3,
     14,
     4,
     15,
     5,
     16,
     6,
     17,
     7,
     18,
     8,
     19,
     9,
     20,
     10,
     21
   };
   this.WireMesh.Position = this.LogoMesh.Position = new Vector3(-5.5f, -2f, -0.5f);
   this.WireMesh.BakeTransform<FezVertexPositionColor>();
   this.LogoMesh.BakeTransform<FezVertexPositionColor>();
   ContentManager contentManager = this.CMProvider.Get(CM.Menu);
   this.sGlitch1 = contentManager.Load<SoundEffect>("Sounds/Intro/FezLogoGlitch1");
   this.sGlitch2 = contentManager.Load<SoundEffect>("Sounds/Intro/FezLogoGlitch2");
   this.sGlitch3 = contentManager.Load<SoundEffect>("Sounds/Intro/FezLogoGlitch3");
   ServiceHelper.AddComponent((IGameComponent) (this.Starfield = new StarField(this.Game)));
   this.Starfield.Opacity = 0.0f;
   this.LogoMesh.Material.Opacity = 0.0f;
   this.untilGlitch = RandomHelper.Between(1.0 / 3.0, 1.0);
 }