IT WORKED!!!!! I've finally been able to generate my own XORpads via Ninjhax and I solved the riddle as to why it didn't work before / didn't work for others. I'll explain everything below and give you all the information you need to be able to generate your own XORpads on Ninjhax for both game backups and .CIA theme packs.
This will solve the strange issue of the single 's' file for you.
First of all, sorry for the confusion. I did get some stuff wrong, so ignore what I wrote before and just read this.
UTF-8 is the correct format, UTF-16 is wrong and / or obsolete
Yup, that's correct.
Archshifts master and bootstrap branches of decrypt9 rely on filenames being stored in UTF-8 format. UTF-16 is (to my knowledge) only used in the special version that comes with
Kamesenin888s CIA to CHMM script, and even there it doesn't have to be UTF-16. Kamesenin888 just used an old version. Also
Pacman pointed this out aeons ago, and I still confused it, sorry.
There are no changes needed to the bootstrap branch of decrypt9 for this to work
You just need a properly compiled version
of the latest sourcecode. I still went ahead and did some changes (attached below) based on ShadowTrances already existing modifications, but these are just cosmetics. The start screen now lists the authors, and when the log reaches the bottom, the screen is properly cleared, making for a more beautiful output. I also attached the source code, and maybe someone will want to feed this back to GitHub (I'm not familiar with GitHub yet).
However, you need a special version of ncchinfo_gen.py to generate XORpads for theme packs
This is
ShadowTrances finding, not mine. The original ncchinfo_gen.py (which also still comes with the
decrypt9 download) was never intended to be used to generate XORpads for theme packs, so
one little change is needed. You don't need to do that change yourself, I've also attached a version of the script for you to use (ncchinfo_tgen.py). Don't use drag and drop with ncchinfo_tgen.py, it will not work. For game backup XORpad generation you should still use the original version of ncchinfo_gen.py.
The mystery about the first line of the ncchinfo_gen.py script
In ShadowTrances script, the first line is "#!python2.7", in the original script (from the official download) it is "#!/usr/bin/env python". ShadowTrance says only his version of the script works, so what is this about? Easy, the first line tells the script which version of Python to run on. There are some substantial differences between Python v2.7 and Python v3.0+, so the script will run properly only on Python 2.7. ShadowTrance has both versions of Python installed, so that line might be needed for him so that the correct version of Python is chosen. For everyone else this only means that you should either only have Python v2.7 installed or make absolutely sure Python v2.7 is used to run this and not Python v3.0+. For the second option, I suppose you're a dev if you need both versions installed, so you'll most likely know how to help yourself.
TL;DR
Use the attached version of decrypt9 (decrypt9-brahma-beautified) for Ninjhax. If you want to generate XORpads for a theme pack, use the attached ncchinfo_tgen.py script to generate the ncchinfo.bin, for game backups use the one
Archshift provides. Don't use drag and drop with ncchinfo_tgen.py, it will not work. Use
Python v2.7.x to run the scripts, don't install any version >= v3.0 on your computer.
Shadowtrance: Are you okay with me releasing the beautified version of decrypt9 over in the Homebrew subsection? I know, it's mainly your work and Archshifts, over all else, but here it will just get buried and I would properly name the original authors.