private void initialSubmission_complete(object sender, RunWorkerCompletedEventArgs e) { BeatmapManager.GetOnlineBeatmapInfo(beatmaps); if (error != null) { if (!formClosing) { MessageBox.Show(this, error); } Close(); return; } if (beatmapSetId == 0) { MessageBox.Show(this, "An error occurred."); Close(); return; } panelMain.Enabled = true; if (isNewSubmission) { checkBump.Enabled = false; } else { radioButton1.Checked = approved == -1; radioButton2.Checked = approved == 0; } bgWeb.DoWork -= initialSubmission_do; bgWeb.RunWorkerCompleted -= initialSubmission_complete; newMessage = "[size=85]This beatmap was submitted using in-game submission on " + DateTime.Now.ToLongDateString() + " at " + DateTime.Now.ToLongTimeString() + "[/size]\n"; newMessage += "\n[b]Artist:[/b] " + beatmaps[0].Artist; newMessage += "\n[b]Title:[/b] " + beatmaps[0].Title; if (beatmaps[0].Source.Length > 0) { newMessage += "\n[b]Source:[/b] " + beatmaps[0].Source; } if (beatmaps[0].Tags.Length > 0) { newMessage += "\n[b]Tags:[/b] " + beatmaps[0].Tags; } newMessage += "\n[b]BPM:[/b] " + Math.Round(1000 / beatmaps[0].TimingPoints[0].beatLength * 60, 2); newMessage += "\n[b]Filesize:[/b] " + filesize.ToString(GameBase.nfi) + "kb"; newMessage += String.Format("\n[b]Play Time:[/b] {0:00}:{1:00}", beatmaps[0].TotalLength / 60000, (beatmaps[0].TotalLength % 60000) / 1000); newMessage += "\n[b]Difficulties Available:[/b]\n[list]"; foreach (Beatmap b in beatmaps) { newMessage += "[*][url=" + Urls.PATH_MAPS + Path.GetFileName(b.Filename).Replace("[", "%5B").Replace("]", "%5D") + "]" + (b.Version.Length > 0 ? b.Version : "Normal") + "[/url] (" + Math.Round(b.DifficultyEyupStars, 2) + " stars, " + b.ObjectCount + " notes)\n"; } newMessage += "[/list]\n"; newMessage += "\n[size=150][b]Download: [url=http://peppy.chigau.com/bss/" + oszFilename + "]" + beatmaps[0].SortTitle + "[/url][/b][/size]"; if (hasVideo) { newMessage += "\n[size=120][b]Download: [url=http://peppy.chigau.com/bss/" + oszFilename.Replace(".osz", "-novid.osz") + "]" + beatmaps[0].SortTitle + " (no video)[/url][/b][/size]"; } newMessage += "\n[b]Information:[/b] [url=http://osu.ppy.sh/s/" + beatmapSetId + "]Scores/Beatmap Listing[/url]"; newMessage += "\n---------------\n"; if (beatmaps[0].Artist.Length == 0) { textSubject.Text = beatmaps[0].Title; } else { textSubject.Text = beatmaps[0].SortTitle; } textMessage.Text = "Enter your message here. Links and general information will automatically be added above this."; if (!isNewSubmission) { textSubject.Text = oldSubject; if (oldMessage.IndexOf("---------------\r\n") > 0) { textMessage.Text = oldMessage.Remove(0, oldMessage.IndexOf("---------------") + 17).Trim('\n', '\r'); } else { textMessage.Text = oldMessage; } } textMessage.Focus(); textMessage.SelectAll(); bgWeb.DoWork += uploadFiles_do; bgWeb.RunWorkerCompleted += uploadFiles_complete; bgWeb.RunWorkerAsync(); }
private void doSendScore(object sender, DoWorkEventArgs e) { GameBase.User.spriteInfo.Text = "Submitting score..."; try { byte[] zipped = new byte[0]; if (pass) { rawReplayCompressed = SevenZipHelper.Compress(new ASCIIEncoding().GetBytes(replayFormatted)); zipped = rawReplayCompressed; /*MemoryStream s = new MemoryStream(); * DeflaterOutputStream ds = new DeflaterOutputStream(s, new Deflater(9)); * * ds.Write(bytes, 0, bytes.Length); * ds.Finish(); * ds.Flush(); * zipped = s.ToArray();*/ } FileUploadNetRequest fileUpload = new FileUploadNetRequest( string.Format("http://osu.ppy.sh/web/osu-submit.php?score={0}&pass={1}", onlineFormatted, ConfigManager.sPassword), zipped, "replay", "score"); int retryCount = 1; while (retryCount > 0) { try { string[] response = fileUpload.BlockingPerform().Split('\n'); if (response.Length > 0) { Int32.TryParse(response[0], out onlineRank); Int32.TryParse(response[1], out GameBase.User.NextRank); } if (response.Length > 2) { GameBase.User.AchievementImages = response[2].Split(' '); } else { GameBase.User.AchievementImages = null; } break; } catch { } retryCount--; } } catch (Exception ex) { Console.WriteLine(ex); } if (SubmissionComplete != null) { SubmissionComplete(this); } if (!pass) { GameBase.User.Refresh(); } else { BeatmapManager.GetOnlineBeatmapInfo(BeatmapManager.Current); } }
public override void Initialize() { content = new ResourceContentManager(GameBase.Instance.Services, ResourcesStore.ResourceManager); KeyboardHandler.OnKeyPressed += KeyboardHandler_OnKeyPressed; if (SongSelection.ForceRefresh) { BeatmapManager.CheckNewFiles(); BeatmapManager.ProcessBeatmaps(); BeatmapManager.GetOnlineBeatmapInfo(); SongSelection.ForceRefresh = false; } if (Lobby.Status == LobbyStatus.Play) { Lobby.Status = LobbyStatus.Setup; } spriteManager = new SpriteManager(); pText headerText = new pText("Match Setup", 30, new Vector2(0, 0), 0.955F, true, new Color(255, 255, 255, 255)); headerText.TextShadow = true; spriteManager.Add(headerText); headerText2 = new pText("You are " + (IsHost ? "the host" : "a player"), 16, new Vector2(4, 26), 0.955F, true, new Color(255, 255, 255, 255)); spriteManager.Add(headerText2); pSprite bg = new pSprite(content.Load <Texture2D>("matchsetup-background"), FieldTypes.Window, OriginTypes.TopLeft, ClockTypes.Game, Vector2.Zero, 0, true, Color.White); spriteManager.Add(bg); buttonStart = new pButton("Ready!", new Vector2(270, 285), new Vector2(350, 30), 0.92f, new Color(99, 139, 228), OnReady); spriteManager.Add(buttonStart.SpriteCollection); pButton pbut = new pButton("Leave Match", new Vector2(10, 285), new Vector2(250, 30), 0.92f, new Color(235, 160, 62), OnLeaveGame); spriteManager.Add(pbut.SpriteCollection); buttonBeatmap = new pButton("Change...", new Vector2(384, 112), new Vector2(80, 18), 0.90f, Color.YellowGreen, OnSelectBeatmap); spriteManager.Add(buttonBeatmap.SpriteCollection); buttonMods = new pButton("Change...", new Vector2(352, 210), new Vector2(80, 18), 0.90f, Color.YellowGreen, OnSelectMods); spriteManager.Add(buttonMods.SpriteCollection); /* spriteManager.Add(new pText("Current Players:", 18, new Vector2(10, 60), 1, true, Color.White)); * spriteManager.Add(new pText("Game Name:", 18, new Vector2(300, 60), 1, true, Color.White)); * spriteManager.Add(new pText("Now Playing:", 18, new Vector2(300, 110), 1, true, Color.White)); * spriteManager.Add(new pText("Active Mods:", 18, new Vector2(300, 210), 1, true, Color.White));*/ for (int i = 0; i < 8; i++) { /*spriteManager.Add(new pText((i + 1).ToString(), 18, new Vector2(10, 85 + i*25), 1, true, Color.White));*/ slotText[i] = new pText("", 18, new Vector2(57, 85 + i * 25), 1, true, Color.White); spriteManager.Add(slotText[i]); slotTextInfo[i] = new pText("", 10, new Vector2(210, 85 + i * 25), new Vector2(77, 0), 1, true, Color.White, false); slotTextInfo[i].TextAlignment = Alignment.Right; spriteManager.Add(slotTextInfo[i]); pSprite status = new pSprite(GameBase.WhitePixel, FieldTypes.Window, OriginTypes.TopLeft, ClockTypes.Game, new Vector2(50, 85 + i * 25), 0.974F, true, new Color(255, 255, 255, 255)); status.UseVectorScale = true; status.IsClickable = true; status.VectorScale = new Vector2(5, 20); status.CurrentScale = 1.6f; spriteManager.Add(status); slotStatus[i] = status; pSprite slot = new pSprite(GameBase.WhitePixel, FieldTypes.Window, OriginTypes.TopLeft, ClockTypes.Game, new Vector2(57, 85 + i * 25), 0.974F, true, new Color(255, 255, 255, 50)); slot.UseVectorScale = true; slot.IsClickable = true; slot.VectorScale = new Vector2(230, 20); slot.CurrentScale = 1.6f; slot.ToolTip = "Move to this slot."; slot.HoverEffect = new Transformation(TransformationType.Fade, 0.2f, 0.4f, 0, 60); slot.OnClick += clickSlot; slot.TagNumeric = i; slotBackground[i] = slot; spriteManager.Add(slot); pSprite lockToggle = new pSprite(content.Load <Texture2D>("lobby-unlock"), new Vector2(36, 95 + i * 25), 1, true, Color.LightGray); slotLock[i] = lockToggle; lockToggle.OnClick += lockToggle_OnClick; lockToggle.OriginType = OriginTypes.Centre; lockToggle.HoverEffect = new Transformation(TransformationType.Rotation, 0, 0.1f, 0, 100); lockToggle.ClickEffect = new Transformation(TransformationType.Scale, 2, 1, 0, 200); lockToggle.ToolTip = "Lock this slot"; lockToggle.TagNumeric = i; spriteManager.Add(lockToggle); } if (IsHost) { changeBeatmap(); } detailsGameName = new pTextBox(Match.gameName, 16, new Vector2(310, 85), new Vector2(320, 18), 1); detailsGameName.OnCommit += detailsGameName_OnCommit; detailsGameName.ReadOnly = true; detailsGameName.LengthLimit = 50; spriteManager.Add(detailsGameName.SpriteCollection); UpdatePending = true; SongChangePending = true; ModChangePending = true; HostChangePending = true; if (IsHost && HostChangePending) { HostChangePending = false; SetHost(); } ModManager.ModStatus = Match.activeMods; base.Initialize(); GameBase.LoadComplete(); if (!ChatEngine.IsVisible) { ChatEngine.Toggle(); } Transformation t = new Transformation(TransformationType.Scale, 1, 1.2F, 0, 100); t.Easing = EasingTypes.In; Transformation t2 = new Transformation(TransformationType.Scale, 1.1F, 1.2F, 0, 100); t2.Easing = EasingTypes.In; pSprite p = new pSprite(content.Load <Texture2D>("editor-button-pause"), FieldTypes.Window, OriginTypes.Centre, ClockTypes.Game, new Vector2(460, 15), 0.96F, true, Color.White, "b"); p.IsClickable = true; p.ClickEffect = t2; p.HoverEffect = t; p.CatchUniversal = true; p.OnClick += pause; spriteManager.Add(p); }