// load.iet - ロード画面
// URL : http://m-kz.com/  Mail : m-kz@m-kz.com
// URL : http://kzkz.jp/  Mail : ok@kzkz.jp
//////////////////////////////////////////////////
// DreamProject and s_e_beat and Suginami
// 2013.10.06 カスタマイズ
//////////////////////////////////////////////////
// 2014.03.07 セーブナンバー項目の加筆
// 2014.06.11 onLoad実装・メッセージ取得
//////////////////////////////////////////////////
[jump label = "top"]
//////////////////////////////////////////////////
// load時に強制実行されるプログラム
*onload
[lua]
function initializeOnLoad(e)
	-- Load時のイベントハンドラ設定
	e:setEventHandler{ onLoad = "setOnLoad" }
end

function setOnLoad(e,param)
	e:debug("---------ロード直後の追加処理----------")
	e:debug("ファイル：" .. param.file)

	-- system.dat,saveg.datアクセス時は何もしない
	if(param.file ~= 'saveg.dat')and(param.file ~= 'system.dat')then

		-- 強制的にid = 85(automodeなど)を消す
		e:tag{"lydel", id = 85}

		-- ランゲージ設定を強制的に戻す
		if e:var("saved_language") ~= '' then
			e:tag{"var", name = "g.language", data = e:var("saved_language")}
			e:tag{"var", name = "saved_language", system = "delete"}
		end

		-- 強制的にBGM音量上げる
		e:tag{"sfade", gain = 1000, time = 120}
		e:tag{"var", name = "snd.flag.bgm", data = 0}

		-- グリフ位置修正
	--	e:tag{"lyprop", id = 90, top = e:var("glyph_top"), left = e:var("glyph_left")}

		-- auto skipを強制的にとめておく
		e:tag{"exec", command = "automode", mode = 0}
		e:tag{"exec", command = "skip", mode = 0}
		-- 選択肢に対応
		if e:var("selectdata.autoskip") ~= '0' then
			e:tag{"var", name = "selectdata.autoskip", data = "none"}
		end

		-- 口パクを強制的に止める
		e:tag{"var", name = "mouth_st", data = "all"}
		-- やりたくないがLuaでcall
		e:enqueueTag{"mouth_out"}
	end
	e:debug("---------------ここまで----------------")
end
[/lua]
[calllua function = "initializeOnLoad"]
[return]
//////////////////////////////////////////////////
*top

[sysbtn_hide]			// システムボタンを非表示
[linkdisable]			// リンクを無効にする
[sceout]				// 本編の文章を隠す

[wait scenario="2"]		// 本編の文章が隠れるのを待つ
[chgmsg id="rclick_m"]	// メッセージレイヤの切り替え

// メッセージウインドウが有効ならば、非表示にする
/*
[lyprop id="80" visible="0"]

// 話者名が有効ならば、非表示にする
[if estimate="$li80.2.visible != 0"]
	[lyprop id="80.2" visible="0"]
	[var name="li80.2.visible" data="1"]
[/if]
*/

// 各種操作を禁止する
/*
[writebacklog mode="0"]
//[rclick       allow="0"][var name="st.rclick" data="0"]
[hide         allow="0"]
//[call file="system/hide.iet" label="disable"]
[skip         allow="0"][lydel id = "86"]
[backlog      allow="0"]
[call file="system/backlog.iet" label="disable"] // スクリプトで実装した自前バックログを無効化
[autosave     allow="0"]
[setautomode     allow="0"]
*/

[rp]

// 黒画像マスク
//[lycolor id = "300" color = "FF000000"]
// フェードインする
//[trans type="1" time="500" input="0"]
[wait time="100" input="0"]

// セーブ・ロード・コンフィグ画面から呼ばれた時の開始点
*from_menu

[debugprint level="2" data="【通知】ロード画面に入りました。 status:load"]

[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
[del_functionkeys]		// キー禁止

// 緊急回避フラグをチェック
[if estimate = "$avoid == 1"]
	// 緊急回避を一時的にoff
	[緊急回避終了]
	// 緊急回避フラグは上げておく
	[var name = "avoid" data = "1"]
[/if]

// 画面のフェードタイムをここで決定しておく。
// タイトルボタンからきた場合は少しウェイトする
[if estimate = "$t.load_from_titlebtn == 1"]
	[var name = "t.load_transtime" data = "800"]
[else]
	[var name = "t.load_transtime" data = "500"]
[/if]

// ----------------------------------------------------------------
// Init
// ----------------------------------------------------------------
*init

// 画像読み込みパス（lyc2部で使用）
[var name="t.imgpath" data="image/menu/save/"]

[lydel id="100"]

[var name="t.r_leave" data="0"]
[var name="status" data="load"]

// ■ 手動設定値（セーブデータ情報）
[var name="g.savedata.prefix" data="ydw_"]	// セーブデータの接頭語（プレフィックス）

// ----------■外部csv吐き出し■----------------
// ■ 手動設定値（ページ情報）
[varcsv name = "g.slot_page" file = "$os_name_path + t.imgpath + 'slot_page'"]	// 全ページ数
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slot_matrix'"]
[var name="g.slot_row"  data="$t.temp.1"]	// 1ページ内のセーブスロット数（タテ）
[var name="g.slot_col"  data="$t.temp.0"]	// 1ページ内のセーブスロット数（ヨコ）

// ■ 手動設定値（スロット情報）
// 画像サイズを調べて記述
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slot_size'"]
[var name="g.slot_width"     data="$t.temp.0"]	// スロット実画像の横幅
[var name="g.slot_height"    data="$t.temp.1"]	// スロット実画像の縦幅

[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slot_pos'"]
[var name="g.slot_left"     data="$t.temp.0"]	// スロット画像の左端位置
[var name="g.slot_top"      data="$t.temp.1"]	// スロット画像の上端位置
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slot_margin'"]
[var name="g.slot_margin_r" data="$t.temp.0"]	// スロット画像の右マージン
[var name="g.slot_margin_b" data="$t.temp.1"]	// スロット画像の下マージン

// ■ 手動設定値（サムネイル情報）
// savess する画像サイズを記述
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'thumb_size'"]
[var name="g.thumb_width"    data="$t.temp.0"]		// サムネイル画像の幅
[var name="g.thumb_height"   data="$t.temp.1"]		// サムネイル画像の高さ
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'thumb_pos'"]
[var name="g.thumb_left"     data="$g.slot_left + t.temp.0"]	// サムネイル画像の左端位置
[var name="g.thumb_top"      data="$g.slot_top + t.temp.1"]	// サムネイル画像の上端位置
// 計算で取得
[var name="g.thumb_margin_r" data="$g.slot_margin_r - g.thumb_width + g.slot_width"]	// サムネイル画像の右マージン
[var name="g.thumb_margin_b" data="$g.slot_margin_b - g.thumb_height + g.slot_height"]	// サムネイル画像の下マージン


// ■ 手動設定値（Newマーク情報）
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'thumb_new_pos'"]
[var name="g.thumb_new_left" data="$g.slot_left + t.temp.0"]		// Newマーク画像の左端位置
[var name="g.thumb_new_top" data="$g.slot_top + t.temp.1"]		// Newマーク画像の上端位置

// ■ 手動設定値（セーブナンバー画像）
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slotnum_pos'"]
[var name="g.slotnum_margin_r" data="$t.temp.0"]	// セーブナンバー画像の右マージン
[var name="g.slotnum_margin_b" data="$t.temp.1"]	// セーブナンバー画像の下マージン
[var name="g.slotnum_kerning" data="$t.temp.2"]	// セーブナンバー文字間調整

// ■ 手動設定値（deleteボタン）
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slotdel_pos'"]
[var name="g.slotdel_margin_r" data="$t.temp.0"]	// deleteボタンの右マージン
[var name="g.slotdel_margin_b" data="$t.temp.1"]	// deleteボタンの下マージン
// ----------■外部csvここまで■----------------


// ■ 手動設定値（本編から取得する全角分の文字数）(*2 は全角のため)
[if estimate = "$g.language == 'en'"]
	// アルテミスの仕様により、英字改行をコントロールできないので、
	// n文字キャッシュを用意する
	[var name="t.get_msgcnt" data="$22 * 2 - 8"]
[else]
	[var name="t.get_msgcnt" data="$22 * 2"]
[/if]

// ページ情報の計算と確認（計算によって取得）
[var name="g.slot_max" data="$g.slot_row * g.slot_col"] // １ページ内のセーブスロット数
[debugprint level="2" data="$'【通知】全ページ数：' + g.slot_page + ' タテ：' + g.slot_row + ' ヨコ：' + g.slot_col + ' ページ内スロット数：' + g.slot_max"]

// スロット画像の情報（１枚読み込んで、自動取得）
[lyc2 id="100.999" file="$t.imgpath + 'btn_slot_1'"]
[lyget]
[var name="g.slot_width" data="$li.100.999.width"]
[var name="g.slot_height" data="$li.100.999.height"]
[lydel id="100.999"]
[debugprint level="2" data="$'【通知】スロット左端：' + g.slot_left + ' 上端：' + g.slot_top + ' 幅：' + g.slot_width + ' 高さ：' + g.slot_height"]
[debugprint level="2" data="$'【通知】スロット右マージン：' + g.slot_margin_r + ' 下マージン：' + g.slot_margin_b"]
[debugprint level="2" data="$'【通知】サムネイル左端：' + g.thumb_left + ' 上端：' + g.thumb_top + ' 幅：' + g.thumb_width + ' 高さ：' + g.thumb_height"]
[debugprint level="2" data="$'【通知】サムネイル右マージン：' + g.thumb_margin_r + ' 下マージン：' + g.thumb_margin_b"]

// 一時変数をオフ
[var name="t.rollover_slot" data="0"]
[var name="t.rollout_slot" data="0"]
[var name="t.saveslot" data="0"]

// サムネイル関係
[lydel id="thumb"]

// データブロックのメッセージレイヤを初期化
[call file="system/msg" label="erase_rclick_text"]
[varcsv name = "t.temp" file = "$os_name_path + t.imgpath + 'slot_message_pos'"]
[set_rclick_data slot_max = "$g.slot_max" slot_row = "$g.slot_row" slot_col = "$g.slot_col" slotmes_top = "$g.slot_top + t.temp.1" slotmes_left = "$g.slot_left + t.temp.0" slotmes_space_x = "$g.slot_width + g.slot_margin_r" slotmes_space_y = "$g.slot_height + g.slot_margin_b"]
[call file="system/msg" label="init_rclick"]
[call file="system/msg" label="disable_rclick_link"]

// 前回表示していたページを読み込む
[if estimate="$g.page > 0"]
	[var name="page" data="$g.page"]
	[var name="g.page" data="1"]
[else]
	[var name="page" data="1"]
	[var name="g.page" data="1"]
[/if]

// ----------------------------------------------------------------
// Calc page
// ----------------------------------------------------------------
*calc_page
// ■ ページ計算
[debugprint level="2" data="【通知】現在のページを計算します。"]
// SE鳴らす
[if estimate="$t.se_load_num != 1"]
	//[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
[else]
	[var name="t.se_load_num" data="0"]
[/if]

// ボタン無効化
[btn_off id="100.100"]
[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	[btn_off2 id="$'100.slot.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]
// ページ番号ボタン無効化
[var name="t.i" data="0"]
[loop estimate="$t.i <= 5"]
	[btn_off id="$'100.page.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]

//[wait se = "0"]


// 列の数だけループ
[var name="slot_p_start" data="$1 + (page-1) * g.slot_max"]	// このページの開始スロット番号
[var name="slot_p_end" data="$slot_p_start + g.slot_row * g.slot_col - 1"] // このページの最後のスロット番号

// ページの番号を記憶する
[var name="g.page" data="$page"]

[debugprint level="1" data="----------------------------"]
[debugprint level="1" data="$'ページ番号：' + g.page"]
[debugprint level="2" data="$'スロット開始　：'+ slot_p_start"]
[debugprint level="2" data="$'スロット終了　：'+ slot_p_end"]
[debugprint level="1" data="----------------------------"]

// ----------------------------------------------------------------
// Read image
// ----------------------------------------------------------------
*read_image

[lydel id="100"]

// 背景
//[lycolor id = "99.1" color = "FF000000"]
[lyc2 id="99.2" file="$t.imgpath + 'bg_load'"]

// ----------------------------------------------------------------
// Check status
// ----------------------------------------------------------------
*check_status

//[call file="system/msg.iet" label="erase_rclick_text"]

[call label="update_slot_msg"]

// ----------------------------------------------------------------
// Setting Image
// ----------------------------------------------------------------
*setting_image

// ▼ セーブスロット
[call label="read_slot"]

// ▼ サムネイル
[call label="read_thumb"]

// ▼ ボタン番号画像
[call label="read_page"]

// ▼ セーブスロット
[call label="setting_slot"]

// ▼ thumbnail
[call label="setting_thumb"]

// ▼ ボタン番号画像
[call label="setting_page"]

// ▼ new アイコン
[call label="read_thumb_new"]

// ▼ 戻るボタン
[btn id="100.100"  file="$t.imgpath + 'back'"  left="1181" top="25"]	// left="631 top="540""
[btn_on id="100.100" call="0" file="system/load.iet" label="leave" effect = "on"]

// ----------------------------------------------------------------
// Screen Update
// ----------------------------------------------------------------
*sc_up

[debugprint level="1" data="----------------------------"]

// 黒画像マスクデリート
//[lydel id = "300"]
// フェードイン
//[flip]

[trans type="1" time="$t.load_transtime" input = "0"]

// ループ時（ページ番号変更など）で戻ってきたとき用のフェードタイムの変更。
[var name = "t.load_transtime" data = "300"]

// ボタン入力許可は最後に
[setonpush key="2" call="0" system="system/load.iet" label="leave"]
[setonpush key="139" call="0" system="system/load.iet" label="leave"]
[setonpush key="8" label="leave" call="0"]
[setonpush key="27" label="leave" call="0"]
// キー許可
[set_functionkeys mode = "load"]
[stop]

// ----------------------------------------------------------------
// Apply Status
// ----------------------------------------------------------------
*apply_status
[debugprint level="2" data="【通知】ステータスを反映します。"]

[jump file="system/msg.iet" label="leave"]

[stop]

// ----------------------------------------------------------------
// 各種有効化
// ----------------------------------------------------------------

*leave
[debugprint level="2" data="【通知】セーブ画面から抜けます。"]
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0001'" loop="0"]
[var name = "t.se_load_num" data = "1"]

[call file="system/msg.iet" label="erase_rclick_text"]

[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]

// 緊急回避フラグをチェック
[if estimate = "$avoid == 1"]
	[緊急回避開始]
[/if]

//[/chgmsg]

[lydel id="100.thumb"]
[call label = "btn_disable_slot"]
[lydel id="101"]
[lydel id="100"]
[lydel id="99"]
[trans type="1" time="500" input = "0"]

[if estimate="$t.load_from_titlebtn == 1"]
	// タイトルから来たら、タイトル画面へジャンプ
	[var name="t.load_from_titlebtn" data="0"]
	[jump file="system/title.iet" label="set_gui"]
[else]
	// シナリオから来たらシナリオへリターン
	[jump file="system/menu.iet" label="leave"]
[/if]
/////////////////
*delete
[debugprint level="2" data="【通知】セーブ消去処理を実行します。"]

// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0000'" loop="0"]

// ボタン無効化
[btn_off id="100.100"]
[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	[btn_off2 id="$'100.slot.' + t.i"]
	[btn_off2 id="$'100.zdel.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]
// ページ番号ボタン無効化
[var name="t.i" data="0"]
[loop estimate="$t.i <= 5"]
	[btn_off id="$'100.page.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]
[flip]

[var name="t.saveslot" data="$saveslot"]
// ダイアログを表示するか否か
[if estimate = "$g.save_deletedialog"]
	[var name="t.yesno" data="1"]
[else]
	[var name="t.yesno" data="-1"]
	// 暫定実装
	[if estimate = "$g.language == 'jp' || g.language == 0"]
		[lydialog title="$'SAVE : ' + (savenum - 1) + ' 消去'" message="セーブを消去しますか？" varname="t.yesno"]
	[else]
		[lydialog title="$'SAVE : ' + (savenum - 1) + ' delete'" message="Do you want to delete?" varname="t.yesno"]
	[/if]
[/if]
[if estimate="$t.yesno != 1"]
	[debugprint level="2" data="【通知】キャンセルしました。"]
	// se鳴らす
	//[se_play id="0" file="$os_snd_path + 'se/se0001'" loop="0"]
[else]
	// セーブを消す
	[file command = "delete" target="$s.savepath + '/' + g.savedata.prefix + 'save_' + savenum + '.dat'"]
	[file command = "delete" target="$s.savepath + '/' + g.savedata.prefix + 'save_' + savenum + '.png'"]

	// セーブメッセージを消す
	[var name = "$'g.' + g.savedata.prefix + 'save_'+ savenum +'_date'" system = "delete"]
	[var name = "$'g.' + g.savedata.prefix + 'save_'+ savenum +'_time'" system = "delete"]
	[var name = "$'g.' + g.savedata.prefix + 'save_labelname_'+ savenum" system = "delete"]
	[var name = "$'g.' + g.savedata.prefix + 'save_msg_num'+ savenum" system = "delete"]

	// deleteボタンを消す
	[lydel id = "$'100.zdel.' + savenum"]

	// 最新セーブを消したときは、newマークを消す
	[if estimate = "$g.saveslot_new == savenum"]
		[var name="g.saveslot_new" system = "delete"]
	[/if]
	// ダミーセーブしてグローバルを保存する
	[save file="dummy.dat"]
	[file command="delete" target="$s.savepath + '/dummy.dat'"]

[/if]
[jump label="check_status"]

/////////////////
*goto_save
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]
[var name="t.load_from_sysbtn" data="0"]
[lydel id="99"]
[lydel id="100"]
[call file="system/msg" label="erase_rclick_text"]
[jump file="system/save" label="from_menu"]
/////////////////
*goto_vsave
// リプレイidに何かしらの値が入っていたら、それは再生するものが
// あるということ
[if estimate = "$r_voice.id != 0"]
	// se鳴らす
	[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
	[delonpush key="2"]
	[delonpush key="139"]
	[delonpush key="8"]
	[delonpush key="27"]
	// キー禁止
	[del_functionkeys]
	[var name="t.load_from_sysbtn" data="0"]
	[lydel id="99"]
	[lydel id="100"]
	[call file="system/msg" label="erase_rclick_text"]
	[jump file="system/vsave" label="from_menu"]
[else]
	// 何も無かったので、小キャンセル音
	[se_play id = "0" file = "$os_snd_path + 'se/se0004'"]
	// エラーメッセージの表示
	[lycaution message = "ボイス再生シーンではありません"]
	[jump label = "check_status"]
[/if]
/////////////////
*goto_vload
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]
[var name="t.load_from_sysbtn" data="0"]
[lydel id="99"]
[lydel id="100"]
[jump file="system/vload" label="from_menu"]
/////////////////
*goto_config
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]
[var name="t.load_from_sysbtn" data="0"]
[lydel id="99"]
[lydel id="100"]
[call file="system/msg" label="erase_rclick_text"]
[jump file="system/config" label="from_menu"]
/////////////////
*goto_config_v
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0003'" loop="0"]
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]
[var name="t.load_from_sysbtn" data="0"]
[lydel id="99"]
[lydel id="100"]
[call file="system/msg" label="erase_rclick_text"]
[jump file="system/config_v" label="from_menu"]
/////////////////
*goto_title
// タイトル画面に戻る
[debugprint level="2" data="【通知】タイトル画面に戻ります。"]
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0000'" loop="0"]
// ここでボタンをキャンセル
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]

// ダイアログを表示するか否か
[タイトルバックダイアログ]

[if estimate="$t.yesno != 1"]
	[debugprint level="2" data="【通知】キャンセルしました。"]
	[jump label = "check_status"]
[/if]
[lydel id="99"]
[lydel id="100"]
[共通タイトルバック処理]
/////////////////
*goto_exit
// 終了
[debugprint level="2" data="【通知】終了します。"]
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0000'" loop="0"]
// ここでボタンをキャンセル
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]

// ダイアログを表示するか否か
[終了ダイアログ]

[if estimate="$t.yesno != 1"]
	[debugprint level="2" data="【通知】キャンセルしました。"]
	[jump label = "check_status"]
[/if]
[lydel id="99"]
[lydel id="100"]
[共通終了処理]
//////////////////////////////////////////////////////////////
*btn_setdefault
// コンフィグデフォルト値に戻すルーチン
[debugprint level="2" data="【通知】「default」が押下されました"]
// se鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0000'" loop="0"]
// ここでボタンをキャンセル
[delonpush key="2"]
[delonpush key="139"]
[delonpush key="8"]
[delonpush key="27"]
// キー禁止
[del_functionkeys]

// デフォルトチェックダイアログ
[call file = "system/config.iet" label = "default_dialog"]

[if estimate="$t.yesno != 1"]
	[debugprint level="2" data="【通知】キャンセルしました。"]
	// 黒画像を除去
//	[lydel id = "200"]
[else]
	[debugprint level="2" data="【通知】OKしました。"]

	// デフォルト値をセット
	[call file = "system/config.iet" label= "init_config_default"]
	// コーションメッセージを表示する
	[lycaution message = "コンフィグを初期状態に設定しました"]
	// fullscreen の確認と初期化
	// 全画面モードは強制的に戻す
	[var name = "t.os" system = "os"]
	[if estimate = "$t.os == 'windows' && t.fullscreen == 1"]
		[exec command = "fullscreen"]
	[/if]

[/if]

// 処理の復活
[jump label = "check_status"]
/////////////////
*load
[debugprint level="2" data="$'【通知】ロードを開始します。ロード番号:' + savenum"]
// SE鳴らす
[se_play id="0" file="$os_snd_path + 'se/se0000'" loop="0"]

// 既にBGMが再生中だったら、先にフェードアウトしておく
[var name="si" system="get_sound_info"]
[if estimate="$si.playing != 0"]
	[bgm_stop time="1000"]
[/if]

// ボタン無効化
[btn_off id="100.100"]
[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	[btn_off2 id="$'100.slot.' + t.i"]
	[btn_off2 id="$'100.zdel.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]
// ページ番号ボタン無効化
[var name="t.i" data="0"]
[loop estimate="$t.i <= 5"]
	[btn_off id="$'100.page.' + t.i"]
	[var name="t.i" data="$t.i + 1"]
[/loop]
[flip]

// 画面全体を白フェードしてセーブした触感を残す
[lycolor id = "300" color = "white"]
[trans type = "1" time = "200" input = "0"]
[lydel id = "300"]
[trans type = "1" time = "300" input = "0"]

// 黒マスクを行う
[call file="system/msg.iet" label="erase_rclick_text"]
[lycolor id = "300" color = "FF000000"]
[trans type = "1" time = "500" input = "0"]

// SEの再生終了を待つ
[wait se="0"]
[var name="t.saveslot" data="0"]

[call file="system/msg.iet" label="erase_rclick_text"]

// 全てのUIを削除
[lyprop id="100" visible="0"]
[lyprop id="99" visible="0"]

[if estimate="$t.load_from_titlebtn == 1"]
	//[flip][wait time="100"]
[/if]

// ロード実行
[if estimate="$page == 1 && savenum == 1"]
	// オートモードの設定
	[setonautomodein file="system/macro.iet" label="automode_in_se" call="1"]
	[setonautomodeout file="system/macro.iet" label="automode_out_se" call="1"]
	// オートセーブデータの読み込み
	[load file="autosave.dat" type="1" time="1000"]
[else]
	// オートモードの設定
	[setonautomodein file="system/macro.iet" label="automode_in_se" call="1"]
	[setonautomodeout file="system/macro.iet" label="automode_out_se" call="1"]
	[load file="$g.savedata.prefix + 'save_' + savenum + '.dat'" type="1" time="1000"]
[/if]

[if estimate="$t.load_from_titlebtn == 1"]
	[var name="g.titleback" data="1"]
	[save file="dummy.dat"]
	[file command="delete" target="$s.savepath + '/dummy.dat'"]
	[reset]
[/if]

// マスクはずす
[lydel id = "300"]

[call file="system/msg.iet" label="erase_rclick_text"]
[lyprop id="100" visible="1"]
[lyprop id="thumb" visible="1"]
[lyprop id="99" visible="1"][flip]

[chgmsg id="$'101.sblock.' + (t.rollover_slot - slot_p_start + 1)"]
　　　　　　ロード失敗。[rt] ([print data="$savenum"])
// wait0で文字描画の開始
[wait time = "0"]
[/chgmsg]

[wait time="500"]

[lyprop id="99" visible="1"][flip]

//[rp]
[call file="system/msg.iet" label="erase_rclick_text"]

// ロードエラー時は安全のため、GUIの再配置を行う

[jump label="read_image"][stop]
////////////////////////////////////////////////////////////////////
*-------------------------------------------------------------------
////////////////////////////////////////////////////////////////////
*read_thumb
// ■ ページ画像の読み込み
[debugprint level="2" data="【通知】サムネイル画像を読み込みます。"]

[lydel id="100.thumb"]

[var name="t.foundf" data="0"]
[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	// 1ページ目の1つ目のスロットはオートセーブのスロットとして確保する
	[if estimate="$page == 1 && t.i == 1"]
		[lyc2 id="$'100.thumb.' + t.i" file="$t.imgpath + 'thumb_autosave'"]
	[else]
		[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.png'" save="1"]
		[if estimate="$t.foundf == 1"]
			[lyc id="$'100.thumb.' + t.i" file="$s.savepath + '/' + g.savedata.prefix + 'save_' + t.i" economize = "1"]	// 注意！
	//		[debugprint level="2" data="$'サムネイル発見：' + s.savepath + '/fwp_save_' + t.i"]
		[else]
			[lyc2 id="$'100.thumb.' + t.i" file="$t.imgpath + 'thumb_nodata'"]
	//		[debugprint level="2" data="$'サムネイルなし：' + '100.thumb.' + t.i"]
		[/if]
		[var name="t.foundf" data="0"]
	[/if]
[var name="t.i" data="$t.i + 1"]
[/loop]
[return]
/////////////////
*setting_thumb
// ■ サムネイル画像の調整
[debugprint level="2" data="【通知】サムネイル画像を設定します。"]

[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
//[debugprint level="1" data="$'サムネイル番号：' + t.i"]
	[var name="t.thumb_left" data="$g.thumb_left + g.thumb_margin_r * ((t.i-1) % g.slot_col) + g.thumb_width * ((t.i-1) % g.slot_col)"]
	[var name="t.thumb_top"  data="$g.thumb_top  + g.thumb_margin_b * ((t.i - slot_p_start) / g.slot_col) + g.thumb_height * ((t.i - slot_p_start) / g.slot_col)"]
//	[debugprint level="1" data="$'サムネイル番号' + t.i"]
//	[debugprint level="1" data="$'サムネイル配置（X）' + t.thumb_left"]
//	[debugprint level="1" data="$'サムネイル配置（Y）' + t.thumb_top"]
	[lyprop id="$'100.thumb.' + t.i" left="$t.thumb_left" top="$t.thumb_top"]
[var name="t.i" data="$t.i + 1"]
[/loop]
[return]
/////////////////
*read_slot
// ■ スロット画像の読み込み
[debugprint level="2" data="【通知】データスロットボタンを読み込みます。"]

[lydel id="100.slot"]

[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
//[debugprint level="1" data="$'スロット番号：' + t.i"]
	[var name="t.slot_left" data="$g.slot_left + g.slot_margin_r * ((t.i-1) % g.slot_col) + g.slot_width * ((t.i-1) % g.slot_col)"]
	[var name="t.slot_top"  data="$g.slot_top  + g.slot_margin_b * ((t.i - slot_p_start) / g.slot_col) + g.slot_height * ((t.i - slot_p_start) / g.slot_col)"]
//	[debugprint level="1" data="$'スロット番号' + t.i"]
//	[debugprint level="1" data="$'スロット配置（X）' + t.slot_left"]
//	[debugprint level="1" data="$'スロット配置（Y）' + t.slot_top"]

	// オートセーブ専用スロットを使用しない際は下記のコメントを外す
//	[btn id="$'100.slot.' + t.i" file="$t.imgpath + 'btn_slot'" left="$t.slot_left" top="$t.slot_top"]
//	[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.dat'" save="1"]
//	[if estimate = "$t.foundf == 1"]
//		[btn id="$'100.zdel.' + t.i" file="$t.imgpath + 'btn_delete'" left="$t.slot_left + g.slotdel_margin_r" top="$t.slot_top + g.slotdel_margin_b"]
//	[/if]

	// オートセーブ専用スロットを使用する際は下記のコメントを外す
	[if estimate="$page == 1 && t.i == 1"]
		// オーロセーブ専用スロットに適用する処理
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="autosave.dat" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn id="$'100.slot.' + t.i" file="$t.imgpath + 'btn_slot'" left="$t.slot_left" top="$t.slot_top"]
		[else]
			[lyc2 id="$'100.slot.' + t.i" file="$t.imgpath + 'btn_slot' + '_0'"]
			[lyprop id="$'100.slot.' + t.i" left="$t.slot_left" top="$t.slot_top"]
		[/if]
	[else]
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.dat'" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn id="$'100.slot.' + t.i" file="$t.imgpath + 'btn_slot'" left="$t.slot_left" top="$t.slot_top" penetration="0"]
			[btn id="$'100.zdel.' + t.i" file="$t.imgpath + 'btn_delete'" left="$t.slot_left + g.slotdel_margin_r" top="$t.slot_top + g.slotdel_margin_b"]
		[else]
			[lyc2 id="$'100.slot.' + t.i" file="$t.imgpath + 'btn_slot' + '_0'"]
			[lyprop id="$'100.slot.' + t.i" left="$t.slot_left" top="$t.slot_top"]
		[/if]
	[/if]

	//////////////////////////////////////
	// セーブナンバー画像の追加
	//////////////////////////////////////
	[var name="t.slotnum_left" data="$t.slot_left + g.slotnum_margin_r"]
	[var name="t.slotnum_top"  data="$t.slot_top  + g.slotnum_margin_b"]
	[if estimate = "$t.i != 1"]
		// 数字を描画
		[drawnumber id = "$'100.slotnum.' + t.i" file = "$os_name_path + t.imgpath + 'num_slot'" num = "$t.i - 1" arrign = "left" kerning = "$g.slotnum_kerning" left = "$t.slotnum_left" top = "$t.slotnum_top"]
	[else]
		// autosaveの文字を描画
		[lyc2 id = "$'100.slotnum.' + t.i" file = "$t.imgpath + 'num_slot_auto'"]
		[lyprop id = "$'100.slotnum.' + t.i" left = "$t.slotnum_left" top = "$t.slotnum_top"]
	[/if]
	////////////////ここまで//////////////

[var name="t.i" data="$t.i + 1"]
[/loop]

[return]
/////////////////
*setting_slot
// ■ スロット画像の調整
[debugprint level="2" data="【通知】データスロットボタンを調整します。"]

[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	// オートセーブ専用スロットを使用しない際は下記のコメントを外す
//	[var name="t.foundf" data="0"]
//	[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.dat'" save="1"]
//	[if estimate="$t.foundf == 1"]
//		[btn_on id="$'100.slot.' + t.i" file="system/load.iet" label="load" varname="savenum" data="$t.i" call="0" effect = "on" penetration="0"]
//		[btn_on id="$'100.zdel.' + t.i" file="system/load.iet" label="delete" varname="savenum" data="$t.i" call="0" effect = "on" penetration="0"]
//	[/if]
	// オートセーブ専用スロットを使用する際は下記のコメントを外す
	[if estimate="$page == 1 && t.i == 1"]
		// オーロセーブ専用スロットに適用する処理
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="autosave.dat" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn_on id="$'100.slot.' + t.i" file="system/load.iet" label="load" varname="savenum" data="$t.i" call="0" effect = "on" penetration="0"]
		[/if]
	[else]
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.dat'" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn_on id="$'100.slot.' + t.i" file="system/load.iet" label="load" varname="savenum" data="$t.i" call="0" effect = "on" penetration="0"]
			[btn_on id="$'100.zdel.' + t.i" file="system/load.iet" label="delete" varname="savenum" data="$t.i" call="0" effect = "on" penetration="0"]
		[/if]
	[/if]
[var name="t.i" data="$t.i + 1"]
[/loop]

[return]
/////////////////
*btn_disable_slot
// ■ スロット画像の調整
[debugprint level="2" data="【通知】データスロットボタンを調整します。"]

[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	// オートセーブ専用スロットを使用しない際は下記のコメントを外す
//		[btn_off id="$'100.slot.' + t.i"]
	// オートセーブ専用スロットを使用する際は下記のコメントを外す
	[if estimate="$page == 1 && t.i == 1"]
		// オーロセーブ専用スロットに適用する処理
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="autosave.dat" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn_off id="$'100.slot.' + t.i"]
		[/if]
	[else]
		[var name="t.foundf" data="0"]
		[var name="t.foundf" system="file_exists" file="$g.savedata.prefix + 'save_' + t.i + '.dat'" save="1"]
		[if estimate="$t.foundf == 1"]
			[btn_off id="$'100.slot.' + t.i"]
			[btn_off id="$'100.zdel.' + t.i"]
		[/if]
	[/if]
[var name="t.i" data="$t.i + 1"]
[/loop]

[return]
/////////////////
*read_page
// ■ ページ画像の読み込み
[debugprint level="2" data="【通知】ページ画像を読み込みます。"]

// ボタン「Load」
//[btn id="100.load" file="$t.imgpath + 'btn_load'" left="610" top="940"]

// ボタン「Config」
//[btn id="100.config" file="$t.imgpath + 'btn_config'" left="940" top="940"]

// ボタン「Title」
//[btn id="100.title" file="$t.imgpath + 'btn_title'" left="1330" top="940"]

// ボタン「Exit」
//[btn id="100.exit" file="image/config/c0b_back" left="1650" top="940"]

// ボタン「ページ番号」
[var name = "t.i" data = "1"]
[loop estimate = "$t.i <= g.slot_page"]
	[if estimate="$page != t.i"]
		[btn id="$'100.page.' + t.i"  file="$t.imgpath + 'btn_p' + t.i" ]
	[else]
		[lyc id = "$'100.page.' + t.i" file="$os_name_path + t.imgpath + 'btn_p' + t.i + '_ok'"]
	[/if]
	[var name = "t.i" data = "$t.i + 1"]
[/loop]

[return]
/////////////////
*setting_page
// ■ ページ画像の調整
[debugprint level="2" data="【通知】ページ画像を調整します。"]

// ボタン「Load」
//[btn_on id="100.load" file="system/load.iet" label="goto_load" effect = "on"]

// ボタン「Config」
//[btn_on id="100.config" file="system/load.iet" label="goto_config" effect = "on"]

// ボタン「Title」
//[btn_on id="100.title" file="system/load.iet" label="goto_title" call="0" effect = "on"]

// ボタン「Exit」
//[btn_on id="100.exit" file="system/load.iet" label="leave" effect = "on"]

// ページ番号
[var name = "t.i" data = "1"]
[loop estimate = "$t.i <= g.slot_page"]
	[if estimate="$page != t.i"]
		[btn_on id="$'100.page.' + t.i" file="system/load.iet" label="calc_page" varname="page" data="$t.i" effect = "on"]
	[else]
		[lyprop id="$'100.page.' + t.i" alpha="255" visible="1"]
	[/if]
	[var name = "t.i" data = "$t.i + 1"]
[/loop]

[return]
/////////////////
*read_thumb_new
// ■ Newアイコンの読み込み
// 最新のセーブスロット＆１つ前のセーブスロットをNewなどのアイコンで表示

[debugprint level="2" data="【通知】New画像を設定します。"]
[debugprint level="1" data="$'New画像スロット：' + g.saveslot_new"]

[if estimate="$g.saveslot_new >= slot_p_start && g.saveslot_new <= slot_p_end && g.saveslot_new != 0"]
	[lyc2 id="$'100.thumb.new'" file="$t.imgpath + 'thumb_new'"]
	[var name="t.thumb_new_left" data="$g.thumb_new_left + g.thumb_margin_r * ((g.saveslot_new - slot_p_start) % g.slot_col) + g.thumb_width  * ((g.saveslot_new - slot_p_start) % g.slot_col)"]
	[var name="t.thumb_new_top"  data="$g.thumb_new_top  + g.thumb_margin_b * ((g.saveslot_new - slot_p_start) / g.slot_col) + g.thumb_height * ((g.saveslot_new - slot_p_start) / g.slot_col)"]
//	[debugprint level="1" data="$'新サムネイル配置（X）' + t.thumb_new_left"]
	[debugprint level="1" data="$'新サムネイル配置（Y）' + t.thumb_new_top"]
	[lyprop id="$'100.thumb.new'" left="$t.thumb_new_left" top="$t.thumb_new_top"]
[/if]
[return]
/////////////////
*update_slot_msg
// ■ スロットメッセージの更新
// データブロックのメッセージレイヤを初期化
[call file="system/msg.iet" label="erase_rclick_text"]
[call file="system/msg.iet" label="init_rclick"]
[call file="system/msg.iet" label="disable_rclick_link"]

// オートセーブデータには固定文字を入れる
[var name="t.foundf" system="file_exists" file="autosave.dat" save="1"]
[if estimate = "$t.foundf != 0"]
	[if estimate = "$g.language == 0 || g.language == 'jp'"]
		[var name="$'g.' + g.savedata.prefix + 'save_msg_tag1.0'" data="print,data,不意に終了した場合は
こちら"]
	[else]
		[var name="$'g.' + g.savedata.prefix + 'save_msg_tag1.0'" data="print,data,If you ended suddenly
Click this."]
	[/if]
	[var name = "$'g.' + g.savedata.prefix + 'save_msg_num1'" data = "1"]
[else]
	[var name = "$'g.' + g.savedata.prefix + 'save_msg_num1'" data = "0"]
[/if]

[var name = "t.noexist_0" data = "----/--/--"]
[var name = "t.noexist_1" data = "--:--:--"]


// ループ処理が多いので、Luaで書く
[lua]
function luaLoadInfomationWrite(e)
	-- カウンタ
	local i = 0

	-- セーブファイルの日時を変数に取得する
	for i = tonumber(e:var("slot_p_start")),tonumber(e:var("slot_p_end")) do		-- 1ページ目1番目のスロットにはオートセーブの情報を取得するようにする
		if(e:var("page") == '1')and(i == 1)then
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_date", system = "file_update_time", file = e:var("s.savepath") .. "/autosave.dat", format = "yyyy/MM/dd", noexist = e:var("t.noexist_0")}
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_time", system = "file_update_time", file = e:var("s.savepath") .. "/autosave.dat", format = "hh:mm:ss", noexist = e:var("t.noexist_1")}
		else
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_date", system = "file_update_time", file = e:var("s.savepath") .. "/" .. e:var("g.savedata.prefix") .. "save_" .. i .. ".dat", format = "yyyy/MM/dd", noexist = e:var("t.noexist_0")}
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_time", system = "file_update_time", file = e:var("s.savepath") .. "/" .. e:var("g.savedata.prefix") .. "save_" .. i .. ".dat", format = "hh:mm:ss", noexist = e:var("t.noexist_1")}
		end

		if(e:var(e:var("g.savedata.prefix") .. "save_" .. i .. "_date") == '0')then
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_date", data = " "}
		end
		if(e:var(e:var("g.savedata.prefix") .. "save_" .. i .. "_time") == '0')then
			e:tag{"var", name = e:var("g.savedata.prefix") .. "save_" .. i .. "_time", data = " "}
		end
	end


	-- 変数の追加
	local pagenum = tonumber(e:var("g.slot_max")) * (tonumber(e:var("page")) - 1 )


	for i = 1, (tonumber(e:var("slot_p_end")) - tonumber(e:var("slot_p_start")) + 1) do
		e:tag{"chgmsg", id = "101.sblock." .. i}

		-- 1行目は日付と時刻
		e:tag{"print", data = e:var(e:var("g.savedata.prefix") .. "save_" .. (i + pagenum) .. "_date")}
		e:tag{"print", data = " "}
		e:tag{"print", data = e:var(e:var("g.savedata.prefix") .. "save_" .. (i + pagenum) .. "_time")}
		e:tag{"rt"}

		-- 2行目は、章などの名前
		local p_data = e:var("g." .. e:var("g.savedata.prefix") .. "save_labelname_" .. (i + pagenum))

		if(p_data == '0')or(p_data == nil)then
			e:tag{"print", data = " "}
		else
			e:tag{"print", data = p_data}
		end
		e:tag{"rt"}

		-- 3行目は、文章を取得できたら表示する
		-- 4行目は、文章を取得できたら表示する
		local get_msg = e:var("g." .. e:var("g.savedata.prefix") .. "save_msg_num" .. (i + pagenum))
		e:debug("【通知】取得したメッセージタグ数 :" .. get_msg)

		if(get_msg ~= '0')or(get_msg ~= nil)then
			--e:tag{"print", data = ""}

			-- カウンタの追加
			local j = 0
			for j = 0,(tonumber(e:var("g." .. e:var("g.savedata.prefix") .. "save_msg_num" .. (i + pagenum))) - 1) do
				e:tag{"tag", data = e:var("g." .. e:var("g.savedata.prefix") .. "save_msg_tag" .. (i + pagenum) .. "." .. j)}
			end
		else
			--e:tag{"print", data = ""}
		end
		-- wait0で文字描画の開始
		e:tag{"wait", time = 0}
		e:tag{"/chgmsg"}
	end
end
[/lua]
[calllua function = "luaLoadInfomationWrite"]


// 以下残しておく
/*
// セーブファイルの日時を変数に取得する
[var name="t.i" data="$slot_p_start"]
[loop estimate="$t.i <= slot_p_end"]
	[if estimate="$page == 1 && t.i == 1"]
		// 1ページ目1番目のスロットにはオートセーブの情報を取得するようにする
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_date'" system="file_update_time" file="$s.savepath + '/' + 'autosave.dat'" format="yyyy/MM/dd" noexist="----/--/--"]
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_time'" system="file_update_time" file="$s.savepath + '/' + 'autosave.dat'" format="hh:mm:ss" noexist="--:--:--"]
	[else]
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_date'" system="file_update_time" file="$s.savepath + '/' + g.savedata.prefix + 'save_'+ t.i + '.dat'" format="yyyy/MM/dd" noexist="----/--/--"]
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_time'" system="file_update_time" file="$s.savepath + '/' + g.savedata.prefix + 'save_'+ t.i + '.dat'" format="hh:mm:ss" noexist="--:--:--"]
	[/if]
	//
	[if estimate="$g.savedata.prefix + 'save_'+ t.i +'_date' == 0"]
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_date'" data=" "]
	[/if]
	[if estimate="$g.savedata.prefix + 'save_'+ t.i +'_time' == 0"]
		[var name="$g.savedata.prefix + 'save_'+ t.i +'_time'" data=" "]
	[/if]
[var name="t.i" data="$t.i + 1"]
[/loop]
//[debugprint data="$'ページ : ' + page"]
//[debugprint data="$'ページの初項 - 1 : ' + g.slot_max * ( page - 1 )"]

[var name="t.i" data="1"]
[loop estimate="$t.i <= (slot_p_end - slot_p_start + 1)"]

//	[debugprint data="$'文字描画中のセーブブロック : ' + t.i"]
//	[debugprint data="$'t.i : ' + t.i"]
//	[debugprint data="$'セーブ番号 : ' + (t.i + g.slot_max * ( page - 1 ))"]
//	[debugprint data="$'101.sblock. : ' + '101.sblock.' + t.i"]

	[chgmsg id="$'101.sblock.' + t.i"]
//	[debugprint level="2" data="$'【通知】現在のメッセージレイヤ : ' + s.current_message_layer"]
		// 1行目は日付と時刻
		[print data="$$g.savedata.prefix + 'save_'+ (t.i + g.slot_max * ( page - 1 )) +'_date'"]
		[print data=" "]
		[print data="$$g.savedata.prefix + 'save_'+ (t.i + g.slot_max * ( page - 1 )) +'_time'"][rt]
		// 2行目は、章などの名前
		//[font size="40" stack="1"]
//		[if estimate="$(t.i + g.slot_max * ( page - 1 )) < 10"][print data="0"][/if]	// 0埋め
//		[print data="$'' + (t.i + g.slot_max * ( page - 1 ))"]	// セーブデータ番号
		[var name="t.data" data="$$'g.' + g.savedata.prefix + 'save_labelname_' + (t.i + g.slot_max * ( page - 1 ))"]
		[if estimate="$t.data == 0"][print data="　"][else][print data="$t.data"][/if]
		[rt]
		// 3行目は、文章を取得できたら表示する
		// 4行目は、文章を取得できたら表示する
		[var name="get_mainmsg" data="$$'g.' + g.savedata.prefix + 'save_msg_num'+ (t.i + g.slot_max * ( page - 1 ))"]
//		[debugprint level="2" data="$'【通知】取得したメッセージタグ数 : ' + get_mainmsg"]
		[if estimate="$get_mainmsg != 0"]
		//	[print data=""]
			[var name = "t.j" data = "0"]
			[loop estimate = "$t.j < g.(g.savedata.prefix)save_msg_num(t.i + g.slot_max * ( page - 1 ))"]
				[tag data="$$'g.' + g.savedata.prefix + 'save_msg_tag'+ (t.i + g.slot_max * ( page - 1 )) + '.' + t.j"]
				//[dialog title = "$t.j + '/' + g.(g.savedata.prefix)save_msg_num(t.i + g.slot_max * ( page - 1 ))" message="$$'g.' + g.savedata.prefix + 'save_msg_tag'+ (t.i + g.slot_max * ( page - 1 )) + '.' + t.j""]
				[var name = "t.j" data = "$t.j + 1"]
			[/loop]

		[else]
		//	[print data=""]
		[/if]
	[/chgmsg]
	[var name="t.i" data="$t.i + 1"]
[/loop]
*/
[return]
////////////////////////////////////////////////
*layered_blockmessage
[var name="t.i" data="1"]
[loop estimate="$t.i <= (slot_p_end - slot_p_start + 1)"]
	[chgmsg id="$'101.sblock.' + t.i" layered = "1"]
	[var name="t.i" data="$t.i + 1"]
	[/chgmsg]
[/loop]
[return]
////////////////////////////////////////////////
*unlayered_blockmessage
[var name="t.i" data="1"]
[loop estimate="$t.i <= (slot_p_end - slot_p_start + 1)"]
	[chgmsg id="$'101.sblock.' + t.i" layered = "0"]
	[var name="t.i" data="$t.i + 1"]
	[/chgmsg]
[/loop]
[return]
////////////////////////////////////////////////
*dummy
[return]
//////////////////////////////////////////////////
*last
[return]
