Switchのカスタムテーマは、記事執筆時点ではFWに含まれるqlaunchという名のソフトウェアのファイルをLayeredFSで置き換えて実現します。
qlaunchはホーム画面/設定/ゲームニュースといったアプレットがまとめられたソフトウェアとされています。
LayeredFSは、Switch上で動作するタイトルIDを持ったソフトウェアの実行ファイル(exefs)では無いデータ群(romfs)の任意のファイルを、
microSDカード上に配置したファイルで置き換える、というSwitchのCFWがサポートする機能です。基本的にゲームのMODで使用されます。
そのため今現在のSwitchのカスタムテーマを "qlaunch mod" と表現する方も存在します。
この記事は2018年
この記事では、私が紹介し易そうだと思った事のみを紹介しています。
レイアウトの変更やホーム画面のアイコン変更なんかは他のサイトさんを参考にしてください。
qlaunchのmodは初めFW5.1.0向けとして登場しました。記事執筆時点では既にFW6.0.xでも利用可能です。
qlaunchはFWに付属するソフトウェアであるため、FWの更新によってqlaunchも更新されます。
この記事を公開した9月29日時点では「qlaunchのどこを弄ればどうなるのか」というのを有志が検証している段階でした。
10月17日現在はその段階を抜けつつあります。で、そんな状況かつSwitchThemeInjector v3のリリースによって記事の
内容を書き換える必要が出て来たので、記事を更新した次第です。
qlaunch modは基本的にはFW5.1.0/6.0.xのユーザーが対象です。
5.1.0未満でqlaunchのmodを試す場合は5.1.0の情報をベースにしてください。
この記事で取り扱う事は以下です。これら以外の事に関しては、私には聞かないでください。
・qlaunchのncaの取得と展開
・szsの展開とszsとしての圧縮
・ホーム画面/ロック画面の背景色の変更(FW5.1.0/6.0.x)
・ロック画面に壁紙を設定(FW5.1.0/6.0.x)
・ホーム画面と設定に壁紙を設定(FW5.1.0/6.0.x)
・qlaunchが扱うテキストの変更
・ホーム画面に壁紙を設定(FW5.1.0/6.0.0)(古い手法)
「szsの展開とszsとしての圧縮」で紹介したSARC Toolですが、10月17日現在は基本的には使わなくてもOKです。
SwitchThemeInjectorを使う方が、基本的にはスマートです。
最後の項目は、2018年9月29日に書いた項目です。BNTX-Editorを用いた方法の紹介で、記事を更新するに当たって
消すか消すまいか悩んだ結果、とりあえず残すことにしました。古い手法なので参考にはしないでください。
その2つ上の項目を参照してください。そちらが10月17日、記事更新に当たり新たに執筆した項目です。
●qlaunchのncaの取得と展開
LayeredFSを利用するため、qlaunchのncaを取得して展開する必要があります。
まず取得ですが、以下のようにいくつかの方法があります。
・SwitchのNAND(eMMC)のSYSTEMパーティションから取得
・カートリッジに含まれるFWのファイル群から取得
・有志が公開しているFWのファイルをDLしてqlaunchのncaを取得
私がオススメするのは1つ目か3つ目です。1つ目の方法はHacDiskMountを利用する事になります。
HacDiskMountを利用した事が無い場合は、3つ目の方法を取るのが手っ取り早いでしょう。以下でDL可能です。
https://darthsternie.net/
2つ目の方法はSwitchのFWと同じバージョンのFWが入ったカートリッジを用意しなければいけないので、私は好きではありません。
HacDiskMountの使用方法に関しては以下の記事で既に書いています。
・[SWITCH] BIS key / Titlekey / SdSeed の取得法 - 2018/06/17
bis keyを取得し、Titlekeyの取得手順の手順9までを行いSYSTEMパーティションをマウントしてください。
SwitchのFWのファイルは "SYSTEM:Contents/registered/" に存在します。
(placehldはFWがインストールされる際に一時的に使用されるフォルダです。)
で、qlaunchのncaの探し方ですが、hactoolに投げてタイトルIDが "0100000000001000" の物を探すのが基本。
以下は私が探したqlaunchのncaのファイル名。以下のファイル名のncaが無い場合は上記の方法で探してください。
(ファイル名が00の物はそれがncaです。00ファイルは、そのファイルが入ったフォルダの名前がファイル名として扱われます)
・FW3.0.0 … 138e12dc6a9a4502345b3a42a4bc91ba
・FW4.1.0 … 16314a48995e607d61d514edc3fc2336
・FW5.1.0 … 8684b0ddab1581d300a15ebc96c6bf2c
・FW6.0.0 … 33dd03103f1ac6a50e13d27ce5e00b2f か 97c64495df444e948dcfaec986a5da02
・FW6.0.1 … 96860a2605d8890dee7a8d4154bbe483
展開にはhactoolやSwitchExplorerを使用します。
展開には鍵が必要なのでkezplez-nxを利用して取得してください。
・[SWITCH] kezplez-nx v1.2.1 がリリース - FW6.0.0からのダンプやeticket_rsa_kekのダンプに対応
hactoolを使用した事が無い方はSwitchExplorerを使用するのが、個人的にはオススメです。
・[SWITCH] XCI/NSP中のNCAを読み込んでromfsから指定のファイルを抽出できる SwitchExplorer がリリース
qlaunchのncaを開き、ウィンドウ左上の「File → Extract → All files」でromfsの全ファイルが抽出可能です。
hactoolを使用する場合は以下のようにしてromfsのファイルを抽出してください。
https://github.com/SciresM/hactool
LayeredFSを利用するため、qlaunchのncaを取得して展開する必要があります。
まず取得ですが、以下のようにいくつかの方法があります。
・SwitchのNAND(eMMC)のSYSTEMパーティションから取得
・カートリッジに含まれるFWのファイル群から取得
・有志が公開しているFWのファイルをDLしてqlaunchのncaを取得
私がオススメするのは1つ目か3つ目です。1つ目の方法はHacDiskMountを利用する事になります。
HacDiskMountを利用した事が無い場合は、3つ目の方法を取るのが手っ取り早いでしょう。以下でDL可能です。
https://darthsternie.net/
2つ目の方法はSwitchのFWと同じバージョンのFWが入ったカートリッジを用意しなければいけないので、私は好きではありません。
HacDiskMountの使用方法に関しては以下の記事で既に書いています。
・[SWITCH] BIS key / Titlekey / SdSeed の取得法 - 2018/06/17
bis keyを取得し、Titlekeyの取得手順の手順9までを行いSYSTEMパーティションをマウントしてください。
SwitchのFWのファイルは "SYSTEM:Contents/registered/" に存在します。
(placehldはFWがインストールされる際に一時的に使用されるフォルダです。)
で、qlaunchのncaの探し方ですが、hactoolに投げてタイトルIDが "0100000000001000" の物を探すのが基本。
(以下のように実行すればncaの情報が取得可能です)
hactool.exe ncaのパス
手っ取り早いのはncaのサイズを見る事です。qlaunchのncaは10MB弱です。10MB前後のncaをhactoolに投げればすぐに見つかります。hactool.exe ncaのパス
以下は私が探したqlaunchのncaのファイル名。以下のファイル名のncaが無い場合は上記の方法で探してください。
(ファイル名が00の物はそれがncaです。00ファイルは、そのファイルが入ったフォルダの名前がファイル名として扱われます)
・FW3.0.0 … 138e12dc6a9a4502345b3a42a4bc91ba
・FW4.1.0 … 16314a48995e607d61d514edc3fc2336
・FW5.1.0 … 8684b0ddab1581d300a15ebc96c6bf2c
・FW6.0.0 … 33dd03103f1ac6a50e13d27ce5e00b2f か 97c64495df444e948dcfaec986a5da02
・FW6.0.1 … 96860a2605d8890dee7a8d4154bbe483
展開にはhactoolやSwitchExplorerを使用します。
展開には鍵が必要なのでkezplez-nxを利用して取得してください。
・[SWITCH] kezplez-nx v1.2.1 がリリース - FW6.0.0からのダンプやeticket_rsa_kekのダンプに対応
hactoolを使用した事が無い方はSwitchExplorerを使用するのが、個人的にはオススメです。
・[SWITCH] XCI/NSP中のNCAを読み込んでromfsから指定のファイルを抽出できる SwitchExplorer がリリース
qlaunchのncaを開き、ウィンドウ左上の「File → Extract → All files」でromfsの全ファイルが抽出可能です。
hactoolを使用する場合は以下のようにしてromfsのファイルを抽出してください。
https://github.com/SciresM/hactool
使用方法:
hactool.exe -k prod.keys ncaのパス --romfsdir=展開先のパス
実際の例:
hactool.exe -k prod.keys 33dd03103f1ac6a50e13d27ce5e00b2f.nca --romfsdir=qlaunch_romfs
("$HOME/.switch/" に (WIndowsの場合は "C:Users/****/.switch/" に) prod.keys が配置してあれば-kでの指定は不要)hactool.exe -k prod.keys ncaのパス --romfsdir=展開先のパス
実際の例:
hactool.exe -k prod.keys 33dd03103f1ac6a50e13d27ce5e00b2f.nca --romfsdir=qlaunch_romfs
●szsの展開とszsとしての圧縮
背景色や壁紙、テキストといった要素を管理するファイルはszsとして圧縮されています。
この項目で紹介するのはAbood氏の SARC Tool です。
https://github.com/aboood40091/SARC-Tool/releases
使用方法としては、以下を覚えておけばOKです。
圧縮レベルは0~9の値が設定可能で、qlaunchのszsはサイズ的にレベル9の圧縮率なので上の例では9を指定しています。
・追記 2018/10/17 03.42
SwitchThemeInjectorがv3時点でszs内の任意のファイルの抽出/置換をサポートしています。
この項目で紹介するSARC Toolは、szsの展開(=全ファイルの抽出)及びszsとしての圧縮、という事が可能です。
私としては、基本的にはSwitchThemeInjectorで任意のファイルの抽出/置換を行う方がスマートだと思います。
この項目は一応残しておきますが、今後は基本的にはSwitchThemeInjectorを使用する事を推奨します。
上記リンク先でリリースされているのはWindows版のSwitchThemeInjectorです。
(記事執筆時点では)壁紙の設定のみが可能なWeb版も公開されています。
壁紙を設定するのではなく、任意のファイルの抽出/置換を行う場合はWindows版を使用してください。
SwitchThemeInjectorがv3時点でszs内の任意のファイルの抽出/置換をサポートしています。
この項目で紹介するSARC Toolは、szsの展開(=全ファイルの抽出)及びszsとしての圧縮、という事が可能です。
私としては、基本的にはSwitchThemeInjectorで任意のファイルの抽出/置換を行う方がスマートだと思います。
この項目は一応残しておきますが、今後は基本的にはSwitchThemeInjectorを使用する事を推奨します。
上記リンク先でリリースされているのはWindows版のSwitchThemeInjectorです。
(記事執筆時点では)壁紙の設定のみが可能なWeb版も公開されています。
壁紙を設定するのではなく、任意のファイルの抽出/置換を行う場合はWindows版を使用してください。
背景色や壁紙、テキストといった要素を管理するファイルはszsとして圧縮されています。
この項目で紹介するのはAbood氏の SARC Tool です。
https://github.com/aboood40091/SARC-Tool/releases
使用方法としては、以下を覚えておけばOKです。
展開する方法:
sarc_tool.exe szsのパス
実際の例:
sarc_tool.exe common.szs
(sarc_tool.exeにszsをドラッグアンドドロップするだけでも展開される)
(同じファイル名のフォルダが作成され、そこに展開される)
sarc_tool.exe szsのパス
実際の例:
sarc_tool.exe common.szs
(sarc_tool.exeにszsをドラッグアンドドロップするだけでも展開される)
(同じファイル名のフォルダが作成され、そこに展開される)
圧縮する方法:
sarc_tool.exe -compress 9 -o 出力先のパス(ファイル名) 圧縮するフォルダのパス
実際の例:
sarc_tool.exe -compress 9 -o common.szs common
実際の例(exeと同じ場所にszsを出力したくない場合):
(事前に出力先のフォルダ(output)を作成しておく)
sarc_tool.exe -compress 9 -o output/ccommon.szs common
sarc_tool.exe -compress 9 -o 出力先のパス(ファイル名) 圧縮するフォルダのパス
実際の例:
sarc_tool.exe -compress 9 -o common.szs common
実際の例(exeと同じ場所にszsを出力したくない場合):
(事前に出力先のフォルダ(output)を作成しておく)
sarc_tool.exe -compress 9 -o output/ccommon.szs common
圧縮レベルは0~9の値が設定可能で、qlaunchのszsはサイズ的にレベル9の圧縮率なので上の例では9を指定しています。
●ホーム画面/ロック画面の背景色の変更(FW5.1.0/6.0.x)


●用意するもの(共通)
・SwitchThemeInjector
・バイナリエディタ
・以下に記載するszsファイル
●ホーム画面の背景色が管理されているファイル
・5.1.0 … common.szs の "blyt/BgNml.bflyt"
・6.0.x … ResidentMenu.szs の "blyt/BgNml.bflyt"
●ロック画面の背景色が管理されているファイル
・5.1.0と6.0.xで共通 … Entrance.szs の "blyt/EntMain.bflyt"
SwitchThemeInjectorはszsファイル中のbflytファイルを置き換えるために使用します。
バイナリエディタはbflyt中のカラーコードを書き換えるために使用します。
●手順
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして用意したszsファイルを選択する
3、"ADVANCED" タブをクリックし、必要なbflytファイルを探す
4、抽出したいbflytファイルを左クリックして選択し、右クリックし、"Extract"で任意の場所に抽出する
(SwitchThemeInjectorはまだ閉じない)
5、抽出したbflytファイルをバイナリエディタで書き換え(詳細は後述)
6、手順4のように右クリックし、"Replace"で手順5で用意したbflytファイルを選択
7、"SAVE EDITED SZS" をクリックして任意の場所にszsファイルとして保存
8、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/Entrance.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/Entrance.szs
BgNml.bflytやEntMain.bflytには以下の16バイトの値の箇所が存在します。この値がカラーコードの指定となっています。
BgNml.bflytでは1箇所のみ該当します。EntMain.bflytでは該当箇所が複数存在し、該当箇所全てを同じ値にする必要があります。
そのためロック画面の背景色を変えたい場合はバイナリエディタの置換機能の使用が推奨されます。
値は4バイト(FF FF FF FF)で1セットで、画面の左上/右上/左下/右下の順に4箇所にカラーコードで色を指定可能です。
各セットの最後の1バイトはFFのままで良いようです。カラーコードは3バイトなので、おそらく4バイト目のFFを区切りとしているんでしょう。
4箇所それぞれに違うカラーコードを指定するとグラデーションになります。
例えば白/黒/青/赤(左上/右上/左下/右下)というようにカラーコードを指定すると、上で例として貼った画像のようになります。
https://blog-imgs-105.fc2.com/c/m/d/cmd0725/20180929082321bd0.jpg
背景色は、Switchのテーマがベーシックホワイトの場合のみ指定したカラーコード通りの色で表示されます。
ベーシックブラックに設定されていると、色が黒みがかって表示されるようです。
上の画像はベーシックホワイトの時の画像です。ベーシックブラックにすると以下の画像のようになります。
https://blog-imgs-105.fc2.com/c/m/d/cmd0725/20180929082322a8d.jpg


●用意するもの(共通)
・SwitchThemeInjector
・バイナリエディタ
・以下に記載するszsファイル
●ホーム画面の背景色が管理されているファイル
・5.1.0 … common.szs の "blyt/BgNml.bflyt"
・6.0.x … ResidentMenu.szs の "blyt/BgNml.bflyt"
●ロック画面の背景色が管理されているファイル
・5.1.0と6.0.xで共通 … Entrance.szs の "blyt/EntMain.bflyt"
SwitchThemeInjectorはszsファイル中のbflytファイルを置き換えるために使用します。
バイナリエディタはbflyt中のカラーコードを書き換えるために使用します。
●手順
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして用意したszsファイルを選択する
3、"ADVANCED" タブをクリックし、必要なbflytファイルを探す
4、抽出したいbflytファイルを左クリックして選択し、右クリックし、"Extract"で任意の場所に抽出する
(SwitchThemeInjectorはまだ閉じない)
5、抽出したbflytファイルをバイナリエディタで書き換え(詳細は後述)
6、手順4のように右クリックし、"Replace"で手順5で用意したbflytファイルを選択
7、"SAVE EDITED SZS" をクリックして任意の場所にszsファイルとして保存
8、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/Entrance.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/Entrance.szs
BgNml.bflytやEntMain.bflytには以下の16バイトの値の箇所が存在します。この値がカラーコードの指定となっています。
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
BgNml.bflytでは1箇所のみ該当します。EntMain.bflytでは該当箇所が複数存在し、該当箇所全てを同じ値にする必要があります。
そのためロック画面の背景色を変えたい場合はバイナリエディタの置換機能の使用が推奨されます。
値は4バイト(FF FF FF FF)で1セットで、画面の左上/右上/左下/右下の順に4箇所にカラーコードで色を指定可能です。
各セットの最後の1バイトはFFのままで良いようです。カラーコードは3バイトなので、おそらく4バイト目のFFを区切りとしているんでしょう。
4箇所それぞれに違うカラーコードを指定するとグラデーションになります。
例えば白/黒/青/赤(左上/右上/左下/右下)というようにカラーコードを指定すると、上で例として貼った画像のようになります。
https://blog-imgs-105.fc2.com/c/m/d/cmd0725/20180929082321bd0.jpg
背景色は、Switchのテーマがベーシックホワイトの場合のみ指定したカラーコード通りの色で表示されます。
ベーシックブラックに設定されていると、色が黒みがかって表示されるようです。
上の画像はベーシックホワイトの時の画像です。ベーシックブラックにすると以下の画像のようになります。
https://blog-imgs-105.fc2.com/c/m/d/cmd0725/20180929082322a8d.jpg
●ロック画面に壁紙を設定(FW5.1.0/6.0.x)

●用意するもの
・Entrance.szs
・SwitchThemeInjector(Win) or Web版
・1280x720の画像
(・画像をddsとして保存できるソフト(DDS Converter, paint.net, photoshop, gimp, visual studio 等))
事前に、用意した1280x720の画像をddsに変換しておいてください。
(ddsとして保存する際はDXT1を指定してください。)
※Web版のSwitchThemeInjectorを使用する場合はszsとddsを用意するだけでOKです。
●Web版のSwitchThemeInjectorを用いた手順
1、PCのブラウザから以下にアクセス
https://exelix11.github.io/SwitchThemeInjector/
2、"Inject & Patch" タブをクリックし、"OPEN SZS" で用意したszsファイルを選択する
3、"OPEN IMAGE" で用意したddsファイルを選択する
4、"PATCH AND SAVE" をクリックして壁紙が設定されたszsファイルを保存
5、(Win版の手順の5を参照)
●Windows版のSwitchThemeInjectorを用いた手順
(0、1280x720のddsを用意する)
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして Entrance.szs を選択する
3、"INJECT & PATCH" タブをクリックし、事前に用意しておいたddsを選択する
4、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
5、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs

●用意するもの
・Entrance.szs
・SwitchThemeInjector(Win) or Web版
・1280x720の画像
(・画像をddsとして保存できるソフト(DDS Converter, paint.net, photoshop, gimp, visual studio 等))
事前に、用意した1280x720の画像をddsに変換しておいてください。
(ddsとして保存する際はDXT1を指定してください。)
※Web版のSwitchThemeInjectorを使用する場合はszsとddsを用意するだけでOKです。
●Web版のSwitchThemeInjectorを用いた手順
1、PCのブラウザから以下にアクセス
https://exelix11.github.io/SwitchThemeInjector/
2、"Inject & Patch" タブをクリックし、"OPEN SZS" で用意したszsファイルを選択する
3、"OPEN IMAGE" で用意したddsファイルを選択する
4、"PATCH AND SAVE" をクリックして壁紙が設定されたszsファイルを保存
5、(Win版の手順の5を参照)
●Windows版のSwitchThemeInjectorを用いた手順
(0、1280x720のddsを用意する)
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして Entrance.szs を選択する
3、"INJECT & PATCH" タブをクリックし、事前に用意しておいたddsを選択する
4、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
5、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Entrance.szs
●ホーム画面と設定に壁紙を設定(FW5.1.0/6.0.x)

●用意するもの(共通)
・SwitchThemeInjector(Win) or Web版
・1280x720の画像
(・画像をddsとして保存できるソフト(DDS Converter, paint.net, photoshop, gimp, visual studio 等))
事前に、用意した1280x720の画像をddsに変換しておいてください。
(ddsとして保存する際はDXT1を指定してください。)
●用意するもの(FW5.1.0)
・common.szs (ホーム画面と設定に壁紙を反映させる場合)
・ResidentMenu.szs (ホーム画面にのみ壁紙を反映させる場合)
●用意するもの(FW6.0.x)
・ResidentMenu.szs (ホーム画面に壁紙を反映させる場合)
・Set.szs (設定に壁紙を反映させる場合)
FW5.1.0でcommon.szsを使用する場合、使用する画像がホーム画面と設定の壁紙として反映されます。
ResidentMenu.szsを使用する場合、使用する画像がホーム画面の壁紙としてのみ反映されます。
FW5.1.0の場合はホーム画面と設定で別々の壁紙を設定する事は出来ないようです。
FW6.0.xの場合、FW5.1.0とは違いホーム画面と設定で別々に壁紙を設定可能です。
どちらか一方にのみ壁紙を設定したい場合は、どちらか一方のszsのみを用意してください。
両方に壁紙を設定したい方は両方のszsを用意してください。
※Web版のSwitchThemeInjectorを使用する場合はszsとddsを用意するだけでOKです。
●Web版のSwitchThemeInjectorを用いた手順
1、PCのブラウザから以下にアクセス
https://exelix11.github.io/SwitchThemeInjector/
2、"Inject & Patch" タブをクリックし、"OPEN SZS" で用意したszsファイルを選択する
3、"OPEN IMAGE" で用意したddsファイルを選択する
4、"PATCH AND SAVE" をクリックして壁紙が設定されたszsファイルを保存
5、(Win版の手順の5を参照)
●Windows版のSwitchThemeInjectorを用いた手順
(0、1280x720のddsを用意する)
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして用意したszsファイルを選択する
3、"INJECT & PATCH" タブをクリックし、事前に用意しておいたddsを選択する
4、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
5、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Set.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/Set.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/Set.szs

●用意するもの(共通)
・SwitchThemeInjector(Win) or Web版
・1280x720の画像
(・画像をddsとして保存できるソフト(DDS Converter, paint.net, photoshop, gimp, visual studio 等))
事前に、用意した1280x720の画像をddsに変換しておいてください。
(ddsとして保存する際はDXT1を指定してください。)
●用意するもの(FW5.1.0)
・common.szs (ホーム画面と設定に壁紙を反映させる場合)
・ResidentMenu.szs (ホーム画面にのみ壁紙を反映させる場合)
●用意するもの(FW6.0.x)
・ResidentMenu.szs (ホーム画面に壁紙を反映させる場合)
・Set.szs (設定に壁紙を反映させる場合)
FW5.1.0でcommon.szsを使用する場合、使用する画像がホーム画面と設定の壁紙として反映されます。
ResidentMenu.szsを使用する場合、使用する画像がホーム画面の壁紙としてのみ反映されます。
FW5.1.0の場合はホーム画面と設定で別々の壁紙を設定する事は出来ないようです。
FW6.0.xの場合、FW5.1.0とは違いホーム画面と設定で別々に壁紙を設定可能です。
どちらか一方にのみ壁紙を設定したい場合は、どちらか一方のszsのみを用意してください。
両方に壁紙を設定したい方は両方のszsを用意してください。
※Web版のSwitchThemeInjectorを使用する場合はszsとddsを用意するだけでOKです。
●Web版のSwitchThemeInjectorを用いた手順
1、PCのブラウザから以下にアクセス
https://exelix11.github.io/SwitchThemeInjector/
2、"Inject & Patch" タブをクリックし、"OPEN SZS" で用意したszsファイルを選択する
3、"OPEN IMAGE" で用意したddsファイルを選択する
4、"PATCH AND SAVE" をクリックして壁紙が設定されたszsファイルを保存
5、(Win版の手順の5を参照)
●Windows版のSwitchThemeInjectorを用いた手順
(0、1280x720のddsを用意する)
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、"OPEN SZS" をクリックして用意したszsファイルを選択する
3、"INJECT & PATCH" タブをクリックし、事前に用意しておいたddsを選択する
4、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
5、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/Set.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/Set.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/Set.szs
●qlaunchが扱うテキストの変更
●用意するもの
・qlaunch.msbt.szs ("message/JPja/" に存在)
・Uwizard
・MSBT Editor Reloaded
単純ですが、こんな事が可能です。

("アルバム" というテキストを "hbmenu" に変更)
この作業での注意点としては、Uwizardで上書き処理はしない事です。
どうもUwizardは上書きをしようとすると例外を吐くようです。
●手順
1、Uwizard(Uwizard.exe) を起動
2、Archive Managerタブを開く

3、"Decompress SZS" をクリックしてqlaunch.msbt.szsを選択
(選択後、保存ウィンドウが開く)

4、"(任意のファイル名).msbt" で保存する
(Uwizardはまだ終了させない)
5、MSBT Editor Reloaded(MsbtEditor.exe) を起動
6、"File/Open" で手順4で保存したmsbtファイルを開く
7、好きに書き換える
(RdtSystemTitle_Pvrがアルバムのテキストです)
8、"File/Save" 或いは "File/Save as" で変更内容を反映したmsbtファイルを保存する
(この作業後、MSBT Editor Reloadedは終了してOK)
9、Uwizardで "Compress SZS" をクリックして手順8で保存したmsbtファイルを開く
(選択後、保存ウィンドウが開く)
10、"qlaunch.msbt.szs" として保存する
(この作業後、Uwizardは終了してOK)
11、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
●用意するもの
・qlaunch.msbt.szs ("message/JPja/" に存在)
・Uwizard
・MSBT Editor Reloaded
単純ですが、こんな事が可能です。

("アルバム" というテキストを "hbmenu" に変更)
この作業での注意点としては、Uwizardで上書き処理はしない事です。
どうもUwizardは上書きをしようとすると例外を吐くようです。
●手順
1、Uwizard(Uwizard.exe) を起動
2、Archive Managerタブを開く

3、"Decompress SZS" をクリックしてqlaunch.msbt.szsを選択
(選択後、保存ウィンドウが開く)

4、"(任意のファイル名).msbt" で保存する
(Uwizardはまだ終了させない)
5、MSBT Editor Reloaded(MsbtEditor.exe) を起動
6、"File/Open" で手順4で保存したmsbtファイルを開く
7、好きに書き換える
(RdtSystemTitle_Pvrがアルバムのテキストです)
8、"File/Save" 或いは "File/Save as" で変更内容を反映したmsbtファイルを保存する
(この作業後、MSBT Editor Reloadedは終了してOK)
9、Uwizardで "Compress SZS" をクリックして手順8で保存したmsbtファイルを開く
(選択後、保存ウィンドウが開く)
10、"qlaunch.msbt.szs" として保存する
(この作業後、Uwizardは終了してOK)
11、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/message/JPja/qlaunch.msbt.szs
以下は2018年9月29日に書いた内容になります。BNTX-Editorを用いた手法を紹介した項目です。
消すか消すまいか悩んだ結果、とりあえず残すことにしました。
●ホーム画面に壁紙を設定(FW5.1.0/6.0.0)(古い手法)

●用意するもの
・common.szs (FW5.1.0の場合)
・ResidentMenu.szs (FW6.0.0の場合)
・SwitchThemeInjector
・BNTX-Editor
・1280x720の画像
(・画像をddsとして保存できるソフト(paint.net, photoshop, gimp, visual studio 等))
dds画像は事前に用意しておいてください。(ddsとして保存する際はDXT1を指定してください。)
FW5.1.0のSwitchを使用している方は、ResidentMenu.szsは不要です。
FW6.0.0のSwitchを使用している方は、common.szsは不要です。
FW5.1.0の場合、設定を開いた際にも背景は画像になっています。
FW6.0.0の場合、設定にまで壁紙の効果が及ばず、画像が表示されるのはホーム画面のみとなります。
●手順
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、OPEN SZSをクリックして common.szs 或いは ResidentMenu.szs を選択する
3、EXPORT BNTXをクリックして "__Combined.bntx" を任意の場所に保存する
(SwitchThemeInjectorはまだ終了させない)
4、BNTX-Editor(bntx_editor.exe) を起動
5、Openをクリックして手順3で保存した __Combined.bntx を選択する
6、左下のセレクトボックスで、以下を選択する
・common.szs(FW5.1.0)の __Combined.bntx を開いた場合
White1x1_180^r
・ResidentMenu.szs(FW6.0.0)の __Combined.bntx を開いた場合
White1x1A128^s

7、Replaceをクリックして用意したdds画像を選択する
8、Optionsウィンドウが開くので、何も変更せずOKをクリックする

9、Save或いはSave Asをクリックして __Combined.bntx を保存する
(この作業後、BNTX-Editorは終了してOK)
10、SwitchThemeInjectorで "INJECT & PATCH" タブをクリック
11、"__Combined.bntx" を選択し、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
(この作業後、SwitchThemeInjectorは終了してOK)
12、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs

●用意するもの
・common.szs (FW5.1.0の場合)
・ResidentMenu.szs (FW6.0.0の場合)
・SwitchThemeInjector
・BNTX-Editor
・1280x720の画像
(・画像をddsとして保存できるソフト(paint.net, photoshop, gimp, visual studio 等))
dds画像は事前に用意しておいてください。(ddsとして保存する際はDXT1を指定してください。)
FW5.1.0のSwitchを使用している方は、ResidentMenu.szsは不要です。
FW6.0.0のSwitchを使用している方は、common.szsは不要です。
FW5.1.0の場合、設定を開いた際にも背景は画像になっています。
FW6.0.0の場合、設定にまで壁紙の効果が及ばず、画像が表示されるのはホーム画面のみとなります。
●手順
1、SwitchThemeInjector(SwitchThemes.exe) を起動
2、OPEN SZSをクリックして common.szs 或いは ResidentMenu.szs を選択する
3、EXPORT BNTXをクリックして "__Combined.bntx" を任意の場所に保存する
(SwitchThemeInjectorはまだ終了させない)
4、BNTX-Editor(bntx_editor.exe) を起動
5、Openをクリックして手順3で保存した __Combined.bntx を選択する
6、左下のセレクトボックスで、以下を選択する
・common.szs(FW5.1.0)の __Combined.bntx を開いた場合
White1x1_180^r
・ResidentMenu.szs(FW6.0.0)の __Combined.bntx を開いた場合
White1x1A128^s

7、Replaceをクリックして用意したdds画像を選択する
8、Optionsウィンドウが開くので、何も変更せずOKをクリックする

9、Save或いはSave Asをクリックして __Combined.bntx を保存する
(この作業後、BNTX-Editorは終了してOK)
10、SwitchThemeInjectorで "INJECT & PATCH" タブをクリック
11、"__Combined.bntx" を選択し、"PATCH AND SAVE" をクリックして任意の場所にszsファイルとして保存
(この作業後、SwitchThemeInjectorは終了してOK)
12、LayeredFSで有効になるようにszsファイルを配置し、LayeredFS(fs_mitm.kip)が有効なCFWを起動
(SX OSはデフォルトでLayeredFSが有効なため、fs_mitmを意識する必要はありません)
fsmitm.flagが無い場合はqlaunchでLayeredFSが有効にならないので必ず作成してください。
テキストファイルを作成してfsmitm.flagとしてリネームするだけで構いません。
Switchのシステムに関わるソフトウェアでLayeredFSを有効にするために必要なフラグとなります。
・Atmosphereの場合(AtmosphereベースのRajNXの場合も同様)
microsd:atmosphere/titles/0100000000001000/fsmitm.flag
microsd:atmosphere/titles/0100000000001000/romfs/lyt/common.szs
microsd:atmosphere/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
・ReiNXの場合
microsd:ReiNX/titles/0100000000001000/fsmitm.flag
microsd:ReiNX/titles/0100000000001000/romfs/lyt/common.szs
microsd:ReiNX/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
・SX OSの場合
microsd:sxos/titles/0100000000001000/fsmitm.flag
microsd:sxos/titles/0100000000001000/romfs/lyt/common.szs
microsd:sxos/titles/0100000000001000/romfs/lyt/ResidentMenu.szs
