From e4414141cb35e2534cce7a3d9f8f64ac9cbc31b7 Mon Sep 17 00:00:00 2001 From: Duncan Brown Date: Fri, 2 Dec 2022 13:10:18 -0500 Subject: [PATCH] fix: prevents illegal WPM values and uses default in those cases. --- addons/escoria-dialog-simple/plugin.gd | 4 +++- addons/escoria-dialog-simple/types/avatar.gd | 12 ++++++++++++ addons/escoria-dialog-simple/types/floating.gd | 12 ++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/addons/escoria-dialog-simple/plugin.gd b/addons/escoria-dialog-simple/plugin.gd index c5c90da0..2bfd6643 100644 --- a/addons/escoria-dialog-simple/plugin.gd +++ b/addons/escoria-dialog-simple/plugin.gd @@ -18,6 +18,8 @@ const LEFT_CLICK_ACTION_SPEED_UP = "Speed up" const LEFT_CLICK_ACTION_INSTANT_FINISH = "Instant finish" const LEFT_CLICK_ACTION_NOTHING = "None" +const READING_SPEED_IN_WPM_DEFAULT_VALUE = 200 + var leftClickActions: Array = [ LEFT_CLICK_ACTION_SPEED_UP, @@ -113,7 +115,7 @@ func enable_plugin(): ESCProjectSettingsManager.register_setting( READING_SPEED_IN_WPM, - 200, + READING_SPEED_IN_WPM_DEFAULT_VALUE, { "type": TYPE_INT } diff --git a/addons/escoria-dialog-simple/types/avatar.gd b/addons/escoria-dialog-simple/types/avatar.gd index 6b116c46..d39e021f 100644 --- a/addons/escoria-dialog-simple/types/avatar.gd +++ b/addons/escoria-dialog-simple/types/avatar.gd @@ -53,6 +53,18 @@ func _ready(): SimpleDialogPlugin.READING_SPEED_IN_WPM ) + if _reading_speed_in_wpm <= 0: + escoria.logger.warn( + self, + "%s setting must be a positive number. Will use default value of %s." % + [ + SimpleDialogPlugin.READING_SPEED_IN_WPM, + SimpleDialogPlugin.READING_SPEED_IN_WPM_DEFAULT_VALUE + ] + ) + + _reading_speed_in_wpm = SimpleDialogPlugin.READING_SPEED_IN_WPM_DEFAULT_VALUE + _word_regex.compile("\\S+") text_node.bbcode_enabled = true diff --git a/addons/escoria-dialog-simple/types/floating.gd b/addons/escoria-dialog-simple/types/floating.gd index 60760080..a38dc9bc 100644 --- a/addons/escoria-dialog-simple/types/floating.gd +++ b/addons/escoria-dialog-simple/types/floating.gd @@ -52,6 +52,18 @@ func _ready(): SimpleDialogPlugin.READING_SPEED_IN_WPM ) + if _reading_speed_in_wpm <= 0: + escoria.logger.warn( + self, + "%s setting must be a positive number. Will use default value of %s." % + [ + SimpleDialogPlugin.READING_SPEED_IN_WPM, + SimpleDialogPlugin.READING_SPEED_IN_WPM_DEFAULT_VALUE + ] + ) + + _reading_speed_in_wpm = SimpleDialogPlugin.READING_SPEED_IN_WPM_DEFAULT_VALUE + _word_regex.compile("\\S+") bbcode_enabled = true