public void RenderView(VisualSettings Settings, Vector3 pos, Vector3 lookatpos, float FOV) { ViewPlaneHandler vph = (Application.OpenForms[0] as Form1).vph; double angle = Math.Atan2(vph.getViewCoord(lookatpos, 1) - vph.getViewCoord(pos, 1), vph.getViewCoord(lookatpos, 0) - vph.getViewCoord(pos, 0)); double xcenter = Math.Cos(angle) * 1000000000d; double ycenter = Math.Sin(angle) * 1000000000d; double xside1 = Math.Cos(angle + RadianDegree.ToRadiansD((double)FOV / 2)) * 1000000000d; double yside1 = Math.Sin(angle + RadianDegree.ToRadiansD((double)FOV / 2)) * 1000000000d; double xside2 = Math.Cos(angle - RadianDegree.ToRadiansD((double)FOV / 2)) * 1000000000d; double yside2 = Math.Sin(angle - RadianDegree.ToRadiansD((double)FOV / 2)) * 1000000000d; Gl.glColor4f((Settings.HighlightPointColor.R / 255f), (Settings.HighlightPointColor.G / 255f), (Settings.HighlightPointColor.B / 255f), 0.25f); Gl.glBegin(Gl.GL_TRIANGLE_FAN); vph.draw2DVertice(pos); Gl.glVertex2d(xside1, yside1); Gl.glVertex2d(xside2, yside2); Gl.glEnd(); Gl.glColor4f((Settings.CameColor.R / 255f), (Settings.CameColor.G / 255f), (Settings.CameColor.B / 255f), Settings.CameColor.A); Gl.glBegin(Gl.GL_LINE_LOOP); Gl.glVertex2d(xside1, yside1); vph.draw2DVertice(pos); Gl.glVertex2d(xside2, yside2); Gl.glEnd(); Gl.glColor4f((Settings.HighlightPointborderColor.R / 255f), (Settings.HighlightPointborderColor.G / 255f), (Settings.HighlightPointborderColor.B / 255f), Settings.HighlightPointborderColor.A); Gl.glLineWidth(Settings.LineWidth / 2f); Gl.glPushAttrib(Gl.GL_ENABLE_BIT); Gl.glLineStipple(3, 0xAAAA); Gl.glEnable(Gl.GL_LINE_STIPPLE); Gl.glBegin(Gl.GL_LINES); vph.draw2DVertice(pos); Gl.glVertex2d(xcenter, ycenter); Gl.glEnd(); Gl.glPopAttrib(); }
public void Write(EndianBinaryWriter er) { er.Write(ObjectID); er.Write(Unknown1); er.Write(Position.X); er.Write(Position.Y); er.Write(Position.Z); er.Write(RadianDegree.ToRadians(Rotation.X)); er.Write(RadianDegree.ToRadians(Rotation.Y)); er.Write(RadianDegree.ToRadians(Rotation.Z)); er.Write(Scale.X); er.Write(Scale.Y); er.Write(Scale.Z); er.Write(RouteID); er.Write(Settings1); er.Write(Settings2); er.Write(Settings3); er.Write(Settings4); er.Write(Settings5); er.Write(Settings6); er.Write(Settings7); er.Write(Settings8); er.Write(Visibility); er.Write(Unknown2); er.Write(Unknown3); }
public void Write(EndianBinaryWriter er) { er.Write(Type); er.Write(Next); er.Write(VideoNext); er.Write(RouteID); er.Write(PointSpeed); er.Write(FOVSpeed); er.Write(ViewpointSpeed); er.Write(StartFlag); er.Write(VideoFlag); er.Write(Position.X); er.Write(Position.Y); er.Write(Position.Z); er.Write(RadianDegree.ToRadians(Rotation.X)); er.Write(RadianDegree.ToRadians(Rotation.Y)); er.Write(RadianDegree.ToRadians(Rotation.Z)); er.Write(FOVBegin); er.Write(FOVEnd); er.Write(Viewpoint1.X); er.Write(Viewpoint1.Y); er.Write(Viewpoint1.Z); er.Write(Viewpoint2.X); er.Write(Viewpoint2.Y); er.Write(Viewpoint2.Z); er.Write(Duration); }
public void Write(EndianBinaryWriter er) { er.Write(Position.X); er.Write(Position.Y); er.Write(Position.Z); er.Write(RadianDegree.ToRadians(Rotation.X)); er.Write(RadianDegree.ToRadians(Rotation.Y)); er.Write(RadianDegree.ToRadians(Rotation.Z)); er.Write(Index); }
public void Write(EndianBinaryWriter er) { er.Write(Mode); er.Write(Type); er.Write(CAMEIndex); er.Write(Unknown1); er.Write(Position.X); er.Write(Position.Y); er.Write(Position.Z); er.Write(RadianDegree.ToRadians(Rotation.X)); er.Write(RadianDegree.ToRadians(Rotation.Y)); er.Write(RadianDegree.ToRadians(Rotation.Z)); er.Write(Scale.X); er.Write(Scale.Y); er.Write(Scale.Z); er.Write(Settings1); er.Write(Settings2); er.Write(RouteID); er.Write(EnemyID); er.Write(Unknown5); }
public AREAEntry(EndianBinaryReaderEx er) { er.ReadObject(this); Rotation = new Vector3(RadianDegree.ToDegrees(Rotation.X), RadianDegree.ToDegrees(Rotation.Y), RadianDegree.ToDegrees(Rotation.Z)); }