More actions
No edit summary |
m (Text replacement - "Category:Homebrew utility applications on 3DS" to "") |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox 3DS | {{Infobox 3DS Homebrews | ||
| title = 3DS homemenu ext data Tool | |title=3DS homemenu ext data Tool | ||
| image = | |image=3dsomemenuextdatatool2.png | ||
| type = | |description=Tool for accessing the SD extdata which Home Menu uses. This essentially allows writing custom themes to extdata which get loaded at Home Menu startup. | ||
| version = | |author=yellows8 | ||
| | |lastupdated=2015/07/09 | ||
| | |type=System Tools | ||
|version=1.1.1 | |||
| | |license=Mixed | ||
| source = https:// | |download=https://dlhb.gamebrew.org/3dshomebrews/3dshomemenuextdatatool.7z | ||
|website=https://github.com/yellows8/3ds_homemenu_extdatatool | |||
|source=https://github.com/yellows8/3ds_homemenu_extdatatool | |||
}} | }} | ||
3DS HomeMenu extdata Tool is a Nintendo 3DS homebrew tool for accessing the Home Menu SD extdata, this is usable from Ninjhax. This allows reading/writing the home-menu SD extdata SaveData.dat, and the extdata theme-cache. | 3DS HomeMenu extdata Tool is a Nintendo 3DS homebrew tool for accessing the Home Menu SD extdata, this is usable from Ninjhax. This allows reading/writing the home-menu SD extdata SaveData.dat, and the extdata theme-cache. | ||
Line 33: | Line 34: | ||
The data this app reads/writes to/from sdmc is located in the same directory that the app runs from (SD root for CXI/CIA). The theme-data this app uses on sdmc is the following. | The data this app reads/writes to/from sdmc is located in the same directory that the app runs from (SD root for CXI/CIA). The theme-data this app uses on sdmc is the following. | ||
'''ThemeManage.bin''' | '''ThemeManage.bin:''' | ||
* Copied from extdata to sdmc. | |||
* This can be copied to extdata from sdmc, if it doesn't exist on sdmc for that then data is generated for it then writen to extdata. | * This can be copied to extdata from sdmc, if it doesn't exist on sdmc for that then data is generated for it then writen to extdata. | ||
'''BodyCache.bin | '''BodyCache.bin, body_LZ.bin:''' | ||
* When copying from sdmc to extdata, the app will first attempt to use BodyCache.bin, then body_LZ.bin. | * The former is copied from extdata to sdmc. | ||
* When ThemeManage.bin exists on sdmc with sdmc->extdata, this body-data is only copied when the size field in ThemeManage.bin for this is non-zero. | * When copying from sdmc to extdata, the app will first attempt to use BodyCache.bin, then body_LZ.bin. | ||
* When ThemeManage.bin exists on sdmc with sdmc->extdata, this body-data is only copied when the size field in ThemeManage.bin for this is non-zero. | |||
* When copying to extdata, the filesize must be smaller than or exactly 0x150000-bytes. | * When copying to extdata, the filesize must be smaller than or exactly 0x150000-bytes. | ||
'''BgmCache.bin | '''BgmCache.bin, bgm.bcstm:''' | ||
* When copying to extdata, the filesize must be smaller than or exactly 0x337000-bytes. | * Handled basically the same way as the body-data, except with the bgm sizes. | ||
* When copying to extdata, the filesize must be smaller than or exactly 0x337000-bytes. | |||
* When writing BGM to extdata, Home Menu must not be already using any BGM from the theme-cache (prior to when this tool wrote anything to extdata). | * When writing BGM to extdata, Home Menu must not be already using any BGM from the theme-cache (prior to when this tool wrote anything to extdata). | ||
Line 48: | Line 52: | ||
* Copy extdata SaveData.dat to sd - Option to backup your SaveData.dat to SD (this contains the current theme settings and other things). | * Copy extdata SaveData.dat to sd - Option to backup your SaveData.dat to SD (this contains the current theme settings and other things). | ||
* Copy SaveData.dat from sd to extdata - Option to restore your SaveData.dat from SD. | * Copy SaveData.dat from sd to extdata - Option to restore your SaveData.dat from SD. | ||
* Enable normal theme-cache - | * Enable normal theme-cache - Enable using the theme-data from SD. Do not use this if you don't have any theme DLC installed, use the below menu option instead. | ||
* Enable persistent theme-cache - Same as above except the custom themes are persistent even without any theme DLC installed. | * Enable persistent theme-cache - Same as above except the custom themes are persistent even without any theme DLC installed. | ||
* Copy theme-data from extdata to sd - Option to backup the theme-data stored in extdata. | * Copy theme-data from extdata to sd - Option to backup the theme-data stored in extdata. | ||
Line 74: | Line 78: | ||
==Changelog== | ==Changelog== | ||
'''v1.1.1''' | '''v1.1.1 2015/07/09''' | ||
* Updated for latest ctrulib+devkitARM. | * Updated for latest ctrulib+devkitARM. | ||
* Set the icon strings to proper values. | * Set the icon strings to proper values. | ||
* Replaced the 5-second-delay with a press-button-wait. | * Replaced the 5-second-delay with a press-button-wait. | ||
'''v1.1 | '''v1.1 2015/01/06''' | ||
* Custom theme persistence even without any theme DLC installed, and other minor fixes/changes. | * Custom theme persistence even without any theme DLC installed, and other minor fixes/changes. | ||
'''v1.0 31 | '''v1.0 2014/12/31''' | ||
* Initial release. Extract this to the root of your SD for use with ninjhax. | * Initial release. Extract this to the root of your SD for use with ninjhax. | ||
Line 88: | Line 92: | ||
* GitHub - https://github.com/yellows8/3ds_homemenu_extdatatool | * GitHub - https://github.com/yellows8/3ds_homemenu_extdatatool | ||
* 3dbrew - http://3dbrew.org/wiki/Home_Menu | * 3dbrew - http://3dbrew.org/wiki/Home_Menu | ||
Latest revision as of 05:41, 6 Mayıs 2024
3DS homemenu ext data Tool | |
---|---|
General | |
Author | yellows8 |
Type | System Tools |
Version | 1.1.1 |
License | Mixed |
Last Updated | 2015/07/09 |
Links | |
Download | |
Website | |
Source | |
3DS HomeMenu extdata Tool is a Nintendo 3DS homebrew tool for accessing the Home Menu SD extdata, this is usable from Ninjhax. This allows reading/writing the home-menu SD extdata SaveData.dat, and the extdata theme-cache.
This essentially allows user to write custom themes to SD extdata, which home-menu will automatically load at Home Menu process next startup.
Installation
Installing
Available as 3DSX/SMDH.
Compiling
This requires the latest ctrulib from git.
If you build a CXI/CIA for this, the accessinfo must have bitmask 0x01 set (in the RSF that's FileSystemAccess
with field - CategorySystemApplication
).
User guide
Before modifying
Backing up extdata before modifying is recommended.
You can copy the data from sdmc:/Nintendo 3DS/{ID0}/{ID1}/extdata/00000000/{extdataIDlow}/
to elsewhere, where extdataIDlow is the extdataIDs for home-menu extdata and theme extdata.
Theme-data
The data this app reads/writes to/from sdmc is located in the same directory that the app runs from (SD root for CXI/CIA). The theme-data this app uses on sdmc is the following.
ThemeManage.bin:
- Copied from extdata to sdmc.
- This can be copied to extdata from sdmc, if it doesn't exist on sdmc for that then data is generated for it then writen to extdata.
BodyCache.bin, body_LZ.bin:
- The former is copied from extdata to sdmc.
- When copying from sdmc to extdata, the app will first attempt to use BodyCache.bin, then body_LZ.bin.
- When ThemeManage.bin exists on sdmc with sdmc->extdata, this body-data is only copied when the size field in ThemeManage.bin for this is non-zero.
- When copying to extdata, the filesize must be smaller than or exactly 0x150000-bytes.
BgmCache.bin, bgm.bcstm:
- Handled basically the same way as the body-data, except with the bgm sizes.
- When copying to extdata, the filesize must be smaller than or exactly 0x337000-bytes.
- When writing BGM to extdata, Home Menu must not be already using any BGM from the theme-cache (prior to when this tool wrote anything to extdata).
- Copy extdata SaveData.dat to sd - Option to backup your SaveData.dat to SD (this contains the current theme settings and other things).
- Copy SaveData.dat from sd to extdata - Option to restore your SaveData.dat from SD.
- Enable normal theme-cache - Enable using the theme-data from SD. Do not use this if you don't have any theme DLC installed, use the below menu option instead.
- Enable persistent theme-cache - Same as above except the custom themes are persistent even without any theme DLC installed.
- Copy theme-data from extdata to sd - Option to backup the theme-data stored in extdata.
- Copy theme-data from sd to extdata - Option to write a custom theme to extdata.
How to import custom theme
Place your edited body_LZ.bin from Theme Customisation Tools in sd:\3ds\3ds_homemenu_extdatatool or wherever your theme folder is.
If you have a custom BCSTM file, rename it to BGM.bcstm and place it in the same folder. Then open 3ds_homemenu_extdatatool, enable theme cache and import theme cache from SD to ExtData.
Disable theme-cache
To disable using the theme-cache, you can:
- Either enter home-menu theme-settings then select none, restore a backup of SaveData.dat with this tool, restore the entire home-menu and/or theme extdata with the above backup.
- Or delete the homemenu and/or theme extdata.
Controls
D-Pad/C-Pad - Select a menu entry
A - Enter a menu
B - Return to the hbmenu
Known issues
Please refer to reported issues.
Changelog
v1.1.1 2015/07/09
- Updated for latest ctrulib+devkitARM.
- Set the icon strings to proper values.
- Replaced the 5-second-delay with a press-button-wait.
v1.1 2015/01/06
- Custom theme persistence even without any theme DLC installed, and other minor fixes/changes.
v1.0 2014/12/31
- Initial release. Extract this to the root of your SD for use with ninjhax.