float g_scx, g_scy, g_scw, g_sch; float g_sct; int NewHScroll() { int id = NewUI("HScroll"); Begin(id); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback2"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_map"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_mission"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_m"); Color(1,1,1); End(); Begin(NewUI()); Image("scroller_left"); Color(1,1,1); Layer(10); End(); Begin(NewUI()); Image("scroller_left"); Color(1,1,1); Layer(10); End(); End(); return id; } void HScroll_OnAnimate(int frame) { float w, h, t; w = g_scx-g_scw/2; h = g_scy-g_sch/2; t = g_scy-g_sch*0.565; int i; if (frame == 0) { // open scroll for (i=0; i<5; i++) { BeginChild(i); TweenPosition(g_scx,h,w,h, g_sct); TweenSize(0,g_sch,g_scw,g_sch, g_sct); TweenImageUV(0.5,0,0,0, 0.5,1,1,1, g_sct); Ease(-20); End(); } BeginChild(5); Size(g_sch*0.14, g_sch*1.13); TweenPosition(g_scx-g_sch*0.1,t, g_scx-g_scw/2-g_sch*0.02,t, g_sct); Ease(-20); End(); BeginChild(6); Size(g_sch*0.14, g_sch*1.13); TweenPosition(g_scx-g_sch*0.04,t, g_scx+g_scw/2-g_sch*0.12,t, g_sct); Ease(-20); End(); } } int NewHScroll2() { int id = NewUI("HScroll2"); Begin(id); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1, 0.6); End(); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scroller_left"); Color(1,1,1); Layer(10); End(); Begin(NewUI()); Image("scroller_left"); Color(1,1,1); Layer(10); End(); EventHandler("OnAnimate", "HScroll_OnAnimate"); End(); return id; } int NewVScroll() { int id = NewUI("VScroll"); Begin(id); Begin(NewUI()); Image("scrollback_square"); Color(1,1,1); End(); Begin(NewUI()); Image("scroller_right"); Color(1,1,1); End(); Begin(NewUI()); Image("scroller_right"); Color(1,1,1); End(); End(); return id; } void VScroll_OnAnimate(int frame) { float w, h, t; w = g_scx-g_scw/2; h = g_scy-g_sch/2; t = g_scx-g_scw*0.565; int i; if (frame == 0) { BeginChild(0); TweenPosition(w,g_scy,w,h, g_sct); TweenSize(g_scw,0,g_scw,g_sch, g_sct); TweenImageUV(0,0.5,0,0, 1,0.5,1,1, g_sct); Ease(-20); End(); BeginChild(1); Size(g_scw*1.13, g_scw*0.1); TweenPosition(t,g_scy-g_scw*0.1,t,g_scy-g_sch/2-g_scw*0.05, g_sct); Ease(-20); End(); BeginChild(2); Size(g_scw*1.13, g_scw*0.1); TweenPosition(t,g_scy-g_scw*0.04,t,g_scy+g_sch/2-g_scw*0.05, g_sct); Ease(-20); End(); } } // UI scroll int NewScroll() { int id = NewUI(); Begin(id); NewHScroll(); NewVScroll(); End(); return id; } // UI2 scroll int NewScroll2() { int id = NewUI(); Begin(id); NewHScroll2(); NewVScroll(); End(); return id; } // layer >= 50 int NewTopScroll2() { int id = NewUI(); Begin(id); Begin(NewHScroll2()); Layer(50); End(); NewVScroll(); End(); return id; } // style // 0: hide // 1: normal horizontal // 2: normal horizontal "scrollback2" // 3: normal horizontal "scrollback_map" // 4: normal horizontal "scrollback_mission" // 5: small horizontal // 6: medium horizontal // 7: big horizontal "scrollback_m" // 8: medium horizontal // 9: medium horizontal, transparent // 10: medium horizontal, (mission objective) // 11: medium horizontal, (start menu) // 12: normal horizontal "scrollback_m" // 20: small virtical void ShowScroll(int id, int style) { if (style == 0) { Activate(id, 0); } else { int bkg = 0; g_scx = 400; g_scy = 300; if (style == 1) { g_scw = 700; g_sch = 500; g_sct = 0.5; PlaySound("ui_10_paper_open"); } else if (style == 2) { g_scw = 700; g_sch = 500; g_sct = 0.5; bkg = 1; PlaySound("ui_10_paper_open"); } else if (style == 3) { g_scw = 700; g_sch = 500; g_sct = 0.5; bkg = 2; PlaySound("ui_10_paper_open"); } else if (style == 4) { g_scw = 700; g_sch = 500; g_sct = 0.5; bkg = 3; PlaySound("ui_10_paper_open"); } if (style == 5) { g_scw = 550; g_sch = 200; g_sct = 0.1; PlaySound("ui_10_paper_close"); } else if (style == 6) { g_scw = 510; g_sch = 400; g_sct = 0.1; PlaySound("ui_10_paper_close"); } else if (style == 7) { g_scw = 840; g_sch = 500; g_sct = 0.5; bkg = 4; PlaySound("ui_10_paper_open"); } else if (style == 8) { g_scw = 400; g_sch = 300; g_sct = 0.1; PlaySound("ui_10_paper_close"); } else if (style == 9) { g_scw = 680; g_sch = 400; g_sct = 0.1; bkg = 1; PlaySound("ui_10_paper_close"); } else if (style == 10) { g_scw = 650; g_sch = 400; g_sct = 0.1; bkg = 1; PlaySound("ui_10_paper_close"); } else if (style == 11) { g_scw = 300; g_sch = 300; g_sct = 0.1; PlaySound("ui_10_paper_close"); } else if (style == 12) { g_scw = 700; g_sch = 500; g_sct = 0.5; bkg = 4; PlaySound("ui_10_paper_open"); } else if (style == 20) { g_scw = 230; g_sch = 300; g_sct = 0.1; PlaySound("ui_10_paper_close"); } Activate(id, 1); Begin(id); Show(); if (style <= 20) // horizontal scroll { BeginChild(0); Show(); PlayAnimation(); for (int i=0; i<5; i++) { BeginChild(i); Show(i==bkg); End(); } End(); BeginChild(1); Show(0); End(); } else { BeginChild(0); Show(0); End(); BeginChild(1); Show(1); PlayAnimation(); End(); } End(); } }