# 栞の保存場所

KAGの栞の保存場所は「吉里吉里設定」(krkrconf.exe)で設定します。 吉里吉里で設定できるオプションのうち、-datapath オプションが栞の保存場所になります。設定可能な値については、吉里吉里２ SDK ヘルプの「コマンドラインオプション」を参照してください。

# フリーセーブモード

KAG が栞を管理する方法には２つあります。

- あらかじめ用意された栞の場所にのみ保存できるモード
- 自由な場所に栞を保存できるモード(フリーセーブモード)

これらは Config.tjs の `freeSaveDataMode` で設定します。
「あらかじめ用意された栞の場所にのみ保存できるモード」では、メニューバーの「栞をたどる」「栞をはさむ」の下に、栞を保存可能な各場所を表すサブメニュー項目ができ、ユーザはそれらを選択することで栞を保存したり読み込んだりすることができます。
これに対して「フリーセーブモード」は KAG3 3.09 beta 5 から使用可能になったモードで、「栞をたどる」や「栞をはさむ」を選択すると、ファイル選択のダイアログボックスが開き、自由に栞ファイルを選んだり、自由な名前や自由な場所に栞ファイルを保存することができます。
「あらかじめ用意された栞の場所にのみ保存できるモード」では栞の最大数を作品を作る側で制限することができます。
「フリーセーブモード」では栞の最大数の制限はありません。各栞を単一のファイルとして管理できるため、フォルダごとに分類して保存したり、ファイル名としてコメントを記入したりする事ができます。エクスプローラでフォルダ間を移動させたりできますし、ファイルに「読みとり専用属性」をつければ、大切なデータに上書きすることも回避できます。
「フリーセーブモード」でのデフォルトのファイル名となるのは、セーブ可能なラベルの「見出し」です。
「フリーセーブモード」で注意しなければならないのは、特にシステム変数と通常の変数の関係が密接な作品の場合に、たとえば、作品を再インストールしてシステム変数がクリアされている状態で、古い栞のデータを読み込もうとするとデータに矛盾が生じるかもしれないということです ( 作品の作り方によります )。
フリーセーブモードであっても、システム変数やシステムの状態を保存するファイルは、上記「栞の保存場所」で説明した場所に保存されます。
また、他の吉里吉里/KAGの作品のデータを間違って読み込んでしまわないように、Config.tjs の saveDataID を設定しておくことをおすすめします ( デフォルトのままでも動作はしますがおすすめできません )。
saveDataID は、栞データに埋め込まれる ID を指定するもので、他の吉里吉里/KAGの作品と(たとえ他の方などの作品であっても)重ならないように、作品ごとに異なっている必要があります。ここで指定する ID は栞データに埋め込まれ、他の栞データと区別されるためだけに使用されるので、説明的である必要はありません。キーボードを適当に叩いた文字３０文字などでも良いのですが、ここの ID を思いつくのが面倒な方は http://kikyou.info/uuidgen/uuidgen.php でも ID を取得することができます ( ここで取得できる ID は、絶対に他の ID と重ならないと見なすことができます )。

# サムネイル画像の保存

Config.tjs の `saveThumbnail` を true に設定することで、栞データの拡張子は .BMP になり、画像としても栞データとしても有効なファイルを出力することができます。この場合、画像としては、栞を保存した時点での 画面のスナップショットが縮小された画像 (サムネイル画像) になります。セーブ可能なラベル位置でのスナップショットではありませんので、その栞から再開するときは、その場面そのものの位置からではなくて、その直前のセーブ可能なラベルから開始されます (サムネイルの画像と再開される実際の位置が少々食い違う可能性があるということです)。
これにより、とくにフリーセーブモードにおいて、エクスプローラや画像管理ソフトの「縮小表示」や「縮小版」、「サムネイル」などで栞データを管理しやすくなります。また、フリーセーブモードのファイル選択ダイアログのファイルの表示形式で「縮小表示(縮小版)」を選択することにより、サムネイルから栞を選択することが可能になります。
サムネイル画像を持った栞データは BMP ですので、他のアプリケーションなどで開くこともできますが、通常、他のアプリケーションなどでいったん開いて保存しなおすと、KAG の栞データとしては読み込めない物になるので注意が必要です。
右クリックサブルーチンで栞の保存を行う場合はすこし注意が必要になります ( locksnapshot タグと unlocksnapshot タグを参照してください )。

# アップデートと栞データの互換性

KAG ではセーブ/ロードは必ずラベルを目印にして行われているため、ある程度のシナリオファイルの変更でも、栞データの互換性を保つことができます。
互換性が失われる例はいくつかありますが、代表的なものとして

- シナリオファイル中でセーブ可能なラベルが変更されたり、消えたりした ( そのラベルから開始できないため )
- サブルーチンからの戻り先の構造が変わった ( 正しくサブルーチンの呼び出し元に戻れないため )

などがあります。
パッチなどを後から配布してアップデートを行う場合はこのようなことに注意してください。