////////////////////////////////////////////////////////////////////////////////////
float g_CameraMode = 0;
float g_CameraPan = 0;
float g_CameraTilt = 0;
float g_CameraHeight = 0;
float g_CameraDistance = 0;
float g_CameraTotalDistance = 0;
////////////////////////////////////////////////////////////////////////////////////
PANEL* pDebugCamera =
{
pos_x = 10;
pos_y = 10;
digits(0,0,"[DEBUG] CAMERA",fntArial12,1,NULL);
digits(0,15,"Mode: %f",fntArial12,1,g_CameraMode);
digits(0,30,"Pan: %f",fntArial12,1,g_CameraPan);
digits(0,45,"Tilt: %f",fntArial12,1,g_CameraTilt);
digits(0,60,"Height: %f",fntArial12,1,g_CameraHeight);
digits(0,75,"Distance: %f",fntArial12,1,g_CameraDistance);
digits(0,90,"Total Distance: %f",fntArial12,1,g_CameraTotalDistance);
flags = VISIBLE;
}
////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
ENTITY* Pivot;
float Mode;
float Height;
float Tilt;
float Pan;
float Distance;
float TotalDistance;
} CAMERA;
////////////////////////////////////////////////////////////////////////////////////
function InitiateCamera(CAMERA* pCam)
{
pCam.Pivot = pPlayer;
pCam.Mode = 1;
pCam.Tilt = 15;
pCam.Pan = 0;
pCam.Height = 50;
pCam.Distance = 0;
pCam.TotalDistance = 400;
while(pCam)
{
// CalculatePosition(pCam);
// ManipulatePosition(pCam);
g_CameraMode = pCam.Mode;
g_CameraPan = pCam.Pan;
g_CameraTilt = pCam.Tilt;
g_CameraHeight = pCam.Height;
g_CameraDistance = pCam.Distance;
g_CameraTotalDistance = pCam.TotalDistance;
wait(1);
}
}
////////////////////////////////////////////////////////////////////////////////////
main()
{
...
CAMERA MyCam;
InitiateCamera(MyCam);
}
////////////////////////////////////////////////////////////////////////////////////