12. セーブのサムネイルを固定する

1.0.3 から、セーブのサムネイルに出す絵を決められるようになりました。

セーブのサムネイルは、ふつうはセーブした時点の画面のコピーです。CG の差分の中にサムネイルに出したくない絵があるときは、 どの差分でセーブしても、決まった絵(たとえば CG01a )をサムネイルに出せます。

まず見本を見てみましょう。
紹介デモ( data0\scenario\feature_demo.txt )の「② 応用サンプル」→ 5 ページ目の「22. セーブのサムネイルを固定する」で、差分を出したままセーブして確かめられます。 Windows / ブラウザ / Android で同じように動きます。

12.1 決め方は 2 つ

書く場所 書き方 向いている場面
シナリオ savethumb_start 絵の名前 〜 savethumb_end 場面ごとに決めたいとき。範囲を 1 つずつ書きます。
システムスクリプト System.saveLoad.setThumbnailOverride(パターン, 絵の名前) 作品全体で決めたいとき。作品の頭で 1 回書けば、シナリオには何も書かなくて済みます。

どちらも無いときは、今までどおり画面のコピーです。

優先の順

  1. シナリオの savethumb_start 〜 savethumb_end の範囲
  2. システムスクリプトの対応表(書いた順に見て、最初に当たった物)
  3. 画面のコピー

12.2 シナリオで決める

evcg_show "CG01a" 500
savethumb_start CG01a
	ここからは、どの差分でセーブしてもサムネイルは CG01a です。
evcg_show "CG01b" 300
	……
evcg_show "CG01h" 300
	……
savethumb_end
	ここからは今までどおり、画面がサムネイルになります。
命令 すること
savethumb_start 絵の名前 ここから、指定した絵をサムネイルにする。別名 savesumstart 。もう一度書くと絵が替わる。
savethumb_end 範囲を終える。別名 savesumend 。

絵の名前の書き方は evcg_show と同じです( CG01a ・ cg01/CG01a ・ base+smile )。日本語の名前は "…" で囲みます。

範囲はセーブデータに残り、ロードした後も savethumb_end まで続きます。「はじめから」で始めたとき・タイトルへ戻ったときは範囲の外に戻ります。範囲は別のシナリオファイルへ移っても続くので、終わる所に savethumb_end を書いてください。

12.3 システムスクリプトで決める

data0\system\Initialize.txt など、作品の起動のときに動く所で 1 回書きます。

// CG01 の差分(CG01a〜CG01h)が出ているときは、どれでも CG01a をサムネイルにする
System.saveLoad.setThumbnailOverride("CG01*", "CG01a");
// CG02 の差分は CG02a
System.saveLoad.setThumbnailOverride("CG02*", "CG02a");
関数 すること
System.saveLoad.setThumbnailOverride(パターン, 絵の名前) 画面に出ている CG・背景の名前がパターンに当たるとき、その絵を使う。同じパターンをもう一度書くと絵が替わる。
System.saveLoad.clearThumbnailOverride([パターン]) そのパターンの対応を消す。パターンを省くと全部消す。

12.4 どのサムネイルに効くか

サムネイルを作る所すべてに効きます。

絵はサムネイルの大きさに縮めます。縦横の比は変えず、余った所は黒になります。透明な所も黒の上に重なります。

指定した絵が見つからないときは、今までどおり画面のコピーになります。

色覚の補助を入れている場合、画面のコピーには補助がかかりますが、この機能で決めた絵にはかかりません。

12.5 セーブデータへの影響