//////////////////////////////////////////////////////////////////////
//
// Project  : BRender Pick Demo
//            Copyright (c) 1996 Argonaut Technologies Ltd.
//            All rights reserved.
//
// Author   : Sam Littlewood / Steve Williams 
//
// File     : PICKDEMO.H
//
// Requires : BRender V1.3
//            Microsoft DirectX 3.0, Win95/NT or DOS
//
// Comments : Pick demo specific header 
//
//////////////////////////////////////////////////////////////////////


#define ROLLING_BALL_SENSITIVITY 500

#define PICK_MAT_FILE "pickdemo.mat"

#define MSCALE BR_SCALAR(0.006)


// Structure used to hold information for the
// pick callbacks

typedef struct br_pick_nearest 
{
	br_actor *actor;
	br_model *model;
	br_material *material;
	br_vector3 point;
	int face;
	int edge;
	int vertex;
	br_vector2 map;

	br_scalar t;
	br_actor *temp_actor;
} br_pick_nearest;



// Function prototypes

int Control(br_actor *world, br_actor *observer, br_actor *target);
void ControlCursor(br_actor *world, br_actor *observer, br_actor *target);
void ControlObject(br_actor *target);
void Matrix33Mul(br_matrix34 *A, br_matrix34 *B, br_matrix34 *C);
void MouseReadAbsolute( br_pixelmap *screen, br_int_32 *mouse_x, br_int_32 *mouse_y );
void dprintf(int x, int y, char *fmt,...);

