サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
  
現: 2024-01-08 (月) 12:58:44 ゲスト ソース
Line 1: Line 1:
 +*コミックチャットをかいせきしる(OSASK本体とは関係なくOSASKキャラで遊ぶ会コミックチャット解析分科会編)
 +とりあえずわかったことから書いておく
 +
 +**画像のパターン仕様
 +
 +表情上から右回りに
 +
 + 叫ぶ
 + 笑う
 + 喜ぶ
 + はにかむ
 + 退屈
 + 脅える
 + 悲しむ
 + 怒る
 +
 +各10段階
 +
 + 平常 個数無制限
 + 自分を指差す 一つ
 + 他の人を指差す 一つ
 + 手を振る 一つ
 +
 + キャラクタアイコン 一つ(40*40/16色)
 +
 +**コマンド
 +
 +キャラの変更
 +
 + # Appears as Kaos004.http://osask.hp.infoseek.co.jp/kaos004.avb
 +             ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 +             名称    ダウンロード先
 +
 +画像変更など
 +
 + (#G510E049RM1)
 +
 +カッコと#は固定、中身は・・
 +
 + G510E049RM1
 +  ^
 +ここに画像番号っぽいものが・・・
 +
 +画像の番号は0~アスキー順で0123456789:;<=>?@A・・・どこまで続くか不明。
 +自作キャラで番号を確認すればわかりそうだ。
 +
 +コマンドのパターン、試してみると
 + G*10E***
 +
 +みたいなパターンが多い。
 +
 +Eのあとの数字も変化しているが・・・
 +
 +RM1の部分、ポーズを変えたりするとRがつく。
 +なにも選択しないとRがない。
 +M1は変化したことが無い・・・固定かな?
 +
 +**ほか
 +-#Appears as ~を受け取ると全員が発信元にトークをつなぐようだ
 +-*CTCP-query(Unknown:AWAY) rire → zakkyawy 離席を知らせる
 +
 +
 +**AVB Formatの仕様解析
 + この仕様書について はなくそほじくる程度に解析した。
 + 著作権及び配布条件 てきとうにつかって、
 +  いらなくなったら自動的にトイレでうん○と一緒で流す。
 + 作成したパッケージのテスト してません。(それより、サンプルコードができてない...)
 + アドバンスト・コース Linux用のコミックちゃっとを作っておくれ。
 + よくあるトラブル ご近所さんの猫がよく侵入する。(違)
 + 謝辞 おかーちゃん、ごはんをいつも作ってくれてありがとう。
 +  老後の面倒は期待しないでまってておくれ。ぐすん。
 +
 +**LINK:
 + SIGGRAPH96の論文にComicChatの解説がて載っている。
 +  http://grail.cs.washington.edu/pub/abstracts.html#ComicChat
 +  http://www.uranus.dti.ne.jp/~h-makoto/manga/manga.html
 + キャラデータ
 +  http://www.globetown.net/~kaoring/ なく子も漏らすキャラ作家
 +  http://www.mermeliz.com/ なく子も漏らすキャラ収集家
 +
 +**この文書の用語と印の意味
 + (???) この印がついているのは、納得できないもの。
 + (TODO) やりのこした仕事
 +
 +**Comic Mode Protocol
 + (#ExxxGxxxRMxT{nick})
 +   |||||||||||| |
 +   |||||||||||| o Nick 対象の名前
 +   |||||||||||o-- Target 動作の対象
 +   ||||||||||o--- BalloonType バルーンのタイプ
 +   |||||||||o---- Balloon バルーン
 +   ||||||||o----- RightFace(???) 顔の向き(???)
 +   |||||||o------ GestureVolume 表現の大きさ['0'-':']の10段階(???)
 +   ||||||o------- GestureType 表現の種類['0'-'8']の9段階(???)
 +   |||||o-------- GestureIndex Gesture画像番号 (同じAVBを持っている人向けの情報)
 +   ||||o--------- Gesture 体の動きによる表現(???)
 +   |||o---------- EmotionVolume 表現の大きさ
 +   ||o----------- EmotionType 表現の種類
 +   |o------------ EmotionIndex Emotion画像番号 (同じAVBを持っている人向けの情報)
 +   o------------- Emotion 顔の表情による表現(Expressionかも)
 +
 + Target:
 +  Nick アクションや囁きの相手を指定、複数指定可能(???)
 +  例:(#GxxxExxxM2Tnick???) (TODO)
 + BalloonType:
 +  M1 Plain 通常の枠
 +  M2 Whisper 点線の枠
 +  M3 Think oO(考えごと)
 +  M4 Plain わからんにょ
 +  M5 Action [四角の枠で解説風]
 + RightFace: 顔の向き. 駒割りの最適化に使用(???)
 + GestureVolume: 10段階 AVBが異なる場合はVolumeが近い画像が適用される
 + GestureType: 9+3種類 AVBが異なる場合はTypeが近い画像が適用される
 + GestureIndex: 0から93(???) AVBが同じな場合はTypeとVolumeを無視しIndexが使われる
 + EmotionVolume: 10段階 AVBが異なる場合はVolumeが近い画像が適用される
 + EmotionType: 9+3種類 AVBが異なる場合はTypeが近い画像が適用される
 + EmotionIndex: 0から93(???) AVBが同じな場合はTypeとVolumeを無視しIndexが使われる
 +
 + Volume:
 +  解説: 各Volumeに一つの画像を割り振れる。
 +  SpecialType:
 +  ':' Specialの場合はVolumeは変わらない(???)
 +  NormalType:
 +  ':' 110% 謎(???)
 +  '9' 100% 大きな感情
 +  '8' 90%
 +  '7' 80%
 +  '6' 70%
 +  '5' 60%
 +  '4' 50%
 +  '3' 40%
 +  '2' 30%
 +  '1' 20%
 +  '0' 10% 小さな感情 (Neutral側)
 +
 + Type:
 +  SpecialType:
 +  '<' PointSelf 自分を指さす
 +  ';' Point Other 相手を指さす
 +  ':' Wave 手を振る
 +  NormalType:
 +  '9' unkown 使ってない(???)
 +  '8' laugh 笑い
 +  '7' shout 叫び
 +  '6' angry 怒り
 +  '5' sad 悲しみ
 +  '4' scared 恐れ
 +  '3' bored 退屈
 +  '2' coy 微笑み
 +  '1' happy 喜び
 +  '0' neutral 平常 ※happyが混ざる(???)
 +
 + Index:
 +  '0' 0番目の画像
 +  '1' 1番目の画像
 +  '2' 2番目の画像
 +  '3' 3 ...
 +  '4' 4
 +  '5' 5
 +  '6' 6
 +  '7' 7
 +  '8' 8
 +  '9' 9
 +  ':' 11
 +  ';' 12
 +  '<' 13 ... どこまでつづくんやら
 +
 + ###########################################################
 + # AVB File Format                                        #
 + ###########################################################
 +
 + type Name Value Description
 + ===========================================================
 + AVB::HEAD
 + ===========================================================
 + uint16 Magic 0x8181 Magic number
 + uint16 Type 1 Avatar 顔胴体一体型
 +  2 Avatar 顔胴体分裂型
 +  3 Background 背景画
 + uint16 Version 2 バージョン(???)
 + * * TAGの開始、TAGデータが続く
 +
 + ===========================================================
 + AVB::TAG1::END TAGの終了
 + ===========================================================
 + uint16 Tag 0x006
 +
 + ===========================================================
 + AVB::TAG1::NAME
 + ===========================================================
 + uint16 Tag 0x001
 + uint8 string[] "..."\0 '\0'で終了
 +
 + ===========================================================
 + AVB::TAG1::UNKNOWN_002
 + ===========================================================
 + uint16 Tag 0x002
 + uint16 unknown *
 +
 + ===========================================================
 + AVB::TAG1::UNKNOWN_008
 + ===========================================================
 + uint16 Tag 0x008
 + uint16 unknown *
 +
 + ===========================================================
 + AVB::TAG1::POSE_A (AVB::HEAD::Type==2: Avatar用の顔)
 + ===========================================================
 + uint16 Tag 0x00a
 + uint16 Count *
 + [Count]{
 +  uint32 offset0 +offset_fix BMPの開始位置
 +  uint32 offset1 +offset_fix MASK画像の開始位置 (透過処理用)
 +  uint32 offset2 +offset_fix さてはて(???)
 +  uint16 EmotionType 感情の種類
 +  uint8 EmotionVolume 0-256 感情の大きさ
 +  uint16 NeckY 首の位置Y
 +  uint16 NeckX 首の位置X
 +  uint16 uknown0
 +  uint16 unkown1
 +  uint16 FaceY 顔の中心位置Y
 +  uint16 FaceX 顔の中心位置X
 +  uint8 unkown[6];
 + }
 +
 + ===========================================================
 + AVB::TAG1::POSE_B (AVB::HEAD::Type==2: Avatar用の体)
 + ===========================================================
 + uint16 Tag 0x00a
 + uint16 Count *
 + [Count]{
 +  uint32 offset0 +offset_fix BMPの開始位置
 +  uint32 offset1 +offset_fix MASK画像の開始位置 (透過処理用)
 +  uint32 offset2 +offset_fix さてはて(???)
 +  uint16 EmotionType 感情の種類
 +  uint8 EmotionVolume 0-256 感情の大きさ
 +  uint16 NeckY 首の位置Y
 +  uint16 NeckX 首の位置X
 +  uint8 unkown[6];
 + }
 +
 + ===========================================================
 + AVB::TAG1::POSE_C (AVB::HEAD::Type==1: Avatar用の全身)
 + ===========================================================
 + uint16 Tag 0x00c
 + uint16 Number *
 + [Count]{
 +  uint32 offset0 +offset_fix BMPの開始位置
 +  uint32 offset1 +offset_fix MASK画像の開始位置 (透過処理用)
 +  uint32 offset2 +offset_fix さてはて(???)
 +  uint16 EmotionType 感情の種類
 +  uint8 EmotionVolume 0-256 感情の大きさ
 +  uint16 FaceY 顔の中心位置Y
 +  uint16 FaceX 顔の中心位置X
 +  uint8 unkown[6];
 + }
 +
 + ===========================================================
 + AVB::TAG2::UNKNOWN_TAG2 不明なTAG2をスキップする
 + ===========================================================
 + uint16 Tag >= 0x100 値が0x100以上の場合はTAG2
 + uint16 Size * サイズ情報
 + * unknown[] 不明なデータ
 +
 + ===========================================================
 + AVB::TAG2::ICON
 + ===========================================================
 + uint16 Tag 0x100 Icon
 + uint16 Size 6
 + uint32 offset +offset_fix offset_fixを加えた値が本当のBMPのoffset
 + uint16 unknown
 +
 + ===========================================================
 + AVB::TAG2::BACKGROUND
 + ===========================================================
 + uint16 Tag 0x102 (AVB::HEAD:Type==3) BACKGROUND
 + uint16 Size 6
 + uint32 offset +offset_fix offset_fixを加えた値が本当のBMPのoffset
 + uint16 unknown
 +
 + ===========================================================
 + AVB::TAG2::AUTHOR
 + ===========================================================
 + uint16 Tag 0x103
 + uint16 Size *
 + uint8 string[] "..."\0 '\0'で終了
 +
 + ===========================================================
 + AVB::TAG2::DOWNLOAD_URL
 + ===========================================================
 + uint16 Tag 0x104
 + uint16 Size *
 + uint8 string[] "..."\0 '\0'で終了
 +
 + ===========================================================
 + AVB::TAG2::OFFSET_FIX 画像Offsetの開始位置をずらす
 + ===========================================================
 + uint16 Tag 0x107
 + uint16 Size 4
 + uint32 offset_fix *
 +
 + ===========================================================
 + AVB::TAG2::COLORMAP
 + ===========================================================
 + uint16 Tag 0x101
 + uint16 Size *
 + uint16 RGBCount * RGBテーブルの大きさ
 + * rgbdata[] RGBテーブルデータ
 +
 + ===========================================================
 + AVB::BMP Imageデータの情報部分
 + ===========================================================
 + * AVB::COLORMAP もし先頭が0x101ならCOLORMAPのTAG
 + uint32 hsize 0x28 header size
 + uint32 width * pixels
 + uint32 hight * pixels
 + uint16 planes 1 (???)
 + uint16 nbit * pixel depth
 + uint32 compress * (???)
 + uint32 size * (???)
 + uint32 resH * (???)
 + uint32 resV * (???)
 + uint32 ncolorT * n color for table(???)
 + uint32 ncolorD * n color for display(???)
 + uint32 gzip_out * gzip output size
 + uint32 gzip_in * gzip input size
 + * data[] gzipで圧縮されている
 +
 + ###########################################################
 + # EOF                                                    #
 + ###########################################################
 +
 +**コメント
 +-IRCゲーム系の共通仕様(コマンド)とかないんですかね・・・ -- [[nisi]] SIZE(10){2003-07-06 (日) 08:49:36}
 +-てか、コミックチャットのコマンド体系をすでに解析したページとかないかな・・本家はさすがに公開してないよな・・・ -- [[nisi]] SIZE(10){2003-07-06 (日) 08:50:30}
 +-前に、AVBを解析したことがあったので、そのときのメモを載せてみました。 -- ''まんま1号'' SIZE(10){2003-12-14 (日) 02:57:37}
 +-すごい!!!! -- ''nisi'' SIZE(10){2003-12-14 (日) 14:25:24}
 +-まじで、すごいですね。ちょっといじってみたくなりました。私に出来ることなんて知れてますが。(笑) -- [[nisi]] SIZE(10){2003-12-14 (日) 14:26:45}
 +-・・なに?もりあがらないなぁ(汗・・・いや、まじでほしくない? コミックチャット for Linux。 -- ''nisi'' SIZE(10){2003-12-21 (日) 17:01:07}
 +-いっそのこと for OSASK を(ぉ -- [[名無しさん]] SIZE(10){2003-12-21 (日) 17:39:21}
 +-そっちかぁ(笑 ・・・Javaで作っとけば移植も近いか?他のOSでも。・・・個人的には Ruby/GTK あたりで作れたら楽しそうだと思うんですが -- [[nisi]] SIZE(10){2003-12-21 (日) 21:22:00}
 +-ほかの人はどうか解らんが、オレはホスイぞ!! >for Linux -- ''hideyosi'' SIZE(10){2003-12-21 (日) 21:23:31}
 +-これって、これで盛り上がるようなら別に場所とったほうがいいな。まじでOSASKと関係なくなるし・・ -- [[nisi]] SIZE(10){2003-12-21 (日) 21:25:49}
 +-ほかの人はどうか解らんが、オレはホスイぞ!! >for Linux -- ''hideyosi'' SIZE(10){2003-12-21 (日) 22:17:03}
 +
 +#comment
 +
 +*コミックチャット for Linux 考
 +
 +**提案
 +
 +avbファイルって、いちいち専用エディタとかつかうのも面倒なので、プレーンテキストで設定したいなぁ・・・ってことで。
 +
 +-使用言語
 +--Ruby/GTK(ってまだやったことないけど)
 +-コマンド系列
 +--MSコミックチャットに準拠
 +-独自仕様
 +--avbxとか拡張子つけて、プレーンテキストで設定ファイル
 +--png形式のキャライメージ
 +--各パターンごとに別ファイル
 +--ディレクトリでまとめる感じ
 +--で、従来のavbを受信したら上記仕様にコンパイルするとか
 +
 +**コメント
 +-これで、forLin同士でなら新規格、MS-CHATとは上位互換というのはいかがだろう? -- [[nisi]] SIZE(10){2003-12-21 (日) 21:36:01}
 +-とりあえず、IRCクライアントでも作ってみよう・・・誰が?笑 -- [[nisi]] SIZE(10){2003-12-21 (日) 21:41:35}
 +-関係ないけど最近GO + SDL_Net で遊んでたりする、まあwinでなんだけど。GLIBやw32apiとか使おうと思ってインクルードしたらエラーの山で退散。・・・おかげで実行ファイル本体は冗談みたいに小さくなったりして(といってもOSASK的には普通か)、これ本当に窓開くのかと思ったのは秘密。 -- [[名無しさん]] SIZE(10){2003-12-22 (月) 01:03:42}
 +-ここに書くべきかどうか悩みつつ、レスします(あとでGO系のページか、[[impressions]]に引っ越しさせるかもしれません)。 -- [[K]] SIZE(10){2003-12-22 (月) 01:20:30}
 +-インクルードを成功させるには、cc1の-Iオプションを使って、インクルードファイルのありかを指定してやらないといけません。これはメンドイですよねえ。gcc.exeを作ればこれは解決するでしょう。そしてインクルードファイル問題を克服しても、次はリンク時の問題が待っています。ld.exeのパラメータをきちんと書けばいいだけなんですが、これもさらにメンドイですよねえ。まあこれもgcc.exeで解決するわけですが。・・・結局gcc.exeが無いのがガン、ということですねえ。 -- ''K'' SIZE(10){2003-12-22 (月) 01:24:12}
 +-えーと、その辺はmakefile書いているのでとりあえずは大丈夫かな?ただなんか依存関係があってヘッダ足りなかったり、適当に持ってきたら重複定義だのなんかよく分からないので(ターゲット指定とかしてない関係かも?)止めたんだけど、その辺がSDLだとうまくいって、とりあえず一通りは機能あるから結構遊べるよ、逆に他に何も使わないならlinuxとかも多分共通ソースでいけるからいいかな?と。 -- [[名無しさん]] SIZE(10){2003-12-22 (月) 07:01:45}
 +
 +#comment
  

  • MS-CHAT のバックアップ差分(No. All)
    • 現: 2024-01-08 (月) 12:58:44 ゲスト
トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。