Пример #1
0
        public unsafe static void WriteWTE(this Stream outputStream, WTE header)
        {
            WTE *headerPtr = &header;

            using (var inputStream = new UnmanagedMemoryStream((byte *)headerPtr, sizeof(WTE))) {
                inputStream.CopyTo(outputStream);
            }
        }
Пример #2
0
        public static byte[] WTEToTEX0(Stream inputStream)
        {
            WTE oldHeader = inputStream.ReadWTE();

            if (oldHeader.tag != "WTE\0")
            {
                throw new Exception("The input file does not appear to be a WTE file.");
            }

            TEX0v1 newHeader = new TEX0v1(oldHeader.width, oldHeader.height, WiiPixelFormat.RGB5A3, 1);

            using (var outputStream = new MemoryStream()) {
                outputStream.WriteTEX0(newHeader);
                inputStream.CopyTo(outputStream);
                return(outputStream.ToArray());
            }
        }