cearp, could you change the -h option to put the input filename at the beginning of the list of options? Due to the way that nargs='+' works, I ran into the below problem, and had to spend some time debugging to figure it out:
Code:D:\3DS\FunkyCIA2>FunkyCIA2.py -nopatchdlc -nopatchdemo -outputdir Japanese3DS -title 0004000e00c0ffee Japanese3DS\ticket.db usage: FunkyCIA2.py [-h] [-type {gameapp,update,dlc,demo,dsiware,system,ALL} [{gameapp,update,dlc,demo,dsiware,system,ALL} ...] | -title SPECIFIC_TITLES [SPECIFIC_TITLES ...]] [-ignoretitles IGNORE_TITLES [IGNORE_TITLES ...]] [-outputdir OUTPUT_DIR] [-nosort] [-nodownload] [-nobuild] [-noignore] [-nopatchdlc] [-nopatchdemo] [-personal] [-preinstalled] [-retry {0,1,2,3,4,5,6,7,8,9}] inputfile FunkyCIA2.py: error: too few arguments
hmm, i don't do anything special for the -h, argsparse (or whatever the section of python that handles the arguments) does that bit for me.
sure, i see why it did not work the way you did it. but you can use the flags/options in any combination you want, by habit i always input the file first.
i don't think there is a way i can prevent someone from adding the filename at end of a multiple argument thing like -title.
well, i could make an input file argument - like -input -- but i think you are the first person to come across this problem
from the code you can see that i added lots of error checking etc, if it was just for myself i would not have done so, but yeah, it's a chore to cover everything ha!
By the way, is there a way to make a .cia entirely from data on the 3DS itself without going to the CDN?
Decrypt both .app (ncch) files on your sd card and then run:
makerom -f cia -o output.cia -target t -i 00000000.app:0:0 -i 00000001.app:1:1
the files do not always start at 00000000, plus there are not always 1 app and 1 manual file
Myria - i guess you could reencrypt them using the title key from the ticket, and that would make the contents the same as they came from cdn (i don't see why it wouldn't work)
although for me cdn download speeds are very fast, and it is nice to do it all on a server and not need to decrypt/encrypt anything