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

3DS HomeMenu extdata Tool 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:Homebrew utility applications on 3DS" to "")
 
(18 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.


Line 17: Line 18:
==Installation==
==Installation==
===Installing===
===Installing===
Available as .3dsx and .smdh.
Available as 3DSX/SMDH.


===Compiling===
===Compiling===
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''' - Copied from extdata to sdmc.  
'''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 and body_LZ.bin''' - The former is copied from extdata to sdmc.  
'''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 and bgm.bcstm''' - Handled basically the same way as the body-data, except with the bgm sizes.  
'''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 - 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.
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 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 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
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]

Latest revision as of 05:41, 6 Mayıs 2024

3DS homemenu ext data Tool
3dsomemenuextdatatool2.png
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: