Modified .gitignore to ignore common VS files

Modified .gitignore to add the base VS ignore files (nugget packages)
debug header files, etc.
This commit is contained in:
José Guadalupe Nava Zavala 2020-05-02 02:58:50 -05:00
parent 9a0d92ec42
commit 317c18a570
279 changed files with 650 additions and 158911 deletions

362
.gitignore vendored
View file

@ -1,6 +1,364 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
bin/
obj/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*[.json, .xml, .info]
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
*Google.FlatBuffers
*NodeEditorWinforms-master
*GL_EditorFramework-master

Binary file not shown.

View file

@ -1,128 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Toolbox;
using System.Windows.Forms;
using Toolbox.Library;
using Syroot.NintenTools.MarioKart8.BinData;
using Syroot.NintenTools.MarioKart8;
using System.IO;
namespace FirstPlugin.Turbo
{
public class PartsBIN : TreeNodeFile, IFileFormat
{
public FileType FileType { get; set; } = FileType.Parameter;
public bool CanSave { get; set; }
public string[] Description { get; set; } = new string[] { "Mario Kart 8 Kart Parts" };
public string[] Extension { get; set; } = new string[] { "*.bin" };
public string FileName { get; set; }
public string FilePath { get; set; }
public IFileInfo IFileInfo { get; set; }
public bool Identify(System.IO.Stream stream)
{
using (var reader = new Toolbox.Library.IO.FileReader(stream, true))
{
return reader.CheckSignature(4, "PRTS");
}
}
public Type[] Types
{
get
{
List<Type> types = new List<Type>();
return types.ToArray();
}
}
public class TIRE
{
}
public class KART
{
}
public class GLIDER
{
}
BinFile binFile;
public void Load(System.IO.Stream stream)
{
binFile = new BinFile(stream);
for (int sectionIndex = 0; sectionIndex < binFile.Sections.Count; sectionIndex++)
{
}
// Dump the BIN file to CSV.
using (FileStream streamF = new FileStream("test.csv", FileMode.Create, FileAccess.Write, FileShare.None))
using (StreamWriter writer = new StreamWriter(streamF, Encoding.UTF8, 1024, true))
{
// Write file header information.
Write(writer, 0, $"BIN File Report for", FileName);
Write(writer, 0, "Identifier", binFile.Format);
Write(writer, 0, "Section count", binFile.Sections.Count);
Write(writer, 0, "Unknown", binFile.ID);
writer.WriteLine();
int sectionIndex = 1;
foreach (var section in GetDwordSectionData(binFile))
{
Write(writer, 0, $"Section {sectionIndex++}");
Write(writer, 1, "Identifier", section.Name);
Write(writer, 1, "Group count", section.ParamCount);
Write(writer, 1, "Type", section.ID.ToString("X"));
writer.WriteLine();
DwordSectionData sectionData = (DwordSectionData)section.Data;
for (int d = 0; d < sectionData.Data.Length; d++)
{
foreach (Dword[] element in sectionData.Data[d])
{
Write(writer, 1, String.Join('\t'.ToString(), element));
}
}
}
}
}
private IEnumerable<Section> GetDwordSectionData(BinFile binFile)
{
foreach (Section section in binFile.Sections)
{
if (section.Data is DwordSectionData)
yield return section;
}
}
private static void Write(StreamWriter writer, int indent, params object[] values)
{
writer.WriteLine(new string('\t', indent) + String.Join('\t'.ToString(), values));
}
public void Unload()
{
}
public void Save(System.IO.Stream stream)
{
}
}
}

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<EnableUnmanagedDebugging>true</EnableUnmanagedDebugging>
</PropertyGroup>
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

Binary file not shown.

336
README.md
View file

@ -1,168 +1,168 @@
# Switch-Toolbox
A tool to edit many formats of Nintendo Switch, 3DS and Wii U.
# Download
https://github.com/KillzXGaming/Switch-Toolbox/releases/tag/EXPERIMENTAL_LATEST
## Discord
https://discord.gg/eyvGXWP
## Features
This tool currently features:
- BFRES
- Fully supports Wii U and Switch
- Model importing (DAE, FBX, OBJ, and CSV)
- Material editing (Render info, texture mapping, parameters, etc.)
- Material copying
- Animation and model sub section can be exported / imported
- Can delete, add, replace individual objects from an FMDL
- Can create new sub sections and data
- Can preview skeletal, SRT, param, texture pattern, and bone visual animations. (param animations vary)
- Can export and import fully rigged models with bone support
- Can convert gif files to texture pattern animations, very WIP atm
Can edit formats:
- BFRES
- BNTX
- BFLYT
- BFLAN
- NUTEXB
- XTX
- GTX
- SARC
- BARS
- KCL
- BFLIM
- GFPAK
- BEA
- AAMP (Switch, 3DS and Wii U)
- BYAML/BYML (Switch, 3DS and Wii U)
- PTCL (Switch, 3DS and Wii U)
- TMPK
- PAK / IGA (Crash Bandicoot / Crash Team Racing)
- IGZ Textures (Crash Bandicoot / Crash Team Racing)
- BFFNT (Textures only)
Can preview:
- BCRES
* Models, materials, and textures.
- BFSHA
* Can view options, samplers, attributes, and uniform blocks.
- BNSH
* Can extract shader vertex and fragment shaders from variations/programs.
- SHARCFB and SHARC
* Basic preview of some shader program data.
* Can edit both v1 and v2 AAMP (Wii U and Switch)
- EFC
* Can preview effect tables and link PTCL.
- NUT
* Can preview NTWU, NTP3, and NTWD variants. Editing will be implemented soon.
- MSBT
* Very basic previewing.
- MP3, OGG, IDSP, HPS, WAV, BFWAV, BFSTM, BCWAV, BCWAV
* Can listen to audio and convert between certain formats. Thanks to VGAudio and CSCore
- NARC
- SP2 (Team Sonic Racing)
- GFMDL
- TEX (3DS)
- NUSHDB (Switch Namco Shaders)
- SDF (Snow Drop Engine)
- NCA
- NSP
- IStorage
- NXARC
- LZARC
- IGA .pak
- RARC
- GMX (TPHD Models)
- MKAGPDX Model .bin files
- MKAGPDX Archive .pac files
- ME01 and SA01 archives
- Luigi's Mansion 2: Dark Moon (archives, models, and textures)
- TPL
- TXE
- BTI
- G1T
- CMB (OoT3D, MM3D, LM3DS)
- CTXB (OoT3D, MM3D, LM3DS)
- GAR (OoT3D, MM3D, LM3DS)
- ZSI (OoT3D, MM3D)
- BinGZ (Hyrule Warriors)
- PAC (Sonic Forces)
- GameCube ISOs (file system)
## Tutorials
https://github.com/KillzXGaming/Switch-Toolbox/wiki
## Issues or Requests
https://github.com/KillzXGaming/Switch-Toolbox/issues
## Building
To build make sure you have Visual Studio installed (I use 2017, older versions may not work) and open the solution (.sln), then build the solution as release. It should compile properly on the latest.
In the event that the tool cannot compile, check references. All the libraries used are stored in Switch-Toolbox/Lib folder.
## Credits
- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc.) for some code ported over, specifically animation stuff, ETC1 encoder and some rendering.
- Ploaj for a base on the DAE writer.
- Assimp devs for their massive asset library!
- Wexos (helped figure out a few things, i.e. format list to assign each attribute)
- JuPaHe64 for the base 3D renderer.
- Every File Explorer devs (Gericom) for Yaz0 and bitmap font stuff.
- exelix for BYAML, SARC and KCL library.
- Syroot for helpful IO extensions and libraries.
- GDKChan for SPICA library (used for BCH), PICA shaders stuff used with BCRES, structs for BCRES, and some DDS decode methods.
- AboodXD for some foundation stuff with exelix's SARC library, Wii U (GPU7) and Switch (Tegra X1) textures swizzling, reading/converting uncompressed types for DDS, and documentation for GTX, XTX, and BNTX. Library for Yaz0 made by AboodXD and helped port it to the tool.
- MelonSpeedruns for Switch Toolbox logo.
- BrawlBox team for brawl libraries used for BRRES parsing.
- Sage of Mirrors for SuperBMDLib.
- Ambrosia for BTI and TXE support.
- Kuriimu for some IO and file parsing help.
- Skyth and Radfordhound for PAC documentation.
- Ac_K for ASTC decoder c# port from Ryujinx.
- pkNX and kwsch for Fnv hashing and useful pkmn code/structure references.
- Dragonation for useful code on the structure for some flatbuffers in pokemon switch
- mvit and Rei for help with gfpak hash strings and also research for formats.
- QuickBMS for some compression code ported (LZ77 WII)
## Resources
- [TreeView Icons by icons8](https://icons8.com/)
- Smash Forge (Currently placeholders)
## Documentation (File Formats)
- http://mk8.tockdom.com/wiki/
- https://wiki.oatmealdome.me/Category:File_formats
- https://github.com/Kinnay/Nintendo-File-Formats/wiki
- http://Avsys.xyz/wiki/Category:File_Formats
## Libraries
- [SuperBMDLib](https://github.com/Sage-of-Mirrors/SuperBMD)
- [BrawlLib (for BRRES section conversion)](https://github.com/libertyernie/brawltools)
- [exelix (SARC, KCL, and BYML libraries)](https://github.com/exelix11/EditorCore/tree/master/FileFormatPlugins)
- [ZstdNet (compression)](https://github.com/skbkontur/ZstdNet)
- [Be.HexEditor by Bernhard Elbl](https://sourceforge.net/projects/hexbox/)
- [GL Editor Framework by jupahe64](https://github.com/jupahe64/GL_EditorFramework)
- [WeifenLuo for docking suite](http://dockpanelsuite.com/)
- [SF Graphics by SMG (experimental)](https://github.com/ScanMountGoat/SFGraphics) (currently just a placeholder for shader workflow and some useful things)
- [NAudio (Audio & MIDI Library)](https://github.com/naudio/NAudio)
- [VGAudio](https://github.com/Thealexbarney/VGAudio)
- [CSCore](https://github.com/filoe/cscore)
- [Assimp](https://bitbucket.org/Starnick/assimpnet/src/master/)
- [OpenTK](https://github.com/opentk/opentk)
- [BezelEngineArchive Library](https://github.com/KillzXGaming/BEA-Library-Editor)
- [Syroot BinaryData](https://gitlab.com/Syroot/BinaryData)
- [Syroot Maths](https://gitlab.com/Syroot/Maths)
- [Syroot BFRES Library (Wii U)](https://gitlab.com/Syroot/NintenTools.Bfres)
- [LibHac](https://github.com/Thealexbarney/LibHac)
- [ASTC Decoder](https://github.com/Ryujinx/Ryujinx/blob/b2b736abc2569ab5d8199da666aef8d8394844a0/Ryujinx.Graphics/Graphics3d/Texture/AstcDecoder.cs)
## Helpful Tools
- [Kuriimu](https://github.com/IcySon55/Kuriimu)
License
in Switch_Toolbox\Lib\Licenses
Please note if you do not want your library used or if i'm missing credits!
# Switch-Toolbox
A tool to edit many formats of Nintendo Switch, 3DS and Wii U.
# Download
https://github.com/KillzXGaming/Switch-Toolbox/releases/tag/EXPERIMENTAL_LATEST
## Discord
https://discord.gg/eyvGXWP
## Features
This tool currently features:
- BFRES
- Fully supports Wii U and Switch
- Model importing (DAE, FBX, OBJ, and CSV)
- Material editing (Render info, texture mapping, parameters, etc.)
- Material copying
- Animation and model sub section can be exported / imported
- Can delete, add, replace individual objects from an FMDL
- Can create new sub sections and data
- Can preview skeletal, SRT, param, texture pattern, and bone visual animations. (param animations vary)
- Can export and import fully rigged models with bone support
- Can convert gif files to texture pattern animations, very WIP atm
Can edit formats:
- BFRES
- BNTX
- BFLYT
- BFLAN
- NUTEXB
- XTX
- GTX
- SARC
- BARS
- KCL
- BFLIM
- GFPAK
- BEA
- AAMP (Switch, 3DS and Wii U)
- BYAML/BYML (Switch, 3DS and Wii U)
- PTCL (Switch, 3DS and Wii U)
- TMPK
- PAK / IGA (Crash Bandicoot / Crash Team Racing)
- IGZ Textures (Crash Bandicoot / Crash Team Racing)
- BFFNT (Textures only)
Can preview:
- BCRES
* Models, materials, and textures.
- BFSHA
* Can view options, samplers, attributes, and uniform blocks.
- BNSH
* Can extract shader vertex and fragment shaders from variations/programs.
- SHARCFB and SHARC
* Basic preview of some shader program data.
* Can edit both v1 and v2 AAMP (Wii U and Switch)
- EFC
* Can preview effect tables and link PTCL.
- NUT
* Can preview NTWU, NTP3, and NTWD variants. Editing will be implemented soon.
- MSBT
* Very basic previewing.
- MP3, OGG, IDSP, HPS, WAV, BFWAV, BFSTM, BCWAV, BCWAV
* Can listen to audio and convert between certain formats. Thanks to VGAudio and CSCore
- NARC
- SP2 (Team Sonic Racing)
- GFMDL
- TEX (3DS)
- NUSHDB (Switch Namco Shaders)
- SDF (Snow Drop Engine)
- NCA
- NSP
- IStorage
- NXARC
- LZARC
- IGA .pak
- RARC
- GMX (TPHD Models)
- MKAGPDX Model .bin files
- MKAGPDX Archive .pac files
- ME01 and SA01 archives
- Luigi's Mansion 2: Dark Moon (archives, models, and textures)
- TPL
- TXE
- BTI
- G1T
- CMB (OoT3D, MM3D, LM3DS)
- CTXB (OoT3D, MM3D, LM3DS)
- GAR (OoT3D, MM3D, LM3DS)
- ZSI (OoT3D, MM3D)
- BinGZ (Hyrule Warriors)
- PAC (Sonic Forces)
- GameCube ISOs (file system)
## Tutorials
https://github.com/KillzXGaming/Switch-Toolbox/wiki
## Issues or Requests
https://github.com/KillzXGaming/Switch-Toolbox/issues
## Building
To build make sure you have Visual Studio installed (I use 2017, older versions may not work) and open the solution (.sln), then build the solution as release. It should compile properly on the latest.
In the event that the tool cannot compile, check references. All the libraries used are stored in Switch-Toolbox/Lib folder.
## Credits
- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc.) for some code ported over, specifically animation stuff, ETC1 encoder and some rendering.
- Ploaj for a base on the DAE writer.
- Assimp devs for their massive asset library!
- Wexos (helped figure out a few things, i.e. format list to assign each attribute)
- JuPaHe64 for the base 3D renderer.
- Every File Explorer devs (Gericom) for Yaz0 and bitmap font stuff.
- exelix for BYAML, SARC and KCL library.
- Syroot for helpful IO extensions and libraries.
- GDKChan for SPICA library (used for BCH), PICA shaders stuff used with BCRES, structs for BCRES, and some DDS decode methods.
- AboodXD for some foundation stuff with exelix's SARC library, Wii U (GPU7) and Switch (Tegra X1) textures swizzling, reading/converting uncompressed types for DDS, and documentation for GTX, XTX, and BNTX. Library for Yaz0 made by AboodXD and helped port it to the tool.
- MelonSpeedruns for Switch Toolbox logo.
- BrawlBox team for brawl libraries used for BRRES parsing.
- Sage of Mirrors for SuperBMDLib.
- Ambrosia for BTI and TXE support.
- Kuriimu for some IO and file parsing help.
- Skyth and Radfordhound for PAC documentation.
- Ac_K for ASTC decoder c# port from Ryujinx.
- pkNX and kwsch for Fnv hashing and useful pkmn code/structure references.
- Dragonation for useful code on the structure for some flatbuffers in pokemon switch
- mvit and Rei for help with gfpak hash strings and also research for formats.
- QuickBMS for some compression code ported (LZ77 WII)
## Resources
- [TreeView Icons by icons8](https://icons8.com/)
- Smash Forge (Currently placeholders)
## Documentation (File Formats)
- http://mk8.tockdom.com/wiki/
- https://wiki.oatmealdome.me/Category:File_formats
- https://github.com/Kinnay/Nintendo-File-Formats/wiki
- http://Avsys.xyz/wiki/Category:File_Formats
## Libraries
- [SuperBMDLib](https://github.com/Sage-of-Mirrors/SuperBMD)
- [BrawlLib (for BRRES section conversion)](https://github.com/libertyernie/brawltools)
- [exelix (SARC, KCL, and BYML libraries)](https://github.com/exelix11/EditorCore/tree/master/FileFormatPlugins)
- [ZstdNet (compression)](https://github.com/skbkontur/ZstdNet)
- [Be.HexEditor by Bernhard Elbl](https://sourceforge.net/projects/hexbox/)
- [GL Editor Framework by jupahe64](https://github.com/jupahe64/GL_EditorFramework)
- [WeifenLuo for docking suite](http://dockpanelsuite.com/)
- [SF Graphics by SMG (experimental)](https://github.com/ScanMountGoat/SFGraphics) (currently just a placeholder for shader workflow and some useful things)
- [NAudio (Audio & MIDI Library)](https://github.com/naudio/NAudio)
- [VGAudio](https://github.com/Thealexbarney/VGAudio)
- [CSCore](https://github.com/filoe/cscore)
- [Assimp](https://bitbucket.org/Starnick/assimpnet/src/master/)
- [OpenTK](https://github.com/opentk/opentk)
- [BezelEngineArchive Library](https://github.com/KillzXGaming/BEA-Library-Editor)
- [Syroot BinaryData](https://gitlab.com/Syroot/BinaryData)
- [Syroot Maths](https://gitlab.com/Syroot/Maths)
- [Syroot BFRES Library (Wii U)](https://gitlab.com/Syroot/NintenTools.Bfres)
- [LibHac](https://github.com/Thealexbarney/LibHac)
- [ASTC Decoder](https://github.com/Ryujinx/Ryujinx/blob/b2b736abc2569ab5d8199da666aef8d8394844a0/Ryujinx.Graphics/Graphics3d/Texture/AstcDecoder.cs)
## Helpful Tools
- [Kuriimu](https://github.com/IcySon55/Kuriimu)
License
in Switch_Toolbox\Lib\Licenses
Please note if you do not want your library used or if i'm missing credits!

View file

@ -1,185 +0,0 @@
namespace Switch_Toolbox.Library
{
partial class AnimationPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button2 = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.totalFrame = new System.Windows.Forms.NumericUpDown();
this.currentFrameUpDown = new System.Windows.Forms.NumericUpDown();
this.animationPlayBtn = new System.Windows.Forms.Button();
this.animationTrackBar = new ColorSlider.ColorSlider();
this.stPanel1 = new Switch_Toolbox.Library.Forms.STPanel();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.totalFrame)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.currentFrameUpDown)).BeginInit();
this.SuspendLayout();
//
// button2
//
this.button2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.button2.BackgroundImage = global::Switch_Toolbox.Library.Properties.Resources.arrowL;
this.button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.button2.Location = new System.Drawing.Point(17, 7);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(50, 21);
this.button2.TabIndex = 2;
this.button2.UseVisualStyleBackColor = false;
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.panel1.Controls.Add(this.totalFrame);
this.panel1.Controls.Add(this.currentFrameUpDown);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.animationPlayBtn);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 162);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(631, 32);
this.panel1.TabIndex = 4;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
// totalFrame
//
this.totalFrame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.totalFrame.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.totalFrame.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.totalFrame.ForeColor = System.Drawing.Color.White;
this.totalFrame.Location = new System.Drawing.Point(508, 12);
this.totalFrame.Name = "totalFrame";
this.totalFrame.Size = new System.Drawing.Size(98, 16);
this.totalFrame.TabIndex = 4;
//
// currentFrameUpDown
//
this.currentFrameUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.currentFrameUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.currentFrameUpDown.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.currentFrameUpDown.ForeColor = System.Drawing.Color.White;
this.currentFrameUpDown.Location = new System.Drawing.Point(390, 12);
this.currentFrameUpDown.Name = "currentFrameUpDown";
this.currentFrameUpDown.Size = new System.Drawing.Size(98, 16);
this.currentFrameUpDown.TabIndex = 3;
this.currentFrameUpDown.ValueChanged += new System.EventHandler(this.currentFrameUpDown_ValueChanged);
//
// animationPlayBtn
//
this.animationPlayBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationPlayBtn.BackgroundImage = global::Switch_Toolbox.Library.Properties.Resources.arrowR;
this.animationPlayBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.animationPlayBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.animationPlayBtn.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationPlayBtn.Location = new System.Drawing.Point(73, 7);
this.animationPlayBtn.Name = "animationPlayBtn";
this.animationPlayBtn.Size = new System.Drawing.Size(50, 21);
this.animationPlayBtn.TabIndex = 1;
this.animationPlayBtn.UseVisualStyleBackColor = false;
this.animationPlayBtn.Click += new System.EventHandler(this.animationPlayBtn_Click);
//
// animationTrackBar
//
this.animationTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.animationTrackBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.BorderRoundRectSize = new System.Drawing.Size(8, 8);
this.animationTrackBar.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.animationTrackBar.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F);
this.animationTrackBar.ForeColor = System.Drawing.Color.Silver;
this.animationTrackBar.LargeChange = ((uint)(5u));
this.animationTrackBar.Location = new System.Drawing.Point(0, 16);
this.animationTrackBar.MouseEffects = false;
this.animationTrackBar.Name = "animationTrackBar";
this.animationTrackBar.ScaleDivisions = 10;
this.animationTrackBar.ScaleSubDivisions = 5;
this.animationTrackBar.ShowDivisionsText = true;
this.animationTrackBar.ShowSmallScale = true;
this.animationTrackBar.Size = new System.Drawing.Size(631, 147);
this.animationTrackBar.SmallChange = ((uint)(0u));
this.animationTrackBar.TabIndex = 3;
this.animationTrackBar.Text = "colorSlider1";
this.animationTrackBar.ThumbInnerColor = System.Drawing.Color.Olive;
this.animationTrackBar.ThumbOuterColor = System.Drawing.Color.Olive;
this.animationTrackBar.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationTrackBar.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.animationTrackBar.ThumbSize = new System.Drawing.Size(5, 128);
this.animationTrackBar.TickAdd = 0F;
this.animationTrackBar.TickColor = System.Drawing.Color.Gray;
this.animationTrackBar.TickDivide = 1F;
this.animationTrackBar.Value = 0;
this.animationTrackBar.ValueChanged += new System.EventHandler(this.animationTrackBar_ValueChanged);
this.animationTrackBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.colorSlider1_Scroll);
//
// stPanel1
//
this.stPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.stPanel1.Location = new System.Drawing.Point(0, 0);
this.stPanel1.Name = "stPanel1";
this.stPanel1.Size = new System.Drawing.Size(631, 16);
this.stPanel1.TabIndex = 5;
//
// AnimationPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.stPanel1);
this.Controls.Add(this.animationTrackBar);
this.Controls.Add(this.panel1);
this.Name = "AnimationPanel";
this.Size = new System.Drawing.Size(631, 194);
this.Load += new System.EventHandler(this.AnimationPanel_Load);
this.Click += new System.EventHandler(this.AnimationPanel_Click);
this.Enter += new System.EventHandler(this.AnimationPanel_Enter);
this.Leave += new System.EventHandler(this.AnimationPanel_Leave);
this.panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.totalFrame)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.currentFrameUpDown)).EndInit();
this.ResumeLayout(false);
}
#endregion
private ColorSlider.ColorSlider animationTrackBar;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button animationPlayBtn;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.NumericUpDown totalFrame;
private System.Windows.Forms.NumericUpDown currentFrameUpDown;
private Forms.STPanel stPanel1;
}
}

View file

@ -1,407 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using Switch_Toolbox.Library.Forms;
using Switch_Toolbox.Library.Animations;
namespace Switch_Toolbox.Library
{
//Thanks to forge! Based on
// https://github.com/jam1garner/Smash-Forge/blob/52844da94c7bed830d841e0d7e5d49c3f2c69471/Smash%20Forge/GUI/ModelViewport.cs
public partial class AnimationPanel : STUserControl
{
private static AnimationPanel _instance;
public static AnimationPanel Instance { get { return _instance == null ? _instance = new AnimationPanel() : _instance; } }
//Animation Functions
public int AnimationSpeed = 60;
public float Frame = 0;
public bool isPlaying;
public bool isOpen = true;
private Thread renderThread;
public bool renderThreadIsUpdating = false;
private Animation currentAnimation;
public Animation CurrentAnimation
{
get
{
return currentAnimation;
}
set
{
if (value == null)
return;
int frameCount = 1;
if (value.FrameCount != 0)
frameCount = value.FrameCount;
ResetModels();
currentAnimation = value;
totalFrame.Maximum = frameCount;
totalFrame.Value = frameCount;
currentFrameUpDown.Maximum = frameCount;
animationTrackBar.TickDivide = 1;
animationTrackBar.Maximum = frameCount;
animationTrackBar.Minimum = 0;
currentFrameUpDown.Value = 1;
currentFrameUpDown.Value = 0;
}
}
public void ResetModels()
{
var viewport = LibraryGUI.Instance.GetActiveViewport();
if (viewport == null)
return;
if (viewport.scene == null)
return;
foreach (var drawable in viewport.scene.objects)
{
if (drawable is STSkeleton)
{
((STSkeleton)drawable).reset();
}
}
}
public AnimationPanel()
{
InitializeComponent();
BackColor = FormThemes.BaseTheme.FormBackColor;
ForeColor = FormThemes.BaseTheme.FormForeColor;
animationTrackBar.BackColor = FormThemes.BaseTheme.FormBackColor;
animationTrackBar.ForeColor = FormThemes.BaseTheme.FormForeColor;
animationTrackBar.ThumbInnerColor = FormThemes.BaseTheme.TimelineThumbColor;
animationTrackBar.ThumbOuterColor = FormThemes.BaseTheme.TimelineThumbColor;
this.animationTrackBar.BarInnerColor = FormThemes.BaseTheme.FormBackColor;
this.animationTrackBar.BarPenColorBottom = FormThemes.BaseTheme.FormBackColor;
this.animationTrackBar.BarPenColorTop = FormThemes.BaseTheme.FormBackColor;
this.animationTrackBar.ElapsedInnerColor = FormThemes.BaseTheme.FormBackColor;
this.animationTrackBar.ElapsedPenColorBottom = FormThemes.BaseTheme.FormBackColor;
this.animationTrackBar.ElapsedPenColorTop = FormThemes.BaseTheme.FormBackColor;
panel1.BackColor = FormThemes.BaseTheme.FormBackColor;
animationPlayBtn.BackColor = FormThemes.BaseTheme.FormBackColor;
button2.BackColor = FormThemes.BaseTheme.FormBackColor;
animationPlayBtn.ForeColor = FormThemes.BaseTheme.FormForeColor;
button2.ForeColor = FormThemes.BaseTheme.FormForeColor;
totalFrame.ForeColor = FormThemes.BaseTheme.FormForeColor;
totalFrame.BackColor = FormThemes.BaseTheme.FormBackColor;
currentFrameUpDown.ForeColor = FormThemes.BaseTheme.FormForeColor;
currentFrameUpDown.BackColor = FormThemes.BaseTheme.FormBackColor;
}
private void animationPlayBtn_Click(object sender, EventArgs e)
{
isPlaying = !isPlaying;
animationPlayBtn.BackgroundImage = isPlaying ? Properties.Resources.stop : Properties.Resources.arrowR;
}
private void totalFrame_ValueChanged(object sender, EventArgs e)
{
if (currentAnimation == null) return;
if (totalFrame.Value < 1)
{
totalFrame.Value = 1;
}
else
{
if (currentAnimation.Tag is Animation)
((Animation)currentAnimation.Tag).FrameCount = (int)totalFrame.Value;
currentAnimation.FrameCount = (int)totalFrame.Value;
animationTrackBar.Value = 0;
animationTrackBar.Maximum = currentAnimation.FrameCount;
animationTrackBar.Minimum = 0;
}
}
private void UpdateViewport()
{
if (IsDisposed)
return;
Viewport viewport = LibraryGUI.Instance.GetActiveViewport();
if (viewport == null)
return;
if (viewport.GL_ControlLegacy != null &&
!viewport.GL_ControlLegacy.IsDisposed)
{
if (viewport.GL_ControlLegacy.InvokeRequired)
{
viewport.GL_ControlLegacy.Invoke((MethodInvoker)delegate {
// Running on the UI thread
viewport.GL_ControlLegacy.Invalidate();
});
}
else
{
viewport.GL_ControlLegacy.Invalidate();
}
}
else
{
if (viewport.GL_ControlModern == null || viewport.GL_ControlModern.IsDisposed || viewport.GL_ControlModern.Disposing)
return;
if (viewport.GL_ControlModern.InvokeRequired)
{
viewport.GL_ControlModern.Invoke((MethodInvoker)delegate {
// Running on the UI thread
viewport.GL_ControlModern.Invalidate();
});
}
else
{
viewport.GL_ControlModern.Invalidate();
}
}
}
private void RenderAndAnimationLoop()
{
if (IsDisposed)
return;
// TODO: We don't really need two timers.
Stopwatch renderStopwatch = Stopwatch.StartNew();
Stopwatch animationStopwatch = Stopwatch.StartNew();
// Wait for UI to load before triggering paint events.
int waitTimeMs = 500;
Thread.Sleep(waitTimeMs);
UpdateViewport();
int frameUpdateInterval = 5;
int animationUpdateInterval = 16;
while (isOpen)
{
// Always refresh the viewport when animations are playing.
if (renderThreadIsUpdating || isPlaying)
{
if (renderStopwatch.ElapsedMilliseconds > frameUpdateInterval)
{
UpdateViewport();
renderStopwatch.Restart();
}
if (animationStopwatch.ElapsedMilliseconds > animationUpdateInterval)
{
UpdateAnimationFrame();
animationStopwatch.Restart();
}
}
else
{
// Avoid wasting the CPU if we don't need to render anything.
Thread.Sleep(1);
}
}
}
private void UpdateAnimationFrame()
{
if (isPlaying)
{
if (currentFrameUpDown.InvokeRequired)
{
this.currentFrameUpDown.Invoke((MethodInvoker)delegate {
// Running on the UI thread
if (currentFrameUpDown.Value == totalFrame.Value)
currentFrameUpDown.Value = 0;
else
currentFrameUpDown.Value++;
});
}
else
{
if (currentFrameUpDown.Value == totalFrame.Value)
currentFrameUpDown.Value = 0;
else
currentFrameUpDown.Value++;
}
}
}
private void nextButton_Click(object sender, EventArgs e)
{
// Loop the animation.
if (currentFrameUpDown.Value == totalFrame.Value)
currentFrameUpDown.Value = 0;
else
currentFrameUpDown.Value++;
}
private void prevButton_Click(object sender, EventArgs e)
{
if (currentFrameUpDown.Value != 0)
currentFrameUpDown.Value--;
}
private void animationTrackBar_Scroll(object sender, EventArgs e)
{
}
private void animationTrackBar_ValueChanged(object sender, EventArgs e)
{
if (animationTrackBar.Value > (int)totalFrame.Value)
animationTrackBar.Value = 0;
if (animationTrackBar.Value < 0)
animationTrackBar.Value = (int)totalFrame.Value;
currentFrameUpDown.Value = animationTrackBar.Value;
int currentFrame = animationTrackBar.Value;
SetAnimationsToFrame(currentFrame);
if (!renderThreadIsUpdating || !isPlaying)
UpdateViewport();
}
private void SetAnimationsToFrame(int frameNum)
{
if (currentAnimation == null)
return;
var viewport = LibraryGUI.Instance.GetActiveViewport();
if (viewport == null || viewport.scene == null)
return;
var anim = currentAnimation.Tag;
float animFrameNum = frameNum;
if (anim is MaterialAnimation)
{
((MaterialAnimation)anim).SetFrame(animFrameNum);
((MaterialAnimation)anim).NextFrame(viewport);
}
else if (anim is VisibilityAnimation)
{
((VisibilityAnimation)anim).SetFrame(animFrameNum);
((VisibilityAnimation)anim).NextFrame(viewport);
}
else if (anim is CameraAnimation)
{
((CameraAnimation)anim).SetFrame(animFrameNum);
((CameraAnimation)anim).NextFrame(viewport);
}
else if (anim is LightAnimation)
{
((LightAnimation)anim).SetFrame(animFrameNum);
((LightAnimation)anim).NextFrame(viewport);
}
else if (anim is FogAnimation)
{
((FogAnimation)anim).SetFrame(animFrameNum);
((FogAnimation)anim).NextFrame(viewport);
}
else //Play a skeletal animation if it's not the other types
{
foreach (var drawable in viewport.scene.objects)
{
if (drawable is STSkeleton)
{
currentAnimation.SetFrame(animFrameNum);
currentAnimation.NextFrame((STSkeleton)drawable);
}
}
}
//Add frames to the playing animation
currentAnimation.Frame += 1f;
//Reset it when it reaches the total frame count
if (currentAnimation.Frame >= currentAnimation.FrameCount)
{
currentAnimation.Frame = 0;
}
}
private void currentFrameUpDown_ValueChanged(object sender, EventArgs e)
{
if (currentFrameUpDown.Value > totalFrame.Value)
currentFrameUpDown.Value = totalFrame.Value;
animationTrackBar.Value = (int)currentFrameUpDown.Value;
animationTrackBar.Refresh();
}
public void AnimationPanel_FormClosed()
{
isOpen = false;
Dispose();
}
private void AnimationPanel_Load(object sender, EventArgs e)
{
Viewport viewport = LibraryGUI.Instance.GetActiveViewport();
if (viewport != null)
{
if (viewport.GL_ControlLegacy != null)
viewport.GL_ControlLegacy.VSync = Runtime.enableVSync;
else
viewport.GL_ControlModern.VSync = Runtime.enableVSync;
}
renderThread = new Thread(new ThreadStart(RenderAndAnimationLoop));
renderThread.Start();
}
private void AnimationPanel_Enter(object sender, EventArgs e)
{
}
private void AnimationPanel_Click(object sender, EventArgs e)
{
renderThreadIsUpdating = true;
}
private void AnimationPanel_Leave(object sender, EventArgs e)
{
renderThreadIsUpdating = false;
}
public void ClosePanel()
{
ResetModels();
currentAnimation = null;
renderThreadIsUpdating = false;
isOpen = false;
if (renderThread != null)
renderThread.Abort();
Dispose();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void colorSlider1_Scroll(object sender, ScrollEventArgs e)
{
}
}
}

View file

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<EnableUnmanagedDebugging>true</EnableUnmanagedDebugging>
</PropertyGroup>
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

Binary file not shown.

View file

@ -1,123 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="richTextBox1.Text" xml:space="preserve">
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="richTextBox1.Text" xml:space="preserve">
<value>- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc) for some code ported over. Specifically animation stuff and some rendering.
- Assimp devs for their massive asset library!
- Wexos (helped figure out a few things, ie format list to assign each attribute)
@ -129,6 +129,6 @@
- AboodXD for BNTX texture swizzling
- MelonSpeedruns for logo.
- Skyth and Radfordhound for PAC documentation
- Ploaj and CrossMod devs for base on DAE writer/exporter</value>
</data>
- Ploaj and CrossMod devs for base on DAE writer/exporter</value>
</data>
</root>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,25 +0,0 @@
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\vc141.pdb
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtexutil.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtexmipmaps.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxteximage.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtexdds.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtexconvert.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtexcompress.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\bc6hbc7.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\bc4bc5.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\bc.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\wrapper.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\.netframework,version=v4.6.assemblyattributes.obj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\.netframework,version=v4.6.assemblyattributes.asm
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\release\directxtex.ipdb
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\release\directxtex.iobj
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\release\directxtex.dll
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\cl.command.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\cl.read.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\cl.write.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\directxtex.write.1u.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\link.command.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\link.read.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\link.write.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\metagen.read.1.tlog
c:\users\nathan\documents\github\switch_toolbox\switch-toolbox - copy\switch_toolbox\lib\directxtex\release\directxtex.tlog\metagen.write.1.tlog

Binary file not shown.

Binary file not shown.

View file

@ -1,15 +0,0 @@
 BC.cpp
BC4BC5.cpp
BC6HBC7.cpp
DirectXTexCompress.cpp
DirectXTexConvert.cpp
DirectXTexDDS.cpp
DirectXTexImage.cpp
DirectXTexMipmaps.cpp
DirectXTexUtil.cpp
wrapper.cpp
.NETFramework,Version=v4.6.AssemblyAttributes.cpp
Generating code
All 442 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
Finished generating code
DirectXTex.vcxproj -> C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Release\DirectXTex.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<EnableUnmanagedDebugging>true</EnableUnmanagedDebugging>
</PropertyGroup>
</Project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,209 +0,0 @@
----------------------------------------------------------------------
CHANGELOG
----------------------------------------------------------------------
4.1.0 (10-28-2018)
- Updated to target .Net Standard 1.3 (additional .Net 3.5 and .Net 4 targets)
- Removed old IL patcher to use new MemoryInterop.ILPatcher build time dependency (allows us to build cross-platform)
- Rewrote Sample application to be a .Net Core app that uses the Veldrid low-level graphics library for rendering
- Added x64 linux native binary, x64 macOS native binary
- Tested on Ubuntu 18.04 and MacOS 10.13 (High Sierra)
- Several fixes and updates to target latest Assimp release
- Ported over "UnmanagedLibrary" abstract code and refactored AssimpLibrary
- Added "ThrowOnLoadFailure" to configure getting back a "false" if native library fails to load or throw an exception (the default). Mono should no longer
throw a "NotImplemented" exception because of trying to get the error code from windows.
- !!Breaking Change!! Native DLLs are deployed differently and resolved at runtime differently
- Removed "DefaultLibraryPathXXBit" properties from AssimpLibrary, they are meaningless now (and probably not used)
- Introduced "UnmanagedLibraryResolver" that lets you set the following to completely configure native DLL loading:
1. Multiple probing paths
2. Multiple fallback library names (e.g. versioned binaries)
3. Override name if the default native library name is not good enough for your tastes.
- Search order of the native DLL is as follows:
1. Search user-specified probing paths
2. Search {AppBaseDirectory}/runtimes/{RID}/native/
3. Search {AppBaseDirectory}/
4. Search nuget cache based on assembly name/informational version ({UserProfile}/.nuget/packages/AssimpNet/{PackageVersion}/runtimes/{RID}/native/)
5. If all above failed, return the given name of the DLL (or override name) and let the OS try and find it (different OS' may have different strategies).
- The resolver is only used in AssimpLibrary.LoadLibrary(). The other two overloads still take in a user-supplied path/to/your/DLL.
- Native DLLs are now deployed in the "runtimes" folder of the nuget package. This means they are now picked up as dependencies by netcore (*.deps.json)
and automatically get copied during the "dotnet publish" command. During development, the system will try and locate the native DLLs in the nuget cache
(.net framework 3.5/4.0 targets still use the MSBuild targets file to copy the runtime folder to the output folder). The folder structure looks like this:
- runtimes/win-x64/native/assimp.dll
- runtimes/win-x86/native/assimp.dll
- runtimes/osx-x64/native/libassimp.dylib
- runtimes/linux-x64/native/libassimp.so
- All native binaries are named "assimp" or "libassimp" depending on platform, since we're putting them in "well known" architecture folders, no need to have unique names
- [Source Only] Added a Unity script that will make it easier for users to load the native DLLs when running in Editor/Standalone Unity 3D
- Build outputs a folder called "UnityPlugin" which you can drag and drop into the Unity Editor. A package will be available in the Asset Store as well.
Targets Assimp 4.1.0
======================================================================
3.3.2 (12-26-2016)
- Fixed up nuget package build targets.
- Added donated mac library implementation (haven't personally tested)
- Removed null/empty string checks for import format hint for reading streams - if you don't supply
a hint, Assimp will automatically try to detect what format it is
- Added logging when an invalid export format ID is encountered -- be sure to use "collada" and not "dae".
- Added additional null/empty checks if adding a material property with an invalid fully qualified name.
Targets Assimp 3.1.1
======================================================================
3.3 (07-3-2014)
- Upgraded to Assimp 3.1.1 - now with FBX support!
- Added matrix property configuration type
- Added root node transformation property configuration for use with "PreTransformVertices" post process step
- Added collada "ignore up direction" property configuration
- Added various FBX importer property configurations
- Added global property configuration to disable bone visualization when a model only has animations and no geometry
- Added support for Metadata objects on nodes
- Fixed issue with marshaling mesh names, AiMesh and AiAnimMesh are now blittable. All unmanaged structs are blittable
and .NET runtime marshaling is avoided due to issues with marshaling fixed buffers in non-blittable structures.
Happy Fourth Of July!
Targets Assimp 3.1.1
======================================================================
3.2 (03-14-2013)
- Added IOSystem/IOStream support, allowing for custom IO handling. An IOSystem can be registered to an AssimpImporter,
which is used during ImportFile and ConvertFile APIs. It currently is not supported for ImportFileFromStream APIs.
- Fixed marshalling of String material property values
- Fixed aiGetTexture function signature to take in an array of 2 UV wrapmodes
Targets Assimp 3.0.1270
======================================================================
3.1 (01-01-2013)
- Added AnyCPU support, replaced AssimpMethods with AssimpLibrary that dynamically loads/unloads the unmanaged Assimp DLL
optionally, a custom file path can be specified to load the Assimp DLL. By default, the 32 or 64 bit Assimp DLL is loaded from the
same directory that the AssimpNet DLL is located in, depending on the bitness of the process.
- Added missing properties for PreState/PostState in NodeAnimationChannel
Targets Assimp 3.0.1270
======================================================================
3.0 (11-11-2012)
- Upgraded to Assimp3.0
- Added Convert API to AssimpImporter to utilize new Export functionality
- Several fixes to Matrix-Quaternion structures
Targets Assimp 3.0.1270
======================================================================
2.1.2.1 Refresh (7-27-2012)
- Added root transformations to the importer - can specify Scale, XRotation, YRotation, and ZRotation. Can use these properties to bake the
transformation by specifying the "PreTransformVertices" post process flag.
- Added missing OffsetMatrix property to Bone
Targets Assimp 2.0.854
======================================================================
2.1.2 (4-4-2012)
- Added RemoveConfigs() method to AssimpImporter
- Fixed an occassional crash when mashalling string material properties
Targets Assimp 2.0.854
======================================================================
2.1 (1-28-2012)
- Added Matrix3x3, Matrix4x4 methods.
- Fixed several bugs in Quaternion.
- Added unit tests for Matrix3x3, Matrix4x4, Quaternion.
- Added "ImportFileFromStream" AssimpMethod and equivalent methods to the AssimpImporter:
This is the implementation for "aiImportFileFromMemory".
- Added a "ReadStreamFully" method to MemoryHelper.
- Added "Importer Settings" config classes.
- Added a sample a port of Assimp's simple textured OpenGL sample using OpenTK.
Targets Assimp 2.0.854
======================================================================
2.0 (1-22-2012)
- Initial release, core API is finished.
Targets Assimp 2.0.854

View file

@ -1,70 +0,0 @@
Copyright (c) 2012-2018 AssimpNet - Nicholas Woodfield
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
====================================================================================
Open Asset Import Library (Assimp)
Copyright (c) 2006-2018, Assimp Development Team
All rights reserved.
Redistribution and use of this software in source and binary forms,
with or without modification, are permitted provided that the
following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of the ASSIMP team, nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission of the ASSIMP Development Team.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AN EXCEPTION applies to all files in the ./test/models-nonbsd subfolder.
These are 3d models for testing purposes, from various free sources
on the internet. They are - unless otherwise stated - copyright of
their respective creators, which may impose additional requirements
on the use of their work. For any of these models, see
<model-name>.source.txt for more legal information. Contact us if you
are a copyright holder and believe that we credited you inproperly or
if you don't want your files to appear in the repository.

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Copy/clean native dependencies only for projects that don't output a *.deps.json file (netframework projects). Netcore projects will
copy out the native dependencies during publish, and during development debugging/running, the binaries will be loaded from the nuget cache.
Optionally, the property $(ForceCopyNativeAssimp) can be set to true to always run these targets. -->
<Target Name="CopyNativeAssimp" AfterTargets="AfterBuild" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<ItemGroup>
<NativeAssimpLibs Include="$(MSBuildThisFileDirectory)..\runtimes\**\*.*"/>
</ItemGroup>
<Message Text="Copying native Assimp libraries..." Importance="high" />
<Message Text="$(TargetDir)$(AssemblyName).deps.json" Importance="high" />
<Copy SourceFiles="@(NativeAssimpLibs)" DestinationFolder="$(OutputPath)\runtimes\%(RecursiveDir)" />
</Target>
<Target Name="CleanNativeAssimp" BeforeTargets="BeforeClean" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<Message Text="Cleaning native Assimp libraries..." Importance="high" />
<ItemGroup>
<NativeAssimpLibsToDelete Include="$(TargetDir)runtimes\**\*assimp*.*;" />
</ItemGroup>
<Delete Files="@(NativeAssimpLibsToDelete)" />
</Target>
</Project>

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,28 +0,0 @@
MIT License
New DirectXTexNet
Copyright (c) 2018 Dennis Gocke
Original DirectXTexNet
Copyright (c) 2016 Simon Taylor
DirectXTex
Copyright (c) 2018 Microsoft Corp
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,9 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(MSBuildThisFileDirectory)' != '' And HasTrailingSlash('$(MSBuildThisFileDirectory)')">
<DirectXTexNetImplFiles Include="$(MSBuildThisFileDirectory)**\*.dll" />
<None Include="@(DirectXTexNetImplFiles)">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View file

@ -1,715 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DirectXTexNet</name>
</assembly>
<members>
<member name="F:DirectXTexNet.CP_FLAGS.NONE">
<summary>
Normal operation
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.LEGACY_DWORD">
<summary>
Assume pitch is DWORD aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.PARAGRAPH">
<summary>
Assume pitch is 16-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.YMM">
<summary>
Assume pitch is 32-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.ZMM">
<summary>
The ZMM
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.PAGE4K">
<summary>
Assume pitch is 4096-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BAD_DXTN_TAILS">
<summary>
BC formats with malformed mipchain blocks smaller than 4x4
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP24">
<summary>
Override with a legacy 24 bits-per-pixel format size
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP16">
<summary>
Override with a legacy 16 bits-per-pixel format size
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP8">
<summary>
Override with a legacy 8 bits-per-pixel format size
</summary>
</member>
<member name="T:DirectXTexNet.TEX_MISC_FLAG">
<summary>
Subset here matches D3D10_RESOURCE_MISC_FLAG and D3D11_RESOURCE_MISC_FLAG
</summary>
</member>
<member name="T:DirectXTexNet.TEX_ALPHA_MODE">
<summary>
Matches DDS_ALPHA_MODE, encoded in MISC_FLAGS2
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.LEGACY_DWORD">
<summary>
Assume pitch is DWORD aligned instead of BYTE aligned (used by some legacy DDS files)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_LEGACY_EXPANSION">
<summary>
Do not implicitly convert legacy formats that result in larger pixel sizes (24 bpp, 3:3:2, A8L8, A4L4, P8, A8P8)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_R10B10G10A2_FIXUP">
<summary>
Do not use work-around for long-standing D3DX DDS file format issue which reversed the 10:10:10:2 color order masks
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_RGB">
<summary>
Convert DXGI 1.1 BGR formats to DXGI_FORMAT_R8G8B8A8_UNORM to avoid use of optional WDDM 1.1 formats
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_16BPP">
<summary>
Conversions avoid use of 565, 5551, and 4444 formats and instead expand to 8888 to avoid use of optional WDDM 1.2 formats
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.EXPAND_LUMINANCE">
<summary>
When loading legacy luminance formats expand replicating the color channels rather than leaving them packed (L8, L16, A8L8)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.BAD_DXTN_TAILS">
<summary>
Some older DXTn DDS files incorrectly handle mipchain tails for blocks smaller than 4x4
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_DX10_EXT">
<summary>
Always use the 'DX10' header extension for DDS writer (i.e. don't try to write DX9 compatible DDS files)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_DX10_EXT_MISC2">
<summary>
FORCE_DX10_EXT including miscFlags2 information (result may not be compatible with D3DX10 or D3DX11)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FORCE_RGB">
<summary>
Loads DXGI 1.1 BGR formats as DXGI_FORMAT_R8G8B8A8_UNORM to avoid use of optional WDDM 1.1 formats
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.NO_X2_BIAS">
<summary>
Loads DXGI 1.1 X2 10:10:10:2 format as DXGI_FORMAT_R10G10B10A2_UNORM
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.NO_16BPP">
<summary>
Loads 565, 5551, and 4444 formats as 8888 to avoid use of optional WDDM 1.2 formats
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.ALLOW_MONO">
<summary>
Loads 1-bit monochrome (black and white) as R1_UNORM rather than 8-bit grayscale
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.ALL_FRAMES">
<summary>
Loads all images in a multi-frame file, converting/resizing to match the first frame as needed, defaults to 0th frame otherwise
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.IGNORE_SRGB">
<summary>
Ignores sRGB metadata if present in the file
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.DITHER">
<summary>
Use ordered 4x4 dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.DITHER_DIFFUSION">
<summary>
Use error-diffusion dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_POINT">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_LINEAR">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_CUBIC">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_FANT">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
Combination of Linear and Box filter
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_U">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_V">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_W">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR_V">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR_W">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.SEPARATE_ALPHA">
<summary>
Resize color and alpha channel independently
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FLOAT_X2BIAS">
<summary>
Enable *2 - 1 conversion cases for unorm to/from float and positive-only float formats
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_RED">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_GREEN">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_BLUE">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.DITHER">
<summary>
Use ordered 4x4 dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.DITHER_DIFFUSION">
<summary>
Use error-diffusion dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.POINT">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.LINEAR">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.CUBIC">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.BOX">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FANT">
<summary>
Filtering mode to use for any required image resizing
Equiv to Box filtering for mipmap generation
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.TRIANGLE">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.SRGB">
<summary>
sRGB to/from RGB for use in conversion operations
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FORCE_NON_WIC">
<summary>
Forces use of the non-WIC path when both are an option
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FORCE_WIC">
<summary>
Forces use of the WIC path even when logic would have picked a non-WIC path when both are an option
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.IGNORE_SRGB">
<summary>
ignores sRGB colorspace conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.REVERSE">
<summary>
converts from premultiplied alpha back to straight alpha
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.SRGB">
<summary>
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.RGB_DITHER">
<summary>
Enables dithering RGB colors for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.A_DITHER">
<summary>
Enables dithering alpha for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.DITHER">
<summary>
Enables both RGB and alpha dithering for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.UNIFORM">
<summary>
Uniform color weighting for BC1-3 compression; by default uses perceptual weighting
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.BC7_USE_3SUBSETS">
<summary>
Enables exhaustive search for BC7 compress for mode 0 and 2; by default skips trying these modes
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.BC7_QUICK">
<summary>
Minimal modes (usually mode 6) for BC7 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.SRGB">
<summary>
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.PARALLEL">
<summary>
Compress is free to use multithreading to improve performance (by default it does not use multithreading)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_RED">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_GREEN">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_BLUE">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_ALPHA">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_LUMINANCE">
<summary>
Channel selection when evaluting color value for height
Luminance is a combination of red, green, and blue
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR_U">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR_V">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.INVERT_SIGN">
<summary>
Inverts normal sign
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.COMPUTE_OCCLUSION">
<summary>
Computes a crude occlusion term stored in the alpha channel
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE1_SRGB">
<summary>
Indicates that image needs gamma correction before comparision
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE2_SRGB">
<summary>
Indicates that image needs gamma correction before comparision
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_RED">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_GREEN">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_BLUE">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_ALPHA">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE1_X2_BIAS">
<summary>
Indicates that image should be scaled and biased before comparison (i.e. UNORM -> SNORM)
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE2_X2_BIAS">
<summary>
Indicates that image should be scaled and biased before comparison (i.e. UNORM -> SNORM)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.BMP">
<summary>
Windows Bitmap (.bmp)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.JPEG">
<summary>
Joint Photographic Experts Group (.jpg, .jpeg)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.PNG">
<summary>
Portable Network Graphics (.png)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.TIFF">
<summary>
Tagged Image File Format (.tif, .tiff)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.GIF">
<summary>
Graphics Interchange Format (.gif)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.WMP">
<summary>
Windows Media Photo / HD Photo / JPEG XR (.hdp, .jxr, .wdp)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.ICO">
<summary>
Windows Icon (.ico)
</summary>
</member>
<member name="T:DirectXTexNet.EvaluatePixelsDelegate">
<summary>
The delegate used for the EvaluateImage method.
</summary>
<param name="pixels">The pixels. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float (0.0-1.0).</param>
<param name="width">The width.</param>
<param name="y">The y/row index.</param>
</member>
<member name="T:DirectXTexNet.TransformPixelsDelegate">
<summary>
The delegate used for the EvaluateImage method.
</summary>
<param name="outPixels">
The out pixels to write to. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float
(0.0-1.0).
</param>
<param name="inPixels">The input pixels. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float (0.0-1.0).</param>
<param name="width">The width.</param>
<param name="y">The y/row index.</param>
</member>
<member name="T:DirectXTexNet.Image">
<summary>
This is an immutable class representing the native Image struct.
It also keeps a reference to a parent to prevent finalizing of the parent when the image is still used.
But it's still strongly encouraged to manually dispose ScratchImages.
</summary>
</member>
<member name="T:DirectXTexNet.TexMetadata">
<summary>
This class represents the native TexMetadata struct. A managed class is used to simplify passing it by reference.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.Height">
<summary>
The height. Should be 1 for 1D textures.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.Depth">
<summary>
The depth. Should be 1 for 1D or 2D textures.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.ArraySize">
<summary>
The array size. For cubemap, this is a multiple of 6.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.ComputeImageIndex(System.Int32,System.Int32,System.Int32)">
<summary>
Computes the image index for the specified values. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
</summary>
<param name="mip">The mip.</param>
<param name="item">The item.</param>
<param name="slice">The slice.</param>
<returns>The image index. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.</returns>
</member>
<member name="M:DirectXTexNet.ScratchImage.OwnsData">
<summary>
Whether this ScratchImage owns the pixel data;
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GetPixels">
<summary>
Normally GetImage().pixels should be used instead, because this only returns a pointer to the pixel data if this image owns the pixel data.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GetPixelsSize">
<summary>
This only returns a value if this image owns the pixel data.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.IsAlphaAllOpaque">
<summary>
Determines whether all pixels are opaque. This method is not supported by temporary scratch images.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateImageCopy(System.Int32,System.Boolean,DirectXTexNet.CP_FLAGS)">
<summary>
Creates a new ScratchImage (deep copy).
</summary>
<param name="imageIndex">Index of the image to make a copy of.</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateArrayCopy(System.Int32,System.Int32,System.Boolean,DirectXTexNet.CP_FLAGS)">
<summary>
Creates a new Array ScratchImage (deep copy).
</summary>
<param name="startIndex">The start index.</param>
<param name="nImages">The n images.</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateCopyWithEmptyMipMaps(System.Int32,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.CP_FLAGS,System.Boolean)">
<summary>
Creates a copy of the image but with empty mip maps (not part of original DirectXTex).
Can be used to generate the mip maps by other means (DirectXTex MipMap Generation is pretty slow).
</summary>
<param name="levels">The levels.</param>
<param name="fmt">The format.</param>
<param name="flags">The flags.</param>
<param name="zeroOutMipMaps">if set to <c>true</c> the mip map levels are zeroed out.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Resize(System.Int32,System.Int32,DirectXTexNet.TEX_FILTER_FLAGS)">
<summary>
Resize the image to width x height. Defaults to Fant filtering. Note for a complex resize, the result will always have mipLevels == 1.
</summary>
<param name="width">The width.</param>
<param name="height">The height.</param>
<param name="filter">The filter.</param>
<returns>The resized image.</returns>
</member>
<member name="M:DirectXTexNet.ScratchImage.ConvertToSinglePlane(System.Int32)">
<summary>
Converts the image from a planar format to an equivalent non-planar format.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.ConvertToSinglePlane">
<summary>
Converts the image from a planar format to an equivalent non-planar format.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps(System.Int32,DirectXTexNet.TEX_FILTER_FLAGS,System.Int32,System.Boolean)">
<summary>
Generates the mip maps.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps(DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps3D(System.Int32,System.Int32,DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="startIndex">The start index.</param>
<param name="depth">The depth.</param>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps3D(DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.PremultiplyAlpha(System.Int32,DirectXTexNet.TEX_PMALPHA_FLAGS)">
<summary>
Converts to/from a premultiplied alpha version of the texture.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.PremultiplyAlpha(DirectXTexNet.TEX_PMALPHA_FLAGS)">
<summary>
Converts to/from a premultiplied alpha version of the texture.
</summary>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.Int32,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
Compresses the specified source image. Note that threshold is only used by BC1.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="threshold">The threshold. Default 0.5</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.Int32,System.IntPtr,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
DirectCompute-based compression
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="pDevice">The device.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="alphaWeight">The alpha weight (is only used by BC7. 1.0 is the typical value to use).</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
Compresses the specified source image. Note that threshold is only used by BC1.
</summary>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="threshold">The threshold. Default 0.5</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.IntPtr,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
DirectCompute-based compression
</summary>
<param name="pDevice">The device.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="alphaWeight">The alpha weight (is only used by BC7. 1.0 is the typical value to use).</param>
</member>
<member name="M:DirectXTexNet.TexHelper.ComputeImageIndex(DirectXTexNet.TexMetadata,System.Int32,System.Int32,System.Int32)">
<summary>
Computes the image index for the specified values. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
The ScratchImage provide a ComputeImageIndex method as well, which should be used preferrably.
</summary>
<param name="metadata">The metadata.</param>
<param name="mip">The mip.</param>
<param name="item">The item.</param>
<param name="slice">The slice.</param>
<returns>
The image index. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
</returns>
</member>
<member name="M:DirectXTexNet.TexHelper.InitializeTemporary(DirectXTexNet.Image[],DirectXTexNet.TexMetadata,System.IDisposable[])">
<summary>
Creates a temporary image collection (Not part of the original DirectXTex). This does not copy the data. Be sure to not dispose the original ScratchImages that were combined in this
collection. Alternatively the ownership of the original ScratchImage(s) can be passed to this instance.
</summary>
<param name="images">The images.</param>
<param name="metadata">The metadata.</param>
<param name="takeOwnershipOf">Optional objects this instance should take ownership of.</param>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more