/*

	doorproc.h

	    ドアの開閉に関する関数をまとめたファイル      



	2000/09/01 H.Yoshiike         

	$Id: doorproc.h,v 1.1 2002/02/01 06:08:31 usr01475 Exp $                      



	

*/



// ファイルが二重呼びされたときの対処

#ifndef d:DOORPROC_H

#define DOORPROC_H	1



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

// ドア開閉判定の設定（野尻が使用）

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

//0<$:許容角度<2048のこと。



proc ドア南北開閉判定 $:ドア名 $:ドアＺ座標 $:許容角度 $:許容距離 {





	eval( $w:DR_プレイヤー方向 = $w:プレイヤー方向 & 4095 );

	eval( $w:半分許容角度 = $:許容角度 / 2 );





	if( $i:プレイヤー位置Ｚ < $:ドアＺ座標 - $:許容距離 ){	//ドアより北側



		if( ( $w:DR_プレイヤー方向 < $w:半分許容角度 ) || ( ( 4096 - $w:半分許容角度 < $w:DR_プレイヤー方向 ) && ( $w:DR_プレイヤー方向 < 4096 ) ) ){



			eval($w:ドアオープン = 1 )



		}else{



			eval($w:ドアオープン = 0 )



		}



	}else if( $i:プレイヤー位置Ｚ > $:ドアＺ座標 + $:許容距離 ){	//ドアより南側



		if( ( 2048 - $w:半分許容角度 < $w:DR_プレイヤー方向 ) && ($w:DR_プレイヤー方向 < 2048 + $w:半分許容角度 ) ){



			eval($w:ドアオープン = 1 )



		}else{



			eval($w:ドアオープン = 0 )



		}





	}else{	//ドア中央



		eval($w:ドアオープン = 1 )



	}





	if($w:ドアオープン == $w:ドアオープン２){



	}else{

		if ( $w:ドアオープン == 1 ) {

			mesg ドア $:ドア名 open 

		}else{

			mesg ドア $:ドア名 close 

		}

	}



	eval( $w:ドアオープン２ = $w:ドアオープン)





}



















proc ドア東西開閉判定 $:ドア名 $:ドアＸ座標 $:許容角度 $:許容距離 {





	eval( $w:DR_プレイヤー方向 = $w:プレイヤー方向 & 4095 );

	eval( $w:半分許容角度 = $:許容角度 / 2 );





	if( $i:プレイヤー位置Ｘ < $:ドアＸ座標 - $:許容距離 ){	//ドアより西側



		if( ( 1024 - $w:半分許容角度 < $w:DR_プレイヤー方向 ) && ( $w:DR_プレイヤー方向 < 1024 ) ){



			eval($w:ドアオープン = 1 )



		}else{



			eval($w:ドアオープン = 0 )



		}



	}else if( $i:プレイヤー位置Ｘ > $:ドアＸ座標 + $:許容距離 ){	//ドアより東側



		if( ( 3072 - $w:半分許容角度 < $w:DR_プレイヤー方向 ) && ($w:DR_プレイヤー方向 < 3072 + $w:半分許容角度 ) ){



			eval($w:ドアオープン = 1 )



		}else{



			eval($w:ドアオープン = 0 )



		}





	}else{	//ドア中央



		eval($w:ドアオープン = 1 )



	}





	if($w:ドアオープン == $w:ドアオープン２){



	}else{

		if ( $w:ドアオープン == 1 ) {

			mesg ドア $:ドア名 open 

		}else{

			mesg ドア $:ドア名 close 

		}

	}



	eval( $w:ドアオープン２ = $w:ドアオープン)





}



#else



print 'doorproc.h double include!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'



#endif















