diff --git a/scripts/control_create/control_create.gml b/scripts/control_create/control_create.gml index 0d350b3d4..145a4388b 100644 --- a/scripts/control_create/control_create.gml +++ b/scripts/control_create/control_create.gml @@ -427,6 +427,8 @@ function control_create() { sound_stopper_set_start = -1 sound_stopper_set_until = -1 + selection_alpha = 0.8 + // Layers show_layers = 1 realvolume = 1 diff --git a/scripts/control_draw/control_draw.gml b/scripts/control_draw/control_draw.gml index 6ebd043df..b22193b1c 100644 --- a/scripts/control_draw/control_draw.gml +++ b/scripts/control_draw/control_draw.gml @@ -339,7 +339,7 @@ function control_draw() { } if (fade=0) c += ((selbx = current_song.starta + a && selby = current_song.startb + b && select = 0 && window = 0 && cursmarker = 0) || s) * 0.5 } - draw_block(x1 + 2 + 32 * a - note_offset, y1 + 34 + 32 * b, current_song.song_ins[current_song.starta + a, current_song.startb + b], current_song.song_key[current_song.starta + a, current_song.startb + b], current_song.song_pan[current_song.starta + a, current_song.startb + b], current_song.song_vel[current_song.starta + a, current_song.startb + b], current_song.song_pit[current_song.starta + a, current_song.startb + b], c, s * 0.8) + draw_block(x1 + 2 + 32 * a - note_offset, y1 + 34 + 32 * b, current_song.song_ins[current_song.starta + a, current_song.startb + b], current_song.song_key[current_song.starta + a, current_song.startb + b], current_song.song_pan[current_song.starta + a, current_song.startb + b], current_song.song_vel[current_song.starta + a, current_song.startb + b], current_song.song_pit[current_song.starta + a, current_song.startb + b], c, s * selection_alpha) if (current_song.instrument_list[| ds_list_find_index(current_song.instrument_list, current_song.song_ins[current_song.starta + a, current_song.startb + b])].name = "Tempo Changer") array_push(tempo_changer_display_queue, [x1 + 2 + 32 * a - note_offset, y1 + 34 + 32 * b, string(abs(current_song.song_pit[current_song.starta + a, current_song.startb + b]))]) } } @@ -375,7 +375,7 @@ function control_draw() { if (fade=0) c += ((selbx = current_song.starta + a && selby = current_song.startb + b && select = 0 && window = 0 && cursmarker = 0) || s) * 0.5 } realkey = current_song.song_key[current_song.starta + a, current_song.startb + b] + current_song.song_pit[current_song.starta + a, current_song.startb + b] / 100 - draw_block(floor(centerx - (52 * 39) / 2) + floor(19.5 * (realkey + floor(realkey / 12) * 2 + (realkey mod 12 >= 8) + (realkey mod 12 >= 3))) + 4, rh - 154 - a * 32 - 32 + note_offset, current_song.song_ins[current_song.starta + a, current_song.startb + b], current_song.song_key[current_song.starta + a, current_song.startb + b], current_song.song_pan[current_song.starta + a, current_song.startb + b], current_song.song_vel[current_song.starta + a, current_song.startb + b] * (current_song.layervol[b] / 100), current_song.song_pit[current_song.starta + a, current_song.startb + b], c, s * 0.8) + draw_block(floor(centerx - (52 * 39) / 2) + floor(19.5 * (realkey + floor(realkey / 12) * 2 + (realkey mod 12 >= 8) + (realkey mod 12 >= 3))) + 4, rh - 154 - a * 32 - 32 + note_offset, current_song.song_ins[current_song.starta + a, current_song.startb + b], current_song.song_key[current_song.starta + a, current_song.startb + b], current_song.song_pan[current_song.starta + a, current_song.startb + b], current_song.song_vel[current_song.starta + a, current_song.startb + b] * (current_song.layervol[b] / 100), current_song.song_pit[current_song.starta + a, current_song.startb + b], c, s * selection_alpha) } } } else { diff --git a/scripts/draw_window_preferences/draw_window_preferences.gml b/scripts/draw_window_preferences/draw_window_preferences.gml index 13d4b6b1f..110eb0212 100644 --- a/scripts/draw_window_preferences/draw_window_preferences.gml +++ b/scripts/draw_window_preferences/draw_window_preferences.gml @@ -473,6 +473,9 @@ function draw_window_preferences() { if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 210, fade, "No fading", "Disables transparency animations on note block sprites")) fade = !fade if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 230, show_layers, "Show layer boxes", "Whether the layer boxes should be shown\non the left side of the workspace.")) show_layers = !show_layers if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 250, remove_effect, "Show effect on removal", "Whether to show a fading border\nwhen removing a note block.")) remove_effect = !remove_effect + draw_text_dynamic(x1 + 60, y1 + 268 + (theme = 3) * 22, "Selection highlight intensity: %") + selection_alpha = median(10, draw_dragvalue(21, x1 + 218, y1 + 268 + (theme = 3) * 22, selection_alpha * 100, 2), 80) / 100 + if (theme = 3) draw_theme_font(font_info_med) draw_areaheader(x1 + 22, y1 + 294 + (theme = 3) * 22, 456, 171, "Piano") if (theme = 3) draw_theme_font(font_main) @@ -505,6 +508,9 @@ function draw_window_preferences() { if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 210, fade, "音符盒不透明", "关闭音符盒上的透明效果。")) fade = !fade if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 230, show_layers, "显示每层操作区", "显示在界面左侧操作每层设定的区域。")) show_layers = !show_layers if (draw_checkbox(x1 + 40, y1 + (theme = 3) * 22 + 250, remove_effect, "显示删除效果", "删除音符时显示淡出边框效果。")) remove_effect = !remove_effect + draw_text_dynamic(x1 + 60, y1 + 268 + (theme = 3) * 22, "选择突出显示强度: %") + selection_alpha = median(10, draw_dragvalue(21, x1 + 172, y1 + 268 + (theme = 3) * 22, selection_alpha * 100, 2), 80) / 100 + if (theme = 3) draw_theme_font(font_info_med) draw_areaheader(x1 + 22, y1 + 294 + (theme = 3) * 22, 456, 171, "琴键") if (theme = 3) draw_theme_font(font_main) diff --git a/scripts/load_settings/load_settings.gml b/scripts/load_settings/load_settings.gml index eb327ba8a..2f412e099 100644 --- a/scripts/load_settings/load_settings.gml +++ b/scripts/load_settings/load_settings.gml @@ -37,6 +37,7 @@ function load_settings() { show_octaves = ini_read_real( "preferences", "show_octaves", show_octaves) show_incompatible = ini_read_real( "preferences", "show_incompatible", show_incompatible) fade = ini_read_real( "preferences", "use_fading", fade) + selection_alpha = ini_read_real( "preferences", "selection_alpha", selection_alpha) show_layers = ini_read_real( "preferences", "show_layers", show_layers) show_piano = ini_read_real( "preferences", "show_piano", show_piano) keysmax = ini_read_real( "preferences", "keys_to_show", keysmax) diff --git a/scripts/save_settings/save_settings.gml b/scripts/save_settings/save_settings.gml index 8ea342159..e1e9a398c 100644 --- a/scripts/save_settings/save_settings.gml +++ b/scripts/save_settings/save_settings.gml @@ -34,6 +34,7 @@ function save_settings() { ini_write_real_clean("preferences", "show_numbers", show_numbers) ini_write_real_clean("preferences", "show_octaves", show_octaves) ini_write_real_clean("preferences", "show_incompatible", show_incompatible) + ini_write_real_clean("preferences", "selection_alpha", selection_alpha) ini_write_real_clean("preferences", "use_fading", fade) ini_write_real_clean("preferences", "show_layers", show_layers) ini_write_real_clean("preferences", "show_piano", show_piano) diff --git a/scripts/selection_draw/selection_draw.gml b/scripts/selection_draw/selection_draw.gml index a72374dbd..f8d5e3840 100644 --- a/scripts/selection_draw/selection_draw.gml +++ b/scripts/selection_draw/selection_draw.gml @@ -54,13 +54,13 @@ function selection_draw(argument0, argument1, argument2, argument3) { sb = b - songs[song].selection_y if (sb >= songs[song].selection_colfirst[sa] && sb <= songs[song].selection_collast[sa]) { if (songs[song].selection_exists[sa, sb]) { - salpha = 0.8 + salpha = selection_alpha if (window < 1) { if (select = 2) { - if (is_inside(a, b, select_pressa, select_pressb, selbx, selby)) salpha = 0.5 + if (is_inside(a, b, select_pressa, select_pressb, selbx, selby)) salpha = 0.5 * 0.625 } else if (select = 0 && !cursmarker && playing = 0) { if (mouse_rectangle(xs + (a - songs[song].starta) * 32, ys + (b - songs[song].startb) * 32, 32, 32)) { - salpha = 0.7 + salpha = selection_alpha * (0.8 * (selection_alpha > 0.4) - 0.08 * (selection_alpha > 0.4)) curs = cr_size_all if (mouse_check_button_pressed(mb_left)) { window = w_dragselection @@ -72,7 +72,7 @@ function selection_draw(argument0, argument1, argument2, argument3) { } } } else if (window = w_dragselection) { - if (select_pressa = sa && select_pressb = sb) salpha = 0.7 + salpha = selection_alpha * (0.8 * (selection_alpha > 0.4) - 0.08 * (selection_alpha > 0.4)) } // salpha += 0.1 * (1 - (min(1000, current_time - selection_played[sa, sb]) / 1000)) draw_block(xs + (a - songs[song].starta) * 32, ys + (b - songs[song].startb) * 32, songs[song].selection_ins[sa, sb], songs[song].selection_key[sa, sb], songs[song].selection_pan[sa, sb], songs[song].selection_vel[sa, sb], songs[song].selection_pit[sa, sb], 1, salpha)