tdat リソース
このエントリーは、Mac OS X 10.3.5で検証した結果を基にしております。
今やThemeParkでguiKitを構築し、ShapeShifterでアピアランス切り替えを行う時代となりましたので、Extras.rsrcの根幹的な解析というものを時に重宝がる向きは皆無だとは言えましょう。
しかしながらそんなThemeParkに搭載されているMenuEnhancerとは正に当サイトで公開しているそれでありまして、mes(旧名dxb)なるアピアランステーマはあくまでサンプルであります。 あれは本当に「おまけ」で、こういうカスタマイズも出来ますよ、という提示であります。 カスタマイズというものは決して人様の作成した結果にあやかるものだとは言えず、例えそれが「結果」だろうとも、そこから「発展されうる結果」こそが本来の意味或いは意義でのカスタマイズなのです。
なんていうのが私の主義なのですけれど、こないだチャットでDualityユーザーという恐ろしい冒険家たるとある外人さんからtdatリソースについての質問があり、思わずリソースラとか起動しちゃった為体は隠居を指し示す証左です。
さて、tdatというリソースは、Extras.rsrc自体が仕様を非公開としておりますので想像で申し訳なのですが恐らく「Table of Data」の略かと思われます。
MenuEnhancerのtdatリソースをResEditで開いてみますと、このようにダンプ表示される事でしょう。 尚、IDが3つあるのは、順にブルー、クリア、グラファイト(或いはグレイ)それぞれに割り振られたところです。
このリソースは、解析した後であれば非常に解りやすい仕様なのであります。 先ずヘッダーがありません。 ですのでデータをベタ打ちで並べているに過ぎません。 仕様は16バイト1ブロックで、先頭の1ブロックを例に採りますと、
636C7223 : "clr#"
01800180 : Resource ID
00000000 : -
00000000 : -
このように、最初にリソースタイプ、次にID、残りはゼロでベタにするところです。
何故tdatリソースが必要かと申しますと、ここにリソースタイプとIDを登録しないとそのファイル内で使うリソースが全く反映されないからです。 ので、幾らExtras.rsrcで新規リソースを追加して仕様を拡張しようとも、tdatリソースで登録しないと結果が反映されない、という訳です。 少々前時代的な仕様だとは言えますが、結果が反映されないとお話になりませんのでMenuEnhancerではこれに従いリソースを拡張しております。
以下蛇足。 このリソースのResEdit用テンプレートを作成するのは非常に簡単で、ヘッダーがありませんので循環的なテンプレート用アイテムを駆使すればものの3分で作成は叶います。



