function OnSceneLoad(screen)
    LoadData(screen)
    DefaultOnSceneLoad('data/Scenes/25_Credits.lua', 'clean')
    
    ShowCredits();
end

function ShowCredits()
    
    local CreditsSeparatorX = 630; 
    local creditsScreen = CreateCreditsScreen();
    creditsScreen:AttachTo(play_field);
    creditsScreen:SetZ(55);
    creditsScreen:SetCyclic(false);
    creditsScreen:SetSpeed(50);
    creditsScreen:SetScale(0.5);
    creditsScreen:SetRect(CreditsSeparatorX, 0, 1024 - CreditsSeparatorX, 768);
    
    
    local skipButton = MakeButton(1024 - 40, 30, 100, 30);
    skipButton:SetSpriteUp("SkipButton");
	skipButton:SetSpriteOver("SkipButtonOver");
	skipButton:SetSpriteDown("SkipButtonDown");
	skipButton:SetActionSound("Menu_button_click");
	skipButton:AttachTo(play_field);
	skipButton:SetAction("CreditsFinished");
	skipButton:SetZ(102);
	skipButton:SetKeyEquivalent(KEY_ESCAPE);
	
	local creditsCompos = BuildCreditsComposition();
	creditsCompos:AttachTo(play_field);
	creditsCompos:SetZ(50);
    
end

function CreditsFinished()

    if (play_field.skippingCredits)
    then
        return;
    end

    play_field.skippingCredits = true;

    GM:GetCurrPlayer().m_gameState:ClearByPrefix(EXTRAS_MODE_PREFIX, false);
    
    TimerDoString("exitConfirmationScreen = 1;" ..
                  "ExitToMainMenu();"..
                  "exitConfirmationScreen = nil;",
                  0.5, play_field:GetTimer());
end

function OnSceneFree(screen)
    DefaultOnSceneFree()
    FreeData(screen)
end

function OnUpdate(dt)
    DefaultOnUpdate(dt)
end

function OnAllItemsFound()
    DefaultOnAllItemsFound()
end

function OnLose()
    DefaultOnLose()
end

function OnExit()
    DefaultOnExit()
end

function OnClose()
    DefaultOnClose()
end

function OnObjectMouseEnter(object)
    DefaultOnObjectMouseEnter(object)
end

function OnObjectMouseLeave(object)
    DefaultOnObjectMouseLeave(object)
end

function OnObjectMouseDown(object)
    local is_wrong_click = not DefaultOnObjectMouseDown(object)
    local obj_name = object:GetName()
    local pf = play_field

    DefaultOnObjectMouseDownProcessed(is_wrong_click);
end

function OnObjectMouseUp(object)
    DefaultOnObjectMouseUp(object)
end

function OnObjectFound(object)
    DefaultOnObjectFound(object)
end

function OnToolFound(tool)
    DefaultOnToolFound(tool)
end

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

function OnObjectReachPanel(object)
    DefaultOnObjectReachPanel(object)
end

function OnButtonPress(title)
    DefaultOnButtonPress(title)
end

function OnMouseMove(previous_pos, current_pos)
    DefaultOnMouseMove(previous_pos, current_pos)
end

function OnSetTool(tool)
    DefaultOnSetTool(tool)
end

function LevelLoaded(level)
end

function OnSceneDestroy(playfield)
    DefaultOnSceneDestroy(playfield)
end

function BuildCreditsComposition()
    createCompositionEAP_outro = function()
    
        local compositionEAP_outro = CreateCompositionSequence();
        local compositionDuration = 17.6;
        --compositionEAP_outro:SetDuration(compositionDuration);
    
    
        -- Layer Layer_6
        local element = createCompositionline_cycle();
        element:SetName("Layer_6");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(512, 384);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 3.05);
        effector:Play();
    
    
        -- Layer Layer_10
        local element = createCompositionPre_comp1();
        element:SetName("Layer_10");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(837, 20);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(1021.91123962402, -7.95266723632813);
        element:SetScaleX(2.05);
        element:SetScaleY(2.05);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 6.05);
        effector:Play();
    
    
        -- Layer Layer_11
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/base1.png");
        element:SetName("Layer_11");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(318.5, 371);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(296.916046142578, 401.604202270508);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 4.15, 0);
        effector:SetKey(_TRACK_O, 5.25, 1);
        effector:Play();
    
    
        -- Layer Layer_12
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/head3.png");
        element:SetName("Layer_12");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(115, 105.5);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(290, 162.774566650391);
        element:SetScaleX(1);
        element:SetScaleY(1);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_A, 2, 0);
        effector:SetKey(_TRACK_A, 3.4, -0.12813072806477);
        effector:SetKey(_TRACK_O, 0.85, 0);
        effector:SetKey(_TRACK_O, 1.6, 1);
        effector:SetKey(_TRACK_O, 4.15, 1);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_13
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ryka3_left.png");
        element:SetName("Layer_13");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(84, 156.5);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(183.491317749023, 417.294784545898);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 2.15, 0);
        effector:SetKey(_TRACK_O, 2.85, 1);
        effector:SetKey(_TRACK_O, 4.15, 1);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_14
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ryka3_right.png");
        element:SetName("Layer_14");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(107, 119.5);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(389.17919921875, 469.086685180664);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        --effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 2.15, 0.02);
        effector:SetKey(_TRACK_O, 2.85, 1);
        effector:SetKey(_TRACK_O, 4.15, 1);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_15
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/boy3.png");
        element:SetName("Layer_15");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(138, 187);
        element:SetParentElement(compositionEAP_outro);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(-0.45, 49.55);
        effector:SetKey(_TRACK_X, 0, 23.4192);
        effector:SetKey(_TRACK_Y, 0, 824.6058);
        effector:SetKey(_TRACK_X, 1, 23.4192047119141);
        effector:SetKey(_TRACK_Y, 1, 824.605773925781);
        effector:SetKey(_TRACK_X, 1.05, 224.778213500977);
        effector:SetKey(_TRACK_Y, 1.05, 683.656753540039);
        effector:SetKey(_TRACK_X, 1.95, 224.778213500977);
        effector:SetKey(_TRACK_Y, 1.95, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.35, 224.778213500977);
        effector:SetKey(_TRACK_Y, 2.35, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.4, 269.171279907227);
        effector:SetKey(_TRACK_Y, 2.4, 585.99201965332);
        effector:SetKey(_TRACK_SX, 0, 1.501815);
        effector:SetKey(_TRACK_SY, 0, 1.501815);
        effector:SetKey(_TRACK_SX, 1, 1.5018145431113);
        effector:SetKey(_TRACK_SY, 1, 1.5018145431113);
        effector:SetKey(_TRACK_SX, 1.05, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 1.05, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 1.95, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 1.95, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.35, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 2.35, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.4, 1);
        effector:SetKey(_TRACK_SY, 2.4, 1);
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 0.5, 1);
        effector:SetKey(_TRACK_O, 1, 0);
        effector:SetKey(_TRACK_O, 1.05, 0.04);
        effector:SetKey(_TRACK_O, 1.55, 1);
        effector:SetKey(_TRACK_O, 1.95, 1);
        effector:SetKey(_TRACK_O, 2.35, 0);
        effector:SetKey(_TRACK_O, 2.4, 0);
        effector:SetKey(_TRACK_O, 2.95, 1);
        effector:SetKey(_TRACK_O, 3.7, 1);
        effector:SetKey(_TRACK_O, 4.8, 0);
    
        effector:Play();
    
    
        -- Layer Layer_16
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/boy3.png");
        element:SetName("Layer_16");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(138, 187);
        element:SetParentElement(compositionEAP_outro);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.25, 50.25);
        effector:SetKey(_TRACK_X, 0.25, 23.4192047119141);
        effector:SetKey(_TRACK_Y, 0.25, 824.605773925781);
        effector:SetKey(_TRACK_X, 1.7, 23.4192047119141);
        effector:SetKey(_TRACK_Y, 1.7, 824.605773925781);
        effector:SetKey(_TRACK_X, 1.75, 224.778213500977);
        effector:SetKey(_TRACK_Y, 1.75, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.65, 224.778213500977);
        effector:SetKey(_TRACK_Y, 2.65, 683.656753540039);
        effector:SetKey(_TRACK_X, 3.05, 224.778213500977);
        effector:SetKey(_TRACK_Y, 3.05, 683.656753540039);
        effector:SetKey(_TRACK_X, 3.1, 269.171279907227);
        effector:SetKey(_TRACK_Y, 3.1, 585.99201965332);
        effector:SetKey(_TRACK_SX, 0.25, 1.5018145431113);
        effector:SetKey(_TRACK_SY, 0.25, 1.5018145431113);
        effector:SetKey(_TRACK_SX, 1.7, 1.5018145431113);
        effector:SetKey(_TRACK_SY, 1.7, 1.5018145431113);
        effector:SetKey(_TRACK_SX, 1.75, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 1.75, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.65, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 2.65, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 3.05, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 3.05, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 3.1, 1);
        effector:SetKey(_TRACK_SY, 3.1, 1);
        effector:SetKey(_TRACK_O, 0.25, 0.85989320562852);
        effector:SetKey(_TRACK_O, 0.8, 0.75696559874215);
        effector:SetKey(_TRACK_O, 1.2, 0.75696559874215);
        effector:SetKey(_TRACK_O, 1.7, 0);
        effector:SetKey(_TRACK_O, 1.75, 0.04);
        effector:SetKey(_TRACK_O, 2.25, 0.75696559874215);
        effector:SetKey(_TRACK_O, 2.65, 0.75696559874215);
        effector:SetKey(_TRACK_O, 3.05, 0);
        effector:SetKey(_TRACK_O, 3.1, 0);
        effector:SetKey(_TRACK_O, 3.65, 0.75696559874215);
        effector:SetKey(_TRACK_O, 4.4, 0.75696559874215);
        effector:SetKey(_TRACK_O, 5.5, 0);
        effector:Play();
    
    
        -- Layer Layer_17
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/boy3.png");
        element:SetName("Layer_17");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(138, 187);
        element:SetParentElement(compositionEAP_outro);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_X, 0, 23.4192047119141);
        effector:SetKey(_TRACK_Y, 0, 824.605773925781);
        effector:SetKey(_TRACK_X, 1.45, 23.4192047119141);
        effector:SetKey(_TRACK_Y, 1.45, 824.605773925781);
        effector:SetKey(_TRACK_X, 1.5, 224.778213500977);
        effector:SetKey(_TRACK_Y, 1.5, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.4, 224.778213500977);
        effector:SetKey(_TRACK_Y, 2.4, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.8, 224.778213500977);
        effector:SetKey(_TRACK_Y, 2.8, 683.656753540039);
        effector:SetKey(_TRACK_X, 2.85, 269.171279907227);
        effector:SetKey(_TRACK_Y, 2.85, 585.99201965332);
        effector:SetKey(_TRACK_SX, 0, 1.5018145431113);
        effector:SetKey(_TRACK_SY, 0, 1.5018145431113);
        effector:SetKey(_TRACK_SX, 1.45, 1.5018145431113);
        effector:SetKey(_TRACK_SY, 1.45, 1.5018145431113);
        effector:SetKey(_TRACK_SX, 1.5, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 1.5, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.4, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 2.4, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.8, 1.12763504354736);
        effector:SetKey(_TRACK_SY, 2.8, 1.12763504354736);
        effector:SetKey(_TRACK_SX, 2.85, 1);
        effector:SetKey(_TRACK_SY, 2.85, 1);
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 0.55, 1);
        effector:SetKey(_TRACK_O, 0.95, 1);
        effector:SetKey(_TRACK_O, 1.45, 0);
        effector:SetKey(_TRACK_O, 1.5, 0.04);
        effector:SetKey(_TRACK_O, 2, 1);
        effector:SetKey(_TRACK_O, 2.4, 1);
        effector:SetKey(_TRACK_O, 2.8, 0);
        effector:SetKey(_TRACK_O, 2.85, 0);
        effector:SetKey(_TRACK_O, 3.4, 1);
        effector:SetKey(_TRACK_O, 4.15, 1);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_18
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ryka3_left.png");
        element:SetName("Layer_18");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(84, 156.5);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(183.491317749023, 417.294784545898);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 0.85, 0);
        effector:SetKey(_TRACK_O, 1.6, 1);
        effector:SetKey(_TRACK_O, 2.8, 1);
        effector:SetKey(_TRACK_O, 2.85, 0);
        effector:SetKey(_TRACK_O, 4.15, 0);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_19
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ryka3_right.png");
        element:SetName("Layer_19");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(107, 119.5);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(389.17919921875, 469.086685180664);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 0.85, 0);
        effector:SetKey(_TRACK_O, 1.6, 1);
        effector:SetKey(_TRACK_O, 2.8, 1);
        effector:SetKey(_TRACK_O, 2.85, 0);
        effector:SetKey(_TRACK_O, 4.15, 0);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_20
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/base3.png");
        element:SetName("Layer_20");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(318.5, 307);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(296.39306640625, 467.236999511719);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 0.85, 0.04);
        effector:SetKey(_TRACK_O, 1.6, 1);
        effector:SetKey(_TRACK_O, 4.15, 1);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_21
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/base2.png");
        element:SetName("Layer_21");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(318.5, 374);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(296.0634765625, 402.345733642578);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:SetKey(_TRACK_O, 0.85, 1);
        effector:SetKey(_TRACK_O, 1.6, 0);
        effector:SetKey(_TRACK_O, 4.15, 0);
        effector:SetKey(_TRACK_O, 5.25, 0);
        effector:Play();
    
    
        -- Layer Layer_22
        local element = createCompositionChayka_cycle();
        element:SetName("Layer_22");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(417, 453);
        element:SetParentElement(compositionEAP_outro);
        element:SetScaleX(-0.094597);
        element:SetScaleY(0.09459684591092);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.4, 70.4);
        effector:SetKey(_TRACK_X, 10.4, 400.465866088867);
        effector:SetKey(_TRACK_Y, 10.4, -42.3678894042969);
        effector:SetKey(_TRACK_X, 13.15, 195.49546139681);
        effector:SetKey(_TRACK_Y, 13.15, 89.9192659836526);
        effector:SetKey(_TRACK_X, 15.866650390625, -36.4670562744141);
        effector:SetKey(_TRACK_Y, 15.866650390625, 160.27018737793);
        effector:SetKey(_TRACK_A, 10.4, -0.72151430853522);
        effector:SetKey(_TRACK_A, 13.2, -0.32833592375829);
        effector:SetKey(_TRACK_A, 15.85, -0.58438713593175);
        effector:Play();
    
    
        -- Layer Layer_23
        local element = createCompositionChayka_cycle();
        element:SetName("Layer_23");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(417, 453);
        element:SetParentElement(compositionEAP_outro);
        element:SetScaleX(-0.094597);
        element:SetScaleY(0.09459684591092);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.65, 64.65);
        effector:SetKey(_TRACK_X, 4.65, 516.142883300781);
        effector:SetKey(_TRACK_Y, 4.65, -47.1380615234375);
        effector:SetKey(_TRACK_X, 7.95, 187.147652558919);
        effector:SetKey(_TRACK_Y, 7.95, 69.6459810715432);
        effector:SetKey(_TRACK_X, 10.116650390625, -40.0446929931641);
        effector:SetKey(_TRACK_Y, 10.116650390625, -12.6490783691406);
        effector:SetKey(_TRACK_A, 4.65, -0.72151430853522);
        effector:SetKey(_TRACK_A, 7.45, -0.32833592375829);
        effector:SetKey(_TRACK_A, 9.95, 0.52070902497035);
        effector:Play();
    
    
        -- Layer Layer_24
        local element = createCompositionChayka_cycle();
        element:SetName("Layer_24");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(417, 453);
        element:SetParentElement(compositionEAP_outro);
        element:SetAngle(0.385238993283);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(13.5, 73.5);
        effector:SetKey(_TRACK_X, 13.5, 264.515548706055);
        effector:SetKey(_TRACK_Y, 13.5, -35.2126007080078);
        effector:SetKey(_TRACK_X, 14.9, 435.146065363288);
        effector:SetKey(_TRACK_Y, 14.9, 45.0016303415081);
        effector:SetKey(_TRACK_X, 17.716650390625, 822.166473388672);
        effector:SetKey(_TRACK_Y, 17.716650390625, -30.5372772216797);
        effector:SetKey(_TRACK_SX, 13.5, 0.20768924444398);
        effector:SetKey(_TRACK_SY, 13.5, 0.20768924444398);
        effector:SetKey(_TRACK_SX, 17.7, 0.03592326139089);
        effector:SetKey(_TRACK_SY, 17.7, 0.03592326139089);
        effector:Play();
    
    
        -- Layer Layer_25
        local element = createCompositionChayka_cycle();
        element:SetName("Layer_25");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(417, 453);
        element:SetParentElement(compositionEAP_outro);
        element:SetAngle(0.385238993283);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
        effector:SetKey(_TRACK_X, 0, -57.4720306396484);
        effector:SetKey(_TRACK_Y, 0, -19.7094879150391);
        effector:SetKey(_TRACK_X, 2.55, 322.703379685295);
        effector:SetKey(_TRACK_Y, 2.55, 58.904188394323);
        effector:SetKey(_TRACK_X, 5.466650390625, 871.060882568359);
        effector:SetKey(_TRACK_Y, 5.466650390625, -54.3881988525391);
        effector:SetKey(_TRACK_SX, 0, 0.20768924444398);
        effector:SetKey(_TRACK_SY, 0, 0.20768924444398);
        effector:SetKey(_TRACK_SX, 5.45, 0.03592326139089);
        effector:SetKey(_TRACK_SY, 5.45, 0.03592326139089);
        effector:Play();
    
    
        -- Layer Layer_26
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/port.jpg");
        element:SetName("Layer_26");
        compositionEAP_outro:AddElement(element);
        element:SetHotSpot(200, 150);
        element:SetParentElement(compositionEAP_outro);
        element:SetXY(512, 384);
        element:SetScaleX(2.6);
        element:SetScaleY(2.6);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
        effector:Play();
    
        compositionEAP_outro:Play();
    
        return compositionEAP_outro;
    end
    
    createCompositionChayka_cycle = function()
    
        local compositionChayka_cycle = CreateCompositionSequence();
        local compositionDuration = 0.70833333333333;
        compositionChayka_cycle:SetDuration(compositionDuration);
        compositionChayka_cycle:SetCyclic(true);
    
    
        -- Layer Layer_1
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ch_5.png");
        element:SetName("Layer_1");
        compositionChayka_cycle:AddElement(element);
        element:SetHotSpot(36.5, 78.5);
        compositionChayka_cycle:RegisterParentInfo("Layer_1", "Layer_3");
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
    
        effector:SetKey(_TRACK_X, 0, 168.5);
        effector:SetKey(_TRACK_Y, 0, -22.5);
        effector:SetKey(_TRACK_X, 0.33333333333333, 159.5);
        effector:SetKey(_TRACK_Y, 0.33333333333333, 14.5);
        effector:SetKey(_TRACK_X, 0.5, 169.5);
        effector:SetKey(_TRACK_Y, 0.5, -7.5);
        effector:SetKey(_TRACK_X, 0.66666666666667, 169.5);
        effector:SetKey(_TRACK_Y, 0.66666666666667, -23.5);
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 0.55414012738854);
        effector:SetKey(_TRACK_SX, 0.16666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.16666666666667, 1.1656050955414);
        effector:SetKey(_TRACK_SX, 0.5, 0.84561403508772);
        effector:SetKey(_TRACK_SY, 0.5, -0.6687898089172);
        effector:SetKey(_TRACK_SX, 0.66666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.66666666666667, 0.55414012738854);
    
        effector:Play();
    
    
        -- Layer Layer_2
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ch_4.png");
        element:SetName("Layer_2");
        compositionChayka_cycle:AddElement(element);
        element:SetHotSpot(86.5, 69);
        compositionChayka_cycle:RegisterParentInfo("Layer_2", "Layer_3");
        element:SetXY(149, 20.5);
    
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
    
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 0.33333333333333, 1);
        effector:SetKey(_TRACK_SY, 0.33333333333333, 0.20289855072464);
        effector:SetKey(_TRACK_SX, 0.66666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.66666666666667, 1);
        effector:SetKey(_TRACK_A, 0, 0);
        effector:SetKey(_TRACK_A, 0.33333333333333, -0.07841033864904);
        effector:SetKey(_TRACK_A, 0.66666666666667, 0);
    
        effector:Play();
    
    
        -- Layer Layer_3
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ch_3.png");
        element:SetName("Layer_3");
        compositionChayka_cycle:AddElement(element);
        element:SetHotSpot(120.5, 33);
        element:SetParentElement(compositionChayka_cycle);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
    
        effector:SetKey(_TRACK_X, 0, 388.5);
        effector:SetKey(_TRACK_Y, 0, 470.5);
        effector:SetKey(_TRACK_X, 0.5, 388.5);
        effector:SetKey(_TRACK_Y, 0.5, 466.5);
        effector:SetKey(_TRACK_X, 0.66666666666667, 388.5);
        effector:SetKey(_TRACK_Y, 0.66666666666667, 470.5);
        effector:SetKey(_TRACK_A, 0, 0);
        effector:SetKey(_TRACK_A, 0.125, 0.02641463678402);
        effector:SetKey(_TRACK_A, 0.5, -0.03557266710542);
        effector:SetKey(_TRACK_A, 0.66666666666667, 0);
    
        effector:Play();
    
    
        -- Layer Layer_4
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ch_2.png");
        element:SetName("Layer_4");
        compositionChayka_cycle:AddElement(element);
        element:SetHotSpot(125.5, 86.5);
        compositionChayka_cycle:RegisterParentInfo("Layer_4", "Layer_3");
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
    
        effector:SetKey(_TRACK_X, 0, 155.5);
        effector:SetKey(_TRACK_Y, 0, 10.5);
        effector:SetKey(_TRACK_X, 0.33333333333333, 155.5);
        effector:SetKey(_TRACK_Y, 0.33333333333333, 14.5);
        effector:SetKey(_TRACK_X, 0.66666666666667, 155.5);
        effector:SetKey(_TRACK_Y, 0.66666666666667, 10.5);
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 0.33333333333333, 1);
        effector:SetKey(_TRACK_SY, 0.33333333333333, 0.28323699421965);
        effector:SetKey(_TRACK_SX, 0.66666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.66666666666667, 1);
    
        effector:Play();
    
    
        -- Layer Layer_5
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/ch_1.png");
        element:SetName("Layer_5");
        compositionChayka_cycle:AddElement(element);
        element:SetHotSpot(165.5, 79.5);
        compositionChayka_cycle:RegisterParentInfo("Layer_5", "Layer_3");
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 60);
    
        effector:SetKey(_TRACK_X, 0, 112.5);
        effector:SetKey(_TRACK_Y, 0, -69.5);
        effector:SetKey(_TRACK_X, 0.33333333333333, 112.5);
        effector:SetKey(_TRACK_Y, 0.33333333333333, -8.5);
        effector:SetKey(_TRACK_X, 0.5, 108.5);
        effector:SetKey(_TRACK_Y, 0.5, -37.5);
        effector:SetKey(_TRACK_X, 0.66666666666667, 112.5);
        effector:SetKey(_TRACK_Y, 0.66666666666667, -69.5);
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 0.58490566037736);
        effector:SetKey(_TRACK_SX, 0.16666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.16666666666667, 1.21383647798742);
        effector:SetKey(_TRACK_SX, 0.5, 1);
        effector:SetKey(_TRACK_SY, 0.5, -0.73584905660377);
        effector:SetKey(_TRACK_SX, 0.66666666666667, 1);
        effector:SetKey(_TRACK_SY, 0.66666666666667, 0.58490566037736);
    
        effector:Play();
    
        compositionChayka_cycle:Play();
    
        return compositionChayka_cycle;
    end
    
    createCompositionline = function()
    
        local compositionline = CreateCompositionSequence();
        local compositionDuration = 6.15;
        compositionline:SetDuration(compositionDuration);
        compositionline:SetCyclic(true);
    
    
        -- Layer Layer_1
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_1");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        compositionline:RegisterParentInfo("Layer_1", "Layer_6");
        element:SetXY(28, -945.041269811921);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
    
        effector:Play();
    
    
        -- Layer Layer_2
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_2");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        compositionline:RegisterParentInfo("Layer_2", "Layer_6");
        element:SetXY(28, -544.855671074484);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
    
        effector:Play();
    
    
        -- Layer Layer_3
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_3");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        compositionline:RegisterParentInfo("Layer_3", "Layer_6");
        element:SetXY(28, -150.317852964418);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
    
        effector:Play();
    
    
        -- Layer Layer_4
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_4");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        compositionline:RegisterParentInfo("Layer_4", "Layer_6");
        element:SetXY(28, 1031.67717301823);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
    
        effector:Play();
    
    
        -- Layer Layer_5
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_5");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        compositionline:RegisterParentInfo("Layer_5", "Layer_6");
        element:SetXY(28, 644.400787143403);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
    
        effector:Play();
    
    
        -- Layer Layer_6
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/line.png");
        element:SetName("Layer_6");
        compositionline:AddElement(element);
        element:SetHotSpot(28, 242);
        element:SetParentElement(compositionline);
        element:SetScaleX(1);
        element:SetScaleY(1.23942491075358);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
        effector:SetKey(_TRACK_X, 0, 78.7396392822266);
        effector:SetKey(_TRACK_Y, 0, 1070.41123962402);
        effector:SetKey(_TRACK_X, 3, 78.7396392822266);
        effector:SetKey(_TRACK_Y, 3, 1556.41123962402);
        effector:SetKey(_TRACK_X, 3.00005, 78.7396392822265);
        effector:SetKey(_TRACK_Y, 3.00005, 1078.51123266292);
        effector:SetKey(_TRACK_X, 6, 78.7396392822266);
        effector:SetKey(_TRACK_Y, 6, 1070.41123962402);
    
        effector:Play();
    
        compositionline:Play();
    
        return compositionline;
    end
    
    createCompositionline_cycle = function()
    
        local compositionline_cycle = CreateCompositionSequence();
        local compositionDuration = 3.00005;
        compositionline_cycle:SetDuration(compositionDuration);
        compositionline_cycle:SetCyclic(true);
    
    
        -- Layer Layer_1
        local element = createCompositionline();
        element:SetName("Layer_1");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(626.739639282227, 358.911239624023);
    
        element:SetScaleX(0.4109348598335);
        element:SetScaleY(0.99123281423079);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_2
        local element = createCompositionline();
        element:SetName("Layer_2");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(604.739639282227, 358.911239624023);
    
        element:SetScaleX(0.2209348598335);
        element:SetScaleY(0.40123281423079);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_3
        local element = createCompositionline();
        element:SetName("Layer_3");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(924.739639282227, 358.911239624023);
    
        element:SetScaleX(0.2729845492745);
        element:SetScaleY(0.53123281423079);
        element:SetAngle(0);
        element:SetOpacity(0.37);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_4
        local element = createCompositionline();
        element:SetName("Layer_4");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(972.739639282227, 334.911239624023);
    
        element:SetScaleX(0.3429845492745);
        element:SetScaleY(0.41123281423079);
        element:SetAngle(0);
        element:SetOpacity(0.37);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_5
        local element = createCompositionline();
        element:SetName("Layer_5");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(998.739639282227, 980.911239624023);
    
        element:SetScaleX(0.68516851041935);
        element:SetScaleY(0.32123281423079);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_6
        local element = createCompositionline();
        element:SetName("Layer_6");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(998.739639282227, 353.911239624023);
    
        element:SetScaleX(0.68516851041935);
        element:SetScaleY(0.32123281423079);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
    
        -- Layer Layer_7
        local element = createCompositionline();
        element:SetName("Layer_7");
        compositionline_cycle:AddElement(element);
        element:SetHotSpot(80.5, 1117.5);
        element:SetParentElement(compositionline_cycle);
        element:SetXY(998.739639282227, 334.911239624023);
    
        element:SetScaleX(0.54516851041935);
        element:SetScaleY(2.31123281423079);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.05);
    
    
        effector:Play();
    
        compositionline_cycle:Play();
    
        return compositionline_cycle;
    end
    
    createCompositionPre_comp1 = function()
    
        local compositionPre_comp1 = CreateCompositionSequence();
        local compositionDuration = 6.05;
        compositionPre_comp1:SetDuration(compositionDuration);
        compositionPre_comp1:SetCyclic(true);
    
    
        -- Layer Layer_1
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/frame1.png");
        element:SetName("Layer_1");
        compositionPre_comp1:AddElement(element);
        element:SetHotSpot(104.5, 211.5);
        element:SetParentElement(compositionPre_comp1);
        element:SetXY(744.877563476563, 214.721893310547);
    
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 2.95, 1.08630829743398);
        effector:SetKey(_TRACK_SY, 2.95, 1);
        effector:SetKey(_TRACK_SX, 6, 1);
        effector:SetKey(_TRACK_SY, 6, 1);
        effector:SetKey(_TRACK_A, 0, 0);
        effector:SetKey(_TRACK_A, 6, 0);
    
        effector:Play();
    
    
        -- Layer Layer_2
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/frame2.png");
        element:SetName("Layer_2");
        compositionPre_comp1:AddElement(element);
        element:SetHotSpot(18.1344339622642, 8.26171875);
        element:SetParentElement(compositionPre_comp1);
        element:SetXY(642.675186157227, 13.2120666503906);
    
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
        effector:SetKey(_TRACK_SX, 0, 1.02);
        effector:SetKey(_TRACK_SY, 0, 1.02);
        effector:SetKey(_TRACK_SX, 6, 1.02);
        effector:SetKey(_TRACK_SY, 6, 1.02);
        effector:SetKey(_TRACK_A, 0, 0);
        effector:SetKey(_TRACK_A, 2.95, 0.1222785032582);
        effector:SetKey(_TRACK_A, 6, 0);
        effector:SetKey(_TRACK_O, 0, 0.53);
        effector:SetKey(_TRACK_O, 2.95, 0.54);
        effector:SetKey(_TRACK_O, 6, 0.53);
    
        effector:Play();
    
    
        -- Layer Layer_3
        local element = CreateCompositionElement("data/Texture/Scenes/25_Credits/Layers/frame3.png");
        element:SetName("Layer_3");
        compositionPre_comp1:AddElement(element);
        element:SetHotSpot(50.3156822810591, 2.203125);
        element:SetParentElement(compositionPre_comp1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 50);
    
        effector:SetKey(_TRACK_X, 0, 633.451873779297);
        effector:SetKey(_TRACK_Y, 0, 0.57919311523438);
        effector:SetKey(_TRACK_X, 2.95, 630.451873779297);
        effector:SetKey(_TRACK_Y, 2.95, 0.57919311523438);
        effector:SetKey(_TRACK_X, 6, 633.451873779297);
        effector:SetKey(_TRACK_Y, 6, 0.57919311523438);
        effector:SetKey(_TRACK_SX, 0, 1.01);
        effector:SetKey(_TRACK_SY, 0, 1.01);
        effector:SetKey(_TRACK_SX, 6, 1.01);
        effector:SetKey(_TRACK_SY, 6, 1.01);
        effector:SetKey(_TRACK_A, 0, 0);
        effector:SetKey(_TRACK_A, 2.95, 0.015833893329);
        effector:SetKey(_TRACK_A, 6, 0);
        effector:SetKey(_TRACK_O, 0, 0.76);
        effector:SetKey(_TRACK_O, 2.95, 0.63);
        effector:SetKey(_TRACK_O, 6, 0.76);
    
        effector:Play();
    
        compositionPre_comp1:Play();
    
        return compositionPre_comp1;
    end
    
    return createCompositionEAP_outro();
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/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('background',anim,512,384,10,0,128,96)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
