public void FixRelativePathsInRunSettingsShouldExpandEnvironmentVariable()
        {
            try {
                Environment.SetEnvironmentVariable("TEST_TEMP", Path.GetTempPath());
                // using TEST_TEMP because TMP or TEMP, or HOME are not defined across all tested OSes
                // Using \\ instead of platform specifc path separator does not matter, because the paths are not interpreted by the OS.
                var runSettingsXML = "<RunSettings><RunConfiguration><ResultsDirectory>%TEST_TEMP%\\results</ResultsDirectory></RunConfiguration></RunSettings>";

                var doc = new XmlDocument();
                doc.LoadXml(runSettingsXML);

                var currentAssemblyLocation = typeof(ClientUtilitiesTests).GetTypeInfo().Assembly.Location;

                ClientUtilities.FixRelativePathsInRunSettings(doc, currentAssemblyLocation);

                var finalSettingsXml = doc.OuterXml;

                var expectedPath = $"{Environment.GetEnvironmentVariable("TEST_TEMP")}\\results";

                var expectedSettingsXml = string.Concat(
                    "<RunSettings><RunConfiguration><ResultsDirectory>",
                    expectedPath,
                    "</ResultsDirectory></RunConfiguration><RunSettingsDirectory>",
                    Path.GetDirectoryName(currentAssemblyLocation),
                    "</RunSettingsDirectory></RunSettings>");

                Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
            }
            finally {
                Environment.SetEnvironmentVariable("TEST_TEMP", null);
            }
        }
Exemple #2
0
        public override void Render()
        {
            if (!Visible)
            {
                return;
            }
            TheClient.SetEnts();
            BEPUutilities.RigidTransform rt = new BEPUutilities.RigidTransform(GetPosition().ToBVector(), GetOrientation());
            BEPUutilities.Vector3        bmin;
            BEPUutilities.Vector3        bmax;
            BEPUutilities.RigidTransform.Transform(ref ModelMin, ref rt, out bmin);
            BEPUutilities.RigidTransform.Transform(ref ModelMax, ref rt, out bmax);
            if (TheClient.MainWorldView.CFrust != null && !TheClient.MainWorldView.CFrust.ContainsBox(bmin, bmax))
            {
                return;
            }
            Matrix4d orient = GetOrientationMatrix();
            Matrix4d mat    = (Matrix4d.Scale(ClientUtilities.ConvertD(scale)) * orient * Matrix4d.CreateTranslation(ClientUtilities.ConvertD(GetPosition())));

            TheClient.MainWorldView.SetMatrix(2, mat);
            TheClient.Rendering.SetMinimumLight(0.0f);
            if (model.Meshes[0].vbo.Tex == null)
            {
                TheClient.Textures.White.Bind();
            }
            model.Draw(); // TODO: Animation?
        }
Exemple #3
0
 public void Create()
 {
     if (!Exists)
     {
         Src = AL.GenSource();
         AL.Source(Src, ALSourcei.Buffer, Effect.Internal);
         AL.Source(Src, ALSourceb.Looping, Loop);
         if (Pitch != 1f)
         {
             UpdatePitch();
         }
         if (Gain != 1f)
         {
             UpdateGain();
         }
         if (!Position.IsNaN())
         {
             Vector3 zero = Vector3.Zero;
             Vector3 vec  = ClientUtilities.Convert(Position);
             AL.Source(Src, ALSource3f.Direction, ref zero);
             AL.Source(Src, ALSource3f.Velocity, ref zero);
             AL.Source(Src, ALSource3f.Position, ref vec);
             AL.Source(Src, ALSourceb.SourceRelative, false);
             AL.Source(Src, ALSourcef.EfxAirAbsorptionFactor, 1f);
         }
         else
         {
             AL.Source(Src, ALSourceb.SourceRelative, true);
         }
         Exists = true;
     }
 }
Exemple #4
0
        public void SquishGrassSwing(Vector4 swinger)
        {
            if (!TheClient.CVars.r_compute.ValueB)
            {
                return;
            }
            Location spos    = new Location(swinger.X, swinger.Y, swinger.Z);
            double   maxdist = (swinger.W + Chunk.CHUNK_SIZE) * (swinger.W + Chunk.CHUNK_SIZE) * 4;

            GL.UseProgram(Shader_Compute_Grass_Swing);
            foreach (Chunk chk in LoadedChunks.Values)
            {
                Location cwor = chk.WorldPosition.ToLocation() * Chunk.CHUNK_SIZE;
                Location wpos = cwor + new Location(Chunk.CHUNK_SIZE * 0.5);
                if (chk.Plant_C > 0 && chk.Plant_VAO > 0 && wpos.DistanceSquared(spos) < maxdist)
                {
                    Location relp = spos - cwor;
                    GL.Uniform1(11, (uint)chk.Plant_C);
                    GL.Uniform4(12, new Vector4(ClientUtilities.Convert(relp), swinger.W));
                    GL.Uniform1(13, (float)GlobalTickTimeLocal);
                    GL.Uniform1(14, (float)Delta);
                    GL.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, 1, chk.Plant_VBO_Pos);
                    GL.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, 2, chk.Plant_VBO_Tcs);
                    GL.DispatchCompute(chk.Plant_C / 90 + 1, 1, 1);
                }
            }
            GL.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, 1, 0);
            GL.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, 2, 0);
            GraphicsUtil.CheckError("Squishing Grass");
        }
Exemple #5
0
 public override void Render()
 {
     if (!Visible || model.Meshes.Count == 0)
     {
         return;
     }
     TheClient.SetEnts();
     RigidTransform rt = new RigidTransform(Body.Position, Body.Orientation);
     BEPUutilities.Vector3 bmin;
     BEPUutilities.Vector3 bmax;
     RigidTransform.Transform(ref ModelMin, ref rt, out bmin);
     RigidTransform.Transform(ref ModelMax, ref rt, out bmax);
     if (TheClient.MainWorldView.CFrust != null && !TheClient.MainWorldView.CFrust.ContainsBox(bmin, bmax))
     {
         return;
     }
     Matrix4d orient = GetOrientationMatrix();
     Matrix4d mat = transform * (Matrix4d.Scale(ClientUtilities.ConvertD(scale)) * orient * Matrix4d.CreateTranslation(ClientUtilities.ConvertD(GetPosition())));
     TheClient.MainWorldView.SetMatrix(2, mat);
     TheClient.Rendering.SetMinimumLight(0.0f);
     if (model.Meshes[0].vbo.Tex == null)
     {
         TheClient.Textures.White.Bind();
     }
     if (TheClient.CVars.r_fast.ValueB || !TheClient.CVars.r_lighting.ValueB)
     {
         OpenTK.Vector4 sadj = TheRegion.GetSunAdjust();
         float skyl = TheRegion.GetSkyLightBase(GetPosition() + new Location(0, 0, ModelMax.Z));
         TheClient.Rendering.SetColor(new OpenTK.Vector4(sadj.X * skyl, sadj.Y * skyl, sadj.Z * skyl, 1.0f));
     }
     model.Draw(); // TODO: Animation(s)?
 }
        public async Task GivenUserIdIsNotAuthorizedUser_ReturnUnauthorizedStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync("Moderator");

            var command = new UpdatePetCommand
            {
                Name         = "Wau",
                Age          = 5,
                Gender       = Domain.Enums.Gender.Male,
                Weight       = 0.2,
                Height       = 0.3,
                IsSterilized = true,
                Description  = "Something about",
                PhotoCode    = "",
                CategoryId   = 1,
                UserId       = 4
            };

            var content = ClientUtilities.GetRequestContent(command);

            var validPetId = 1;

            var response = await client.PutAsync($"/api/pets/{validPetId}", content);

            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }
Exemple #7
0
        private IXPathNavigable GetRunSettingsDocument(string runSettingsFile)
        {
            IXPathNavigable runSettingsDocument;

            if (!MSTestSettingsUtilities.IsLegacyTestSettingsFile(runSettingsFile))
            {
                using (XmlReader reader = this.GetReaderForFile(runSettingsFile))
                {
                    var settingsDocument = new XmlDocument();
                    settingsDocument.Load(reader);
                    ClientUtilities.FixRelativePathsInRunSettings(settingsDocument, runSettingsFile);
#if NET451
                    runSettingsDocument = settingsDocument;
#else
                    runSettingsDocument = settingsDocument.ToXPathNavigable();
#endif
                }
            }
            else
            {
                runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings();
                runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument, Architecture.X86, FrameworkVersion.Framework45);
            }

            return(runSettingsDocument);
        }
        public void PublishDealbreakerEvent(Player thief, Player victim, List <Card> monopoly)
        {
            PropertyType monopolyColor = ClientUtilities.GetCardListColor(monopoly);
            string       eventLine     = $"{thief.Name} would like to steal the {monopolyColor.ToString()} monopoly from {victim.Name}";

            this.PublishEvent(eventLine);
        }
Exemple #9
0
        public void FixRelativePathsInRunSettingsShouldExpandEnvironmentVariable()
        {
            var runSettingsXML = "<RunSettings><RunConfiguration><ResultsDirectory>%temp%\\results</ResultsDirectory></RunConfiguration></RunSettings>";

            var doc = new XmlDocument();

            doc.LoadXml(runSettingsXML);

            var currentAssemblyLocation = typeof(ClientUtilitiesTests).GetTypeInfo().Assembly.Location;

            ClientUtilities.FixRelativePathsInRunSettings(doc, currentAssemblyLocation);

            var finalSettingsXml = doc.OuterXml;

            var expectedPath = Environment.ExpandEnvironmentVariables("%temp%\\results");

            var expectedSettingsXml = string.Concat(
                "<RunSettings><RunConfiguration><ResultsDirectory>",
                expectedPath,
                "</ResultsDirectory></RunConfiguration><RunSettingsDirectory>",
                Path.GetDirectoryName(currentAssemblyLocation),
                "</RunSettingsDirectory></RunSettings>");

            Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
        }
Exemple #10
0
        public void FixRelativePathsInRunSettingsShouldModifyRelativeTestSettingsFilePath()
        {
            var runSettingsXML = "<RunSettings><MSTest><SettingsFile>..\\remote.testsettings</SettingsFile></MSTest></RunSettings>";

            var doc = new XmlDocument();

            doc.LoadXml(runSettingsXML);

            var currentAssemblyLocation = typeof(ClientUtilitiesTests).GetTypeInfo().Assembly.Location;

            ClientUtilities.FixRelativePathsInRunSettings(doc, currentAssemblyLocation);

            var finalSettingsXml = doc.OuterXml;

            var expectedPath = Path.GetFullPath(Path.Combine(
                                                    Path.GetDirectoryName(currentAssemblyLocation), "..\\remote.testsettings"));
            var expectedSettingsXml = string.Concat(
                "<RunSettings><MSTest><SettingsFile>",
                expectedPath,
                "</SettingsFile></MSTest><RunSettingsDirectory>",
                Path.GetDirectoryName(currentAssemblyLocation),
                "</RunSettingsDirectory></RunSettings>");

            Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
        }
Exemple #11
0
        public void DrawLOD(Location pos)
        {
            if (LODHelper == null)
            {
                return;
            }
            Vector3 vpos = ClientUtilities.Convert(pos - Engine.TheClient.MainWorldView.RenderRelative);

            GL.BindTexture(TextureTarget.Texture2D, LODHelper[0]);
            Vector3 wid  = ClientUtilities.Convert(LODBox.Max - LODBox.Min);
            Vector3 offs = new Vector3(-0.5f, -0.5f, 0f);
            Matrix4 off1 = Matrix4.CreateTranslation(offs);

            //Matrix4 off2 = Matrix4.CreateTranslation(-offs);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.X, wid.Z, 1f) * Matrix4.CreateRotationX((float)Math.PI * 0.5f) * Matrix4.CreateRotationZ((float)Math.PI * 0.25f) * Matrix4.CreateTranslation(vpos));
            GL.BindTexture(TextureTarget.Texture2D, LODHelper[1]);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.X, wid.Z, 1f) * Matrix4.CreateRotationX((float)Math.PI * 0.5f) * Matrix4.CreateRotationZ((float)Math.PI * 0.75f) * Matrix4.CreateTranslation(vpos));
            GL.BindTexture(TextureTarget.Texture2D, LODHelper[2]);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.Y, wid.Z, 1f) * Matrix4.CreateRotationX((float)Math.PI * 0.5f) * Matrix4.CreateRotationZ((float)Math.PI * -0.25f) * Matrix4.CreateTranslation(vpos));
            GL.BindTexture(TextureTarget.Texture2D, LODHelper[3]);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.Y, wid.Z, 1f) * Matrix4.CreateRotationX((float)Math.PI * 0.5f) * Matrix4.CreateRotationZ((float)Math.PI * -0.75f) * Matrix4.CreateTranslation(vpos));
            GL.BindTexture(TextureTarget.Texture2D, LODHelper[4]);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.Z, wid.X, 1f) * Matrix4.CreateTranslation(vpos + new Vector3(0, 0, (float)LODBox.Max.Z)));
            GL.BindTexture(TextureTarget.Texture2D, LODHelper[5]);
            Engine.TheClient.Rendering.RenderRectangle3D(off1 * Matrix4.CreateScale(wid.Z, wid.X, 1f) * Matrix4.CreateRotationX((float)Math.PI) * Matrix4.CreateTranslation(vpos + new Vector3(0, 0, (float)LODBox.Max.Z)));
            GL.BindTexture(TextureTarget.Texture2D, 0);
        }
Exemple #12
0
 public override void Reposition(Location pos)
 {
     EyePos = pos;
     InternalLights[0].NeedsUpdate = true;
     InternalLights[0].eye         = ClientUtilities.ConvertD(EyePos);
     InternalLights[0].target      = ClientUtilities.ConvertD(EyePos + Direction);
 }
Exemple #13
0
 public void RenderGrass()
 {
     if (TheClient.MainWorldView.FBOid == FBOID.FORWARD_SOLID)
     {
         TheClient.s_forw_grass = TheClient.s_forw_grass.Bind();
     }
     else if (TheClient.MainWorldView.FBOid == FBOID.MAIN)
     {
         TheClient.s_fbo_grass = TheClient.s_fbo_grass.Bind();
     }
     else
     {
         return;
     }
     TheClient.Textures.GetTexture("blocks/transparent/tallgrass").Bind(); // TODO: Cache!
     GL.UniformMatrix4(1, false, ref TheClient.MainWorldView.PrimaryMatrix);
     GL.Uniform1(6, (float)GlobalTickTimeLocal);
     GL.Uniform3(7, ClientUtilities.Convert(ActualWind));
     TheClient.Rendering.SetColor(GetSunAdjust());
     foreach (Chunk chunk in chToRender)
     {
         if (chunk.Plant_VAO != -1)
         {
             Matrix4d mat = Matrix4d.CreateTranslation(ClientUtilities.ConvertD(chunk.WorldPosition.ToLocation() * Chunk.CHUNK_SIZE));
             TheClient.MainWorldView.SetMatrix(2, mat);
             GL.BindVertexArray(chunk.Plant_VAO);
             GL.DrawElements(PrimitiveType.Points, chunk.Plant_C, DrawElementsType.UnsignedInt, IntPtr.Zero);
         }
     }
     TheClient.isVox = true;
     TheClient.SetEnts();
 }
Exemple #14
0
        public int RenderSide(int side, Model model, AABB box, int fbo, Vector3 forw, Vector3 up, Matrix4d ortho)
        {
            int tex = GL.GenTexture();

            GL.ActiveTexture(TextureUnit.Texture0);
            GL.BindTexture(TextureTarget.Texture2D, tex);
            GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, TWIDTH, TWIDTH, 0, PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge);
            GL.BindTexture(TextureTarget.Texture2D, 0);
            GL.BindFramebuffer(FramebufferTarget.Framebuffer, fbo);
            GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, tex, 0);
            GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthAttachment, TextureTarget.Texture2D, DepthTex, 0);
            GL.ClearBuffer(ClearBuffer.Color, 0, new float[] { 0f, 0f, 0f, 1f }); // TODO: Swap 1f to 0f when the model is placed more correctly
            GL.ClearBuffer(ClearBuffer.Depth, 0, new float[] { 1f });
            Matrix4 view = Matrix4.LookAt(Vector3.Zero, forw, up);
            Matrix4 mat  = view * ClientUtilities.Convert(ortho);

            TheClient.s_forw.Bind();
            GL.UniformMatrix4(1, false, ref mat);
            GL.UniformMatrix4(2, false, ref View3D.IdentityMatrix);
            GL.Uniform4(3, Vector4.One);
            GL.Uniform4(12, Vector4.Zero);
            model.Draw();
            TheClient.s_forw_trans.Bind();
            GL.UniformMatrix4(1, false, ref mat);
            GL.UniformMatrix4(2, false, ref View3D.IdentityMatrix);
            GL.Uniform4(3, Vector4.One);
            GL.Uniform4(12, Vector4.Zero);
            model.Draw();
            GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0);
            return(tex);
        }
Exemple #15
0
    public static void CallQuoteService(string ticker, string quoteType, DateTime?date)
    {
        SqlDataRecord record = new SqlDataRecord(
            new SqlMetaData("Ticker", SqlDbType.VarChar, 20),
            new SqlMetaData("Date", SqlDbType.DateTime, -1),
            new SqlMetaData("Open", SqlDbType.Decimal, -1),
            new SqlMetaData("Close", SqlDbType.Decimal, -1),
            new SqlMetaData("High", SqlDbType.Decimal, -1),
            new SqlMetaData("Low", SqlDbType.Decimal, -1),
            new SqlMetaData("Wap", SqlDbType.Decimal, -1),
            new SqlMetaData("Volume", SqlDbType.BigInt, -1),
            new SqlMetaData("ErrorMessage", SqlDbType.VarChar, -1)
            );

        try
        {
            SqlPipe sqlPip = SqlContext.Pipe;
            var     result = ClientUtilities.GetQuote(ticker, quoteType, date.Value);
            record.SetString(0, result.Ticker);
            record.SetDateTime(1, result.Date);
            record.SetDecimal(2, (decimal)result.Open);
            record.SetDecimal(3, (decimal)result.Close);
            record.SetDecimal(4, (decimal)result.High);
            record.SetDecimal(5, (decimal)result.Low);
            record.SetDecimal(6, (decimal)result.Wap);
            record.SetInt64(7, result.Volume);
            record.SetString(8, result.ErrorMessage);
            SqlContext.Pipe.Send(record);
        }
        catch (Exception ex)
        {
            record.SetString(8, ex.Message);
            SqlContext.Pipe.Send(record);
        }
    }
Exemple #16
0
 public void Create()
 {
     if (!Exists)
     {
         if (Engine.AudioInternal != null)
         {
             AudioInternal = new LiveAudioInstance()
             {
                 Clip     = Effect.Clip,
                 Gain     = Gain,
                 Loop     = Loop,
                 Pitch    = Pitch,
                 Position = Position,
                 Velocity = Location.Zero, // TODO: Velocity!
                 // TODO: Direction?
                 UsePosition = !Position.IsNaN()
             };
         }
         else
         {
             Engine.CheckError("PRECREATE:" + Effect.Name);
             Src = AL.GenSource();
             if (Src < 0 || AL.GetError() != ALError.NoError)
             {
                 Src = -1;
                 return;
             }
             AL.Source(Src, ALSourcei.Buffer, Effect.Internal);
             AL.Source(Src, ALSourceb.Looping, Loop);
             Engine.CheckError("Preconfig:" + Effect.Name);
             if (Pitch != 1f)
             {
                 UpdatePitch();
             }
             if (Gain != 1f)
             {
                 UpdateGain();
             }
             Engine.CheckError("GP:" + Effect.Name);
             if (!Position.IsNaN())
             {
                 Vector3 zero = Vector3.Zero;
                 Vector3 vec  = ClientUtilities.Convert(Position);
                 AL.Source(Src, ALSource3f.Direction, ref zero);
                 AL.Source(Src, ALSource3f.Velocity, ref zero);
                 AL.Source(Src, ALSource3f.Position, ref vec);
                 AL.Source(Src, ALSourceb.SourceRelative, false);
                 AL.Source(Src, ALSourcef.EfxAirAbsorptionFactor, 1f);
                 Engine.CheckError("Positioning:" + Effect.Name);
             }
             else
             {
                 AL.Source(Src, ALSourceb.SourceRelative, true);
                 Engine.CheckError("Relative:" + Effect.Name);
             }
         }
         Exists = true;
     }
 }
Exemple #17
0
        public override OpenTK.Matrix4 GetMatrix()
        {
            Vector3d c = ClientUtilities.ConvertD(Client.Central.MainWorldView.RenderRelative);
            Vector3d e = eye - c;
            Vector3d d = target - c;

            return(Matrix4.LookAt(new Vector3((float)e.X, (float)e.Y, (float)e.Z), new Vector3((float)d.X, (float)d.Y, (float)d.Z), up) * Matrix4.CreateOrthographicOffCenter(-FOV * 0.5f, FOV * 0.5f, -FOV * 0.5f, FOV * 0.5f, 1, maxrange));
        }
Exemple #18
0
 public OpenTK.Matrix4d GetOrientationMatrix()
 {
     if (Body == null)
     {
         return(OpenTK.Matrix4d.Identity);
     }
     return(ClientUtilities.ConvertD(Matrix3x3.ToMatrix4X4(Body.OrientationMatrix)));
 }
Exemple #19
0
        public override void Render()
        {
            TheClient.SetVox();
            Matrix4d mat = Matrix4d.CreateTranslation(-ClientUtilities.ConvertD(Offset)) * GetTransformationMatrix();

            TheClient.MainWorldView.SetMatrix(2, mat);
            vbo.Render(false);
        }
Exemple #20
0
 /// <summary>
 /// Gets the transformation matrix of this entity as an OpenTK matrix.
 /// </summary>
 /// <returns>.</returns>
 public OpenTK.Matrix4d GetTransformationMatrix()
 {
     if (Body == null)
     {
         return(ClientUtilities.ConvertD(WorldTransform));
     }
     return(ClientUtilities.ConvertD(Body.WorldTransform));
 }
Exemple #21
0
        public virtual Matrix4 GetMatrix()
        {
            Vector3d c = ClientUtilities.ConvertD(Client.Central.MainWorldView.RenderRelative);
            Vector3d e = eye - c;
            Vector3d d = target - c;

            return(Matrix4.LookAt(new Vector3((float)e.X, (float)e.Y, (float)e.Z), new Vector3((float)d.X, (float)d.Y, (float)d.Z), up) *
                   Matrix4.CreatePerspectiveFieldOfView(FOV * (float)Math.PI / 180f, 1, 0.1f, maxrange));
        }
Exemple #22
0
 public OpenTK.Vector4 GetLightAmountAdjusted(Location pos, Location norm)
 {
     OpenTK.Vector4 vec = new OpenTK.Vector4(ClientUtilities.Convert(GetLightAmount(pos, norm, null)), 1.0f) * GetSunAdjust();
     if (TheClient.CVars.r_fast.ValueB)
     {
         return(Regularize(vec));
     }
     return(RegularizeBig(vec, 5f));
 }
Exemple #23
0
 public void Render()
 {
     if (_VBO != null && _VBO.generated)
     {
         Matrix4d mat = Matrix4d.CreateTranslation(ClientUtilities.ConvertD(WorldPosition.ToLocation() * CHUNK_SIZE));
         OwningRegion.TheClient.MainWorldView.SetMatrix(2, mat);
         _VBO.Render(OwningRegion.TheClient.RenderTextures);
     }
 }
Exemple #24
0
        public async Task GivenUserIsAdmin_ReturnNotEmptyList()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var response = await client.GetAsync("/api/comments");

            var result = await ClientUtilities.GetResponseContent <List <GetAllCommentsQueryResponse> >(response);

            Assert.IsType <List <GetAllCommentsQueryResponse> >(result);
            Assert.NotEmpty(result);
        }
Exemple #25
0
 /// <summary>
 /// Map overview render.
 /// </summary>
 public override void RenderForMap()
 {
     if (GenBlockShadows)
     {
         if (!Visible || model.Meshes.Count == 0)
         {
             return;
         }
         model.DrawLOD(GetPosition() + ClientUtilities.ConvertD(transform.ExtractTranslation()));
     }
 }
Exemple #26
0
        /// <summary>
        /// Renders a line box.
        /// </summary>
        public void RenderLineBox(Location min, Location max, Matrix4d?rot = null)
        {
            Engine.White.Bind();
            Location halfsize = (max - min) / 2;
            Matrix4d mat      = Matrix4d.Scale(ClientUtilities.ConvertD(halfsize))
                                * (rot != null && rot.HasValue ? rot.Value : Matrix4d.Identity)
                                * Matrix4d.CreateTranslation(ClientUtilities.ConvertD(min + halfsize));

            Client.Central.MainWorldView.SetMatrix(2, mat); // TODO: Client reference!
            GL.BindVertexArray(Box._VAO);
            GL.DrawElements(PrimitiveType.Lines, 24, DrawElementsType.UnsignedInt, IntPtr.Zero);
        }
 public override void Render()
 {
     TheClient.SetEnts();
     if (TheClient.RenderTextures)
     {
         TheClient.Textures.White.Bind();
     }
     if (model != null)
     {
         TheClient.Rendering.SetMinimumLight(0f);
         BEPUutilities.Matrix matang = BEPUutilities.Matrix.CreateFromQuaternion(Angles);
         //matang.Transpose();
         Matrix4d matang4 = new Matrix4d(matang.M11, matang.M12, matang.M13, matang.M14,
                                         matang.M21, matang.M22, matang.M23, matang.M24,
                                         matang.M31, matang.M32, matang.M33, matang.M34,
                                         matang.M41, matang.M42, matang.M43, matang.M44);
         Matrix4d mat = matang4 * Matrix4d.CreateTranslation(ClientUtilities.ConvertD(GetPosition()));
         TheClient.MainWorldView.SetMatrix(2, mat);
         model.Draw(); // TODO: Animation?
         if (model.Name == "projectiles/arrow.dae")
         {
             float offs = 0.1f;
             BEPUutilities.Vector3 offz;
             BEPUutilities.Quaternion.TransformZ(offs, ref Angles, out offz);
             BEPUutilities.Vector3 offx;
             BEPUutilities.Quaternion.TransformX(offs, ref Angles, out offx);
             TheClient.Particles.Engine.AddEffect(ParticleEffectType.LINE, (o) => ppos + new Location(offz),
                                                  (o) => Position + new Location(offz), (o) => 1f, 1f, Location.One,
                                                  Location.One, true, TheClient.Textures.GetTexture("common/smoke"), 0.5f);
             TheClient.Particles.Engine.AddEffect(ParticleEffectType.LINE, (o) => ppos - new Location(offz),
                                                  (o) => Position - new Location(offz), (o) => 1f, 1f, Location.One,
                                                  Location.One, true, TheClient.Textures.GetTexture("common/smoke"), 0.5f);
             TheClient.Particles.Engine.AddEffect(ParticleEffectType.LINE, (o) => ppos + new Location(offx),
                                                  (o) => Position + new Location(offx), (o) => 1f, 1f, Location.One,
                                                  Location.One, true, TheClient.Textures.GetTexture("common/smoke"), 0.5f);
             TheClient.Particles.Engine.AddEffect(ParticleEffectType.LINE, (o) => ppos - new Location(offx),
                                                  (o) => Position - new Location(offx), (o) => 1f, 1f, Location.One,
                                                  Location.One, true, TheClient.Textures.GetTexture("common/smoke"), 0.5f);
             ppos = Position;
         }
     }
     else
     {
         TheClient.Rendering.SetMinimumLight(1f);
         TheClient.Rendering.SetColor(Color4.DarkRed);
         TheClient.Rendering.RenderCylinder(GetPosition(), GetPosition() - Velocity / 20f, 0.01f);
         TheClient.Particles.Engine.AddEffect(ParticleEffectType.CYLINDER, (o) => ppos, (o) => Position, (o) => 0.01f, 2f,
                                              Location.One, Location.One, true, TheClient.Textures.GetTexture("white"));
         ppos = Position;
         TheClient.Rendering.SetColor(Color4.White);
     }
 }
Exemple #28
0
 public override void Render()
 {
     if (vbo == null)
     {
         return;
     }
     TheClient.SetVox();
     OpenTK.Matrix4d mat = OpenTK.Matrix4d.Scale(ClientUtilities.ConvertD(scale)) * OpenTK.Matrix4d.CreateTranslation(ClientUtilities.ConvertD(shapeOffs)) * GetTransformationMatrix();
     TheClient.MainWorldView.SetMatrix(2, mat);
     TheClient.Rendering.SetColor(Color, TheClient.MainWorldView);
     vbo.Render();
     TheClient.Rendering.SetColor(Color4.White, TheClient.MainWorldView);
 }
Exemple #29
0
        /// <summary>
        /// Render a cylinder between two points.
        /// </summary>
        /// <param name="start">The initial point.</param>
        /// <param name="end">The ending point.</param>
        /// <param name="width">The width of the cylinder.</param>
        public void RenderCylinder(Location start, Location end, float width)
        {
            float    len    = (float)(end - start).Length();
            Location vecang = Utilities.VectorToAngles(start - end);
            Matrix4d mat    = Matrix4d.CreateRotationY((float)(90 * Utilities.PI180))
                              * Matrix4d.Scale(len, width, width)
                              * Matrix4d.CreateRotationY((float)(vecang.Y * Utilities.PI180))
                              * Matrix4d.CreateRotationZ((float)(vecang.Z * Utilities.PI180))
                              * Matrix4d.CreateTranslation(ClientUtilities.ConvertD(start));

            Client.Central.MainWorldView.SetMatrix(2, mat);
            Client.Central.Models.Cylinder.Draw(); // TODO: Models reference in constructor - or client reference?
        }
Exemple #30
0
        public async Task GivenUserIsAdminAndValidCommentId_ReturnOkStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = 1;

            var response = await client.GetAsync($"/api/comments/{validId}");

            var result = await ClientUtilities.GetResponseContent <GetCommentByIdQueryResponse>(response);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.IsType <GetCommentByIdQueryResponse>(result);
        }