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



// Mouse sensitivity
#define ROLLING_BALL_SENSITIVITY 100
#define MSCALE BR_SCALAR(0.006)

// Pixelmap housekeeping funnction.
#define PmFree(x) if(x)BrPixelmapFree(x)

// Max frames in animation and max actor transforms per frame.
#define MAXFRAMES 100
#define MAXTRANSFORMS 2000


// Define structures for holding animation data.

// Pointer to actor plus desired transform matrix.

struct ani_transform {
	br_actor       *actor;
	br_matrix34     mat;
};

// All desired actor transforms required for a single frame.

struct ani_frame {
	struct ani_transform *transforms;
	int             ntransforms;
};


// Function prototypes.
int Control(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);

