//////////////////////////////////////////////////
// 
// 2014/03/06
// s_e_beat
// アップデートパッケージ
// 
//////////////////////////////////////////////////
// Android　→　boot.iniでの自動DLバージョン想定
//        　　　root.pfs を強制削除する
// Windows　→　模索中（update.exeでもDLさせる？）
// iPhone 　→　知らない。Appleさん任せ。これ実行しないように。
//////////////////////////////////////////////////


*top
[dialog title = "仮スクリプト" message = "仮アップデートスクリプトへようこそ"]

//////////////////////////////////////////////////
// 設定
//////////////////////////////////////////////////

// バージョン確認データのURL
[if estimate = "$t.os == 'windows'"]
	// windows
	[var name = "t.update.url" data = "http://studioghau.sakura.ne.jp/download/yd_witch/version.txt"]
[else]
	// android
	[var name = "t.update.url" data = "http://studioghau.sakura.ne.jp/download/yd_witch/mobile/version.txt"]
[/if]

// Windows用update.exeのDL先ページURL
[var name = "t.update.win_url" data = "http://studioghau.sakura.ne.jp/download/yd_witch/root.pfs"]


// game data version
[var name = "t.update.version" data = "$g.gamedataversion"]


//////////////////////////////////////////////////
// 以下スクリプト
//////////////////////////////////////////////////
*start
// URL先から取得するデータの初期化
[var name = "t.update.urlcode" data = "0"]
[var name = "t.update.urldata" data = "0"]


// 確認ダイアログ
[var name="t.yesno" data="-1"]
[dialog title = "アップデート確認" message = "アップデートを開始します
安定した回線での確認を推奨します

インターネットに接続します" varname = "t.yesno"]

[if estimate="$t.yesno != 1"]
	// 何もしないエンド
	[jump label = "last"]
[/if]


//BGMが再生されていた場合、消音する
[var name = "t.updatesound" system = "get_sound_info"]
[if estimate = "$t.updatesound.playing != 0"]
	[bgm_fade time = "1000" gain = "0"]
	[wait time = "1000" input = "0"]
[/if]


// インターネット接続
[httpget url = "$t.update.url" varname_code = "t.update.urlcode" varname_data = "t.update.urldata"]

// インターネットエラーチェック
// code = 200 が成功条件ぽい
//[dialog message = "$t.update.urlcode"]
[if estimate = "$t.update.urlcode != 200"]
	// 確認ダイアログ
	[var name="t.yesno" data="-1"]
	[dialog title = "エラー" message = "$'インターネットエラー : ' + t.update.urlcode + '
' + t.update.urldata + '
再度接続しますか？'" varname = "t.yesno"]


	[if estimate="$t.yesno == 1"]
		// アップデート再度チャレンジ
		[jump label = "start"]
	[else]
		// 何もしないエンド
		[jump label = "cancel"]
	[/if]

[/if]


/////////以下正常にデータ取得完了/////////////

// 返ってきたテキスト内容がNGコードかどうかを判別
[var name = "t.find" data = "-1"]
[var name = "t.find" system = "find" source = "$t.update.urldata" string = "NG"]
// または変なデータかどうかを受け取った変数の長さで判別
[var name = "t.length" data = "-1"]
[var name = "t.length" system = "length" source = "$t.update.urldata"]

[if estimate = "$t.find >= 0 || t.length > 20"]
	// 確認ダイアログ
	[dialog title = "アップデート確認" message ="大変申し訳ございません
現在一時的にサービスをご利用いただけません
しばらくお待ちいただいた後、再度お試しください"]

	// 何もしないエンド
	[jump label = "cancel"]
[/if]


// アップデートの有無をチェック
[if estimate = "$t.update.version == t.update.urldata"]
	// 確認ダイアログ
	[dialog title = "アップデート確認" message = "$'現在のバージョン : ' + t.update.version + '
最新バージョン : ' + t.update.urldata + '
お使いのアプリケーションは最新です'"]

	// 何もしないエンド
	[jump label = "cancel"]
[/if]


// 確認ダイアログ
[var name="t.yesno" data="-1"]
[dialog title = "アップデート確認" message = "$'現在のバージョン : ' + t.update.version + '
最新バージョン : ' + t.update.urldata + '
アップデートを実行しますか？'" varname = "t.yesno"]

[if estimate="$t.yesno == 1"]
	// OSにより処理を変更する
	[var name="t.os" system="os"]
	[if estimate="$t.os == 'android'"]
		// 確認ダイアログ
		[dialog title = "アップデートを開始します" message = "現在のバージョンを消去します
OKを押した後、アプリを再起動してください"]

		// root.pfs消去
		[file command = "delete" target = "root.pfs"]
		// 強制終了
		[exit]
	[else]
		// 確認ダイアログ
		[var name="t.yesno" data="-1"]
		[dialog title = "アップデート" message = "HPよりupdate.exeをDLしてください(アップデートパッチページを開くか、exeをDLさせればいいかなと思います)
現状パッケージファイルをまんまDLしますので、置き換えてください。" varname = "t.yesno"]
		[if estimate="$t.yesno == 1"]
			[openbrowser url="$t.update.win_url"]
			[jump label = "cancel"]
		[else]
			// 何もしないエンド
			[jump label = "cancel"]
		[/if]
	[/if]

[else]
	// 何もしないエンド
	[jump label = "cancel"]
[/if]

[return]

//////////////////////////////////////////////////
// アップデート実行スクリプト
// ※一番最初に読み込むこと（Androidのみ）
//////////////////////////////////////////////////
*update_manager
// 現状なにもしない
[return]
//////////////////////////////////////////////////
*cancel
//BGMが再生されていた場合、元に戻す
[var name = "t.updatesound" system = "get_sound_info"]
[if estimate = "$t.updatesound.playing != 0"]
	[bgm_fade time = "1000" gain = "1000"]
[/if]
[return]
//////////////////////////////////////////////////

*last
[return]
