Skip to content

Commit

Permalink
Merge pull request #21 from Friends-of-Monika/feature/options-update
Browse files Browse the repository at this point in the history
Feature/options update
  • Loading branch information
dreamscached committed Jun 11, 2023
2 parents 9c79d5f + 02f51fd commit 779e9f0
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 40 deletions.
3 changes: 2 additions & 1 deletion mod/header.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
)

Expand Down
31 changes: 28 additions & 3 deletions mod/screen.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down
34 changes: 9 additions & 25 deletions mod/settings.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,23 @@
# 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:
$ tooltip = renpy.get_screen("submods", "screens").scope["tooltip"]
$ 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")
Expand All @@ -37,40 +33,28 @@ 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")
hovered SetField(tooltip, "value", _("Enable Ren'Py script file generation for said speeches."))
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():
Expand Down
17 changes: 6 additions & 11 deletions mod/topic.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
5 changes: 5 additions & 0 deletions mod/updates.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -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
15 changes: 15 additions & 0 deletions mod/util.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -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()

0 comments on commit 779e9f0

Please sign in to comment.