if(device.mobile == false,
copy(layer[skin_control_bar].y, skin_settings.controlbar_offset);
copy(layer[skin_control_bar].y_opened, skin_settings.controlbar_offset);
add(layer[skin_scroll_window].y, layer[skin_control_bar].height, layer[skin_control_bar].y);
add(layer[skin_scroll_window].y_opened, layer[skin_control_bar].height, layer[skin_control_bar].y_opened);
if(skin_settings.thumbs_opened, set(layer[skin_thumbs].state,'opened'); set(layer[skin_thumbs_container].visible,true); );
copy(layer[skin_thumbs].draggable, skin_settings.thumbs_dragging);
if(skin_settings.thumbs_onhoverscrolling,
ifnot(device.touchdevice, set(layer[skin_thumbs].draggable, false));
set(layer[skin_thumbs].onhover_autoscrolling, true);
);
);
if(device.android, if(device.flash, set(skin_settings.bingmaps_zoombuttons, false); ));
skin_addthumbs();
skin_onresize();
skin_updatescroll();
copy(usegyro, skin_settings.gyro);
if(device.desktop, set(usegyro, false));
if(device.flash, set(usegyro, false));
if(usegyro, copy(plugin[skin_gyro].url, plugin[skin_gyro].html5_url); );
if(skin_settings.bingmaps == true,
set(layer[skin_btn_map].visible, true);
copy(layer[skin_map].key, skin_settings.bingmaps_key);
copy(layer[skin_map_zoom_in].visible, skin_settings.bingmaps_zoombuttons);
copy(layer[skin_map_zoom_out].visible, skin_settings.bingmaps_zoombuttons);
if(device.flash, copy(layer[skin_map].url, layer[skin_map].flash_url), copy(layer[skin_map].url, layer[skin_map].html5_url) );
,
if(device.mobile, copy(layer[skin_btn_gyro].x, layer[skin_btn_map].x) );
);
copy(thumbwidth, skin_settings.thumbs_width);
copy(thumbheight, skin_settings.thumbs_height);
copy(thumbpadding, skin_settings.thumbs_padding);
copy(thumbcrop, skin_settings.thumbs_crop);
if(device.mobile,
mul(thumbwidth,2);
mul(thumbheight,2);
mul(thumbpadding,2);
);
add(thumbxoffset, thumbwidth, thumbpadding);
mul(thumbxcenter, thumbxoffset, 0.5);
set(thumbcnt,0);
for(set(i,0), i LT scene.count, inc(i),
if(scene[get(i)].skipthumb != true,
txtadd(thumbname,'skin_thumb_',get(thumbcnt));
addlayer(get(thumbname));
copy(layer[get(thumbname)].url, scene[get(i)].thumburl);
set(layer[get(thumbname)].keep, true);
set(layer[get(thumbname)].parent, 'skin_thumbs');
set(layer[get(thumbname)].align, lefttop);
copy(layer[get(thumbname)].crop, thumbcrop);
copy(layer[get(thumbname)].width, thumbwidth);
copy(layer[get(thumbname)].height, thumbheight);
mul(thumbx, thumbcnt, thumbxoffset);
add(thumbx, thumbpadding);
copy(layer[get(thumbname)].x, thumbx);
copy(layer[get(thumbname)].y, thumbpadding);
add(scene[get(i)].thumbx, thumbx, thumbxcenter);
copy(scene[get(i)].thumby, thumbpadding);
set(layer[get(thumbname)].linkedscene, get(scene[get(i)].name) );
set(layer[get(thumbname)].onclick, skin_showthumbs(false); copy(layer[skin_thumbborder].parent, name); loadscene(get(linkedscene), null, MERGE, BLEND(0.5)); );
if(skin_settings.tooltips_thumbs,
set(layer[get(thumbname)].onhover, showtext(get(scene[get(linkedscene)].title),SKIN_TOOLTIPS); );
);
if(skin_settings.thumbs_text,
txtadd(thumbtext, 'skin_thumbtext_', get(i));
addlayer(get(thumbtext));
layer[get(thumbtext)].loadstyle(skin_thumbtext_style);
set(layer[get(thumbtext)].keep, true);
set(layer[get(thumbtext)].parent, get(thumbname));
set(layer[get(thumbtext)].html, get(scene[get(i)].title));
);
inc(thumbcnt);
);
);
mul(thumbbarwidth, thumbxoffset, thumbcnt);
add(thumbbarwidth, thumbpadding);
add(thumbbarheight, thumbpadding, thumbheight);
add(thumbbarheight, thumbpadding);
if (skin_settings.thumbs_scrollindicator,
copy(layer[skin_thumbs_scrollindicator].y, thumbbarheight);
add(thumbbarheight, layer[skin_thumbs_scrollindicator].height);
);
copy(layer[skin_thumbs].height, thumbbarheight);
copy(layer[skin_thumbs].width, thumbbarwidth);
mul(halfheight, thumbbarheight, 0.5);
copy(layer[skin_thumbs_scrollleft].y, halfheight);
copy(layer[skin_thumbs_scrollright].y, halfheight);
for(set(i,0), i LT scene.count, inc(i),
if(scene[get(i)].lat,
txtadd(spotname, 'spot', get(i));
txtadd(spotclickevent, 'skin_hidetooltips(); activatespot(',get(spotname),'); loadscene(', get(scene[get(i)].name), ',null,MERGE,BLEND(1)); skin_updatescroll(); delayedcall(0.5,skin_showmap(false));');
copy(scene[get(i)].mapspotname, spotname);
addspot(get(spotname), get(scene[get(i)].lat), get(scene[get(i)].lng), get(scene[get(i)].heading), false, get(spotclickevent), null);
if(skin_settings.tooltips_mapspots,
set(layer[skin_map].spot[get(spotname)].tooltip, get(scene[get(i)].title) );
txtadd(layer[skin_map].spot[get(spotname)].onover, 'set(hovering,true);', get(style[skin_tooltips].onover) );
txtadd(layer[skin_map].spot[get(spotname)].onout, 'set(hovering,false);', get(style[skin_tooltips].onout) );
);
);
);
activatespot(spot0);
zoomToSpotsExtent();
mul(mh, stageheight, -1);
if(layer[skin_thumbs].state == 'opened', add(mh,layer[skin_thumbs].height); );
if(layer[skin_map].state == 'opened', sub(hh,stageheight,skin_settings.controlbar_offset); sub(hh,layer[skin_control_bar].height); sub(hh,32); copy(layer[skin_map].height, hh); add(mh,hh); );
set(layer[skin_scroll_layer].y, get(mh));
ifnot(device.mobile, if(stagewidth LT 480, skin_showbuttons(false), skin_showbuttons(true)); );
set(layer[skin_btn_lt].visible, %1);
set(layer[skin_btn_rt].visible, %1);
set(layer[skin_btn_up].visible, %1);
set(layer[skin_btn_dn].visible, %1);
set(layer[skin_btn_in].visible, %1);
set(layer[skin_btn_ou].visible, %1);
if(%1 == true,
if(plugin[skin_gyro].available == true, set(layer[skin_btn_gyro].visible, %1) );
if(device.fullscreensupport, set(layer[skin_btn_fs].visible, %1) );
,
set(layer[skin_btn_gyro].visible, %1);
set(layer[skin_btn_fs].visible, %1);
);
if(layer[skin_thumbs].loaded,
set(cursceneindex, 0);
if(xml.scene, copy(cursceneindex, scene[get(xml.scene)].index));
layer[skin_thumbs].setcenter(get(scene[get(cursceneindex)].thumbx), get(scene[get(cursceneindex)].thumby));
);
copy(padding,skin_settings.thumbs_padding);
if(device.mobile, mul(padding,2));
if(skin_settings.thumbs_scrollbuttons,
if(loverflow GT 0, set(layer[skin_thumbs_scrollleft].visible,true), set(layer[skin_thumbs_scrollleft].visible,false) );
if(roverflow GT 0, set(layer[skin_thumbs_scrollright].visible,true), set(layer[skin_thumbs_scrollright].visible,false) );
);
if(skin_settings.thumbs_scrollindicator,
if(woverflow GT 0,
set(layer[skin_thumbs_scrollindicator].visible,true);
sub(iw,pixelwidth,woverflow);
div(pw,iw,pixelwidth);
div(px,loverflow,woverflow);
mul(pw,iw);
copy(layer[skin_thumbs_scrollindicator].width,pw);
sub(iw,pw);
sub(iw,padding);
sub(iw,padding);
mul(px,iw);
add(px,padding);
copy(layer[skin_thumbs_scrollindicator].x,px);
,
set(layer[skin_thumbs_scrollindicator].visible,false);
);
);
if(xml.scene !== null,
if(scene[get(xml.scene)].index GE 0,
if(title, txtadd(layer[skin_title].html, get(title), ' - ', get(scene[get(xml.scene)].title) ); , copy(layer[skin_title].html, scene[get(xml.scene)].title ); );
delayedcall(0.1, set(layer[skin_title].visible,true) );
if(skin_settings.thumbs_loop == false,
if(scene[get(xml.scene)].index GT 0,
set(layer[skin_btn_prev].enabled, true);
set(layer[skin_btn_prev].alpha, 1.0);
,
set(layer[skin_btn_prev].enabled, false);
set(layer[skin_btn_prev].alpha, 0.3);
);
sub(lastsceneindex, scene.count, 1);
if(scene[get(xml.scene)].index LT lastsceneindex,
set(layer[skin_btn_next].enabled, true);
set(layer[skin_btn_next].alpha, 1.0);
,
set(layer[skin_btn_next].enabled, false);
set(layer[skin_btn_next].alpha, 0.3);
);
,
if(scene.count GT 1,
set(layer[skin_btn_prev].enabled, true);
set(layer[skin_btn_prev].alpha, 1.0);
set(layer[skin_btn_next].enabled, true);
set(layer[skin_btn_next].alpha, 1.0);
,
set(layer[skin_btn_prev].enabled, false);
set(layer[skin_btn_prev].alpha, 0.3);
set(layer[skin_btn_next].enabled, false);
set(layer[skin_btn_next].alpha, 0.3);
);
);
txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(scene[get(xml.scene)].index));
set(layer[skin_thumbborder].visible, true);
if(scene[get(xml.scene)].mapspotname,
layer[skin_map].activatespot(get(scene[get(xml.scene)].mapspotname));
layer[skin_map].pantospot(get(scene[get(xml.scene)].mapspotname));
);
);
);
add(newsceneindex, scene[get(xml.scene)].index, %1);
if(newsceneindex GE 0,
if(newsceneindex LT scene.count,
txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex));
layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
loadscene(get(scene[get(newsceneindex)].name), null, MERGE, BLEND(0.5));
);
);
add(newsceneindex, scene[get(xml.scene)].index, %1);
sub(lastsceneindex, scene.count, 1);
if(newsceneindex LT 0, copy(newsceneindex,lastsceneindex));
if(newsceneindex GT lastsceneindex, set(newsceneindex,0));
layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
loadscene(get(scene[get(newsceneindex)].name), null, MERGE, BLEND(0.5));
set(layer[skin_loadingtext].visible, %1);
set(layer[skin_tooltip].alpha,0.0);
set(layer[skin_tooltip].visible,false);
if(%1 != null,
set(strength,0.7);
if(%2 != null, set(strength,%2));
set(layer[skin_buttonglow].parent, %1);
set(layer[skin_buttonglow].visible, true);
tween(layer[skin_buttonglow].alpha, get(strength), 0.07);
,
tween(layer[skin_buttonglow].alpha, 0.0, 0.1, default, set(layer[skin_buttonglow].parent, null); set(layer[skin_buttonglow].visible, false); );
);
if(layer[skin_map].state != 'closed', skin_showmap(false); wait(0.4); );
if(layer[skin_thumbs].state != 'closed', skin_showthumbs(false); wait(0.25); );
tween(layer[skin_scroll_window].y, get(layer[skin_scroll_window].y_closed), 0.5, easeOutQuint);
tween(layer[skin_control_bar].y, get(layer[skin_control_bar].y_closed), 0.5, easeOutQuint);
set(layer[skin_btn_show].visible,true);
tween(layer[skin_btn_show].alpha, 1, 0.25, easeOutQuint);
tween(layer[skin_scroll_window].y, get(layer[skin_scroll_window].y_opened), 0.5, easeOutQuint);
tween(layer[skin_control_bar].y, get(layer[skin_control_bar].y_opened), 0.5, easeOutQuint);
set(layer[skin_btn_show].visible,false);
tween(layer[skin_btn_show].alpha,0,0);
if(%1 == null, if(layer[skin_thumbs].state == 'closed', set(show,true), set(show,false)); , set(show,%1); );
mul(mh, layer[skin_scroll_layer].pixelheight, -1);
if(layer[skin_scroll_layer].y == -100%, copy(layer[skin_scroll_layer].y,mh));
if(show,
set(layer[skin_thumbs].state, 'opened');
add(mh, layer[skin_thumbs].height);
tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint);
set(layer[skin_thumbs_container].visible, true);
tween(layer[skin_thumbs_container].alpha, 1.0, 0.25);
tween(layer[skin_map].alpha, 0.0, 0.25, default, set(layer[skin_map].visible,false));
,
set(layer[skin_thumbs].state, 'closed');
tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint, set(layer[skin_thumbs_container].visible, false););
);
if(%1 == null, if(layer[skin_map].state == 'closed', set(show,true), set(show,false)); , set(show,%1); );
mul(mh, layer[skin_scroll_layer].pixelheight, -1);
if(layer[skin_scroll_layer].y == -100%, copy(layer[skin_scroll_layer].y,mh));
if(show,
tween(layer[skin_logo].alpha, 0.0, 0.25, default, set(layer[skin_logo].visible,false));
tween(layer[skin_thumbs_container].alpha, 0.0, 0.25, default, set(layer[skin_thumbs_container].visible,false));
set(layer[skin_map].visible, true);
tween(layer[skin_map].alpha, 1.0, 0.25);
set(layer[skin_map].state, 'opened');
sub(hh,stageheight,skin_settings.controlbar_offset);
sub(hh,layer[skin_control_bar].height);
sub(hh,32);
add(mh,hh);
copy(layer[skin_map].height, hh);
tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint);
,
set(layer[skin_map].state, 'closed');
set(layer[skin_logo].visible, true); tween(layer[skin_logo].alpha, 1.0, 0.25);
tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint, set(layer[skin_map].visible,false) );
);
if(layer[skin_logo].state == 'small',
set(layer[skin_logo].state, 'opening');
copy(backup_logo_align, layer[skin_logo].align);
copy(backup_logo_x, layer[skin_logo].x);
copy(backup_logo_y, layer[skin_logo].y);
copy(backup_logo_scale, layer[skin_logo].scale);
layer[skin_logo].changeorigin(center);
tween(layer[skin_logo].x, 0, 0.5, easeOutQuint);
tween(layer[skin_logo].y, 0, 0.5, easeOutQuint);
tween(layer[skin_logo].scale, 1, 0.5, easeOutQuint);
delayedcall(0.5, set(layer[skin_logo].state, 'opened') );
delayedcall(0, set(events[skin_events].onmouseup, delayedcall(0, skin_closelogo()) ) );
);
if(layer[skin_logo].state == 'opened',
set(layer[skin_logo].state, 'closing');
layer[skin_logo].changeorigin(get(backup_logo_align));
if(%1 == 'now',
stoptween(layer[skin_logo].x, layer[skin_logo].y, layer[skin_logo].scale);
copy(layer[skin_logo].x, backup_logo_x);
copy(layer[skin_logo].y, backup_logo_y);
copy(layer[skin_logo].scale, backup_logo_scale);
set(layer[skin_logo].state, 'small');
,
tween(layer[skin_logo].x, get(backup_logo_x), 0.5, easeOutQuint);
tween(layer[skin_logo].y, get(backup_logo_y), 0.5, easeOutQuint);
tween(layer[skin_logo].scale, get(backup_logo_scale), 0.5, easeOutQuint);
delayedcall(0.5, set(layer[skin_logo].state, 'small'));
);
set(events[skin_events].onmouseup, null);
);
tween(view.fovmax, 150.0, distance(179, 1.00), easeoutquad);
tween(view.architectural, 0.0, distance(1.0, 0.45), easeoutquad);
tween(view.fisheye, 0.0, distance(1.0, 0.45), easeoutquad, set(view.stereographic,false); if(view.pannini, set(view.pannini,false); delayedcall(0,updateobject(true,true)); ); );
set(centerview,false);
if(view.architectural LT 0.2,
if(view.vlookat LT -60, set(centerview,true));
if(view.vlookat GT +60, set(centerview,true));
if(centerview, tween(view.vlookat, 0.0, distance(90, 0.45), easeoutquad));
);
if(view.fov GE 150, tween(view.fov, 100.0, distance(50, 0.45), easeoutquad));
tween(view.architectural, 0.0, distance(1.0, 0.30), easeoutquad);
tween(view.fisheye, 0.0 ,distance(1.0, 0.30), easeoutquad, set(view.stereographic,false); if(view.pannini, set(view.pannini,false); delayedcall(0,updateobject(true,true)); ); set(view.fovmax,179); tween(view.fisheye, 0.35, distance(1.0,1.25)); );
tween(view.fovmax, 150.0, distance(179, 1.00), easeoutquad);
tween(view.architectural, 1.0, distance(1.0, 0.45), easeoutquad);
tween(view.fisheye, 0.0, distance(1.0, 0.45), easeoutquad, set(view.stereographic,false); if(view.pannini, set(view.pannini,false); delayedcall(0,updateobject(true,true)); ); );
tween(view.architectural, 0.0, 0.25);
set(backtonormalfirst,false);
if(view.pannini == true, set(backtonormalfirst,true) );
if(view.stereographic == false, set(backtonormalfirst,true) );
if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );
if(view.pannini, set(view.pannini,false); delayedcall(0,updateobject(true,true)); );
set(view.stereographic, true);
set(view.fovmax, 150);
tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
tween(view.architectural, 0.0, 0.25);
set(backtonormalfirst,false);
if(view.pannini == false, set(backtonormalfirst,true) );
if(view.stereographic == false, set(backtonormalfirst,true) );
if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );
set(view.pannini, true);
set(view.stereographic, true);
set(view.fovmax, 150);
tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
tween(view.architectural, 0.0, 0.25);
tween(view.vlookat, 90, distance(179, 1.50), easeoutquad);
set(backtonormalfirst,false);
if(view.pannini == true, set(backtonormalfirst,true) );
if(view.stereographic == false, set(backtonormalfirst,true) );
if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );
if(view.pannini, set(view.pannini,false); delayedcall(0,updateobject(true,true)); );
set(view.stereographic, true);
set(view.fovmax, 150);
tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
tween(view.fov, 150, distance(179, 0.75), easeoutquad);