Community:Gates to Infinity DLC Editing Tutorial: Difference between revisions

MDFW - The Mystery Dungeon Tree of Information.
Jump to navigation Jump to search
No edit summary
Line 32: Line 32:
* 000c contains the dungeon Strongest Trail.
* 000c contains the dungeon Strongest Trail.
* 0032 contains some unknown unused data.
* 0032 contains some unknown unused data.
* 0033 contains the {{Research}} music tracks.
* 0033 contains the Mt. Steel and Battle with Rayquaza music tracks.
* 0034 contains the {{Research}} music tracks.
* 0034 contains the {{Research}} music tracks.
* 0035 contains the {{Research}} music tracks.
* 0035 contains the {{Research}} music tracks.

Revision as of 19:47, 3 June 2024

Hacked DLC with a modified dungeon name.
Hacked DLC with a modified dungeon name.

DLC Editing Tutorial is a guide for editing downloadable content in Template:GameTitle. This can be useful for making a .cia file that doesn't include unused downloadable content (or that only includes such content), or for creating custom DLCs such as custom music or dungeons.

Note that the terminal commands used on this page were used on Linux. On other operating systems, such as Windows, minor adjustments may be required.

If using Windows, make sure file extensions are enabled.

Prerequisites

The following is only needed for the optional "Modifying the DLC" section.

DLC Filenames

Contents can be identified by the first part of their filenames.

  • 0000 contains DLC icons and general data. Must be included.
  • 0001 contains the dungeon Ivy Park.
  • 0002 contains the dungeon Scalchop Beach.
  • 0003 contains the dungeon Pika Land.
  • 0004 contains the dungeon Axe Rock.
  • 0005 contains the dungeon Mount Tepid.
  • 0006 contains the dungeon Treat Road.
  • 0007 contains the dungeon Poké Forest.
  • 0008 contains the dungeon Kecleon Bazaar.
  • 0009 contains the dungeon Mt. Travail.
  • 000a contains the dungeon Skill Treasury.
  • 000b contains the dungeon Ultimate Wilds.
  • 000c contains the dungeon Strongest Trail.
  • 0032 contains some unknown unused data.
  • 0033 contains the Mt. Steel and Battle with Rayquaza music tracks.
  • 0034 contains the [Research required] music tracks.
  • 0035 contains the [Research required] music tracks.
  • 0036 contains the [Research required] music tracks.
  • 0037 contains the [Research required] music tracks.
  • 0038 contains the [Research required] music tracks.
  • 0039 contains the [Research required] music tracks.
  • 003a contains the [Research required] music tracks.
  • 003b contains the [Research required] music tracks.
  • 003c contains the [Research required] music tracks.
  • 003d contains the [Research required] music tracks.
  • 003e contains the [Research required] music tracks.
  • 003f contains the unused Craggy Coast music track twice.
  • 004c contains the unused Star Cave music track twice.
  • 0062 contains two unused versions of Vast Ice Mountain Peak.
  • 0065 contains DLC item graphics.

Extracting the DLC

Run the following command to extract the Contents from the .cia to the current folder.

./ctrtool --contents=contents gti_dlc.cia

You can put the files in their own folder for convenience. The rest of this tutorial assumes the contents files are in a folder named "contents".

Rebuilding the DLC

Before continuing, you need to create a text file with the name "gtidlc.rsf" and that contains the following text:

Option:
  MediaFootPadding: true
  EnableCrypt: false
SystemControlInfo:
  SaveDataSize: $(SaveSize)K

Choose which Contents files you want to include in your DLC .cia file. Note that "contents.0000.345057da" must be included. Names of the Contents files consist of four numbers/letters (the first part), followed by a dot, followed by a longer sequence of numbers and letters (the second part). When mentioning them in the MakeROM command, you need to add at the end of the filename ":0x", followed by the first part, followed by ":0x", followed by the second part. For example, "contents/contents.0000.345057da" becomes "contents/contents.0000.345057da:0x0000:0x345057da".

The following are examples of what the command might look like. You can modify the examples, or use the examples as they are if you are satisfied with what they do.

Example 1: Only Official DLC

This command makes a DLC .cia file that only contains DLC that was officially distributed.

./makerom -f cia -rsf gtidlc.rsf -o gti_dlc_eu_out.cia -ckeyid 0 -major 0 -minor 1 -micro 0 -DSaveSize=0 -ignoresign -dlc -i contents/contents.0000.00000000:0x0000:0x00000000 -i contents/contents.0001.00000001:0x0001:0x00000001 -i contents/contents.0002.00000002:0x0002:0x00000002 -i contents/contents.0003.00000003:0x0003:0x00000003 -i contents/contents.0004.00000004:0x0004:0x00000004 -i contents/contents.0005.00000005:0x0005:0x00000005 -i contents/contents.0006.00000006:0x0006:0x00000006 -i contents/contents.0007.00000007:0x0007:0x00000007 -i contents/contents.0008.00000008:0x0008:0x00000008 -i contents/contents.0009.00000009:0x0009:0x00000009 -i contents/contents.000a.0000000a:0x000a:0x0000000a -i contents/contents.000b.0000000b:0x000b:0x0000000b -i contents/contents.000c.0000000c:0x000c:0x0000000c -i contents/contents.0033.00000033:0x0033:0x00000033 -i contents/contents.0034.00000034:0x0034:0x00000034 -i contents/contents.0035.00000035:0x0035:0x00000035 -i contents/contents.0036.00000036:0x0036:0x00000036 -i contents/contents.0037.00000037:0x0037:0x00000037 -i contents/contents.0038.00000038:0x0038:0x00000038 -i contents/contents.0039.00000039:0x0039:0x00000039 -i contents/contents.003a.0000003a:0x003a:0x0000003a -i contents/contents.003b.0000003b:0x003b:0x0000003b -i contents/contents.003c.0000003c:0x003c:0x0000003c -i contents/contents.003d.0000003d:0x003d:0x0000003d -i contents/contents.003e.0000003e:0x003e:0x0000003e -i contents/contents.0065.00000065:0x0065:0x00000065

Example 2: Only Unused DLC Music

This command makes a DLC .cia file that only contains the unused and officially not distributed DLC music tracks (Craggy Coast, Star Cave, and both versions of Vast Ice Mountain Peak).

./makerom -f cia -rsf gtidlc.rsf -o gti_eu_unused_music_only.cia -ckeyid 0 -major 0 -minor 1 -micro 0 -DSaveSize=0 -ignoresign -dlc -i contents/contents.0000.00000000:0x0000:0x00000000 -i contents/contents.003f.0000003f:0x003f:0x0000003f -i contents/contents.004c.0000004c:0x004c:0x0000004c -i contents/contents.0062.00000062:0x0062:0x0000000062

Running a command like the two examples above creates a new .cia file that contains DLC and can be installed through 3DS homebrew software such as FBI.

Modifying the DLC

Follow the steps above to verify that rebuilding works. If it does, you can start making changes to the files, and after you have changed them, you can follow the rebuild steps again.

To make changes, Contents are further extracted to see and modify the actual files, which are similar to the files in the romfs of the base game. Once the edits are made, the Contents need to be rebuilt.

Extracting Files From Contents

Run the following command. Replace contents/contents.0001.00000001 with the file you want to extract. In this example, it uses the file for the Ivy Park dungeon.

./ctrtool --romfsdir=romfs --exefsdir=exefs --exheader=exheader.bin contents/contents.0001.00000001

Changing Dungeon Name

The easiest thing to change is the name of the dungeon. After extracting the romfs of a Contents file that contains a dungeon (see the list of files at the beginning of the tutorial) open in a hex editor the file place_name.bin (or one of its equivalents in other languages). You will see the name of the dungeon four times, separated by 00 bytes (represented by dots). Replace the letters with the letters you want, keeping the 00 bytes (note that they must be 00 bytes, not other characters that are represented by dots). If the name you're adding is shorter than the original name, replace all remaining letters with 00 bytes.

Rebuilding Modified Contents

Run the following commands.

./3dstool -cvtf romfs edited_romfs.bin --romfs-dir romfs
./makerom -f ncch -target t -rsf gtidlc.rsf -romfs edited_romfs.bin -o contents.0001.00000001

Replace the old Contents file with the rebuilt Contents file, then follow the steps in the "Rebuilding the DLC" section.

See Also

References

  • Guide written and researched by Blue with additional help and research by Pinkolol16 and Artegonit.