/*

	polydemo_w32a.h

	    海上デモ用ステージ



	2000/09/29 H.Yoshiike         

	$Id: polydemo_w32a.h,v 1.52 2001/09/28 10:07:02 usr03635 Exp $                      



	

*/



/*

注意！　以下のevalは、stdch.hとdemo_stdch.h中の2Dレイアウトドライバ 

の二重呼びを回避するためのものです。各"polydemo_***.h" のこの位置、

include の前に必ずおくこと！！

*/

/* 絶対ここ！　場所も変えない！ */

eval($s:d_num = co_game_demo_stage)

/* 以上！ */



// include

// ------------------------------------

#include "5sec_bfr_demo.h"

#include "demo_stdch.h"

#include "demo_stdch2.h"

#include "demo_vardef.h"



#include "sea_surface.h"



// ↓w32_common.h でインクルード済み

//#include "p_force_cdc.ch"



#define	KMS_W32DEMO_0	w32demo_21a

#define	KMS_W32DEMO_1	w32demo_23a

#define	KMS_W32DEMO_2	w32demo_31a

#define	KMS_W32DEMO_3	w32demo_g

#define	KMS_W32DEMO_4	w32demo_kl

#define	KMS_W32DEMO_5	w32demo_l



#define	LT2_NAME		w32a



#if d:PLANT_DEMO_ALL_SKIP

	#define		DEMO_SKIP_ENABLE 1

#else

	#define		DEMO_SKIP_ENABLE 0

#endif





//###################################################################################

//								ストーリーフラグ & デモ再生

//###################################################################################

command マップ設定 海上１ -set {



// デモ環境かどうか。

#if d:MGS2_DEMO



	// 不要プログラムの起動阻害

//		eval($s:d_num = P036_04_p03)

//		eval($s:d_num = P065_05_p04)

		eval($s:d_num = P069_01_p01)



		@エマの滲み血セット



chara デモアクトデバッグ demodebug  -i t:p069_03_p02 -d 'p069_03_p02' -l   \

			-p  浮き橋３オフ 浮き橋３オン \

				浮き橋１オフ 浮き橋１オン \

				滲み血アニメ開始 滲み血アニメ停止



#else



	//	かつら等対応

	// ゲームから入ってくるので、== で条件を見る

	if($w:p_story == d:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１開始) {

		print'd:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１開始'



		@デモモデル差し替え処理



		/* ヴァンプ出現　エマを羽交い締め　ゲームへ */



		// デモ特有の変数代入

		eval($s:d_num = P068_01_p01)

		// polydemo_**.h の最初のデモの時には必ず呼ぶこと。レーダー明示的にオフさせる。

		@デモではレーダー不要



		// ナイトビジョンと赤外線ゴーグルは海面キラキラを消してしまうので、

		// 装備していたらはずしてしまう。

		if ( ($w:アイテム == d:アイテム:暗視ゴーグル) || \

			 ($w:アイテム == d:アイテム:サーマルゴーグル) ) {

			eval($w:アイテム = d:アイテム:素手);

		}



		proc デモ再生_P068_01_p01 {

			chara demo デモ再生 \

				-i t:p068_01_p01 \

				-p 浮き橋３オフ 浮き橋３オン \

				   滲み血アニメ開始 滲み血アニメ停止 \

				   浮き橋１オフ 浮き橋１オン \

				-rename_evm rai_def_mh_mt rai_gbs_raihead_mh_mt \

				-next P068_01_p01終了x

		}



		@デモ再生_P068_01_p01



	// ゲームから入ってくるので、== で条件を見る

	} else if($w:p_story == d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１開始) {

		print'd:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１開始'



		@デモモデル差し替え処理



		/* ヴァンプ倒す　エマよろめき倒れる */



		// デモ特有の変数代入

		eval($s:d_num = P069_01_p01)

		// polydemo_**.h の最初のデモの時には必ず呼ぶこと。レーダー明示的にオフさせる。

		@デモではレーダー不要



		// ナイトビジョンと赤外線ゴーグルは海面キラキラを消してしまうので、

		// 装備していたらはずしてしまう。

		if ( ($w:アイテム == d:アイテム:暗視ゴーグル) || \

			 ($w:アイテム == d:アイテム:サーマルゴーグル) ) {

			eval($w:アイテム = d:アイテム:素手);

		}



		proc デモ再生_P069_01_p01 {

			chara demo デモ再生 \

				-i t:p069_01_p01 \

				-p 浮き橋３オフ 浮き橋３オン \

				   滲み血アニメ開始 滲み血アニメ停止 \

				   浮き橋１オフ 浮き橋１オン \

				-rename_evm rai_def_mh_mt rai_gbs_raihead_mh_mt \

				-next P069_01_p01終了

		}



		@デモ再生_P069_01_p01



	} else if( d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１終了 <= $w:p_story && \

					$w:p_story < d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１開始) {

		print'd:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１開始'

		eval($w:p_story = d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１開始)



		/* スネーク強制コール　スネークがエマの状態を知らせてくる */



		// デモ特有の変数代入

		eval($s:d_num = P069_02_r01)



		@サウンドマネージャーセット

		@サウンドマネージャー_mesg_1



		@rt_P069_02_R01ヴァンプ狙撃終了２無線機デモ１



		/* P069_02_r01終了 */

		/*

		eval($w:p_story = d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１終了)

		// ゲームステージでのシナリオデモへ

		@ゲームステージへ戻る

		@mv_w32a_w20a2_0

		*/



	// デモの時以外は、以下を通過する。

	} else if($w:p_story == d:ST:P069_03_P02ヴァンプ狙撃終了２ポリゴンデモ２開始) {

		print'd:ST:P069_03_P02ヴァンプ狙撃終了２ポリゴンデモ２開始'



		@デモモデル差し替え処理



		/* ライデンオイルフェンス上を駆ける */



		// デモ特有の変数代入

		eval($s:d_num = P069_03_p02)

		// polydemo_**.h の最初のデモの時には必ず呼ぶこと。レーダー明示的にオフさせる。

		@デモではレーダー不要



		// ナイトビジョンと赤外線ゴーグルは海面キラキラを消してしまうので、

		// 装備していたらはずしてしまう。

		if ( ($w:アイテム == d:アイテム:暗視ゴーグル) || \

			 ($w:アイテム == d:アイテム:サーマルゴーグル) ) {

			eval($w:アイテム = d:アイテム:素手);

		}



		@サウンドマネージャーセット２

		@サウンドマネージャー_mesg_1



		chara delay ディレイ -time 1 -exec{

			@サウンドマネージャー_mesg_2

		}





		proc デモ再生_P069_03_p02 {

			chara demo デモ再生 \

				-i t:p069_03_p02 \

				-p 浮き橋３オフ 浮き橋３オン \

				   滲み血アニメ開始 滲み血アニメ停止 \

				   浮き橋１オフ 浮き橋１オン \

				-rename_evm rai_def_mh_mt rai_gbs_raihead_mh_mt \

				-next P069_03_p02終了

		}



		@デモ再生_P069_03_p02



	} else {



		// このフラグが立っていると、親（ゲームの）GCLの方で必要なキャラが起動する。

		@ゲームステージへ戻る



	}



#endif



	// デモ仕様のセット

	if($s:d_num != not_demo){



		// デモキャンセルは全てのデモで共通につかう

		chara デモキャンセルチェック デモキャンセル \

			-p demo_cancel



	#if 0

		@demo_フォグ設定

		@demo_エフェクト設定

		@demo_海面設定

		@demo_浮き橋１

		@demo_浮き橋２

		@demo_浮き橋３



	

	#else

		command 水位設定 -lv -40000



		if($s:d_num != P069_02_r01) {

			@フォグ設定

		}



		@海面設定

		@拡張海面設定

		@demo_空設定

		@遠景モデル

	#endif



		// エマが出血するのは、刺されデモで。

		if($s:d_num == P069_01_p01){

			@エマの滲み血セット

		}



		// 無線ではシネマスクリーン起動しない

		if($s:d_num != P069_02_r01){

			@demo_シネマスクリーン設定

		}

	}





} // 「command マップ設定 海上１」の閉じカッコ





//初期マップの表示

// ゲームgclの方で実施









//###################################################################################

//									デモのみ仕様各種

//###################################################################################

// ダミープロック

proc dummy_proc {}



// デモキャンセル

proc demo_cancel {

	command StreamStopAll

}



// リスタート

proc restart_proc {

	restart

}



// シネマスクリーン

proc シネマスクリーンセット {

	chara シネマスクリーン シネマ \

		-top d:CINEMA_BELT_UPPER \

		-bottom d:CINEMA_BELT_LOWER \

		-ftime 60	//デフォルト値（ゼロは駄目）

	mesg シネマスクリーン シネマ フェードアウト 1

}





proc P068_01_p01終了x {

	@デモ終了時シネマスクリーンオフ

	mesg デモキャンセルチェック デモキャンセル kill



	print '$w:p_story = d:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１終了'

	eval($w:p_story = d:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１終了)



	chara delay ディレイ \

		-time 1 \ 

		-exec{

			//	ゲーム用へフラグを変更する

			@ゲームステージへ戻る

			if($w:アイテム == d:アイテム:ゴル兵制服){

				//	レジデントゼロへ読み替える

				load "w32b" -r 'r_plt0'

			} else {

				// ゲームへ

				restart -s

			}

		}

}



proc P069_01_p01終了 {

	@デモ終了時シネマスクリーンオフ

	mesg デモキャンセルチェック デモキャンセル kill



	print '$w:p_story = d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１終了'

	eval($w:p_story = d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１終了)



	chara delay ディレイ \

		-time 1 \ 

		-exec{

			restart

		}

}



proc P069_03_p02終了 {

	@デモ終了時シネマスクリーンオフ

	mesg デモキャンセルチェック デモキャンセル kill



	// 注意！ ここのストーリーフラグはイレギュラーな動きをします。

	// この後はゲームに戻っていたのですが、ポリデモが追加になりました。

	// 通常、無線終了フラグがたち、ポリデモ開始フラグが立ちますが、

	// 無線終了フラグを見ている個所が複数あり、それをすべて修正し検証する時間はありません。

	// そのためここだけ、無線開始->ポリデモ開始->ポリデモ終了->無線終了という形にします。

	print '$w:p_story = d:ST:P069_03_P02ヴァンプ狙撃終了２ポリゴンデモ２終了'

	eval($w:p_story = d:ST:P069_03_P02ヴァンプ狙撃終了２ポリゴンデモ２終了)

	eval($w:p_story = d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１終了 );



	chara delay ディレイ \

		-time 1 \ 

		-exec{

			@ゲームステージへ戻る

			@mv_w32a_w20a2_0

		}

}



/*

proc P069_02_r01終了 {

		eval($w:p_story = d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１終了)

		// ゲームステージでのシナリオデモへ

		@ゲームステージへ戻る

		@mv_w32a_w20a2_0

}

*/







//###################################################################################

//									 ドア＆マップ切り替え

//###################################################################################







//###################################################################################

//									オブジェクト

//###################################################################################





//###################################################################################

//									 エフェクト

//###################################################################################



	proc demo_シネマスクリーン設定 {

		chara シネマスクリーン シネマ \

			-top d:CINEMA_BELT_UPPER \

			-bottom d:CINEMA_BELT_LOWER \

			-ftime 60	//デフォルト値（ゼロは駄目）

			mesg シネマスクリーン シネマ フェードアウト 1

	}



	proc demo_エフェクト設定 {

//			chara ブラー ブラー

//			chara Ｚフォーカス管理 Z_manager

//			mesg Ｚフォーカス管理 Z_manager パラメータ 5000 30

			chara ＯＦＦ制御 off_man

			mesg ＯＦＦ制御 off_man ボディシャドウＯＦＦ

	}





	// エマの滲み血

	proc エマの滲み血セット {

		if(($w:コンフィグ設定 & d:CONFIG_BLOOD_OFF) == 0) {

			print '滲み血セット'

			chara アニメテクスチャセット エマ滲み血 \

				-tex zzz_ema_ooze_blood_mh ema_ooze_blood00_alp_ovl \

				-anmtex ema_ooze_blood \

				-interval 4 \

				-flag 0x0002 // 停止状態で起動

		}

	}



	proc 滲み血アニメ開始 {

		mesg アニメテクスチャセット エマ滲み血 start

	}

	proc 滲み血アニメ停止 {

		mesg アニメテクスチャセット エマ滲み血 stop

	}



	proc demo_空設定 {



//		7/13	向手修正

/*

		chara 汎用空 空 \

		-c 50 47 38 \

		-pos 52000 -40000 -210000 \ //　各ステージの空の位置

		-f 0 \

		-l 32 \

		-t 4 \

			sky_e1_alp 116 106 96 50 \

			sky_e2_alp 94 89 79 50 \

			0 0 0 0 0 \

			sky_e4_alp 78 73 66 50 \

		-m 3 \

			w32a_sky_wall1 47 35 21 -100 0 \

			w32a_sky_wall2 177 106 55 0 -400 \

			w32a_sky_wall3 157 114 58 0 -900





		chara 太陽 ソル \

			-p 52000 -40000 -210000 \    //中心の位置

			-f -1000 -210 -4500     //キャラ平行光源の-pと同じ値

*/



	@狙撃夕空	52000 -40000 -210000 -1000 -210 -4500

	}





//###################################################################################

//									 バックアップ

//###################################################################################



	proc demo_海面設定 {

		#if 0

			chara プラント海面 seaseasea \

				-tex oil oil_alp_ovl_mod0222 sky_evening_add_alp_ovl_mod1120 \

				-pos 60000,-40000,-200000 \

				-wave 6,196,21 \

				-rotate -217

		#else

			// w32a_game.h でデータをパック。その為、TRI名は sea_surface.h で

			// 使っているものではなく、記述も以下の通りとする。

			chara プラント海面 seaseasea \

				-tex oil s_oil_sea_alp_ovl_mod0022 s_oil_ref_add_alp_ovl_mod1120 \

				-w 2,2,6 \

				-l \

				-pos 75000,-40000,-150000

		#endif



//		command 水位設定 -lv -40000



	}



	proc 拡張海面設定 {

		chara 拡張海表示 sea_serface_ex		\

			-t	entyou_oil_sea	\

			-l 2 \

			-pos 52000,-40000,-210000

	}



	proc demo_浮き橋１ {

		chara 浮き橋 bridge_1 \

			-pos 57875,-40000,-206625 98125,-40000,-183375 \

			-n 10 \

			-model oilfence

	}

	proc demo_浮き橋２ {

		chara 浮き橋 bridge_2 \

			-p 104000,-40000,-173250 104000,-40000,-126750 \

			-n 10 \

			-model oilfence

	}

	proc demo_浮き橋３ {

		chara 浮き橋 bridge_3 \

			-p 98125,-40000,-116500 57875 -40000 -93250 \

			-n 10 \

			-model oilfence

	}

	proc 浮き橋１オフ {

		mesg 浮き橋 bridge_1 表示状態 0

	}

	proc 浮き橋１オン {

		mesg 浮き橋 bridge_1 表示状態 1

	}



	proc 浮き橋３オフ {

//		mesg 浮き橋 bridge_3 表示状態 0

	}

	proc 浮き橋３オン {

//		mesg 浮き橋 bridge_3 表示状態 1

	}



	proc demo_フォグ設定 {

		#if 1

			@プラントステージでのフォグセット 夕方狙撃イベント 0

		#else

			chara フォグ 霧\

				-c 139, 100, 52 \

				-n -16000 \

				-f 200000

		#endif

	}



	proc 遠景モデル {

		chara プットオブジェ w32demo0 \

			-m d:KMS_W32DEMO_0 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100



		chara プットオブジェ w32demo1 \

			-m d:KMS_W32DEMO_1 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100



		chara プットオブジェ w32demo2 \

			-m d:KMS_W32DEMO_2 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100



		chara プットオブジェ w32demo3 \

			-m d:KMS_W32DEMO_3 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100



		chara プットオブジェ w32demo4 \

			-m d:KMS_W32DEMO_4 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100



		chara プットオブジェ w32demo5 \

			-m d:KMS_W32DEMO_5 \

			-r 0 0 0 \

			-p 0,0,0 \

			-l d:LT2_NAME \

			-s 100 100 100

	}

	

	

// サウンド

proc サウンドマネージャーセット {

	chara サウンドマネージャー ＳＤマネ -pak -1		// パックをロードしない

}



proc サウンドマネージャー_mesg_1 {

	command セットサウンドコード -c d:SNG_PLAY_05

}



proc サウンドマネージャーセット２ {

	chara サウンドマネージャー ＳＤマネ -pak 1

}



proc サウンドマネージャー_mesg_2 {

	command セットサウンドコード -c 0xFB102000

}





