GithubHelp home page GithubHelp logo

hengle / xci_builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from julesontheroad/xci_builder

0.0 1.0 0.0 2.82 MB

A simple batchfile to convert Nintendo Switch nsp files (digital format) to xci files (cartridge format) based in LucaFraga's hacbuild

License: MIT License

Batchfile 89.82% Python 10.18%

xci_builder's Introduction

XCI_Builder v0.7

https://github.com/julesontheroad/XCI_Builder So for whoever that didn't realized it yet:


  1. Changelog

v0.7 - Cleaned echos giving better input to the user about the process. Added compatibility with XCI_BatchBuilder. Erased auto-exit at the end of program so it can be used by command line if you want.

v0.6.5.2 REV 2 - Changed ztools folder to erase sfk.exe as it wasn't needed. Added Bigjokker build of hacbuild so it eliminate the warning about not having a header_key.txt in hacbuild as it wasn't needed. Returned to previous build of hactool used since the prebuild one from SciresM seemed to give issues to some users with 32bit systems.

v0.6.5.2 - Little fix. Line added to prevent [lc].nsp generation in ticketless nsp files (custom nsp files).

v0.6.5 - Lot of changes made to previous version:

I - Added compatibility with games with more than 5 nca. (Games that include an html manual) The manual was stripped from the game, this doesn't impede game execution. And game is fully functional. If you try to access the manual in these kind of games this action won't get any result and you will be able to keep playing. Games are fully funtional without manual nca and there are few games that includes it to begin with.

II - Output route was moved to "output_xcib" so everything is better organiced XCI_Builder can be in the same folder as NX-Trimmer, which now uses el usará "output_nxt" as output folder.

III - Reformed ztools folder, erasing not needed files.

IV - Little mod to hacbuild.exe so it takes "xci_header_key" from ztools. "xci_header_key" it's actually not needed everything works without it but hacbuild gives a warning wich was ugly for the batch output

V - Added template for keys.txt and header_key.txt in ztools

VI - Added tag system for the files output. It goes as follows: a) Se eliminan las tags [] de los ficheros. Para eliminar cosas como trimmed. b) Se eliminan los caracteres _ (más que nada porque no me gusta como quedan) c) Se añade las siguientes tags a la salida. [xcib] xci converted with XCI_Builder [nm] "no manual", manual was erased to get the resulting xci to work [lc] In output nsp refers to the small nsp needed to get the xci to work.

VII - Added options in batch header. Edit with notepad++ to select them

a) "preservemanual" By default 0. Set at 1 if you want the manual nca to not be deleted. If set at 1 the manual will be sent to output folder. NOTE1: Is advised to ¡¡NOT INSTALLED the manual .nca!! as the game will give error if you try to access the game manual. NOTE2: The xci without manual is completely functional and if manual is selected it won't happened anything. NOTE3: This option is thought for a future xci to nsp converter that will revert the process.

b) "delete_brack_tags" Erase [] tags like [trimmed]- By default at 1

c) "delete_pa_tags" Erase tags () like (USA) - By default at 0. If activated it could also erase [] tags

NOTE: If upgrading from previous version replace ztools folder hactool version was upgraded and an small modification was made in hacbuild code.

v0.5.1 - v0.5.5.1 - Little fixes

v0.5.0 - First launch in elotrolado.net


  1. Description

This tool purpose is to convert nsp files to xci files. This is a batch application which serves to automate the workflow between the following programs:

a.) hacbuild: Program meant to create xci files from nca files, made by LucaFraga.

https://github.com/LucaFraga/hacbuild

b.) hactool: Program which function is give information, decrypt and extract a lot of different kind of files us by the NX System. Hactool was made by SciresM

https://github.com/SciresM/hactool

c.) nspBuild: Program meant to create nsp files from nca files. nspBuild was made by CVFireDragon

https://github.com/CVFireDragon/nspBuild

NX-Trimmer was also inspired by "A Simple XCI, NCA, NSP Extracting Batch file (Just Drag and Drop) with Titlekey decrypt" by Bigjokker and published in gbatemp:

https://gbatemp.net/threads/a-simple-xci-nca-nsp-extracting-batch-file-just-drag-and-drop-with-titlekey-decrypt.513300/


  1. Requirements

  • A computer with a Window's OS is needed
  • You'll need to complete keys.txt in ztools with the keys needed by hactool.
  • Optionally complete header_key.txt with xci_header_key
  • You'll need to have Python installed for nspbuild to work correctly
  • You'll need to have at least .net frameworks 4.5.2 installed so hacbuild can work correctly.

  1. Funciones

  • Conversion from nsp files to xci files
  • Creation of small nsp files (normally less than 1mb) to install game titlekey in the console.
  • "game_info" files extraction from xci files
  • The xci files created incorporate a blank update and normal partition which makes them smaller than tipicall xci files.

  1. Limitations

  • xci files only work with SX OS
  • To load the xci files you'll need to get the titlekey which I call license in your NX console. It can be achieved in various ways. a.) Installing the original game previously via eshop b.) Installing the original nsp previously via devmenu/SX OS/Tinfoil... (It doesn't need to be installed in the current moment) c.) Installing the license file obtained with the programo "game_name[lc].nsp" This file needs to be installed with SX OS installer. d.) For nsp files with more than 5nca is needed to delete the nca manual e.) Processing times for more than 4gb games is longer than it shoul be proporcionallu. Probably linked to hacbuild fix number 5 regarding the overflow error in this kind of files. (Could be interesting to investigate if a fastest processing approach is possible) f.) The symbol "!" gives error when passed to hacbuild. So rename snipperclips file

  1. Use of the application

I.- First fill "keys.txt" in ztools folder so hactool can work properly.

  More info: https://github.com/SciresM/hactool

II.- Optionally fill the file header_key.txt in ztools with xci_header_key value

III.- To convert a nsp to xci dragg the nsp file over "XCI_Builder_v0.6.x.bat" and wait for the system window to close

IV.- You'll get a folder with the name of the game in the output folder. Inside you'll find two files. - "game"[xcib].xci -> Converted nsp - "game"[lc].nsp -> License file to ge titlekey in the system.

V.- For game_info.ini you can edit the preset or give it as it is. I'm getting 100% compatibility as it is.

VI.- Install file [lc].nsp with SX OS custom installer or older tinfoil versions

VII. - Load the xci file and enjoy


  1. Compatibility

With current changes and accepting the described limitations this method should be compatible with all current xci files. At least I didn't find any issues.


  1. Thanks and credits to

LucaFraga, SciresM and CVFireDragon Bigjokker from gbatemp for the advices about cleaning echos in Batch files. Also thanks to all members from gbatemp, elotrolado.net and my friends at discord ;)

xci_builder's People

Contributors

julesontheroad avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.