Battle_Script_Pro.Form1.PrintMessageSuperCommand C# (CSharp) Method

PrintMessageSuperCommand() private method

private PrintMessageSuperCommand ( byte slotID, uint romPointer, ushort messageWait ) : byte[]
slotID byte
romPointer uint
messageWait ushort
return byte[]
        private byte[] PrintMessageSuperCommand(byte slotID, uint romPointer, ushort messageWait)
        {
            byte[] message;
            if (commands.ContainsKey("SETWORD"))
            {
                ushort commandID = commands["SETWORD"].HexID;
                byte length = 1;
                if (commandID > 0x100)
                {
                    length = 2;
                }
                message = new byte[length + 8];
                for (int i = 0; i < length; i++)
                {
                    message[i] = (Byte.Parse(ToDecimal("0x" + commandID.ToString("X4").Substring(4 - ((i * 2) + 2), 2))));
                }
                message[length] = 0x24;
                message[length + 1] = 0xC0;
                message[length + 2] = 0x3;
                message[length + 3] = 0x2;
                if (romPointer < 0x8000000)
                {
                    romPointer += 0x8000000;
                }
                for (int i = 0; i < 4; i++)
                {
                    message[length + 4 + i] = (Byte.Parse(ToDecimal("0x" + romPointer.ToString("X8").Substring(8 - ((i * 2) + 2), 2))));
                }
            }
            else
            {
                message = SetWordSuperCommand(romPointer, 0x0203C024);
            }
            byte[] stuff = new byte[14 + message.Length];
            for (int i = 0; i < message.Length; i++)
            {
                stuff[i] = message[i];
            }
            stuff[message.Length] = 0x2E;
            stuff[1 + message.Length] = 0x87;
            stuff[2 + message.Length] = 0x3E;
            stuff[3 + message.Length] = 0x2;
            stuff[4 + message.Length] = 0x2;
            stuff[5 + message.Length] = 0x0;
            stuff[6 + message.Length] = 0x13;
            stuff[7 + message.Length] = 0x24;
            stuff[8 + message.Length] = 0xC0;
            stuff[9 + message.Length] = 0x3;
            stuff[10 + message.Length] = 0x2;
            stuff[11 + message.Length] = 0x12;
            for (int i = 0; i < 2; i++)
            {
                stuff[12 + i + message.Length] = (Byte.Parse(ToDecimal("0x" + messageWait.ToString("X4").Substring(4 - ((i * 2) + 2), 2))));
            }
            return stuff;
        }
Form1