Also changed cEntity rotation datatype to double git-svn-id: http://mc-server.googlecode.com/svn/trunk@1262 0a769ca7-a7f5-676a-18bf-c427514a06d6
		
			
				
	
	
		
			71 lines
		
	
	
		
			921 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			921 B
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
#pragma once
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// fwd: World.h
 | 
						|
class cWorld;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPiston
 | 
						|
{
 | 
						|
public:
 | 
						|
 | 
						|
	cPiston(cWorld * a_World);
 | 
						|
 | 
						|
	static NIBBLETYPE RotationPitchToMetaData(double a_Rotation, double a_Pitch)
 | 
						|
	{
 | 
						|
		if (a_Pitch >= 50)
 | 
						|
		{
 | 
						|
			return 0x1;
 | 
						|
		}
 | 
						|
		else if (a_Pitch <= -50)
 | 
						|
		{
 | 
						|
			return 0x0;
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
			a_Rotation += 90 + 45;  // So its not aligned with axis
 | 
						|
 | 
						|
			if (a_Rotation > 360)
 | 
						|
			{
 | 
						|
				a_Rotation -= 360;
 | 
						|
			}
 | 
						|
			if ((a_Rotation >= 0) && (a_Rotation < 90))
 | 
						|
			{
 | 
						|
				return 0x4;
 | 
						|
			}
 | 
						|
			else if ((a_Rotation >= 180) && (a_Rotation < 270))
 | 
						|
			{
 | 
						|
				return 0x5;
 | 
						|
			}
 | 
						|
			else if ((a_Rotation >= 90) && (a_Rotation < 180))
 | 
						|
			{
 | 
						|
				return 0x2;
 | 
						|
			}
 | 
						|
			else
 | 
						|
			{
 | 
						|
				return 0x3;
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	void ExtendPiston( int, int, int );
 | 
						|
	void RetractPiston( int, int, int );
 | 
						|
 | 
						|
	cWorld * m_World;
 | 
						|
 | 
						|
private:
 | 
						|
	void ChainMove( int, int, int, char, unsigned short * );
 | 
						|
	unsigned short FirstPassthroughBlock( int, int, int, char );
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |