* avoid using LINQ for array slicing
* separate pitch and block linear swizzle functions
* use tegra_swizzle lib for swizzle/deswizzle for block linear
* clean up tegra swizzle and remove redundant allocation
* add an additional binary for 32 bit
* add check to force valid block heights
* fix sizes for 32 bit swizzle ffi
* simplify mipmap offsets, fix clamping blockHeightLog2
* prevent 0 values for width/height
* port updated nutexb block height function from Cross Mod
* update tegra_swizzle to include corrected block height functions
KCL support has been greatly improved.
- High poly collisions can now be created (even higher than 65k+).
Collision should still be made with the game limitations and performance in mind!
- Support for all KCL versions (GC, Wii, DS, 3DS, etc). Keep in mind for various games to work, you must create a preset and configure the settings used for individual games. I will be adding many more soon to support a wide range of games.
- KCL files can now have the endianness switched and saved back allowing for direct conversion.
- OBJ importing will auto map materials by name COL_## (## being hex value). This allows to export and reimport collisions with all the data intact.
- File sizes are more optmized and improved.
- Speed signifcantly improved and is much faster for both exporting and replacing.
-Materials are now split in the node view for a KCL. This is to select and easily see all the material types and so they can be highlighted.
Fix trying to access field in a string.
Changed Toolbox references to automatically build dependencies (Toolbox_Library, File_Format_Library) to resepective output folder
- AAMP can now save back to YAML!
- Added text editor for AAMP editor
- AAMP library has been improved signifcantly, now using one library for all versions.
- BYAML now uses YAML by default. You can still right click in the editor and export as XML if needed.
- BYAML saving speed improved signifcantly.
- BYAML now supports reference nodes and works with 3DW byml files.
- BYAML can now load shift JIS encoding for japanese characters.
- YAML syntax for text editor improved with proper folding and highlighting for certain values.
General
- Always allow multiple instances of the tool by default. (UseSingleInstance in config.XML)
- Yaz0 now uses a new library using c code. This improves compression times and is comparable to wzst's yaz0 compressor. Thanks to AboodXD for helping port the code.
- Add flat buffer templates for gfbmdl and gfbanm.
- Redid UV editor. Now using new 2D engine with some improvements. Should work better with mutliple file formats than just bfres.
- Auto compress bfres with .sbfres extension.
BFLYT:
-Add animation reference list to panes if they have any animations.
- Note the animation editor in it is not functional yet.
GFBMDL
- Progress on model importing. Currently crashes on many tests so saving is currently disabled till i figure out why.
- Add new texture map display with UV coordinates shown. Displays how transforms are handled.
- Add option to export materials and models entirely as .json files.
DAE
- improve bone/joint check.
Redid gfmdl parser completely. This allows the file to be rebuilt for custom models which will be coming soon.
Textures now load in the gfmdl section to easily edit without touching bntx.
Added a basic material editor (more like a viewer atm) for gfbmdl.
Added a Pokemon viewer (requires game path to be set). This shows icons of all the pokemon and opens the archive they are located in.
Start to parse GFBANIM. Not previewable yet because of rotations breaking. If anyone wants to help though be my guest :)
Basic GFBANIMCFG support. It can be used to view animation file names.
Rewrote the compression handling from scatch. It's way easier and cleaner to add new formats code wise as it's handled like file formats.
Added wip TVOL support (Touhou Azure Reflections)
Added XCI support. Note I plan to improve NSP, XCI, NCA, etc later for exefs exporting.
The compression rework now compresses via streams, so files get decompressed properly within archives as streams.
Added hyrule warriors bin.gz compression along with archive rebuilding. Note i do not have texture rebuilding done just yet.
Opengl textures that are not power of 2 decode from ST decoder. This prevents those from not loading. (Common in SMM1, SMM2, and also BFLYT).
Bflyt displays bounding panes, and window panes display textures. Window panes still need more work for rendering.
Bflyt now uses custom shaders for more advancements with rendering. Legacy PCs should still work fine with this.
Fixed uv transforms for bflyt if they are negative, which flips them.
Fixed an issue loading bclyt layouts.
Fixed pane trnasformation issues. They are nearly perfect, but rotations for X and Y are off.
Parts now search for opened sarc archives.
Fixed an issue with some spaces not quite saving for txt1 panes. This may fix some saving issues, as most i've tried output back identically.
Fixed an issue displaying LA8 textures.
Basic NCCH support, only romfs previewing for easy ripping and testing for file formats. Writing back and more improvements planned soon.
Save BTI files back.
Add structure based parsing from Kuriimu's IO extension. This will be expanded upon later to parse offsets and other things easier.