#pragma once

#ifdef __cplusplus
extern "C" {
#endif

void GCE_Init();

void GCE_ClientFrame();

void GCE_SetCamera();

//returns 1 if a cinematic is running that sets the view, 0 otherwise.
int CIN_Running();

//starts a cinematic.
void CIN_Start(const char *name, int start_shot, int end_shot);

//ends an active cinematic
void CIN_Stop(const char *name);

//advances the positions of all active cinematic seqences.
void CIN_Play();

//gets the location of the camera, 
void CIN_CamLocation(float *pos, float *angles);
void *CIN_GCE_Interface();
void CIN_WorldPlayback(void *funcs);

//client side drawing.  called at the end of the drawing sequence.
void CIN_GCE_HUD();
//adds entities needed to display the objects we are editing in the script editor.
void CIN_GCE_AddEntities();

//
//functions needed to get input to the dll.
//

//returns 1 if we are editing a field in the dll.
int CIN_GCE_CurrentlyEditing();
//returns 1 if the key was used by the editor.
int CIN_GCE_KeyEvent(int key);

//returns 1 if the dll used mouse movement information.
int CIN_GCE_MouseMove(int dx, int dy);



#ifdef __cplusplus
}
#endif