But, I don't get something regarding the helltaker port...
With an SDK, you can build the game and export it into two formats: an NSP (which seems to have wacky headers in its NCAs, never managed to extract them) or an NSPD file with the romfs and code NCA folders already exported.
Since it's not feasable to use the created NSP file, it seems that we'll have to use the extracted ones that sit alongside the NSPD. Question is: how do we pack them for it to be installable onto a retail system?
I've tried to mess around with hacPack for it and never made anything installable. If I try to pack NCAs from extracted files, then I get stuck immediately while packing the main NCA because I don't know the TitleID. How do we even get it? It's not getting created in any of the metadata files and getting it from the NSP file doesn't work (tools refuse to work with its NCAs). Not to mention that a ControlNCA is also needed in order to generate the meta NCA. So, we're stuck.
Going another path I tried to mess around with the Helltaker port. I built my main NCA using Helltaker's TitleID, but the resulting file's name turned out different and this made the NSP not installable. Renaming it made the game unbootable. And this is a pain because, once again, I don't think it's possible to generate the meta NCA.
So, I'm completely confused, what am I doing wrong? There's just not enough to work with, how exactly did this Helltaker port came to be?
If you build an NSP with Unity, it's not installable and messy so every tool refuses to work with it. If you build an NSPD, then there's not enough data to build an NSP yourself. You can't build just the main NCA and replace it over some other game's main NCA because the meta NCA will need to be rebuilt, otherwise results in it being unbootable. Pick your poison?