public SpriteObject LoadPackCover(string assetName, Bitmap coverImage) { Texture2DObject packCover = null; if (coverImage != null) { try { var loadedCover = new Texture2DObject(_assetsFile) { Name = assetName }; ImageUtils.AssignImageToTexture(coverImage, loadedCover, 1024, 1024); packCover = loadedCover; } catch (Exception ex) { Log.LogErr($"Failed to convert to texture, falling back to default cover image", ex); } } if (packCover == null) { packCover = new Texture2DObject(_assetsFile) { Name = assetName }; SetFallbackCoverTexture(packCover); } _assetsFile.AddObject(packCover, true); //slightly less hacky than before, but only a little var extrasCover = _assetsFile.Manager.MassFirstAsset <SpriteObject>(x => x.Object.Name == "ExtrasCover"); SpriteObject coverAsset = extrasCover.Clone().Object; coverAsset.Name = assetName; coverAsset.Texture = packCover.PtrFrom(coverAsset); _assetsFile.AddObject(coverAsset, true); return(coverAsset); }
public Texture2DObject LoadSongCover(string songPath, BeatmapLevelDataObject levelData) { if (!string.IsNullOrWhiteSpace(levelData.CoverImageFilename) && File.Exists(Path.Combine(songPath, levelData.CoverImageFilename))) { try { string coverFile = Path.Combine(songPath, levelData.CoverImageFilename); Bitmap coverImage = (Bitmap)Bitmap.FromFile(coverFile); var coverAsset = new Texture2DObject(_assetsFile) { Name = levelData.LevelID + "Cover" }; ImageUtils.AssignImageToTexture(coverImage, coverAsset, 256, 256); return(coverAsset); } catch (Exception ex) { Log.LogErr("Error loading cover art asset", ex); } } return(null); }