Skip to content

Commit 1aaa73f

Browse files
committed
add beta menu switch system, various improvements
1 parent 6ab9686 commit 1aaa73f

File tree

11 files changed

+59
-9
lines changed

11 files changed

+59
-9
lines changed

current-scripts/Demos/useful-scripts/objects/obj_column_menu/Draw_0.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ for (var i=0; i<num_items; i++) {
2626
}
2727
}
2828

29-
draw_sprite(cursor_spr, 0, x, y + (item_height + line_spacing) * pos);
29+
draw_sprite(cursor_spr, 0, x, y + (item_height + line_spacing) * pos + item_height / 2);

current-scripts/Demos/useful-scripts/objects/obj_control_manager/obj_control_manager.yy

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

current-scripts/Demos/useful-scripts/objects/obj_grid_menu/Draw_0.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ for (var i=0; i<ds_grid_width(items); i++) {
3232

3333
draw_sprite(cursor_spr, 0,
3434
x + (cursor_padding + column_width) * pos.x,
35-
y + (item_height + line_spacing) * pos.y
35+
y + (item_height + line_spacing) * pos.y + item_height / 2
3636
);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/// @desc fade in end
2+
enabled = true;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/// @desc fade out end
2+
visible = false;
3+
4+
if (script_exists(on_fade_out_end)) {
5+
script_execute(on_fade_out_end, on_fade_out_end_args);
6+
on_fade_out_end = noone;
7+
}
8+
9+
if (instance_exists(next_menu)) {
10+
next_menu.menu_fade_in();
11+
}
12+
13+
next_menu = noone;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
enabled = true;
22

3+
item_height = 1;
4+
cursor_width = 1;
5+
cursor_height = 1;
6+
37
control_state = new MenuControlState();
48
active_key_config = noone;
9+
menu_alpha = new DynamicValue(1, 0, 0, 1, DVLimitMode.CLAMP, true);
10+
11+
next_menu = noone;
12+
on_fade_out_end = noone;
513

614
menu_base_functions();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
draw_set_font(menu_font);
22
draw_set_halign(fa_left);
33
draw_set_valign(fa_top);
4-
draw_set_alpha(1);
4+
draw_set_alpha(menu_alpha.v);
55
draw_set_colour(c_white);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
menu_alpha.update();

current-scripts/Demos/useful-scripts/objects/obj_menu_base/obj_menu_base.yy

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

current-scripts/Demos/useful-scripts/scripts/menu_base_functions/menu_base_functions.gml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ function menu_base_init(_menu_font, _cursor_spr) {
55
draw_set_font(_menu_font);
66
item_height = string_height("Ij");
77
cursor_width = sprite_get_width(_cursor_spr);
8+
cursor_height = sprite_get_height(_cursor_spr);
89
}
910

1011
/// @func handle_selectable_confirm(item)
@@ -73,4 +74,25 @@ function handle_key_config_change(_item) {
7374
self.active_key_config = _item;
7475
io_clear();
7576
}
77+
}
78+
79+
function menu_switch(_next_menu, _on_switch_cb, _on_switch_cb_args) {
80+
enabled = false;
81+
self.menu_fade_out(_next_menu, _on_switch_cb, _on_switch_cb_args);
82+
}
83+
84+
function menu_fade_out(_next_menu, _on_end_cb, _on_end_cb_args) {
85+
next_menu = _next_menu;
86+
on_fade_out_end = asset_get_index(_on_end_cb);
87+
on_fade_out_end_args = _on_end_cb_args;
88+
menu_alpha.v = 1;
89+
menu_alpha.d = -1/menu_fade_time;
90+
alarm[11] = menu_fade_time;
91+
}
92+
93+
function menu_fade_in() {
94+
visible = true;
95+
menu_alpha.v = 0;
96+
menu_alpha.d = 1/menu_fade_time;
97+
alarm[10] = menu_fade_time;
7698
}

0 commit comments

Comments
 (0)