convert .3ds to .cia with just an exheader xorpad (old crappy method)
3ds File To Cia File

3ds-to-cia-quick.sh
Manually builds the CIA now; makerom is no longer needed This should mean lower-memory computers can properly convert larger games. The 3dsconv.exe in this release includes all the necessary libraries and a Python interpreter, so it should be usable on 64-bit Windows without Python installed. So those voice files can't be imported into EditvoicepackX. The only way to do it is by hand. Which would be a huge endeavor. You would have to look at each aircraft.cfg and create a voice for that model and callsign if it already doesn't exist. Another thing is that MAIW's flight plans are also for FS2004.
# Manual and DLPChild for some reason don't work. |
# it must be a make_cia issue since I tried using makerom and hex editing and it worked fine |
if [ !-f'$1' ];then |
echo'no' |
exit 1 |
fi |
rm 0.cxi ncch.header exheader.bin exefs.bin romfs.bin logo.bcma.lz plain.bin converted.cia |
EXHXOR=$(python2 get-exh-xorpad.py '$1') |
3dstool -xvt012f cci orig.cxi manual.cfa dlpchild.cfa '$1' |
3dstool -xvtf cxi orig.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin --logo logo.bcma.lz --plain plain.bin |
if [ -s logo.bcma.lz ];then |
USELOGO='--logo logo.bcma.lz' |
fi |
if [ -s manual.cfa ];then |
USEMANUAL='--content1=manual.cfa --id_1=00000001 --index_1=0001' |
fi |
if [ -s dlpchild.cfa ];then |
USEDLPCHILD='--content2=dlpchild.cfa --id_2=00000002 --index_2=0002' |
fi |
#cp exheader.bin exheader-old.bin |
python2 exh-patch.py exheader.bin |
3dstool -cvtf cxi conv.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin $USELOGO --plain plain.bin --not-update-exefs-hash --not-update-romfs-hash |
make_cia --content0=conv.cxi --id_0=00000000 --index_0=0000 $USEMANUAL$USEDLPCHILD --savesize=$(python2 get-savesize.py exheader.bin) -o CONVERTED.cia |

exh-patch.py
#!/usr/bin/env python2 |
importsys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for ExHeader') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
ifos.path.getsize(sys.argv[1]) !=0x800: |
print('not 2048 bytes (ExHeader size)') |
sys.exit() |
f=open(sys.argv[1], 'r+b') |
f.seek(0xD) |
x=f.read(1) |
y=ord(x) |
print('original: '+hex(y)) |
y=y|2 |
print('shifted: '+hex(y)) |
f.seek(0xD) |
f.write(chr(y)) |
f.close() |
get-exh-xorpad.py
#!/usr/bin/env python2 |
from __future__ importprint_function |
importbinascii, sys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for rom') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
rom=open(sys.argv[1], 'rb') |
rom.seek(0x190) |
tid=binascii.hexlify(rom.read(8)[::-1]) |
print(tid.upper()+'.Main.exheader.xorpad', end=') |
rom.close() |
3ds To Cia Converter File Doesn't Exist File

get-savesize.py
#!/usr/bin/env python2 |
from __future__ importprint_function |
importbinascii, sys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for ExHeader') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
exh=open(sys.argv[1], 'rb') |
exh.seek(0x1C0) |
ss=binascii.hexlify(exh.read(8)[::-1]) |
print(int(ss, 16)/1024, end=') |
exh.close() |
Convert 3ds To Cia File

3ds To Cia Converter File Doesn't Exist As A
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Comments are closed.