public HotkeyControl(CrashMemory memory, DataControl data) { this.memory = memory; this.data = data; hotkeys = new [] { new Hotkey("Set zero lives: ", KeyModifiers.Alt, (uint)Keys.D, () => { memory.Lives.Write(0); data.Lives = 0; }) }; InitializeComponent(); RegisterHotkeys(); labels = new [] { zeroLivesLabel, zeroLivesHotkeyLabel }; zeroLivesHotkeyLabel.Text = hotkeys[0].ToString(); zeroLivesHotkeyLabel.ForeColor = Color.ForestGreen; }
public Crash4LoadRemoverComponent(LiveSplitState state) { settings = new Crash4LoadRemoverSettings(state); memory = new CrashMemory(); memory.Loading.OnValueChange += OnLoadingChange; memory.Swirl.OnValueChange += OnSwirlChange; GameName = state.Run.GameName; GameCategory = state.Run.CategoryName; NumberOfSplits = state.Run.Count; SplitNames = new List <string>(); foreach (var split in state.Run) { SplitNames.Add(split.Name); } liveSplitState = state; NumberOfLoadsPerSplit = new List <int>(); InitNumberOfLoadsFromState(); settings = new Crash4LoadRemoverSettings(state); timer = new TimerModel { CurrentState = state }; timer.CurrentState.OnStart += timer_OnStart; timer.CurrentState.OnReset += timer_OnReset; timer.CurrentState.OnSkipSplit += timer_OnSkipSplit; timer.CurrentState.OnSplit += timer_OnSplit; timer.CurrentState.OnUndoSplit += timer_OnUndoSplit; timer.CurrentState.OnPause += timer_OnPause; timer.CurrentState.OnResume += timer_OnResume; Logging.Write("[Component] Component created."); }
public ProcessControl(CrashMemory memory, DataControl data, HotkeyControl hotkeys, HelperForm parent) { this.memory = memory; this.data = data; this.hotkeys = hotkeys; this.parent = parent; InitializeComponent(); processTimer = new Timer(); processTimer.Interval = 1000; processTimer.Tick += (sender, e) => { retryTimeRemaining--; if (retryTimeRemaining == 0) { Rescan(); } else { processLabel.Text = $"Process {filler}. Retrying in {retryTimeRemaining}..."; } }; filler = "not found"; }
public DataControl(CrashMemory memory) { this.memory = memory; memory.Lives.OnValueChange += OnLivesChange; memory.Masks.OnValueChange += OnMasksChange; InitializeComponent(); }
public HelperForm() { InitializeComponent(); memory = new CrashMemory(); dataControl = new DataControl(memory); hotkeyControl = new HotkeyControl(memory, dataControl); processControl = new ProcessControl(memory, dataControl, hotkeyControl, this); flowLayoutPanel.Controls.Add(processControl); flowLayoutPanel.Controls.Add(dataControl); flowLayoutPanel.Controls.Add(hotkeyControl); flowLayoutPanel.Height--; refreshTimer = new Timer { Interval = (int)(1000f / Framerate), }; refreshTimer.Tick += (sender, e) => { RefreshHelper(); }; processControl.Rescan(); }
public CrashComponent() { settings = new CrashControl(); memory = new CrashMemory(); memory.Fade.OnValueChange += OnFadeChange; memory.Stage.OnValueChange += OnStageChange; memory.Boxes.OnValueChange += (oldBoxes, newBoxes) => { if (settings.DisplayBoxes) { boxDisplay.BoxCount = newBoxes; } }; hubSet = new HashSet <Stages> { Stages.TheWumpaIslands, Stages.NSanityIsland, Stages.CortexIsland, Stages.TheWarpRoom, Stages.TheTimeTwister }; StageData[] crash1Data = LoadStageData("Crash1.xml"); StageData[] crash2Data = LoadStageData("Crash2.xml"); StageData[] crash3Data = LoadStageData("Crash3.xml"); stageArray = new StageData[Enum.GetValues(typeof(Stages)).Length]; for (int i = 0; i < crash1Data.Length; i++) { stageArray[i + (int)Stages.NSanityBeach] = crash1Data[i]; } for (int i = 0; i < crash2Data.Length; i++) { stageArray[i + (int)Stages.TurtleWoods] = crash2Data[i]; } for (int i = 0; i < crash3Data.Length; i++) { stageArray[i + (int)Stages.ToadVillage] = crash3Data[i]; } stageMap = new Dictionary <string, Stages> { // Crash 1 { "N. SANITY BEACH", Stages.NSanityBeach }, { "JUNGLE ROLLERS", Stages.JungleRollers }, { "THE GREAT GATE", Stages.TheGreatGate }, { "BOULDERS", Stages.Boulders }, { "UPSTREAM", Stages.Upstream }, { "ROLLING STONES", Stages.RollingStones }, { "HOG WILD", Stages.HogWild }, { "NATIVE FORTRESS", Stages.NativeFortress }, { "UP THE CREEK", Stages.UpTheCreek }, { "THE LOST CITY", Stages.TheLostCity }, { "TEMPLE RUINS", Stages.TempleRuins }, { "ROAD TO NOWHERE", Stages.RoadToNowhere }, { "BOULDER DASH", Stages.BoulderDash }, { "WHOLE HOG", Stages.WholeHog }, { "SUNSET VISTA", Stages.SunsetVista }, { "HEAVY MACHINERY", Stages.HeavyMachinery }, { "CORTEX POWER", Stages.CortexPower }, { "GENERATOR ROOM", Stages.GeneratorRoom }, { "TOXIC WASTE", Stages.ToxicWaste }, { "THE HIGH ROAD", Stages.TheHighRoad }, { "SLIPPERY CLIMB", Stages.SlipperyClimb }, { "LIGHTS OUT", Stages.LightsOut }, { "FUMBLING IN THE DARK", Stages.FumblingInTheDark }, { "JAWS OF DARKNESS", Stages.JawsOfDarkness }, { "CASTLE MACHINERY", Stages.CastleMachinery }, { "THE LAB", Stages.TheLab }, { "THE GREAT HALL", Stages.TheGreatHall }, { "STORMY ASCENT", Stages.StormyAscent }, { "PAPU PAPU", Stages.PapuPapu }, { "KOALA KONG", Stages.KoalaKong }, { "PINSTRIPE POTOROO", Stages.PinstripePotoroo }, { "DR. NITRUS BRIO", Stages.DrNitrusBrio }, // Crash 2 { "TURTLE WOODS", Stages.TurtleWoods }, { "SNOW GO", Stages.SnowGo }, { "HANG EIGHT", Stages.HangEight }, { "THE PITS", Stages.ThePits }, { "CRASH DASH", Stages.CrashDash }, { "AIR CRASH", Stages.AirCrash }, { "SNOW BIZ", Stages.SnowBiz }, { "BEAR IT", Stages.BearIt }, { "CRASH CRUSH", Stages.CrashCrush }, { "THE EEL DEAL", Stages.TheEelDeal }, { "PLANT FOOD", Stages.PlantFood }, { "SEWER OR LATER", Stages.SewerOrLater }, { "BEAR DOWN", Stages.BearDown }, { "ROAD TO RUIN", Stages.RoadToRuin }, { "UN-BEARABLE", Stages.UnBearable }, { "HANGIN' OUT", Stages.HanginOut }, { "DIGGIN' IT", Stages.DigginIt }, { "COLD HARD CRASH", Stages.ColdHardCrash }, { "RUINATION", Stages.Ruination }, { "BEE-HAVING", Stages.BeeHaving }, { "PISTON IT AWAY", Stages.PistonItAway }, { "ROCK IT", Stages.RockIt }, { "NIGHT FIGHT", Stages.NightFight }, { "PACK ATTACK", Stages.PackAttack }, { "SPACED OUT", Stages.SpacedOut }, { "TOTALLY BEAR", Stages.TotallyBear }, { "TOTALLY FLY", Stages.TotallyFly }, { "KOMODO BROTHERS", Stages.KomodoBrothers }, // Crash 3 { "TOAD VILLAGE", Stages.ToadVillage }, { "UNDER PRESSURE", Stages.UnderPressure }, { "ORIENT EXPRESS", Stages.OrientExpress }, { "BONE YARD", Stages.BoneYard }, { "MAKIN' WAVES", Stages.MakinWaves }, { "GEE WIZ", Stages.GeeWiz }, { "HANG'EM HIGH", Stages.HangEmHigh }, { "HOG RIDE", Stages.HogRide }, { "TOMB TIME", Stages.TombTime }, { "MIDNIGHT RUN", Stages.MidnightRun }, { "DINO MIGHT!", Stages.DinoMight }, { "DEEP TROUBLE", Stages.DeepTrouble }, { "HIGH TIME", Stages.HighTime }, { "ROAD CRASH", Stages.RoadCrash }, { "DOUBLE HEADER", Stages.DoubleHeader }, { "SPHYNXINATOR", Stages.Sphynxinator }, { "BYE BYE BLIMPS", Stages.ByeByeBlimps }, { "TELL NO TALES", Stages.TellNoTales }, { "FUTURE FRENZY", Stages.FutureFrenzy }, { "TOMB WADER", Stages.TombWader }, { "GONE TOMORROW", Stages.GoneTomorrow }, { "ORANGE ASPHALT", Stages.OrangeAsphalt }, { "FLAMING PASSION", Stages.FlamingPassion }, { "MAD BOMBERS", Stages.MadBombers }, { "BUG LITE", Stages.BugLite }, { "SKI CRAZED", Stages.SkiCrazed }, { "AREA 51?", Stages.Area51 }, { "RINGS OF POWER", Stages.RingsOfPower }, { "HOT COCO", Stages.HotCoco }, { "EGGIPUS REX", Stages.EggipusRex }, { "DINGODILE", Stages.Dingodile }, { "DR. N. TROPY", Stages.DrNTropy }, { "FUTURE TENSE", Stages.FutureTense }, // Repeated bosses { "RIPPER ROO", Stages.RipperRoo }, { "TINY TIGER", Stages.TinyTiger }, { "DR. N. GIN", Stages.DrNGin }, { "DR. NEO CORTEX", Stages.DrNeoCortex }, // Hubs { "N. SANITY ISLANDS", Stages.NSanityIsland }, { "THE WUMPA ISLANDS", Stages.TheWumpaIslands }, { "CORTEX ISLANDS", Stages.CortexIsland }, { "THE WARP ROOM", Stages.TheWarpRoom }, { "THE TIME TWISTER", Stages.TheTimeTwister } }; Logging.Write("[Component] Component created."); }