public ChangelogOverlay(Game game, bool fullscreen = false) : base(game) { if (fullscreen) { Width = GameBase.WindowManager.WidthScaled; Height = 226; startHeight = 0; } area = new pScrollableArea(new Rectangle(0, GameBase.WindowManager.HeightScaled - Height, Width, Height), Vector2.Zero, true); area.HeaderHeight = startHeight; int year = General.VERSION / 10000; int month = General.VERSION / 100 - year * 100; int day = General.VERSION - year * 10000 - month * 100; int version_dated = Int32.Parse(new DateTime(year, month, day).AddDays(-14).ToString("yyyyMMdd")); int version_current = Int32.Parse(new DateTime(year, month, day).ToString("yyyyMMdd")); pWebRequest snr = new pWebRequest(General.WEB_ROOT + "/p/changelog?updater=3" + (!string.IsNullOrEmpty(General.SUBVERSION) ? "&test=1" : "¤t=" + version_current + "&from=" + version_dated)); snr.Finished += snr_onFinish; snr.Perform(); pSprite bg = new pSprite(GameBase.WhitePixel, Vector2.Zero, 0.5f, true, Color.Black); bg.Scale = 1.6f; bg.ViewOffsetImmune = true; bg.VectorScale = new Vector2(Width, Height); bg.Alpha = 0.5f; area.ContentSpriteManager.Add(bg); if (!fullscreen) { pText t = new pText(LocalisationManager.GetString(OsuString.Update_RecentChanges), 10, new Vector2(3, 3), Vector2.Zero, 0.9992f, true, Color.White, false); t.ViewOffsetImmune = true; t.TextBold = true; area.ContentSpriteManager.Add(t); bg = new pSprite(GameBase.WhitePixel, Vector2.Zero, 0.9991f, true, SkinManager.NEW_SKIN_COLOUR_SECONDARY); bg.Scale = 1.6f; bg.ViewOffsetImmune = true; bg.VectorScale = new Vector2(Width, startHeight); bg.Alpha = 0.8f; bg.HandleInput = true; bg.HoverEffect = new Transformation(Color.DarkBlue, Color.LightBlue, 0, 50); bg.OnClick += delegate { area.ContentSpriteManager.SpriteList.ForEach(s => s.FadeOut(100)); GameBase.Scheduler.AddDelayed(delegate { area.Hide(); }, 100); }; area.ContentSpriteManager.Add(bg); } }