[EntryPoint]class v:CoroutineScene{Skin@E;Font@c,o,P;Image@d,e,f,g,h,i;Image@j;bool V=false;void Initialize(){p();
AddSprite(Sprite(d));}void Run(){if(!ExistsData("LogoShown")&&!V){SetData("LogoShown",true);RunCoroutine(Coroutine(q),"Title:Intro");
YieldTime(4.0);}SettingItem@k=GetSettingItem("Skin","UseMusicResults");if(k!is null&&k.GetItemText()=="保存する"){WriteLog(Severity::Info,"Use Music Results");
SetData("SkinSettings::UseMusicResults",true);}else{SetData("SkinSettings::UseMusicResults",false);}if(!ExistsData("AmenoshitaSkin::Initialised")){SetData("AmenoshitaSkin::Initialised",true);
}F("Skin_Data","LastSelectedMusicCategoryIndex","MusicSelector::CategoryIndex");F("Skin_Data","LastSelectedMusicIndex","MusicSelector::MusicIndex");
F("Skin_Data","LastUsedDifficulty","MusicSelector::Difficulty");F("Skin_Data","LastUsedLevel","MusicSelector::Level");
F("Skin_Data","LastSelectedCharacterIndex","CharacterSelector::CharacterIndex");F("Skin_Data","LastSelectedSkillIndex","CharacterSelector::DefaultSkillIndex");
F("Skin_Data","LastSelectedPlayMode","AutoPlay");l("Skin_Data","ToolTipVisibility","MusicSelector::ToolTipVisibility");
SetData("CharacterSelector::CursorPosition",0);SetData("SkillSelector::CursorPosition",0);m("Player","Name","NamePlate::Name");
m("Player","Profile","NamePlate::Profile");F("Player","NamePlateID","NamePlate::NamePlateID");F("Player","ProfileID","NamePlate::ProfileID");
F("Player","EmblemIconID","NamePlate::EmblemIconID");F("Player","EmblemFrameID","NamePlate::EmblemFrameID");
F("Player","Level","NamePlate::Level");n("Player","Rating","NamePlate::Rating");n("Player","HiSpeed","SpeedPreset::CustomSpeed");
int r=F("Skin","MaxGauge","ScoreGauge::MaxGauge");int W=F("Skin","ClearBorder","ScoreGauge::ClearBorder");
if(r<W){s("Skin","MaxGauge",W);SetData("ScoreGauge::MaxGauge",W);}l("Skin","OriginalBackGroundEffect","Skin::EnableBGEffect");
double value=parseFloat(GetSettingItem("Play","Hispeed").GetItemText());if(value==2.0)SetData("SpeedPreset::Index",0);
else if(value==4.0)SetData("SpeedPreset::Index",1);else if(value==6.0)SetData("SpeedPreset::Index",2);
else SetData("SpeedPreset::Index",3);E.LoadImage("NamePlate","NamePlate/BackGround/"+formatInt(GetIntData("NamePlate::NamePlateID"),'0',3)+".png");
E.LoadImage("NamePlate-Profile","NamePlate/Profile/"+formatInt(GetIntData("NamePlate::ProfileID"),'0',2)+".png");
E.LoadImage("NamePlate-Emblem-Icon","NamePlate/Emblem/Icon-"+formatInt(GetIntData("NamePlate::EmblemIconID"),'0',2)+".png");
E.LoadImage("NamePlate-Emblem-Frame","NamePlate/Emblem/Frame-"+formatInt(GetIntData("NamePlate::EmblemFrameID"),'0',2)+".png");
RunCoroutine(Coroutine(t),"Title:Ripple");RunCoroutine(Coroutine(u),"Title:KeyInput");while(true)YieldTime(30);
}void Draw(){}int F(string H,string I,string O){SettingItem@D=GetSettingItem(H,I);int value=(D is null)?0:parseInt(D.GetItemText());
SetData(O,value);return value;}string m(string H,string I,string O){SettingItem@D=GetSettingItem(H,I);
string value=(D is null)?"":D.GetDescription();SetData(O,value);return value;}double n(string H,string I,string O){SettingItem@D=GetSettingItem(H,I);
double value=(D is null)?0.0:parseFloat(D.GetItemText());SetData(O,value);return value;}bool l(string H,string I,string O){SettingItem@D=GetSettingItem(H,I);
bool value=(D is null)?false:(D.GetItemText()=="有効");SetData(O,value);return value;}void s(string H,string I,int value){SettingItem@D=GetSettingItem(H,I);
if(D!is null){while(parseInt(D.GetItemText())<value)D.MoveNext();while(parseInt(D.GetItemText())>value)D.MovePrevious();
}}void p(){@E=GetSkin();@c=E.GetFont("Latin128");@o=E.GetFont("Normal32");@P=E.GetFont("Normal64");@d=E.GetImage("White");
@e=E.GetImage("LogoDxLib");@f=E.GetImage("LogoBoost");@g=E.GetImage("LogoFreeType");@h=E.GetImage("LogoAngelScript");
@i=E.GetImage("LogoSeaurchin");@j=E.GetImage("CursorMenu");@a=E.GetSound("SoundCursor");@b=GetDefaultMixer("SE");
}void q(){array<Sprite@>J={TextSprite(P,"Powered by"),TextSprite(c,"DxLib"),Sprite(e)};J[0].Apply("x:416, y:92, r:0, g:0, b: 0");
J[1].Apply("x:416, y:162, r:0, g:0, b: 0");J[2].Apply("x:200, y:200, origY:102");J[2].HasAlpha=false;
for(uint C=0;C<J.length();C++){J[C].AddMove("alpha(x:0, y:1, time:1)");J[C].AddMove("alpha(x:1, y:0, time:1, wait:3)");
J[C].AddMove("death(wait:4)");AddSprite(J[C]);}array<Sprite@>L={Sprite(f),Sprite(g),Sprite(h)};L[0].Apply("x:200, y:300");
L[1].Apply("x:516, y:300");L[2].Apply("x:206, y:500");for(uint C=0;C<L.length();C++){L[C].AddMove("alpha(x:0, y:1, time:1)");
L[C].AddMove("alpha(x:1, y:0, time:1, wait:3)");L[C].AddMove("death(wait:4)");AddSprite(L[C]);}}Sprite@M,Q;
ClipSprite@K;array<Sprite@>S(3);Sound@a;SoundMixer@b;int N=0;void t(){@M=Sprite(i);M.Apply("origX:160, origY:160, x:640, y:360, z:2, alpha:0");
M.AddMove("alpha(x:0, y:1, time:0.5)");AddSprite(M);@K=ClipSprite(640,128);TextSprite@T=TextSprite(P,"Ground Slider Simulator");
T.Apply("r:0, g:0, b:0");K.Transfer(T);T.SetText("Seaurchin");T.Apply("y:64");K.Transfer(T);K.Apply("origY:64, x:640, y:360, z:1");
K.SetRange(0,0,0,1);AddSprite(K);@S[0]=TextSprite(P,"Start");@S[1]=TextSprite(P,"Setting");@S[2]=TextSprite(P,"Exit");
@Q=Sprite(j);Q.Apply("x:-320, y:"+(400+64*N));AddSprite(Q);for(int C=0;C<3;C++){S[C].Apply(dictionary={{"x",0/*-320*/},{"y",400+64*C},{"origX",160},{"r",0},{"g",0},{"b",0}});
AddSprite(S[C]);}while(true){YieldTime(2);auto U=M.Clone();U.Apply("alpha:0.5");U.AddMove("alpha(x:0.3, y:0, time:1.0)");
U.AddMove("scale_to(x:1.5, y:1.5, time:1.0)");U.AddMove("death(wait:1.0)");AddSprite(U);}}void u(){while(true){if(V||IsKeyTriggered(Key::INPUT_RETURN)){M.AddMove("move_by(x:-260, time:0.5, ease:out_sine)");
M.AddMove("scale_to(x:0.4, y:0.4, time:0.5, ease:out_sine)");M.AddMove("move_by(y:-240, time:0.5, wait:0.5, ease:out_sine)");
K.AddMove("move_by(x:-200, time:0.5, ease:out_sine)");K.AddMove("range_size(width:1.0, height:1.0, time:0.5, ease:out_sine)");
K.AddMove("move_by(y:-240, time:0.5, wait:0.5, ease:out_sine)");if(!V)YieldTime(1.0);break;}YieldFrame(1);
}for(int C=0;C<3;C++)S[C].AddMove("move_by(x:720, time:0.25, ease:out_sine)");Q.AddMove("move_by(x:800, time:0.25, ease:out_sine)");
while(true){if(IsKeyTriggered(Key::INPUT_UP)){N=(N+2)%3;b.Play(a);Q.AddMove("move_to(time:0.1, x:480, y:"+(400+64*N)+")");
}if(IsKeyTriggered(Key::INPUT_DOWN)){N=(N+1)%3;b.Play(a);Q.AddMove("move_to(time:0.1, x:480, y:"+(400+64*N)+")");
}if(IsKeyTriggered(Key::INPUT_RETURN)){switch(N){case 0:if(Execute("Select.as"))Disappear();break;case 1:if(Execute("Setting.as"))Disappear();
break;case 2:ExitApplication();break;}}if(V&&IsKeyTriggered(Key::INPUT_ESCAPE))ExitApplication();YieldFrame(1);
}}}