if(plugin[gyroscope],
if(scene[get(xml.scene)].full360,
set(sceneisfull360, false);
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(sceneisfull360, true);
);
);
if (sceneisfull360,
set(plugin[gyroscope].camroll, true);
,
set(plugin[gyroscope].camroll, false);
);
,
set(plugin[gyroscope].camroll, false);
);
);
if(plugin[gyroscope],
if (plugin[gyroscope].isavailable,
if(%1,
set(plugin[gyroscope].activated,true);
,
set(plugin[gyroscope].activated,false);
);
if (%1 != plugin[gyroscope].enabled,
if(plugin[gyroscope].activated,
switch(plugin[gyroscope].enabled);
,
set(plugin[gyroscope].enabled, false);
);
if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
);
);
);
if(plugin[gyroscope],
if (plugin[gyroscope].isavailable,
set(sceneisfull360, false);
if (scene[get(xml.scene)].full360,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(sceneisfull360, true);
);
);
);
set(delaythegyrocheck, false);
if (sceneisfull360 AND tour_firstlittleplanet, set(delaythegyrocheck, true));
ifnot(delaythegyrocheck,
switch(plugin[gyroscope].enabled);
set(plugin[gyroscope].activated,true);
set(tour_gyroscopedevices, true);
events.dispatch(ongyroscopeavailable);
,
delayedcall(1, checkGyroAvailability(););
);
,
set(tour_gyroscopedevices, false);
);
if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
,
checkGyroUnavailable();
);
set(plugin[gyroscope].activated, false);
set(plugin[gyroscope].enabled, false);
set(tour_gyroscopedevices, false);
events.dispatch(ongyroscopeunavailable);
getmessage(contextmenu.item[normal].caption, contextmenunormallabel);
getmessage(contextmenu.item[architectural].caption, contextmenuarchitecturallabel);
set(sceneisfull360, false);
if(scene[get(xml.scene)].full360,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(sceneisfull360, true);
);
);
);
if (sceneisfull360 AND (device.webgl OR device.flash),
set(contextmenu.item[fisheye].visible, true);
getmessage(contextmenu.item[fisheye].caption, contextmenufisheyelabel);
set(contextmenu.item[littleplanet].visible, true);
getmessage(contextmenu.item[littleplanet].caption, contextmenulittleplanetlabel);
,
set(contextmenu.item[fisheye].visible, false);
set(contextmenu.item[littleplanet].visible, false);
);
if (device.fullscreensupport,
if(tour_fullscreen,
getmessage(contextmenu.item[fullscreenentry].caption, contextmenucloseFsLabel);
set(contextmenu.item[fullscreenentry].onclick, exitFullscreen();
);
,
getmessage(contextmenu.item[fullscreenentry].caption, contextmenuopenFsLabel);
set(contextmenu.item[fullscreenentry].onclick, enterFullscreen();
);
);
,
set(contextmenu.item[fullscreenentry].visible, false);
);
if (device.html5 AND tour_vrdevices,
getmessage(contextmenu.item[vrmodeentry].caption, contextmenuopenVrLabel);
set(contextmenu.item[vrmodeentry].onclick, if(scene[get(xml.scene)].full360,
js(accessWebVr(get(xml.scene),get(videoscenestarttime)));
,
js(accessWebVr(null));
););
,
set(contextmenu.item[vrmodeentry].visible, false);
);
set(layer[title].visible, false);
set(layer[title].visible, true );
updatetitle();
getmessage(layer[title].html, get(scene[get(xml.scene)].titleid));
escape(layer[title].html);
set(layer[logo1].visible, false);
set(layer[logo1].visible, true);
if(scene[get(xml.scene)].video,
set(layer[loaderinfotextfield].visible, false);
,
if (progress.progress == 1,
delayedcall(0.5, set(layer[loaderinfotextfield].visible, false); );
,
set(layer[loaderinfotextfield].visible, true);
);
mul(progresstext, get(progress.progress),100);
roundval(progresstext);
txtadd(progresstext, get(progresstext), %);
set(layer[loaderinfotextfield].html, get(progresstext));
ifnot(progress.progress GE 1, delayedcall(0.01, loaderinfoupdate() ));
);
set(ptplugin[analytics].jsready, true);
if(ptplugin[analytics].jsready,
stopdelayedcall(delay_analytics_active);
js(invokePluginFunction(analytics, toggleDeactivation, false));
,
delayedcall(delay_analytics_active, 0.1, activate_analytics(););
);
if(ptplugin[analytics].jsready,
stopdelayedcall(delay_analytics_active);
js(invokePluginFunction(analytics, toggleDeactivation, true));
,
delayedcall(delay_analytics_active, 0.1, deactivate_analytics(););
);
if(ptplugin[analytics].jsready,
stopdelayedcall(delay_analytics_page);
js(invokePluginFunction(analytics, sendPageview, %1, %2));
,
delayedcall(delay_analytics_page,0.5,sendPage_analytics(%1,%2));
);
if(ptplugin[analytics].jsready,
stopdelayedcall(delay_analytics_event);
js(invokePluginFunction(analytics, sendEvent, %1, %2, %3, %4));
,
delayedcall(delay_analytics_event,0.5,sendEvent_analytics(%1,%2,%3,%4));
);
if(ptplugin[analytics].jsready,
stopdelayedcall(delay_analytics_lang);
js(invokePluginFunction(analytics, changeLanguage));
,
delayedcall(delay_analytics_lang,0.1,changeLanguage_analytics());
);
ifnot (controlBar_dpadbarbuilt, controlBar_dpadbuildMenu(); set(controlBar_dpadbarbuilt, true););
set(controlBar_dpadbutton_pos, 10);
if(plugin[ptpvrmode] AND device.html5,
set(layer[controlBar_dpadbtn_enter_vr].y, get(controlBar_dpadbutton_pos));
set(layer[controlBar_dpadbtn_enter_vr_not].y, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 40);
);
if (device.fullscreensupport,
set(layer[controlBar_dpadbtn_openfs].y, get(controlBar_dpadbutton_pos));
set(layer[controlBar_dpadbtn_closefs].y, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 40);
);
if (device.desktop,
set(layer[controlBar_dpadbtn_out].y, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 40);
set(layer[controlBar_dpadzoom_slider_bg].y, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 70);
set(layer[controlBar_dpadbtn_in].y, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 40);
);
if (controlBar_dpadbutton_pos != 10,
set(layer[controlBar_dpadmenu_vertical_bg].height, get(controlBar_dpadbutton_pos));
set(layer[controlBar_dpadmenu_vertical_bg_border].height, get(controlBar_dpadbutton_pos));
set(controlBar_dpadverticalheight, get(controlBar_dpadbutton_pos));
,
set(layer[controlBar_dpadmenu_vertical_bg].height, 0);
set(layer[controlBar_dpadmenu_vertical_bg_border].height, 0);
);
set(controlBar_dpadbutton_pos, 10);
if (device.desktop,
set(layer[controlBar_dpadbtn_display_help].x, get(controlBar_dpadbutton_pos));
set(layer[controlBar_dpadbtn_close_help].x, get(controlBar_dpadbutton_pos));
inc(controlBar_dpadbutton_pos, 40);
);
if (controlBar_dpadbutton_pos != 10,
set(layer[controlBar_dpadmenu_horizontal_bg].width, get(controlBar_dpadbutton_pos));
set(layer[controlBar_dpadmenu_horizontal_bg_border].width, get(controlBar_dpadbutton_pos));
set(controlBar_dpadhorizontalwidth, get(controlBar_dpadbutton_pos));
,
set(layer[controlBar_dpadmenu_horizontal_bg].width, 0);
);
controlBar_dpadshowMenuControls();
set(layer[controlBar_dpadmenu_vertical_bg].alpha, 0.2);
if (device.fullscreensupport,
set(layer[controlBar_dpadbtn_openfs].alpha, 0.2);
set(layer[controlBar_dpadbtn_closefs].alpha, 0.2);
);
if (device.desktop,
set(layer[controlBar_dpadbtn_in].alpha, 0.2);
set(layer[controlBar_dpadbtn_out].alpha, 0.2);
set(layer[controlBar_dpadzoom_slider_bg].alpha, 0.2);
);
if(layer[controlBar_dpadbtn_enter_vr],
set(layer[controlBar_dpadbtn_enter_vr].alpha, 0.2);
);
set(layer[controlBar_dpadmenu_vertical_bg].alpha, 1);
if (device.fullscreensupport,
set(layer[controlBar_dpadbtn_openfs].alpha, 1);
set(layer[controlBar_dpadbtn_closefs].alpha, 1);
);
if (device.desktop,
set(layer[controlBar_dpadbtn_in].alpha, 1);
set(layer[controlBar_dpadbtn_out].alpha, 1);
set(layer[controlBar_dpadzoom_slider_bg].alpha, 1);
);
if(layer[controlBar_dpadbtn_enter_vr],
set(layer[controlBar_dpadbtn_enter_vr].alpha, 1);
);
set(layer[controlBar_dpadmenu_horizontal_bg].alpha, 0.2);
if (device.desktop,
set(layer[controlBar_dpadbtn_display_help].alpha, 0.2);
set(layer[controlBar_dpadbtn_close_help].alpha, 0.2);
);
set(layer[controlBar_dpadmenu_horizontal_bg].alpha, 1);
if (device.desktop,
set(layer[controlBar_dpadbtn_display_help].alpha, 1);
set(layer[controlBar_dpadbtn_close_help].alpha, 1);
);
set(layer[controlBar_dpadnavigation_bg].alpha, 0.2);
set(layer[controlBar_dpadbtn_left].alpha, 0.2);
set(layer[controlBar_dpadbtn_right].alpha, 0.2);
set(layer[controlBar_dpadbtn_up].alpha, 0.2);
set(layer[controlBar_dpadbtn_down].alpha, 0.2);
set(layer[controlBar_dpadnavigation_bg].alpha, 1);
set(layer[controlBar_dpadbtn_left].alpha, 1);
set(layer[controlBar_dpadbtn_right].alpha, 1);
set(layer[controlBar_dpadbtn_up].alpha, 1);
set(layer[controlBar_dpadbtn_down].alpha, 1);
if (pressed,
sub(dy, mouse.stagey, drag_stagey);
add(newy, drag_currenty, dy);
if(newy LT 0, set(newy, 0) );
if(newy GT layer[controlBar_dpadzoom_slider_bg].pixelheight, copy(newy, layer[controlBar_dpadzoom_slider_bg].pixelheight));
copy(y, newy);
div(val, newy, layer[controlBar_dpadzoom_slider_bg].pixelheight);
sub(fovrange, view.fovmax, view.fovmin);
mul(newfov , val, fovrange);
add(newfov , view.fovmin);
set(view.fov, get(newfov));
delayedcall(0, controlBar_dpadzoom_slider_grip_dragging());
);
copy(drag_currenty, y);
copy(drag_stagey, mouse.stagey);
controlBar_dpadzoom_slider_grip_dragging();
if (device.desktop,
ifnot (layer[controlBar_dpadzoom_slider_grip].pressed,
sub(val, view.fov, view.fovmin);
sub(fovrange, view.fovmax, view.fovmin);
div(val, fovrange);
mul(newy, val, layer[controlBar_dpadzoom_slider_bg].pixelheight);
set(layer[controlBar_dpadzoom_slider_grip].y, get(newy));
);
);
set(layer[controlBar_dpadbtn_openfs].visible , false);
set(layer[controlBar_dpadbtn_closefs].visible, false);
if (device.fullscreensupport,
if(tour_fullscreen,
set(layer[controlBar_dpadbtn_openfs].visible , false);
set(layer[controlBar_dpadbtn_closefs].visible, true);
,
set(layer[controlBar_dpadbtn_openfs].visible ,true);
set(layer[controlBar_dpadbtn_closefs].visible,false);
);
,
controlBar_dpadHideFullscreenButtons();
);
if (controlBar_dpadIsOpened,
controlBar_dpadShowFullscreenButtons();
,
controlBar_dpadHideFullscreenButtons();
);
if (tour_vrdevices,
set(controlBar_dpadmenuvravailable, true);
,
set(controlBar_dpadmenuvravailable, false);
);
controlBar_dpadupdateVrButtons();
set(layer[controlBar_dpadbtn_enter_vr].visible, false);
if('%1' == 'true' AND plugin[ptpvrmode],
set(layer[controlBar_dpadbtn_enter_vr_not].visible, true);
,
set(layer[controlBar_dpadbtn_enter_vr_not].visible, false);
);
if (controlBar_dpadmenuvravailable,
set(layer[controlBar_dpadbtn_enter_vr].visible, true);
set(layer[controlBar_dpadbtn_enter_vr_not].visible, false);
,
controlBar_dpadHideVrButtons(true);
);
if (tour_vrdevices,
if (controlBar_dpadIsOpened,
controlBar_dpadShowVrButtons();
,
controlBar_dpadHideVrButtons();
);
,
if (controlBar_dpadIsOpened,
controlBar_dpadHideVrButtons(true);
,
controlBar_dpadHideVrButtons();
);
);
set(controlBar_dpadIsOpened, false);
set(layer[controlBar_dpadnavigation_bg].visible, false);
set(layer[controlBar_dpadbtn_up].visible, false);
set(layer[controlBar_dpadbtn_down].visible, false);
set(layer[controlBar_dpadbtn_left].visible, false);
set(layer[controlBar_dpadbtn_right].visible, false);
set(layer[controlBar_dpadnavigation_bg_border].visible, true);
tween(layer[controlBar_dpadnavigation_bg_border].alpha, 0.5, 1);
if(controlBar_dpadverticalheight GT 0,
set(layer[controlBar_dpadmenu_vertical_bg].visible, false);
set(layer[controlBar_dpadbtn_in].visible, false);
set(layer[controlBar_dpadbtn_out].visible, false);
set(layer[controlBar_dpadzoom_slider_bg].visible, false);
controlBar_dpadupdateVrButtons();
controlBar_dpadupdateFullscreenButtons();
tween(layer[controlBar_dpadmenu_vertical_bg_border].alpha , 0, 1);
tween(layer[controlBar_dpadmenu_vertical_bg_border].height , 0, 1, easeOutQuad, set(layer[controlBar_dpadmenu_vertical_bg_border].visible, false));
);
if(controlBar_dpadhorizontalwidth != 0,
set(layer[controlBar_dpadmenu_horizontal_bg].visible, false);
controlBar_dpadupdateHelpButtons();
tween(layer[controlBar_dpadmenu_horizontal_bg_border].alpha , 0, 1);
tween(layer[controlBar_dpadmenu_horizontal_bg_border].width, 0, 1, easeOutQuad, set(layer[controlBar_dpadmenu_horizontal_bg_border].visible, false));
);
set(layer[controlBar_dpadbtn_showcontrols].visible, true);
set(layer[controlBar_dpadbtn_hidecontrols].visible, false);
set(controlBar_dpadIsOpened, true);
set(layer[controlBar_dpadbtn_showcontrols].visible, false);
set(layer[controlBar_dpadbtn_hidecontrols].visible, true);
set(layer[controlBar_dpadnavigation_bg].visible, true);
set(layer[controlBar_dpadbtn_up].visible, true);
set(layer[controlBar_dpadbtn_down].visible, true);
set(layer[controlBar_dpadbtn_left].visible, true);
set(layer[controlBar_dpadbtn_right].visible, true);
set(layer[controlBar_dpadnavigation_bg_border].visible, true);
tween(layer[controlBar_dpadnavigation_bg_border].alpha, 1, 1);
if(controlBar_dpadverticalheight GT 0,
set(layer[controlBar_dpadmenu_vertical_bg_border].visible, true);
tween(layer[controlBar_dpadmenu_vertical_bg_border].alpha, 1, 1);
tween(layer[controlBar_dpadmenu_vertical_bg_border].height, get(controlBar_dpadverticalheight), 1, easeOutQuad,
set(layer[controlBar_dpadmenu_vertical_bg].visible, true);
controlBar_dpadupdateFullscreenButtons();
controlBar_dpadupdateVrButtons();
if (device.desktop,
set(layer[controlBar_dpadbtn_in].visible, true);
set(layer[controlBar_dpadbtn_out].visible, true);
set(layer[controlBar_dpadzoom_slider_bg].visible, true);
);
);
);
if(controlBar_dpadhorizontalwidth != 0,
set(layer[controlBar_dpadmenu_horizontal_bg_border].visible, true);
tween(layer[controlBar_dpadmenu_horizontal_bg_border].alpha, 1, 1);
tween(layer[controlBar_dpadmenu_horizontal_bg_border].width, get(controlBar_dpadhorizontalwidth), 1, easeOutQuad,
set(layer[controlBar_dpadmenu_horizontal_bg].visible, true);
controlBar_dpadupdateHelpButtons();
);
);
if (device.desktop,
set(layer[controlBar_dpadhelpScreenFg].displayed, true);
set(layer[controlBar_dpadhelpScreenFg].visible, true);
set(layer[controlBar_dpadhelpScreen].visible, true);
tween(layer[controlBar_dpadhelpScreen].height, 50%, 1);
tween(layer[controlBar_dpadhelpScreenFg].height, 50%, 1);
tween(layer[controlBar_dpadhelpScreen].alpha, 0.2, 1);
tween(layer[controlBar_dpadhelpScreenFg].alpha, 1.0, 1);
controlBar_dpadupdateHelpButtons();
);
if (device.desktop,
set(layer[controlBar_dpadhelpScreenFg].displayed, false);
tween(layer[controlBar_dpadhelpScreen].alpha, 0.0, 1);
tween(layer[controlBar_dpadhelpScreenFg].alpha, 0.0, 1);
tween(layer[controlBar_dpadhelpScreen].height, 10%, 1, easeOutQuad,
set(layer[controlBar_dpadhelpScreen].visible, false);
);
tween(layer[controlBar_dpadhelpScreenFg].height, 10%, 1, easeOutQuad,
set(layer[controlBar_dpadhelpScreenFg].visible, false);
);
controlBar_dpadupdateHelpButtons();
);
set(layer[controlBar_dpadbtn_display_help].visible, false);
set(layer[controlBar_dpadbtn_close_help].visible, false);
if (layer[controlBar_dpadhelpScreenFg].displayed,
set(layer[controlBar_dpadbtn_close_help].visible, true);
set(layer[controlBar_dpadbtn_display_help].visible, false);
,
set(layer[controlBar_dpadbtn_display_help].visible, true);
set(layer[controlBar_dpadbtn_close_help].visible, false);
);
if (device.desktop,
if (controlBar_dpadIsOpened,
controlBar_dpadShowHelpButtons();
,
controlBar_dpadHideHelpButtons();
);
,
controlBar_dpadHideHelpButtons();
);
if (tooltip !== null, showTooltip('plugin', controlBar_dpadhorizMenuTooltipStyle, bottom););
if (tooltip !== null, showTooltip('plugin', controlBar_dpadverticalMenuTooltipStyle, right););
set(sceneisfull360, false);
if(scene[get(xml.scene)].full360,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(sceneisfull360, true);
);
);
);
if (sceneisfull360 AND (device.webgl OR device.flash),
if(normalViewActivated,stopSetViewTweens(););
if(current_view_isflat === true,
setViewNonFlat(VFOV);
);
setViewFisheyeComplete();
);
set(view.fisheyefovlink, 1.5);
set(view.fovmax, get(panoview.fovmax));
tween(view.architectural, 0.0, distance(1.0, 0.30));
tween(view.fisheye, 0.0, distance(1.0, 0.30), easeOutQuad,
set(view.stereographic,false);
tween(view.fisheye, 0.45, distance(1.0, 0.75));
tween(view.vlookat, get(panoview.v), distance(90, 0.45));
);
tween(view.pannini, 0.0, distance(1.0, 0.75), easeOutQuad, if(panniniViewActivated,restoreViewFromPannini();););
tween(view.fov, get(panoview.fov), distance(50, 0.45));
if(normalViewActivated,stopSetViewTweens(););
if(current_view_isflat === true,
setViewNonFlat(VFOV);
);
setViewArchitecturalComplete();
set(view.fovmax, get(panoview.fovmax));
set(view.fisheyefovlink, 0.5);
tween(view.architectural, 1.0, distance(1.0, 0.45));
tween(view.pannini, 0.0, distance(1.0, 0.45), easeOutQuad, if(panniniViewActivated,restoreViewFromPannini();););
tween(view.fisheye, 0.0, distance(1.0, 0.45), easeOutQuad,
set(view.stereographic,false);
tween(view.vlookat, get(panoview.v), distance(90, 0.45));
);
tween(view.fov, get(panoview.fov), distance(50, 0.45));
set(sceneisfull360, false);
if(scene[get(xml.scene)].full360,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(sceneisfull360, true);
);
);
);
if (sceneisfull360 AND (device.webgl OR device.flash),
if(normalViewActivated,stopSetViewTweens(););
if(current_view_isflat === true,
setViewNonFlat(VFOV);
);
setViewLittlePlanetComplete();
);
set(backtonormalfirst,false);
if(view.pannini GE 1.0, set(backtonormalfirst,true));
if(view.stereographic == false, set(backtonormalfirst,true));
if(backtonormalfirst, hideTooltip();tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeOutQuad, WAIT); );
set(view.stereographic, true);
set(view.fisheyefovlink, 1.5);
tween(view.architectural, 0.0, 0.25);
tween(view.vlookat, 90, distance(179, 1.50));
tween(view.pannini, 0.0, distance(1.0, 0.75), easeOutQuad, if(panniniViewActivated,restoreViewFromPannini();););
if(panoview.fovmax LE 150, set(view.fovmax, 150); , set(view.fovmax, get(panoview.fovmax)); );
tween(view.fisheye, 1.0, distance(1.0, 0.75));
tween(view.fov, 150, distance(179, 0.75));
if(plugin[ptpvrmode],
if (plugin[ptpvrmode].isavailable,
set(tour_vrdevices, true);
events.dispatch(onvravailable);
,
set(tour_vrdevices, false);
);
,
checkVrUnavailable();
);
set(tour_vrdevices, false);
events.dispatch(onvrunavailable);
set(tour_fullscreen,false);js(setFullscreen(false));
set(tour_fullscreen,true);js(setFullscreen(true));
if(tour_fullscreen,exitFullScreen();,enterFullScreen(););
set(tour_fullscreen,false);events.dispatch(onexitfullscreen);
set(tour_fullscreen,true);events.dispatch(onenterfullscreen);
set(fullscreen,false);
set(fullscreen,true);
delayedcall(0,updatescreen(););
set(tour_displaycontrols, false);events.dispatch(hidetourcontrols);
set(tour_displaycontrols, true); events.dispatch(showtourcontrols);
if(%1,
if(%2,
set(isfullvertical, false);
ifnot(scene[get(xml.scene)].planar,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(isfullvertical, true);
);
);
if(isfullvertical == false AND calc(view.vlookat-%2) LT view.vlookatmin,
moveto(get(view.hlookat), get(view.vlookatmin));
,
moveto(get(view.hlookat), calc(view.vlookat-%2));
);
,
set(vlookat_moveforce, -1);
delayedcall(0.1, viewControlMoveVertStop());
);
,
set(vlookat_moveforce, -1);
);
if(%1,
if(%2,
set(isfullvertical, false);
ifnot(scene[get(xml.scene)].planar,
sub(viewvfov, panoview.vmax, panoview.vmin);
if (viewvfov == 180,
set(isfullvertical, true);
);
);
if(sceneisfull360 == false AND calc(view.vlookat+%2) GT view.vlookatmax,
moveto(get(view.hlookat), get(view.vlookatmax));
,
moveto(get(view.hlookat), calc(view.vlookat+%2));
);
,
set(vlookat_moveforce, +1);
delayedcall(0.1, viewControlMoveVertStop());
);
,
set(vlookat_moveforce, +1);
);
if(%1,
if(%2,
set(isfullhorizontal, false);
ifnot(scene[get(xml.scene)].planar,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
set(isfullhorizontal, true);
);
);
if(isfullhorizontal == false AND calc(view.hlookat-%2) LT view.hlookatmin,
moveto(get(view.hlookatmin), get(view.vlookat));
,
moveto(calc(view.hlookat-%2), get(view.vlookat));
);
,
set(hlookat_moveforce, -1);
delayedcall(0.1, viewControlMoveHoriStop());
);
,
set(hlookat_moveforce, -1);
);
if(%1,
if(%2,
set(isfullhorizontal, false);
ifnot(scene[get(xml.scene)].planar,
sub(viewhfov, panoview.hmax, panoview.hmin);
if (viewhfov == 360,
set(isfullhorizontal, true);
);
);
if(isfullhorizontal == false AND calc(view.hlookat+%2) GT view.hlookatmax,
moveto(get(view.hlookatmax), get(view.vlookat));
,
moveto(calc(view.hlookat+%2), get(view.vlookat));
);
,
set(hlookat_moveforce, +1);
delayedcall(0.1, viewControlMoveHoriStop());
);
,
set(hlookat_moveforce, +1);
);
set(hlookat_moveforce, 0);
set(vlookat_moveforce, 0);
if(%1,
if(%2,
if(%2 LT view.fovmin,
zoomto(get(view.fovmin));
,
if(%2 LT view.fov,
zoomto(%2);
);
);
,
set(fov_moveforce, -1);
delayedcall(0.1, viewControlZoomStop());
);
,
set(fov_moveforce, -1);
);
if(%1,
if(%2,
if(%2 GT view.fovmax,
zoomto(get(view.fovmax));
,
if(%2 GT view.fov,
zoomto(%2);
);
);
,
set(fov_moveforce, +1);
delayedcall(0.1, viewControlZoomStop());
);
,
set(fov_moveforce, +1);
);
set(fov_moveforce, 0);
stopSetViewTweens();
if(current_view_isflat === true,
setViewNonFlat(VFOV);
);
setViewNormalComplete();
set(view.fisheyefovlink, 0.5);
set(view.fovmax, get(panoview.fovmax));
tween(view.architectural, 0.0, distance(1.0, 0.45));
tween(view.pannini, 0.0, distance(1.0, 0.45), easeOutQuad, if(panniniViewActivated,restoreViewFromPannini();););
tween(view.vlookat, get(panoview.v), distance(90, 0.45));
tween(view.fov, get(panoview.fov), distance(50, 0.45));
tween(view.fisheye, 0.0, distance(1.0, 0.45),
set(view.stereographic,false);
);
stoptween(view.fov);
stoptween(view.vlookat);
stoptween(view.fisheye);
stoptween(view.architectural);
stoptween(view.pannini);