public void UIContextsTests_ApplicationContext_IsAbleSupportTwoPropertiesWithOneValueChanged()
        {
            //Given a defined data struct is registered
            var updateDelegateWasCalled = 0;
            var data          = new AlternateData();
            var contextTarget = ApplicationContext.BindTarget(data);

            //When a UISelector is created
            var getter = UISelector.createSelector <bool>(ApplicationContext.current, "trueOrFalse", (trueOrFalse) =>
            {
                updateDelegateWasCalled++;
            });

            var getterString = UISelector.createSelector <string>(ApplicationContext.current, "aString", (aString) =>
            {
                updateDelegateWasCalled++;
            });

            //Then I should be able to invoke the update lambda
            data.trueOrFalse = true;
            data.aString     = "changed";
            contextTarget.UpdateWith(ref data);

            //Verify Getter returned True
            Assert.IsTrue(getter(), "Getter should return True");

            //Verify Getter returned "changed"
            Assert.IsTrue(getterString().Equals("changed"), "Getter should return 'changed'");

            //Verify the update lambda was invoked
            Assert.IsTrue(updateDelegateWasCalled == 2, "Verify the update lambdas were invoked each");
        }
Esempio n. 2
0
        public override void EmptyScores()
        {
            HiscoreData hiscoreData = new HiscoreData();
            AlternateData altData = new AlternateData();

            byte[] data_converted = DecryptArray(m_data);

            hiscoreData = (HiscoreData)HiConvert.RawDeserialize(data_converted, 0, typeof(HiscoreData));
            altData = (AlternateData)HiConvert.RawDeserialize(data_converted, Marshal.SizeOf(typeof(HiscoreData)), typeof(AlternateData));

            HiConvert.ByteArrayCopy(hiscoreData.Score1, HiConvert.IntToByteArrayHex(0, hiscoreData.Score1.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score2, HiConvert.IntToByteArrayHex(0, hiscoreData.Score2.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score3, HiConvert.IntToByteArrayHex(0, hiscoreData.Score3.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score4, HiConvert.IntToByteArrayHex(0, hiscoreData.Score4.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score5, HiConvert.IntToByteArrayHex(0, hiscoreData.Score5.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score6, HiConvert.IntToByteArrayHex(0, hiscoreData.Score6.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score7, HiConvert.IntToByteArrayHex(0, hiscoreData.Score7.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score8, HiConvert.IntToByteArrayHex(0, hiscoreData.Score8.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score9, HiConvert.IntToByteArrayHex(0, hiscoreData.Score9.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score10, HiConvert.IntToByteArrayHex(0, hiscoreData.Score10.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score11, HiConvert.IntToByteArrayHex(0, hiscoreData.Score11.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score12, HiConvert.IntToByteArrayHex(0, hiscoreData.Score12.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score13, HiConvert.IntToByteArrayHex(0, hiscoreData.Score13.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score14, HiConvert.IntToByteArrayHex(0, hiscoreData.Score14.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score15, HiConvert.IntToByteArrayHex(0, hiscoreData.Score15.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score16, HiConvert.IntToByteArrayHex(0, hiscoreData.Score16.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score17, HiConvert.IntToByteArrayHex(0, hiscoreData.Score17.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score18, HiConvert.IntToByteArrayHex(0, hiscoreData.Score18.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score19, HiConvert.IntToByteArrayHex(0, hiscoreData.Score19.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score20, HiConvert.IntToByteArrayHex(0, hiscoreData.Score20.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score21, HiConvert.IntToByteArrayHex(0, hiscoreData.Score21.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score22, HiConvert.IntToByteArrayHex(0, hiscoreData.Score22.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score23, HiConvert.IntToByteArrayHex(0, hiscoreData.Score23.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score24, HiConvert.IntToByteArrayHex(0, hiscoreData.Score24.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score25, HiConvert.IntToByteArrayHex(0, hiscoreData.Score25.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score26, HiConvert.IntToByteArrayHex(0, hiscoreData.Score26.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score27, HiConvert.IntToByteArrayHex(0, hiscoreData.Score27.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score28, HiConvert.IntToByteArrayHex(0, hiscoreData.Score28.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score29, HiConvert.IntToByteArrayHex(0, hiscoreData.Score29.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score30, HiConvert.IntToByteArrayHex(0, hiscoreData.Score30.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score31, HiConvert.IntToByteArrayHex(0, hiscoreData.Score31.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score32, HiConvert.IntToByteArrayHex(0, hiscoreData.Score32.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score33, HiConvert.IntToByteArrayHex(0, hiscoreData.Score33.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score34, HiConvert.IntToByteArrayHex(0, hiscoreData.Score34.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score35, HiConvert.IntToByteArrayHex(0, hiscoreData.Score35.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score36, HiConvert.IntToByteArrayHex(0, hiscoreData.Score36.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score37, HiConvert.IntToByteArrayHex(0, hiscoreData.Score37.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score38, HiConvert.IntToByteArrayHex(0, hiscoreData.Score38.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score39, HiConvert.IntToByteArrayHex(0, hiscoreData.Score39.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score40, HiConvert.IntToByteArrayHex(0, hiscoreData.Score40.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score41, HiConvert.IntToByteArrayHex(0, hiscoreData.Score41.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score42, HiConvert.IntToByteArrayHex(0, hiscoreData.Score42.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score43, HiConvert.IntToByteArrayHex(0, hiscoreData.Score43.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score44, HiConvert.IntToByteArrayHex(0, hiscoreData.Score44.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score45, HiConvert.IntToByteArrayHex(0, hiscoreData.Score45.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score46, HiConvert.IntToByteArrayHex(0, hiscoreData.Score46.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score47, HiConvert.IntToByteArrayHex(0, hiscoreData.Score47.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score48, HiConvert.IntToByteArrayHex(0, hiscoreData.Score48.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score49, HiConvert.IntToByteArrayHex(0, hiscoreData.Score49.Length));
            HiConvert.ByteArrayCopy(hiscoreData.Score50, HiConvert.IntToByteArrayHex(0, hiscoreData.Score50.Length));

            HiConvert.ByteArrayCopy(altData.PercentAverage1, HiConvert.IntToByteArrayHex(0, altData.PercentAverage1.Length));
            HiConvert.ByteArrayCopy(altData.PercentAverage2, HiConvert.IntToByteArrayHex(0, altData.PercentAverage2.Length));
            HiConvert.ByteArrayCopy(altData.PercentAverage3, HiConvert.IntToByteArrayHex(0, altData.PercentAverage3.Length));
            HiConvert.ByteArrayCopy(altData.PercentAverage4, HiConvert.IntToByteArrayHex(0, altData.PercentAverage4.Length));
            HiConvert.ByteArrayCopy(altData.PercentAverage5, HiConvert.IntToByteArrayHex(0, altData.PercentAverage5.Length));

            HiConvert.ByteArrayCopy(altData.TimeKOBH1, HiConvert.IntToByteArrayHex(0, altData.TimeKOBH1.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOBH2, HiConvert.IntToByteArrayHex(0, altData.TimeKOBH2.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOBH3, HiConvert.IntToByteArrayHex(0, altData.TimeKOBH3.Length));

            HiConvert.ByteArrayCopy(altData.TimeKODC1, HiConvert.IntToByteArrayHex(0, altData.TimeKODC1.Length));
            HiConvert.ByteArrayCopy(altData.TimeKODC2, HiConvert.IntToByteArrayHex(0, altData.TimeKODC2.Length));
            HiConvert.ByteArrayCopy(altData.TimeKODC3, HiConvert.IntToByteArrayHex(0, altData.TimeKODC3.Length));

            HiConvert.ByteArrayCopy(altData.TimeKOVD1, HiConvert.IntToByteArrayHex(0, altData.TimeKOVD1.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOVD2, HiConvert.IntToByteArrayHex(0, altData.TimeKOVD2.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOVD3, HiConvert.IntToByteArrayHex(0, altData.TimeKOVD3.Length));

            HiConvert.ByteArrayCopy(altData.TimeKOGT1, HiConvert.IntToByteArrayHex(0, altData.TimeKOGT1.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOGT2, HiConvert.IntToByteArrayHex(0, altData.TimeKOGT2.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOGT3, HiConvert.IntToByteArrayHex(0, altData.TimeKOGT3.Length));

            HiConvert.ByteArrayCopy(altData.TimeKOSM1, HiConvert.IntToByteArrayHex(0, altData.TimeKOSM1.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOSM2, HiConvert.IntToByteArrayHex(0, altData.TimeKOSM2.Length));
            HiConvert.ByteArrayCopy(altData.TimeKOSM3, HiConvert.IntToByteArrayHex(0, altData.TimeKOSM3.Length));

            byte[] byteArray = HiConvert.RawSerialize(hiscoreData);
            byte[] byteArrayAlt = HiConvert.RawSerialize(altData);

            // Generate the Checksum, sort the data and
            // Duplicate records 1 to 20, Best 3 K.O. times and Best 5 Hit Average(nvram)
            m_data = EncryptArray(byteArray, byteArrayAlt);

            SaveData();
        }
Esempio n. 3
0
        public override void SetHiScore(string[] args)
        {
            int rankGiven = Convert.ToInt32(args[0]);
            int score = System.Convert.ToInt32(args[1]);
            string name = args[2];

            HiscoreData hiscoreData = new HiscoreData();
            AlternateData altData = new AlternateData();

            byte[] data_converted = DecryptArray(m_data);

            hiscoreData = (HiscoreData)HiConvert.RawDeserialize(data_converted, 0, typeof(HiscoreData));
            altData = (AlternateData)HiConvert.RawDeserialize(data_converted, Marshal.SizeOf(typeof(HiscoreData)), typeof(AlternateData));

            #region DETERMINE_RANK
            int rank = NumEntries;
            if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score1)))
                rank = 0;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score2)))
                rank = 1;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score3)))
                rank = 2;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score4)))
                rank = 3;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score5)))
                rank = 4;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score6)))
                rank = 5;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score7)))
                rank = 6;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score8)))
                rank = 7;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score9)))
                rank = 8;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score10)))
                rank = 9;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score11)))
                rank = 10;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score12)))
                rank = 11;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score13)))
                rank = 12;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score14)))
                rank = 13;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score15)))
                rank = 14;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score16)))
                rank = 15;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score17)))
                rank = 16;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score18)))
                rank = 17;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score19)))
                rank = 18;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score20)))
                rank = 19;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score21)))
                rank = 20;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score22)))
                rank = 21;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score23)))
                rank = 22;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score24)))
                rank = 23;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score25)))
                rank = 24;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score26)))
                rank = 25;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score27)))
                rank = 26;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score28)))
                rank = 27;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score29)))
                rank = 28;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score30)))
                rank = 29;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score31)))
                rank = 30;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score32)))
                rank = 31;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score33)))
                rank = 32;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score34)))
                rank = 33;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score35)))
                rank = 34;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score36)))
                rank = 35;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score37)))
                rank = 36;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score38)))
                rank = 37;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score39)))
                rank = 38;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score40)))
                rank = 39;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score41)))
                rank = 40;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score42)))
                rank = 41;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score43)))
                rank = 42;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score44)))
                rank = 43;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score45)))
                rank = 44;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score46)))
                rank = 45;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score47)))
                rank = 46;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score48)))
                rank = 47;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score49)))
                rank = 48;
            else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score50)))
                rank = 49;
            #endregion

            #region ADJUST
            int adjust = NumEntries - 1;
            if (rank < NumEntries - 1)
                adjust = NumEntries - 2;
            switch (adjust)
            {
                case 0:
                    HiConvert.ByteArrayCopy(hiscoreData.Score2, hiscoreData.Score1);
                    HiConvert.ByteArrayCopy(hiscoreData.Name2, hiscoreData.Name1);
                    break;
                case 1:
                    HiConvert.ByteArrayCopy(hiscoreData.Score3, hiscoreData.Score2);
                    HiConvert.ByteArrayCopy(hiscoreData.Name3, hiscoreData.Name2);
                    if (rank < 1)
                        goto case 0;
                    break;
                case 2:
                    HiConvert.ByteArrayCopy(hiscoreData.Score4, hiscoreData.Score3);
                    HiConvert.ByteArrayCopy(hiscoreData.Name4, hiscoreData.Name3);
                    if (rank < 2)
                        goto case 1;
                    break;
                case 3:
                    HiConvert.ByteArrayCopy(hiscoreData.Score5, hiscoreData.Score4);
                    HiConvert.ByteArrayCopy(hiscoreData.Name5, hiscoreData.Name4);
                    if (rank < 3)
                        goto case 2;
                    break;
                case 4:
                    HiConvert.ByteArrayCopy(hiscoreData.Score6, hiscoreData.Score5);
                    HiConvert.ByteArrayCopy(hiscoreData.Name6, hiscoreData.Name5);
                    if (rank < 4)
                        goto case 3;
                    break;
                case 5:
                    HiConvert.ByteArrayCopy(hiscoreData.Score7, hiscoreData.Score6);
                    HiConvert.ByteArrayCopy(hiscoreData.Name7, hiscoreData.Name6);
                    if (rank < 5)
                        goto case 4;
                    break;
                case 6:
                    HiConvert.ByteArrayCopy(hiscoreData.Score8, hiscoreData.Score7);
                    HiConvert.ByteArrayCopy(hiscoreData.Name8, hiscoreData.Name7);
                    if (rank < 6)
                        goto case 5;
                    break;
                case 7:
                    HiConvert.ByteArrayCopy(hiscoreData.Score9, hiscoreData.Score8);
                    HiConvert.ByteArrayCopy(hiscoreData.Name9, hiscoreData.Name8);
                    if (rank < 7)
                        goto case 6;
                    break;
                case 8:
                    HiConvert.ByteArrayCopy(hiscoreData.Score10, hiscoreData.Score9);
                    HiConvert.ByteArrayCopy(hiscoreData.Name10, hiscoreData.Name9);
                    if (rank < 8)
                        goto case 7;
                    break;
                case 9:
                    HiConvert.ByteArrayCopy(hiscoreData.Score11, hiscoreData.Score10);
                    HiConvert.ByteArrayCopy(hiscoreData.Name11, hiscoreData.Name10);
                    if (rank < 9)
                        goto case 8;
                    break;
                case 10:
                    HiConvert.ByteArrayCopy(hiscoreData.Score12, hiscoreData.Score11);
                    HiConvert.ByteArrayCopy(hiscoreData.Name12, hiscoreData.Name11);
                    if (rank < 10)
                        goto case 9;
                    break;
                case 11:
                    HiConvert.ByteArrayCopy(hiscoreData.Score13, hiscoreData.Score12);
                    HiConvert.ByteArrayCopy(hiscoreData.Name13, hiscoreData.Name12);
                    if (rank < 11)
                        goto case 10;
                    break;
                case 12:
                    HiConvert.ByteArrayCopy(hiscoreData.Score14, hiscoreData.Score13);
                    HiConvert.ByteArrayCopy(hiscoreData.Name14, hiscoreData.Name13);
                    if (rank < 12)
                        goto case 11;
                    break;
                case 13:
                    HiConvert.ByteArrayCopy(hiscoreData.Score15, hiscoreData.Score14);
                    HiConvert.ByteArrayCopy(hiscoreData.Name15, hiscoreData.Name14);
                    if (rank < 13)
                        goto case 12;
                    break;
                case 14:
                    HiConvert.ByteArrayCopy(hiscoreData.Score16, hiscoreData.Score15);
                    HiConvert.ByteArrayCopy(hiscoreData.Name16, hiscoreData.Name15);
                    if (rank < 14)
                        goto case 13;
                    break;
                case 15:
                    HiConvert.ByteArrayCopy(hiscoreData.Score17, hiscoreData.Score16);
                    HiConvert.ByteArrayCopy(hiscoreData.Name17, hiscoreData.Name16);
                    if (rank < 15)
                        goto case 14;
                    break;
                case 16:
                    HiConvert.ByteArrayCopy(hiscoreData.Score18, hiscoreData.Score17);
                    HiConvert.ByteArrayCopy(hiscoreData.Name18, hiscoreData.Name17);
                    if (rank < 16)
                        goto case 15;
                    break;
                case 17:
                    HiConvert.ByteArrayCopy(hiscoreData.Score19, hiscoreData.Score18);
                    HiConvert.ByteArrayCopy(hiscoreData.Name19, hiscoreData.Name18);
                    if (rank < 17)
                        goto case 16;
                    break;
                case 18:
                    HiConvert.ByteArrayCopy(hiscoreData.Score20, hiscoreData.Score19);
                    HiConvert.ByteArrayCopy(hiscoreData.Name20, hiscoreData.Name19);
                    if (rank < 18)
                        goto case 17;
                    break;
                case 19:
                    HiConvert.ByteArrayCopy(hiscoreData.Score21, hiscoreData.Score20);
                    HiConvert.ByteArrayCopy(hiscoreData.Name21, hiscoreData.Name20);
                    if (rank < 19)
                        goto case 18;
                    break;
                case 20:
                    HiConvert.ByteArrayCopy(hiscoreData.Score22, hiscoreData.Score21);
                    HiConvert.ByteArrayCopy(hiscoreData.Name22, hiscoreData.Name21);
                    if (rank < 20)
                        goto case 19;
                    break;
                case 21:
                    HiConvert.ByteArrayCopy(hiscoreData.Score23, hiscoreData.Score22);
                    HiConvert.ByteArrayCopy(hiscoreData.Name23, hiscoreData.Name22);
                    if (rank < 21)
                        goto case 20;
                    break;
                case 22:
                    HiConvert.ByteArrayCopy(hiscoreData.Score24, hiscoreData.Score23);
                    HiConvert.ByteArrayCopy(hiscoreData.Name24, hiscoreData.Name23);
                    if (rank < 22)
                        goto case 21;
                    break;
                case 23:
                    HiConvert.ByteArrayCopy(hiscoreData.Score25, hiscoreData.Score24);
                    HiConvert.ByteArrayCopy(hiscoreData.Name25, hiscoreData.Name24);
                    if (rank < 23)
                        goto case 22;
                    break;
                case 24:
                    HiConvert.ByteArrayCopy(hiscoreData.Score26, hiscoreData.Score25);
                    HiConvert.ByteArrayCopy(hiscoreData.Name26, hiscoreData.Name25);
                    if (rank < 24)
                        goto case 23;
                    break;
                case 25:
                    HiConvert.ByteArrayCopy(hiscoreData.Score27, hiscoreData.Score26);
                    HiConvert.ByteArrayCopy(hiscoreData.Name27, hiscoreData.Name26);
                    if (rank < 25)
                        goto case 24;
                    break;
                case 26:
                    HiConvert.ByteArrayCopy(hiscoreData.Score28, hiscoreData.Score27);
                    HiConvert.ByteArrayCopy(hiscoreData.Name28, hiscoreData.Name27);
                    if (rank < 26)
                        goto case 25;
                    break;
                case 27:
                    HiConvert.ByteArrayCopy(hiscoreData.Score29, hiscoreData.Score28);
                    HiConvert.ByteArrayCopy(hiscoreData.Name29, hiscoreData.Name28);
                    if (rank < 27)
                        goto case 26;
                    break;
                case 28:
                    HiConvert.ByteArrayCopy(hiscoreData.Score30, hiscoreData.Score29);
                    HiConvert.ByteArrayCopy(hiscoreData.Name30, hiscoreData.Name29);
                    if (rank < 28)
                        goto case 27;
                    break;
                case 29:
                    HiConvert.ByteArrayCopy(hiscoreData.Score31, hiscoreData.Score30);
                    HiConvert.ByteArrayCopy(hiscoreData.Name31, hiscoreData.Name30);
                    if (rank < 29)
                        goto case 28;
                    break;
                case 30:
                    HiConvert.ByteArrayCopy(hiscoreData.Score32, hiscoreData.Score31);
                    HiConvert.ByteArrayCopy(hiscoreData.Name32, hiscoreData.Name31);
                    if (rank < 30)
                        goto case 29;
                    break;
                case 31:
                    HiConvert.ByteArrayCopy(hiscoreData.Score33, hiscoreData.Score32);
                    HiConvert.ByteArrayCopy(hiscoreData.Name33, hiscoreData.Name32);
                    if (rank < 31)
                        goto case 30;
                    break;
                case 32:
                    HiConvert.ByteArrayCopy(hiscoreData.Score34, hiscoreData.Score33);
                    HiConvert.ByteArrayCopy(hiscoreData.Name34, hiscoreData.Name33);
                    if (rank < 32)
                        goto case 31;
                    break;
                case 33:
                    HiConvert.ByteArrayCopy(hiscoreData.Score35, hiscoreData.Score34);
                    HiConvert.ByteArrayCopy(hiscoreData.Name35, hiscoreData.Name34);
                    if (rank < 33)
                        goto case 32;
                    break;
                case 34:
                    HiConvert.ByteArrayCopy(hiscoreData.Score36, hiscoreData.Score35);
                    HiConvert.ByteArrayCopy(hiscoreData.Name36, hiscoreData.Name35);
                    if (rank < 34)
                        goto case 33;
                    break;
                case 35:
                    HiConvert.ByteArrayCopy(hiscoreData.Score37, hiscoreData.Score36);
                    HiConvert.ByteArrayCopy(hiscoreData.Name37, hiscoreData.Name36);
                    if (rank < 35)
                        goto case 34;
                    break;
                case 36:
                    HiConvert.ByteArrayCopy(hiscoreData.Score38, hiscoreData.Score37);
                    HiConvert.ByteArrayCopy(hiscoreData.Name38, hiscoreData.Name37);
                    if (rank < 36)
                        goto case 35;
                    break;
                case 37:
                    HiConvert.ByteArrayCopy(hiscoreData.Score39, hiscoreData.Score38);
                    HiConvert.ByteArrayCopy(hiscoreData.Name39, hiscoreData.Name38);
                    if (rank < 37)
                        goto case 36;
                    break;
                case 38:
                    HiConvert.ByteArrayCopy(hiscoreData.Score40, hiscoreData.Score39);
                    HiConvert.ByteArrayCopy(hiscoreData.Name40, hiscoreData.Name39);
                    if (rank < 38)
                        goto case 37;
                    break;
                case 39:
                    HiConvert.ByteArrayCopy(hiscoreData.Score41, hiscoreData.Score40);
                    HiConvert.ByteArrayCopy(hiscoreData.Name41, hiscoreData.Name40);
                    if (rank < 39)
                        goto case 38;
                    break;
                case 40:
                    HiConvert.ByteArrayCopy(hiscoreData.Score42, hiscoreData.Score41);
                    HiConvert.ByteArrayCopy(hiscoreData.Name42, hiscoreData.Name41);
                    if (rank < 40)
                        goto case 39;
                    break;
                case 41:
                    HiConvert.ByteArrayCopy(hiscoreData.Score43, hiscoreData.Score42);
                    HiConvert.ByteArrayCopy(hiscoreData.Name43, hiscoreData.Name42);
                    if (rank < 41)
                        goto case 40;
                    break;
                case 42:
                    HiConvert.ByteArrayCopy(hiscoreData.Score44, hiscoreData.Score43);
                    HiConvert.ByteArrayCopy(hiscoreData.Name44, hiscoreData.Name43);
                    if (rank < 42)
                        goto case 41;
                    break;
                case 43:
                    HiConvert.ByteArrayCopy(hiscoreData.Score45, hiscoreData.Score44);
                    HiConvert.ByteArrayCopy(hiscoreData.Name45, hiscoreData.Name44);
                    if (rank < 43)
                        goto case 42;
                    break;
                case 44:
                    HiConvert.ByteArrayCopy(hiscoreData.Score46, hiscoreData.Score45);
                    HiConvert.ByteArrayCopy(hiscoreData.Name46, hiscoreData.Name45);
                    if (rank < 44)
                        goto case 43;
                    break;
                case 45:
                    HiConvert.ByteArrayCopy(hiscoreData.Score47, hiscoreData.Score46);
                    HiConvert.ByteArrayCopy(hiscoreData.Name47, hiscoreData.Name46);
                    if (rank < 45)
                        goto case 44;
                    break;
                case 46:
                    HiConvert.ByteArrayCopy(hiscoreData.Score48, hiscoreData.Score47);
                    HiConvert.ByteArrayCopy(hiscoreData.Name48, hiscoreData.Name47);
                    if (rank < 46)
                        goto case 45;
                    break;
                case 47:
                    HiConvert.ByteArrayCopy(hiscoreData.Score49, hiscoreData.Score48);
                    HiConvert.ByteArrayCopy(hiscoreData.Name49, hiscoreData.Name48);
                    if (rank < 47)
                        goto case 46;
                    break;
                case 48:
                    HiConvert.ByteArrayCopy(hiscoreData.Score50, hiscoreData.Score49);
                    HiConvert.ByteArrayCopy(hiscoreData.Name50, hiscoreData.Name49);
                    if (rank < 48)
                        goto case 47;
                    break;
            }
            #endregion

            #region REPLACE_NEW
            switch (rank)
            {
                case 0:
                    HiConvert.ByteArrayCopy(hiscoreData.Name1, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score1.Length)));
                    break;
                case 1:
                    HiConvert.ByteArrayCopy(hiscoreData.Name2, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score2.Length)));
                    break;
                case 2:
                    HiConvert.ByteArrayCopy(hiscoreData.Name3, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score3.Length)));
                    break;
                case 3:
                    HiConvert.ByteArrayCopy(hiscoreData.Name4, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score4, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score4.Length)));
                    break;
                case 4:
                    HiConvert.ByteArrayCopy(hiscoreData.Name5, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score5, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score5.Length)));
                    break;
                case 5:
                    HiConvert.ByteArrayCopy(hiscoreData.Name6, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score6, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score6.Length)));
                    break;
                case 6:
                    HiConvert.ByteArrayCopy(hiscoreData.Name7, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score7, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score7.Length)));
                    break;
                case 7:
                    HiConvert.ByteArrayCopy(hiscoreData.Name8, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score8, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score8.Length)));
                    break;
                case 8:
                    HiConvert.ByteArrayCopy(hiscoreData.Name9, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score9, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score9.Length)));
                    break;
                case 9:
                    HiConvert.ByteArrayCopy(hiscoreData.Name10, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score10, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score10.Length)));
                    break;
                case 10:
                    HiConvert.ByteArrayCopy(hiscoreData.Name11, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score11, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score11.Length)));
                    break;
                case 11:
                    HiConvert.ByteArrayCopy(hiscoreData.Name12, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score12, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score12.Length)));
                    break;
                case 12:
                    HiConvert.ByteArrayCopy(hiscoreData.Name13, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score13, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score13.Length)));
                    break;
                case 13:
                    HiConvert.ByteArrayCopy(hiscoreData.Name14, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score14, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score14.Length)));
                    break;
                case 14:
                    HiConvert.ByteArrayCopy(hiscoreData.Name15, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score15, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score15.Length)));
                    break;
                case 15:
                    HiConvert.ByteArrayCopy(hiscoreData.Name16, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score16, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score16.Length)));
                    break;
                case 16:
                    HiConvert.ByteArrayCopy(hiscoreData.Name17, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score17, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score17.Length)));
                    break;
                case 17:
                    HiConvert.ByteArrayCopy(hiscoreData.Name18, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score18, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score18.Length)));
                    break;
                case 18:
                    HiConvert.ByteArrayCopy(hiscoreData.Name19, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score19, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score19.Length)));
                    break;
                case 19:
                    HiConvert.ByteArrayCopy(hiscoreData.Name20, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score20, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score20.Length)));
                    break;
                case 20:
                    HiConvert.ByteArrayCopy(hiscoreData.Name21, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score21, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score21.Length)));
                    break;
                case 21:
                    HiConvert.ByteArrayCopy(hiscoreData.Name22, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score22, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score22.Length)));
                    break;
                case 22:
                    HiConvert.ByteArrayCopy(hiscoreData.Name23, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score23, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score23.Length)));
                    break;
                case 23:
                    HiConvert.ByteArrayCopy(hiscoreData.Name24, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score24, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score24.Length)));
                    break;
                case 24:
                    HiConvert.ByteArrayCopy(hiscoreData.Name25, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score25, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score25.Length)));
                    break;
                case 25:
                    HiConvert.ByteArrayCopy(hiscoreData.Name26, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score26, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score26.Length)));
                    break;
                case 26:
                    HiConvert.ByteArrayCopy(hiscoreData.Name27, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score27, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score27.Length)));
                    break;
                case 27:
                    HiConvert.ByteArrayCopy(hiscoreData.Name28, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score28, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score28.Length)));
                    break;
                case 28:
                    HiConvert.ByteArrayCopy(hiscoreData.Name29, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score29, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score29.Length)));
                    break;
                case 29:
                    HiConvert.ByteArrayCopy(hiscoreData.Name30, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score30, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score30.Length)));
                    break;
                case 30:
                    HiConvert.ByteArrayCopy(hiscoreData.Name31, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score31, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score31.Length)));
                    break;
                case 31:
                    HiConvert.ByteArrayCopy(hiscoreData.Name32, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score32, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score32.Length)));
                    break;
                case 32:
                    HiConvert.ByteArrayCopy(hiscoreData.Name33, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score33, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score33.Length)));
                    break;
                case 33:
                    HiConvert.ByteArrayCopy(hiscoreData.Name34, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score34, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score34.Length)));
                    break;
                case 34:
                    HiConvert.ByteArrayCopy(hiscoreData.Name35, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score35, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score35.Length)));
                    break;
                case 35:
                    HiConvert.ByteArrayCopy(hiscoreData.Name36, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score36, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score36.Length)));
                    break;
                case 36:
                    HiConvert.ByteArrayCopy(hiscoreData.Name37, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score37, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score37.Length)));
                    break;
                case 37:
                    HiConvert.ByteArrayCopy(hiscoreData.Name38, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score38, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score38.Length)));
                    break;
                case 38:
                    HiConvert.ByteArrayCopy(hiscoreData.Name39, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score39, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score39.Length)));
                    break;
                case 39:
                    HiConvert.ByteArrayCopy(hiscoreData.Name40, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score40, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score40.Length)));
                    break;
                case 40:
                    HiConvert.ByteArrayCopy(hiscoreData.Name41, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score41, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score41.Length)));
                    break;
                case 41:
                    HiConvert.ByteArrayCopy(hiscoreData.Name42, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score42, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score42.Length)));
                    break;
                case 42:
                    HiConvert.ByteArrayCopy(hiscoreData.Name43, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score43, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score43.Length)));
                    break;
                case 43:
                    HiConvert.ByteArrayCopy(hiscoreData.Name44, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score44, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score44.Length)));
                    break;
                case 44:
                    HiConvert.ByteArrayCopy(hiscoreData.Name45, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score45, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score45.Length)));
                    break;
                case 45:
                    HiConvert.ByteArrayCopy(hiscoreData.Name46, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score46, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score46.Length)));
                    break;
                case 46:
                    HiConvert.ByteArrayCopy(hiscoreData.Name47, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score47, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score47.Length)));
                    break;
                case 47:
                    HiConvert.ByteArrayCopy(hiscoreData.Name48, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score48, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score48.Length)));
                    break;
                case 48:
                    HiConvert.ByteArrayCopy(hiscoreData.Name49, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score49, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score49.Length)));
                    break;
                case 49:
                    HiConvert.ByteArrayCopy(hiscoreData.Name50, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(hiscoreData.Score50, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, hiscoreData.Score50.Length)));
                    break;
            }
            #endregion

            byte[] byteArray = HiConvert.RawSerialize(hiscoreData);
            byte[] byteArrayAlt = HiConvert.RawSerialize(altData);

            // Generate the Checksum, sort the data and
            // Duplicate records 1 to 20, Best 3 K.O. times and Best 5 Hit Average(nvram)
            m_data = EncryptArray(byteArray,byteArrayAlt);
        }
Esempio n. 4
0
        public override void SetAlternateScore(string[] args)
        {
            int alternateName = GetAlternateName(args[0]);
            int rankGiven = Convert.ToInt32(args[1]);
            string name = args[3];
            int score = 0;
            switch (alternateName)
            {
                case 0:
                    score = FormatFromPercent(args[2]);
                    break;
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                    score = FormatFromTime(args[2]);
                    break;
            }

            HiscoreData hiscoreData = new HiscoreData();
            AlternateData altData = new AlternateData();

            byte[] data_converted = DecryptArray(m_data);

            hiscoreData = (HiscoreData)HiConvert.RawDeserialize(data_converted, 0, typeof(HiscoreData));
            altData = (AlternateData)HiConvert.RawDeserialize(data_converted, Marshal.SizeOf(typeof(HiscoreData)), typeof(AlternateData));

            #region DETERMINE_RANK
            int rank = NumAltEntries[alternateName];
            switch (alternateName)
            {
                case 0:
                    if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage1)))
                        rank = 0;
                    else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage2)))
                        rank = 1;
                    else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage3)))
                        rank = 2;
                    else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage4)))
                        rank = 3;
                    else if (score > HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage5)))
                        rank = 4;
                    break;
                case 1:
                    if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH1)))
                        rank = 0;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH2)))
                        rank = 1;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH3)))
                        rank = 2;
                    break;
                case 2:
                    if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC1)))
                        rank = 0;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC2)))
                        rank = 1;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC3)))
                        rank = 2;
                    break;
                case 3:
                    if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD1)))
                        rank = 0;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD2)))
                        rank = 1;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD3)))
                        rank = 2;
                    break;
                case 4:
                    if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT1)))
                        rank = 0;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT2)))
                        rank = 1;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT3)))
                        rank = 2;
                    break;
                case 5:
                    if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM1)))
                        rank = 0;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM2)))
                        rank = 1;
                    else if (score < HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM3)))
                        rank = 2;
                    break;
            }
            #endregion

            #region ADJUST
            int adjust = NumAltEntries[alternateName] - 1;
            if (rank < NumAltEntries[alternateName] - 1)
                adjust = NumAltEntries[alternateName] - 2;
            switch (alternateName)
            {
                case 0:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.PercentAverage2, altData.PercentAverage1);
                            HiConvert.ByteArrayCopy(altData.NameAverage2, altData.NameAverage1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.PercentAverage3, altData.PercentAverage2);
                            HiConvert.ByteArrayCopy(altData.NameAverage3, altData.NameAverage2);
                            if (rank < 1)
                                goto case 0;
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.PercentAverage4, altData.PercentAverage3);
                            HiConvert.ByteArrayCopy(altData.NameAverage4, altData.NameAverage3);
                            if (rank < 2)
                                goto case 1;
                            break;
                        case 3:
                            HiConvert.ByteArrayCopy(altData.PercentAverage5, altData.PercentAverage4);
                            HiConvert.ByteArrayCopy(altData.NameAverage5, altData.NameAverage4);
                            if (rank < 3)
                                goto case 2;
                            break;
                    }
                    break;
                case 1:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.TimeKOBH2, altData.TimeKOBH1);
                            HiConvert.ByteArrayCopy(altData.NameKOBH2, altData.NameKOBH1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.TimeKOBH3, altData.TimeKOBH2);
                            HiConvert.ByteArrayCopy(altData.NameKOBH3, altData.NameKOBH2);
                            if (rank < 1)
                                goto case 0;
                            break;
                    }
                    break;
                case 2:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.TimeKODC2, altData.TimeKODC1);
                            HiConvert.ByteArrayCopy(altData.NameKODC2, altData.NameKODC1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.TimeKODC3, altData.TimeKODC2);
                            HiConvert.ByteArrayCopy(altData.NameKODC3, altData.NameKODC2);
                            if (rank < 1)
                                goto case 0;
                            break;
                    }
                    break;
                case 3:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.TimeKOVD2, altData.TimeKOVD1);
                            HiConvert.ByteArrayCopy(altData.NameKOVD2, altData.NameKOVD1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.TimeKOVD3, altData.TimeKOVD2);
                            HiConvert.ByteArrayCopy(altData.NameKOVD3, altData.NameKOVD2);
                            if (rank < 1)
                                goto case 0;
                            break;
                    }
                    break;
                case 4:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.TimeKOGT2, altData.TimeKOGT1);
                            HiConvert.ByteArrayCopy(altData.NameKOGT2, altData.NameKOGT1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.TimeKOGT3, altData.TimeKOGT2);
                            HiConvert.ByteArrayCopy(altData.NameKOGT3, altData.NameKOGT2);
                            if (rank < 1)
                                goto case 0;
                            break;
                    }
                    break;
                case 5:
                    switch (adjust)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.TimeKOSM2, altData.TimeKOSM1);
                            HiConvert.ByteArrayCopy(altData.NameKOSM2, altData.NameKOSM1);
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.TimeKOSM3, altData.TimeKOSM2);
                            HiConvert.ByteArrayCopy(altData.NameKOSM3, altData.NameKOSM2);
                            if (rank < 1)
                                goto case 0;
                            break;
                    }
                    break;
            }
            #endregion

            #region REPLACE_NEW
            switch (alternateName)
            {
                case 0:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameAverage1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.PercentAverage1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.PercentAverage1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameAverage2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.PercentAverage2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.PercentAverage2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameAverage3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.PercentAverage3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.PercentAverage3.Length)));
                            break;
                        case 3:
                            HiConvert.ByteArrayCopy(altData.NameAverage4, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.PercentAverage4, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.PercentAverage4.Length)));
                            break;
                        case 4:
                            HiConvert.ByteArrayCopy(altData.NameAverage5, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.PercentAverage5, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.PercentAverage5.Length)));
                            break;
                    }
                    break;
                case 1:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameKOBH1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOBH1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOBH1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameKOBH2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOBH2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOBH2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameKOBH3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOBH3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOBH3.Length)));
                            break;
                    }
                    break;
                case 2:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameKODC1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKODC1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKODC1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameKODC2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKODC2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKODC2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameKODC3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKODC3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKODC3.Length)));
                            break;
                    }
                    break;
                case 3:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameKOVD1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOVD1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOVD1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameKOVD2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOVD2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOVD2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameKOVD3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOVD3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOVD3.Length)));
                            break;
                    }
                    break;
                case 4:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameKOGT1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOGT1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOGT1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameKOGT2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOGT2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOGT2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameKOGT3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOGT3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOGT3.Length)));
                            break;
                    }
                    break;
                case 5:
                    switch (rank)
                    {
                        case 0:
                            HiConvert.ByteArrayCopy(altData.NameKOSM1, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOSM1, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOSM1.Length)));
                            break;
                        case 1:
                            HiConvert.ByteArrayCopy(altData.NameKOSM2, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOSM2, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOSM2.Length)));
                            break;
                        case 2:
                            HiConvert.ByteArrayCopy(altData.NameKOSM3, StringToByteArray(name));
                            HiConvert.ByteArrayCopy(altData.TimeKOSM3, HiConvert.ReverseByteArray(HiConvert.IntToByteArrayHex(score, altData.TimeKOSM3.Length)));
                            break;
                    }
               break;
            }
            #endregion

            byte[] byteArray = HiConvert.RawSerialize(hiscoreData);
            byte[] byteArrayAlt = HiConvert.RawSerialize(altData);

            // Generate the Checksum, sort the data and
            // Duplicate records 1 to 20, Best 3 K.O. times and Best 5 Hit Average(nvram)
            m_data = EncryptArray(byteArray, byteArrayAlt);
        }
Esempio n. 5
0
        public override string HiToString()
        {
            string retString = m_format + Environment.NewLine;

            HiscoreData hiscoreData = new HiscoreData();
            AlternateData altData = new AlternateData();

            byte[] data_converted = DecryptArray(m_data);

            hiscoreData = (HiscoreData)HiConvert.RawDeserialize(data_converted, 0, typeof(HiscoreData));
            altData = (AlternateData)HiConvert.RawDeserialize(data_converted, Marshal.SizeOf(typeof(HiscoreData)), typeof(AlternateData));

            retString += String.Format("{0}|{1}|{2}", 1, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score1)), ByteArrayToString(hiscoreData.Name1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score2)), ByteArrayToString(hiscoreData.Name2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score3)), ByteArrayToString(hiscoreData.Name3)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 4, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score4)), ByteArrayToString(hiscoreData.Name4)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 5, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score5)), ByteArrayToString(hiscoreData.Name5)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 6, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score6)), ByteArrayToString(hiscoreData.Name6)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 7, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score7)), ByteArrayToString(hiscoreData.Name7)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 8, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score8)), ByteArrayToString(hiscoreData.Name8)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 9, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score9)), ByteArrayToString(hiscoreData.Name9)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 10, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score10)), ByteArrayToString(hiscoreData.Name10)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 11, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score11)), ByteArrayToString(hiscoreData.Name11)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 12, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score12)), ByteArrayToString(hiscoreData.Name12)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 13, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score13)), ByteArrayToString(hiscoreData.Name13)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 14, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score14)), ByteArrayToString(hiscoreData.Name14)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 15, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score15)), ByteArrayToString(hiscoreData.Name15)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 16, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score16)), ByteArrayToString(hiscoreData.Name16)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 17, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score17)), ByteArrayToString(hiscoreData.Name17)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 18, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score18)), ByteArrayToString(hiscoreData.Name18)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 19, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score19)), ByteArrayToString(hiscoreData.Name19)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 20, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score20)), ByteArrayToString(hiscoreData.Name20)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 21, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score21)), ByteArrayToString(hiscoreData.Name21)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 22, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score22)), ByteArrayToString(hiscoreData.Name22)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 23, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score23)), ByteArrayToString(hiscoreData.Name23)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 24, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score24)), ByteArrayToString(hiscoreData.Name24)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 25, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score25)), ByteArrayToString(hiscoreData.Name25)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 26, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score26)), ByteArrayToString(hiscoreData.Name26)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 27, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score27)), ByteArrayToString(hiscoreData.Name27)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 28, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score28)), ByteArrayToString(hiscoreData.Name28)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 29, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score29)), ByteArrayToString(hiscoreData.Name29)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 30, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score30)), ByteArrayToString(hiscoreData.Name30)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 31, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score31)), ByteArrayToString(hiscoreData.Name31)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 32, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score32)), ByteArrayToString(hiscoreData.Name32)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 33, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score33)), ByteArrayToString(hiscoreData.Name33)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 34, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score34)), ByteArrayToString(hiscoreData.Name34)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 35, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score35)), ByteArrayToString(hiscoreData.Name35)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 36, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score36)), ByteArrayToString(hiscoreData.Name36)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 37, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score37)), ByteArrayToString(hiscoreData.Name37)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 38, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score38)), ByteArrayToString(hiscoreData.Name38)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 39, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score39)), ByteArrayToString(hiscoreData.Name39)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 40, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score40)), ByteArrayToString(hiscoreData.Name40)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 41, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score41)), ByteArrayToString(hiscoreData.Name41)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 42, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score42)), ByteArrayToString(hiscoreData.Name42)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 43, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score43)), ByteArrayToString(hiscoreData.Name43)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 44, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score44)), ByteArrayToString(hiscoreData.Name44)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 45, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score45)), ByteArrayToString(hiscoreData.Name45)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 46, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score46)), ByteArrayToString(hiscoreData.Name46)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 47, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score47)), ByteArrayToString(hiscoreData.Name47)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 48, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score48)), ByteArrayToString(hiscoreData.Name48)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 49, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score49)), ByteArrayToString(hiscoreData.Name49)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 50, HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(hiscoreData.Score50)), ByteArrayToString(hiscoreData.Name50)) + Environment.NewLine;

            retString += Environment.NewLine + Environment.NewLine + AltFormat[0] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsPercent(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage1))), ByteArrayToString(altData.NameAverage1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsPercent(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage2))), ByteArrayToString(altData.NameAverage2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsPercent(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage3))), ByteArrayToString(altData.NameAverage3)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 4, FormatAsPercent(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage4))), ByteArrayToString(altData.NameAverage4)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 5, FormatAsPercent(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.PercentAverage5))), ByteArrayToString(altData.NameAverage5)) + Environment.NewLine;
            retString += AltFormat[1] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH1))), ByteArrayToString(altData.NameKOBH1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH2))), ByteArrayToString(altData.NameKOBH2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOBH3))), ByteArrayToString(altData.NameKOBH3)) + Environment.NewLine;
            retString += AltFormat[2] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC1))), ByteArrayToString(altData.NameKODC1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC2))), ByteArrayToString(altData.NameKODC2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKODC3))), ByteArrayToString(altData.NameKODC3)) + Environment.NewLine;
            retString += AltFormat[3] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD1))), ByteArrayToString(altData.NameKOVD1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD2))), ByteArrayToString(altData.NameKOVD2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOVD3))), ByteArrayToString(altData.NameKOVD3)) + Environment.NewLine;
            retString += AltFormat[4] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT1))), ByteArrayToString(altData.NameKOGT1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT2))), ByteArrayToString(altData.NameKOGT2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOGT3))), ByteArrayToString(altData.NameKOGT3)) + Environment.NewLine;
            retString += AltFormat[5] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM1))), ByteArrayToString(altData.NameKOSM1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM2))), ByteArrayToString(altData.NameKOSM2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, FormatAsTime(HiConvert.ByteArrayHexToInt(HiConvert.ReverseByteArray(altData.TimeKOSM3))), ByteArrayToString(altData.NameKOSM3)) + Environment.NewLine;

            return retString;
        }
Esempio n. 6
0
        public override void SetAlternateScore(string[] args)
        {
            int alternateName = GetAlternateName(args[0]);
            int rankGiven = Convert.ToInt32(args[1]);
            string name = args[2].ToUpper().Replace(".", "");
            int score = System.Convert.ToInt32(args[3]);

            AlternateData altData = new AlternateData();
            altData = (AlternateData)HiConvert.RawDeserialize(DecryptArray(m_data, "Alternate Data"), 0, typeof(AlternateData));

            #region DETERMINE_RANK
            // We don't need to check is score > PercentScore (rankgiven+1), because
            // it can be possible lower scores in upper ranks
            int rank = rankGiven-1;
            #endregion

            #region ADJUST
            int adjust = NumEntries - 1;
            if (rank < NumEntries - 1)
                adjust = NumEntries - 2;
            switch (adjust)
            {
                case 0:
                    HiConvert.ByteArrayCopy(altData.PercentScore2, altData.PercentScore1);
                    HiConvert.ByteArrayCopy(altData.PercentName2, altData.PercentName1);
                    break;
                case 1:
                    HiConvert.ByteArrayCopy(altData.PercentScore3, altData.PercentScore2);
                    HiConvert.ByteArrayCopy(altData.PercentName3, altData.PercentName2);
                    if (rank < 1)
                        goto case 0;
                    break;
                case 2:
                    HiConvert.ByteArrayCopy(altData.PercentScore4, altData.PercentScore3);
                    HiConvert.ByteArrayCopy(altData.PercentName4, altData.PercentName3);
                    if (rank < 2)
                        goto case 1;
                    break;
                case 3:
                    HiConvert.ByteArrayCopy(altData.PercentScore5, altData.PercentScore4);
                    HiConvert.ByteArrayCopy(altData.PercentName5, altData.PercentName4);
                    if (rank < 3)
                        goto case 2;
                    break;
                case 4:
                    HiConvert.ByteArrayCopy(altData.PercentScore6, altData.PercentScore5);
                    HiConvert.ByteArrayCopy(altData.PercentName6, altData.PercentName5);
                    if (rank < 4)
                        goto case 3;
                    break;
                case 5:
                    HiConvert.ByteArrayCopy(altData.PercentScore7, altData.PercentScore6);
                    HiConvert.ByteArrayCopy(altData.PercentName7, altData.PercentName6);
                    if (rank < 5)
                        goto case 4;
                    break;
                case 6:
                    HiConvert.ByteArrayCopy(altData.PercentScore8, altData.PercentScore7);
                    HiConvert.ByteArrayCopy(altData.PercentName8, altData.PercentName7);
                    if (rank < 6)
                        goto case 5;
                    break;
                case 7:
                    HiConvert.ByteArrayCopy(altData.PercentScore9, altData.PercentScore8);
                    HiConvert.ByteArrayCopy(altData.PercentName9, altData.PercentName8);
                    if (rank < 7)
                        goto case 6;
                    break;
                case 8:
                    HiConvert.ByteArrayCopy(altData.PercentScore10, altData.PercentScore9);
                    HiConvert.ByteArrayCopy(altData.PercentName10, altData.PercentName9);
                    if (rank < 8)
                        goto case 7;
                    break;
            }
            #endregion

            #region REPLACE_NEW
            switch (rank)
            {
                case 0:
                    HiConvert.ByteArrayCopy(altData.PercentName1, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore1, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore1.Length));
                    break;
                case 1:
                    HiConvert.ByteArrayCopy(altData.PercentName2, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore2, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore2.Length));
                    break;
                case 2:
                    HiConvert.ByteArrayCopy(altData.PercentName3, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore3, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore3.Length));
                    break;
                case 3:
                    HiConvert.ByteArrayCopy(altData.PercentName4, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore4, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore4.Length));
                    break;
                case 4:
                    HiConvert.ByteArrayCopy(altData.PercentName5, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore5, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore5.Length));
                    break;
                case 5:
                    HiConvert.ByteArrayCopy(altData.PercentName6, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore6, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore6.Length));
                    break;
                case 6:
                    HiConvert.ByteArrayCopy(altData.PercentName7, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore7, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore7.Length));
                    break;
                case 7:
                    HiConvert.ByteArrayCopy(altData.PercentName8, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore8, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore8.Length));
                    break;
                case 8:
                    HiConvert.ByteArrayCopy(altData.PercentName9, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore9, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore9.Length));
                    break;
                case 9:
                    HiConvert.ByteArrayCopy(altData.PercentName10, StringToByteArray(name));
                    HiConvert.ByteArrayCopy(altData.PercentScore10, HiConvert.IntToByteArrayHexAsHex(score, altData.PercentScore10.Length));
                    break;
            }
            #endregion

            byte[] byteArrayAlt = HiConvert.RawSerialize(altData);

            EncryptArray(m_data, byteArrayAlt, "Alternate Data");
        }
Esempio n. 7
0
        public override string HiToString()
        {
            string retString = m_format + Environment.NewLine;

            HiscoreData hiscoreData = new HiscoreData();
            AlternateData altData = new AlternateData();

            hiscoreData = (HiscoreData)HiConvert.RawDeserialize(DecryptArray(m_data, "Main Data"), 0, typeof(HiscoreData));
            altData = (AlternateData)HiConvert.RawDeserialize(DecryptArray(m_data, "Alternate Data"), 0, typeof(AlternateData));

            retString += String.Format("{0}|{1}|{2}", 1, ByteArrayToString(hiscoreData.Name1), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, ByteArrayToString(hiscoreData.Name2), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, ByteArrayToString(hiscoreData.Name3), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score3)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 4, ByteArrayToString(hiscoreData.Name4), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score4)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 5, ByteArrayToString(hiscoreData.Name5), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score5)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 6, ByteArrayToString(hiscoreData.Name6), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score6)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 7, ByteArrayToString(hiscoreData.Name7), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score7)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 8, ByteArrayToString(hiscoreData.Name8), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score8)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 9, ByteArrayToString(hiscoreData.Name9), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score9)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 10, ByteArrayToString(hiscoreData.Name10), HiConvert.ByteArrayHexAsHexToInt(hiscoreData.Score10)) + Environment.NewLine;

            retString += Environment.NewLine + Environment.NewLine + AltFormat[0] + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 1, ByteArrayToString(altData.PercentName1), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore1)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 2, ByteArrayToString(altData.PercentName2), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore2)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 3, ByteArrayToString(altData.PercentName3), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore3)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 4, ByteArrayToString(altData.PercentName4), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore4)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 5, ByteArrayToString(altData.PercentName5), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore5)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 6, ByteArrayToString(altData.PercentName6), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore6)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 7, ByteArrayToString(altData.PercentName7), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore7)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 8, ByteArrayToString(altData.PercentName8), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore8)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 9, ByteArrayToString(altData.PercentName9), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore9)) + Environment.NewLine;
            retString += String.Format("{0}|{1}|{2}", 10, ByteArrayToString(altData.PercentName10), HiConvert.ByteArrayHexAsHexToInt(altData.PercentScore10)) + Environment.NewLine;

            return retString;
        }