Chararinaの本体プログラムであるpersona.exeは,デフォルト状態では
C:\Program Files\Praesens\Chararina\
にインストールされます.インストールディレクトリを起点として,各ファイルは以下のように配置されます.
.\(インストールディレクトリ) | persona.exe キャラリナ本体 | persona.rc 現在選択中のキャラクターを指定するファイル | persona.prp ユーザの個人情報に関する設定など(全キャラクター共通) | share.prp 全ベンダー共有領域(全キャラクター共通) | errlog.txt キャラクターのエラーログ | |-\LF ベンダーディレクトリ(ベンダーコードLFの場合) | | vd.prp ベンダー共有プロパティ | | | |-\HPX-02 キャラクターディレクトリ(HPX-02 絢夏の場合) | | | LF-HPX-02.psn キャラクター定義ファイル(HPX-02 絢夏の場合) | | | aya.prp 綾織プロパティファイル | | | sys.prp システムプロパティファイル | | | | | |-\dat キャラクターデータディレクトリ | | | | | | | | index.fet データ更新定義ファイル | | | | *.exa 綾織実行形式ファイル | | | | *.hp2 画像ファイル | | | | *.hp3 画像ファイル | | | | *.hps アニメーションスクリプトファイル[1.50] | | | | .cur .ani マウスカーソルファイル | | | | exapack.lst EXAファイルパッケージ設定ファイル[1.50] | | | | ui.ini キャラクターユーザインターフェース定義ファイル[2.00] | | | | characterprofile.hp3 | | | | キャラクター切り替え時の表示画像[3.00] | | | | (横180x縦180ピクセル)) | | | |-\local 更新対象外ディレクトリ | | | | | | | | |-\HPX-01 キャラクターディレクトリ(HPX-01 春菜の場合) | | | | (以下同様) | |-\plugin プラグインディレクトリ | |-\httpserver プラグインディレクトリ(HTTPサーバプラグイン) | |-\kanjitoyomi プラグインディレクトリ(漢字の読み取得プラグイン) | (以下同様) | |-\share 共有ディレクトリ[1.50] (以下同様)
現在選択しているキャラクターのpsnファイル名を指定するファイル.キャラリナ終了時にセーブされ,次回起動時に使用されます.
ユーザ情報や,全キャラクターで共通に利用する情報など,キャラリナによって設定される設定情報を記録するファイル.persona.exeと同じディレクトリに配置されます.プロパティルート直下の\User,\Systemにインポートされます.
全ベンダーで共有する用途で用いられるプロパティファイル.persona.exeと同じディレクトリに配置されます.プロパティルート直下の\Vendor\にインポートされます.
キャラクター実行中にエラーが起こった場合,まずエラー内容を表すダイアログが表示され,続いて「現在の処理をキャンセルして復帰しますか?」と書かれたダイアログが出ることがあります.キャラリナはそれまでの関数の呼び出し履歴をerrlog.txtに出力します.キャラクター終了後にこのファイルを見ることで,エラーが起こった場所をある程度推測することが可能です.
ベンダー内で共有する用途で用いられるプロパティファイル.各ベンダーディレクトリ内に配置され,同じベンダーのキャラクターからは共通で読み書きが可能です.psnファイルのvendor-common-keyで暗号化されます.\Vendor\(ベンダーコード)\以下にインポートされます.
キャラクターを動作させるために必要となるデータが記録されます.psnファイルに用意される項目は,以下の通りです.
項目 | 解説 |
---|---|
name | 名前.\Vendor\(ベンダーコード)\(キャラクター型番)\VdConfig\Nameによる指定を優先する |
vendor | ベンダーコード |
type | キャラクター型番 |
server | 更新時参照サーバ |
copyright | 著作権表記 |
support | 問い合わせ先e-mailアドレス |
logcgi | 更新時ログCGI |
vendor-common-key | ベンダー共通暗号鍵 |
persona-common-key | キャラクター共通暗号鍵 |
.psnファイルはPsnEditで作成できます.詳細は,PsnEdit添付のドキュメントを参照してください.
SwitchPersona関数で指定する場合,vendor,typeの項目を大文字・小文字の区別有りで指定します.
各キャラクターに関するシステム設定項目(設定ダイアログから設定する項目)を記録する目的で用いられるプロパティファイル.キャラクターディレクトリ内に配置されます.psnファイルのpersona-common-keyで暗号化されます.\Vendor\(ベンダーコード)\(キャラクター型番)\SysConfigおよび\Securityにインポートされます.
各キャラクターで綾織処理系からGet/PutProperty関数で操作するプロパティが記録されるファイル.キャラクターディレクトリ内に配置されます.psnファイルのpersona-common-keyで暗号化されます.\Vendor\(ベンダーコード)\(キャラクター型番)\以下にインポートされます.
キャラクターのネットワーク更新を行う際に,最初に参照されるファイルであり,このファイルによって更新するファイル/更新しないファイルを決定します.index.fetには,キャラクターで使用するファイル名とそのタイムスタンプの一覧が記述され,更新時にはローカルディスク内のindextmp.fetと,サーバ上のindex.fetが比較されます.それにより,更新すべきファイルのみをダウンロードします.
index.fetは,findf.exeで作成可能です.詳細は,findf.exe添付のドキュメントを参照してください.
なお,ファイル中に,
#Reference www.personaware.gr.jp/~haruna/
と記述する事で,"一回だけ"他のURLのindex.fetを参照し,その飛んだ先で通常通りの処理を行います.サイト移転などの際に,一時的に使用することを推奨します.
キャラクターデータディレクトリ(.\LF-HPX-01\dat等)の下にlocalという名前のディレクトリを作成した場合,そのディレクトリ以下は,更新によるファイル作成/削除に影響されません.逆に,更新機能において,local(大文字・小文字の区別はない)という名前のディレクトリの配信が指定されても,無視されます.ファイルアクセス関数でローカルにデータを保存する事を想定しています.
拡張子はEXecutable Ayaの略です.コンパイル後の綾織ファイルです.
画像データ本体に,領域情報(インデックス名,マウスカーソル指定)を同梱した画像データフォーマットです.専用のエディタを使い,hp2ファイル自体に情報を書き込みます.また,hp3ファイルはフルカラー画像とαチャンネルのサポートがされています.キャラリナは旧形式である.hpg形式も同様に扱うことができます.
複数のhp2ファイルを用いたアニメーションを記述するファイルです.→詳細
hp2画像ファイルに指定したマウスカーソル情報により,その領域に重なったマウスカーソルは自動的に指定されたマウスカーソルファイルの形状に切り替わります.マウスカーソルファイルには,通常のカーソルファイル(.cur)と,アニメーションカーソル(.ani)の2種類を使用できます.
起動時に読み込むEXAファイルを指定するファイルです.従来のpersona.exe Ver.1.00は存在するEXAファイルをすべて読み込んでいましたが,このファイルを用いることで,必要なEXAファイルだけを読み込むことが出来ます.→詳細
.html,.gif,.mid,.bmpなど,キャラクターが利用するデータファイルとして,通常の更新操作によって配信できます.
複数のEXAファイルをファイルの一集合として定義したものを,EXAファイルパッケージ(以下パッケージ)と呼びます.パッケージを用いることで,キャラクター起動時に読み込むEXAファイルを明示的に指定できます.Ver1.50未満のChararina(キャラリナ)は存在するEXAファイルをすべて読み込んでいましたが,パッケージを用いることで,必要なEXAファイルだけを読み込むことが出来ます.これによって,起動時間の短縮やメモリ使用量の低減が可能になります.
パッケージは任意の名前を持ちます.キャラクター起動時に,読み込むパッケージをその名前で指定します.それぞれのパッケージは一つ以上のEXAファイルを持ちます.一つのEXAファイルを複数のパッケージに持たせることも出来ます.
EXAファイルパッケージは設定ファイルによって定義されます.設定ファイル名はexapack.lstです.この設定ファイルは各キャラクターのdatフォルダに置きます.
+-persona.exe | +-LF\ | +-HPX-01\ | +-dat\ | +-exapack.lst
設定ファイルはパッケージ名とそのパッケージに属するexaファイル名から構成されます.
パッケージの名前を大括弧([])で括って記述します.必ず行頭から記述してください.パッケージ名にはアルファベットの大文字小文字および数字,記号(_)が使用できます.このパッケージ名の定義位置がパッケージ定義の開始点となります.
[SPECIAL]
パッケージ名を定義した行からつぎの行にパッケージに含めるEXAファイルを1行につき1ファイルずつ記述します.必ず行頭から詰めて記述してください.datフォルダにあるサブフォルダのEXAファイルも指定できます.その場合はdatフォルダからの相対パス形式で記述してください.ただし,'.'や'..'による相対指定はできません.空行は無視されます.
[SPECIAL] main.exa special\special.exa
次のパッケージ名の定義,またはファイルの終端がパッケージ定義の終了点となります.下記の例では,NORMALパッケージ名の定義の前の行でSPECIALパッケージの定義が終了します.
[SPECIAL] <---この行から main.exe special\special.exa <---この行までがSPECIALパッケージ [NORMAL]
システム起動時,システムからのキャラクター切り替え時,綾織からキャラクター切り替え関数(SwitchPersona)呼出時に使用するパッケージをデフォルトパッケージと呼びます.
システムは設定ファイルの先頭から最初のパッケージ名を定義するまでの間を自動的にデフォルトパッケージとみなします.下記に例を示します.
default1.exa <---この行から default2.exa <---この行までがデフォルトパッケージ [SPECIAL] <---この行からファイルの末尾まではSPECIALパッケージ special.exa
また,他のパッケージと同様に,明示的にパッケージ名を指定してデフォルトパッケージを定義することもできます.その際のパッケージ名はDEFAULTです.明示的にデフォルトパッケージを指定すれば,任意の場所にデフォルトパッケージを定義できます.
[SPECIAL] <---この行から special.exa <---この行まではSPECIALパッケージ [DEFAULT] <---この行から default1.exa default2.exa <---この行までがデフォルトパッケージ [NORMAL] <---この行からファイルの末尾まではNORMALパッケージ normal.exa
同名のパッケージが二回以上定義されていた場合は,ファイルの先頭に最も近い定義を有効とし,それ以降の定義は無視します.次の例ではdefault1.exa,default2.exaをデフォルトパッケージとします.
[SPECIAL] <---この行から special.exa <---この行まではSPECIALパッケージ [DEFAULT] <---この行から default1.exa default2.exa <---この行までデフォルトパッケージ(有効) [NORMAL] <---この行から normal.exa <---この行までがNORMALパッケージ [DEFAULT] <---この行から default3.exa default4.exa <---この行までがデフォルトパッケージ(無視される)
キャラクター(綾織)からパッケージを切り替えるにはSwitchPackage関数を使用します.詳細は綾織関数リファレンスを参照してください.
下記の状況におけるシステムの振る舞いを説明します.
アニメーション定義ファイル(以下,hpsファイル)は,hpg,hp2,hp3ファイルを使ったアニメーションを定義するファイルです.
.hpsファイルはiniファイルに似た書式をとります.ファイル中にコメントを書く場合は,行頭に'(シングルクォーテーション)を記述してください.行の途中からコメントにすることはできません.
以下に各セクションの説明を行います.
基本の設定項目を設定する為のセクションです.以下のキーにより各種設定を行うことができます.
LoopInterval=100
LoopInterval=10000-20000
LoopInterval=0
繰り返す動作を記述します.ここで指定された処理はセクションの始めから逐一実行され,一通り実行が終了した後は[option]セクションのintervalキーで設定した間隔経過後,また始めから再実行していきます.このセクションは全て以下の形式で記述してください.各コマンド及び引数の前後に入力された半角スペースは全て無視されます.
[コマンド],[引数1], [引数2]..., [待ち時間]
引数は[コマンド]により異なりますのでそちらの説明を参照してください(コマンドについては後述).[待ち時間]には次のコマンドを実行するまでの待ち時間を[ms]単位で指定してください.
[loop]セクションで使用出来るコマンドの詳細は,次のとおりです.同名の綾織関数と同等の機能を有します.綾織関数との違いは,関数名の後の括弧がないこと,エフェクトに関する引数がないことです.
Merge, merge.hp2, 0, 200
merge.hp2ファイルを合成した後,200ms待機して次の処理へ移ります.(透過フラグ=0のため,merge.hp2ファイルの透明色は無視されます).
引数x,yの基準位置は,アニメーション開始前に表示されている画像の左上(0,0)です.
MergeXY, merge.hp2, 100, 200, 0, 200
基準位置から100ピクセル,下へ200ピクセルの位置にmerge.hp2ファイルを右へ合成した後,200ms待機して次の処理へ移ります.(透過フラグ=0のため,merge.hp2ファイルの透明色は無視されます).
この例は,200msの間隔を置いて,画像をeye1.hp2,eye2.hp2,eye3.hp2,eye2.hp2,eye1.hp2の順にアニメーションさせます.その後1000ms?3000msの間隔(実行時にランダムに決まります)を置いて,再びアニメーションを開始します.
[options] LoopInterval=1000-3000 ' ループ処理 [loop] Merge, eye1.hp2, 0, 200 Merge, eye2.hp2, 0, 200 Merge, eye3.hp2, 0, 200 Merge, eye2.hp2, 0, 200 Merge, eye1.hp2, 0, 200
[間隔]の指定はms(ミリセカンド)単位で指定することができますが,最小分解能は50msです.0を除くこれ以下の指定を行っても実際には50msの待ち時間が発生します.(0を指定した場合は即時次の処理を実行します)
キャラクターユーザインターフェース定義ファイルは,キャラクターのアイコン,右クリック時のメニュー,"キャラクターについて"のダイアログ等をカスタマイズする為のファイルです.
ファイル名は必ずui.iniというファイル名にし,キャラクターのdatフォルダ直下に配置します.
(キャラリナをインストールしたフォルダ)\TEST\APX-01\dat
上記フォルダにui.iniファイルを置いてください.
ui.iniファイルはiniファイルに似た書式をとり,複数の"セクション"と"キー名"とその値から構成されます.ファイル中にコメントを書く場合は,行頭に;(セミコロン)を記述してください.行の途中からコメントにすることはできません.
また,必ずしも全てのセクション,キー名の設定を行う必要はありません.設定されていない項目に対しては標準の設定が適用されます.
以下に各セクションの説明を行います.
キャラクターを右クリックした際に表示されるメニュー項目の項目名の変更,及び各項目の表示/非表示状態の設定を行います.
アクセラレータキーを設定したい場合は"&A"(Aキーをアクセラレータキーにしたい場合)のように"&"(アンド)とアルファベットを組み合わせた文字を記述してください.
AboutAbout=タイヤネコについて(&T)
以下の例のように(項目名)+Visibleというキー名でその項目の表示/非表示の設定が行えます.0で非表示状態,1または設定の省略を行った場合はその項目は表示されます.
AboutAboutVisible=0
各キー名と設定内容の一覧を列挙します.
キャラクターの右クリックメニューの背景及びフォント色の変更を行います.ファイル名を指定する必要があるキーに関してはdat以下のファイル名を相対パス指定してください.
BackgroundBMP=back.hp3
BackgroundBMP=test\back.hp3
各キー名と設定内容の一覧を列挙します.
BackgroundColor=FF0000
タスクバーやタスクトレイに表示されるアイコンの設定を行います.ファイル名を指定する必要があるキーに関してはdat以下のファイル名を相対パス指定してください.
タスクトレイに表示する通常時のアイコンの設定を行います.OSの制約によりWindows95, 98, NT4, 2000においてはタスクトレイには16色のアイコンしか表示できないため,基本的に16x16の16色アイコンがひとつだけ入っているアイコンファイルを用意してください.
OSがWindowsME, WindowsXPの場合は256色のアイコンが使用できますのでその際は"TrayIcon2"キーに256色アイコンが入ったファイルを指定してください.
この項目の指定が無かった場合はNormalIconを縮小したものが使用されます.
タスクトレイに表示する通常時のアイコンの設定を行います.WindowME,WindowsXPからはタスクトレイに256色のアイコンが使用できる為,それらの対象OSにおいて256色のアイコンを使用したい場合はこの項目を設定してください.アイコンの形式は16x16の256色アイコンをがひとつだけ入ったアイコンファイルを指定してください.
指定が無かった場合はTrayIconの設定が適用されます.(TrayIconの指定が省略されていた場合は,MainIconを縮小したものが用いられます)
タスクトレイに表示するサインアウト時のアイコンを設定します."TrayIcon"キーの説明部分に記載した制約により,16色しか表示できない環境のために,基本的に16x16の16色アイコンがひとつだけ入っているアイコンファイルを指定してください.
256色のアイコンが使用できる環境の為の設定はSignOutTrayIcon2に指定してくだい.
この項目の指定が無かった場合はSignOutIconを自動縮小して使用します.
タスクトレイに表示するサインアウト時のアイコンを設定します.タスクトレイに256色のアイコンが使用できる環境において256色のアイコンを使用したい場合はこの項目を設定してください.アイコンの形式は16x16の256色アイコンをがひとつだけ入ったアイコンファイルを指定してください.
指定が無かった場合はSignOutTrayIconの設定が適用されます.(SignOutTrayIconの指定が省略されていた場合は,SignOutIconを縮小したものが用いられます)
右クリックメニューの"キャラクターについて"ダイアログの表示形式の設定を行います.
従来のキャラクターについてのダイアログを使用するか,新しいVisualModeを使用するかを指定します.VisualModeが0または省略で従来通りの表示形式,VisualModeが1の場合,通常のAboutBoxの外見を捨て,指定したビットマップをそのまま表示するモードに移行します.ビットマップとして指定できる形式はhp2またはhp3形式です.
VisualModeを1に設定すると,ダイアログが以下の形式変更されます.
Visual領域 | ボタン領域 |
テキスト領域 |
この形式の場合Visual領域にはVisualBMPキーで指定したビットマップが表示されます.また,テキスト領域にはキャラクタが指定したプロフィールが表示されます.ボタン領域には通常表示時のダイアログと同じ[OK]ボタン[システムについて]ボタンなどが表示されます.
以下に説明するキーは全てVisualModeに1が指定してある場合のみ有効です.
キャラデリデータ定義ファイルは,キャラデリで相手に送信するデータファイルを定義します.相手に送信する画像,exaファイル,音声ファイルなど,送信先におけるキャラクターの振る舞いに必要なものを全て定義します.
キャラデリで相手に送信するキャラクターに必要なデータファイルをを定義します.ファイル名は"データセット名.vst"です.定義ファイルの書式は次のとおりです.
VST V1.00 visit.exa normal.hp2 smile.hp2
1?2行目は定義ファイルを表す文字列です.すべてのキャラデリデータ定義ファイルに必要です.
3行目以降は送信するデータのファイル名です.一行につき一つファイル名を指定します.相対パス指定で指定します.相対パス指定の基準位置はキャラクターのdatフォルダです.サブフォルダのファイルも指定可能です.ただし親フォルダを参照することはできません.
キャラデリデータをもう一つ定義する場合は,新しいファイルをつくり定義します.定義ファイルの数に制限はありませんが,一度のキャラデリに指定できる定義ファイルは一つだけです.
定義ファイルを作成する上で,次のとこに特に注意してください.