diff --git a/mod/header.rpy b/mod/header.rpy index 9e19e78..491ccd7 100644 --- a/mod/header.rpy +++ b/mod/header.rpy @@ -15,7 +15,8 @@ init -990 python in mas_submod_utils: settings_pane="fom_saysomething_settings", version_updates={ "friends_of_monika_say_something_v1_5_0": "friends_of_monika_say_something_v1_5_1", - "friends_of_monika_say_something_v1_6_0": "friends_of_monika_say_something_v1_7_0" + "friends_of_monika_say_something_v1_6_0": "friends_of_monika_say_something_v1_7_0", + "friends_of_monika_say_something_v1_7_0": "friends_of_monika_say_something_v1_8_0" } ) diff --git a/mod/screen.rpy b/mod/screen.rpy index d257bbc..1a13e9c 100644 --- a/mod/screen.rpy +++ b/mod/screen.rpy @@ -842,12 +842,12 @@ screen fom_saysomething_picker(say=True): if picker.is_show_code(): align (0.99, 0.07) else: - align (0.97, 0.2) + align (0.99, 0.2) else: if picker.is_show_code(): align (0.01, 0.07) else: - align (0.03, 0.2) + align (0.01, 0.2) vbox: spacing 10 @@ -1077,7 +1077,7 @@ screen fom_saysomething_picker(say=True): frame: background None - padding (0, 10) + padding (0, 10, 0, 0) hbox: style_prefix "fom_saysomething_confirm" @@ -1146,6 +1146,31 @@ screen fom_saysomething_picker(say=True): action [SetField(picker, "presets_menu", False), DisableAllInputValues()] + vbox: + align (0.99, 0.977) + xsize 210 + + style_prefix "check_scrollable_menu" + + textbutton _("Show Q. Menu"): + xysize (210, None) + selected not persistent._fom_saysomething_hide_quick_buttons + action [ToggleField(persistent, "_fom_saysomething_hide_quick_buttons"), + Function(_fom_saysomething.set_mas_gui_visible, + persistent._fom_saysomething_hide_quick_buttons)] + + # textbutton _("Lock Blinking"): + # xysize (210, None) + # selected not persistent._fom_saysomething_allow_winking + # action ToggleField(persistent, "_fom_saysomething_allow_winking") + + # vbox: + # style_prefix "fom_saysomething_confirm" + # textbutton _("Markdown Help"): + # xysize (210, None) + # selected not persistent._fom_saysomething_markdown_enabled + # action ToggleField(persistent, "_fom_saysomething_markdown_enabled") + # Text input area styled as textbox and key capture so that Shift+Enter key # press is the same as pressing 'Say' button. For posing, it is equivalent # of pressing 'Pose'. When in session mode, this will add current state to diff --git a/mod/settings.rpy b/mod/settings.rpy index 2888cca..31a1a01 100644 --- a/mod/settings.rpy +++ b/mod/settings.rpy @@ -4,13 +4,9 @@ # https://github.com/friends-of-monika/mas-saysomething define persistent._fom_saysomething_show_code = False -define persistent._fom_saysomething_allow_winking = False define persistent._fom_saysomething_hide_quick_buttons = False -define persistent._fom_saysomething_seen_screenshot_hint = False define persistent._fom_saysomething_speech_mode_default = False define persistent._fom_saysomething_pose_pause = 5.0 -define persistent._fom_saysomething_markdown_enabled = True -define persistent._fom_saysomething_seen_skip_hint = False define persistent._fom_saysomething_enable_codegen = False screen fom_saysomething_settings: @@ -18,13 +14,13 @@ screen fom_saysomething_settings: $ pose_delay = "{:.2f}".format(persistent._fom_saysomething_pose_pause) vbox: + style_prefix "check" + box_wrap False xfill True xmaximum 800 - style_prefix "check" - - grid 2 3: + grid 2 2: textbutton _("Show expression code"): selected persistent._fom_saysomething_show_code action ToggleField(persistent, "_fom_saysomething_show_code") @@ -37,24 +33,12 @@ screen fom_saysomething_settings: hovered SetField(tooltip, "value", _("Show quick menu and menu buttons (can be only toggled when in say/pose menu).")) unhovered SetField(tooltip, "value", tooltip.default) - textbutton _("Allow winking/blinking"): - selected persistent._fom_saysomething_allow_winking - action [ToggleField(persistent, "_fom_saysomething_allow_winking"), Function(_fom_saysomething_allow_winking_callback)] - hovered SetField(tooltip, "value", _("Allow Monika to blink or wink when posing.")) - unhovered SetField(tooltip, "value", tooltip.default) - textbutton _("Enable speech/session mode by default"): selected persistent._fom_saysomething_speech_mode_default action ToggleField(persistent, "_fom_saysomething_speech_mode_default") hovered SetField(tooltip, "value", _("Always enable speech/session mode without asking.")) unhovered SetField(tooltip, "value", tooltip.default) - textbutton _("Enable Markdown"): - selected persistent._fom_saysomething_markdown_enabled - action ToggleField(persistent, "_fom_saysomething_markdown_enabled") - hovered SetField(tooltip, "value", _("Enable Markdown text formatting when asking Monika to say something.")) - unhovered SetField(tooltip, "value", tooltip.default) - textbutton _("Enable code generation"): selected persistent._fom_saysomething_enable_codegen action ToggleField(persistent, "_fom_saysomething_enable_codegen") @@ -62,15 +46,15 @@ screen fom_saysomething_settings: unhovered SetField(tooltip, "value", tooltip.default) hbox: - xfill True text _("Pose delay: [pose_delay]"): style "slider_label" - bar: - style "slider_slider" - value FieldValue(persistent, "_fom_saysomething_pose_pause", offset=1.0, range=6.0, step=0.1) - hovered SetField(tooltip, "value", _("Delay between changing poses when asking Monika to pose.")) - unhovered SetField(tooltip, "value", tooltip.default) + bar: + style "slider_slider" + value FieldValue(persistent, "_fom_saysomething_pose_pause", + offset=1.0, range=4.0, step=0.5, force_step=True) + hovered SetField(tooltip, "value", _("Delay between changing poses when asking Monika to pose.")) + unhovered SetField(tooltip, "value", tooltip.default) init python: def _fom_saysomething_allow_winking_callback(): diff --git a/mod/topic.rpy b/mod/topic.rpy index a2b81d0..0e35307 100644 --- a/mod/topic.rpy +++ b/mod/topic.rpy @@ -4,6 +4,8 @@ # This file is part of Say Something (see link below): # https://github.com/friends-of-monika/mas-saysomething +define persistent._fom_saysomething_seen_skip_hint = False +define persistent._fom_saysomething_seen_screenshot_hint = False init 5 python: addEvent( @@ -95,8 +97,7 @@ label fom_saysomething_event_retry: # During the pose picking, Monika must not blink or transition from # winking to fully open eyes, so here we lock these transitions. - if not persistent._fom_saysomething_allow_winking: - $ set_eyes_lock(exp, True) + $ set_eyes_lock(exp, True) # Show the GUI and await for interaction. $ _fom_saysomething.posing = True @@ -129,9 +130,7 @@ label fom_saysomething_event_retry: $ renpy.show("monika " + new_exp, [picker.position], zorder=MAS_MONIKA_Z) # Lock winking/blinking on the new image. - if not persistent._fom_saysomething_allow_winking: - # Lock new expression. - $ set_eyes_lock(new_exp, True) + $ set_eyes_lock(new_exp, True) # Once out of GUI, unlock the winking/blinking on the previous # sprite. This would also unlock expression locked when in GUI. @@ -201,8 +200,7 @@ label fom_saysomething_event_retry: $ exp = picker.get_sprite_code() # Lock winking/blinking for the current sprite code. - if not persistent._fom_saysomething_allow_winking: - $ set_eyes_lock(exp, True) + $ set_eyes_lock(exp, True) # Set flag as posing. $ _fom_saysomething.posing = True @@ -217,10 +215,7 @@ label fom_saysomething_event_retry: # Finally, say text or show pose for 5 seconds. if say: - if persistent._fom_saysomething_markdown_enabled: - $ quip = _fom_saysomething_markdown.render(picker.text) - else: - $ quip = picker.txt + $ quip = _fom_saysomething_markdown.render(picker.text) m "[quip]" else: window hide diff --git a/mod/updates.rpy b/mod/updates.rpy index 019c57f..07d0112 100644 --- a/mod/updates.rpy +++ b/mod/updates.rpy @@ -19,4 +19,9 @@ label friends_of_monika_say_something_v1_7_0(version="v1_7_0"): python: for name in list(persistent._fom_saysomething_presets.keys()): persistent._fom_saysomething_presets[name] = persistent._fom_saysomething_presets[name][:-1] + return + +label friends_of_monika_say_something_v1_8_0(version="v1_8_0"): + $ persistent.__dict__.pop("_fom_saysomething_markdown_enabled", None) + $ persistent.__dict__.pop("_fom_saysomething_allow_winking", None) return \ No newline at end of file diff --git a/mod/util.rpy b/mod/util.rpy index c6c499d..dd7b2c7 100644 --- a/mod/util.rpy +++ b/mod/util.rpy @@ -227,3 +227,18 @@ init -200 python in _fom_saysomething: # Simply remove leading "game" item frm path parts. parts.pop(0) return "/".join(parts) + + def set_mas_gui_visible(visible): + """ + Shows or hides MAS GUI (left buttons and quick menu.) + + IN: + visible -> bool: + True to show, False to hide. + """ + + store.quick_menu = visible + if visible: + store.HKBShowButtons() + else: + store.HKBHideButtons() \ No newline at end of file