24 # define HIDE_CURSOR "\033[?25l"
25 # define SHOW_CURSOR "\033[?25h"
28 # define C_AURA1 "\033[38;5;52m"
29 # define C_AURA2 "\033[38;5;88m"
30 # define C_AURA3 "\033[38;5;124m"
31 # define C_AURA4 "\033[38;5;160m"
32 # define C_AURA5 "\033[38;5;196m"
35 # define C_M1 "\033[38;5;196m"
36 # define C_M2 "\033[38;5;202m"
37 # define C_M3 "\033[38;5;208m"
38 # define C_M4 "\033[38;5;214m"
39 # define C_M5 "\033[38;5;220m"
48 typedef struct s_welcome_term
60 # define DEMON_WIDTH 60
61 # define DEMON_HEIGHT 16
62 # define DEMON_LINES 16
UI mode structures, macros & function prototypes.
Extended terminal info (for welcome screen pos)
int center_x
Horizontal center col.
int height
Terminal height.
int center_y
Vertical center row.
void print_centered(t_welcome_term *t, int row, const char *str, int len)
Print string centered on the given row.
void animate_credits(t_welcome_term *t)
Print the credits line centered on the screen.
void flash_demon_eyes(t_welcome_term *t)
Animate the demon's eyes blinking.
const char * get_demon_art_line(int line)
Return 1 line of the ASCII Demon art by index.
void print_at_pos(int row, int col, const char *str)
Move the terminal cursor to [row, col] and print str.
void animate_quote(t_welcome_term *t)
Draw the quote inside a decorative box.
void animate_title(t_welcome_term *t)
Animate the title appearing character by character.
void animate_demon(t_welcome_term *t)
Animate the Demon art with 100ms delay.
void draw_welcome(void)
Draw complete welcome animation sequence and clean up.
void get_welcome_term_size(t_welcome_term *t)
Get the terminal size and calculate centre coordinates.
void animate_loading(t_welcome_term *t)
Animate a progress bar.