79 lines
2.4 KiB
Plaintext
79 lines
2.4 KiB
Plaintext
# Saikyo OS Installer Plymouth Script
|
|
|
|
# Global variables
|
|
global.progress_bar.sprite = 0;
|
|
global.progress_bar.bar = 0;
|
|
global.progress_bar.width = 0;
|
|
global.progress_bar.height = 0;
|
|
global.progress_bar.x = 0;
|
|
global.progress_bar.y = 0;
|
|
|
|
# Initialize
|
|
fun init () {
|
|
# Set background
|
|
background.color = [0.105, 0.105, 0.105, 1.0]; # Dark #1a1a1a
|
|
|
|
# Set up progress bar
|
|
global.progress_bar.width = 400;
|
|
global.progress_bar.height = 6;
|
|
global.progress_bar.x = Window.GetWidth() / 2 - global.progress_bar.width / 2;
|
|
global.progress_bar.y = Window.GetHeight() * 0.8;
|
|
|
|
# Create progress bar parts
|
|
global.progress_bar.sprite = Sprite();
|
|
global.progress_bar.sprite.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
|
|
|
|
global.progress_bar.bar = Sprite();
|
|
global.progress_bar.bar.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
|
|
}
|
|
|
|
# Display message
|
|
fun display_message_callback (text) {
|
|
message = Text(text, "Cantarell 12");
|
|
message.color = [1.0, 1.0, 1.0, 1.0]; # White
|
|
message.SetPosition(Window.GetWidth() / 2 - message.GetWidth() / 2,
|
|
Window.GetHeight() * 0.7, 1);
|
|
}
|
|
|
|
# Update progress
|
|
fun progress_callback (progress) {
|
|
progress_width = global.progress_bar.width * progress;
|
|
|
|
# Draw progress bar background
|
|
global.progress_bar.sprite.SetImage(global.progress_bar.width, global.progress_bar.height);
|
|
global.progress_bar.sprite.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
|
|
|
|
# Draw progress bar fill
|
|
global.progress_bar.bar.SetImage(progress_width, global.progress_bar.height);
|
|
global.progress_bar.bar.SetPosition(global.progress_bar.x, global.progress_bar.y, 1);
|
|
}
|
|
|
|
# Main loop
|
|
fun refresh () {
|
|
# Draw "SAIKYO OS" text
|
|
title = Text("SAIKYO OS", "Cantarell 24");
|
|
title.color = [1.0, 1.0, 1.0, 1.0]; # White
|
|
title.SetPosition(Window.GetWidth() / 2 - title.GetWidth() / 2,
|
|
Window.GetHeight() * 0.3, 2);
|
|
|
|
# Draw progress bar
|
|
if (global.progress_bar.sprite) {
|
|
global.progress_bar.sprite.SetOpacity(1.0);
|
|
}
|
|
|
|
if (global.progress_bar.bar) {
|
|
global.progress_bar.bar.SetOpacity(1.0);
|
|
}
|
|
}
|
|
|
|
# Cleanup
|
|
fun quit () {
|
|
# Clean up sprites
|
|
if (global.progress_bar.sprite) {
|
|
global.progress_bar.sprite = NULL;
|
|
}
|
|
if (global.progress_bar.bar) {
|
|
global.progress_bar.bar = NULL;
|
|
}
|
|
}
|