Skip to content

Commit a7122ac

Browse files
committed
fixed drawing bug in menus, added stop_outside_range in DynamicValue
1 parent 56c0f64 commit a7122ac

File tree

7 files changed

+87
-10
lines changed

7 files changed

+87
-10
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
@@ -1,4 +1,4 @@
1-
draw_set_font(menu_font);
1+
event_inherited();
22
var _x = x + cursor_padding;
33

44
for (var i=0; i<num_items; i++) {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
draw_set_font(menu_font);
1+
event_inherited();
2+
23
for (var i=0; i<ds_grid_width(items); i++) {
34
var _x = x + cursor_padding * (i+1) + column_width * i;
45

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
draw_set_font(menu_font);
2+
draw_set_halign(fa_left);
3+
draw_set_valign(fa_top);
4+
draw_set_alpha(1);
5+
draw_set_colour(c_white);

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

Lines changed: 1 addition & 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/options/windowsuap/options_windowsuap.yy

Lines changed: 61 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/math_structs/math_structs.gml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,30 +47,34 @@ enum DVLimitMode {
4747
}
4848

4949
/// @func DynamicValue(value, delta, min_v, max_v, clamp_mode)
50-
function DynamicValue(_value, _delta, _min_v, _max_v, _clamp_mode) constructor {
50+
function DynamicValue(_value, _delta, _min_v, _max_v, _clamp_mode, _stop_outside_range) constructor {
5151
v = _value;
5252
d = _delta;
5353
min_v = _min_v;
5454
max_v = _max_v;
5555
clamp_mode = _clamp_mode;
56+
stop_outside_range = _stop_outside_range;
5657

5758
static update = function() {
5859
if (d != 0) {
60+
var _old_v = v;
61+
var _new_v = v + d;
62+
5963
switch (clamp_mode) {
6064
case DVLimitMode.NONE:
61-
v += d;
65+
v = _new_v;
6266
break;
6367

6468
case DVLimitMode.CEILING:
65-
v = min(v + d, max_v);
69+
v = min(_new_v, max_v);
6670
break;
6771

6872
case DVLimitMode.FLOOR:
69-
v = max(v + d, min_v);
73+
v = max(_new_v, min_v);
7074
break;
7175

7276
case DVLimitMode.CLAMP:
73-
v = clamp(v + d, min_v, max_v);
77+
v = clamp(_new_v, min_v, max_v);
7478
break;
7579

7680
case DVLimitMode.SOFT_CEILING:
@@ -86,10 +90,14 @@ function DynamicValue(_value, _delta, _min_v, _max_v, _clamp_mode) constructor {
8690
break;
8791

8892
case DVLimitMode.WRAP:
89-
v = wrap(v + d, min_v, max_v);
93+
v = wrap(_new_v, min_v, max_v);
9094

9195
default:
92-
v += d;
96+
v = _new_v;
97+
}
98+
99+
if (stop_outside_range && _old_v == v) {
100+
d = 0;
93101
}
94102
}
95103
}

current-scripts/Demos/useful-scripts/useful-scripts.yyp

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

0 commit comments

Comments
 (0)