Update
| 
						 | 
					@ -143,30 +143,43 @@ background.sprite.SetImage(background.image);
 | 
				
			||||||
background.sprite.SetPosition(background.x, background.y, 0);
 | 
					background.sprite.SetPosition(background.x, background.y, 0);
 | 
				
			||||||
background.sprite.SetOpacity(1);
 | 
					background.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MESSAGE BACKGROUND
 | 
					// SIDE BACKGROUND
 | 
				
			||||||
side_background.image = Image("SIDE_BACKGROUND2.png");
 | 
					side_panel.image = Image("SIDE_BACKGROUND2.png");
 | 
				
			||||||
side_background.image = side_background.image.Scale(Percent(25, screen.width), Percent(100, screen.height));
 | 
					side_panel.image = side_panel.image.Scale(Percent(25, screen.width), Percent(100, screen.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.width = side_background.image.GetWidth();
 | 
					side_panel.width = side_panel.image.GetWidth();
 | 
				
			||||||
side_background.height = side_background.image.GetHeight();
 | 
					side_panel.height = side_panel.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.x = x0;
 | 
					side_panel.x = x0;
 | 
				
			||||||
side_background.y = y0;
 | 
					side_panel.y = y0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.sprite = Sprite(side_background.image);
 | 
					side_panel.sprite = Sprite(side_panel.image);
 | 
				
			||||||
side_background.sprite.SetPosition(side_background.x, side_background.y, 1);
 | 
					side_panel.sprite.SetPosition(side_panel.x, side_panel.y, 1);
 | 
				
			||||||
side_background.sprite.SetOpacity(1);
 | 
					side_panel.sprite.SetOpacity(0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MESSAGES BOX
 | 
				
			||||||
 | 
					messages_box.image = Image("MESSAGES_BOX.png");
 | 
				
			||||||
 | 
					messages_box.image = messages_box.image.Scale(Percent(80, side_panel.width), Percent(40, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.width = messages_box.image.GetWidth();
 | 
				
			||||||
 | 
					messages_box.height = messages_box.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.x = Percent(50, side_panel.width) - messages_box.width / 2;
 | 
				
			||||||
 | 
					messages_box.y = Percent(45, side_panel.height) - messages_box.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.sprite = Sprite(messages_box.image);
 | 
				
			||||||
 | 
					messages_box.sprite.SetPosition(messages_box.x, messages_box.y, 2);
 | 
				
			||||||
 | 
					messages_box.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sise Logo
 | 
					// Sise Logo
 | 
				
			||||||
side_logo.image = Image("Melawy_Linux_640x320.png");
 | 
					side_logo.image = Image("Melawy_Linux_640x320.png");
 | 
				
			||||||
side_logo.image = ScaleImage(side_logo.image, Limit(screen.width, screen.height, 20));
 | 
					side_logo.image = ScaleImage(side_logo.image, Limit(screen.width, screen.height, 20));
 | 
				
			||||||
// side_logo.image = side_logo.image.Scale(Percent(25, screen.width), Percent(25, screen.height));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.width = side_logo.image.GetWidth();
 | 
					side_logo.width = side_logo.image.GetWidth();
 | 
				
			||||||
side_logo.height = side_logo.image.GetHeight();
 | 
					side_logo.height = side_logo.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.x = (side_background.width - side_logo.width) / 2;
 | 
					side_logo.x = (side_panel.width - side_logo.width) / 2;
 | 
				
			||||||
side_logo.y = screen.height - screen.height * 0.25;
 | 
					side_logo.y = side_panel.height - side_panel.height * 0.25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.sprite = Sprite(side_logo.image);
 | 
					side_logo.sprite = Sprite(side_logo.image);
 | 
				
			||||||
side_logo.sprite.SetPosition(side_logo.x, side_logo.y, 2);
 | 
					side_logo.sprite.SetPosition(side_logo.x, side_logo.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -180,7 +193,7 @@ project_link.width = project_link.image.GetWidth();
 | 
				
			||||||
project_link.height = project_link.image.GetHeight();
 | 
					project_link.height = project_link.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project_link.sprite = Sprite(project_link.image);
 | 
					project_link.sprite = Sprite(project_link.image);
 | 
				
			||||||
project_link.x = (side_background.width - project_link.width) / 2;
 | 
					project_link.x = (side_panel.width - project_link.width) / 2;
 | 
				
			||||||
project_link.y = side_logo.y + side_logo.height;
 | 
					project_link.y = side_logo.y + side_logo.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project_link.sprite.SetPosition(project_link.x, project_link.y, 2);
 | 
					project_link.sprite.SetPosition(project_link.x, project_link.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -200,13 +213,13 @@ logo.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PROGRESS FORM
 | 
					// PROGRESS FORM
 | 
				
			||||||
progress_form.image = Image("PROGRESS_FORM.png");
 | 
					progress_form.image = Image("PROGRESS_FORM.png");
 | 
				
			||||||
progress_form.image = progress_form.image.Scale(Percent(20, screen.width), Percent(10, screen.height));
 | 
					progress_form.image = progress_form.image.Scale(Percent(80, side_panel.width), Percent(10, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.width = progress_form.image.GetWidth();
 | 
					progress_form.width = progress_form.image.GetWidth();
 | 
				
			||||||
progress_form.height = progress_form.image.GetHeight();
 | 
					progress_form.height = progress_form.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.x = Percent(50, side_background.width) - progress_form.width / 2;
 | 
					progress_form.x = Percent(50, side_panel.width) - progress_form.width / 2;
 | 
				
			||||||
progress_form.y = Percent(75, side_background.height) - progress_form.height;
 | 
					progress_form.y = Percent(75, side_panel.height) - progress_form.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.sprite = Sprite(progress_form.image);
 | 
					progress_form.sprite = Sprite(progress_form.image);
 | 
				
			||||||
progress_form.sprite.SetPosition(progress_form.x, progress_form.y, 2);
 | 
					progress_form.sprite.SetPosition(progress_form.x, progress_form.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -227,7 +240,7 @@ spinner.sprite.SetPosition(spinner.x, spinner.y, 3); // позиция за ил
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PROGRESS TEXT
 | 
					// PROGRESS TEXT
 | 
				
			||||||
progress_text.image = Image.Text(progress_t + "%", 255, 255, 255, 1, progressfont);
 | 
					progress_text.image = Image.Text(progress_t + "%", 0.5, 0.5, 0.5, 1, progressfont);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_text.width = progress_text.image.GetWidth();
 | 
					progress_text.width = progress_text.image.GetWidth();
 | 
				
			||||||
progress_text.height = progress_text.image.GetHeight();
 | 
					progress_text.height = progress_text.image.GetHeight();
 | 
				
			||||||
| 
						 | 
					@ -278,19 +291,22 @@ counter = 0;
 | 
				
			||||||
max_counter = progress_box.width - progress_fade.width;
 | 
					max_counter = progress_box.width - progress_fade.width;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function progress_callback(duration, progress) {
 | 
					function progress_callback(duration, progress) {
 | 
				
			||||||
    if (progress_bar.image.GetWidth() != Math.Int(progress_bar.original_image.GetWidth() * progress)) {
 | 
					    if (progress_bar.image.GetWidth() != Math.Int(progress_bar.original_image.GetWidth() * progress)) {
 | 
				
			||||||
        progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
 | 
					        progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
 | 
				
			||||||
        progress_bar.sprite.SetImage(progress_bar.image);
 | 
					        progress_bar.sprite.SetImage(progress_bar.image);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        f = Math.Int(progress_bar.image.GetWidth() /progress_bar.original_image.GetWidth() * 100);
 | 
					        f = Math.Int(progress_bar.image.GetWidth() /progress_bar.original_image.GetWidth() * 100);
 | 
				
			||||||
        progress_t.image = Image.Text(f + "%", 255, 255, 255, 1, progressfont);
 | 
					        progress_t.image = Image.Text(f + "%", 0.5, 0.5, 0.5, 1, progressfont);
 | 
				
			||||||
        progress_text.sprite.SetImage(progress_t.image);
 | 
					        progress_text.sprite.SetImage(progress_t.image);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetBootProgressFunction(progress_callback);
 | 
					Plymouth.SetBootProgressFunction(progress_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DIALOG
 | 
					// DIALOG
 | 
				
			||||||
status = "normal";
 | 
					status = "normal";
 | 
				
			||||||
//count = 0;
 | 
					//count = 0;
 | 
				
			||||||
| 
						 | 
					@ -303,13 +319,13 @@ function dialog_setup() {
 | 
				
			||||||
    local.bullet_i;
 | 
					    local.bullet_i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.image = Image("BOX.png");
 | 
					    box_form.image = Image("BOX.png");
 | 
				
			||||||
    box_form.image = box_form.image.Scale(Percent(20, screen.width), Percent(10, screen.height));
 | 
					    box_form.image = box_form.image.Scale(Percent(80, side_panel.width), Percent(10, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.width = box_form.image.GetWidth();
 | 
					    box_form.width = box_form.image.GetWidth();
 | 
				
			||||||
    box_form.height = box_form.image.GetHeight();
 | 
					    box_form.height = box_form.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.x = progress_form.x;
 | 
					    box_form.x = progress_form.x;
 | 
				
			||||||
    box_form.y = progress_form.y - box_form.height - Percent(1, screen.height);
 | 
					    box_form.y = progress_form.y - box_form.height - Percent(1, side_panel.height);
 | 
				
			||||||
    box_form.z = 10000;
 | 
					    box_form.z = 10000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.sprite = Sprite(box_form.image);
 | 
					    box_form.sprite = Sprite(box_form.image);
 | 
				
			||||||
| 
						 | 
					@ -390,6 +406,7 @@ function display_normal_callback() {
 | 
				
			||||||
Plymouth.SetDisplayNormalFunction(display_normal_callback);
 | 
					Plymouth.SetDisplayNormalFunction(display_normal_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function display_password_callback(prompt_text, bullets) {
 | 
					function display_password_callback(prompt_text, bullets) {
 | 
				
			||||||
    global.status = "password";
 | 
					    global.status = "password";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -398,7 +415,7 @@ function display_password_callback(prompt_text, bullets) {
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        dialog_opacity(1);
 | 
					        dialog_opacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dialog.hint.image = Image.Text(prompt_text, 1.0, 1.0, 1.0, 1, common_font);
 | 
					    dialog.hint.image = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
				
			||||||
    dialog.hint.sprite.SetImage(dialog.hint.image);
 | 
					    dialog.hint.sprite.SetImage(dialog.hint.image);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for(index = 0; dialog.bullet[index] || index < bullets; index++) {
 | 
					    for(index = 0; dialog.bullet[index] || index < bullets; index++) {
 | 
				
			||||||
| 
						 | 
					@ -430,7 +447,7 @@ function refreshHandler() {
 | 
				
			||||||
        text.sprite = Sprite(text.image);
 | 
					        text.sprite = Sprite(text.image);
 | 
				
			||||||
        text.x = progress_box.x;
 | 
					        text.x = progress_box.x;
 | 
				
			||||||
        text.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
					        text.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
				
			||||||
        text.sprite.SetPosition(text.x, text.y, 2);
 | 
					        text.sprite.SetPosition(text.x, text.y, 3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        progress_fade.sprite.SetOpacity (1);
 | 
					        progress_fade.sprite.SetOpacity (1);
 | 
				
			||||||
| 
						 | 
					@ -439,7 +456,7 @@ function refreshHandler() {
 | 
				
			||||||
        text_end.sprite = Sprite(text_end.image);
 | 
					        text_end.sprite = Sprite(text_end.image);
 | 
				
			||||||
        text_end.x = progress_box.x;
 | 
					        text_end.x = progress_box.x;
 | 
				
			||||||
        text_end.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
					        text_end.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
				
			||||||
        text_end.sprite.SetPosition(text_end.x, text_end.y, 2);
 | 
					        text_end.sprite.SetPosition(text_end.x, text_end.y, 3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    progress_fade.x = progress_bar.x;
 | 
					    progress_fade.x = progress_bar.x;
 | 
				
			||||||
| 
						 | 
					@ -487,27 +504,35 @@ Plymouth.SetRefreshFunction(refreshHandler);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// LOG //
 | 
					message_status.sprite = SpriteNew();
 | 
				
			||||||
NUM_SCROLL_LINES=25; //количество строк лога
 | 
					 | 
				
			||||||
LINE_WIDTH=35; //ширина строк лога
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message_sprite=SpriteNew();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function message_callback(prompt_text) {
 | 
					function message_callback(prompt_text) {
 | 
				
			||||||
    message = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
					    message_status.image = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
				
			||||||
    message_sprite.SetImage(message);
 | 
					    message_status.sprite.SetImage(message_status.image);
 | 
				
			||||||
    message_sprite.SetPosition(Percent(2, screen.width), Percent(50, screen.height), 2);
 | 
					    message_status.height = message_status.image.GetHeight();
 | 
				
			||||||
    message_sprite.SetOpacity(1);
 | 
					    message_status.x = messages_box.x + Percent(5, messages_box.width);
 | 
				
			||||||
 | 
					    message_status.y = messages_box.y + messages_box.height - Percent(7, messages_box.height);
 | 
				
			||||||
 | 
					    message_status.sprite.SetPosition(message_status.x, message_status.y, 3);
 | 
				
			||||||
 | 
					    message_status.sprite.SetOpacity(1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetMessageFunction(message_callback);
 | 
					Plymouth.SetMessageFunction(message_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message_sprite_.x = messages_box.x + Percent(5, messages_box.width); // позиция % по X
 | 
				
			||||||
 | 
					message_sprite_.y = messages_box.y + Percent(10, messages_box.height); // позиция % по Y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// LOG //
 | 
				
			||||||
 | 
					NUM_SCROLL_LINES=20; //количество строк лога
 | 
				
			||||||
 | 
					LINE_WIDTH=40; //ширина строк лога
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Initialising text images and their positions
 | 
					// Initialising text images and their positions
 | 
				
			||||||
// 20 is the height(including line spacing) of each line
 | 
					// 20 is the height(including line spacing) of each line
 | 
				
			||||||
for(i=0; i < NUM_SCROLL_LINES; i++) {
 | 
					for(i=0; i < NUM_SCROLL_LINES; i++) {
 | 
				
			||||||
    lines[i]= Image.Text("", 0.5, 0.5, 0.5, 1, common_font); //цвет строк
 | 
					    lines[i]= Image.Text("", 0.5, 0.5, 0.5, 1, common_font); //цвет строк
 | 
				
			||||||
    message_sprite[i] = SpriteNew();
 | 
					    message_sprite[i] = SpriteNew();
 | 
				
			||||||
    message_sprite[i].SetPosition(Percent(2, screen.width), Percent(5, screen.height) + (i * 17), 2);
 | 
					    message_sprite[i].SetPosition(message_sprite_.x, message_sprite_.y + (i * 17), 3);
 | 
				
			||||||
}                                    //высота строк           //отступ строк
 | 
					}                                    //высота строк           //отступ строк
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function StringLength(string) {
 | 
					function StringLength(string) {
 | 
				
			||||||
| 
						 | 
					@ -540,6 +565,8 @@ function scroll_message_callback(text) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetUpdateStatusFunction(scroll_message_callback);
 | 
					Plymouth.SetUpdateStatusFunction(scroll_message_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// QUIT
 | 
					// QUIT
 | 
				
			||||||
function quit_callback() {
 | 
					function quit_callback() {
 | 
				
			||||||
    progress_fade.sprite.SetOpacity (1);
 | 
					    progress_fade.sprite.SetOpacity (1);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 316 B  | 
| 
						 | 
					@ -28,10 +28,10 @@
 | 
				
			||||||
     inkscape:document-units="mm"
 | 
					     inkscape:document-units="mm"
 | 
				
			||||||
     showgrid="false"
 | 
					     showgrid="false"
 | 
				
			||||||
     inkscape:zoom="2.9469416"
 | 
					     inkscape:zoom="2.9469416"
 | 
				
			||||||
     inkscape:cx="186.97351"
 | 
					     inkscape:cx="187.31284"
 | 
				
			||||||
     inkscape:cy="108.07815"
 | 
					     inkscape:cy="108.41749"
 | 
				
			||||||
     inkscape:window-width="1920"
 | 
					     inkscape:window-width="1920"
 | 
				
			||||||
     inkscape:window-height="1002"
 | 
					     inkscape:window-height="1006"
 | 
				
			||||||
     inkscape:window-x="0"
 | 
					     inkscape:window-x="0"
 | 
				
			||||||
     inkscape:window-y="0"
 | 
					     inkscape:window-y="0"
 | 
				
			||||||
     inkscape:window-maximized="1"
 | 
					     inkscape:window-maximized="1"
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@
 | 
				
			||||||
     inkscape:groupmode="layer"
 | 
					     inkscape:groupmode="layer"
 | 
				
			||||||
     id="layer1">
 | 
					     id="layer1">
 | 
				
			||||||
    <rect
 | 
					    <rect
 | 
				
			||||||
       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:1;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
					       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
				
			||||||
       id="rect788"
 | 
					       id="rect788"
 | 
				
			||||||
       width="100"
 | 
					       width="100"
 | 
				
			||||||
       height="50"
 | 
					       height="50"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 538 B  | 
| 
		 After Width: | Height: | Size: 221 B  | 
| 
						 | 
					@ -0,0 +1,57 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   width="100mm"
 | 
				
			||||||
 | 
					   height="150mm"
 | 
				
			||||||
 | 
					   viewBox="0 0 100 150"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="svg5"
 | 
				
			||||||
 | 
					   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
				
			||||||
 | 
					   sodipodi:docname="MESSAGGES_BOX.svg"
 | 
				
			||||||
 | 
					   inkscape:export-filename="MESSAGES_BOX"
 | 
				
			||||||
 | 
					   inkscape:export-xdpi="93"
 | 
				
			||||||
 | 
					   inkscape:export-ydpi="93"
 | 
				
			||||||
 | 
					   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
				
			||||||
 | 
					   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					  <sodipodi:namedview
 | 
				
			||||||
 | 
					     id="namedview7"
 | 
				
			||||||
 | 
					     pagecolor="#505050"
 | 
				
			||||||
 | 
					     bordercolor="#eeeeee"
 | 
				
			||||||
 | 
					     borderopacity="1"
 | 
				
			||||||
 | 
					     inkscape:showpageshadow="0"
 | 
				
			||||||
 | 
					     inkscape:pageopacity="0"
 | 
				
			||||||
 | 
					     inkscape:pagecheckerboard="0"
 | 
				
			||||||
 | 
					     inkscape:deskcolor="#505050"
 | 
				
			||||||
 | 
					     inkscape:document-units="mm"
 | 
				
			||||||
 | 
					     showgrid="false"
 | 
				
			||||||
 | 
					     inkscape:zoom="1.0419012"
 | 
				
			||||||
 | 
					     inkscape:cx="-73.903361"
 | 
				
			||||||
 | 
					     inkscape:cy="322.0075"
 | 
				
			||||||
 | 
					     inkscape:window-width="1920"
 | 
				
			||||||
 | 
					     inkscape:window-height="1006"
 | 
				
			||||||
 | 
					     inkscape:window-x="0"
 | 
				
			||||||
 | 
					     inkscape:window-y="0"
 | 
				
			||||||
 | 
					     inkscape:window-maximized="1"
 | 
				
			||||||
 | 
					     inkscape:current-layer="layer1" />
 | 
				
			||||||
 | 
					  <defs
 | 
				
			||||||
 | 
					     id="defs2" />
 | 
				
			||||||
 | 
					  <g
 | 
				
			||||||
 | 
					     inkscape:label="Слой 1"
 | 
				
			||||||
 | 
					     inkscape:groupmode="layer"
 | 
				
			||||||
 | 
					     id="layer1">
 | 
				
			||||||
 | 
					    <rect
 | 
				
			||||||
 | 
					       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
				
			||||||
 | 
					       id="rect788"
 | 
				
			||||||
 | 
					       width="100"
 | 
				
			||||||
 | 
					       height="150"
 | 
				
			||||||
 | 
					       x="0"
 | 
				
			||||||
 | 
					       y="0"
 | 
				
			||||||
 | 
					       ry="0"
 | 
				
			||||||
 | 
					       inkscape:export-filename="MESSAGES_BOX.png"
 | 
				
			||||||
 | 
					       inkscape:export-xdpi="25.4"
 | 
				
			||||||
 | 
					       inkscape:export-ydpi="25.4" />
 | 
				
			||||||
 | 
					  </g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
						 | 
					@ -0,0 +1,57 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   width="100mm"
 | 
				
			||||||
 | 
					   height="10mm"
 | 
				
			||||||
 | 
					   viewBox="0 0 100 10"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="svg5"
 | 
				
			||||||
 | 
					   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
				
			||||||
 | 
					   sodipodi:docname="MESSAGGE_STATUS_BOX.svg"
 | 
				
			||||||
 | 
					   inkscape:export-filename="MESSAGE_STATUS.png"
 | 
				
			||||||
 | 
					   inkscape:export-xdpi="93"
 | 
				
			||||||
 | 
					   inkscape:export-ydpi="93"
 | 
				
			||||||
 | 
					   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
				
			||||||
 | 
					   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					  <sodipodi:namedview
 | 
				
			||||||
 | 
					     id="namedview7"
 | 
				
			||||||
 | 
					     pagecolor="#505050"
 | 
				
			||||||
 | 
					     bordercolor="#eeeeee"
 | 
				
			||||||
 | 
					     borderopacity="1"
 | 
				
			||||||
 | 
					     inkscape:showpageshadow="0"
 | 
				
			||||||
 | 
					     inkscape:pageopacity="0"
 | 
				
			||||||
 | 
					     inkscape:pagecheckerboard="0"
 | 
				
			||||||
 | 
					     inkscape:deskcolor="#505050"
 | 
				
			||||||
 | 
					     inkscape:document-units="mm"
 | 
				
			||||||
 | 
					     showgrid="false"
 | 
				
			||||||
 | 
					     inkscape:zoom="2.9469416"
 | 
				
			||||||
 | 
					     inkscape:cx="199.52889"
 | 
				
			||||||
 | 
					     inkscape:cy="45.301203"
 | 
				
			||||||
 | 
					     inkscape:window-width="1920"
 | 
				
			||||||
 | 
					     inkscape:window-height="1006"
 | 
				
			||||||
 | 
					     inkscape:window-x="0"
 | 
				
			||||||
 | 
					     inkscape:window-y="0"
 | 
				
			||||||
 | 
					     inkscape:window-maximized="1"
 | 
				
			||||||
 | 
					     inkscape:current-layer="layer1" />
 | 
				
			||||||
 | 
					  <defs
 | 
				
			||||||
 | 
					     id="defs2" />
 | 
				
			||||||
 | 
					  <g
 | 
				
			||||||
 | 
					     inkscape:label="Слой 1"
 | 
				
			||||||
 | 
					     inkscape:groupmode="layer"
 | 
				
			||||||
 | 
					     id="layer1">
 | 
				
			||||||
 | 
					    <rect
 | 
				
			||||||
 | 
					       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
				
			||||||
 | 
					       id="rect788"
 | 
				
			||||||
 | 
					       width="100"
 | 
				
			||||||
 | 
					       height="10"
 | 
				
			||||||
 | 
					       x="0"
 | 
				
			||||||
 | 
					       y="0"
 | 
				
			||||||
 | 
					       ry="0"
 | 
				
			||||||
 | 
					       inkscape:export-filename="MESSAGE_STATUS_BOX.png"
 | 
				
			||||||
 | 
					       inkscape:export-xdpi="25.4"
 | 
				
			||||||
 | 
					       inkscape:export-ydpi="25.4" />
 | 
				
			||||||
 | 
					  </g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 316 B  | 
| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
   version="1.1"
 | 
					   version="1.1"
 | 
				
			||||||
   id="svg5"
 | 
					   id="svg5"
 | 
				
			||||||
   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
					   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
				
			||||||
   sodipodi:docname="BOX.svg"
 | 
					   sodipodi:docname="PROGRESS_FORM.svg"
 | 
				
			||||||
   inkscape:export-filename="BOX.png"
 | 
					   inkscape:export-filename="BOX.png"
 | 
				
			||||||
   inkscape:export-xdpi="93"
 | 
					   inkscape:export-xdpi="93"
 | 
				
			||||||
   inkscape:export-ydpi="93"
 | 
					   inkscape:export-ydpi="93"
 | 
				
			||||||
| 
						 | 
					@ -28,10 +28,10 @@
 | 
				
			||||||
     inkscape:document-units="mm"
 | 
					     inkscape:document-units="mm"
 | 
				
			||||||
     showgrid="false"
 | 
					     showgrid="false"
 | 
				
			||||||
     inkscape:zoom="2.9469416"
 | 
					     inkscape:zoom="2.9469416"
 | 
				
			||||||
     inkscape:cx="186.97351"
 | 
					     inkscape:cx="187.31284"
 | 
				
			||||||
     inkscape:cy="108.07815"
 | 
					     inkscape:cy="108.41749"
 | 
				
			||||||
     inkscape:window-width="1920"
 | 
					     inkscape:window-width="1920"
 | 
				
			||||||
     inkscape:window-height="1002"
 | 
					     inkscape:window-height="1006"
 | 
				
			||||||
     inkscape:window-x="0"
 | 
					     inkscape:window-x="0"
 | 
				
			||||||
     inkscape:window-y="0"
 | 
					     inkscape:window-y="0"
 | 
				
			||||||
     inkscape:window-maximized="1"
 | 
					     inkscape:window-maximized="1"
 | 
				
			||||||
| 
						 | 
					@ -43,14 +43,14 @@
 | 
				
			||||||
     inkscape:groupmode="layer"
 | 
					     inkscape:groupmode="layer"
 | 
				
			||||||
     id="layer1">
 | 
					     id="layer1">
 | 
				
			||||||
    <rect
 | 
					    <rect
 | 
				
			||||||
       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:1;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
					       style="mix-blend-mode:normal;fill:#1c1b20;fill-opacity:1;stroke:#a03d40;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
 | 
				
			||||||
       id="rect788"
 | 
					       id="rect788"
 | 
				
			||||||
       width="100"
 | 
					       width="100"
 | 
				
			||||||
       height="50"
 | 
					       height="50"
 | 
				
			||||||
       x="0"
 | 
					       x="0"
 | 
				
			||||||
       y="0"
 | 
					       y="0"
 | 
				
			||||||
       ry="0"
 | 
					       ry="0"
 | 
				
			||||||
       inkscape:export-filename="BOX.png"
 | 
					       inkscape:export-filename="PROGRESS_FORM.png"
 | 
				
			||||||
       inkscape:export-xdpi="25.4"
 | 
					       inkscape:export-xdpi="25.4"
 | 
				
			||||||
       inkscape:export-ydpi="25.4" />
 | 
					       inkscape:export-ydpi="25.4" />
 | 
				
			||||||
  </g>
 | 
					  </g>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB  | 
| 
		 Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 316 B  | 
| 
		 After Width: | Height: | Size: 538 B  | 
| 
		 After Width: | Height: | Size: 221 B  | 
| 
		 Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 316 B  | 
| 
						 | 
					@ -143,30 +143,43 @@ background.sprite.SetImage(background.image);
 | 
				
			||||||
background.sprite.SetPosition(background.x, background.y, 0);
 | 
					background.sprite.SetPosition(background.x, background.y, 0);
 | 
				
			||||||
background.sprite.SetOpacity(1);
 | 
					background.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MESSAGE BACKGROUND
 | 
					// SIDE BACKGROUND
 | 
				
			||||||
side_background.image = Image("SIDE_BACKGROUND2.png");
 | 
					side_panel.image = Image("SIDE_BACKGROUND2.png");
 | 
				
			||||||
side_background.image = side_background.image.Scale(Percent(25, screen.width), Percent(100, screen.height));
 | 
					side_panel.image = side_panel.image.Scale(Percent(25, screen.width), Percent(100, screen.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.width = side_background.image.GetWidth();
 | 
					side_panel.width = side_panel.image.GetWidth();
 | 
				
			||||||
side_background.height = side_background.image.GetHeight();
 | 
					side_panel.height = side_panel.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.x = x0;
 | 
					side_panel.x = x0;
 | 
				
			||||||
side_background.y = y0;
 | 
					side_panel.y = y0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_background.sprite = Sprite(side_background.image);
 | 
					side_panel.sprite = Sprite(side_panel.image);
 | 
				
			||||||
side_background.sprite.SetPosition(side_background.x, side_background.y, 1);
 | 
					side_panel.sprite.SetPosition(side_panel.x, side_panel.y, 1);
 | 
				
			||||||
side_background.sprite.SetOpacity(1);
 | 
					side_panel.sprite.SetOpacity(0.75);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MESSAGES BOX
 | 
				
			||||||
 | 
					messages_box.image = Image("MESSAGES_BOX.png");
 | 
				
			||||||
 | 
					messages_box.image = messages_box.image.Scale(Percent(80, side_panel.width), Percent(40, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.width = messages_box.image.GetWidth();
 | 
				
			||||||
 | 
					messages_box.height = messages_box.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.x = Percent(50, side_panel.width) - messages_box.width / 2;
 | 
				
			||||||
 | 
					messages_box.y = Percent(45, side_panel.height) - messages_box.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messages_box.sprite = Sprite(messages_box.image);
 | 
				
			||||||
 | 
					messages_box.sprite.SetPosition(messages_box.x, messages_box.y, 2);
 | 
				
			||||||
 | 
					messages_box.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sise Logo
 | 
					// Sise Logo
 | 
				
			||||||
side_logo.image = Image("Melawy_Linux_640x320.png");
 | 
					side_logo.image = Image("Melawy_Linux_640x320.png");
 | 
				
			||||||
side_logo.image = ScaleImage(side_logo.image, Limit(screen.width, screen.height, 20));
 | 
					side_logo.image = ScaleImage(side_logo.image, Limit(screen.width, screen.height, 20));
 | 
				
			||||||
// side_logo.image = side_logo.image.Scale(Percent(25, screen.width), Percent(25, screen.height));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.width = side_logo.image.GetWidth();
 | 
					side_logo.width = side_logo.image.GetWidth();
 | 
				
			||||||
side_logo.height = side_logo.image.GetHeight();
 | 
					side_logo.height = side_logo.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.x = (side_background.width - side_logo.width) / 2;
 | 
					side_logo.x = (side_panel.width - side_logo.width) / 2;
 | 
				
			||||||
side_logo.y = screen.height - screen.height * 0.25;
 | 
					side_logo.y = side_panel.height - side_panel.height * 0.25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
side_logo.sprite = Sprite(side_logo.image);
 | 
					side_logo.sprite = Sprite(side_logo.image);
 | 
				
			||||||
side_logo.sprite.SetPosition(side_logo.x, side_logo.y, 2);
 | 
					side_logo.sprite.SetPosition(side_logo.x, side_logo.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -180,7 +193,7 @@ project_link.width = project_link.image.GetWidth();
 | 
				
			||||||
project_link.height = project_link.image.GetHeight();
 | 
					project_link.height = project_link.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project_link.sprite = Sprite(project_link.image);
 | 
					project_link.sprite = Sprite(project_link.image);
 | 
				
			||||||
project_link.x = (side_background.width - project_link.width) / 2;
 | 
					project_link.x = (side_panel.width - project_link.width) / 2;
 | 
				
			||||||
project_link.y = side_logo.y + side_logo.height;
 | 
					project_link.y = side_logo.y + side_logo.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project_link.sprite.SetPosition(project_link.x, project_link.y, 2);
 | 
					project_link.sprite.SetPosition(project_link.x, project_link.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -200,13 +213,13 @@ logo.sprite.SetOpacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PROGRESS FORM
 | 
					// PROGRESS FORM
 | 
				
			||||||
progress_form.image = Image("PROGRESS_FORM.png");
 | 
					progress_form.image = Image("PROGRESS_FORM.png");
 | 
				
			||||||
progress_form.image = progress_form.image.Scale(Percent(20, screen.width), Percent(10, screen.height));
 | 
					progress_form.image = progress_form.image.Scale(Percent(80, side_panel.width), Percent(10, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.width = progress_form.image.GetWidth();
 | 
					progress_form.width = progress_form.image.GetWidth();
 | 
				
			||||||
progress_form.height = progress_form.image.GetHeight();
 | 
					progress_form.height = progress_form.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.x = Percent(50, side_background.width) - progress_form.width / 2;
 | 
					progress_form.x = Percent(50, side_panel.width) - progress_form.width / 2;
 | 
				
			||||||
progress_form.y = Percent(75, side_background.height) - progress_form.height;
 | 
					progress_form.y = Percent(75, side_panel.height) - progress_form.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_form.sprite = Sprite(progress_form.image);
 | 
					progress_form.sprite = Sprite(progress_form.image);
 | 
				
			||||||
progress_form.sprite.SetPosition(progress_form.x, progress_form.y, 2);
 | 
					progress_form.sprite.SetPosition(progress_form.x, progress_form.y, 2);
 | 
				
			||||||
| 
						 | 
					@ -227,7 +240,7 @@ spinner.sprite.SetPosition(spinner.x, spinner.y, 3); // позиция за ил
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PROGRESS TEXT
 | 
					// PROGRESS TEXT
 | 
				
			||||||
progress_text.image = Image.Text(progress_t + "%", 255, 255, 255, 1, progressfont);
 | 
					progress_text.image = Image.Text(progress_t + "%", 0.5, 0.5, 0.5, 1, progressfont);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
progress_text.width = progress_text.image.GetWidth();
 | 
					progress_text.width = progress_text.image.GetWidth();
 | 
				
			||||||
progress_text.height = progress_text.image.GetHeight();
 | 
					progress_text.height = progress_text.image.GetHeight();
 | 
				
			||||||
| 
						 | 
					@ -278,19 +291,22 @@ counter = 0;
 | 
				
			||||||
max_counter = progress_box.width - progress_fade.width;
 | 
					max_counter = progress_box.width - progress_fade.width;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun progress_callback(duration, progress) {
 | 
					fun progress_callback(duration, progress) {
 | 
				
			||||||
    if (progress_bar.image.GetWidth() != Math.Int(progress_bar.original_image.GetWidth() * progress)) {
 | 
					    if (progress_bar.image.GetWidth() != Math.Int(progress_bar.original_image.GetWidth() * progress)) {
 | 
				
			||||||
        progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
 | 
					        progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
 | 
				
			||||||
        progress_bar.sprite.SetImage(progress_bar.image);
 | 
					        progress_bar.sprite.SetImage(progress_bar.image);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        f = Math.Int(progress_bar.image.GetWidth() /progress_bar.original_image.GetWidth() * 100);
 | 
					        f = Math.Int(progress_bar.image.GetWidth() /progress_bar.original_image.GetWidth() * 100);
 | 
				
			||||||
        progress_t.image = Image.Text(f + "%", 255, 255, 255, 1, progressfont);
 | 
					        progress_t.image = Image.Text(f + "%", 0.5, 0.5, 0.5, 1, progressfont);
 | 
				
			||||||
        progress_text.sprite.SetImage(progress_t.image);
 | 
					        progress_text.sprite.SetImage(progress_t.image);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetBootProgressFunction(progress_callback);
 | 
					Plymouth.SetBootProgressFunction(progress_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DIALOG
 | 
					// DIALOG
 | 
				
			||||||
status = "normal";
 | 
					status = "normal";
 | 
				
			||||||
//count = 0;
 | 
					//count = 0;
 | 
				
			||||||
| 
						 | 
					@ -303,13 +319,13 @@ fun dialog_setup() {
 | 
				
			||||||
    local.bullet_i;
 | 
					    local.bullet_i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.image = Image("BOX.png");
 | 
					    box_form.image = Image("BOX.png");
 | 
				
			||||||
    box_form.image = box_form.image.Scale(Percent(20, screen.width), Percent(10, screen.height));
 | 
					    box_form.image = box_form.image.Scale(Percent(80, side_panel.width), Percent(10, side_panel.height));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.width = box_form.image.GetWidth();
 | 
					    box_form.width = box_form.image.GetWidth();
 | 
				
			||||||
    box_form.height = box_form.image.GetHeight();
 | 
					    box_form.height = box_form.image.GetHeight();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.x = progress_form.x;
 | 
					    box_form.x = progress_form.x;
 | 
				
			||||||
    box_form.y = progress_form.y - box_form.height - Percent(1, screen.height);
 | 
					    box_form.y = progress_form.y - box_form.height - Percent(1, side_panel.height);
 | 
				
			||||||
    box_form.z = 10000;
 | 
					    box_form.z = 10000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    box_form.sprite = Sprite(box_form.image);
 | 
					    box_form.sprite = Sprite(box_form.image);
 | 
				
			||||||
| 
						 | 
					@ -390,6 +406,7 @@ fun display_normal_callback() {
 | 
				
			||||||
Plymouth.SetDisplayNormalFunction(display_normal_callback);
 | 
					Plymouth.SetDisplayNormalFunction(display_normal_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun display_password_callback(prompt_text, bullets) {
 | 
					fun display_password_callback(prompt_text, bullets) {
 | 
				
			||||||
    global.status = "password";
 | 
					    global.status = "password";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -398,7 +415,7 @@ fun display_password_callback(prompt_text, bullets) {
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        dialog_opacity(1);
 | 
					        dialog_opacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dialog.hint.image = Image.Text(prompt_text, 1.0, 1.0, 1.0, 1, common_font);
 | 
					    dialog.hint.image = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
				
			||||||
    dialog.hint.sprite.SetImage(dialog.hint.image);
 | 
					    dialog.hint.sprite.SetImage(dialog.hint.image);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for(index = 0; dialog.bullet[index] || index < bullets; index++) {
 | 
					    for(index = 0; dialog.bullet[index] || index < bullets; index++) {
 | 
				
			||||||
| 
						 | 
					@ -430,7 +447,7 @@ fun refreshHandler() {
 | 
				
			||||||
        text.sprite = Sprite(text.image);
 | 
					        text.sprite = Sprite(text.image);
 | 
				
			||||||
        text.x = progress_box.x;
 | 
					        text.x = progress_box.x;
 | 
				
			||||||
        text.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
					        text.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
				
			||||||
        text.sprite.SetPosition(text.x, text.y, 2);
 | 
					        text.sprite.SetPosition(text.x, text.y, 3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        progress_fade.sprite.SetOpacity (1);
 | 
					        progress_fade.sprite.SetOpacity (1);
 | 
				
			||||||
| 
						 | 
					@ -439,7 +456,7 @@ fun refreshHandler() {
 | 
				
			||||||
        text_end.sprite = Sprite(text_end.image);
 | 
					        text_end.sprite = Sprite(text_end.image);
 | 
				
			||||||
        text_end.x = progress_box.x;
 | 
					        text_end.x = progress_box.x;
 | 
				
			||||||
        text_end.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
					        text_end.y = progress_box.y - progress_text.image.GetHeight() * 2;
 | 
				
			||||||
        text_end.sprite.SetPosition(text_end.x, text_end.y, 2);
 | 
					        text_end.sprite.SetPosition(text_end.x, text_end.y, 3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    progress_fade.x = progress_bar.x;
 | 
					    progress_fade.x = progress_bar.x;
 | 
				
			||||||
| 
						 | 
					@ -487,27 +504,35 @@ Plymouth.SetRefreshFunction(refreshHandler);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// LOG //
 | 
					message_status.sprite = SpriteNew();
 | 
				
			||||||
NUM_SCROLL_LINES=25; //количество строк лога
 | 
					 | 
				
			||||||
LINE_WIDTH=35; //ширина строк лога
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message_sprite=SpriteNew();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun message_callback(prompt_text) {
 | 
					fun message_callback(prompt_text) {
 | 
				
			||||||
    message = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
					    message_status.image = Image.Text(prompt_text, 0.5, 0.5, 0.5, 1, common_font);
 | 
				
			||||||
    message_sprite.SetImage(message);
 | 
					    message_status.sprite.SetImage(message_status.image);
 | 
				
			||||||
    message_sprite.SetPosition(Percent(2, screen.width), Percent(50, screen.height), 2);
 | 
					    message_status.height = message_status.image.GetHeight();
 | 
				
			||||||
    message_sprite.SetOpacity(1);
 | 
					    message_status.x = messages_box.x + Percent(5, messages_box.width);
 | 
				
			||||||
 | 
					    message_status.y = messages_box.y + messages_box.height - Percent(7, messages_box.height);
 | 
				
			||||||
 | 
					    message_status.sprite.SetPosition(message_status.x, message_status.y, 3);
 | 
				
			||||||
 | 
					    message_status.sprite.SetOpacity(1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetMessageFunction(message_callback);
 | 
					Plymouth.SetMessageFunction(message_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message_sprite_.x = messages_box.x + Percent(5, messages_box.width); // позиция % по X
 | 
				
			||||||
 | 
					message_sprite_.y = messages_box.y + Percent(10, messages_box.height); // позиция % по Y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// LOG //
 | 
				
			||||||
 | 
					NUM_SCROLL_LINES=20; //количество строк лога
 | 
				
			||||||
 | 
					LINE_WIDTH=40; //ширина строк лога
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Initialising text images and their positions
 | 
					// Initialising text images and their positions
 | 
				
			||||||
// 20 is the height(including line spacing) of each line
 | 
					// 20 is the height(including line spacing) of each line
 | 
				
			||||||
for(i=0; i < NUM_SCROLL_LINES; i++) {
 | 
					for(i=0; i < NUM_SCROLL_LINES; i++) {
 | 
				
			||||||
    lines[i]= Image.Text("", 0.5, 0.5, 0.5, 1, common_font); //цвет строк
 | 
					    lines[i]= Image.Text("", 0.5, 0.5, 0.5, 1, common_font); //цвет строк
 | 
				
			||||||
    message_sprite[i] = SpriteNew();
 | 
					    message_sprite[i] = SpriteNew();
 | 
				
			||||||
    message_sprite[i].SetPosition(Percent(2, screen.width), Percent(5, screen.height) + (i * 17), 2);
 | 
					    message_sprite[i].SetPosition(message_sprite_.x, message_sprite_.y + (i * 17), 3);
 | 
				
			||||||
}                                    //высота строк           //отступ строк
 | 
					}                                    //высота строк           //отступ строк
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun StringLength(string) {
 | 
					fun StringLength(string) {
 | 
				
			||||||
| 
						 | 
					@ -540,6 +565,8 @@ fun scroll_message_callback(text) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Plymouth.SetUpdateStatusFunction(scroll_message_callback);
 | 
					Plymouth.SetUpdateStatusFunction(scroll_message_callback);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// QUIT
 | 
					// QUIT
 | 
				
			||||||
fun quit_callback() {
 | 
					fun quit_callback() {
 | 
				
			||||||
    progress_fade.sprite.SetOpacity (1);
 | 
					    progress_fade.sprite.SetOpacity (1);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||