Giter Club home page Giter Club logo

ultimate_tex's Introduction

ultimate_tex GitHub release (latest by date including pre-releases)

Texture conversion utilities for Smash Ultimate. Report any bugs or request new features in issues.

ultimate_tex_tauri

image

A desktop application for batch converting texture files. Download the program in releases.

Drag files onto the application window or add them with File > Add File(s), select the export settings, select the export folder, and click the export button to convert. See the wiki for detailed usage instructions.

ultimate_tex_cli

A commandline program for converting a single texture file.

Examples

DDS:
cargo run -p ultimate_tex_cli --release -- cat.jpeg cat.dds --format BC1Srgb
cargo run -p ultimate_tex_cli --release -- cat.dds cat.tiff

Nutexb:
cargo run -p ultimate_tex_cli --release -- def_mario_001_col.nutexb img.dds
cargo run -p ultimate_tex_cli --release -- img.dds def_mario_001_col.nutexb --format BC7Srgb

Bntx:
cargo run -p ultimate_tex_cli --release -- chara_0_captain_01.bntx img.png
cargo run -p ultimate_tex_cli --release -- img.png chara_0_captain_01.bntx --format BC7Unorm --no-mipmaps

ultimate_tex

A library for conversion functionality shared between the GUI and CLI programs.

Building

With a newer version of the Rust toolchain installed, run cargo build --release. Don't forget the --release since debug builds in Rust will run slowly. The image_dds crate compiles C/C++ code for the encoders and decoders and requires C/C++ tooling installed. image_dds uses precompiled kernels for some image encoding operations, so not all platforms and architectures are supported.

The ultimate_tex_tauri application requires additional tools to build and run. See the getting started guide for details. The guide also covers installing necessary packages on Linux. The frontend uses Javascript and requires installing a newer version of npm. Run npm install once from the ultimate_tex_tauri directory to install the necessary Javascript packages. The easiest way to run the app locally is to install the tauri CLI tools with cargo install tauri-cli and then run cargo tauri dev also from the ultimate_tex_tauri directory.

Credits

ultimate_tex's People

Contributors

scanmountgoat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ultimate_tex's Issues

Is the CLI built in to the windows exe?

I'm trying to use this to create a png from a bntx using command line, but it seems to not care about my arguments at all.

Ex1: ultimate_tex.exe chara_0_koopa_00.bntx result.png
Ex:2 ultimate_tex.exe -- chara_0_koopa_00.bntx result.png
Ex:3 ultimate_tex.exe -p chara_0_koopa_00.bntx result.png

Neither of these work, and all of them just open the GUI. Do I have to build the ultimate_tex_cli from source?

P.S. Thank you for making this, it looks awesome.

improve bntx support

The current bntx library has very limited support for bntx files. There are existing implementations in C# that can serve as a reference like Switch Toolbox.

  • support additional image formats
  • support mipmaps
  • support array layers?
  • #6
  • improved testing for bntx reading/writing

cube maps from images

This can use a cross, horizontal, or vertical layout for the cube map faces in the image input. This avoids the need to use DDS files on platforms that don't have good DDS tooling like Linux or MacOS.

jpg with odd dimensions fails to convert to `.nutexb` with no error message

I tried to convert a .png image and the only result I get is "Converted 0 of 1 images". No matter the format I try to convert to, the same thing happens, except .png to .png.
I though that it was an error generated by the odd size of the image, but I changed the size to be square (500px by 500px) and the same thing occurs.
Could it be a weird property of the image?

won't boot up

it just stays white and i cannot use it. I installed all I need too. I have windows

3D textures from images

3D textures can be created from horizontal or vertical depth slices in a single image. This is less critical since most users will want to use Smush-LUT anyway.

Artifacts (incomplete conversion) of PNG/DDS files from Nutexb/BNTX

Hello. I've come across a new issue. If you convert a bntx or nutexb file to png or dds, the new image's right side seems dotted, striped or "incomplete", and has like parts of that side erased almost.

This only seems to happen when selecting PNG as the export option, or selecting DDS and then selecting Color sRGB for output format.
If you select Color (Linear), the artifacts are actually not there.
Selecting PNG will cause this issue no matter the case (options are disabled anyways.)

Here is the program version I use (and what I did):
image
And then, here is the outcome picture. Notice the right side of the image seems like it's striped. Hmm:
image

Error converting chara_4_eflame_only_01.png 162x162 to bntx

hey sorry if Im not supposed to start a new issue. I wasn't sure since you closed the last one but now the newest release it unfortunately still doesnt work but shows an error message this time.

Error converting chara_4_eflame_only_01.png: error compressing surface: surface dimensions 162 x 162 x 1 are not divisibly by the block dimensions 4 x 4

Is this something thats fixable?

Options to set compression level for all images

Not an issue, more an enhancement idea. Being able to set compression levels for all images at once would be really nice. It is a bit tedious to have to set them all one by one, which is honestly a bit surprising that it's not already in given how there's options to set everything as PNGs, BNTXs, etc.

Would love to see this change be in the program!

Investigate CI build failures on Linux

This is caused by a linker error with ld with the intel_tex_2 crate.

/deps/libintel_tex_2-0274f53995cad98c.rlib(ispc_texcomp_astc.o): undefined reference to symbol '_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status

Exported chara BNTX crashes game

Ult Tex can make and export BNTX files from and into PNG/DDS files fine, but whenever it is loaded into Smash, it crashes.
I don't think I know exactly what's wrong, surface-wise, but hopefully it won't be too difficult to remedy.

Nutexb files are completely fine of course, to and from PNG/DDS files, if it's worth knowing for the other filetype.
Only BNTX conversion seems strange.

If your "improve BNTX support" issue/tab already includes this as one of the known issues and will fix it when finished, I apologize for making a new unneeded issue tab, lol..

Crashes

Every time I import my batch of BNTX files, and set the output folder, everything works perfectly. But as soon as I click export, the program crashes with no explanation or error. I have the Microsoft thing already so I really can’t tell what’s wrong. Any tips would be greatly appreciated.

Missing libwebkitgtk-4.0 on SteamOS

This is tested on a virtual machine but will likely occur on actual hardware as well. It might work better to also provide an AppImage with all the necessary dependencies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.