/*

	a41a_photo.h

	    拷問部屋（アナザーミッション用モード別設定ファイル）



	2002/05/28 S.Kaneyoshi

	$Id: a41a_photo.h,v 1.25 2002/09/13 12:16:22 usr03682 Exp $

*/





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

// 各ミッション別で使用するdefine

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

#define	MISSION_PHOTO		1	// 写真撮影用プロック起動用



#include "dcam_alt.h"



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

// a_mode.hで呼び出されるプロック

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



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

// chara マップの前に呼ばれるproc

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

proc 写真撮影ミッション用マップ定義前設定 {

	command セットＶＲステータス d:VR_PHOTOGRAPH

	@全ミッション共通システム設定 d:VR_GOAL_FREE

	@写真撮影ミッションＶＲウィンドウ設定

	command セットルートオフセット d:SCN:写真撮影

	@ＶＲクリア設定 p:load_alt_photo_a24f p:A_ＲＥＴＲＹプロック

}



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

// chara マップ設定、常駐キャラ設定の後に呼ばれるproc

// ※ command マップ設定をしないと全マップに登録されます。

/* このステージで使用されるマップ名

拷問部屋

*/

/*************************************************************************************/

proc 写真撮影ミッション用マップ定義後設定 {

	// 全マップ共通で使用する基本キャラの設定

	command マップ設定 拷問部屋 -set {

		@各ミッション用ゴール表示 0 0 -100000



		@写真撮影ミッション用サウンド設定	// データは最初に呼ぶ

		@写真撮影ミッション用ローカル変数初期化

		@写真撮影ミッション用変数設定		// ドアのスイッチなどの変数を設定

		//@写真撮影ミッション用コマンダー設定

		@写真撮影ミッション用ＢＧＭ設定		// プレイヤー→敵兵→BGMの順で呼ぶ

		//@写真撮影ミッション用アイテム設置



		@おばちゃん設置

		//@ソリダス設置

		//@オルガ設置

		@ヴァンプ設置

		@オセロット設置

		@ファットマン設置

		@ライデン設置

		@スネークポスター設置



		@写真撮影用プロック



		#ifndef d:FIX_MODE

			@デバッグモーションチェック

		#endif

	}

}







/*************************************************************************************/

// クリアしたときの処理

/*************************************************************************************/

proc 写真撮影ミッション用クリア時処理 {

	#if d:DEBUG_PRINT

	print 'clear'

	#endif

}







/*************************************************************************************/

// サウンドに関する設定

/*************************************************************************************/

proc 写真撮影ミッション用サウンド設定 {

	#if d:DEBUG_PRINT

		print 'sound_set-bomb_misson'

	#endif



	@サウンドデータ常駐読み替え設定

	chara サウンドマネージャー ＳＤマネ \

		-pak 0



	//		ＳＥ設定

	@サウンド効果音設定

}



proc 写真撮影ミッション用ＢＧＭ設定 {

	#if d:DEBUG_PRINT

		print 'bgm_set-bomb_misson'

	#endif



	chara ＢＧＭマネージャー ＢＧＭマネ

}







/*************************************************************************************/

// 変数に関する設定

/*************************************************************************************/

proc 写真撮影ミッション用ローカル変数初期化 {



}

proc 写真撮影ミッション用変数設定 {

	#if d:DEBUG_PRINT

		print 'stage_var_set-bomb_misson'

	#endif



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

	// ドアに関する設定

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

	eval ($$b:ドアフラグ[0] = d:DOOR_FLAG_CLOSE);	// 廊下東ドア

	eval ($$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN);	// 廊下西ドア



	// 初期装備セット

	$w:アイテム数Ｒ[ d:アイテム:デジカメ ] = 1;

	command シナリオ前装備変更 -number d:アイテム:デジカメ



	$w:アイテム = d:アイテム:素手

	$w:武器 = d:武器:素手

}



proc 写真撮影ミッションＶＲウィンドウ設定 {

	#if d:DEBUG_PRINT

		print 'vr_window_set'

	#endif



	@ＶＲウィンドウ設定	\

			[VRMSG_J:ALT_PHT_a41a_SNA] [VRMSG_E:ALT_PHT_a41a_SNA] \	// 日、英

			[VRMSG_G:ALT_PHT_a41a_SNA] [VRMSG_F:ALT_PHT_a41a_SNA] \	// 独、仏

			[VRMSG_I:ALT_PHT_a41a_SNA] [VRMSG_S:ALT_PHT_a41a_SNA] \	// 伊、西

			[VRMSG_K:ALT_PHT_a41a_SNA] \							// 韓

			p:写真撮影ミッションステージ開始時処理					// 終了プロック





	// ＶＲウィンドウを表示する

	mesg ＶＲウィンドウ ＶＲウィンドウ君 開く



/*

	// スタート時とクリア時に使用するカットインカメラ

	chara カメラ カットインカメラ		-c 0 -l 0 -p  0



	// スタート時のカメラ(必要な場合)

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p 43,8528,-1398 -t -43,5745,-5427 \

		-r 394,2062,0 -f 4897 \

		-a 200 \

		-i 0 -1 0 0 \

		-s 1

*/

}



/*************************************************************************************/

// ステージ開始時処理

/*************************************************************************************/

proc 写真撮影ミッションステージ開始時処理 {

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



	// プレイヤーやパッドの制御等を行う a_stdproc.hで定義

	@全ミッション共通ステージ開始時処理



/*

	// カメラワークスタート(必要な場合)

	// 全体図

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p -90,17878,2163 -t -90,12036,-1689 \

		-r 644,2048,0 -f 6997 \

		-a 200 \

		-i 4 4 d:START_CAMERA_CHANGE_TIME d:START_CAMERA_CHANGE_TIME \

		-s 1



	chara delay ディレイ \

		-time d:START_CAMERA_CHANGE_TIME \

		-exec {

			chara カメラ設定 カットインカメラ -s -1

		}

*/

}



/*************************************************************************************/

// アイテムに関する設定

/*************************************************************************************/

	proc 写真撮影ミッション用アイテム取得時番号設定 $:ボックス名 {

	}





/*************************************************************************************/

// 犯人達設置

/*************************************************************************************/



	// おばちゃん

	proc おばちゃん設置 {

		chara プットモーションモデル おばちゃん \

			-pos 7250 0 4500 \

			-dir 3072 \

			-kms hos_femaleb_def_mt \

			-mar hosf_d \

			-number 0 \ 			//省略時０

			-status	( 0x04 )



		command スカート結合 -name おばちゃん

	}



	// ソリダス

	proc ソリダス設置 {

		chara プットモーションモデル ソリダス \

			-pos 6000 0 4500 \

			-dir 2048 \

			-kms sol_def_sh_mt \

			//-evm sol_def_mh_mt \

			-mar sol_w41a \

			-number 0 \ 			//省略時０

			-status	( 0x04 ) \

			-item sol_gantai_obj 12



		chara デモ蛇手 ソリダス蛇手 \

			-model sol_snakearm_mh_mt \

			-motion sol_snakearm_w41a \

			-parent ソリダス \

			-unit 2



		mesg デモ蛇手 ソリダス蛇手 flow 0

	}



	proc オルガ設置 {

		//	オルガ起動

		print 'オルガ'

		chara プットモーションモデル オルガ \

			-pos -5000 0 5000 \

			-dir 2048 \

			-kms org_plant_sh_mt \

			-mar w24e_orga \

			-number 0 \ 			//省略時０

			-status	( 0x04 )



		//	オルガ装備品

		chara 装備品Ｃ ピストル \

			-n demo_org_plant_hlst \

			-y オルガ \

			-z 0 \

			-x -117,93,72 \

			-f 1

		chara 装備品Ｃ 無線機 \

			-n demo_org_plant_radio \

			-y オルガ \

			-z 0 \

			-x 81,147,-77 \

			-f 1

		chara 装備品Ｂ ナイフ \

			-n demo_org_plant_ssk \

			-y オルガ \

			-z 0 \

			-x 112,47,87 \

			-q 17 \

			-p 37,-164,122

	}



	// ヴァンプ

	proc ヴァンプ設置 {

		chara プットモーションモデル ヴァンプ \

			-pos -5000 1600 5000 \

			-dir 0 \

			-x_dir 2048 \

			-kms vmp_naked_sh \

			-mar w31c_vmp_base \

			-number 0 \ 			//省略時０

			-status	( d:PUT_MOT_POS_RESET )

	}





	// オセロット

	proc オセロット設置 {

		//	オセロット起動



		chara プットモーションモデル オセロット \

			-pos 4000 0 4500 \

			-dir (3072+256) \

			-kms fat_def_sh_mt \

			-evm rev_plant_mh_mt \

			-mar w24e_rev \

			-number 0 \ 			//省略時０

			-status	( 0x04 ) \

			-proc オセロットプロック



		//	オセロット髪の毛

		chara ロープモデル３ オセロットの髪の毛 \

			-n rev_hair_fix \

			-d 4 \

			-y オセロット \

			-z 2 \

			-o 100 \

			-b rev_coat_bounding \

			-f 1 \

			-h 1







		chara プロック連続実行 オセロットチェック -time -1 -exec {

			if( $w:アイテム == d:アイテム:デジカメ ) {

				if( $$b:主観チェック == 0 && $$f:モーション再生中 == 0 ) {

					print 'カメラが装備されました'

					$$b:主観チェック = 1;

					$$f:モーション再生中 = 1;

					mesg プットモーションモデル オセロット プロック判定付き再生 9

					mesg プットモーションモデル オセロット 基本モーション変更 10



					mesg プットモーションモデル オセロット 初期座標

				}

			} else {

				if( $$f:モーション再生中 == 0 ) {

					if( $$b:主観チェック == 1 ) {

						$$b:主観チェック = 0;

						$$f:モーション再生中 = 1;

						mesg プットモーションモデル オセロット プロック判定付き再生 13

						mesg プットモーションモデル オセロット 基本モーション変更 0

					}

				}

			}



		}

	}



	proc オセロットプロック {

		print 'オセロットプロック'

		$$f:モーション再生中 = 0;

	}



	// ファットマン

	proc ファットマン設置 {

		chara プットモーションモデル ファットマン \

			-pos 300 0 5500 \

			-dir 0 \

			-kms fat_def_sh_mt \ 	//evmを表示する場合はダミーKMSが必要*/

			-mar fatman \

			-number 38 \ 			//省略時０

			-status	( 0x04 | d:PUT_MOT_POS_RESET )

	}



	// 裸ライデン

	proc ライデン設置 {

		trap no_crouch d:PLAYER \

			-mask いる \

			-exec {

				command プレイヤー死体歩き

			}

		@SS_進入禁止エリア設定 匍匐禁止壁 0 275 -2500 -1250 -750 -1250 拷問部屋

		@SS_進入禁止エリア設定 匍匐禁止壁 0 275 -2500 -2250 -750 -2250 拷問部屋

		@SS_進入禁止エリア設定 匍匐禁止壁 0 275 -2500 -1250 -2500 -2250 拷問部屋

		@SS_進入禁止エリア設定 匍匐禁止壁 0 275 -750 -1250 -750 -2250 拷問部屋



		chara プットモーションモデル 死にライデン \

			-pos -1800 0 -1750 \

			-dir 3072 \

			-kms rai_dead_for_subs \ 	//evmを表示する場合はダミーKMSが必要*/

			-mar rai_naked \

			-number 15 \ 			//省略時０

			-item rai_hair_shadow_mt 12 \	// 簡易鬘

			-status	( 0x04 | d:PUT_MOT_WAIT )

/*

		chara マルチウェイト髪の毛モデル ライデン髪の毛 \

			-n d:HAIR_MODEL \

			-b d:BOUND_MODEL \

			-d 0 \

			-y 死にライデン \

			-z 12 \

			-x 0,0,0 \

			-o 100 \

			-f 1 \

			-c 3 { 2 11 12 } \

			-q 0

*/



		eval( $b:髪の毛パラメータ = d:NORMAL_HAIR );



	}



	// スネークポスター

	proc スネークポスター設置 {

		chara プットオブジェ スネークポスター \

			-m a41a_pos01 \

			-r 0 3072 0 \

			-p 10499 2500 -5000 \

			-l d:LT2_NAME

	}



	// 進入禁止エリア設定

	proc SS_進入禁止エリア設定 $:壁の名前 $:床の高さ $:壁の高さ $:頂点１Ｘ $:頂点１Ｚ $:頂点２Ｘ $:頂点２Ｚ $:マップ名 {



		chara 透明壁 $:壁の名前 \

			-position  $:頂点１Ｘ $:床の高さ $:頂点１Ｚ $:壁の高さ \

				       $:頂点２Ｘ $:床の高さ $:頂点１Ｚ $:壁の高さ \

			-attribute (d:HZX_SEG_ATR_ALL & ~(d:HZX_SEG_NO_PLAYER)) \

			-map       $:マップ名

		chara 透明壁 $:壁の名前 \

			-position  $:頂点２Ｘ $:床の高さ $:頂点１Ｚ $:壁の高さ \

				       $:頂点２Ｘ $:床の高さ $:頂点２Ｚ $:壁の高さ \

			-attribute (d:HZX_SEG_ATR_ALL & ~(d:HZX_SEG_NO_PLAYER)) \

			-map       $:マップ名

		chara 透明壁 $:壁の名前 \

			-position  $:頂点２Ｘ $:床の高さ $:頂点２Ｚ $:壁の高さ \

				       $:頂点１Ｘ $:床の高さ $:頂点２Ｚ $:壁の高さ \

			-attribute (d:HZX_SEG_ATR_ALL & ~(d:HZX_SEG_NO_PLAYER)) \

			-map       $:マップ名

		chara 透明壁 $:壁の名前 \

			-position  $:頂点１Ｘ $:床の高さ $:頂点２Ｚ $:壁の高さ \

				       $:頂点１Ｘ $:床の高さ $:頂点１Ｚ $:壁の高さ \

			-attribute (d:HZX_SEG_ATR_ALL & ~(d:HZX_SEG_NO_PLAYER)) \

			-map       $:マップ名

	}







	proc デバッグモーションチェック {

		#include "usbkbd.h"

		chara USBキーボード実行 ＵＳＢキーボード \

			// 死にライデン

			-e d:KPD_1	{

				$$i:モーション番号 = $$i:モーション番号 + 1;

				print $$i:モーション番号

				mesg プットモーションモデル ヴァンプ 初期座標

				mesg プットモーションモデル ヴァンプ 終了判定 $$i:モーション番号

			} \

			-e d:KPD_2	{

				$$i:モーション番号 = $$i:モーション番号 - 1;

				print $$i:モーション番号

				mesg プットモーションモデル ヴァンプ 初期座標

				mesg プットモーションモデル ヴァンプ 終了判定 $$i:モーション番号

			} \

			// ファットマン

			-e d:KPD_4	{

				$$i:モーション番号 = $$i:モーション番号 + 1;

				print $$i:モーション番号

				mesg プットモーションモデル ファットマン 初期座標

				mesg プットモーションモデル ファットマン 終了判定 $$i:モーション番号

				//mesg デモ蛇手 ソリダス蛇手 motion $$i:モーション番号

			} \

			-e d:KPD_5	{

				$$i:モーション番号 = $$i:モーション番号 - 1;

				print $$i:モーション番号

				mesg プットモーションモデル ファットマン 初期座標

				mesg プットモーションモデル ファットマン 終了判定 $$i:モーション番号

				//mesg デモ蛇手 ソリダス蛇手 motion $$i:モーション番号

			} \

			// オセロット

			-e d:KPD_7	{

				$$i:モーション番号 = $$i:モーション番号 + 1;

				print $$i:モーション番号

				mesg プットモーションモデル オセロット 初期座標

				mesg プットモーションモデル オセロット 終了判定 $$i:モーション番号

			} \

			-e d:KPD_8	{

				$$i:モーション番号 = $$i:モーション番号 - 1;

				print $$i:モーション番号

				mesg プットモーションモデル オセロット 初期座標

				mesg プットモーションモデル オセロット 終了判定 $$i:モーション番号

			} \

			// ヴァンプ

			-e d:KPD_0	{

				mesg プットモーションモデル オルガ 終了判定 56



			} \

			-e d:KPD_PERIOD	{

				$$i:モーション番号 = $$i:モーション番号 - 1;

				print $$i:モーション番号

				mesg プットモーションモデル オルガ 初期座標

				mesg プットモーションモデル オルガ 終了判定 $$i:モーション番号

			}

	}



/*************************************************************************************/

// 写真撮影用プロック

/*************************************************************************************/



	proc 写真撮影用プロック {



		command カメラ撮影時プロック -proc 撮影時プロック



		command カメラチェックキャラワーク確保

		command カメラチェック面ワーク確保



		// ファットマンチェック

		command カメラチェックキャラ登録 \

			-name ファットマン \

			-joint 12 \

			-far 1 \

			-proc ファットマン写真判定



		// スネークチェック

		@チェック面登録＿左 10495 2500 -5000 p:スネークポスター写真判定

	}



	proc チェック面登録＿左 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points $:Ｘ,($:Ｙ+250),($:Ｚ-150) \

				$:Ｘ,($:Ｙ+250),($:Ｚ+150) \

				$:Ｘ,($:Ｙ-250),($:Ｚ+150) \

				$:Ｘ,($:Ｙ-250),($:Ｚ-150) \

		-far 1 \

		-proc $:p_判定プロック

	}



	proc ファットマン写真判定 {

		print '******************ファットマン************************'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率



		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

		#endif



		$$i:中心からの距離 = `@写真中心チェック`

		print '中心からの距離'$$i:中心からの距離

		print '$1'$1



		if( $1 == 1 ) {

			if( $$i:中心からの距離 < 10 ) {

				$$b:撮影成功フラグ = 100;

			} else if( $$i:中心からの距離 < 30 ) {

				$$b:撮影成功フラグ = 50;

			} else if( $$i:中心からの距離 < 50 ) {

				$$b:撮影成功フラグ = 10;

			}

		}



	}



	proc スネークポスター写真判定 {

		print '******************スネーク************************'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率



		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif



		if( $1 == 4 ) {

			if( $$i:画面占有率 > 200 ) {

				if( `@写真座標チェック 10 20` ) {

					$$b:撮影成功フラグ = 200;

				} else if( `@写真座標チェック 20 30` ) {

					$$b:撮影成功フラグ = 150;

				} else if( `@写真座標チェック 30 40` ) {

					$$b:撮影成功フラグ = 110;

				}

			}

		}

	}



	proc 撮影時プロック {

		print '撮影成功フラグ'$$b:撮影成功フラグ

		if( $$b:撮影成功フラグ >= 70 ) {

			command ＶＲクリア＿星の数の設定 3

			command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 3 )

		} else if( $$b:撮影成功フラグ >= 30 ) {

			command ＶＲクリア＿星の数の設定 2

			command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 2 )

		} else if( $$b:撮影成功フラグ >= 10 ) {

			command ＶＲクリア＿星の数の設定 1

			command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 1 )

		}



		#if 0

			command ＶＲポーズ中クリア

		#else

			if( $$b:撮影成功フラグ ) {

				command ＶＲポーズ中クリア

			} else {

				@ミッション共通ゲームオーバー処理

			}

		#endif



	}







/*************************************************************************************/

// 本編と変更する写真撮影専用プロック a41a.gcl から呼び出される

/*************************************************************************************/

	proc 写真撮影ミッション用オブジェクト設定 {

		//	股間隠し系

// 監督指示により、缶を追加し、独房にグラスとワインを移動

		chara プットオブジェ コーラ -m d:CAN \

			-r 0,0,0 \

			-p -1500,1000,1950  -l d:LT2_NAME \

			-s 100,100,100



		chara プットオブジェ グラス -m w41a_wineglass \

			-r 0 0 0 \

//			-p -1500 1000 1815 -l d:LT2_NAME \

			-p -1750 726 8500 -l d:LT2_NAME \

			-s 100,100,100



		chara プットオブジェ ワイン -m w41a_wine_liq_50hlf_mt \

			-r 0,0,0 \

//			-p -1500 1000 1815 -l d:LT2_NAME \

			-p -1750 726 8500 -l d:LT2_NAME \

			-s 100,100,100 \

			-f ( d:PUT_OBJ_CALC_LIGHT | d:PUT_OBJ_SEMITRANS )



		//	ロードエリア

		chara プットオブジェ 拷問部屋ロードエリア \

			-m 	d:KMS_NAME2 -r 0 0 0 -p 0 0 0  -l d:LT2_NAME

		mesg プットオブジェ 拷問部屋ロードエリア off



		//	ドアランプ

		//	廊下西ドアランプ

		chara プットオブジェ 廊下西ドアランプ赤 \

			-m 	d:KMS_NAME3 -r 0 0 0 -p 0 0 0  -l d:LT2_NAME



		chara プットオブジェ 廊下西ドアランプ青 \

			-m 	d:KMS_NAME4 -r 0 0 0 -p 0 0 0  -l d:LT2_NAME

			mesg プットオブジェ 廊下西ドアランプ青 off



		//	独房ドアランプ

		chara プットオブジェ 独房ドアランプ赤 \

			-m 	d:KMS_NAME5 -r 0 0 0 -p 0 0 0  -l d:LT2_NAME



	}



	proc 写真撮影ミッション用捕まったふりカメラ {

		chara カメラ設定 捕まったふりカメラ \

			-c 1 \

			-p -1499,1348,2296 -t -1770,403,-2485 \

			-r 127,2085,0 -f 4881 \

			-a 158 \

			-i 0 0 0 0 \

			-z d:CAMERA_INTERP_CAMERA \ // 補完カメラフラグを指定。

			-interp_time 30 \ // 補完時間を指定

			-s 1

	}