/*
	画面スクリプト
		ゲームフロー制御

	システムを起動するとまずこのスクリプトが自動実行されます。
	また、このスクリプトが終了するとシステムが終了します。
*/


////////////////////////////////////
// 最初はここから
#START
	/////////////////////////////////
	// 各種フラグをリセット

	// タイトル画面の演出をスキップするかのフラグ
	$540 = 0

	// タイトル画面起動時に表示するボタンの種類
	$541 = 0

	// メッセージウィンドウ設定
	strvar 800 meswnd.xml		// 参照する設定ファイル名
	strvar 801 default			// 使用するウィンドウタイプ名

	// タイトル画面を起動
	next START_TITLE


////////////////////////////////////
// タイトル画面開始
#START_TITLE
	// 子スクリプトを終了
	endfes
	endkcs
	wait 1

	// タイトル画面スクリプトを実行
	execfes title

	// タイトル画面終了待ちへ
	next TITLE_WAIT


////////////////////////////////////
// タイトル画面終了待ち
#TITLE_WAIT
	if( _EXITCODE_ == 0 )	next START_GAME		// はじめからが選択された
	if( _EXITCODE_ == 1 )	next LOAD			// 続きからが選択された

	if( _EXITCODE_ == 10 )	next TUTORIAL		// チュートリアルが選択された

	if( _EXITCODE_ == 20 )	next EX_CGMODE		// ＣＧモードが選択された
	if( _EXITCODE_ == 21 )	next EX_SCENEMODE	// 回想モードが選択された
	if( _EXITCODE_ == 22 )	next EX_MUSICMODE	// 音楽モードが選択された

	if( _EXITCODE_ == 100 )	next QUIT			// ゲーム終了が選択された


////////////////////////////////////
// ゲームを開始（はじめから）
#START_GAME
	// 子スクリプトを終了
	endfes
	endkcs
	wait 1

	$512 = -1	// はじめからフラグ（-1を指定すると文字列変数200に設定されているシーンを実行する）
	$540 = 0	// タイトル画面に戻った時の演出指定をリセットする

	// シーンを実行
	execkcs sscript

	// シーン終了待ちへ
	next GAME_WAIT


////////////////////////////////////
// シーン終了待ち
#GAME_WAIT
	if( _EXITCODE_ != -1 )	next START_TITLE	// 終了したらタイトル画面へ


////////////////////////////////////
// タイトル画面で続きからが選択された
#LOAD
	// 子スクリプトを終了
	endfes
	wait 1

	$800 = 1	// ロード画面フラグ（セーブロード画面起動時にロード画面が開かれるようにする）
	$801 = 0	// ロード画面専用フラグ（タイトル画面から起動された事を通知）

	// セーブロード画面を実行
	execfes saveload

	// ロード画面終了待ちへ
	next LOAD_WAIT


////////////////////////////////////
// ロード画面終了待ち
#LOAD_WAIT
	if( _EXITCODE_ >= 0 )	// セーブデータが指定された
		// ロードするセーブNo
		$512 = _EXITCODE_

		// 子スクリプトを終了
		endfes
		wait

		// シーンを実行
		execkcs sscript

		// タイトル画面に戻った時の演出指定をリセットする
		$540 = 0
		
		// シーン終了待ちへ
		next GAME_WAIT
	endif

	if( _EXITCODE_ == -2 )	// キャンセルで戻ってきた
		// 子スクリプトを終了
		endfes
		wait

		// タイトル画面演出を省略する
		$540 = 1

		// タイトル画面へ
		next START_TITLE
	endif

	if( _EXITCODE_ == -3 )	//終了ボタンが押された
		// 子スクリプトを終了
		endfes
		wait

		// 終了処理へ
		next QUIT
	endif


////////////////////////////////////
// チュートリアルが選択された
#TUTORIAL
	// 実行されるシーンファイル名はタイトル画面スクリプト側で設定されるので
	// ここでは『はじめから』が選択された時と同じ処理になります。

	// 子スクリプトを終了
	endfes
	wait 1

	$512 = -1	// はじめからフラグ

	// シーンを実行
	execkcs sscript

	// シーン終了待ちへ
	next GAME_WAIT


////////////////////////////////////
// ＣＧモード
#EX_CGMODE
	// 子スクリプトを終了
	endfes
	wait 1

	// ＣＧモードを実行
	execfes cgmode

	// おまけモード終了待ちへ
	next EX_WAIT


////////////////////////////////////
// シーン回想モード
#EX_SCENEMODE
	// 子スクリプトを終了
	endfes
	wait 1

	// 回想モードを実行
	execfes scenemode

	// おまけモード終了待ちへ
	next EX_WAIT


////////////////////////////////////
// 音楽モード
#EX_MUSICMODE
	// 子スクリプトを終了
	endfes
	wait 1

	// 音楽モードを実行
	execfes musicmode

	// おまけモード終了待ちへ
	next EX_WAIT


////////////////////////////////////
// おまけモード終了待ち
#EX_WAIT
	if( _EXITCODE_ == 10 )	// CGモードへ移行
		next EX_CGMODE
	endif

	if( _EXITCODE_ == 11 )	// 回想モードへ移行
		next EX_SCENEMODE
	endif

	if( _EXITCODE_ == 12 )	// ＢＧＭモードへ移行
		next EX_MUSICMODE
	endif

	if( _EXITCODE_ == 20 )	// 回想を再生
		$512 = -2	// -2を設定すると回想モードとしてシーンが実行されます。
					// 実行されるシーン名は『はじめから』と同じで文字列変数200が参照されます

		// 子スクリプトを終了
		endfes
		wait

		// シーンを実行
		execkcs sscript

		// シーン回想終了待ちへ
		next SCENEPLAY_WAIT
	endif

	if( _EXITCODE_ == -2 )	// キャンセルで戻ってきた
		// 子スクリプトを終了
		endfes
		wait

		$540 = 1	// タイトル画面演出を省略

		// タイトル画面へ
		next START_TITLE
	endif

	if( _EXITCODE_ == -3 )	//終了ボタンが押された
		// 子スクリプトを終了
		endfes
		wait

		// 終了処理へ
		next QUIT
	endif


////////////////////////////////////
// 回想終了待ち
#SCENEPLAY_WAIT
	if( _EXITCODE_ != -1 )
		// 回想が終了した
		endkcs				// 子スクリプトを終了
		next EX_SCENEMODE	// 回想モード画面に戻る
	endif


////////////////////////////////////
// シーンセレクタが選択された時
// これはシーン選択ウィンドウからシーンが選択された時にシステムから呼ばれます
#_SCENE_SELECT_
	// 子スクリプトを終了
	endfes
	endkcs
	wait 1

	$512 = -10	// -10を指定するとシーン選択ウィンドウで選択されたシーンを再生します

	// シーンを実行
	execkcs sscript

	// シーン終了待ちへ
	next GAME_WAIT


////////////////////////////////////
// ゲーム終了
#QUIT
	// このスクリプトを終了させるとシステムも終了します
	exit 0
	next SLEEP



////////////////////////////////////
// スクリプト終了後の空ループ
#SLEEP



