改変した3DS_JP.zip内の3DS_JP.xmlを例に解説。
xml宣言
<?xml version="1.0" encoding="Shift_JIS" standalone="no"?>
<dat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="datas.xsd">
DAT定義
<configuration>
<datName>任天堂3DS</datName>
<imFolder>任天堂 3DS</imFolder>
<datVersion>9999</datVersion>
<system>任天堂 3DS</system>
<screenshotsWidth>268</screenshotsWidth>
<screenshotsHeight>240</screenshotsHeight>
情報
<infos>
<title visible="false" inNamingOption="true" default="false"/>
<location visible="false" inNamingOption="true" default="true"/>
<languages visible="false" inNamingOption="true" default="true"/>
<romCRC visible="true" inNamingOption="true" default="true"/>
<publisher visible="true" inNamingOption="true" default="true"/>
<sourceRom visible="true" inNamingOption="true" default="true"/>
<comment visible="true" inNamingOption="true" default="true"/>
<saveType visible="true" inNamingOption="true" default="false"/>
<romSize visible="true" inNamingOption="false" default="false"/>
<releaseNumber visible="true" inNamingOption="true" default="false"/>
<languageNumber visible="false" inNamingOption="true" default="false"/>
<im1CRC visible="false" inNamingOption="false" default="false"/>
<im2CRC visible="false" inNamingOption="false" default="false"/>
</infos>
拡張子
<canOpen>
<extension>.3ds</extension>
</canOpen>
更新
<newDat>
<datVersionURL>
http://www.advanscene.com/offline/version/ADVANsCEne_3DS.txt
</datVersionURL>
<datURL fileName="ADVANsCEne_3DS.zip">
http://www.advanscene.com/offline/datas/ADVANsCEne_3DS.zip
</datURL>
<imURL>
http://www.advanscene.com/offline/imgs/ADVANsCEne_3DS/
</imURL>
</newDat>
検索
<search>
<to value="location" default="true" auto="true"/>
<to value="romSize" default="true" auto="false">
<find operation="=" value="134217728">1024Mbits</find>
<find operation="=" value="268435456">2048Mbits</find>
<find operation="=" value="536870912">4096Mbits</find>
<find operation="=" value="1073741824">8192Mbits</find>
<find operation="=" value="2147483646">16384Mbits</find>
<find operation="=" value="2147483647">32768Mbits</find>
</to>
<to value="languages" default="true" auto="true"/>
<to value="saveType" default="false" auto="false">
<find operation="inNoCase" value="TBC">TBC</find>
</to>
<to value="publisher" default="false" auto="false"/>
<to value="sourceRom" default="false" auto="false"/>
</search>
タイトル表示
<romTitle>%s - %n %o%m</romTitle>
</configuration>
ゲーム情報
<games>
<game>
<imageNumber>25</imageNumber>
<releaseNumber>25</releaseNumber>
<title>リッジレーサー3D</title>
<saveType>25</saveType>
<romSize>1073741824</romSize>
<publisher>バンダイナムコエンターテインメント</publisher>
<location>7</location>
<sourceRom>CONTRAST</sourceRom>
<language>256</language>
<files>
<romCRC extension=".3ds">21923234</romCRC>
</files>
<im1CRC>E6233100</im1CRC>
<im2CRC>4CA754CF</im2CRC>
<comment>Ridge.Racer.3D.JPN.3DS-CONTRAST </comment>
<duplicateID>5</duplicateID>
</game>
</games>
画像
<gui>
<images width="475" height="242">
<image x="0" y="0" width="268" height="240"/>
<image x="273" y="0" width="200" height="240"/>
</images>
</gui>
</dat>
の9項目に分けて解説。
----
&aname(declaration){xml宣言};
<?xml version="1.0" encoding="Shift_JIS" standalone="no"?>
<dat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="datas.xsd">
xmlファイルのお約束。
特に変更する箇所はなし。
&br;
&aname(definition){DAT定義};
<configuration>
<datName>任天堂3DS</datName>
<imFolder>任天堂 3DS</imFolder>
<datVersion>9999</datVersion>
<system>任天堂 3DS</system>
<screenshotsWidth>268</screenshotsWidth>
<screenshotsHeight>240</screenshotsHeight>
-datName:DATの名称。
#ref(d_name.PNG)
-imFolder:画像ファイルのフォルダ名(offlinelist/img/内に作成)
-datVersion:このDATファイルのバージョン。詳しくは&[[更新>#update]]で。
-system:DATファイルを対象とする機種の名称
-screenshotsWidth&screenshotsHeight
取り扱う画像ファイルの大きさ(Width=横、Height=縦のピクセル数)の指定...らしいけど、どうでもいい。
画像の設定は[[画像>#image]]で。
&br;
&aname(info){情報};
<infos>
<title visible="&color(Red){false};" inNamingOption="&color(Red){true};" default="&color(Red){false};"/>
<location visible="false" inNamingOption="true" default="true"/>
<languages visible="false" inNamingOption="true" default="true"/>
<romCRC visible="true" inNamingOption="true" default="true"/>
<publisher visible="true" inNamingOption="true" default="true"/>
<sourceRom visible="true" inNamingOption="true" default="true"/>
<comment visible="true" inNamingOption="true" default="true"/>
<saveType visible="true" inNamingOption="true" default="false"/>
<romSize visible="true" inNamingOption="false" default="false"/>
<releaseNumber visible="true" inNamingOption="true" default="false"/>
<languageNumber visible="false" inNamingOption="true" default="false"/>
<im1CRC visible="false" inNamingOption="false" default="false"/>
<im2CRC visible="false" inNamingOption="false" default="false"/>
</infos>
infoタブ内ソフトの情報の表示(true)/非表示(false)の指定。
visible:右側の情報に表示するか否か。
inNamingOption:左側のタイトル部分に表示するか否か。
default:初期設定で有効にするか否か。(visible/inNamingOptionのがtrueでないと無意味)
-title:ソフト(rom)の名称
-location:国(地域)
-languages:言語
-romCRC:romのCRC32
-publisher:販売元
-sourceRom:romの公開元
-comment:コメント
-saveType:セーブの種類、方法
-romSize:romの容量(ただし値は2^10の数値で表示、昨今は10^3が使われていることもあり)
-releaseNumber:romのNo.(公開順?)
-languageNumber:言語の数
-im1CRC:画像aのCRC32
-im2CRC:画像bのCRC32
&br;
&aname(extension){拡張子};
<canOpen>
<extension>.3ds</extension>
</canOpen>
romの拡張子の指定。
&br;
&aname(update){更新};
<newDat>
<datVersionURL>
http://www.advanscene.com/offline/version/ADVANsCEne_3DS.txt
</datVersionURL>
<datURL fileName="ADVANsCEne_3DS.zip">
http://www.advanscene.com/offline/datas/ADVANsCEne_3DS.zip
</datURL>
<imURL>
http://www.advanscene.com/offline/imgs/ADVANsCEne_3DS/
</imURL>
</newDat>
-datVersionURL:更新先のDATファイルのバージョンが書かれたtxtファイルの場所。
txtファイルにはただVer.の数値だけが書かれていれば良い。(小数点付数字はNG)
#ref(update.PNG)
アップデートの時に、この数値とdatVersionの数値を比べtxtの方が大きければDATファイルを更新する。
個人的にはVer.No.ではなく、作成日にすると管理が楽。(例:211128 ←21年11月28日)
-datURL fileName="&color(Red){ADVANsCEne_3DS.zip};":アップデートでダウンロードするDATファイルの名前。&その場所。
-imURL:画像ファイルの場所、画像ファイルはここからダウンロードする。
このアドレスの先に「1-500」などの500毎のフォルダがありその先に1a.png、1b.pngといった画像ファイルを作成者は用意する。
各ファイルのURLは「https」は暗号化されているためかNG。
ホームページのアドレスが「https」ならば「http」に変える事。
&br;
&aname(search){検索};
<search>
<to value="location" default="true" auto="true"/>
<to value="romSize" default="true" auto="false">
<find operation="=" value="134217728">1024Mbits</find>
<find operation="=" value="268435456">2048Mbits</find>
<find operation="=" value="536870912">4096Mbits</find>
<find operation="=" value="1073741824">8192Mbits</find>
<find operation="=" value="2147483646">16384Mbits</find>
<find operation="=" value="2147483647">32768Mbits</find>
</to>
<to value="languages" default="true" auto="true"/>
<to value="saveType" default="false" auto="false">
<find operation="inNoCase" value="TBC">TBC</find>
</to>
<to value="publisher" default="false" auto="false"/>
<to value="sourceRom" default="false" auto="false"/>
</search>
検索用の各項目のプルダウンメニューを表示するか否か。
&br;
&aname(vtitle){タイトル表示};
<romTitle>%s - %n %o%m</romTitle>
</configuration>
#ref(off_o4.PNG)
&br;
&aname(gameinfo){ゲーム情報};
<games>
<game>
<imageNumber>25</imageNumber>
<releaseNumber>25</releaseNumber>
<title>リッジレーサー3D</title>
<saveType>25</saveType>
<romSize>1073741824</romSize>
<publisher>バンダイナムコエンターテインメント</publisher>
<location>7</location>
<sourceRom>CONTRAST</sourceRom>
<language>256</language>
<files>
<romCRC extension=".3ds">21923234</romCRC>
</files>
<im1CRC>E6233100</im1CRC>
<im2CRC>4CA754CF</im2CRC>
<comment>Ridge.Racer.3D.JPN.3DS-CONTRAST </comment>
<duplicateID>5</duplicateID>
</game>
</games>
ソフト(rom)の情報を記載する。
-imageNumber:対応する画像の番号。この場合25なので25a.png、25b.pngがあれば表示。
-releaseNumber:romのNo.(公開順?)、数字以外はNG。
-title:ソフト(rom)の名称。
使えない文字があるので注意!「&」など。[[詳細:https://www.milk-island.net/document/xml/kihon/g3/]]
-saveType:セーブの種類、方法。
英字も使えるので、大抵ここにrom No.を指定することも。
X番台=デモ、配布、機種専用rom(new3DS専用)
e番台=eshop専用
-romSize:romの容量
-publisher:販売元
-location:国(地域)
-sourceRom:romの公開元
-language:言語の数
-romCRC extension=".3ds":romの拡張子&CRC32の値。
どれかと被ってもNG、ケタ数が多くてもNG。
CRCの値は''&color(Red){解凍されたromの値};''。圧縮された状態では無い。
-im1CRC:画像aのCRC32の値。
-im2CRC:画像bのCRC32の値。
-comment:コメント。
-[[duplicateID]]:Rev違いなど同名タイトルにつける番号。
&br;
&aname(image){画像};
<gui>
<images width="475" height="242">
<image x="0" y="0" width="268" height="240"/>
<image x="273" y="0" width="200" height="240"/>
</images>
</gui>
</dat>
-images width="&color(Red){475};" height="&color(Red){242"};:画像の表示領域の確保。
上記例だと数値は
475=268(画像aの横幅)+5(画像aとbの間の隙間)+200(bの横幅)+2(bの右側の隙間)
242=240(画像ab縦幅)+2(画像下の隙間)
-image x="&color(Red){0};" y="&color(Red){0};" width="&color(Red){268};" height="&color(Red){240};:画像aの配置場所の指定&確保。
x="0" y="0"で配置場所の左上頂点座標を指定。
(xの値UP:値のピクセル数分右に、yの値UP:値のピクセル数分下に)
width="268" height="240"で画像aの表示する枠を指定。(画像aの大きさ)
(指定した枠以上の画像も扱えるが、その際は指定した大きさの分しか表示しない)
-image x="&color(Red){273};" y="&color(Red){0};" width="&color(Red){200};" height="&color(Red){240};":画像bの配置場所の指定&確保。(詳細は画像aと同じ)
273=268(画像aの横幅)+5(aとbの間の隙間)