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

	Title :			Movement module header file
	Filename :		movement.h
	Author :		Thomas Szirtes
	Revision :		1.0

	Notes :			

	Copyright :		(C) SEGA Europe 1998

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

#include		"ship.h"

/*
 *		Structure Definitions
 */



/*
 *	Function Prototypes
 */

/*--------------------------------------------------------------------------
 
  void MOVE_Reset( )
 
  Parameters:
 	MOVESHIP	*ship		-	ship movement data - holds data for physics
 
  Returns:
 
  Notes:
 	Resets the ship movement code
 
 --------------------------------------------------------------------------*/
void	MOVE_Reset( SHIP *	);

/*--------------------------------------------------------------------------
 
  void MOVE_Calculate( PERIPH_DATA	*per, SHIP *ship )

  Parameters:
 	PERIPH_DATA	*per		-	peripheral data from user or computer ai
 	SHIP	*ship			-	ship object
 
  Returns:
 
   Notes:
 	Takes the peripheral commands and applies the necessary forces to the
  specified ship taking into account the physical contraints specified by
  the ship attribute data. Maybe I might do integer version of this to free
  up floating point unit - depends on speed.
 
  --------------------------------------------------------------------------*/

void	MOVE_Calculate( PERIPH_DATA *, SHIP * );

/*--------------------------------------------------------------------------

  void MOVE_CheckCollision( SHIP *ship )
 
  Parameters:
 	ship		Ship structure
 
  Returns:
 
  Notes:
 	Checks the projected position of the ship passed - and updates
  the velocities to take into account the physics of hitting any object
 
  --------------------------------------------------------------------------*/

int		MOVE_CheckCollision( SHIP * );

/*--------------------------------------------------------------------------
 
  void MOVE_Update( SHIP *ship, Uint8 n )

  Parameters:
 	ship		Ship movement structure
 
  Returns:
 
  Notes:
 	Updates the actual position of the ship quickly
 
 --------------------------------------------------------------------------*/

void	MOVE_Update( SHIP *, Uint8 );
