真伊[PRO-SH3]マニュアル(2002/04/06版)
このソフトはザウルスの画面上に
キャラクターを表示させて、
色々な(
特に役に立たない )事を行わせる
いわゆるデスクトップマスコットです。
●動作環境
●インストール
●動作について
●各定義ファイルについて

   ・初期定義ファイルの設定
     パラメータの書式
     キャラクタ系パラメータ
     サブキャラクタ系パラメータ
     アイコン系パラメータ
     システム系パラメータ

   ・イベント定義ファイルの設定
     エントリの書式
     初期エントリ一覧

   ・スクリプト定義ファイルの設定
     エントリの書式
     タグ一覧
       書式系
       実行系
       フォント系
     メタ文字一覧
       基礎情報系
       特殊情報系
       AI系
     拡張メタ文字列

   ・単語定義ファイルの設定
     エントリの書式

●エントリ名について
●サーフィスにて使用する画像ファイルについて
●現状判明している不具合について
●著作権について
●配布条件もろもろ
●謝辞

●動作環境
SHARP パワーザウルス、ザウルスカラーポケット、
ザウルスアイクルーズ、コミニュケーションパル。
2001/08/28までに動作が確認された機種は、
MI-P1,MI-EX1,MI-E1 となっております。

●インストール
ザウルスで使用しているコンパクトフラッシュ等の
”__ZAURUS”ディレクトリに
”WHKE.ZAC”ファイルをそのままコピーしてください。

その後、MOREインデックス画面より
”MORE追加/削除”画面に移行し
”WHKE.ZAC”を選択後、
展開ボタンを押してください

転送ソフトの詳しい使用方法については、
各ソフトのマニュアル等を参照してください。

●動作について
真伊[PRO-SH3]は基本的に、特定の状況にて発生した
(一定時間が経った、キャラクターが表示されている部分に
タッチした等)イベントに対応したスクリプトを実行(表示)
する、という動作を行います。

また、各イベント用スクリプトやキャラクターの
画像ファイル名などが
テキストによる外部設定ファイルにて定義されています。

そのため、外部設定ファイルを変更することにより、
まったく異なった振る舞いをさせることが可能です。

なお、各設定ファイルの共通の書式として、
以下の事柄があります。

  ・エントリ名、スクリプト、単語は、
  アスキーコード0x1f以下の文字を区切り文字と
  していますので、必ず1行にて記述してください。

  ・設定ファイルの最後の行は
  "#DicEnd"
  の記述を必要とします。

●各定義ファイルについて
以下に各設定ファイルの説明をいたします。

=基本情報ファイル=
(デフォルトでは WHKEDINI.TXT )

shioriのシェル定義用ファイルに相当するファイルで、
キャラクターの名前、画像ファイル名、当り判定座標など
を設定します。

書式は以下の通りです。

[パラメータヘッダ]
パラメータ

(パラメータヘッダ一覧)
・キャラクター系
[MaiName] キャラクターの名前
[MaiName2] キャラクターのまちがった名前
[MaiX] キャラクター表示X座標
(QVGA横画面時)
[MaiY] キャラクター表示Y座標
(QVGA横画面時)
[MaiVX] キャラクター表示X座標
(QVGA縦画面時)
[MaiVY] キャラクター表示X座標
(QVGA縦画面時)
[MaiMsgBMP] キャラクターメッセージバルーン
BMPファイル名
[MaiMsgX] キャラクターメッセージバルーン
表示相対X座標(QVGA横画面時)
省略時は
(メッセージバルーンBMPのXサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[MaiMsgY] キャラクターメッセージバルーン
表示相対Y座標(QVGA横画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

[MaiMsgVX] キャラクターメッセージバルーン
表示相対X座標(QVGA縦画面時)
省略時は
(メッセージバルーンBMPのXサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[MaiMsgVY] キャラクターメッセージバルーン
表示相対Y座標(QVGA縦画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

[MaiMsgXsize] キャラクターメッセージ表示X範囲
省略時は
メッセージバルーンBMPのXサイズ−16
[MaiMsgYsize] キャラクターメッセージ表示Y範囲
省略時は
メッセージバルーンBMPのYサイズ−16
[MaiMsgZeroX] メッセージの表示位置をキャラクター
メッセージバルーンの左端より
何ドット右にずらすか(省略時は8ドット)
[MaiMsgZeroY] メッセージの表示位置をキャラクター
メッセージバルーンの上端より
何ドット下にずらすか(省略時は8ドット)
[MaiVGAX] キャラクター表示X座標(VGA画面時)
[MaiVGAY] キャラクター表示Y座標(VGA画面時)
[MaiVGAMsgBMP] キャラクターメッセージバルーン
BMPファイル名(VGA画面時)
[MaiVGAMsgX] キャラクターメッセージバルーン
表示相対X座標(VGA画面時)
(メッセージバルーンBMPのXサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[MaiVGAMsgY] キャラクターメッセージバルーン
表示相対Y座標(VGA画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
キャラクターの左上(0,0)より、
キャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

・サブキャラクター系
[aroeName] サブキャラクターの名前
[AroeX] サブキャラクター表示X座標
(QVGA横画面時)
[AroeY] サブキャラクター表示Y座標
(QVGA横画面時)
[AroeVX] サブキャラクター表示X座標
(QVGA縦画面時)
[AroeVY] サブキャラクター表示X座標
(QVGA縦画面時)
[AroeMsgBMP] サブキャラクターメッセージバルーン
BMPファイル名
[AroeMsgX] サブキャラクターメッセージバルーン
表示相対X座標(QVGA横画面時)
省略時は
(メッセージバルーンBMPのXサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[AroeMsgY] サブキャラクターメッセージバルーン
表示相対Y座標(QVGA横画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

[AroeMsgVX] サブキャラクターメッセージバルーン
表示相対X座標(QVGA縦画面時)
省略時は
(メッセージバルーンBMPのXサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[AroeMsgVY] サブキャラクターメッセージバルーン
表示相対Y座標(QVGA縦画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

[AroeMsgXsize] サブキャラクターメッセージ表示X範囲
省略時は
メッセージバルーンBMPのXサイズ−16
[MaiMsgYsize] サブキャラクターメッセージ表示Y範囲
省略時は
メッセージバルーンBMPのYサイズ−16
[AroeMsgZeroX] メッセージの表示位置をサブキャラクター
メッセージバルーンの左端より
何ドット右にずらすか(省略時は8ドット)
[AroeMsgZeroY] メッセージの表示位置をサブキャラクター
メッセージバルーンの上端より
何ドット下にずらすか(省略時は8ドット)
[AroeVGAX] サブキャラクター表示X座標(VGA画面時)
[AroeVGAY] サブキャラクター表示Y座標(VGA画面時)
[AroeVGAMsgBMP] サブキャラクターメッセージバルーン
BMPファイル名(VGA画面時)
[AroeVGAMsgX] サブキャラクターメッセージバルーン
表示相対X座標(VGA画面時)
(メッセージバルーンBMPのXサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は左に移動。

[AroeVGAMsgY] サブキャラクターメッセージバルーン
表示相対Y座標(VGA画面時)
省略時は
(メッセージバルーンBMPのYサイズ)*-1
サブキャラクターの左上(0,0)より、
サブキャラクターメッセージバルーン(0,0)が
何ドット離れているかを指定。
マイナス値は上に移動。

・アイコン系
[IconX] アイコン表示X座標(QVGA横画面時)
[IconY] アイコン表示Y座標(QVGA横画面時)
[IconVX] アイコン表示X座標(QVGA縦画面時)
[IconVY] アイコン表示Y座標(QVGA縦画面時)
[IconVGAX] アイコン表示X座標(VGA画面時)
[IconVGAY] アイコン表示Y座標(VGA画面時)
[IconBMP1] アイコンBMPファイル名1
[IconBMP2] アイコンBMPファイル名2
(現状では使用していません)
[AutoIcon] 0=非アクティブ時にアイコン化する
1=非アクティブ時にアイコン化しない
(省略時は1)

・システム系
[UserName] ユーザーの名前
(省略時は"ユーザーさん")
[SreepTime] 実行状態から待機状態へ
なるまでの時間を、1/10秒単位で
指定する。(省略時は240)
アクティブ状態ならば
非アクティブ状態に遷移。
非アクティブ状態ならば
メッセージバルーンの消去。
[WalkupTime] 待機状態から実行状態へ
なるまでの時間を、1/10秒単位で
指定する。(省略時は200)
非アクティブ状態ならば
"OnWalkUp"イベントの発生。
[FontColor] 基本のフォントカラーを
R,G,B の形式で指定する。
RGBはそれぞれ0〜255の正の整数
\e、\f[reset]タグにてフォントカラーが
ここで指定した色になります。
(省略時は0,0,0)
[surface*] キャラクターもしくは
サブキャラクターの表示データを
設定する。"*"は任意の文字列。

書式は以下の通りです。

BMPファイル名
イベントサブ名1,当り判定X始点,当り判定Y始点,当り判定X終点,当り判定Y終点
イベントサブ名2,当り判定X始点,当り判定Y始点,当り判定X終点,当り判定Y終点

(以下、イベントサブ名8まで
設定可能、
またすべてのイベントサブ名は
省略可能)

イベントサブ名は、
対応する当り判定座標クリック時に
クリック先がキャラクターの時は
「SakuraClickイベントサブ名」イベントが、
クリック先がサブキャラクターの時は
「KeroClickイベントサブ名」イベントが
発生します。

[surface0]はキャラクターデフォルト
サーフィスとして、
[surface10]はサブキャラクター
デフォルトサーフィスとして
必須となります。


また、以下のパラメータヘッダは
パラメータヘッダ+機種名 と記述することにより
特定機種の場合の値を設定することが可能です。

[WalkupTime]
[SreepTime]
[IconX]
[IconY]
[IconVX]
[IconVY]
[IconVGAX]
[IconVGAY]

記述できる機種名は以下の通りです。

10
500
100
600
310
PAL
P1
EX1
TR1
PA2
C1
P10
185
L10
P3
J1
E1
L1
E1
E21
E25

例1
[IconVXE21]
146
[IconVYE21]
16
[IconVX]
160
[IconVY]
220

このように記述してあると、
アイコン化した場合に縦画面での表示位置が
MI−E21では
[IconVXE21],[IconVYE21] にて設定した(146,16)になり、
その他の機種では
[IconVX],[IconVY] にて設定した(160,220)になります。

=イベント定義ファイル=
(デフォルトでは WHKEEVEN.TXT )

真伊[PRO-SH3]内で発生したイベントと実行する
スクリプトを設定します。
各イベントは省略可能です。

書式は以下の通りです。

#エントリ名
スクリプト

(エントリ一覧)
OnBoot 真伊[PRO-SH3]がEXEC状態に
なった時に発生。
(FromSetUpにて発生)
OnWalkUp 待機状態から実行状態なった時に発生。
OnWindowStateRestore 非アクティブ→アクティブに
なった時に発生。
OnSakuraClickイベント
サブ名
キャラクターの表示範囲を
クリックした時に[surface]で
指定した領域だった時発生。
OnSakuraClick キャラクターの表示範囲を
クリックした時に[surface]で
指定した領域以外だった時
発生。
OnKeroClickイベント
サブ名
サブキャラクターの表示範囲を
クリックした時に[surface]で
指定した領域だった時発生。
OnKeroClick サブキャラクターの表示範囲を
クリックした時に[surface]で
指定した領域以外だった時
発生。
OnClose 真伊[PRO-SH3]がOUT状態に
移行する時に発生。
(FromEndにて発生)
ErrNonEntry スクリプトエラーイベント

=スクリプト定義ファイル=
(デフォルトでは WHKESDIC.TXT )

真伊[PRO-SH3]内で使用するスクリプトを設定します。

書式は以下の通りです。

#エントリ名
スクリプト1
スクリプト2
  :

スクリプトは基本的に台詞そのものを記述します。
また台詞内に以下のタグを使用することができます。

(タグ一覧)
・書式系
\0 以降、スコープをキャラクタに。
\1 以降、スコープをサブキャラクタに。
\s[id] 現スコープのサーフィスを id に
切り替え。
\n 改行
\w? ウエイト。[?]*1/10秒待つ。
?は1〜9の数字。
\j[id] ジャンプ。
idで表すエントリを
イベント定義ファイルと
スクリプト定義ファイルより
検索し、
存在した時はidで表すエントリに
書かれているスクリプトを実行。
存在しない時は"ErrNonEntry"
エントリに書かれている
スクリプトを実行する。
\c 現スコープのメッセージバルーン
をクリア。カーソルを(0,0)に
リセットする。
\x 表示一時停止。クリックにて進む。
\t タイムクリティカルセッション
に入る。
タイムクリティカルセッション
中は、
"OnBoot","OnClose",
"OnWindowStateRestore"
以外のイベントは拒否される。
\eにて終了。
\_l[x,y] 現スコープのカーソル位置の
絶対指定。カーソル位置が (x,y)
に移動する。
\e スクリプト終わり。
通常業務に戻る。

・実行系
\_e 現スコープのメッセージ
バルーンを即座に消す。
\=i 以後、非アクティブになった時に
基本情報ファイルの[IconBMP1]にて
指定されたBMPファイルを表示し、
一定時間での任意しゃべりは行わない
アイコンモードとなります。
\=s 以後、非アクティブになった時に
キャラクター、サブキャラクター共に
メッセージバルーンを表示せず、
一定時間での任意しゃべりは行わない
サイレントモードとなります。
\=t 以後、非アクティブになった時に
一定時間での任意しゃべりを行う
トークモードとなります。

・フォント系
\f[color,R,G,B] 以後、表示される文字は
R,G,Bにて表わす色にて
表示される。
R、G、Bはそれぞれ0〜255の
正の整数。
\e、\f[reset]にて
基本フォントカラーに戻る。
\f[effect,impact] 以後、表示される文字は太字
にて表示される。
\e、\f[reset],
にて基本フォントに戻る。
\f[reset] \f[color,R,G,B]、
\f[effect,inpact]
にて指定された効果を
初期値に戻す。

%で始まる文字列はメタ文字列です。
表示時に適切な文字列に置換されます。

(メタ文字列一覧)
・基礎情報系
%year 現在年
%month 現在月
%day 現在日
%hour 現在時
%minute 現在分
%second 現在秒
%username ユーザの呼び名
%selfname キャラクターの名前(正)
%selfname2 キャラクターの名前(誤)
%keroname サブキャラクターの名前

・特殊情報系
%zauname 真伊[PRO-SH3]が
実行されているザウルスの
機種名(全角)
%f0size 本体ディスク(F0:)の
全ディスク容量
%f0free 本体ディスク(F0:)の
空きディスク容量
%c1size カードディスク(C1:)の
全ディスク容量
%c1free カードディスク(C1:)の
空きディスク容量
%c2size カードディスク(C2:)の
全ディスク容量
(C2:が存在しない時は0)
%c2free カードディスク(C2:)の
空きディスク容量
(C2:が存在しない時は0)

・AI系
%ms 名詞 - 人
%mz 名詞 - 無機物
%ml 名詞 - 集合
%mc 名詞 - 社名
%mh 名詞 - 店名
%mt 名詞 - 技
%me 名詞 - 食物
%mp 名詞 - 地名

・拡張メタ文字列について
@(id)は拡張メタ文字列です。
表示時に以下のように置換されます。

idで表すエントリを
イベント定義ファイル、スクリプト定義ファイル、
単語定義ファイルの順に検索を行い、
エントリが存在する時"@(id)"をそのスクリプトにて置換し
エントリが存在しない時は"@(id)"を"id"に置換します。

例1
#gaoou
  @(吼える)

このように記述することで、
「gaoou」エントリは「吼える」という文字列を返します。

例2
#gaoou
  @(吼える)
#吼える
  がう。

このように記述することで、
「gaoou」エントリは「がう。」という文字列を返します。

例3
#aisatu
  おっはよー。
  @(あいさつ)
#あいさつ
  こんちは。

このように記述することで、
「aisatu」エントリは
「おっはよー。」もしくは「こんちは。」という文字列を
返します。

例4
#talk
  @(eZau)あのさー@(エルエル)なーに?
#eZau
  \0
#エルエル
  \1

このように記述することで、
「talk」エントリは
まずスコープをキャラクターにして「あのさー」という
文字列を返し、
次にスコープをサブキャラクターにして「なーに?」という
文字列を返します。

=単語定義ファイル=
(デフォルトでは WHKEWDIC.TXT )

真伊[PRO-SH3]内で使用する単語を設定します。

書式は以下の通りです。

#エントリ名
スクリプト1
スクリプト2
  :

スクリプトには、
文字列、タグ、メタ文字列、拡張メタ文字列の
いずれも使用可能です。
また、メタ文字として使用するために、
以下のエントリは必須とします。

"ms","mz","ml","mc","mh","mt","me","mp"

●エントリ名について
#エントリ名は、
次の「#エントリ名」までを一つのグループとして扱い、
グループ内のスクリプトをランダムに実行します。

例1
#gau
  がう

このように記述することで、
「#gau」エントリは「がう」という文字列を返します。

例2
#gau1
  がう
  がうぅ…

このように記述することで、
「#gau1」エントリは「がう」もしくは「がうぅ…」という
文字列をそれぞれ1/2の確率で返します。

またエントリ名は、
アスキーコード0x1f以下の文字を区切り文字と
していますので、
必ず「#エントリ名」にて1行としてください。

●サーフィスにて使用する画像ファイルについて
現在、真伊[PRO-SH3]にて使用できる
画像ファイルの形式はBMP形式のみです。

BMPファイルは1ビット、4ビット、8ビット、16ビット、
24ビットのいずれも読込可能ですが、
24ビットBMPファイルは16ビットカラーに減色されます。

いずれの場合も左上(0,0)の色をマスクカラーとして
描画しません。(透明となります)

●現状判明している不具合について
・動作用メモリを大量に使用するMOREソフトと
同時に起動すると、リセット要求が起こる場合がある。

・背景をうまく取得できない事がある。
(E1以前の機種ではかなり目立つと思われますが、
非アクティブ状態での全画面再描画の方法が
不明のため、対応できておりません)

●著作権について
著作権はすべて山之内案山子 HFD00267@nifty.ne.jpが
所有しています。

●配布条件もろもろ
・真伊[PRO-SH3]はフリーウェアです。
・真伊[PRO-SH3]の使用に起因する
 いかなる事態も責任を負いかねます。
 バージョンアップ、バグ対応などに
 対する責任も負わないものとします。
・このプログラムを頒布、または他のホームページ、
 BBS等へ転載されるときは 、
 以下のことを遵守してください。

1)このプログラムを頒布するに当って
 金銭の授受があってはなりません。
 但し、ディスケット代などの実費については
 この限りではありません。
2)転載する際には、事後で結構ですから
 著作者にその旨連絡を下さるようお願いします。
 雑誌、書籍等での配布も許可は必要ありませんが、
 収録することをご一報いただけますと幸いです。
3)WHKE.LZHとWHKE.ZACアーカイブに
 含まれている内容の内、
 "WHKEDINIT.TXT" "WHKEEVEN.TXT"
 "WHKESDIC.TXT" "WHKEWDIC.TXT"
 以外の改変配布は一切認めません。

・なお、作者である
 山之内案山子HFD00267@nifty.ne.jpは
 以上の条件に縛られません。

●謝辞
「何か」作者の閑馬永空様 はじめ、
「何か」を盛り上げている皆様。

「何か」って面白そうだな。という事から
「真伊[PRO-SH3]」を作ることができました。
また、皆様の大量のドキュメントに
助けていただきました。

本当にありがとうございます。


仕事人様。

海のものとも山のものとも判らない、
掲示板の書込みに真摯に答えていただきまして、
また、唐突な公開希望にも快諾をいただきまして、
本当にありがとうございます。


またいつもの様に、色々なたちに助けていただきました。

特に、
youcanさん、Keiさん、わにさん、へるつさん、
鈴道文理さん、橘さん、冬本くららさん、加減正負朗さん、
CommAさん、ayuさん、Marさん、Chaさん(順不同)

本当にありがとうございました。


ともかく、真伊[PRO-SH3]。
お気に召していただければ幸いです。

   山之内案山子
     E-Mail:lips_mail@anet.ne.jp
  http://www.geocities.co.jp/siliconValley/7518/