---------------------------------------------------------------- * 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.32 -> v0.33 (Haruka) GPL -midiplayer 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) 次のようなことをやるとメモリを食らいつくして落ちる. % fkiss / フルカラーのセルデータを含むKISSデータを表示するためには, TrueColor もしくは DirectColor の X serverが必要です. 半透明はディザパターンを使って疑似的に処理されます. Network Audio Systemには対応してません. ".Xdefaults"の設定は無視されます. コメント文字列で使えるのは,$USER か ${USER} という形式の環境変数だけです. ${USER:-you}, ${USER:=}, ${USER:?}, ${USER:+} 等は不完全です. 例えば,${USER-$YOU} 等はちゃんと動作しません. ---------------------------------------------------------------- * Special thanks MIO.H - KISS original author DE-TE- - xkiss author Clis Hayasaka - Kiss FAQ author Cocoa - xkiss++ author Jonathan Couper - XCheckTypedEvent technical advice Ken "Mian" Stone - kissgs.doc English advice Hannu Savolainen - Linux Sound Driver ulaw.h YASU. - yasukis1.lzh Lovery Yohko-san :-) WACHIGAI - fkiss sample data frkismi.lzh Deform. Kismi-chan Yohko Teppozuka - Lovely cute voice ;-) Masaki Saeki - NEC EWS4800 bug report yosinari yabuki/ATO - SunOS 5.4 bug report Minoru Iwamoto - NEC EWS4800 bug report Naoyuki Shinbo - SunOS 4.1.3 bug report RERE - Solaris 2.4 bug report Takahiro Suzuki - Browse document function EMK - no image mode paint_gc bug fix Takashi Oe - no image mode paint_gc bug fix Shuichi OONO - 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 - Illegal cnf bug fix Amaya - License advices Junichi Uekawa - License advices Ben - midiplay patches ---------------------------------------------------------------- * Copying This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. アドバイス,質問,バグレポートなどありましたら, お気軽にメールください. yav E-mail yav@bigfoot.com WWW http://www2s.biglobe.ne.jp/~yav/