public void ChangingSkyAndCloudColors_ChangesPulsedColors(string sky, string cloud, string outerBorder, string innerBorder) { var rom = new MegaMan2Rom(_romBytes); var stage = rom.Stages.AirMan; stage.SkyColor = Color.Parse(sky); stage.CloudColor = Color.Parse(cloud); stage.CloudOuterBorderColor = Color.Parse(outerBorder); stage.CloudInnerBorderColor = Color.Parse(innerBorder); Assert.Equal(sky, stage.SkyColor.Name); Assert.Equal(cloud, stage.CloudColor.Name); Assert.Equal(outerBorder, stage.CloudOuterBorderColor.Name); Assert.Equal(innerBorder, stage.CloudInnerBorderColor.Name); Assert.Equal(innerBorder, new Color(rom.Bytes[Addresses.AirStageCloudInnerBorderColorFrame0]).Name); Assert.Equal(innerBorder, new Color(rom.Bytes[Addresses.AirStageCloudInnerBorderColorFrame1]).Name); Assert.Equal(cloud, new Color(rom.Bytes[Addresses.AirStageCloudInnerBorderColorFrame2]).Name); Assert.Equal(cloud, new Color(rom.Bytes[Addresses.AirStageCloudInnerBorderColorFrame3]).Name); Assert.Equal(cloud, new Color(rom.Bytes[Addresses.AirStageCloudInnerBorderColorFrame4]).Name); Assert.Equal(outerBorder, new Color(rom.Bytes[Addresses.AirStageCloudOuterBorderColorFrame0]).Name); Assert.Equal(outerBorder, new Color(rom.Bytes[Addresses.AirStageCloudOuterBorderColorFrame1]).Name); Assert.Equal(innerBorder, new Color(rom.Bytes[Addresses.AirStageCloudOuterBorderColorFrame2]).Name); Assert.Equal(cloud, new Color(rom.Bytes[Addresses.AirStageCloudOuterBorderColorFrame3]).Name); Assert.Equal(innerBorder, new Color(rom.Bytes[Addresses.AirStageCloudOuterBorderColorFrame4]).Name); }
public void CloudInnerBorderColor_IsVeryLightBlue() { var rom = new MegaMan2Rom(_romBytes); var veryLightBlue = new Color(Chrominance.Blue, Luma.VeryLight); Assert.Equal(veryLightBlue, rom.Stages.AirMan.CloudInnerBorderColor); }
public void DefaultCutSceneText(string expected, int address) { var rom = new MegaMan2Rom(_romBytes); string actual = Text.DecodeCutScene(rom.Bytes, address); Assert.Equal(expected, actual); }
public void HeatMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.AtomicFire, rom.RobotMasters.HeatMan.WeaponOnDefeat); Assert.Equal(ItemId.Item1, rom.RobotMasters.HeatMan.ItemOnDefeat); }
public void SkyColor_IsLightBlue() { var rom = new MegaMan2Rom(_romBytes); var lightBlue = new Color(Chrominance.Blue, Luma.Light); Assert.Equal(lightBlue, rom.Stages.AirMan.SkyColor); }
public void WoodMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.LeafShield, rom.RobotMasters.WoodMan.WeaponOnDefeat); Assert.Equal(ItemId.None, rom.RobotMasters.WoodMan.ItemOnDefeat); }
public void FlashMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.TimeStopper, rom.RobotMasters.FlashMan.WeaponOnDefeat); Assert.Equal(ItemId.Item3, rom.RobotMasters.FlashMan.ItemOnDefeat); }
public void CrashMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.CrashBomber, rom.RobotMasters.CrashMan.WeaponOnDefeat); Assert.Equal(ItemId.None, rom.RobotMasters.CrashMan.ItemOnDefeat); }
public void MetalMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.MetalBlade, rom.RobotMasters.MetalMan.WeaponOnDefeat); Assert.Equal(ItemId.None, rom.RobotMasters.MetalMan.ItemOnDefeat); }
public void ChangingBusterColor_ChangesMultipleLocations() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal("Light Cyan", new Color(rom.Bytes[Addresses.BusterColor1]).Name); Assert.Equal("Blue", new Color(rom.Bytes[Addresses.BusterColor2]).Name); Assert.Equal("Light Cyan", new Color(rom.Bytes[Addresses.BusterColor1CutScene]).Name); Assert.Equal("Light Cyan", new Color(rom.Bytes[Addresses.BusterColor1CutSceneBoots]).Name); Assert.Equal("Blue", new Color(rom.Bytes[Addresses.BusterColor2CutScene]).Name); Assert.Equal("Blue", new Color(rom.Bytes[Addresses.BusterColor2CutSceneBoots]).Name); Assert.Equal("Light Cyan", new Color(rom.Bytes[Addresses.BusterColor1TitleScreen]).Name); Assert.Equal("Blue", new Color(rom.Bytes[Addresses.BusterColor2TitleScreen]).Name); rom.MegaMan.BusterPrimaryColor = new Color(Chrominance.Black, Luma.Medium); rom.MegaMan.BusterSecondaryColor = new Color(Chrominance.Red, Luma.Dark); Assert.Equal("Black", new Color(rom.Bytes[Addresses.BusterColor1]).Name); Assert.Equal("Dark Red", new Color(rom.Bytes[Addresses.BusterColor2]).Name); Assert.Equal("Black", new Color(rom.Bytes[Addresses.BusterColor1CutScene]).Name); Assert.Equal("Black", new Color(rom.Bytes[Addresses.BusterColor1CutSceneBoots]).Name); Assert.Equal("Dark Red", new Color(rom.Bytes[Addresses.BusterColor2CutScene]).Name); Assert.Equal("Dark Red", new Color(rom.Bytes[Addresses.BusterColor2CutSceneBoots]).Name); Assert.Equal("Black", new Color(rom.Bytes[Addresses.BusterColor1TitleScreen]).Name); Assert.Equal("Dark Red", new Color(rom.Bytes[Addresses.BusterColor2TitleScreen]).Name); // TODO: Find addresses for final cut scene at end of game }
public void QuickMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.QuickBoomerang, rom.RobotMasters.QuickMan.WeaponOnDefeat); Assert.Equal(ItemId.None, rom.RobotMasters.QuickMan.ItemOnDefeat); }
public void AirMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.AirShooter, rom.RobotMasters.AirMan.WeaponOnDefeat); Assert.Equal(ItemId.Item2, rom.RobotMasters.AirMan.ItemOnDefeat); }
public void BubbleMan_DefaultEquipment() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(WeaponId.BubbleLead, rom.RobotMasters.BubbleMan.WeaponOnDefeat); Assert.Equal(ItemId.None, rom.RobotMasters.BubbleMan.ItemOnDefeat); }
public void SetWeaponOptions(MegaMan2Rom rom, TimeStopperOptionsViewModel model) { var timeStopper = rom.Weapons.TimeStopper; SetBaseWeaponOptions(timeStopper, model); timeStopper.DelayBeforeDrain = model.DelayBeforeDrain; timeStopper.DrainRateDelay = model.DrainRateDelay; }
public void MenuOptions_DefaultColors() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal(new Color(Chrominance.Crimson, Luma.VeryLight), rom.StartMenu.BorderColor); Assert.Equal(new Color(Chrominance.Blue, Luma.Light), rom.StartMenu.BackgroundColor); Assert.Equal(new Color(Chrominance.Blue, Luma.Medium), rom.StartMenu.ShadowColor); }
public void BusterLetterCode_CanBeChanged() { var rom = new MegaMan2Rom(_romBytes); Assert.Equal('P', rom.MegaMan.BusterLetterCode); rom.MegaMan.BusterLetterCode = 'M'; Assert.Equal('M', rom.MegaMan.BusterLetterCode); }
public void SettingStageName_PreservesGivenWhiteSpace(string name, string line1, string line2) { var rom = new MegaMan2Rom(_romBytes); rom.Stages.AirMan.Name = name; Assert.Equal(line1, rom.Stages.AirMan.NameLine1); Assert.Equal(line2, rom.Stages.AirMan.NameLine2); }
public void RunSpeed_CanBeChanged(string valueText) { var value = decimal.Parse(valueText); var rom = new MegaMan2Rom(_romBytes); rom.RobotMasters.FlashMan.RunSpeed = value; Assert.Equal(value, rom.RobotMasters.FlashMan.RunSpeed); }
public void SettingStageName_SplitsOnLineBreak_PadsWithWhiteSpace(string name, string line1, string line2) { var rom = new MegaMan2Rom(_romBytes); rom.Stages.AirMan.Name = name; Assert.Equal(line1, rom.Stages.AirMan.NameLine1); Assert.Equal(line2, rom.Stages.AirMan.NameLine2); }
public void LadderClimbSpeed_CanBeChanged(string valueText) { var value = decimal.Parse(valueText); var rom = new MegaMan2Rom(_romBytes); rom.MegaMan.LadderClimbSpeed = value; Assert.Equal(value, rom.MegaMan.LadderClimbSpeed); }
public void DefaultNamesAndLetterCodes(WeaponId weaponId, string name, char letterCode) { var rom = new MegaMan2Rom(_romBytes); IWeaponOptions weaponOptions = rom.Weapons.GetWeaponOptions(weaponId); Assert.Equal(weaponId, weaponOptions.WeaponId); Assert.Equal(name, weaponOptions.Name); Assert.Equal(letterCode, weaponOptions.LetterCode); }
public void DefaultWeaponColors(WeaponId weaponId, string primaryColor, string secondaryColor) { var rom = new MegaMan2Rom(_romBytes); IWeaponOptions weaponOptions = rom.Weapons.GetWeaponOptions(weaponId); Assert.Equal(weaponId, weaponOptions.WeaponId); Assert.Equal(primaryColor, weaponOptions.PrimaryColor.Name); Assert.Equal(secondaryColor, weaponOptions.SecondaryColor.Name); }
public void SetRobotMasterOptions(MegaMan2Rom rom, CrashManOptionsViewModel model) { var crashMan = rom.RobotMasters.CrashMan; SetBaseRobotMasterOptions(crashMan, model); crashMan.JumpHeight = model.JumpHeight; crashMan.ProjectileSpeed = model.ProjectileSpeed; crashMan.WalkSpeed = model.WalkSpeed; }
public void SetWeaponOptions(MegaMan2Rom rom, MetalBladeOptionsViewModel model) { var metalBlade = rom.Weapons.MetalBlade; SetBaseWeaponOptions(metalBlade, model); metalBlade.MaxShots = model.MaxShots; metalBlade.ShotsPerAmmo = model.ShotsPerAmmo; metalBlade.Speed = model.ProjectileSpeed; }
public void SetWeaponOptions(MegaMan2Rom rom, CrashBomberOptionsViewModel model) { var crashBomber = rom.Weapons.CrashBomber; SetBaseWeaponOptions(crashBomber, model); crashBomber.AmmoUsed = model.AmmoUsed; crashBomber.DetonationDelay = model.DetonationDelay; crashBomber.HorizontalSpeed = model.HorizontalSpeed; crashBomber.VerticalSpeed = model.VerticalSpeed; }
public void SetWeaponOptions(MegaMan2Rom rom, LeafShieldOptionsViewModel model) { var leafShield = rom.Weapons.LeafShield; SetBaseWeaponOptions(leafShield, model); leafShield.AmmoUsed = model.AmmoUsed; leafShield.DeployDelay = model.DeployDelay; leafShield.HorizontalSpeed = model.ProjectileSpeed; leafShield.VerticalSpeed = model.ProjectileSpeed; }
public void TornadoPatterns_Has5Patterns_With6TornadoesPerPattern() { var rom = new MegaMan2Rom(_romBytes); var airMan = rom.RobotMasters.AirMan; Assert.Equal(5, airMan.Patterns.Count); foreach (TornadoPattern pattern in airMan.Patterns) { Assert.Equal(6, pattern.Tornados.Count); } }
public void SetRobotMasterOptions(MegaMan2Rom rom, MetalManOptionsViewModel model) { var metalMan = rom.RobotMasters.MetalMan; SetBaseRobotMasterOptions(metalMan, model); metalMan.BladeColor = Color.Parse(model.BladeColor); metalMan.Jump1Height = model.Jump1Height; metalMan.Jump2Height = model.Jump2Height; metalMan.Jump3Height = model.Jump3Height; metalMan.ProjectileSpeed = model.ProjectileSpeed; }
public void SetWeaponOptions(MegaMan2Rom rom, AirShooterOptionsViewModel model) { var airShooter = rom.Weapons.AirShooter; SetBaseWeaponOptions(airShooter, model); airShooter.ProjectileCount = model.ProjectileCount; airShooter.ProjectileVerticalAcceleration = model.VerticalAcceleration; airShooter.Projectile1HorizontalSpeed = model.Projectile1HorizontalSpeed; airShooter.Projectile2HorizontalSpeed = model.Projectile2HorizontalSpeed; airShooter.Projectile3HorizontalSpeed = model.Projectile3HorizontalSpeed; }
public void SetRobotMasterOptions(MegaMan2Rom rom, FlashManOptionsViewModel model) { var flashMan = rom.RobotMasters.FlashMan; SetBaseRobotMasterOptions(flashMan, model); flashMan.RunSpeed = model.RunSpeed; flashMan.JumpDistance = model.JumpDistance; flashMan.JumpHeight = model.JumpHeight; flashMan.ProjectileCount = model.ProjectileCount; flashMan.ProjectileSpeed = model.ProjectileSpeed; flashMan.TimeStopperDelay = model.TimeStopperDelay; }