protected override void OnLoad(EventArgs e) { Shaders.Load(); MSAABuffer = new MsaaFbo(); var renderer = new Gwen.Renderer.OpenTK(); var skinpng = new Texture(renderer); Gwen.Renderer.OpenTK.LoadTextureInternal( skinpng, GameResources.DefaultSkin); var fontpng = new Texture(renderer); Gwen.Renderer.OpenTK.LoadTextureInternal( fontpng, GameResources.gamefont_15_png); var gamefont_15 = new Gwen.Renderer.BitmapFont( renderer, GameResources.gamefont_15_fnt, fontpng); var skin = new Gwen.Skin.TexturedBase(renderer, skinpng, GameResources.DefaultColors ) { DefaultFont = gamefont_15 }; Canvas = new GameCanvas(skin, this, renderer); _input = new Gwen.Input.OpenTK(this); _input.Initialize(Canvas); Canvas.ShouldDrawBackground = false; InitControls(); Models.LoadModels(); AddCursor("pencil", GameResources.cursor_pencil, 6, 25); AddCursor("line", GameResources.cursor_line, 11, 11); AddCursor("eraser", GameResources.cursor_eraser, 8, 8); AddCursor("hand", GameResources.cursor_move, 16, 16); AddCursor("closed_hand", GameResources.cursor_dragging, 16, 16); AddCursor("adjustline", GameResources.cursor_select, 4, 4); AddCursor("size_nesw", GameResources.cursor_size_nesw, 16, 16); AddCursor("size_nwse", GameResources.cursor_size_nwse, 16, 16); AddCursor("size_hor", GameResources.cursor_size_horz, 16, 16); AddCursor("size_ver", GameResources.cursor_size_vert, 16, 16); AddCursor("size_all", GameResources.cursor_size_all, 16, 16); AddCursor("default", GameResources.cursor_default, 7, 4); AddCursor("zoom", GameResources.cursor_zoom_in, 11, 10); Gwen.Platform.Neutral.CursorSetter = new UI.CursorImpl(this); Program.UpdateCheck(); Track.AutoLoadPrevious(); }
public override void Dispose() { if (Canvas != null) { Canvas.Dispose(); Canvas.Skin.Dispose(); Canvas.Skin.DefaultFont.Dispose(); Canvas.Renderer.Dispose(); Canvas = null; } base.Dispose(); }
protected override void OnLoad(EventArgs e) { MSAABuffer = new MsaaFbo(); Canvas = GameCanvas.CreateCanvas(this); _input = new Gwen.Input.OpenTK(this); _input.Initialize(Canvas); Canvas.ShouldDrawBackground = false; InitControls(); Models.LoadModels(); AddCursor("pencil", GameResources.pencil_icon, 3, 28); AddCursor("line", GameResources.line_cursor, 5, 5); AddCursor("eraser", GameResources.eraser_cursor, 5, 5); AddCursor("hand", GameResources.move_icon, 16, 16); AddCursor("closed_hand", GameResources.closed_move_icon, 16, 16); AddCursor("adjustline", GameResources.cursor_adjustline, 0, 0); Canvas.UpdateSaveNodes(); }
private void AutoLoad() { try { game.Canvas.Loading = true; string lasttrack; if (Program.args.Length > 0) { Settings.LastSelectedTrack = Program.args[0]; lasttrack = Settings.LastSelectedTrack; } else { lasttrack = Settings.LastSelectedTrack; var trdr = Constants.TracksDirectory; if (!lasttrack.StartsWith(trdr)) { return; } } if (lasttrack.Contains("Crash Backup")) { if (!GameCanvas.ShowLoadCrashBackup(game.Canvas, lasttrack)) { game.Canvas.Loading = false; return; } } if (string.Equals( Path.GetExtension(lasttrack), ".trk", StringComparison.InvariantCultureIgnoreCase)) { var trackname = TrackIO.GetTrackName(lasttrack); lock (LoadSync) { var track = TRKLoader.LoadTrack(lasttrack, trackname); ChangeTrack(track); } } else if (string.Equals( Path.GetExtension(lasttrack), ".json", StringComparison.InvariantCultureIgnoreCase)) { var trackname = TrackIO.GetTrackName(lasttrack); lock (LoadSync) { var track = JSONLoader.LoadTrack(lasttrack); if (track.Name == Constants.DefaultTrackName || string.IsNullOrEmpty(track.Name)) { track.Name = trackname; } ChangeTrack(track); } } else if (string.Equals( Path.GetExtension(lasttrack), ".sol", StringComparison.InvariantCultureIgnoreCase)) { var trackname = TrackIO.GetTrackName(lasttrack); var sol = SOLLoader.LoadSol(lasttrack); if (sol.Count == 0) { return; } lock (LoadSync) { var track = SOLLoader.LoadTrack(sol[0]); ChangeTrack(track); } } } catch (Exception e) { Debug.WriteLine("Autoload failure: " + e.ToString()); } finally { game.Canvas.Loading = false; } }
protected override void OnLoad(EventArgs e) { Shaders.Load(); MSAABuffer = new MsaaFbo(); var renderer = new Gwen.Renderer.OpenTK(); var skinpng = renderer.CreateTexture(GameResources.DefaultSkin); var fontpng = renderer.CreateTexture(GameResources.liberation_sans_15_png); var fontpngbold = renderer.CreateTexture(GameResources.liberation_sans_15_bold_png); var gamefont_15 = new Gwen.Renderer.BitmapFont( renderer, GameResources.liberation_sans_15_fnt, fontpng); var gamefont_15_bold = new Gwen.Renderer.BitmapFont( renderer, GameResources.liberation_sans_15_bold_fnt, fontpngbold); var skin = new Gwen.Skin.TexturedBase(renderer, skinpng, GameResources.DefaultColors ) { DefaultFont = gamefont_15 }; Fonts f = new Fonts(gamefont_15, gamefont_15_bold); Canvas = new GameCanvas(skin, this, renderer, f); _input = new Gwen.Input.OpenTK(this); _input.Initialize(Canvas); Canvas.ShouldDrawBackground = false; Models.LoadModels(); AddCursor("pencil", GameResources.cursor_pencil, 6, 25); AddCursor("line", GameResources.cursor_line, 11, 11); AddCursor("eraser", GameResources.cursor_eraser, 8, 8); AddCursor("hand", GameResources.cursor_move, 16, 16); AddCursor("hand_point", GameResources.cursor_hand, 14, 8); AddCursor("closed_hand", GameResources.cursor_dragging, 16, 16); AddCursor("adjustline", GameResources.cursor_select, 4, 4); AddCursor("size_nesw", GameResources.cursor_size_nesw, 16, 16); AddCursor("size_nwse", GameResources.cursor_size_nwse, 16, 16); AddCursor("size_hor", GameResources.cursor_size_horz, 16, 16); AddCursor("size_ver", GameResources.cursor_size_vert, 16, 16); AddCursor("size_all", GameResources.cursor_size_all, 16, 16); AddCursor("default", GameResources.cursor_default, 7, 4); AddCursor("zoom", GameResources.cursor_zoom_in, 11, 10); AddCursor("ibeam", GameResources.cursor_ibeam, 11, 11); Program.UpdateCheck(); Track.AutoLoadPrevious(); linerider.Tools.CurrentTools.Init(); }
public static GameCanvas CreateCanvas(GLWindow game) { var renderer = new Gwen.Renderer.OpenTK(); var tx = new Texture(renderer); Gwen.Renderer.OpenTK.LoadTextureInternal(tx, GameResources.DefaultSkin); var skin = new TexturedBase(renderer, tx, GameResources.DefaultColors); var bmpfont = new Gwen.Renderer.OpenTK.BitmapFont(renderer, "SourceSansPro", 10, 10, GameResources.SourceSansProq, new List <System.Drawing.Bitmap> { GameResources.SourceSansPro_img }); skin.DefaultFont = bmpfont; var canvas = new GameCanvas(skin, game) { Renderer = renderer }; canvas.SpriteLoading = new Sprite(canvas); canvas.SpriteLoading.SetImage(GameResources.loading); canvas.SpriteLoading.IsHidden = true; canvas.SpriteLoading.IsTabable = false; canvas.SpriteLoading.KeyboardInputEnabled = false; canvas.SpriteLoading.MouseInputEnabled = false; canvas.SpriteLoading.SetSize(32, 32); canvas.SpriteLoading.RotationPoint.X = 16; canvas.SpriteLoading.RotationPoint.Y = 16; canvas.SpriteLoading.SetPosition(canvas.Width - 32, 0); var timeslider = new HorizontalIntSlider(canvas) { X = 120, Y = canvas.Height - 25, Width = canvas.Width - 120 * 2, Height = 25, IsTabable = false, IsHidden = true, KeyboardInputEnabled = false, Name = "timeslider", }; var btnfastfoward = new ImageButton(canvas) { X = timeslider.Right, Y = canvas.Height - 25, Width = 24, Height = 24, IsTabable = false, IsHidden = true, KeyboardInputEnabled = false, Name = "btnfastforward" }; btnfastfoward.SetImage(GameResources.fast_forward, GameResources.fast_forward_white); var btnslowmo = new ImageButton(canvas) { X = timeslider.X - 24, Y = canvas.Height - 25, Width = 24, Height = 24, IsTabable = false, IsHidden = true, KeyboardInputEnabled = false, Name = "btnslowmo" }; btnslowmo.SetImage(GameResources.rewind, GameResources.rewind_white); btnslowmo.Clicked += (o, e) => { game.PlaybackDown(); }; btnfastfoward.Clicked += (o, e) => { game.PlaybackUp(); }; timeslider.ValueChanged += canvas.timeslider_ValueChanged; var labelTrackName = new Label(canvas) { TextColor = System.Drawing.Color.Black, Dock = Pos.Left, Margin = new Margin(5, 0, 0, 0), Name = "trackname" }; Label labeliteration = new Label(canvas); labeliteration.Name = "labeliterations"; labeliteration.Font = new Font(renderer, "Arial", 18); labeliteration.SetText(""); labeliteration.TextColor = Color.Black; Align.PlaceDownLeft(labeliteration, labelTrackName); var toprightcontainer = new ControlBase(canvas) { Dock = Pos.Right, Width = 150, Height = 300, MouseInputEnabled = false }; var fps = new Label(toprightcontainer) { TextColor = Color.Black, Name = "fps" }; var labelppf = new Label(toprightcontainer) { TextColor = Color.Black, Name = "ppf" }; var labelPlayback = new Label(toprightcontainer) { TextColor = Color.Black, Name = "labelplayback" }; var flagtime = new Label(canvas) { TextColor = Color.Black, Name = "flagtime" }; var textheight = renderer.MeasureText(skin.DefaultFont, "@").Y + 3; labelppf.SetPosition(0, textheight); labelPlayback.SetPosition(0, textheight * 2); var vslider = new VerticalSlider(canvas) { Min = 0.1f, Max = 24f, Value = game.Track.Zoom, IsTabable = false }; vslider.ValueChanged += (o, e) => { var slider = (VerticalSlider)o; var diff = slider.Value - game.Track.Zoom; game.Zoom(diff, false); }; vslider.SetPosition(0, (int)canvas.Height - 150); vslider.Name = "vslider"; Align.AlignRight(vslider); vslider.Height = 125; return(canvas); }