function OnSceneLoad(screen)
    game_state = {}
    LoadData(screen)    
    local pf = play_field
    local level = pf:GetLevelScreen()
    game_state.custom_cursors = {}
    game_state.locked_objects = {}
    game_state.active_objects = {}
    game_state.locker = ReferenceCounter()
    game_state.active_zone = nil
	
	game_state.custom_cursors = {}
	--game_state.custom_cursors['showcase']='CursorZoom'
    --game_state.locked_objects['showcase'] = true	
	
	level:AddTaskSafe(CreateTask('DAGGER', '', 'dagger'))
	
	AddRandomTasks(17,
					CreateTask('AXE', '', 'axe'),
					CreateTask('BELL', '', 'bell'),
					CreateTask('BUTTERFLY', '', 'butterfly'),
					CreateTask('CANDLEHOLDER', '', 'candle'),
					CreateTask('CLOWN', '', 'clown'),
					CreateTask('FAN', '', 'fan'),
					CreateTask('GLASSES', '', 'glasses'),
					CreateTask('HORSESHOE', '', 'horseshoe'),
					CreateTask('HOURGLASS', '', 'hourglass'),
					CreateTask('KEY', '', 'key'),
					CreateTask('MICROSCOPE', '', 'microscope'),
					CreateTask('ROPE', '', 'rope'),					
					CreateTask('CROWN', '', 'crown'),					
					CreateTask('PLATE', '', 'plate'));
						
	local object = play_field:GetObject('dust');
	inventory_dust =  CreateInventory(object:GetX(),
                                      object:GetY(),
                                      object:GetZ() + 10,
                                      object:GetName(),
									  CreateItem('pullverizer1', 'pullverizer'),
									  CreateItem('sponge_inventory', 'sponge_tool'),
									  CreateItem('bucket_tool', 'bucket_scaled'),
									  play_field:GetTimer(),
									  "INVENTORY_TASK_1_1");
    inventory_dust.state_changer = 	"OnShowCaseComplete"
	
	inventory_dust.OnComplete = function()
	    local af = CreateAnimationEffector()
        local obj = play_field:GetObject('dust')
        af:AttachTo(obj)
        af:SetMode(_ANIM_FWD)
        af:SetKey(_TRACK_O, 0.0, obj:GetOpacity())
        af:SetKey(_TRACK_O, 0.6, obj:GetOpacity())
        af:SetKey(_TRACK_O, 0.9, 0)
        af:Play()
        obj = play_field:GetObject('showcase')
        obj:SetOpacity(1);
		
		--local e = AddBubblesExplosion(obj, play_field, 1, obj:GetZ() + 10, 0, 0, 1, 1, 1)
		--e:AttachTo(obj)
        inventory_ribbon.Unlock()

        --tutorial_new_inventory_zone.Init()
        --tutorial_new_inventory_zone.Show()
        if game_state.is_tutorial_must_be_shown then
            tutorial_cigar.Init()
            tutorial_cigar.Show()
            game_state.locker:AddRef()
            game_state.locked_objects[inventory_ribbon.bound_object]=true
        end
	end	
    
    zoom_showcase = CreateZoomZone('close_zone_showcase',                                         
                                         '',
                                         'bg_zoom',
                                         'scissors_half',
                                         'screw',
                                         'over_scissors',
                                         'Border')

    --zoom_showcase.SetOffset(-300, 0);
                                         
    pf:GetObject('showcase'):SetOpacity(0);
    pf:GetObject('ribbon2'):SetOpacity(0);
    
    local object = play_field:GetObject('ribbon1')
    inventory_ribbon = CreateInventory(object:GetX(),
									   object:GetY(),
									   play_field:GetObject('ribbon_active_zone'):GetZ() + 1,
									   'ribbon_active_zone',
									   CreateItem('scissors_to_display', 'scissors1'),
									   CreateItem('scissors_half_to_display', 'scissors_half_tool'),
									   CreateItem('screw_to_display', 'screw_tool'),
									   play_field:GetTimer(),
										"INVENTORY_TASK_1_2");
    inventory_ribbon.state_changer = "OnRibbonComplete"
    inventory_ribbon.times_shown = 0
	
	inventory_ribbon.OnShown = function()
		RegisterZoomZone(zoom_showcase, 'showcase')
        game_state.locked_objects['showcase'] = false
	end
	
	game_state.win_conditions_complete = false
	
	inventory_ribbon.OnComplete = function()
	    local obj = play_field:GetObject('ribbon2')
        obj:SetOpacity(1)
        obj = play_field:GetObject('ribbon1')
        obj:SetVisible(false)
		--play_field:IgnoreOnTestPoint('ribbon_active_zone')
        if game_state.items_found and not game_state.win_conditions_complete then
            OnWinConditionsComplete()
        end
	end	
   
    game_state.items_found = false
    
    game_state.tools = {}
	local t = CreateTool('pullverizer', 'pullverizer');
	
	
	t.OnSuccess = function()
        if tutorial_inventory_zone_control.HideArrow1 then
            tutorial_inventory_zone_control.HideArrow1()	   
            tutorial_inventory_zone_control.HideArrow2()
			--[[tutorial_inventory_zone_control.ShowArrow3()	   
            tutorial_inventory_zone_control.ShowArrow4()]]
			tutorial_inventory_zone_control.Hide()
        end
	    CheckTutorialInventoryControl()
	end
	t.OnSet = function()
	    play_field:GetObject(t.scene_object_name):ChangeOpacity(0, 1, 0.3)
	    if tutorial_inventory_zone_control.HideArrow2 then
	        tutorial_inventory_zone_control.HideArrow2()
	        play_field:GetObject('pullverizer'):HighlightWithStars(false)
	    end
	end
	t.OnFail = function()
	    play_field:GetObject(t.scene_object_name):ChangeOpacity(1, 0, 0.3)
		ShowToolFailEffect(t.scene_object_name)
		if tutorial_inventory_zone_control.ShowArrow2 then
			tutorial_inventory_zone_control.ShowArrow2()	
		end
	end
	
--	CreateTool('soap', 'soap');
	CreateTool('scissors1', 'scissors1');
	local t = CreateTool('scissors_half', 'scissors_half_tool')
	t.OnSuccess = function()
	    play_field:GetObject('scissors_half'):SetOpacity(0)
        zoom_showcase.RemoveObject('scissors_half')
        CheckShowCaseItems()
	end
	
	t.OnSet = function()
	    zoom_showcase.SetVisible(false)
		game_state.locker:Release()		
	end
	
	t.OnFail = function()
	    play_field:ShowParticleLine(GetMouseX(),
                                    GetMouseY(),
                                    play_field:GetObject('showcase'):GetX(),
                                    play_field:GetObject('showcase'):GetY(),
                                    300)            
	end
	
	local t = CreateTool('screw', 'screw_tool')	
	
	t.OnSuccess = function()
	    play_field:GetObject('screw'):SetOpacity(0)
            zoom_showcase.RemoveObject('screw')
            CheckShowCaseItems()
	end
	
	t.OnFail = function()
	    play_field:ShowParticleLine(GetMouseX(),
                                    GetMouseY(),
                                    play_field:GetObject('showcase'):GetX(),
                                    play_field:GetObject('showcase'):GetY(),
                                    300)
	end
	
	t.OnSet = function()
	    zoom_showcase.SetVisible(false)
		game_state.locker:Release()		
	end
	
	--AddSheriffEyeLogic()
	
	--game_state.locked_objects["active_pixel"] = true
	
	-------------------------------------------------------------------------------------------------------------------
	-- zoom zone storage	
    zoom_storage = CreateZoomZone('close_zone_storage',                                         
                                  '', -- pixel_open_storage
                                  'bg_storage',
                                  'pipe_storage',
                                  'valve_storage',
                                  'screw_storage',
                                  'valve_animation',
                                  'Border_storage',
                                  'sponge_storage',								  
								  'steam')
    zoom_storage.OnShownImmediate = function()
        TimerDo(play_field:GetTimer(), ZOOM_ZONE_APPEARING_TIME, inventory_pipe_storage.Unlock)
		if not inventory_pipe_storage.IsLocked() then
			play_field:GetLevelScreen():GetTaskList():SetExtraTaskText(GetString(inventory_pipe_storage.task_text_alias))
		end
    end	
	
	zoom_storage.OnHiddenImmediate = function()
		play_field:GetLevelScreen():GetTaskList():SetExtraTaskText(GetString(inventory_dust.task_text_alias))
	end
    
    zoom_storage.times_shown = 0
    
    zoom_storage.OnShown = function()
        --[[if zoom_storage.times_shown == 0 then
            zoom_storage.times_shown = zoom_storage.times_shown + 1
            tutorial_inventory_zone_sponge.Init()
            tutorial_inventory_zone_sponge.Show()
        end]]
    end
							
    zoom_storage.SetVisible(false);
    --play_field:GetObject('pixel_pipe_gas'):SetClipping(292., 144., 640., 480.);
    play_field:GetObject('sponge_tool'):SetVisible(false);
    game_state.locked_objects['sponge_storage'] = true;
    
    local obj_valve_animation = play_field:GetObject('valve_animation');
    obj_valve_animation:SetVisible(false);    
    
    -- Create Inventory
    local object_pipe_storage   = play_field:GetObject('pipe_storage')
    inventory_pipe_storage      = CreateInventory(object_pipe_storage:GetX() + 100,
                                                  object_pipe_storage:GetY() + 50.,
                                                  object_pipe_storage:GetZ() + 1.,
                                                  object_pipe_storage:GetName(),
                                                  CreateItem('valve_storage_1', 'valve_storage'),
                                                  nil,
                                                  CreateItem('screw_storage_1', 'screw_storage'),
                                                  play_field:GetTimer(),
												  "INVENTORY_TASK_1_3");
    inventory_pipe_storage.state_changer = "OnValveFixed"												 
    
    inventory_pipe_storage.OnCompleteImmediate = function()
        zoom_storage.close_button:SetActive(false);
    end
        
    inventory_pipe_storage.times_shown = 0
    
    inventory_pipe_storage.OnShown = function()
        if inventory_pipe_storage.times_shown > 0 then
            return
        end
        inventory_pipe_storage.times_shown = inventory_pipe_storage.times_shown + 1
        --tutorial_inventory_zone_sponge.Hide()
        
        --tutorial_inventory_zone_sponge_control.Init()
        --tutorial_inventory_zone_sponge_control.Show()
    end

    inventory_pipe_storage.OnComplete = function()
        obj_valve_animation:SetVisible(true);
		if zoom_storage:IsVisible() then
			obj_valve_animation:ChangeOpacity(0., 1., 0.3);
		end
        obj_valve_animation:GetAnimation():SetMode(HGEANIM_FWD + HGEANIM_LOOP);
        obj_valve_animation:GetAnimation():Play();
        
        TimerDoString('CreatePipe()', 0.6, play_field:GetTimer());
        TimerDoString('OpenSpongeStorage()', GetAnimationLength(play_field:GetObject('steam'):GetAnimation()) / 2 + 1.1, play_field:GetTimer());
        zoom_storage.close_button:SetActive(false);
        
        if tutorial_inventory_zone_sponge_control.IsVisible() then
--            tutorial_inventory_zone_sponge_control.Hide()
        end
        
        play_field:GetLevelScreen():GetTaskList():SetExtraTaskText(GetString(inventory_dust.task_text_alias))
        if not game_state.is_tutorial_must_be_shown then
            inventory_dust.Unlock()
        end
	end
	
	local tool_valve_storage = CreateTool('valve_storage', 'valve_storage');
	tool_valve_storage.OnSuccess = function()	    
        zoom_storage.RemoveObject('valve_storage');
		--play_field:GetObject('valve_storage'):SetOpacity(0)
	end
	
	tool_valve_storage.OnSet = function()	    
	    if play_field:HasObject('t_a_tutorial_inventory_zone_sponge_control') then
            play_field:GetObject('t_a_tutorial_inventory_zone_sponge_control'):ChangeOpacity(1, 0, TUTORIAL_APPEARING_TIME)
        end
	end
	
	tool_valve_storage.OnFail = function()	    
		ShowToolFailEffect(tool_valve_storage.scene_object_name)
	    if play_field:HasObject('t_a_tutorial_inventory_zone_sponge_control') then
            play_field:GetObject('t_a_tutorial_inventory_zone_sponge_control'):ChangeOpacity(0, 1, TUTORIAL_APPEARING_TIME)
        end
	end
	
	local tool_screw_storage = CreateTool('screw_storage', 'screw_storage');
	tool_screw_storage.OnSuccess = function()	    
        zoom_storage.RemoveObject('screw_storage');
		--play_field:GetObject('screw_storage'):SetOpacity(0)
	end
	
	tool_screw_storage.OnSet = function()	    
	    if play_field:HasObject('t_a2_tutorial_inventory_zone_sponge_control') then
            play_field:GetObject('t_a2_tutorial_inventory_zone_sponge_control'):ChangeOpacity(1, 0, TUTORIAL_APPEARING_TIME)
        end
	end
	
	tool_screw_storage.OnFail = function()	    
		ShowToolFailEffect(tool_screw_storage.scene_object_name)
	    if play_field:HasObject('t_a2_tutorial_inventory_zone_sponge_control') then
            play_field:GetObject('t_a2_tutorial_inventory_zone_sponge_control'):ChangeOpacity(0, 1, TUTORIAL_APPEARING_TIME)
        end
	end
	
    local sponge_tool = CreateTool('sponge_storage', 'sponge_tool')
	sponge_tool.OnSuccess = function()
	    play_field:GetObject('sponge_storage'):ClearClipping();	    
        zoom_storage.RemoveObject('sponge_storage');
		CheckZoomStorage()
	end
	sponge_tool.times_set = 0
	sponge_tool.OnSet = function()
	    if sponge_tool.times_set == 0 then
	        --tutorial_inventory_zone_complete.Hide()
	        sponge_tool.times_set = sponge_tool.times_set + 1
	    end
	    zoom_storage.SetVisible(false);
	    if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end		
	end
	sponge_tool.OnFail = function()
	    play_field:ShowParticleLine(GetMouseX(),
                                    GetMouseY(),
                                    play_field:GetObject('active_pixel_storage'):GetX(),
                                    play_field:GetObject('active_pixel_storage'):GetY(),
                                    300);
        play_field:GetObject('sponge_tool'):SetVisible(false);
        if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end		
	end
	
	local t = CreateTool('bucket', 'bucket_scaled');
	
	t.OnSuccess = function()
	    if tutorial_inventory_zone_control.HideArrow3 then
	        tutorial_inventory_zone_control.HideArrow3()
	    end
	    CheckTutorialInventoryControl()
	end
	t.OnSet = function()
	    play_field:GetObject(t.scene_object_name):ChangeOpacity(1, 0, 0.3)
	    --[[if tutorial_inventory_zone_control.HideArrow4 then
	        tutorial_inventory_zone_control.HideArrow4()
	    end ]]
	end
	t.OnFail = function()
	    play_field:GetObject(t.scene_object_name):ChangeOpacity(0, 1, 0.3)
		ShowToolFailEffect(t.scene_object_name)
		--[[if tutorial_inventory_zone_control.ShowArrow4 then
			tutorial_inventory_zone_control.ShowArrow4()
		end]]
	end
	
	InitChain1(screen)
	game_state.chain1.state_changer = "OnStartingComicsComplete"
	InitChain2(screen)
	game_state.chain2.final = true
	
	local obj = play_field:GetObject('steam')
	obj:SetVisible(false)
	local anim = obj:GetAnimation()
	anim:SetMode(HGEANIM_FWD + HGEANIM_NOLOOP)
	anim:Stop()
	
	play_field:IgnoreOnTestPoint('iron')	
	
	local obj = play_field:GetObject('dust')
	play_field:GetObject('door'):SetOpacity(0)
	play_field:GetObject('door'):GetAnimation():SetMode(HGEANIM_FWD + HGEANIM_NOLOOP)
	
	play_field:IgnoreOnTestPoint('laer_scissors')
	
	dofile('data/Lua/Tutorial.lua')
	
	local object = play_field:GetObject(inventory_pipe_storage.bound_object)
	local clipping = {x=0, y=144, w=1024, h=768}
	inventory_pipe_storage.bubbles:Hide()
	inventory_pipe_storage.bubbles = AddBubblesAnimation(play_field, 3, 0, 0, 0, 0.25 / object:GetScaleX(), 0.25 / object:GetScaleY(), math.random(0, 5), clipping)		
	inventory_pipe_storage.bubbles:AttachTo(object)
	
	play_field:GetLevelScreen():GetTaskList():SetExtraTaskText("")
	
	game_state.is_tutorial_must_be_shown = false	
	game_state.showcase_unregistered = false
	
	game_state.OnValveFixed = function()
		play_field:GetObject('valve_animation'):SetVisible(true)
        play_field:GetObject('valve_animation'):GetAnimation():Stop();
    
		--[[play_field:GetObject('steam'):GetAnimation():Play()	
		play_field:GetObject('steam'):SetVisible(true)]]
																
		local effector_sponge = CreateAnimationEffector();
		if play_field:HasObject('sponge_storage') then
            local obj = play_field:GetObject('sponge_storage');
            obj:SetY(obj:GetY() + 410.)
            game_state.locked_objects['sponge_storage'] = false;
            game_state.locked_objects['bucket'] = false;
            zoom_storage.close_button:Go()
            inventory_dust.Unlock()
        end
        
        game_state.is_valve_fixed_on_start = true
	end
	
	game_state.OnShowCaseComplete = function()
	    local af = CreateAnimationEffector()
        local obj = play_field:GetObject('dust')
        obj:SetOpacity(0)
        obj = play_field:GetObject('showcase')
        obj:SetOpacity(1);
        if not game_state.showcase_unregistered then
            RegisterZoomZone(zoom_showcase, 'showcase')
        end
		
		if inventory_ribbon.items_to_use ~= 0 then
            game_state.locked_objects['showcase'] = false
            inventory_ribbon.Unlock()
        end
	end
	
	--[[game_state.OnZoomStorageUnregister = function()
	    UnregisterZoomZone(zoom_storage)
	end]]
		
	game_state.OnStartingComicsComplete = function()
	    if not game_state.is_valve_fixed_on_start then
	        ZoomStorageRegisteringActions()
	    end
	end
	
	game_state.OnRibbonComplete = function()
		local obj = play_field:GetObject('ribbon2')
        obj:SetOpacity(1)
        obj = play_field:GetObject('ribbon1')
        obj:SetVisible(false)
		--play_field:IgnoreOnTestPoint('ribbon_active_zone')
	end
	
	pf:RegisterObjectSilhouette('axe', 'axeNoShadow')
	
	game_state.meta_object = 'cigar4'
	
	local waterEffect = WaterEffectComposition()
	waterEffect:Play()
	waterEffect:AttachTo(screen)	
	waterEffect:SetZ(150)
	
	panel.cigarBoxButton:Stop()
end

function CheckZoomStorage()
	if not zoom_storage.HasObject('sponge_storage') then
		UnregisterZoomZone(zoom_storage)		
		
		--[[local pm = GetProfileManager();
		local currentProfile = pm:GetCurrentProfile();
		currentProfile:AddStateChanger("OnZoomStorageUnregister")
		OnSceneStateChanged(play_field)]]
		
--		game_state.locked_objects['active_pixel_storage'] = true;
	end
end

function OnNotebookOpened()
    if game_state.is_tutorial_must_be_shown then
        tutorial_find_item.Init();
	    tutorial_find_item.Show();
	    play_field:GetObject('dagger'):HighlightWithStars(true)
	    OnSceneStateChanged(play_field);
	else
	    panel.cigarBoxButton:Go()
	end
end

function InitChain1(screen)
    local comics1 = CreateComics(screen,
                                 'Sheriff',
								 'eyes')
								 
	comics1.OnHidden = function()
	    comics1.DefaultOnHidden()
		if not game_state.is_tutorial_must_be_shown then
			ZoomStorageRegisteringActions()        --[[local pm = GetProfileManager();
        local currentProfile = pm:GetCurrentProfile();
		currentProfile:AddStateChanger("OnStartingComicsComplete")]]
		--OnSceneStateChanged(play_field)
		end
    end 

    game_state.chain1 = CreateChain('pixel',
                                    screen,
                                    comics1, GetString("COMICS_1_1"))
end

function ZoomStorageRegisteringActions()
    if not RegisterZoomZone(zoom_storage, 'active_pixel_storage') then
        return
    end
    local obj_bg_storage    = play_field:GetObject('bg_storage');
    local x_bg_storage      = obj_bg_storage:GetX() - obj_bg_storage:GetAnimation():GetHotX();
    local y_bg_storage      = obj_bg_storage:GetY() - obj_bg_storage:GetAnimation():GetHotY();
    local width_bg_storage  = obj_bg_storage:GetAnimation():GetWidth();
    local height_bg_storage = obj_bg_storage:GetAnimation():GetHeight();
    --zoom_storage.SetOffset(100., -150.);
    if play_field:HasObject('sponge_storage') then
        play_field:GetObject('sponge_storage'):SetClipping(x_bg_storage, y_bg_storage, width_bg_storage, height_bg_storage);
    end
    
    if play_field:HasObject('steam') then
        play_field:GetObject('steam'):SetClipping(x_bg_storage, y_bg_storage, width_bg_storage, height_bg_storage);
    end
end
function InitChain2(screen)
    local comics1 = CreateComics(screen,                                                                  
                                 'Sheriff',
								 'eyes')

    comics1.OnHidden = function()
	    comics1.DefaultOnHidden()
        OnWin()
    end 
    
    game_state.chain2 = CreateChain('pixel2',
                                    screen,
                                    comics1, GetString("COMICS_1_2"))
end

function CreatePipe()
    play_field:GetObject('valve_animation'):GetAnimation():Stop();
    
    play_field:GetObject('steam'):GetAnimation():Play()	
    play_field:GetObject('steam'):SetVisible(true)
    --[[play_field:GetObject('pixel_pipe_gas'):AddParticleSystem('data/ParticleSystem/GasFromPipe.psi',
													        play_field:GetObject('particles_gas'):GetAnimationPtr())]]
													        
	local effector_sponge = CreateAnimationEffector();
	local obj = play_field:GetObject('sponge_storage');
    effector_sponge:AttachTo(obj);
    effector_sponge:SetMode(_ANIM_FWD);
	local t = GetAnimationLength(play_field:GetObject('steam'):GetAnimation()) / 2
    effector_sponge:SetKey(_TRACK_Y, 0.0, obj:GetY());
    effector_sponge:SetKey(_TRACK_Y, t, obj:GetY());
    effector_sponge:SetKey(_TRACK_Y, t + 0.5, obj:GetY() + 410.);
    effector_sponge:Play();
	PlaySound("Steam")
end

function OpenSpongeStorage()
    game_state.locked_objects['sponge_storage'] = false;
    zoom_storage.close_button:SetActive(true);
	--game_state.locked_objects['bucket'] = false;
    --play_field:GetLevelScreen():SetAllowInput(true)
    --tutorial_inventory_zone_complete.Init()
    --tutorial_inventory_zone_complete.Show()
end

function OnScreenShown()
	load_screen('data/Lua/Screens/DialogTutorial.lua')
    play_field:Stop()
    game_state.chain1.Start()
    --game_state.comics.SetVisible(true)
end

function OnSceneFree()
    OnNotebookOpened = function()
    end    
    FreeData()
end

function OnUpdate(dt)    
end

function OnNotebookClosed()
	Log("Calling OnNotebookClosed")
    if inventory_ribbon.items_to_use == 0 then		
		OnWinConditionsComplete()
    end
    game_state.items_found = true
end

function GoToNextLevel()
	Log("Calling GoToNextLevel")
    local object = play_field:GetObject('door')
	object:SetOpacity(1)
	object:GetAnimation():SetFrame(0)
	object:GetAnimation():Play()
	PlaySound("1_MuseumDoorOpen")
	--[[play_field:GetObject("door"):AddParticleSystem('data/ParticleSystem/ObjectHighlight.psi',
													play_field:GetObject('particle'):GetAnimationPtr())]]
	local e, f = AddBubblesExplosion(object, play_field, 1, object:GetZ() + 10, 0, 0, 1, 1, 0)	
	
	local se = function(e)
	    for i, v in ipairs(e) do
	        v:Play()
	    end
	end
	
	
	--TimerDo(play_field:GetTimer(), 2, se, f)
	
	--e:AttachTo(object)
    --game_state.custom_cursors['active_pixel'] = 'CursorArms'
	TimerDo(play_field:GetTimer(),
			1,
			game_state.chain2.Start);
    --game_state.locked_objects["active_pixel"] = false
end

function OnWinConditionsComplete()
	Log("Calling OnWinConditionsComplete")
    game_state.win_conditions_complete = true
	Log("game_state.is_tutorial_must_be_shown == "..tostring(game_state.is_tutorial_must_be_shown))
    if game_state.is_tutorial_must_be_shown then
        if tutorial_meta_object and not tutorial_meta_object.IsVisible() then
            tutorial_meta_object.Init()
            tutorial_meta_object.Show()
            game_state.locker:AddRef()
            game_state.locked_objects['cigar4'] = false        
         end
         return
    else
        GoToNextLevel()
    end
end


function OnExit()
end

function OnObjectMouseEnter(object)
    DefaultOnObjectMouseEnter(object);
	local obj_name = object:GetName()
end

function OnObjectMouseLeave(object)
    DefaultOnObjectMouseLeave(object)	
end

function OnObjectMouseDown(object)
    obj_name = object:GetName()
    local pf = play_field
    local is_wrong_click = true
	
	--[[if obj_name == 'active_pixel' and
       not game_state.locked_objects['active_pixel'] then
        game_state.locked_objects['active_pixel'] = true
	    game_state.chain2.Start()
	end]]
    
    is_wrong_click = DefaultOnObjectMouseDown(object)

    if is_wrong_click and tutorial_find_item.IsVisible() and play_field:GetObject('TutorialWindow'):GetOpacity() == 1 then
        if object:GetName() == 'dagger' then
            play_field:GetObject('dagger'):HighlightWithStars(false)
            OnTutorialFindItemComplete()    
            is_wrong_click = false
        end
    end	
    
     if is_wrong_click then
        if object:GetName() == 'active_pixel_storage' and tutorial_zoom.IsVisible() and play_field:GetObject('t_w_tutorial_zoom'):GetOpacity() == 1 then
            zoom_storage.SetVisible(true)
            game_state.locker:AddRef()
            if tutorial_zoom and tutorial_zoom.IsVisible() then
                tutorial_zoom.Hide()            
            end
            
            --play_field:GetLevelScreen():SetAllowInput(false)
            is_wrong_click = false
        end
    end	
    
    if is_wrong_click then
        if tutorial_inventory_zone_task and tutorial_inventory_zone_task.IsVisible() and play_field:GetObject('t_w_tutorial_inventory_zone_task'):GetOpacity() == 1 then
            inventory_dust.Unlock()
            inventory_dust.times_shown = 0
            tutorial_inventory_zone_task.Hide()
            tutorial_inventory_zone.Init();
	        tutorial_inventory_zone.Show();
	        is_wrong_click = false
        end
    end
	
	if is_wrong_click then
		if object:GetName() == game_state.meta_object then
			if tutorial_meta_object and tutorial_meta_object.IsVisible() and play_field:GetObject('t_w_tutorial_meta_object'):GetOpacity() == 1 then
				tutorial_meta_object.Hide()
				tutorial_meta_game.Init()
				tutorial_meta_game.Show()				
				play_field:OnMetaObjectFound(play_field:GetObject(game_state.meta_object))
				
				is_wrong_click = false
			end
		end
    end
    
	
    --[[if is_wrong_click then
        if tutorial_new_inventory_zone and tutorial_new_inventory_zone.IsVisible() then
            tutorial_new_inventory_zone.Hide()
            tutorial_cigar.Init()
            tutorial_cigar.Show()
            is_wrong_click = false
        end
    end]]
    
    if is_wrong_click then
        if tutorial_cigar and tutorial_cigar.IsVisible() and play_field:GetObject('t_w_cigar'):GetOpacity() == 1 then
            tutorial_cigar.Hide() 
            tutorial_silhouette.Init()
            tutorial_silhouette.Show()
            is_wrong_click = false
        end
    end
    
    if is_wrong_click then
        if tutorial_silhouette and tutorial_silhouette.IsVisible() and play_field:GetObject('t_w_silhouette'):GetOpacity() == 1 then
            tutorial_silhouette.Hide()
            if game_state.locker:GetNReferences() > 0 then                
                while game_state.locker:GetNReferences() > 0 do
                    game_state.locker:Release()
                end
            end
            --tutorial_finish.Init()
            --tutorial_finish.Show()
            game_state.locked_objects[inventory_ribbon.bound_object]=false
            is_wrong_click = false
        end
    end
    
    if is_wrong_click then
        if tutorial_finish and tutorial_finish.IsVisible() then
            tutorial_finish.Hide()
            game_state.locker:Release()
            game_state.locked_objects[inventory_ribbon.bound_object]=false
            is_wrong_click = false
        end
    end
    
    if not is_wrong_click then
        play_field:ResetWrongClicksCount();
    end
    
    return is_wrong_click;
end

function OnTutorialFindItemComplete()
    play_field:OnObjectFound(play_field:GetObject('dagger'))
    tutorial_find_item.Hide()
    --play_field:GetObject('dagger'):HighlightWithStars(false)
    --[[if game_state.locker:GetNReferences() > 0 then
        game_state.locker:Release()
    end]]
    
    inventory_dust.OnShown = function()
        if inventory_dust.times_shown > 0 then
        else
            inventory_dust.times_shown = inventory_dust.times_shown + 1
            tutorial_inventory_zone.Hide()
            tutorial_inventory_zone_control.Init()
            tutorial_inventory_zone_control.Show()
            play_field:GetObject('pullverizer'):HighlightWithStars(true)
            
            inventory_dust.OldHide = inventory_dust.Hide
            inventory_dust.Hide = function() end
        end
    end
    
    inventory_dust.OnHiddenImmediate = function()
        --[[if inventory_dust.items_to_use > 1 then
            tutorial_inventory_zone_control.Hide()
        end]]
    end
    
    play_field:GetLevelScreen():GetTaskList():SetExtraTaskText(GetString(inventory_dust.task_text_alias))
    
    tutorial_inventory_zone_task.Init()
    tutorial_inventory_zone_task.Show()
end

function OnObjectMouseUp(object)
end

function OnObjectWillBeFound(object)
    
end

function OnToolFound(tool)
end

function OnToolApply(tool, object)
    DefaultOnToolApply(tool, object)
end

function CheckShowCaseItems()
    if not zoom_showcase.HasObject('screw') and
        not zoom_showcase.HasObject('scissors_half') then
        UnregisterZoomZone(zoom_showcase)

        --[[local pm = GetProfileManager();
        local currentProfile = pm:GetCurrentProfile();
        currentProfile:AddStateChanger("OnZoomShowcaseUnregister")
        OnSceneStateChanged(play_field)]]
        
        game_state.showcase_unregistered = true
		
	   --play_field:GetObject('showcase'):SetOpacity(0)
    end
end

function OnObjectReachPanel(object)
end

function OnPhotographing(phone_screen_center_pos)
end

function OnButtonPress(title)
    DefaultOnButtonPress(title)
    if title == 'close_zone_showcase' then
        zoom_showcase.SetVisible(false)
    end
    if title == 'close_zone_storage' then
        inventory_pipe_storage.Hide(false);
        zoom_storage.SetVisible(false)
        
        if game_state.is_tutorial_must_be_shown then
            if zoom_storage.HasObject('sponge_storage') then
                tutorial_zoom.Show()
                game_state.locker:AddRef()
            end
        end
        
    end
end

function OnMouseMove(previous_pos, current_pos)
end

function OnSetTool(tool)
end

function CanBeHinted(obj)
    if locked_object[obj] ~= true then
        return true
    else
        return false
    end
end

function OnLostFocus()
end

function OnGainFocus()
end

function OnMinigameCompleted()
end

function CheckTutorialInventoryControl()
    if inventory_dust.items_to_use == 2 and tutorial_inventory_zone_control.Hide then
        tutorial_inventory_zone_control.Hide()
        inventory_dust.Hide = inventory_dust.OldHide
        
        tutorial_zoom.Init();
	    tutorial_zoom.Show();
		ZoomStorageRegisteringActions()
    end
end

-- CLEAR_ON_SAVE_BEGIN
-- Do not edit code listed below (generated by the editor on each save)
function LoadData(screen)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/bg.jpg',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bg',anim,512,384,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/bg.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('bg_zoom',anim,512,384,300,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/scissors_half.png',0,0,133,94,1,0)
	anim:SetHotSpot(66,47)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scissors_half',anim,586,423,305,-20,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/screw.png',0,0,39,28,1,0)
	anim:SetHotSpot(19,14)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('screw',anim,543,220,305,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/over_scissors.png',0,0,71,66,1,0)
	anim:SetHotSpot(35,33)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('over_scissors',anim,615,474,310,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/showcase.png',0,0,140,66,1,0)
	anim:SetHotSpot(70,33)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('showcase',anim,833,657,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/screw.png',0,0,39,28,1,0)
	anim:SetHotSpot(19,14)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('screw_to_display',anim,226,65,205,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Animations/light.png',0,0,940,220,9,9)
	anim:SetHotSpot(470,110)
	anim:SetBlendMode(2)
	anim:SetColor('0x8FFFFFFF')
	screen:CreateObject('light',anim,549,106,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/grate.png',0,0,743,218,9,9)
	anim:SetHotSpot(371,109)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('grate',anim,506,109,102,0,1,1)
	local anim = CreateAnimation('data/Texture/Comics/Sheriff.dds',0,0,530,636,1,0)
	anim:SetHotSpot(266,256)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Sheriff',anim,505,390,400,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pixel',anim,512,384,401,0,128,96)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pixel2',anim,512,384,401,0,128,96)
	local anim = CreateAnimation('data/Texture/Effect/particles.png',0,32,32,32,1,0)
	anim:SetHotSpot(16,16)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('particle',anim,100,384,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('active_pixel',anim,647,488,100,0,10,10)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/valve_animation.png',0,0,40,52,8,20)
	anim:SetHotSpot(80,52)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('valve_animation',anim,671,292,1521,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/bg_storage.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('bg_storage',anim,512,384,1500,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/screw.png',0,0,26,24,1,0)
	anim:SetHotSpot(13,12)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('screw_storage',anim,400,546,1510,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/screw.png',0,0,26,24,1,0)
	anim:SetHotSpot(13,12)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('screw_storage_1',anim,512,384,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/valve.png',0,0,38,59,1,0)
	anim:SetHotSpot(19,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('valve_storage',anim,608,552,1520,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/valve.png',0,0,38,59,1,0)
	anim:SetHotSpot(19,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('valve_storage_1',anim,512,384,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/pipe.png',0,0,50,80,1,0)
	anim:SetHotSpot(25,40)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pipe_storage',anim,597,268,1505,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/sponge.png',0,0,57,38,1,0)
	anim:SetHotSpot(28,19)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('sponge_storage',anim,712,149,1521,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/sponge.png',0,0,57,38,1,0)
	anim:SetHotSpot(28,19)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('sponge_tool',anim,512,700,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/sponge.png',0,0,57,38,1,0)
	anim:SetHotSpot(28,19)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('sponge_inventory',anim,512,384,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Comics/eyes.png',0,0,79,33,1,0)
	anim:SetHotSpot(39,16)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('eyes',anim,499,212,500,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom_2/steam.dds',0,0,153,93,44,14)
	anim:SetHotSpot(77,47)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('steam',anim,730,193,1520,0,2,2)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('ribbon_active_zone',anim,647,509,104,0,15,7)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/scissors_half.png',0,0,133,94,1,0)
	anim:SetHotSpot(66,47)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scissors_half_tool',anim,839,660,100,0,0.6,0.6)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/scissors_half.png',0,0,133,94,1,0)
	anim:SetHotSpot(66,47)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scissors_half_to_display',anim,839,660,100,0,0.6,0.6)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Zoom/screw.png',0,0,39,28,1,0)
	anim:SetHotSpot(19,14)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('screw_tool',anim,543,220,205,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/axe.png',0,0,70,90,1,0)
	anim:SetHotSpot(35,45)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('axe',anim,564,591,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/bell.png',0,0,33,40,1,0)
	anim:SetHotSpot(16,20)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bell',anim,432,747,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/butterfly.png',0,0,47,62,1,0)
	anim:SetHotSpot(23,31)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('butterfly',anim,521,649,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/candle.png',0,0,45,88,1,0)
	anim:SetHotSpot(22,44)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('candle',anim,266,510,100,-135,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/clown.png',0,0,56,85,1,0)
	anim:SetHotSpot(28,42)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('clown',anim,435,585,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/glasses.png',0,0,59,22,1,0)
	anim:SetHotSpot(29,11)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('glasses',anim,647,330,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/horseshoe.png',0,0,58,42,1,0)
	anim:SetHotSpot(29,21)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('horseshoe',anim,622,738,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/key.png',0,0,56,24,1,0)
	anim:SetHotSpot(28,12)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('key',anim,331,727,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/necklace.png',0,0,38,120,1,0)
	anim:SetHotSpot(19,60)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('necklace',anim,857,67,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/phone.png',0,0,53,38,1,0)
	anim:SetHotSpot(26,19)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('phone',anim,403,535,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/rope.png',0,0,72,104,1,0)
	anim:SetHotSpot(36,52)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('rope',anim,319,66,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/crown.png',0,0,54,68,1,0)
	anim:SetHotSpot(27,34)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('crown',anim,260,401,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/scissors.png',0,0,37,59,1,0)
	anim:SetHotSpot(18,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scissors1',anim,979,625,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/fan.png',0,0,62,37,1,0)
	anim:SetHotSpot(31,18)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('fan',anim,287,644,101,0,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/pullverizer.png',0,0,24,61,1,0)
	anim:SetHotSpot(12,30)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pullverizer1',anim,732,323,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/pullverizer.png',0,0,24,61,1,0)
	anim:SetHotSpot(12,30)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pullverizer',anim,733,322,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/hourglass.png',0,0,40,66,1,0)
	anim:SetHotSpot(20,33)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('hourglass',anim,349,655,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/microscope.png',0,0,63,107,1,0)
	anim:SetHotSpot(31,53)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('microscope',anim,265,713,109,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/dagger.png',0,0,34,110,1,0)
	anim:SetHotSpot(17,55)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('dagger',anim,975,356,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer scissors.png',0,0,18,30,1,0)
	anim:SetHotSpot(9,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer scissors',anim,980,625,106,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer fan.png',0,0,6,13,1,0)
	anim:SetHotSpot(3,6)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer fan',anim,222,584,107,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer key.png',0,0,23,11,1,0)
	anim:SetHotSpot(11,5)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer key',anim,353,737,106,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer necklace.png',0,0,23,22,1,0)
	anim:SetHotSpot(11,11)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer necklace',anim,852,15,115,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer phone.png',0,0,52,16,1,0)
	anim:SetHotSpot(26,8)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer phone',anim,422,531,105,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/laer rope.png',0,0,51,51,1,0)
	anim:SetHotSpot(25,25)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('laer rope',anim,331,31,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/scissors.png',0,0,37,59,1,0)
	anim:SetHotSpot(18,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scissors_to_display',anim,950,405,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('lamp1',anim,943,66,100,0,5,5)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('lamp2',anim,820,105,100,0,5,5)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('lamp3',anim,800,141,100,0,5,2)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Animations/door.dds',0,0,108,139,3,10)
	anim:SetHotSpot(54,70)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('door',anim,645,508,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/ribbon1.png',0,0,142,96,1,0)
	anim:SetHotSpot(71,48)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('ribbon1',anim,646,527,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/ribbon2.png',0,0,142,96,1,0)
	anim:SetHotSpot(71,48)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('ribbon2',anim,646,526,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/plate.png',0,0,58,80,1,0)
	anim:SetHotSpot(29,40)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('plate',anim,694,715,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/dust.png',0,0,171,99,1,0)
	anim:SetHotSpot(85,49)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('dust',anim,837,659,104,0,1,1)
	local anim = CreateAnimation('data/Texture/GUI/Panel/Panel.png',0,0,223,664,1,0)
	anim:SetHotSpot(111,332)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Panel',anim,97,392,0,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/bucket.png',0,0,82,101,1,0)
	anim:SetHotSpot(41,50)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bucket',anim,239,716,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/bucket_tool.png',0,0,76,83,1,0)
	anim:SetHotSpot(38,41)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bucket_tool',anim,830,530,100,0,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/vedro layer.png',0,0,55,111,1,0)
	anim:SetHotSpot(27,55)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('vedro layer',anim,212,707,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/bucket.png',0,0,82,101,1,0)
	anim:SetHotSpot(41,50)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bucket_scaled',anim,241,717,100,0,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Items/NoShadow/axeNoShadow.png',0,0,68,84,1,0)
	anim:SetHotSpot(34,42)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('axeNoShadow',anim,58,339,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/cigar4.png',0,0,80,103,1,0)
	anim:SetHotSpot(40,51)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('cigar4',anim,184,657,126,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/skat.png',0,0,533,189,1,0)
	anim:SetHotSpot(266,94)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('skat',anim,367,129,109,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/podsvechnik layer.png',0,0,21,18,1,0)
	anim:SetHotSpot(10,9)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('podsvechnik layer',anim,280,494,105,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/telefon layer.png',0,0,35,52,1,0)
	anim:SetHotSpot(17,26)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('telefon layer',anim,392,532,105,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/skel.png',0,0,295,238,1,0)
	anim:SetHotSpot(147,119)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('skel',anim,678,229,109,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/1_museum_gallery_1/Layers/door_zone.png',0,0,64,203,1,0)
	anim:SetHotSpot(32,101)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('active_pixel_storage',anim,301,492,100,0,1,1)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
