The planned update to the history screen won't work how I wanted (it can be implemented, but must be manually added, so can't be made part of the screen)
See this post by strayerror for more details.
I transferred over the edits I made to the settings screen from my current WIP (which uses this GUI) and increased the size of sliders to account for fingers being bigger than a mouse cursor. I also changed the slider thumb to a circle, for the same reason.
Due to this, accuracy in setting a specific value has been decreased a little bit, but it never really mattered much anyway. I'm not sure if I like the change or not, it wasn't really necessary.
Additionally, I rolled back one change, and have music, SFX and voice volume sliders showing by default. I had previously removed them as they were not necessary, but in the months since, I've found a few edge case needs for them, so feel it best to let the developer decide if they should be removed or not (remember, the device has its own volume control, so in most cases, they really are unnecessary)
Here's how the changes look
Instead of a point release, I'll just attach the changes to this post.
Replace the settings screen with this
Code: Select all
## Preferences screen ##########################################################
##
## The preferences screen allows the player to configure the game to better suit
## themselves.
##
## https://www.renpy.org/doc/html/screen_special.html#preferences
## This is necessary for the vibration toggle to function
default persistent.allow_vibration = True
screen preferences():
$ tooltip = GetTooltip()
tag menu
use game_menu(_("Settings"), scroll="viewport"):
vbox:
ysize 90
if tooltip:
text "[tooltip]"
else:
vbox:
if renpy.mobile:
text "Press and hold an option for a short description of its function"
else:
text "Hover over an option for a short description of its function"
vbox:
if renpy.variant("pc"):
vbox:
style_prefix "radio"
label _("Display")
textbutton _("Window") action Preference("display", "window") tooltip "Display the game in a window"
textbutton _("Fullscreen") action Preference("display", "fullscreen") tooltip "Display the game in fullscreen"
if renpy.variant("mobile"):
vbox:
style_prefix "radio"
label _("Vibration")
textbutton _("ON") action SetField(persistent, "allow_vibration", True) tooltip "Enable vibration"
textbutton _("OFF") action SetField(persistent, "allow_vibration", False) tooltip "Disable vibration"
# vbox:
# style_prefix "radio"
# label _("Rollback Side")
# if renpy.variant("pc"):
# textbutton _("Disabled") action Preference("rollback side", "disable") tooltip "Rollback is only accessible through the scroll wheel and back button"
# else:
# textbutton _("Disabled") action Preference("rollback side", "disable") tooltip "Rollback is only accessible via the back button"
# textbutton _("Left") action Preference("rollback side", "left") tooltip "Touch the left side of the screen to rollback"
# textbutton _("Right") action Preference("rollback side", "right") tooltip "Touch the right side of the screen to rollback"
# vbox:
# style_prefix "check"
# label _("Skip")
# textbutton _("Unseen Text") action Preference("skip", "toggle") tooltip "Allow skipping of unseen text"
# textbutton _("After Choices") action Preference("after choices", "toggle") tooltip "Continue skipping after choices"
# textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle")) tooltip "Skip through scene transitions"
null height (4 * gui.pref_spacing)
hbox:
style_prefix "slider"
box_wrap True
vbox:
label _("Text Speed")
bar value Preference("text speed") tooltip "Adjust the speed text appears on screen"
label _("Auto-Forward Time")
bar value Preference("auto-forward time") tooltip "Adjust wait time before automatically advancing the game"
vbox:
if config.has_music:
label _("Music Volume")
hbox:
bar value Preference("music volume") tooltip "Change the music volume"
if config.has_sound:
label _("Sound Volume")
hbox:
bar value Preference("sound volume") tooltip "Change the SFX volume"
if config.sample_sound:
textbutton _("Test") action Play("sound", config.sample_sound) tooltip "Test SFX volume"
if config.has_voice:
label _("Voice Volume")
hbox:
bar value Preference("voice volume") tooltip "Change the volume of speech in the game"
if config.sample_voice:
textbutton _("Test") action Play("voice", config.sample_voice) tooltip "Test Voice volume"
if config.has_music or config.has_sound or config.has_voice:
null height gui.pref_spacing
textbutton _("Mute All"):
action Preference("all mute", "toggle")
style "mute_all_button"
tooltip "Stop all audio"
style pref_label is gui_label
style pref_label_text is gui_label_text
style pref_vbox is vbox
style radio_label is pref_label
style radio_label_text is pref_label_text
style radio_button is gui_button
style radio_button_text is gui_button_text
style radio_vbox is pref_vbox
style check_label is pref_label
style check_label_text is pref_label_text
style check_button is gui_button
style check_button_text is gui_button_text
style check_vbox is pref_vbox
style slider_label is pref_label
style slider_label_text is pref_label_text
style slider_slider is gui_slider
style slider_button is gui_button
style slider_button_text is gui_button_text
style slider_pref_vbox is pref_vbox
style mute_all_button is check_button
style mute_all_button_text is check_button_text
style pref_label:
top_margin gui.pref_spacing
bottom_margin 2
style pref_label_text:
yalign 1.0
style pref_vbox:
xsize 225
style radio_vbox:
spacing gui.pref_button_spacing
style radio_button:
properties gui.button_properties("radio_button")
foreground "gui/button/check_[prefix_]foreground.png"
style radio_button_text:
properties gui.button_text_properties("radio_button")
style check_vbox:
spacing gui.pref_button_spacing
style check_button:
properties gui.button_properties("check_button")
foreground "gui/button/check_[prefix_]foreground.png"
style check_button_text:
properties gui.button_text_properties("check_button")
style slider_slider:
xsize 640
style slider_button:
properties gui.button_properties("slider_button")
yalign 0.5
left_margin 10
style slider_button_text:
properties gui.button_text_properties("slider_button")
style slider_vbox:
xsize 450
horizontal_idle_thumb.png
horizontal_hover_thumb.png
In gui.rpy, replace lines 322 to 324 with the following
Code: Select all
define gui.bar_size = 45
define gui.scrollbar_size = 25
define gui.slider_size = 45