----------------------------------------------------------------
			* French-KISS! *
----------------------------------------------------------------
* About

この fkiss - French-KISS! は，X Window Systemで動作する
KISekae Set system (KISS)です．
KISSというのはコンピュータで着せ替えごっこをして楽しもう！
というソフトウェアです．

----------------------------------------------------------------
* Install

まず，Makefileを作ります．
 % ./configure

そうしたら，実行形式のバイナリを作ります．
 % make

問題なければ，"fkiss"という実行形式のバイナリができると思います．

できたら，そのバイナリを /usr/local/bin などにインストールしましょう．
こんな感じです．
 # mv fkiss /usr/local/bin
 or
 # make install

"fkiss.man"というのがマニュアルのソースファイルです．
このファイルをマニュアルディレクトリにコピーしてください．
こんなふうに，
 # cp fkiss.man /usr/local/man/man1/fkiss.1
 or
 # make install.man

rcファイルをホームディレクトリにコピーしてください．
 % cp fkissrc.smp ~/.fkissrc


とまあ，これでインストールは終りです．

----------------------------------------------------------------
* Trouble in make

もしfkissがmakeできないとか，なんか変更してうまくいった時は，
ぜひとも以下のことを教えてください
  French-KISS! version
  Hardware and Operating system    
  Error messages
  (Your changes)

----------------
configureでエラーがでる！

"configure"はGNUのautoconfによって生成されたシェルスクリプトです．
もし"/bin/sh configure"でエラーするようなら，
/bin/sh が Bourne shell であるか確認してください．
(信じがたいことですが)もし Bourne shell が使用できない場合には，
bash - GNU Bourne-Again SHell を使用してください．
例えば，"configure"の1行目
>#! /bin/sh
を，このように変更します．
>#! /usr/local/bin/bash

----------------
困った！opendirライブラリなんてないぞ！
>dir.o: Undefined symbol _opendir referenced from text segment
>dir.o: Undefined symbol _readdir referenced from text segment
>dir.o: Undefined symbol _closedir referenced from text segment

"headers.h"の次の行を
>/* directory access routine */
このように変更してみてください．
>/* directory access routine */
>#define USE_BSD_DIRLIB 0

----------------
message.cでコンパイルエラーがでる！

MakefileのCFLAGSに "-DUSE_VARARGS"か"-DUSE_STDARG"を追加して，
もう一度コンパイルしてみる．

----------------
それ以外のトラブル！

最初からついてくるmake, cc, sed, awkなどの代りに，
GNU製のツールを使ってみると，
うまくいくかもしれません．
互換性と性能の見地から，GNU製のツールの使用をおすすめします．

----------------------------------------------------------------
* Startup

まず，KISSのデータをWWWサイトやFTPサイトから入手してください．

The Big KiSS page - http://otakuworld.com/kiss/

私のWebサイト「橘心女学院」にもKISSデータをちょっと置いてありますし，
KISSデータを置いてあるサイトへのリンク集があります．
一度覗いてみてください．

橘心女学院 - http://www2s.biglobe.ne.jp/~yav/

"KISSは初めて"という方のために，"frkismi4.lzh"というサンプルを
同封しておきましたのでご覧ください．
このデータでは，サウンドやアニメの拡張の実験をしてますが，
これらはKISSの標準ではありません．
なお，サウンドファイルは同封していません．

多くのKISSデータはLHaのアーカイブで配布されています．
LHaをインストールして，アーカイブを展開すると，
次のようなファイルができるはずです．
	many "*.cel" (pixel)
	some "*.kcf" (color)
	some "*.cnf" (configuration)
これらのファイルが展開されたら，
 % fkiss
とやって着せ替えをお楽しみください．

引数がなければ，fkissはカレントディレクトリの"*.cnf"を読み込みます．

もっと簡単な使いかたは，
 % fkiss frkismi4.lzh
などと起動すると /tmp/fkiss(プロセスID) というディレクトリを作って，
そこにファイルを展開するように内部でLHaを起動します．
で，そこの"*.cnf"を読み込みます．

コマンドラインオプションの解説はマニュアルにちょっと書いときました．
 % man fkiss
とやって読んでください．

----------------------------------------------------------------
* Core dump!

もし，fkissがコアダンプやX errorで終了したら，
以下のことを教えてください．
  Hardware and Operating system    
  Error messages
それと，fkissのデバッグ情報の出力です．
デバッグ情報を"fkisslog"というファイルにセーブするには，次のようにします．
 $ fkiss -debug bugkiss.lzh 2> fkisslog
  or
 % fkiss -debug bugkiss.lzh >& fkisslog

----------------------------------------------------------------
* Sound

fkissは音声再生のために /dev/audioというデバイスがないかをチェックします．
/dev/audio が存在したら，オープンしてスタートアップサウンドを出力します．
この動作は，netaudioなどのシステムに悪さする可能性があります．
問題があるようでしたら，-nosound オプションつきで fkissを起動してください．

LinuxやFreeBSDでは，/dev/audioのかわりに /dev/dspを使用し，
ioctlを使ってサンプリングレート等を設定します．詳しくは sound.cを見てね．

ちゃんとした再生ツールがあれば，"-sound 2" オプションを試してみましょう．
"-sound 2"が指定されたら，fkissは "play サウンドファイル"という
コマンドを実行して音声再生します．うまくやってください．

Version 0.32からEsounDの使用できるシステムでは，
EsounDを使って音声再生を行うようになりました．

----------------------------------------------------------------
* Conform

fkissは KISS/GS2 (KISS General Specification 2) に準拠しています．
また，まだ草案ですが KISS/GS3, 4 にも準拠しています．

画面の大きさの制限
	整数の最大値．

オブジェクト数の制限
	"fkiss.h"で定義してる MAXOBJという値．(短整数の最大値以下)

セル数の制限
	"fkiss.h"で定義してる MAXCELという値．(短整数の最大値以下)

----------------------------------------------------------------
* Reference

kissgs.doc - KISS/GS (KISS General Specification) Manual
KISSの標準に関する文書です．英語と日本語で書いてあります．

----------------------------------------------------------------
* fkiss Extensions

サンプルの"frkismi4.lzh"で(音声,アニメ等)いくつか拡張機能を使っています．
この拡張機能はまだ技術的な問題を検証するためだけのものです．
現在私達は次のようなことを検討しています．
  ユーザーはどんな機能を欲しがっているか？
  スマートで使い易くて簡単な記述形式とは？
これらの問題が解決されれば，正式に次期KISSが定義されるでしょう．
しかし，その機能や記述形式は今のものとは異ったものになるはずです．

----------------------------------------------------------------
* Magic

下記の行を /etc/magic に追加するとKISSのファイルを識別できます．

--------8<--------8<--------8<--------
0	string		KiSS		KISS/GS
>4	byte		16		color
>>5	byte		x		%d bit
>>8	leshort		x		%d colors
>>10	leshort		x		%d groups
>4	byte		32		cell
>>5	byte		x		%d bit
>>8	leshort		x		%d x
>>10	leshort		x		%d
>>12	leshort		x		+%d
>>14	leshort		x		+%d
--------8<--------8<--------8<--------

----------------------------------------------------------------
* Changes

v0.31 -> v0.32 (Onpu)
Makefile.inを作るのにautomakeを使うようにした．
EsounDで音を鳴らすようにした．
Control-Button1 セル表示変更のバグを修正．

v0.30 -> v0.31
フルカラーセルの有効範囲の計算のbugを修正．
cnfやdocの選択メニューをButtonReleaseをトリガにした．
timerのチャンネル数の制限をなくした．
kcfで指定する色数の制限をなくした．

v0.29 -> v0.30
FKiSS2.1の機能を実装した．
MAXPATHを参照しないようにした．
dir_lsを再帰にした．
lha xfiqw -> lha xfqw (ディレクトリ付き展開)
colcntが0のときは，spx[SPX_BG]を背景ピクセルとして使用するようにした．
オブジェクトの座標補正を全セットの位置で補正するようにした．
%x (xは任意のアルファベット) で始まるトークンはコメントとして扱わない．
selcnf.c:
 sys/stat.h -> stat.h
sub.c:
 stlen -> strlen
 dos_filename2
sound.c:
 sound file binary mode fopen

v0.28 -> v0.29
Dirk Schenkewitz さんから固定値のオーバーフローのバグ修正と
MAXTIMERなどの修正に関するパッチをもらってたのでそれを採用した．
Someone teach me to open sound_device O_NONBLOCK on Linux.
フルカラーのセルデータに対応．
gen_arcommandのセキュリティーホールを潰した．

v0.27 -> v0.28
シグナルを受けとるとテンポラリファイルを消して終了するようにした．
WM_DELETE_WINDOWを受けとると終了するようにした．
unameライブラリ関数を使用するようにした．
オブジェクト位置の自動補正機能の追加．

v0.26 -> v0.27
-noimage モードでコアダンプするバグを修正．
ドキュメントファイルのサフィックスの追加と削除のオプションを追加．
kisseve.c: TOKEN_LEN_MAX を削除，
fkissイベント拡張機能のトークンの長さの制限がなくなった．
コメント文字列中で環境変数を展開するようにした．
バックスラッシュでエスケープできる文字として'\$' - ドル記号を追加．
最初にセットイベントが発生するようにした．
"$HOME/.fkissrc" に書いたオプションを読み込むようにした．
RIFF-WAVE (*.wav) の解析のバグを修正．

v0.25 -> v0.26
ドキュメントファイルの閲覧機能の試作．
[Doc]メニューか'd'キーを押すとドキュメントファイルを閲覧．

v0.24 -> v0.25 (Ruri)
set変更の直後のドラッグが無視されるバグを修正．
SUNでの Type mismatch を修正．
Set 0 が存在しない場合 X errorが発生していたのを修正．
sound_playでエラーを報告するようにした．

v0.23 -> v0.24
Sound routine sync bug fix.
Cel comment display function is supported.
windowsize viewport function is supported.
Support mouse button function assign changing.
Fix the BUG that sets no information in cnf is not displayed.

v0.22 -> v0.23 (Ellis)
Sound cache bug fix.
Support pseudo transparency mode.

v0.21 -> v0.22 (Rei)
Optimize map change set.
WKISS bug emulation -wkiss option.
Optimize redraw area at change mapping.
Support RIFF-WAVE (*.wav) pcm file.

v0.20 -> v0.21 (Ayanami)
C-Button1 unmap bugfix
Support varargs.h style variable argument function.
Report visual class

v0.19 -> v0.20
Support randomtimer quit event extensions.
Use sound cache buffer.
Sample data frkismi1.lzh updated.

v0.18 -> v0.19
Change message.c to support for FreeBSD.

v0.16 -> v0.18
C-Button1 unmap function add.
Use autoconf to make configure script.

v0.16
First public release.
Sample data frkismi.lzh contained with.

----------------------------------------------------------------
* BUGS (or homeworks for you and me)

とかやるとメモリを食らいつくして落ちる
True-colorではないセルが256色を越えたらハングする

フルカラーのセルデータを含むKISSデータを表示するためには，
TrueColor もしくは DirectColor の X serverが必要です．

半透明はディザパターンを使って疑似的に処理されます．

Network Audio Systemには対応してません．

".Xdefaults"の設定は無視されます．

コメント文字列で使えるのは，$USER か ${USER} という形式の環境変数だけです．
${USER:-you}, ${USER:=}, ${USER:?}, ${USER:+} 等は不完全です．
例えば，${USER-$YOU} 等はちゃんと動作しません．

----------------------------------------------------------------
* Special thanks

MIO.H <mio.h@bigfoot.com> - KISS original author
DE-TE- <ueno@sds.abk.nec.co.jp> - xkiss author
Clis Hayasaka <yuki@is.s.u-tokyo.ac.jp> - Kiss FAQ author
Cocoa <cocoa@is.s.u-tokyo.ac.jp> - xkiss++ author
Jonathan Couper <couper@metdp2.met.co.nz> - XCheckTypedEvent technical advice
Ken "Mian" Stone <sasami@blaze.net.au> - kissgs.doc English advice
Hannu Savolainen <hsavolai@cs.helsinki.fi> - Linux Sound Driver ulaw.h
YASU. <LDS02540@niftyserve.or.jp> - yasukis1.lzh Lovery Yohko-san :-)
WACHIGAI - fkiss sample data frkismi.lzh Deform. Kismi-chan
Yohko Teppozuka - Lovely cute voice ;-)
Masaki Saeki <HZN83424@biglobe.ne.jp> - NEC EWS4800 bug report
yosinari yabuki/ATO <yabuki@sendai.advantest.co.jp> - SunOS 5.4 bug report
Minoru Iwamoto <iwamo@nims.nec.co.jp> - NEC EWS4800 bug report
Naoyuki Shinbo <j2292106@ed.kagu.sut.ac.jp> - SunOS 4.1.3 bug report
RERE <PXK07402@niftyserve.or.jp> - Solaris 2.4 bug report
Takahiro Suzuki <takahiro@plasma.q.t.u-tokyo.ac.jp> - Browse document function
EMK <VYV03354@niftyserve.or.jp> - no image mode paint_gc bug fix
Takashi Oe <toe@unlinfo.unl.edu> - no image mode paint_gc bug fix
Shuichi OONO <jr5pdx@debian.or.jp> - Temporary file cleaning
yochi@debian.or.jp - use uname library
Dirk Schenkewitz - MAXTIMER, MAXEVENT patch (TELL ME E-MAIL ADDRESS!)
? - Sound device O_NONBLOCK open (TELL ME NAME AND E-MAIL ADDRESS!)
Eric Armstrong <eric_peter_armstrong@yahoo.com> - Illegal cnf bug fix

----------------------------------------------------------------
* Copying

fkissは，public domain softwearです．

私のオリジナルの配布を妨げなければ，
誰でもタダで，このソフトウェアを使用，複製，改良，配布，販売
することができます．

アドバイス，質問，バグレポートなどありましたら，
お気軽にメールください．


yav             E-mail  yav@bigfoot.com
                WWW     http://www2s.biglobe.ne.jp/~yav/

