|
1 | 1 | function macro_fadein() {
|
2 | 2 | // macro_fadein()
|
3 |
| - var str, total_vals, val, decr, inc, maxdecr, velval |
| 3 | + var str, total_vals, val, decr, maxdecr |
4 | 4 | str = selection_code
|
5 | 5 | if (selected = 0) return 0
|
6 | 6 | var arr_data = selection_to_array_ext()
|
7 | 7 | total_vals = array_length(arr_data)
|
8 | 8 | val = 0
|
9 |
| - // Check bottom-right note block's velocity value, calculate fade out from that. |
10 |
| - velval = array_length(arr_data) |
11 |
| - maxdecr = arr_data[velval-4] |
12 |
| - decr = maxdecr/macro_column_count(arr_data) |
13 |
| - show_debug_message(string(maxdecr)) |
14 |
| - inc = decr |
| 9 | + maxdecr = 1.0 |
| 10 | + decr = maxdecr/(macro_column_count(arr_data) - 1) |
| 11 | + var current_factor = 0.0 |
15 | 12 | //show_debug_message(string_count("-1", str))
|
16 | 13 | //for (var i = 0; i < total_vals; i++;) {show_debug_message(arr_data[i])}
|
17 | 14 | while (val < total_vals) {
|
18 | 15 | val += 4
|
19 |
| - arr_data[val] = abs(0+decr) |
| 16 | + arr_data[val] = ceil(arr_data[val] * current_factor) |
| 17 | + arr_data[val] = max(1, min(arr_data[val], 100)) |
20 | 18 | val += 3
|
21 | 19 | while arr_data[val] != -1 {
|
22 | 20 | val += 3
|
23 |
| - arr_data[val] = abs(0+decr) |
| 21 | + arr_data[val] = ceil(arr_data[val] * current_factor) |
| 22 | + arr_data[val] = max(1, min(arr_data[val], 100)) |
24 | 23 | val += 3
|
25 | 24 | }
|
26 |
| - decr = decr + inc |
| 25 | + // Reached end of column; next column |
| 26 | + current_factor += decr |
27 | 27 | val ++
|
28 | 28 | }
|
29 | 29 | selection_load_from_array(selection_x, selection_y, arr_data)
|
|
0 commit comments