Skip to content

FoofooTheGuy/VidInjector9000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

drawing

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

The Best Way to Watch Movies On the 3DS — VidInjector9002 Tutorial

Example Screenshots

Windows 8.1

Light Mode (Wide Window Mode)

light wide

Dark Mode (Wide Window Mode)

dark wide

Classic (Wide Window Mode Disabled)

light classic

Windows 10

Light Mode (Wide Window Mode)

win10 light wide

Dark Mode (Wide Window Mode)

win10 dark wide

Classic (Wide Window Mode Disabled)

win10 light classic

Manjaro gnome 23.0-230903

Light Mode (Wide Window Mode)

manjaro wide light

Dark Mode (Wide Window Mode)

manjaro wide dark

Classic (Wide Window Mode Disabled)

manjaro classic light

Wine (Manjaro gnome 23.0-230903)

Light Mode (Wide Window Mode)

wine wide light

Dark Mode (Wide Window Mode)

wine wide dark

Classic (Wide Window Mode Disabled)

wine classic light

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

Windows 8.1

Notes: The window is unstable.

Windows 10

Manjaro gnome 23.0-230903

Async doesn't work

Wine (Manjaro gnome 23.0-230903)

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

Wine (Ubuntu 20.04.2.0)

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