protected override Texture LoadEntry(FileSystemEntry entry, ContentManager contentManager, Game game, LoadOptions loadOptions) { var generateMipMaps = (loadOptions as TextureLoadOptions)?.GenerateMipMaps ?? true; Texture applyDebugName(Texture texture) { texture.Name = entry.FilePath; return(texture); } switch (Path.GetExtension(entry.FilePath).ToLower()) { case ".dds": if (!DdsFile.IsDdsFile(entry)) { goto case ".tga"; } var ddsFile = DdsFile.FromFileSystemEntry(entry); return(applyDebugName(CreateTextureFromDds( contentManager.GraphicsDevice, ddsFile))); case ".tga": var tgaFile = TgaFile.FromFileSystemEntry(entry); return(applyDebugName(CreateTextureFromTga( contentManager.GraphicsDevice, tgaFile, generateMipMaps))); default: throw new InvalidOperationException(); } }
private Texture LoadImpl(FileSystemEntry entry, GraphicsDevice graphicsDevice) { switch (Path.GetExtension(entry.FilePath).ToLowerInvariant()) { case ".dds": if (!DdsFile.IsDdsFile(entry)) { goto case ".tga"; } var ddsFile = DdsFile.FromFileSystemEntry(entry); return(CreateTextureFromDds(ddsFile, graphicsDevice)); case ".tga": var tgaFile = TgaFile.FromFileSystemEntry(entry); return(CreateTextureFromTga(tgaFile, graphicsDevice)); case ".jpg": using (var stream = entry.Open()) { var jpgFile = new ImageSharpTexture(stream); return(CreateFromImageSharpTexture(jpgFile, graphicsDevice)); } default: throw new InvalidOperationException(); } }
private Control CreateControl(FileSystemEntry entry) { switch (Path.GetExtension(entry.FilePath).ToLower()) { case ".ani": case ".cur": return(new AniView(entry, _getGame())); case ".bmp": return(new BmpView(entry)); case ".dds": if (!DdsFile.IsDdsFile(entry)) { goto case ".tga"; } return(new DdsView(entry)); case ".const": return(new ConstView(entry)); case ".csf": return(new CsfView(entry)); case ".ini": return(new IniView(entry, _getGame())); case ".manifest": return(new ManifestView(entry)); case ".map": return(new MapView(entry, _getGame())); case ".ru": return(new RuView(entry, _getGame())); case ".tga": return(new TgaView(entry)); case ".txt": return(new TxtView(entry)); case ".w3d": return(new W3dView(entry, _getGame())); case ".wnd": return(new WndView(entry, _getGame())); default: return(null); } }
public void CanReadDdsTextures() { InstalledFilesTestData.ReadFiles(".dds", _output, entry => { if (!DdsFile.IsDdsFile(entry)) { return; } var ddsFile = DdsFile.FromFileSystemEntry(entry); Assert.True(ddsFile.MipMaps.Length > 0); }); }
private Texture LoadImpl(FileSystemEntry entry, FileSystem fileSystem, GraphicsDevice graphicsDevice) { switch (Path.GetExtension(entry.FilePath).ToLowerInvariant()) { case ".dds": if (!DdsFile.IsDdsFile(entry)) { goto case ".tga"; } var ddsFile = DdsFile.FromFileSystemEntry(entry); return(CreateTextureFromDds(ddsFile, graphicsDevice)); case ".tga": var tgaFile = TgaFile.FromFileSystemEntry(entry); return(CreateTextureFromTga(tgaFile, graphicsDevice)); case ".jpg": return(CreateTextureFromJpg(entry, fileSystem, graphicsDevice)); default: throw new InvalidOperationException(); } }
private Control CreateControlForFileSystemEntry(FileSystemEntry entry) { Game getGame(IntPtr windowHandle) { _game = GameFactory.CreateGame( _getInstallation(), _getFileSystem(), () => OpenSage.Platform.CurrentPlatform.CreateWindow(windowHandle)); return(_game); } switch (Path.GetExtension(entry.FilePath).ToLower()) { case ".ani": case ".cur": return(new AniView(entry, getGame)); case ".apt": return(new AptView(entry, getGame)); case ".bmp": return(new BmpView(entry)); case ".dds": if (!DdsFile.IsDdsFile(entry)) { goto case ".tga"; } return(new DdsView(DdsFile.FromFileSystemEntry(entry))); case ".const": return(new ConstView(entry)); case ".csf": return(new CsfView(entry)); case ".ini": return(new IniView(entry, getGame)); case ".manifest": return(new ManifestView(entry, _getInstallation, _getFileSystem)); case ".map": return(new MapView(entry, getGame)); case ".ru": return(new RuView(entry, getGame)); case ".tga": return(new TgaView(entry)); case ".txt": return(new TxtView(entry)); case ".wav": return(new WavView(entry, getGame)); case ".w3d": return(new W3dView(entry, getGame)); case ".wnd": return(new WndView(entry, getGame)); default: return(null); } }