예제 #1
0
        public void ByteStreamToStringTest()
        {
            string expected = "0000 000F";

            byte[] b = new byte[] { 0x00, 0x00, 0x00, 0x0F };

            string result = PaletteHelper.ByteStreamToString(b);

            Assert.AreEqual(expected, result);

            expected = "0500 0007 0800 2A02";
            b        = new byte[] { 0x05, 0x00, 0x00, 0x07, 0x08, 0x00, 0x2A, 0x02 };

            result = PaletteHelper.ByteStreamToString(b);
            Assert.AreEqual(expected, result);
        }
예제 #2
0
        public void WriteByteStreamBasicTest()
        {
            // test #1
            // check that a bis0sprite's byte representation is what we expect
            string s_expected    = PaletteHelper.ByteStreamToString(CharacterConfig.GetSpriteResourceFromRom(CharacterConfig.CHARACTERS.Dictator, CharacterConfig.BUTTONS.lp));
            var    data_expected = PaletteHelper.StringToByteStream(s_expected);

            var d           = Character.CreateDefaultCharacter(CharacterConfig.CHARACTERS.Dictator, CharacterConfig.BUTTONS.lp);
            var s           = d.sprite;
            var data_result = s.ToByteStream();

            for (int i = 0; i < data_expected.Length; i++)
            {
                if (s.unusedOffsets.Contains(i))
                {
                    continue;
                }
                Assert.AreEqual(data_expected[i], data_result[i]);
            }
        }
예제 #3
0
        public void WriteByteStreamChangeFieldsTest()
        {
            var    d             = Character.CreateDefaultCharacter(CharacterConfig.CHARACTERS.Dictator, CharacterConfig.BUTTONS.lp);
            var    sprite        = d.sprite;
            string s_expected    = PaletteHelper.ByteStreamToString(CharacterConfig.GetSpriteResourceFromRom(CharacterConfig.CHARACTERS.Dictator, CharacterConfig.BUTTONS.lp));
            var    data_expected = PaletteHelper.StringToByteStream(s_expected);

            // test #2
            // modify a few fields, check that results are what we expect

            //  pads 5
            data_expected[0]          = 0x23;
            data_expected[1]          = 0x01;
            data_expected[0 + 3 * 32] = 0x23;
            data_expected[1 + 3 * 32] = 0x01;
            data_expected[0 + 4 * 32] = 0x23;
            data_expected[1 + 4 * 32] = 0x01;

            // costume 5
            data_expected[2]          = 0x12;
            data_expected[3]          = 0x03;
            data_expected[2 + 3 * 32] = 0x12;
            data_expected[3 + 3 * 32] = 0x03;
            data_expected[2 + 4 * 32] = 0x12;
            data_expected[3 + 4 * 32] = 0x03;

            sprite.SetColor("pads5", Color.FromArgb(0, 17, 34, 51));
            sprite.SetColor("costume5", Color.FromArgb(0, 51, 17, 34));

            var data_result = sprite.ToByteStream();

            for (int i = 0; i < data_expected.Length; i++)
            {
                if (sprite.unusedOffsets.Contains(i))
                {
                    continue;
                }
                Assert.AreEqual(data_expected[i], data_result[i]);
            }
        }