Notice : 内容無保証。禁無断転載。引用、リンク自由。

「何か」ファイル構成 (period "redo" 46)

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                    //      :

サーフェスid

    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 を割り当てるとか。

バルーン