mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2024-11-22 04:23:09 +00:00
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:
parent
9a0d92ec42
commit
317c18a570
279 changed files with 650 additions and 158911 deletions
362
.gitignore
vendored
362
.gitignore
vendored
|
@ -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.
Binary file not shown.
Binary file not shown.
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
336
README.md
|
@ -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!
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
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.
|
@ -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.
BIN
UpgradeLog.htm
BIN
UpgradeLog.htm
Binary file not shown.
BIN
packages/AssimpNet.4.1.0/.signature.p7s
vendored
BIN
packages/AssimpNet.4.1.0/.signature.p7s
vendored
Binary file not shown.
Binary file not shown.
BIN
packages/AssimpNet.4.1.0/AssimpNet.4.1.0.nupkg
vendored
BIN
packages/AssimpNet.4.1.0/AssimpNet.4.1.0.nupkg
vendored
Binary file not shown.
209
packages/AssimpNet.4.1.0/ChangeLog.txt
vendored
209
packages/AssimpNet.4.1.0/ChangeLog.txt
vendored
|
@ -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
|
70
packages/AssimpNet.4.1.0/License.txt
vendored
70
packages/AssimpNet.4.1.0/License.txt
vendored
|
@ -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.
|
||||
|
24
packages/AssimpNet.4.1.0/build/AssimpNet.targets
vendored
24
packages/AssimpNet.4.1.0/build/AssimpNet.targets
vendored
|
@ -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>
|
BIN
packages/AssimpNet.4.1.0/lib/net35/AssimpNet.dll
vendored
BIN
packages/AssimpNet.4.1.0/lib/net35/AssimpNet.dll
vendored
Binary file not shown.
11454
packages/AssimpNet.4.1.0/lib/net35/AssimpNet.xml
vendored
11454
packages/AssimpNet.4.1.0/lib/net35/AssimpNet.xml
vendored
File diff suppressed because it is too large
Load diff
BIN
packages/AssimpNet.4.1.0/lib/net40/AssimpNet.dll
vendored
BIN
packages/AssimpNet.4.1.0/lib/net40/AssimpNet.dll
vendored
Binary file not shown.
11454
packages/AssimpNet.4.1.0/lib/net40/AssimpNet.xml
vendored
11454
packages/AssimpNet.4.1.0/lib/net40/AssimpNet.xml
vendored
File diff suppressed because it is too large
Load diff
Binary file not shown.
11454
packages/AssimpNet.4.1.0/lib/netstandard1.3/AssimpNet.xml
vendored
11454
packages/AssimpNet.4.1.0/lib/netstandard1.3/AssimpNet.xml
vendored
File diff suppressed because it is too large
Load diff
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.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
Binary file not shown.
|
@ -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.
|
|
@ -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>
|
Binary file not shown.
Binary file not shown.
|
@ -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.
BIN
packages/DockPanelSuite.3.0.6/.signature.p7s
vendored
BIN
packages/DockPanelSuite.3.0.6/.signature.p7s
vendored
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.
BIN
packages/IonKiwi.lz4.net.1.0.11/.signature.p7s
vendored
BIN
packages/IonKiwi.lz4.net.1.0.11/.signature.p7s
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue