/********************************************************************************
	player.h: Ultra 64 MARIO Brothers include file

	Copyright (c) 1995 Nintendo co., ltd.  All rights reserved

	February 02, 1985
 ********************************************************************************/

#ifndef CAMERA_H
#define	CAMERA_H

///////////////MODE
#define CENTER_LINE_VIEW    0
#define OBJECTIVE_VIEW    	1
#define VIDEO_VIEW         	3
#define OPENING_VIEW		8
#define BATTLE_VIEW			9
#define RADIO_VIEW			10

//////////////FLAG
#define CHASE_DIRECTION		0x0002
#define HIT_WALL   			0x0004


#define START_CAMERA 0
#define END_CAMERA   1


////////////OPENING FLAG
#define OPENING_NORM_SET 0
#define OPENING_ROLLING_SET 1
#define OPENING_STOP_SET 2


//////////VIEW FLAG
#define NONE_VIEW 		0
#define  BANANA_VIEW     1
#define  TURBO_VIEW      2
#define  DASHJUMP_VIEW   3
#define  DOSHIN_VIEW   	 4
#define  SPIN_VIEW   	 5
///////////////////////CAMERA CONTROL DATA///////////////////////////////

typedef struct{
	float	cam_firstspeed,x2; //8bytes
	short	cam_timer,aaaaaaa; //4bytes
	float	offset_look,z2,z3;          //12bytes
}SHAKE;


typedef struct {
	FVector camera_pos;
	FVector lookat_pos;
	FVector up_vector;
	SVector camera_direction;
	unsigned short   flag;
	short   chase_direction;
	FVector camera_vector;
	FVector lookat_vector;

	FVector velocity;   

	BUMP	 bump;
	SHAKE	shake;
	short    old_chase_direction;	
	short    watch,stickdeg;
	float    screen_view_angle;
} CAMERA,CAMERAPTR;


extern ushort camera_mode[4];
extern CAMERA camera_param[];
extern CAMERA *camera1;
extern CAMERA *camera2;
extern CAMERA *camera3;
extern CAMERA *camera4;
extern int opening_flag;
extern char camera_start_flag;

extern void initial_camera(float,float,float,uint,uint,uint);
extern void camera_control(CAR *,CAMERA *,char place);
extern void change_opneview(int index);
extern void make_shake_camera(CAMERA *camera);
extern void make_shake_hitcamera(CAR *car,float speed);


#endif

