Exemplo n.º 1
0
        public static void DrawTitleScreenChanges(Patch p, int seed, bool isTourney)
        {
            // Draw version number
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(typeof(RandomMM2));
            string version = assembly.GetName().Version.ToString();

            for (int i = 0; i < version.Length; i++)
            {
                byte value = TitleChars.GetChar(version[i]).ID;
                p.Add(0x0373C7 + i, value, "Title Screen Version Number");
            }

            // Draw seed
            string seedAlpha = SeedConvert.ConvertBase10To26(seed);

            for (int i = 0; i < seedAlpha.Length; i++)
            {
                char ch        = seedAlpha.ElementAt(i);
                byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                // 'A' starts at C1 in the pattern table
                p.Add(0x037387 + i, (byte)(0xC1 + charIndex), "Title Screen Seed");
            }

            // Draw flags

            // Draw tournament mode
            if (isTourney)
            {
                // 0x037367 = Start of row beneath "seed"
                string flagsAlpha = "TOURNAMENT";
                for (int i = 0; i < flagsAlpha.Length; i++)
                {
                    char ch        = flagsAlpha.ElementAt(i);
                    byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                    p.Add(0x037564 + i, (byte)(0xC1 + charIndex), "Title Screen Tournament Text");
                }

                string flags2Alpha = "MODE";
                for (int i = 0; i < flags2Alpha.Length; i++)
                {
                    char ch        = flags2Alpha.ElementAt(i);
                    byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                    p.Add(0x03756F + i, (byte)(0xC1 + charIndex), "Title Screen Tournament Text");
                }

                // Draw Hash symbols
                // Use $B8-$BF with custom gfx, previously unused tiles after converting from MM2U to RM2
                //p.Add(0x037367, (byte)(0xB0), "Title Screen Flags");
                //p.Add(0x037368, (byte)(0xB1), "Title Screen Flags");
                //p.Add(0x037369, (byte)(0xB2), "Title Screen Flags");
                //p.Add(0x03736A, (byte)(0xB3), "Title Screen Flags");
            }
        }
Exemplo n.º 2
0
        public static void DrawTitleScreenChanges(Patch p, int seed)
        {
            // Draw version number
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(typeof(RandomMM2));
            string version = assembly.GetName().Version.ToString();

            for (int i = 0; i < version.Length; i++)
            {
                byte value = TitleChars.GetChar(version[i]).ID;
                p.Add(0x0373C7 + i, value, "Title Screen Version Number");
            }

            // Draw seed
            string seedAlpha = SeedConvert.ConvertBase10To26(seed);

            for (int i = 0; i < seedAlpha.Length; i++)
            {
                char ch        = seedAlpha.ElementAt(i);
                byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                // 'A' starts at C1 in the pattern table
                p.Add(0x037387 + i, (byte)(0xC1 + charIndex), "Title Screen Seed");
            }
        }
Exemplo n.º 3
0
        public static void DrawTitleScreenChanges(Patch p, int seed, RandoSettings settings)
        {
            // Adjust cursor positions
            p.Add(0x0362D4, 0x90, "Title screen Cursor top position");    // default 0x98
            p.Add(0x0362D5, 0xA0, "Title screen Cursor bottom position"); // default 0xA8

            // Draw version number
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(typeof(RandomMM2));
            string version = assembly.GetName().Version.ToString();

            for (int i = 0; i < version.Length; i++)
            {
                byte value = RText.IntroCipher[version[i]];
                p.Add(0x037407 + i, value, "Title Screen Version Number");
            }

            // Draw seed
            string seedAlpha = SeedConvert.ConvertBase10To26(seed);

            for (int i = 0; i < seedAlpha.Length; i++)
            {
                byte value = RText.IntroCipher[seedAlpha[i]];
                p.Add(0x0373C7 + i, value, "Title Screen Seed");
            }

            // Draw flags
            string flags = settings.GetFlagsString();

            for (int i = 0; i < flags.Length; i++)
            {
                byte value = RText.IntroCipher[flags[i]];
                if (i < 14)
                {
                    p.Add(0x037387 + i, value, $"Title Screen Flags: {flags[i]}");
                }
                else
                {
                    p.Add(0x037367 + i - 14, value, $"Title Screen Flags: {flags[i]}");
                }
            }

            // Draw tournament mode/spoiler free information
            if (settings.IsSpoilerFree)
            {
                // 0x037367 = Start of row beneath "seed"
                string flagsAlpha = "TOURNAMENT";
                for (int i = 0; i < flagsAlpha.Length; i++)
                {
                    char ch        = flagsAlpha.ElementAt(i);
                    byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                    p.Add(0x037564 + i, (byte)(0xC1 + charIndex), "Title Screen Tournament Text");
                }

                string flags2Alpha = "MODE";
                for (int i = 0; i < flags2Alpha.Length; i++)
                {
                    char ch        = flags2Alpha.ElementAt(i);
                    byte charIndex = (byte)(Convert.ToByte(ch) - Convert.ToByte('A'));

                    p.Add(0x03756F + i, (byte)(0xC1 + charIndex), "Title Screen Tournament Text");
                }

                // Draw Hash symbols
                // Use $B8-$BF with custom gfx, previously unused tiles after converting from MM2U to RM2
                //p.Add(0x037367, (byte)(0xB0), "Title Screen Flags");
                //p.Add(0x037368, (byte)(0xB1), "Title Screen Flags");
                //p.Add(0x037369, (byte)(0xB2), "Title Screen Flags");
                //p.Add(0x03736A, (byte)(0xB3), "Title Screen Flags");
            }
        }