internal Score(string input, Beatmap beatmap) { User = new User(); IsOnline = true; if (beatmap != null) { Beatmap = beatmap; FileChecksum = beatmap.BeatmapChecksum; } Perfect = false; Replay = new List <bReplayFrame>(); string[] line = input.Split('|'); int i = 0; Pass = true; OnlineId = Convert.ToInt64(line[i++]); PlayerName = line[i++]; User.Name = PlayerName; TotalScore = Convert.ToInt32(line[i++]); MaxCombo = Convert.ToUInt16(line[i++]); Count50 = Convert.ToUInt16(line[i++]); Count100 = Convert.ToUInt16(line[i++]); Count300 = Convert.ToUInt16(line[i++]); CountMiss = Convert.ToUInt16(line[i++]); CountKatu = Convert.ToUInt16(line[i++]); CountGeki = Convert.ToUInt16(line[i++]); Perfect = line[i++] == @"1"; EnabledMods = (Mods)Convert.ToInt32(line[i++]); User.Id = Convert.ToInt32(line[i++]); if (line[i].Length > 0) { OnlineRank = Convert.ToInt32(line[i]); } i++; try { Date = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(int.Parse(line[i++])); if (Date < new DateTime(1990, 5, 31) /*|| date > DateTime.Now*/) { Date = DateTime.Now; // when trying to export a corrupted replay file } } catch { Date = DateTime.Now; } HasOnlineReplay = line[i++] == @"1"; }
internal Score(bScoreFrame sf, string name) { Pass = sf.pass; PlayerName = name; Count300 = sf.count300; Count100 = sf.count100; Count50 = sf.count50; CountGeki = sf.countGeki; CountKatu = sf.countKatu; CountMiss = sf.countMiss; TotalScore = sf.totalScore; MaxCombo = sf.maxCombo; Perfect = sf.perfect; CurrentHp = sf.currentHp; CurrentCombo = sf.currentCombo; EnabledMods = ModManager.ModStatus; //todo: wtf check this? Date = DateTime.Now; }
public void ReadHeaderFromStream(SerializationReader sr) { Pass = true; Version = sr.ReadInt32(); FileChecksum = sr.ReadString(); PlayerName = sr.ReadString(); var localScoreChecksum = sr.ReadString(); Count300 = sr.ReadUInt16(); Count100 = sr.ReadUInt16(); Count50 = sr.ReadUInt16(); CountGeki = sr.ReadUInt16(); CountKatu = sr.ReadUInt16(); CountMiss = sr.ReadUInt16(); TotalScore = sr.ReadInt32(); MaxCombo = sr.ReadUInt16(); Perfect = sr.ReadBoolean(); EnabledMods = (Mods)sr.ReadInt32(); HpGraphString = sr.ReadString(); Date = sr.ReadDateTime(); }
internal override void UpdateInput() { if (!IsInitialized || Player.Paused) { return; } int frameCheck = 0; if (!InputManager.ReplayMode) { InputManager.leftButton1 |= KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsDash)); InputManager.leftButton1 |= JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsDash)); InputManager.leftButton1i |= InputManager.leftButton1; if (InputManager.leftButton1i) { InputManager.leftButton = ButtonState.Pressed; } } Dashing = InputManager.leftButton == ButtonState.Pressed; if (Dashing) { frameCheck += 4; } float currentMovementSpeed = baseMovementSpeed * specialMovementModifier; if (!Dashing) { currentMovementSpeed /= 2; } if (InputManager.ReplayMode || Player.Relaxing) { float newPos = InputManager.ReplayGamefieldCursor.X; if (InputManager.NewReplayFrame) { LeftPressed = catcher1.Position.X > newPos; RightPressed = catcher1.Position.X < newPos; } if (catcher1.Position.X != newPos) { #if DEBUG if (!ModManager.CheckActive(Mods.Autoplay) && (Math.Abs(catcher1.Position.X - newPos) > currentMovementSpeed * GameBase.SIXTY_FRAME_TIME)) { NotificationManager.ShowMessageMassive("Impossible movement (" + Math.Abs(catcher1.Position.X - newPos) + " vs " + (currentMovementSpeed * GameBase.SIXTY_FRAME_TIME) + ")", 1000); } #endif catcher1.FlipHorizontal = catcher1.Position.X > newPos; catcher1.Position.X = newPos; } } else { if (GameBase.ElapsedMilliseconds > 33) { return; } if (Math.Abs(catcher1.Position.X - checkPosition) > 0.01f) { catcher1.Position.X = checkPosition; CurrentScore.InvalidateSubmission(); } if ((RightPressed = KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsRight)) || JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsRight)))) { frameCheck += 1; catcher1.Position.X = (float)(catcher1.Position.X + currentMovementSpeed * GameBase.ElapsedMilliseconds); catcher1.FlipHorizontal = false; } if ((LeftPressed = KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsLeft)) || JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsLeft)))) { frameCheck += 2; catcher1.Position.X = (float)(catcher1.Position.X - currentMovementSpeed * GameBase.ElapsedMilliseconds); catcher1.FlipHorizontal = true; } } checkSpecialWaitingState(); importantFrame = frameCheck != importantFrameCheck; importantFrameCheck = frameCheck; catcher1.Position.X = OsuMathHelper.Clamp(catcher1.Position.X, 0, 512); checkPosition = catcher1.Position.X; }
internal static void CheckForCurrentPlayMode(Mods ensureSet = Mods.None) { switch (Player.Mode) { case PlayModes.Osu: // ModStatus &= ~(Mods.FadeIn); break; case PlayModes.Taiko: ModStatus &= ~(Mods.Relax2 | Mods.SpunOut | Mods.Target); break; case PlayModes.CatchTheBeat: ModStatus &= ~(Mods.Relax2 | Mods.SpunOut | Mods.Target); break; case PlayModes.OsuMania: ModStatus &= ~(Mods.Relax2 | Mods.SpunOut | Mods.Relax | Mods.Target); break; } bool isMania = Player.Mode == PlayModes.OsuMania; if (!isMania) { ModStatus &= ~(Mods.KeyMod | Mods.Random | Mods.FadeIn); } //Loop through each bitwise mod for this check. for (Mods i = ensureSet != Mods.None ? ensureSet : (Mods)1; i < (ensureSet != Mods.None ? (Mods)((int)ensureSet << 1) : Mods.LastMod); i = (Mods)((int)i * 2)) { Mods thisCheck = ModStatus & i; if (thisCheck == 0) { continue; } switch (thisCheck) { case Mods.Cinema: ModStatus |= Mods.Autoplay; break; case Mods.NoFail: ModStatus &= ~Mods.SuddenDeath; ModStatus &= ~Mods.Perfect; ModStatus &= ~Mods.Relax2; ModStatus &= ~Mods.Relax; break; case Mods.Easy: ModStatus &= ~Mods.HardRock; break; case Mods.Hidden: if (isMania) { ModStatus &= ~Mods.Flashlight; ModStatus &= ~Mods.FadeIn; } break; case Mods.FadeIn: ModStatus &= ~Mods.Hidden; ModStatus &= ~Mods.Flashlight; break; case Mods.Flashlight: if (isMania) { ModStatus &= ~Mods.Hidden; ModStatus &= ~Mods.FadeIn; } break; case Mods.HardRock: ModStatus &= ~Mods.Easy; break; case Mods.SuddenDeath: ModStatus &= ~Mods.NoFail; ModStatus &= ~Mods.Relax2; ModStatus &= ~Mods.Relax; break; case Mods.Perfect: ModStatus |= Mods.SuddenDeath; break; case Mods.DoubleTime: ModStatus &= ~Mods.HalfTime; break; case Mods.Nightcore: ModStatus |= Mods.DoubleTime; break; case Mods.HalfTime: ModStatus &= ~Mods.DoubleTime; ModStatus &= ~Mods.Nightcore; break; case Mods.Relax: ModStatus &= ~Mods.Relax2; ModStatus &= ~Mods.NoFail; ModStatus &= ~Mods.SuddenDeath; ModStatus &= ~Mods.Perfect; break; case Mods.Relax2: ModStatus &= ~Mods.SpunOut; ModStatus &= ~Mods.Relax; ModStatus &= ~Mods.NoFail; ModStatus &= ~Mods.SuddenDeath; ModStatus &= ~Mods.Perfect; break; case Mods.SpunOut: ModStatus &= ~Mods.Relax2; break; } } if ((ModStatus & Mods.Autoplay) > 0) { ModStatus &= ~Mods.SpunOut; ModStatus &= ~Mods.Relax; ModStatus &= ~Mods.Relax2; ModStatus &= ~Mods.SuddenDeath; ModStatus &= ~Mods.Perfect; } }
internal static void Reset() { ModStatus = Mods.None; }
public static Comfort.Common.Operation method_0(Comfort.Common.StartCoroutineDelegate startCoroutineDelegate_0, BattlEye.BEClient.LogDelegate logDelegate_0) { Obfuscated @class = new Obfuscated(); startCoroutineDelegate_0(@class.method_1(logDelegate_0)); return @class; }
/// <summary> /// Gets the raw JSON string /// </summary> /// <returns>the raw JSON string used by the game</returns> public virtual string GetJsonString() { List <string> outString = new List <string>(); if (!(Color is null) && !(RGBColor is null)) { throw new InvalidOperationException("Cannot get json string since both " + nameof(Color) + " and" + nameof(RGBColor) + " is set."); } if (!(Color is null)) { outString.Add("\"color\":\"" + Color + "\""); } if (!(RGBColor is null)) { outString.Add("\"color\":\"" + RGBColor.GetHexColor() + "\""); } if (!(Obfuscated is null)) { outString.Add("\"obfuscated\":" + Obfuscated.ToMinecraftBool()); } if (!(Bold is null)) { outString.Add("\"bold\":" + Bold.ToMinecraftBool()); } if (!(Italic is null)) { outString.Add("\"italic\":" + Italic.ToMinecraftBool()); } if (!(Strikethrough is null)) { outString.Add("\"strikethrough\":" + Strikethrough.ToMinecraftBool()); } if (!(Underline is null)) { outString.Add("\"underlined\":" + Underline.ToMinecraftBool()); } if (!(Reset is null)) { outString.Add("\"reset\":" + Reset.ToMinecraftBool()); } if (!(ShiftClickInsertion is null)) { outString.Add("\"insertion\":\"" + ShiftClickInsertion.Escape() + "\""); } if (!(Font is null)) { outString.Add("\"font\":\"" + Font.Escape() + "\""); } if (!(ClickEvent is null)) { outString.Add(ClickEvent.GetEventString()); } if (!(HoverEvent is null)) { outString.Add(HoverEvent.GetEventString()); } if (!(Extra is null) && Extra.Length != 0) { outString.Add("\"extra\":[" + string.Join(",", Extra.Select(j => j.GetJsonString())) + "]"); } outString.Add(GetSpecificJsonString()); return("{" + string.Join(",", outString) + "}"); }