public static byte[] GetRawGump(int index, out int width, out int height) { width = -1; height = -1; int length, extra; Stream stream = m_FileIndex.Seek(index, out length, out extra); if (stream == null) { return(null); } if (extra == -1) { return(null); } width = (extra >> 16) & 0xFFFF; height = extra & 0xFFFF; if (width <= 0 || height <= 0) { return(null); } byte[] buffer = new byte[length]; stream.Read(buffer, 0, length); return(buffer); }
public static Bitmap GetTexture(int index) { index &= 0x3FFF; if (m_Cache[index] != null) { return(m_Cache[index]); } int length, extra; Stream stream = m_FileIndex.Seek(index, out length, out extra); if (stream == null) { return(null); } if (Files.CacheData) { return(m_Cache[index] = LoadTexture(stream, extra, length)); } else { return(LoadTexture(stream, extra, length)); } }
public static unsafe bool IsValidStatic(int index) { index = SecondArt.GetLegalItemID(index); index += 0x4000; if (m_Cache[index] != null) { return(true); } int length, extra; Stream stream = m_FileIndex.Seek(index, out length, out extra); if (stream == null) { return(false); } if (Validbuffer == null) { Validbuffer = new byte[4]; } stream.Seek(4, SeekOrigin.Current); stream.Read(Validbuffer, 0, 4); fixed(byte *b = Validbuffer) { short *dat = (short *)b; if (*dat++ <= 0 || *dat <= 0) { return(false); } return(true); } }