Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

3DS HomeMenu extdata Tool 3DS: Difference between revisions

From GameBrew
No edit summary
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = 3DS homemenu ext data Tool
|title=3DS homemenu ext data Tool
| image = https://dlhb.gamebrew.org/3dshomebrew/3DSHomeMenuextdataTool-01.jpg|250px
|image=3dsomemenuextdatatool2.png
| type = Utilities
|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 = v1.1.1 (9 Jul 2015)
|author=yellows8
| licence = Mixed
|lastupdated=2015/07/09
| author = yellows8
|type=System Tools
| website = https://github.com/yellows8/3ds_homemenu_extdatatool
|version=1.1.1
| download = https://dlhb.gamebrew.org/3dshomebrew/3ds_homemenu_extdatatool_v111.rar
|license=Mixed
| source = https://dlhb.gamebrew.org/3dshomebrew/3ds_homemenu_extdatatool_v111.rar
|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.


This essentially allows user to write custom themes to SD extdata (e.g. Ninjhax/Gateway), which home-menu will automatically load at Home Menu process next startup.
This essentially allows user to write custom themes to SD extdata, which home-menu will automatically load at Home Menu process next startup.


==Installation==
==Installation==
===Installing===
===Installing===
Copy the folder containing .3dxs and .smdh to the the 3ds folder on your SD card. Launch it via homebrew launcher.
Available as 3DSX/SMDH.


===Compiling===
===Compiling===
Line 26: Line 27:
==User guide==
==User guide==
===Before modifying===
===Before modifying===
Backing up [http://3dbrew.org/wiki/Extdata extdata] before modifying it at all is recommended:
Backing up [http://3dbrew.org/wiki/Extdata extdata] before modifying is recommended.


You can copy the data from <code>sdmc:/Nintendo 3DS/{ID0}/{ID1}/extdata/00000000/{extdataIDlow}/</code> to elsewhere, where extdataIDlow is the extdataIDs for home-menu extdata and theme extdata.
You can copy the data from <code>sdmc:/Nintendo 3DS/{ID0}/{ID1}/extdata/00000000/{extdataIDlow}/</code> 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).


===Main menu===
===Main menu===
* 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 - Ooption to 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 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.
* Copy theme-data from sd to extdata - Option to write a custom theme to extdata.
* Copy theme-data from sd to extdata - Option to write a custom theme to extdata.


===Theme-data===
===How to import custom theme===
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.
Place your edited body_LZ.bin from Theme Customisation Tools in sd:\3ds\3ds_homemenu_extdatatool or wherever your theme folder is.  
* '''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.
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.
* '''BodyCache.bin and 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 and 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).


===Disable theme-cache===
===Disable theme-cache===
Line 66: 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 6 Jan 2015'''
'''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 Dec 2014'''
'''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 80: 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
[[Category:3DS homebrew application]]
[[Category:Homebrew utility applications on 3DS]]

Latest revision as of 05:41, 6 May 2024

3DS homemenu ext data Tool
General
Authoryellows8
TypeSystem Tools
Version1.1.1
LicenseMixed
Last Updated2015/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).

Main menu

  • 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.

External links

Advertising: