2001/09/14 : thumbnail 位置の修正。双葉用サーフェス追加。
2001/09/07 : period "redo" 36 でのサーフェスIDの範囲拡張に伴い改版 (0..2047 → 0..8191)
2001/09/04 : "redo" 対応
2001/06/10 : サーフェスIDの範囲についての記述を追加
2001/05/31 : INSTALL/1.1 についての記述を追加
2001/05/28 : 初版
() : ディレクトリ名 [] : デベロッパ又はユーザが決める文字列 | : or。どれか一つを選ぶ .. : 値の範囲。両端の値を含む。 // ex. 0..8 なら、0 以上 8 以下。 // : コメント あんまり厳密に適用してるわけじゃないので、察しつつお読み下さい。
([home]) // : ユーザが「何か」用に用意するディレクトリ | +-(ghost) // <全体概念> | +-([ghost_name]) // : デベロッパがゴースト毎に用意するディレクトリ | | | +-(ghost) // <ゴースト> | | +-(master) // 必須 : masterゴースト | | +-([ghost_name])// : 追加ゴースト | | : | | | +-(shell) // <シェル> | +-(master) // 必須 : masterシェル | +-([shell_name])// : 追加シェル | : | +-(balloon) // <バルーン> | +-([balloon_name]) // : デベロッパがバルーン毎に用意するディレクトリ | : | +-(plugin) // <HEADLINE/1.1> +-([plugin_name]) // : デベロッパがプラグイン毎に用意するディレクトリ :
([home]) +-(ghost) | +-([ghost_name]) // : (配布用アーカイブ作成時はここを書庫のルートディレクトリにする) | +-(ghost) | | +-(master) | | | // <ゴースト> | | +-[shiori].dll // 必須 : SHIORIコア。alias.txt で指定する。デフォルト名は shiori.dll | | +-[makoto].dll // : トランスレータ。alias.txt で指定する。デフォルト名は makoto.dll | | | | | +-alias.txt // : エイリアスネームテーブル | | +-descript.txt // : ゴースト固有設定情報定義 | | +-thumbnail.jpg|png|pnr // : サムネイル | | +-[icon_name].ico // : ウインドウアイコン。descript.txt で指定する | | +-[cursor_name].cur|ani // : マウスカーソル。descript.txt で指定する | | | | | | // <メニューバックグラウンドイメージ> | | +-menu_background.png // : | | +-menu_foreground.png // : | | +-menu_sidebar.png // : | | | +-(shell) | | +-(master) | | | // <シェル> | | +-surface0.png // 必須 : 本体側デフォルトサーフェス | | +-surface10.png // 必須 : うにゅう側デフォルトサーフェス | | +-surface[id].png // : (id = 0..8191) サーフェス。(→ サーフェスid) | | +-surface[id]s.txt // : サーフェス固有設定情報定義 | | | | | | // <SERIKO> | | +-surface[id]a.txt // : SERIKO/1.2 アニメーションパターン定義ファイル (仕様書の .dat は誤り) | | | | | +-descript.txt // : シェル固有設定情報定義 | | +-thumbnail.jpg|png|pnr // : サムネイル | | +-[icon_name].ico // : ウインドウアイコン。descript.txt で指定する | | +-[cursor_name].cur|ani // : マウスカーソル。descript.txt で指定する | | | +-alias.txt // : エイリアスファイルネーム、エイリアスネーム | | | | // <INSTALL/1.0, /1.2, /1.3> | +-install.txt // : (配布用アーカイブに含まれるだけで、実際に展開されるファイルではない) | | | | // <INSTALL/1.2> | +-([balloon_name]) // : (配布用アーカイブ内でのバルーンデータ用ディレクトリ。install.txt で指定する) | | : // : (実際は、([home])\(balloon)\([balloon_name]) 以下に展開される) | | | | // <ネットワーク更新> | +-updates2.dau // : ネットワーク更新用定義ファイル | +-delete.txt // : 消去ファイル定義 | +-(balloon) | +-([balloon_name]) // : (実際のバルーンデータ展開位置) | | // <バルーン> | +-balloons[id].png // : (id = 0..16) 本体側バルーン | +-balloons[id]s.txt // : (id = 0..16) 本体側バルーン固有設定情報定義 | +-balloonk[id].png // : (id = 0..16) うにゅう側バルーン | +-balloonk[id]s.txt // : (id = 0..16) うにゅう側バルーン固有設定情報定義 | +-balloonc[id].png // : (id = 0..2) コミュニケートボックス | +-arrow[id].png // : (id = 0..1) スクロールマーカー | +-online.png // : オンラインマーカー | +-sstp.png // : SSTPマーカー | +-descript.txt // : バルーン固有設定情報定義 | +-thumbnail.jpg|png|pnr // : サムネイル | +-[cur_name].cur|ani // : マウスカーソル。descript.txt で指定する | +-(plugin) +-([plugin_name]) | // <HEADLINE/1.1> +-[plugin_name].dll // : +-descript.txt // : +-banner.png // :
surface[id].png (id = 0..8191) 以下の id は予約済み +-surface0.png // 必須 : 素 : 本体側デフォルトサーフェス +-surface1.png // : 照れ +-surface2.png // : 驚き +-surface3.png // : 不安 +-surface4.png // : 落ち込み +-surface5.png // : 微笑み +-surface6.png // : 目閉じ +-surface7.png // : 怒り +-surface8.png // : 冷笑 +-surface9.png // : 照れ怒り +-surface20.png // : つくり看板 +-surface25.png // : 歌 : +-surface10.png // 必須 : 素 : うにゅう側デフォルトサーフェス +-surface11.png // : 刮目 +-surface19.png // : 歌 新デフォルトゴースト双葉用 +-surface0.png // : 素1 +-surface50.png // : 素2 (0 の alias) +-surface51.png // : 素3 (0 の alias) : +-surface40.png // : 別人格1 +-surface41.png // : 別人格2 (40 の alias) : +-surface60.png // : 困惑1 +-surface70.png // : あきらめ +-surface80.png // : こーやったら笑って下さいね (60 の alias) // ベースサーフェス用ID - アニメーションサーフェス用ID 対応規則案 // (無計画に対応付けてると判らなくなりそうだったので決めたローカルルール。) 0.. 99 : ベースサーフェス用ID : (以下 bid。) 100..8191 : アニメーションサーフェス用ID : (以下 aid。) // 案 1 // aid(n) = 100 + n*bid +x : x=(0.. n-1 | 1000..1000+n-1) : 1ベースあたり 2nパターン // aid(10) : bid=(0..89) // ゆーな&くまんばぴ採用 // aid(20) : bid=(0..44) // こっちでも良いか // aid(25) : bid=(0..35) // 判りにくい… // aid(30) : bid=(0..29) // 割と妥当な線かも +-----+-------+-------+-------+-------+ |bid | aid10 | aid20 | aid25 | aid30 | +-----+-------+-------+-------+-------+ | 0 | 100〜 | 100〜 | 100〜 | 100〜 | | 1 | 110〜 | 120〜 | 125〜 | 130〜 | | 2 | 120〜 | 140〜 | 150〜 | 160〜 | | : | | | | | | 10 | 200〜 | 300〜 | 350〜 | 400〜 | | : | | | | | | 29 | | | | 970〜 | | 30 | | | | --- | | : | | | | | | 35 | | | 975〜 | --- | | 36 | | | --- | --- | | : | | | | | | 44 | | 980〜 | --- | --- | | 45 | | --- | --- | --- | | : | | | | | | 89 | 990〜 | --- | --- | --- | | 90 | --- | --- | --- | --- | +-----+-------+-------+-------+-------+ // 案 2 (下2桁を bidと一致させる) // aid = 100*x + bid : x=(1..81) : 1ベースあたり 81パターン +-----+---------------------+ |bid | aid | +-----+---------------------+ | 0 | 100, 200, 300, …… | | 1 | 101, 201, 301, …… | | 2 | 102, 202, 302, …… | | : | | | 47 | 147, 247, 347, …… | | 48 | 148, 248, 348, …… | | : | | | 99 | 199, 299, 399, …… | +-----+---------------------+ // 判りやすい&今後の仕様変更で aidの範囲拡張があった場合の対応が楽なので、今後はこっちを採用したい。 // 欠点は、bid をフルに使わないと、無駄 aid が発生すること。 // aid が不足した場合、未使用 bid に割り当てられた aid を再利用するための規則が必要。 // ex. (0..29) の bid しか使ってないなら、bid' = bid + y : y=(30 | 60) 用の aid を割り当てるとか。