AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.59
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/360/fort-sainte-agathe-2018/test/indexdata/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/360/fort-sainte-agathe-2018/test/indexdata/index_skin_vr.xml
<?xml version="1.0" encoding="UTF-8"?>
<krpano version="1.19">

    
  <!-- Spot Style - Déplacement par défaut -->
  <style name="IconDéplacementpardéfaut"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint0.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"
         rotate="270"

         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementpardéfaut"
         onover="onoverIconDéplacementpardéfaut"
         onout="onoutIconDéplacementpardéfaut"


         />

  <action name="onhoverIconDéplacementpardéfaut">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconDéplacementpardéfaut">
tween(scale, 1.2);


  </action>

  <action name="onoutIconDéplacementpardéfaut">
    hideTooltip();
    tween(scale, 1);


  </action>



      
  <!-- Picture Spot Style - PI sans description -->

  <style name="RectPicturePIsansdescription"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIsansdescription"
         onout="onoutRectPicturePIsansdescription"
         />
  <action name="onhoverRectPicturePIsansdescription">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIsansdescription">
    hideTooltip();
    
  </action>



        
  <!-- Video Spot Style - Default Video Spot Style -->
  <style name="RectVideoDefaultVideoSpotStyleLoader" url="%FIRSTXML%/spots/loadanimation.png" crop="0|0|64|64" ypos="0" frame="0" distorted="true" visible="false" />
  <style name="RectVideoDefaultVideoSpotStyle"
         capture="false"
         visible="false"
         distorted="true"
         scale="1.0" 
         url="%FIRSTXML%/graphics/videoplayer.js"
         loop="false"
         autoresume="true"
         pausedonstart="true"
         pausedonstart.android="false"
         pauseothersounds="true"
         canstart="false"
         onvideocomplete="tween(alpha, 0, 0.5, easeOutQuad, if(device.html5,stop();,delayedcall(0.01,play();pause();););set(hotspot[get(videocontrolplay)].visible, true);set(hotspot[get(videocontrolpause)].visible, false);set(stateVideo,'startplaying');dec(videospots_playing);resumeTourSoundsActions(true,true,true,true,true););"
         onhover="onhoverRectVideoDefaultVideoSpotStyle"
         onout="onoutRectVideoDefaultVideoSpotStyle"
         onvideoready="onvideoreadyRectVideoDefaultVideoSpotStyle"
         />
  <style name="RectVideoDefaultVideoSpotStyle" 
    directionalsound="false"
  />
  <style name="RectVideoDefaultVideoSpotStyle" 
    stateVideo="startplaying" devices="no-ios" 
  />
  <style name="RectVideoDefaultVideoSpotStyle" 
    stateVideo="startpaused" devices="ios" 
  />
  <action name="onhoverRectVideoDefaultVideoSpotStyle">
    showTooltip('hotspot');
    if(hotspot[get(videocontrolpause)].visible == false,
      if(hotspot[get(videocontrolplay)].visible == false,
        set(hotspot[get(videocontrolpause)].visible, true);
      );
    );
  </action>
  <action name="onoutRectVideoDefaultVideoSpotStyle">
    hideTooltip();
    ifnot(ispaused,
      if(hotspot[get(videocontrolpause)].visible,
        set(hotspot[get(videocontrolpause)].visible, false);
      );
    );
  </action>
  <action name="onvideoreadyRectVideoDefaultVideoSpotStyle">
    set(isVideoReadyForPlaying, false);
    if (isvideoready,
      if (canstart,
        set(isVideoReadyForPlaying, true);
      );
    );
    if(isVideoReadyForPlaying,
    ifnot(device.ios,
      inc(videospots_playing);
      pauseTourSoundsActions(true,true,true,true,true);
    );

    if(tour_displayspots,
      if(ispaused,
        if(stateVideo == "startplaying",
          set(stateVideo, "playing");
          play();
        );
      );
    );
    if(device.flash,
      if (tour_soundson,
        div(volume, tour_soundsvolume, 100);
      ,
        set(volume, 0);
      );
    ,
      ifnot(device.ios,
        if (tour_soundson,
          js(kpanotour.Sounds.startVideosSounds(get(volume)));
        ,
          js(kpanotour.Sounds.stopVideosSounds());
        );
      );
    );
    onvideoreadyspecific();
    onvideoreadycontrols();
    ,

      delayedcall(0.5,onvideoreadyRectVideoDefaultVideoSpotStyle());
    );
  </action>
  <action name="animatevideospotloaderRectVideoDefaultVideoSpotStyle">
    if(hotspot[%1],
      if(hotspot[%1].activated,
        set(hotspot[%1].visible, true);
      );
      inc(hotspot[%1].frame,1, 11,0);
      mul(hotspot[%1].ypos, hotspot[%1].frame, 64);
      txtadd(hotspot[%1].crop, '0|', get(hotspot[%1].ypos),'|64|64');
      delayedcall(%2, 0.1, animatevideospotloaderRectVideoDefaultVideoSpotStyle(%1, %2) );
    ,
      stopdelayedcall(%2);
    );
  </action>
  <action name="stopvideospotloaderanimationRectVideoDefaultVideoSpotStyle">
    removehotspot(%1);
  </action>



    
  <!-- Spot Style - Son -->
  <style name="IconSon"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint1.png"
         visible="false"
         frame="0"
         lastframe="19"
         framewidth="27"
         frameheight="54"
         stopspotsequence="false"
         crop="0|0|27|54"

         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconSon"
         onover="onoverIconSon"
         onout="onoutIconSon"


         />

  <action name="onhoverIconSon">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconSon">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

  </action>

  <action name="onoutIconSon">
    hideTooltip();
    tween(scale, 1);

resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - Vidéo -->
  <style name="IconVidéo"
         url="%FIRSTXML%/spots/hotspot_video_sequence_user_defaultpoint4.png"
         visible="false"
         frame="0"
         lastframe="12"
         framewidth="85"
         frameheight="85"
         stopspotsequence="false"
         crop="0|0|85|85"

         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconVidéo"
         onover="onoverIconVidéo"
         onout="onoutIconVidéo"


         />

  <action name="onhoverIconVidéo">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconVidéo">
tween(scale, 1.2);


  </action>

  <action name="onoutIconVidéo">
    hideTooltip();
    tween(scale, 1);


  </action>



      
  <!-- Picture Spot Style - PI avec description -->

  <style name="RectPicturePIavecdescription"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIavecdescription"
         onout="onoutRectPicturePIavecdescription"
         />
  <action name="onhoverRectPicturePIavecdescription">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIavecdescription">
    hideTooltip();
    
  </action>



      
  <!-- Picture Spot Style - PI avec galerie photo -->

  <style name="RectPicturePIavecgaleriephoto"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIavecgaleriephoto"
         onout="onoutRectPicturePIavecgaleriephoto"
         />
  <action name="onhoverRectPicturePIavecgaleriephoto">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIavecgaleriephoto">
    hideTooltip();
    
  </action>



    
  <!-- Spot Style - Déplacement flêche vers la gauche -->
  <style name="IconDéplacementflêcheverslagauche"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint5.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"
         rotate="180"

         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementflêcheverslagauche"
         onout="onoutIconDéplacementflêcheverslagauche"


         />

  <action name="onhoverIconDéplacementflêcheverslagauche">
    showtooltip('hotspot');
  </action>


  <action name="onoutIconDéplacementflêcheverslagauche">
    hideTooltip();



  </action>



    
  <!-- Spot Style - Déplacement flêche vers la droite -->
  <style name="IconDéplacementflêcheversladroite"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint6.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"

         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementflêcheversladroite"
         onout="onoutIconDéplacementflêcheversladroite"


         />

  <action name="onhoverIconDéplacementflêcheversladroite">
    showtooltip('hotspot');
  </action>


  <action name="onoutIconDéplacementflêcheversladroite">
    hideTooltip();



  </action>



  <action name="enableGyroscope">
    changeGyroscopeState(true);
  </action>
  <action name="disableGyroscope">
    changeGyroscopeState(false);
  </action>


  <!-- Hide / Show Thumbnails -->
  <action name="hideTourThumbnails">set(tour_displaythumbnails, false);events.dispatch(hidetourthumbnails);</action>
  <action name="showTourThumbnails">set(tour_displaythumbnails, true); events.dispatch(showtourthumbnails);</action>


<action name="viewControlZoomIn">
	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);
	);
</action>
<action name="viewControlZoomOut">
	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);
	);
</action>
<action name="viewControlZoomStop">
	set(fov_moveforce, 0);
</action>

  <!-- Sounds Management -->
  <plugin name="soundinterface"
          preload="true"
          url="%FIRSTXML%/graphics/soundinterface.js"
          rootpath="%$videos_sounds_path%/sounds"
          backgroundsound=""
          backgroundsoundloops="0"
          bgsound="false"
          bgsoundpaused="false"
          bgsoundloopended="false"
          volumeinitialized="false"
          started="true"
          keep="true"/>
  <events name="soundmanagementevents"
          onnewpano="if(plugin[soundinterface].started,playbackgroundsound(););"
          onxmlcomplete="soundinterfaceonxmlcomplete();"
          keep="true"/>
  <action name="soundinterfaceonxmlcomplete">
    ifnot(plugin[soundinterface].volumeinitialized,
      div(plugin[soundinterface].volume, tour_soundsvolume, 100);
      set(plugin[soundinterface].volumeinitialized,true);
    );
  </action>
  <action name="playsound3Dwhenpossible">
    set(really_play_sound, true);
    if (tour_current_played_sound,
      if (%1 == tour_current_played_sound,
        delete(tour_current_played_sound);
        set(tour_current_played_sound_state, 0);
        delete(tour_current_played_sound_paused);
        stopsound(%1);
        set(really_play_sound, false);
        if(%4,
          delete(tour_current_played_sound_pausesound);
          resumeTourSoundsActions(true,true,true,true,true);
        );
      );
    );
    if (really_play_sound,
      if (tour_current_played_sound,
        stopsound(get(tour_current_played_sound));

        ifnot(%4,
          if(tour_current_played_sound_pausesound,
            delete(tour_current_played_sound_pausesound);
            resumeTourSoundsActions(true,true,true,true,true);
          );
        );
      );
      if(%4,
        set(tour_current_played_sound_pausesound, true);
        pauseTourSoundsActions(true,false,true,true,true);
      );
      set(tour_current_played_sound, %1);
      if(tour_current_played_video,
        set(tour_current_played_sound_state, 2);
      ,
        set(tour_current_played_sound_state, 1);
      );
      set(tour_current_played_sound_paused, false);
      if (%3,
        if (device.flash,
          div(volume, tour_soundsvolume, 100);
          if(%9 != null,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8);
          );
        ,
          if(%9 != null,
            playsound(%1,%2,%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound(%1,%2,%8);
          );
        );
      ,
        if(%6 != null,
          playsound(%1,%2,%5,stopsound3Dwhenpossible(%1,%4));
        ,
          playsound(%1,%2,%5);
        );
      );

      ifnot(tour_soundson,
        set(tour_current_played_sound_paused, true);
        pausesound(%1);
      );
    );
  </action>
  <action name="stopsound3Dwhenpossible">
    if (%1 == tour_current_played_sound,
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
      delete(tour_current_played_sound_paused);

      ifnot(device.safari,
        stopsound(%1);
      );
      if(%2,
        delete(tour_current_played_sound_pausesound);
        resumeTourSoundsActions(true,true,true,true,true);
      );
    );
  </action>
  <action name="playbackgroundsound">
  if(playsound,
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound,
        if (plugin[soundinterface].backgroundsound != scene[get(xml.scene)].backgroundsound,
          copy(plugin[soundinterface].backgroundsound, scene[get(xml.scene)].backgroundsound);
          copy(plugin[soundinterface].backgroundsoundloops, scene[get(xml.scene)].backgroundsoundloops);
          if (tour_soundson,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            if(plugin[soundinterface].backgroundsoundloops GT 0,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
            ,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
            );
           ,
            set(plugin[soundinterface].bgsound, false);
          );
        ,
          if (tour_soundson,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            );
          ,
            set(plugin[soundinterface].bgsound, false);
          );
        );
      );
    );
  ,
    delayedcall(0.2, playbackgroundsound());
  );
  </action>
  <action name="stopbackgroundsoundoncomplete">
    if (plugin[soundinterface].backgroundsound,
    if (plugin[soundinterface].backgroundsoundloops GT 0,

      set(plugin[soundinterface].backgroundsoundloops, 0);
      set(plugin[soundinterface].bgsound, false);
      set(plugin[soundinterface].bgsoundpaused, false);
      set(plugin[soundinterface].bgsoundloopended, true);
    );
    );
  </action>
  <action name="resetbackgroundsoundifneeded">
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound != scene[%1].backgroundsound,
        if(plugin[soundinterface].backgroundsound,
          stopsound(bgsoundname);
        );
        set(plugin[soundinterface].backgroundsound, "");
        set(plugin[soundinterface].backgroundsoundloops, 0);
        set(plugin[soundinterface].bgsound, false);
        set(plugin[soundinterface].bgsoundpaused, false);
        set(plugin[soundinterface].bgsoundloopended, false);
      );
    );
  </action>
  <action name="pausebackgroundsound">
    if(plugin[soundinterface].backgroundsound,
      if (plugin[soundinterface].bgsound,
        if(plugin[soundinterface].bgsoundpaused == false AND plugin[soundinterface].bgsoundloopended == false,
          pausesound(bgsoundname);
          set(plugin[soundinterface].bgsoundpaused, true);
        );
      );
    );
  </action>
  <action name="resumebackgroundsound">
    set(killBgSoundOnResume, true);
    set(forceBgSoundOnResume, true);
    if(layer[displayedStandardVideo],
    if(layer[displayedStandardVideo].pausebgsound AND tour_current_played_video,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(layer[webvideodisplay_player],
    if(layer[webvideodisplay_player].pausebgsound AND tour_current_played_web_video,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(tour_current_played_sound_pausesound AND tour_current_played_sound,
      set(killBgSoundOnResume, false);
    );
    ifnot(plugin[soundinterface].backgroundsound AND scene[get(xml.scene)].backgroundsound,
      set(killBgSoundOnResume, false);
    );
    if(videospots_playing GT 0,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    );
    if(killBgSoundOnResume,
      if (plugin[soundinterface].backgroundsound,
        if (tour_soundson,
          if (plugin[soundinterface].bgsound AND plugin[soundinterface].bgsoundloopended == false,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            );
          ,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            if(plugin[soundinterface].backgroundsoundloops GT 0,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
            ,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
            );
          );
        );
      );
    ,
      if(forceBgSoundOnResume,
        playbackgroundsound();
      );
    );
  </action>
  <action name="preloadSounds">
    preloadsound("poudriere_01.mp3");
    preloadsound("tunnel_01.mp3");
    preloadsound("intro_salle_01_01.mp3");
    preloadsound("intro_salle_02_01.mp3");
    preloadsound("salle_4_intro.mp3");
    preloadsound("salle_5_intro.mp3");
    preloadsound("tour_a_canon_01.mp3");
    preloadsound("l_escalier.mp3");
    preloadsound("salle_01_maquette_centrale.mp3");
    preloadsound("salle_01_posidonie_01.mp3");
    preloadsound("cycle_de_l_eau_01_01.mp3");
    preloadsound("salle_02_crane.mp3");
    preloadsound("salle_3_fresque_au_sol_viticole.mp3");
    preloadsound("salle_3_fresque_au_sol_cabotage.mp3");
    preloadsound("salle_4_plan_fortifications.mp3");
    preloadsound("salle_5_logo_des_pn.mp3");
  </action>

  <action name="play3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, playpanolocalsounds();););
  </action>
  <action name="stop3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, stoppanolocalsounds();););
  </action>
  <action name="resume3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, 
      set(kill3dSoundOnResume, true);
      if(layer[displayedStandardVideo],
      if(layer[displayedStandardVideo].pausebgsound,
      if(tour_current_played_video,
        set(kill3dSoundOnResume, false);
      );););
      if(layer[webvideodisplay_player],
      if(layer[webvideodisplay_player].pausebgsound,
      if(tour_current_played_web_video,
        set(kill3dSoundOnResume, false);
      );););
      if(tour_current_played_sound_pausesound,
      if(tour_current_played_sound,
        set(kill3dSoundOnResume, false);
      ););
      if(kill3dSoundOnResume,
        resumepanolocalsounds();
      );
    ););
  </action>
  <action name="pause3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, pausepanolocalsounds();););
  </action>
  <action name="set3DLocalSoundsVolume">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, setpanolocalsoundsvolume();););
  </action>
  <action name="playTourSounds">
    set(tour_soundson, true);events.dispatch(playtoursoundsevent);
    resumeTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="stopTourSounds">
    set(tour_soundson, false);events.dispatch(stoptoursoundsevent);
    pauseTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="setTourSoundsVolume">
    set(tour_soundsvolume, %1);events.dispatch(changetoursoundsevent);
    div(volume, tour_soundsvolume, 100);
    set(plugin[soundinterface].volume, get(volume));
    set3DLocalSoundsVolume();
  </action>
  <action name="playTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        play3DLocalSounds();
        );
      );
    );
    if(%2,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
          resumebackgroundsound();
        );
      );
    );
  </action>
  <action name="stopTourSoundsActions">
    if(%1,
      stop3DLocalSounds();
    );
    if(%2,
      stopSoundActionsSounds();
    );
    if(%3,
      stopVideoActionsSounds();
    );
    if(%4,
      pausebackgroundsound();
    );
  </action>
  <action name="resumeTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        resume3DLocalSounds();
        );
      );
    );
    if(%2,
      resumeSoundActionsSounds();
    );
    if(%3,
      resumeVideoActionsSounds();
    );
    if(%4,
      if(%5,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      ,
        pausebackgroundsound();
      );
    );
  </action>
  <action name="pauseTourSoundsActions">
    if(%1,
      pause3DLocalSounds();
    );
    if(%2,
      pauseSoundActionsSounds();
    );
    if(%3,
      pauseVideoActionsSounds();
    );
    if(%4,
      if(%5,
        pausebackgroundsound();
      ,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      );
    );
  </action>
  <action name="stopSoundActionsSounds">
    if (tour_current_played_sound,
      delete(tour_current_played_sound_paused);
      stopsound(get(tour_current_played_sound));
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
    );
  </action>
  <action name="stopVideoActionsSounds">
    if(tour_current_played_video,
      if(layer[displayedStandardVideo],
        layer[displayedStandardVideo].stop();
        removelayer(displayedStandardVideo);
        if(layer[displayedStandardVideoOverlayButton], removelayer(displayedStandardVideoOverlayButton); );
        if(layer[displayedStandardVideoOverlay], removelayer(displayedStandardVideoOverlay); );
        delete(tour_current_played_video);
        set(tour_current_played_video_state, 0);
      );
    );
    if(tour_current_played_web_video,
      displayWebVideoObjectClose();
    );
  </action>
  <action name="resumeSoundActionsSounds">
    if (tour_current_played_sound,
      set(resumeSoundActionsVerification, true);
      if(tour_current_played_video,
        if(tour_current_played_sound_state LT tour_current_played_video_state,
          set(resumeSoundActionsVerification, false);
        );
      );
      if(resumeSoundActionsVerification,
        if (tour_soundson,
          if(tour_current_played_sound_paused,
            set(tour_current_played_sound_paused, false);
            resumesound(get(tour_current_played_sound));
          );
        );
      );
    );
  </action>
  <action name="resumeVideoActionsSounds">
    if(tour_current_played_video,
      set(resumeVideoActionsVerification, true);
      if(tour_current_played_sound,
        if(tour_current_played_video_state LT tour_current_played_sound_state,
          set(resumeVideoActionsVerification, false);
        );
      );
      if(resumeVideoActionsVerification,
        if (tour_soundson,
          div(volume, tour_soundsvolume, 100);
          if(device.flash,
            set(layer[displayedStandardVideo].volume, get(volume));
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.startVideosSounds(get(volume)));
            );
          );
        ,
          if(device.flash,
            set(layer[displayedStandardVideo].volume, 0);
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.stopVideosSounds());
            );
          );
        );
      );
    );
  </action>
  <action name="pauseSoundActionsSounds">
    if (tour_current_played_sound,
      ifnot(tour_current_played_sound_paused,
        set(tour_current_played_sound_paused, true);
        pausesound(get(tour_current_played_sound));
      );
    );
  </action>
  <action name="pauseVideoActionsSounds">
    if(tour_current_played_video,
      if(device.flash,
        set(layer[displayedStandardVideo].volume, 0);
      ,
        ifnot(device.ios,
          js(kpanotour.Sounds.stopVideosSounds());
        );
      );
    );
  </action>

<action name="viewControlMoveUp">
	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);
	);
</action>
<action name="viewControlMoveDown">
	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);
	);
</action>
<action name="viewControlMoveLeft">
	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);
	);
</action>
<action name="viewControlMoveRight">
	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);
	);
</action>
<action name="viewControlMoveHoriStop">
	set(hlookat_moveforce, 0);
</action>
<action name="viewControlMoveVertStop">
	set(vlookat_moveforce, 0);
</action>

  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);js(setFullscreen(false));</action>
  <action name="enterFullScreen" devices="fullscreensupport">set(tour_fullscreen,true);js(setFullscreen(true));</action>
  <action name="switchFullScreen">if(tour_fullscreen,exitFullScreen();,enterFullScreen(););</action>

  
  <events name="krpanoExitFullscreenEvent"
    onexitfullscreen="if(tour_fullscreen,exitFullScreenChangeEvent(););"
    keep="true" />

  <action name="exitFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,false);events.dispatch(onexitfullscreen);</action>
  <action name="enterFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,true);events.dispatch(onenterfullscreen);</action>
  <action name="exitFullScreenFallback">set(fullscreen,false);</action>
  <action name="enterFullScreenFallback">set(fullscreen,true);</action>
  
  <action name="resizeFullScreenEvent">delayedcall(0,updatescreen(););</action>

  <!-- Share Tour -->
  <action name="shareTour">events.dispatch(onsharetour);</action>

  <!-- Tour Information -->
  <action name="hideTourInfo">set(tour_displayinfo, false);events.dispatch(onhidetourinfo);</action>
  <action name="showTourInfo">set(tour_displayinfo, true); events.dispatch(onshowtourinfo);</action>


  <!-- Hide / Show Controls -->
  <action name="hideTourControls">set(tour_displaycontrols, false);events.dispatch(hidetourcontrols);</action>
  <action name="showTourControls">set(tour_displaycontrols, true); events.dispatch(showtourcontrols);</action>


</krpano>

Anon7 - 2022
AnonSec Team