ライブキャスターについて.txt
作成者：有泉　信彦
作成日：10/09/17

○概要
ライブキャスターはCGEAR・WiFiクラブで使う通信ライブキャスターと
フィールドのイベントで使用しているイベントライブキャスターがあります。
ここでは、通信ライブキャスターについて説明します。
最大4人でつなぐことができて、途中参加・途中離脱が可能な作りになっているため、
管理が面倒なことになっています。
また、操作周りの処理と別に、画像の更新・送信処理を並列して常に行っています。

●通信ライブキャスター
○カメラ画像関係
ライブキャスターではDSiのカメラから取った画像を一旦jpgに変換し、送信して
表示できる形式に変換してからVRAMに転送しています。
カメラを使う場合、カメラからの画像を取り込むバッファや変換用のバッファ、送信用のバッファと
メモリを大量に消費します。
なので、DSi専用のメモリ領域から確保しています。
カメラ周りの処理はFCのシャチ：プログラムに09/05/21で上がっている検証レポートを参照してください。

○シャッター音
ロットチェックでは画像を保存する場合に必要と書いてありますが、他人に見えることになるので
シャッター音を鳴らしています。
タイミングは通信が確立・切断されたタイミングで鳴らしています。

○音声関係
送信している音声は録音した後に、adpcm形式で変換しています。
ソースは任天堂様から頂いたサンプルを使用しています。
NNSにadpcmをデコードする関数があるのですが、NNSはエンコード時に最初のパラメータを全パターン試し
一番差分が少ないものを使用するという方法を使っているため、使えませんでした。

○お絵描き
お絵描きは共通で使うことを想定して、システムを切り離しているはずなので、
BGの種類やBG面の対応さえすれば他でも使えるはずです。
通常のペンも消しゴムもスタンプも同じ仕組みを使っています。
ペン先のデータがあり、指定点から指定点を指定色で塗るという処理になっています。
スタンプの場合は2点が一緒で指定しています。
ペン先のデータは配列で持っており、BITでペンの動いた方向により塗る場所を限定する処理が
入っています。
ctvt_draw.pngに画像での説明があるので、そちらも参考にしてください。

●イベントライブキャスター
○画像について
画像はキャラと背景がそれぞれ最大4種類表示できます。
それぞれ128*192のサイズで、それぞれが256色のパレットを使用できます。
背景は昼・夕・夜の3パターンが存在します。
それぞれの画像が2枚ずつあるのは2コマアニメをしていた際の処理なので、
現在は目パチ口パクのアニメをOBJで行っているので使用していません。
目パチ口パクのデータはOBJの座標を
4人通信の際は中心ではなく上から7キャラ分切れた位置で表示されます。
dummy.ncgが画像の転送先のベースになります。
local_tvt_scr_2.nscとlocal_tvt_scr_4.nscがそれぞれ2人用・4人用の
スクリーンデータで並び順が違います。

○スクリプトについて
スクリプトはExcelで表示する非常に簡易的なつくりになっています。
A1セルに"DataSheet"と入っているシートをスクリプトと見ています。
コマンドも終了・メッセージ表示・ウェイトのみです。
スクリプトを追加した場合、tvt_script_list.lstに追加が必要なので注意してください。
