diff --git a/autoloads/morse_state.gd b/autoloads/morse_state.gd index d04c54f..2089af9 100644 --- a/autoloads/morse_state.gd +++ b/autoloads/morse_state.gd @@ -16,5 +16,5 @@ func set_state(state: bool) -> void: curr_state = state var now := Time.get_ticks_msec() - states.push_front(now - last_change) + states.push_back(now - last_change) last_change = now diff --git a/scenes/morse_banner.gd b/scenes/morse_banner.gd index 0869e78..df1a3ed 100644 --- a/scenes/morse_banner.gd +++ b/scenes/morse_banner.gd @@ -27,7 +27,8 @@ func _draw(): else: px_per_s = size.x / (Time.get_ticks_msec() - MorseState.start_time) * 1000.0 - for duration in [first_time] + MorseState.states: + for n in [-1] + range(MorseState.states.size() - 1, -1, -1): + var duration := first_time if n == -1 else MorseState.states[n] var rect_width: float = min(duration / 1000.0 * px_per_s, curr_x) curr_x -= rect_width if morse_on: