Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Game modification: Difference between revisions

From Hacks Guide Wiki
m (fix category formatting)
(a few words)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Page WIP|notes=* Could use instructions on how to modify and rebuild a CIA for ROM hacks (maybe a link to a different guide?)}}
==Luma3DS game patching==
==Luma3DS game patching==
{{Main|3DS:Luma3DS/Configuration}}
{{Main|3DS:Luma3DS/Configuration}}
[[3DS:Luma3DS|Luma3DS]] allows for the modification of a game or application without having to patch the original files. This is done by redirecting the application's file calls to a separate location containing the modified files. Because no original game files are actually being modified, this makes distribution/installation of ROM hacks simple, and even works with game cartridges. Files must be placed in a <code>/luma/titles/<Title&nbsp;ID>/</code> folder, with the Title ID of the title being modified. Luma3DS's game patching supports the following files:
Luma3DS allows for the modification of a game or application without having to patch the original files. This is done by redirecting the reading of files to a separate location containing the modified files. Because no original game files are actually being modified, this feature works with physical game cartridges. To use this feature, files must be placed in a <code>/luma/titles/<Title ID>/</code> folder. You can get the game's title ID from [http://3dsdb.com/ here] (cartridges), [https://hax0kartik.github.io/3dsdb/ here] (digital games), or from the <code>FBI -> Titles</code> menu. For example the Title ID for Pokémon X is <code>0004000000055D00</code>, so modified Pokémon X files would be placed at <code>/luma/titles/0004000000055D00/</code>.


* <h3>External code.bin and exheader.bin loading</h3>
===External code.bin and exheader.bin loading===
:: Patched <code>code.bin</code> and <code>exheader.bin</code> files can be loaded. Compressed <code>.code</code> files will not work with this feature, it must be uncompressed into a <code>code.bin</code>.
Patched <code>code.bin</code> and <code>exheader.bin</code> files can be loaded. Compressed <code>.code</code> files will not work with this feature, it must be uncompressed into a <code>code.bin</code>.
===IPS patching===
IPS patches for <code>code.bin</code> are also supported, which contain only the changes to the original code rather than the entire <code>code.bin</code>. Patches should be named <code>code.ips</code> and placed instead of a patched <code>code.bin</code>.
===LayeredFS===
Files within a game or applications <code>romfs</code> folder can redirected by placing modified files within <code>/luma/titles/<Title ID>/romfs</code>.
===Locale Emulation===
{{Main|3DS:Setting game locales}}


* <h3>IPS patching</h3>
:: IPS patches for <code>code.bin</code> are also supported, which contain only the changes to the original code rather than the entire <code>code.bin</code>. Patches should be named <code>code.ips</code> and placed instead of a patched <code>code.bin</code>.


* <h3>LayeredFS</h3>
==Plugins==
:: Files within a game or applications <code>romfs</code> folder can redirected by placing modified files within <code>/luma/titles/<Title&nbsp;ID>/romfs</code>.
{{Main|3DS:Plugins}}
[https://github.com/PabloMK7/CTRPluginFramework-BlankTemplate CTRPluginFramework 3GX - Blank Template]<br>
[https://github.com/ItsDeidara/MegaNTR MegaNTR PLG plugin collection]<br>
[https://www.gamebrew.org/wiki/List_of_all_3DS_Rom_Hacks#Plugins-0 Plugins list from gamebrew]


* <h3>Locale Emulation</h3>
==Cheats==
:: {{Main|3DS:Setting game locales}}
[https://github.com/iSharingan/CTRPF-AR-CHEAT-CODES CTRPluginFramework Action Replay cheat codes]
:: Locale Emulation can be used to launch a title with different region settings than the system. Although Luma3DS allows for any region game to be launched, some games may crash if the system region settings are not supported. Luma3DS can use alternate locale information from a <code>locale.txt</code> file placed in the <code>/<Title&nbsp;ID>/</code> folder for a title. Follow [[3DS:Setting game locales]] for more detailed instructions.
 
==ROM hacks==
ROM hacks are game mods that work by modifying or adding to a games files to change or add new content. ROM hacks can be made for a variety of different reasons, from making a game harder, adding new levels, translating the game to a different language, texture packs, randomization, and much more. Most ROM hacks on 3DS are distributed as unpacked files, and applied using Luma3DS's layeredfs. You can find some ROM hacks on their individual game pages; see a full list at [[:Category:Nintendo 3DS games|Category:Nintendo 3DS games]], or use the search feature.
 
===Patching using layeredfs===
{{info|Some hacks have additional files and instructions to follow that aren't covered here. Always refer to the hacks installation instructions/README if available.}}
# Download a ROM hack
# Copy the files to your SD card:
#* If the files contain a <code>/luma/</code> folder, copy it to the root of your SD card merging when asked
#* If the files contain a <code>/<Title&nbsp;ID>/</code> (16 character long) folder, copy it to <code>/luma/titles/</code>
#* If the files contain <code>/romfs/</code>, <code>code.bin</code> or <code>code.ips</code>; create a new folder in <code>/luma/titles/</code> and rename it to the Title ID of the game. Copy the <code>/romfs/</code>, <code>code.bin</code> or <code>code.ips</code> to the <code>/luma/titles/<Title&nbsp;ID>/</code> folder you just made
#** You can get the game's title ID from [http://3dsdb.com/ here] (cartridges), [https://hax0kartik.github.io/3dsdb/ here] (digital games), or from the <code>FBI&nbsp;->&nbsp;Titles</code> menu. For example the Title ID for Pokémon X is <code>0004000000055D00</code>, so modified Pokémon X files would be placed at <code>/luma/titles/0004000000055D00/</code>.
# Insert your SD card into your console
# While holding {{B|SELECT}}, power on your console to enter [[3DS:Luma3DS/Configuration|the Luma3DS configuration menu]]
# Turn on '''Enable game patching''' if it is not already enabled
# Press {{B|START}} to save and exit
{{success|Your title should now be patched using layeredfs.}}
 
==Game plugins==
{{Main|3DS:Game plugins}}
Plugins are add-ons that run with a game. Plugins generally come in two types, 3GX or PLG. [[3DS:Game plugins/3GX|3GX plugins]] run using Luma3DS's built in plugin loader, while [[3DS:Game plugins/PLG|PLG plugins]] can be run using [https://github.com/Nanquitas/BootNTR BootNTR]. 3GX plugins are usually newer and should generally be used if given a choice. You can find some plugins on their individual game pages; see a full list at [[:Category:Nintendo 3DS games|Category:Nintendo 3DS games]], or use the search feature.
 
==Cheat codes==
Cheat codes, or Action Replay codes, are instructions to edit memory addresses that allow for games behavior and values to be edited. These can be used in a variety of ways, from invincibility, max currency, unlocking items, and more. The two main ways to use cheats are from Luma3DS's Rosalina menu, or CTRPluginFramework's Action Replay. Using cheats with CTRPluginFramework, or a dedicated cheat plugin for the game you want to play will usually be more compatible.
 
===Rosalina menu cheats===
To use cheats with Rosalina menu:
# Place cheat files in plain text at either <code>/cheats/<Title&nbsp;ID>.txt</code> or <code>/luma/titles/<Title&nbsp;ID>/cheats.txt</code>
#* Cheat files can be generated using [[Checkpoint]], or downloaded from [https://github.com/FlagBrew/Sharkive/tree/master/3ds the Sharkive repository].
# Open the Rosalina menu ({{B|L|D-Pad down|SELECT}} by default)
# Select <code>cheats...</code>
# Press {{B|A}} on any cheats you want activated
# Press {{B|B}} until you exit the Rosalina menu
 
===CTRPluginFramework Action Replay===
To use cheats with CTRPluginFramework:
# Install the latest version of [https://github.com/PabloMK7/CTRPluginFramework-BlankTemplate/releases/latest CTRPluginFramework-BlankTemplate] (the <code>.3gx</code> file) using the instructions [[3DS:Game plugins/3GX|here]]
# Place cheat files in plain text at either <code>/cheats/<Title&nbsp;ID>.txt</code> or in the same folder as the <code>.3gx</code> plugin as <code>cheats.txt</code>
#* A repository of compiled cheat codes can be found [https://github.com/iSharingan/CTRPF-AR-CHEAT-CODES here]
#* Or create your own cheats; a list of all code types supported by Action Replay can be found [https://gist.github.com/Nanquitas/d6c920a59c757cf7917c2bffa76de860 here]  
# Open the Rosalina menu ({{B|L|D-Pad down|SELECT}} by default)
# Press {{B|A}} on <code>Plugin Loader:</code> to enable it
# Press {{B|B}} until you exit the Rosalina menu
# launch your game of choice
#* The screen should flash another color to indicate that the plugin has successfully loaded
#* it will say <code>Plugin ready!</code> on the top screen when it is loaded
# Press {{B|SELECT}} to open the plugin menu
# Tap on <code>Action Replay</code>
# Select the Action Replay codes you want to use
# Press {{B|SELECT}} to exit the plugin menu


==Save editors==
==Save editors==
Save editors are tools that allow game saves to be edited in order to unlock items, change game progression, edit characters or companions and more. Save editors are usually limited by what the game is already capable of doing, but can sometimes unlock items not earnable through normal gameplay. Most save editors require your save to be unencrypted; you can use a save game manager such as [[Checkpoint]] to make unencrypted backups and restore save backups. You can find some Save editors on their individual game pages; see a full list at [[:Category:Nintendo 3DS games|Category:Nintendo 3DS games]], or use the search feature.


==ROM editors==
==ROM editors==
ROM editors are tools that allow game files or code to be edited in order to change how the game functions. Depending on the editor it may be able to edit textures or sounds, add new game content, make the game more/less difficult, remix content in a new way such as randomizers, and much more. You can find some ROM editors on their individual game pages; see a full list at [[:Category:Nintendo 3DS games|Category:Nintendo 3DS games]], or use the search feature.


==External links==
==External links==
* [https://www.gamebrew.org/wiki/List_of_all_3DS_Rom_Hacks List of Rom Hacks from gamebrew]
[https://github.com/LumaTeam/Luma3DS/wiki/Optional-features Luma3DS/wiki/Optional-features]<br>
* [https://github.com/ItsDeidara/MegaNTR MegaNTR PLG plugin collection]
[https://www.gamebrew.org/wiki/List_of_all_3DS_Rom_Hacks List of Rom Hacks from gamebrew]<br>
* [https://www.gamebrew.org/wiki/List_of_all_3DS_Rom_Hacks#Plugins-0 List of plugins from gamebrew]
[https://www.gamebrew.org/wiki/List_of_3DS_homebrew_applications#Save_Managers_and_Editors-0 save editor 3DS applications from gamebrew]
* [https://www.gamebrew.org/wiki/List_of_3DS_homebrew_applications#Save_Managers_and_Editors-0 save editor 3DS apps from gamebrew]
* [https://www.romhacking.net/?page=utilities&platform=51 Romhacking.net utilities]
* [https://github.com/LumaTeam/Luma3DS/wiki/Optional-features Luma3DS/wiki/Optional-features]
[[Category:Nintendo 3DS information]]

Revision as of 00:46, 29 May 2024

Luma3DS game patching

Luma3DS allows for the modification of a game or application without having to patch the original files. This is done by redirecting the reading of files to a separate location containing the modified files. Because no original game files are actually being modified, this feature works with physical game cartridges. To use this feature, files must be placed in a /luma/titles/<Title ID>/ folder. You can get the game's title ID from here (cartridges), here (digital games), or from the FBI -> Titles menu. For example the Title ID for Pokémon X is 0004000000055D00, so modified Pokémon X files would be placed at /luma/titles/0004000000055D00/.

External code.bin and exheader.bin loading

Patched code.bin and exheader.bin files can be loaded. Compressed .code files will not work with this feature, it must be uncompressed into a code.bin.

IPS patching

IPS patches for code.bin are also supported, which contain only the changes to the original code rather than the entire code.bin. Patches should be named code.ips and placed instead of a patched code.bin.

LayeredFS

Files within a game or applications romfs folder can redirected by placing modified files within /luma/titles/<Title ID>/romfs.

Locale Emulation


Plugins

CTRPluginFramework 3GX - Blank Template
MegaNTR PLG plugin collection
Plugins list from gamebrew

Cheats

CTRPluginFramework Action Replay cheat codes

Save editors

ROM editors

External links

Luma3DS/wiki/Optional-features
List of Rom Hacks from gamebrew
save editor 3DS applications from gamebrew