{"id":17362239,"url":"https://github.com/danielectra/3dsttool","last_synced_at":"2025-03-27T16:46:35.844Z","repository":{"id":60580268,"uuid":"544058715","full_name":"DaniElectra/3DSTTool","owner":"DaniElectra","description":"3DSTTool is a command-line tool for managing 3DST files from the Nintendo Anime Channel application.","archived":false,"fork":false,"pushed_at":"2022-10-28T17:42:46.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T20:29:40.654Z","etag":null,"topics":["3dst","cli","csharp"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaniElectra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-01T14:33:26.000Z","updated_at":"2024-07-16T09:45:05.000Z","dependencies_parsed_at":"2023-01-20T14:20:28.234Z","dependency_job_id":null,"html_url":"https://github.com/DaniElectra/3DSTTool","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniElectra%2F3DSTTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniElectra%2F3DSTTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniElectra%2F3DSTTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniElectra%2F3DSTTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaniElectra","download_url":"https://codeload.github.com/DaniElectra/3DSTTool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245887923,"owners_count":20688893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3dst","cli","csharp"],"created_at":"2024-10-15T19:37:30.275Z","updated_at":"2025-03-27T16:46:35.823Z","avatar_url":"https://github.com/DaniElectra.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 3DSTTool  \n![GitHub](https://img.shields.io/github/license/DaniElectra/3DSTTool?style=for-the-badge) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/DaniElectra/3DSTTool?style=for-the-badge)  \n3DSTTool is a command-line tool for managing 3DST files from the Nintendo Anime Channel application.  \n\n## Features  \n\n- **Encode** a given image to a 3DST file:  \n```\n./3DSTTool encode\n\n  -o, --output      The 3DST file save location.\n\n  -w, --width       Specify the width of the output image(s). Must be a power of 2.\n\n  -h, --height      Specify the height of the output image(s). Must be a power of 2.\n\n  -f, --format      (Default: rgba8) The format type to use when saving.\n  Available options: rgba8, rgb8, a8, rgba5551, rgb565, rgba4\n\n  -y, --flip        Flip the image(s) when saving.\n\n  --help            Display this help screen.\n\n  --version         Display version information.\n\n  input (pos. 0)    Required. The image file(s) to convert.\n```  \n- **Decode** a given 3DST file to an image:  \n```\n./3DSTTool decode\n\n  -o, --output      The image file save location.\n\n  -w, --width       Specify the width of the output image(s).\n\n  -h, --height      Specify the height of the output image(s).\n\n  -f, --format      (Default: png) The image format to use when saving.\n  Available options: astc, avif, bmp, dng, gif, heif, ico / icon, jpg / jpeg, ktx, pkm, png, wbmp, webp\n\n  -y, --flip        Flip the image(s) when saving.\n\n  --help            Display this help screen.\n\n  --version         Display version information.\n\n  input (pos. 0)    Required. The 3DST file(s) to convert.\n```  \n\n### To-do list  \nAlthough the project is *almost* ready for final release, there are some missing features that I want to add before v1.0:  \n\n- Support for all 3DST image formats:  \n\n|          | Is supported? |\n|----------|:-------------:|\n| RGBA8    |       ✅       |\n| RGB8     |       ✅       |\n| A8       |       ✅       |\n| ETC1     |       ❌       |\n| RGBA5551 |       ✅       |\n| RGB565   |       ✅       |\n| RGBA4    |       ✅       | \n\n- Write proper documentation (not just the help information)  \n\n\n## Building  \nTo build the tool, you will need .NET Core 3.1 and the following NuGet packages:  \n\n- [CommandLineParser](https://www.nuget.org/packages/CommandLineParser) 2.9.1+  \n- [SkiaSharp](https://www.nuget.org/packages/SkiaSharp) 2.88.3+  \n- [System.Memory.Data](https://www.nuget.org/packages/System.Memory.Data) 6.0.0+\n\n## Note for Linux users  \nTo use this tool under Linux, you will need to install the proper package for your distro. You can learn more about this issue [here](https://github.com/mono/SkiaSharp/wiki/SkiaSharp-Native-Assets-for-Linux).  \n\n### The generic solution  \nYou can try adding the following NuGet package as a dependency to the project: [SkiaSharp.NativeAssets.Linux](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux).  \n\n### For Arch-based distros  \nIn some distributions like Arch Linux, you can install the SkiaSharp library as a system package:  \n```shell\nsudo pacman -S skia-sharp\n```\n\n## License  \nThis project can licensed under the [LGPL-3.0](LICENSE) license or any later version.  \n\n## Credits  \nCredits to:  \n\n- The [3DS Apps Revival Team](https://discord.gg/2nCGTHSV9e) for making the initial investigation about the inner workings of Nintendo Anime Channel.  \n- [gdkchan](https://github.com/gdkchan) and the [Ohana3DS-Rebirth](https://github.com/gdkchan/Ohana3DS-Rebirth) project for some code regarding the various color formats.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielectra%2F3dsttool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielectra%2F3dsttool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielectra%2F3dsttool/lists"}