Skip to content

A switch homebrew which allows you to create user icons like NSO

License

Notifications You must be signed in to change notification settings

impeeza/nso-icon-tool

 
 

Repository files navigation

nso-icon-tool

A switch homebrew which allows you to create user icons like NSO

License Version Build


Features

  • Create and apply custom user icons using available NSO Icon Elements
  • Alternatively, use your own custom images as a user icon

Screenshot

More Screenshots

How to use

NSO Icons

Important

You must download the NSO Icon Cache from the settings page before they will be available. They aren't shipped with the application.

  • NSO Icon components are (usually) split into 3 parts: a frame, a character, and a background. Use the related button from the main page to browse the available icon parts (e.g. Select Frame lets your browse available frames).
  • Once you've created the icon, use Apply to User and it will be automatically applied to the selected user. This change won't be immediately visible everywhere on the switch; just how it works.

NSO Icon Cache

  • The icon cache contains all the NSO icon components. It must be downloaded in settings before they are available. This can take awhile the first time so be patient.
  • You can check for updates to the icon cache from settings. If new icons are available, you can downloaded the new cache and update your local copy if desired.
  • The cache is kept in sdmc:/avatars/nso-icons-main.
  • For speed, existing files aren't overwritten when updating the cache. If you have an issue, you can use Overwrite Existing Files During Update in settings to toggle this behavior.
  • Icon cache location: https://github.com/henry-debruin/nso-icons

Custom Images

  • Place any custom images (PNG or JPG) into sdmc:/avatars/ so they will be found. Sizing your images to 256x256 would be best, but incorrectly sized images will be resized automatically. This will likely not work well if the image width/height aren't equal.
  • Select Custom Images on the main screen in order to use your images.

How to build

Requirements

Docker

  • compose.yaml is provided which can be used with Docker as a build environment already containing the necessary requirements

Build

git clone --recursive https://github.com/dslatt/nso-icon-tool/
cd nso-icon-tool
cmake -B build_switch -DPLATFORM_SWITCH=ON
make -C build_switch nso-icon-tool.nro -j$(nproc)

or

git clone --recursive https://github.com/dslatt/nso-icon-tool/
cd nso-icon-tool
./proj_build.sh

Using MSYS2

You need a working DevKitPro installation and then install the packages:

MingW64:

pacman -Syuu git make cmake mingw-w64-x86_64-gcc switch-cmake libnx switch-dev switch-glfw switch-curl switch-libzstd switch-liblzma switch-lz4 switch-bzip2 switch-xxhash

MSYS

pacman -Syuu git make cmake gcc switch-cmake libnx switch-dev switch-glfw switch-curl switch-libzstd switch-liblzma switch-lz4 switch-bzip2 switch-xxhash

The commands to build are:

cd ~
rm -rf ~/nso-icon-tool
git clone --recursive https://github.com/dslatt/nso-icon-tool
cd ~/nso-icon-tool
./proj_build.sh

Help me

If you want to help me open an issue when you encounter a bug and a pull request if you have a fix. Thanks!

Credits

TODO

  • Bugfixes. I'm sure there's some.
  • Add some notification that an icon cache update is available on startup. Consider adding more details/clarity to the update process as well.
  • Add a collection of previously used/saved avatars for convienient switching.

About

A switch homebrew which allows you to create user icons like NSO

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 86.8%
  • CMake 13.0%
  • Shell 0.2%