/// <summary> /// Gets a sim's thumbnail image. /// </summary> /// <returns></returns> private Bitmap GetThumbnail() { Outfit Oft = new Outfit(); Appearance Apr = new Appearance(); Bitmap Thumbnail = new Bitmap(1, 1); if (!File.Exists(GlobalSettings.Default.ClientPath + "avatardata\\heads\\outfits\\outfits.dat")) { Debug.WriteLine("WARNING: Couldn't find: " + GlobalSettings.Default.ClientPath + "avatardata\\heads\\outfits\\outfits.dat"); return(Thumbnail); } FAR3Archive Archive = new FAR3Archive(GlobalSettings.Default.ClientPath + "avatardata\\heads\\outfits\\outfits.dat"); Oft.Read(new MemoryStream(Archive.GetItemByID(HeadOutfitID))); Archive = new FAR3Archive(GlobalSettings.Default.ClientPath + "avatardata\\heads\\appearances\\appearances.dat"); TSO.Common.content.ContentID ApprID; switch (Appearance) { case AppearanceType.Light: ApprID = Oft.GetAppearance(AppearanceType.Light); Apr.Read(new MemoryStream(Archive.GetItemByID(ApprID.Shift()))); Archive = new FAR3Archive(GlobalSettings.Default.ClientPath + "avatardata\\heads\\thumbnails\\thumbnails.dat"); Thumbnail = new Bitmap(new MemoryStream(Archive.GetItemByID(Apr.ThumbnailID.Shift()))); break; case AppearanceType.Medium: ApprID = Oft.GetAppearance(AppearanceType.Medium); Apr.Read(new MemoryStream(Archive.GetItemByID(ApprID.Shift()))); Archive = new FAR3Archive(GlobalSettings.Default.ClientPath + "avatardata\\heads\\thumbnails\\thumbnails.dat"); Thumbnail = new Bitmap(new MemoryStream(Archive.GetItemByID(Apr.ThumbnailID.Shift()))); break; case AppearanceType.Dark: ApprID = Oft.GetAppearance(AppearanceType.Dark); Apr.Read(new MemoryStream(Archive.GetItemByID(ApprID.Shift()))); Archive = new FAR3Archive(GlobalSettings.Default.ClientPath + "avatardata\\heads\\thumbnails\\thumbnails.dat"); Thumbnail = new Bitmap(new MemoryStream(Archive.GetItemByID(Apr.ThumbnailID.Shift()))); break; } return(Thumbnail); }
public static byte[] GetResourceFromLongID(ulong ID) { byte[] Resource; while (!initComplete) { ; } //Resource hasn't already been loaded... if (!m_LoadedResources.TryGetValue(ID, out Resource)) { string path = m_Resources[ID]; FAR3Archive Archive = new FAR3Archive(path); Resource = Archive.GetItemByID(ID); return(Resource); } else { return(m_LoadedResources[ID]); } }