void cam_delete(camid cid) { if(cid.isValid()) { cid.getCamera()->clear(); } }
camera* nav_get_set_camera() { static camid nav_camera; if(!nav_camera.isValid()) { nav_camera = cam_create("Nav camera"); } cam_set_camera(nav_camera); return nav_camera.getCamera(); }
camera::~camera() { //Check if this is in use if(Current_camera.getSignature() == this->sig) { Current_camera = camid(); } }
bool cam_set_camera(camid cid) { if(!cid.isValid()) { return false; } Viewer_mode |= VM_FREECAMERA; Current_camera = cid; if (!Cutscene_camera_displays_hud) { if(!Camera_hud_draw_saved) { Camera_hud_draw_value = hud_get_draw(); Camera_hud_draw_saved = true; } hud_set_draw(0); } return true; }