VidInjector9000

A cross platform injector for 3DS video CIAs

Stars
15

VidInjector9000

A cross platform* injector for 3DS video CIAs

*If builds for your operating system are not provided then you will have to compile it yourself, see compiling.

Video

Example Screenshots

Light Mode (Wide Window Mode)

Dark Mode (Wide Window Mode)

Classic (Wide Window Mode Disabled)

Light Mode (Wide Window Mode)

Dark Mode (Wide Window Mode)

Classic (Wide Window Mode Disabled)

Light Mode (Wide Window Mode)

Dark Mode (Wide Window Mode)

Classic (Wide Window Mode Disabled)

Light Mode (Wide Window Mode)

Dark Mode (Wide Window Mode)

Classic (Wide Window Mode Disabled)

VidInjector9002 can...

  • Create video injects. Input .moflex videos, images, and text, and the program will build a .cia file for you!
  • Create multi-video injects. Similar to the above, but there can be multiple videos in one .cia file!
  • Unpack a video CIA. Load parameters from a .cia file to edit and rebuild!
  • Save and load parameters. Save your place and come back later, they can even be saved/loaded automatically!
  • Be configured for any language. If you can translate it, you can add it! (See translation for details)

Tips:

  • Click the icon preview to change border modes!
  • Open a project file (.vi9p) with the program to load in those parameters!
  • Click the multi video banner preview to choose file!
  • Click the logo in the options menu to find to the latest release!
  • If an image doesn't fit in, it will be resized and cropped!
  • If your multi video project is too big, click the "Split into a patch" button to split the parameters into a Luma LayeredFS game patch when building the .cia! (Extract the contents of the final .tar to the root of your SD card to install the patch)

You may ask...

Q: How do I make .moflex files?

A: Use Mobiclip Multicore Encoder. The most straight forward way to get that is on the Nintendo Developer Portal, but there are mirrors online somewhere...

Q: Why did you even make this?

A: I made this so that the process of injecting with 3D banners is more streamlined.

Q: How is this different from all the other injectors?

A: This is simple and gives you much control over your video injections. Plus, VidInjector9000 3.0 (aka VidInjector9002) is a GUI and not a CLI!

Known Issues

Sometimes UTF-8 file paths are not supported on Windows/Wine

Most things work with UTF-8 file paths but certain things don't. (the location of the program, SMDH reading, CIA reading, CIA writing, TAR reading, TAR writing) These should work on other platforms though.

Multi Video injects do not work on the regions China, Taiwan and Korea because there are no language files for those.

I am unable to add them myself because I don't know those languages and this isn't really in my "jurisdiction" so I would appreciate it if someone would translate the files and contribute the following:

romfs/lang/

  • CN_Simp_Chinese/message.msbt
  • KR_Hangeul/message.msbt
  • TW_Trad_Chinese/message.msbt

To remedy this, you can use lumalocaleswitcher.

Compiling

  1. Download xtd from gammasoft71 or my fork
  2. Run the install script that corresponds to your operating system
  3. run the command xtdc build -r in the directory of Vidinjector9002's cmakelists.txt
  4. ???
  5. profit!!

Tested compatibility

Notes: The window is unstable.

Async doesn't work

Unicode characters like in Japanese text do not appear on the form.

Unicode characters like in Japanese text do not appear on the form.

Translation

  • Put a translation text file and an m.bmp in Vidinjector9000Resources/language/<language>
    (the M in the image stands for Multi, so consider that when translating!)
  • The folder name is recommended to be in ASCII format to avoid issues, but it might actually work so... who knows?
  • the language string value in the file should be the name of the language in such language, not the word "English" translated

Thank you to the following for the work in translating:

Deepl

Google Translate

Rayz0rum

"Pixel"

  • Please create a pull request or issue if you want to share your translation of the program.

Credits and Stuff

xtd: The GUI framework that made this whole thing possible

nnc (my fork of nnc): Converting banner and icon images, packing and unpacking CIA files

stb image: Manipulating images

miniz cpp: Zip extraction

microtar: TAR reading and writing

3DBrew: Emotional support