Compare commits
6 Commits
thai
...
C̄hbạbMâeM
Author | SHA1 | Date | |
---|---|---|---|
ca8bbe77c9 | |||
fe3bb73326 | |||
6c888016e6 | |||
1491d9aa62 | |||
844f401051 | |||
f57bcca85f |
21
.gitea/ISSUE_TEMPLATE/choreo.yaml
Normal file
21
.gitea/ISSUE_TEMPLATE/choreo.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
name: Choreography Problem
|
||||
about: A template for discussing choreography problems
|
||||
title: "[Chapter XX]: "
|
||||
labels:
|
||||
- bug
|
||||
- "help wanted"
|
||||
body:
|
||||
- type: input
|
||||
id: where
|
||||
attributes:
|
||||
label: On what line did this bug occour?
|
||||
placeholder: "I \"This shit fucks and sucks!\""
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: what
|
||||
attributes:
|
||||
label: "What happened?"
|
||||
placeholder: "The expression \"Inco Sad\" was used at a time when it shouldn't have been used."
|
||||
validations:
|
||||
required: true
|
58
.gitea/workflows/release.yml
Normal file
58
.gitea/workflows/release.yml
Normal file
@ -0,0 +1,58 @@
|
||||
name: CI Build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
RenpyVersion: "8.3.7"
|
||||
RenkitVersion: "6.0.0"
|
||||
JAVA_HOME: "/usr/lib/jvm/java-21-openjdk-amd64"
|
||||
|
||||
jobs:
|
||||
build-and-archive:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ gitea.repository }}
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install git libgl1 openjdk-21-jdk golang-go -y
|
||||
JAVA_HOME="/usr/lib/jvm/open-jdk"
|
||||
|
||||
- name: Update Internal Build Name
|
||||
run: |
|
||||
sed -i -e "s/INTERNAL-BUILD/${{ gitea.ref_name }}/g" game/options.rpy
|
||||
sed -i -e "s/INTERNAL-BUILD/${{ gitea.ref_name }}/g" android.json
|
||||
|
||||
- name: Build With Renkit
|
||||
run: |
|
||||
mkdir dist
|
||||
sed -i -e "s/VERSION/${{ env.RenpyVersion }}/g" renconstruct-gitea.toml # This is so we can control the renpy version just from this script
|
||||
wget -q "https://github.com/kobaltcore/renkit/releases/download/v${{ env.RenkitVersion }}/renkit-x86_64-unknown-linux-gnu.tar.xz" -O renkit.tar.xz
|
||||
tar -xJf renkit.tar.xz -C /tmp/
|
||||
rm renkit.tar.xz
|
||||
/tmp/renkit-x86_64-unknown-linux-gnu/renconstruct build -c "./renconstruct-gitea.toml" "." dist/
|
||||
mkdir "dist/android"
|
||||
mv dist/*.apk "dist/android"
|
||||
|
||||
- name: Upload Release
|
||||
uses: https://gitea.com/actions/release-action@main
|
||||
with:
|
||||
files: dist/*
|
||||
api_key: '${{ secrets.RELEASE_SMITH_TOKEN }}'
|
||||
#
|
||||
# - name: Nextcloud Artifact
|
||||
# uses: trympet/nextcloud-artifacts-action@v2
|
||||
# with:
|
||||
# name: 'Wani' # Name of the artifact
|
||||
# path: 'dist/**' # Globbing supported
|
||||
# nextcloud-url: 'https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Wani/Internal%20Builds/SOMETHING/' # Nextcloud URL
|
||||
# nextcloud-username: "ReleaseSmith"
|
||||
# nextcloud-password: ${{ secrets.RELEASE_SMITH_NEXTCLOUD_PASSWORD }}
|
@ -1,88 +0,0 @@
|
||||
clone:
|
||||
git:
|
||||
image: woodpeckerci/plugin-git
|
||||
settings:
|
||||
depth: 1
|
||||
|
||||
steps:
|
||||
changelog:
|
||||
image: debian
|
||||
commands:
|
||||
- apt update
|
||||
- apt install git -y
|
||||
- mkdir dist
|
||||
- git log --oneline --decorate --since="7.days" --pretty="## %s%n%an%n%aD%n%b" > dist/README.md || echo "Could not write changelog!" >> dist/README.md #Get that changelog
|
||||
|
||||
version-tag:
|
||||
image: debian
|
||||
commands:
|
||||
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_TAG}/g" game/options.rpy #Change the internal build name to the tagged version
|
||||
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_TAG}/g" android.json
|
||||
when:
|
||||
- event: tag
|
||||
|
||||
version-cron:
|
||||
image: debian
|
||||
commands:
|
||||
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_SHA}/g" game/options.rpy #if no tag, make it the commit num
|
||||
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_SHA}/g" android.json
|
||||
when:
|
||||
- event: cron
|
||||
|
||||
build:
|
||||
image: openjdk:21-jdk-bookworm
|
||||
commands:
|
||||
- apt update
|
||||
- apt install libgl1 patch -y
|
||||
- sed -i -e "s/VERSION/${RenpyVersion}/g" game/options.rpy #Change the renpy version to the woodpecker reuqested one.
|
||||
#Get Renkit
|
||||
- wget -qO- "https://github.com/kobaltcore/renkit/releases/download/v${RenkitVersion}/renkit-x86_64-unknown-linux-gnu.tar.xz" | tar -Jax --directory=/tmp/
|
||||
- /tmp/renkit-x86_64-unknown-linux-gnu/renconstruct build "." dist/
|
||||
- mkdir "dist/android"
|
||||
- mv dist/*.apk "dist/android"
|
||||
- cd /tmp/
|
||||
|
||||
archival-sha:
|
||||
image: debian
|
||||
commands:
|
||||
- apt update
|
||||
- apt install curl bash -y
|
||||
- curl https://git.cavemanon.xyz/Cavemanon/Woodpecker-Webdav/raw/branch/master/push.sh > /tmp/push.sh ## I'd use a proper docker container, but dockerhub is owned by the CIA and I refuse to deal with that (also I don't care to maintain it or set it up). #TODO: merge this script as apart of the file so we don't make unnecessary network requests every time we build.
|
||||
- chmod +x /tmp/push.sh
|
||||
- PLUGIN_USERNAME=$RELEASESMITHNEXTCLOUDUSERNAME PLUGIN_PASSWORD=$RELEASESMITHNEXTCLOUDPASSWORD PLUGIN_DESTINATION=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/nightly-${CI_COMMIT_SHA}/ PLUGIN_MAKE_FOLDER_AT=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/nightly-${CI_COMMIT_SHA}/ PLUGIN_FILE_GLOB=dist/* /tmp/push.sh #sovl
|
||||
- rm -rf "dist"
|
||||
secrets: [ releasesmithnextcloudusername, releasesmithnextcloudpassword ]
|
||||
when:
|
||||
- event: cron
|
||||
cron: "nightly"
|
||||
|
||||
archival-tag:
|
||||
image: debian
|
||||
commands:
|
||||
- apt update
|
||||
- apt install curl bash -y
|
||||
- curl https://git.cavemanon.xyz/Cavemanon/Woodpecker-Webdav/raw/branch/master/push.sh > /tmp/push.sh ## I'd use a proper docker container, but dockerhub is owned by the CIA and I refuse to deal with that (also I don't care to maintain it or set it up). #TODO: merge this script as apart of the file so we don't make unnecessary network requests every time we build.
|
||||
- chmod +x /tmp/push.sh
|
||||
- PLUGIN_USERNAME=$RELEASESMITHNEXTCLOUDUSERNAME PLUGIN_PASSWORD=$RELEASESMITHNEXTCLOUDPASSWORD PLUGIN_DESTINATION=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/release-${CI_COMMIT_TAG}/ PLUGIN_MAKE_FOLDER_AT=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/release-${CI_COMMIT_TAG}/ PLUGIN_FILE_GLOB=dist/* /tmp/push.sh #sovl
|
||||
- rm -rf "dist"
|
||||
secrets: [ releasesmithnextcloudusername, releasesmithnextcloudpassword ]
|
||||
when:
|
||||
- event: tag
|
||||
|
||||
release:
|
||||
image: woodpeckerci/plugin-gitea-release:latest
|
||||
settings:
|
||||
base_url: https://git.cavemanon.xyz
|
||||
api_key:
|
||||
from_secret: releasesmithapikey
|
||||
files: "*-dists/*"
|
||||
prerelease: true
|
||||
title: "${CI_COMMIT_TAG}"
|
||||
when:
|
||||
- event: tag
|
||||
|
||||
matrix:
|
||||
RenpyVersion:
|
||||
- "8.3.4"
|
||||
RenkitVersion:
|
||||
- "4.4.0"
|
19
game/gui.rpy
19
game/gui.rpy
@ -73,6 +73,9 @@ define gui.name_text_font = "gui/FallingSky.otf"
|
||||
## The font used for out-of-game text.
|
||||
define gui.interface_text_font = "gui/FallingSky.otf"
|
||||
|
||||
## This is so when switching from Thai, the system font gets reset
|
||||
define gui.system_font = "DejaVuSans.ttf"
|
||||
|
||||
## The size of normal dialogue text.
|
||||
define gui.text_size = 42
|
||||
#define gui.text_outlines = [ (absolute(0.5), gui.text_color_outline, 0, 0) ]
|
||||
@ -360,9 +363,9 @@ define config.history_length = 250
|
||||
|
||||
## The height of a history screen entry, or None to make the height variable at
|
||||
## the cost of performance.
|
||||
define gui.history_height = 210
|
||||
define gui.history_height = None
|
||||
|
||||
define gui.history_spacing = 0
|
||||
define gui.history_spacing = 50
|
||||
|
||||
## The position, width, and alignment of the label giving the name of the
|
||||
## speaking character.
|
||||
@ -372,9 +375,9 @@ define gui.history_name_width = 233
|
||||
define gui.history_name_xalign = 1.0
|
||||
|
||||
## The position, width, and alignment of the dialogue text.
|
||||
define gui.history_text_xpos = 255
|
||||
define gui.history_text_xpos = 248
|
||||
define gui.history_text_ypos = 3
|
||||
define gui.history_text_width = 1110
|
||||
define gui.history_text_width = 1112
|
||||
define gui.history_text_xalign = 0.0
|
||||
|
||||
|
||||
@ -451,9 +454,9 @@ init python:
|
||||
gui.text_size = 44
|
||||
gui.name_text_size = 46
|
||||
gui.notify_text_size = 38
|
||||
gui.interface_text_size = 45
|
||||
gui.interface_text_size = 40
|
||||
gui.button_text_size = 45
|
||||
gui.label_text_size = 51
|
||||
gui.label_text_size = 45
|
||||
|
||||
## Namebox
|
||||
gui.name_xpos = 395
|
||||
@ -473,8 +476,8 @@ init python:
|
||||
gui.navigation_spacing = 30
|
||||
gui.pref_button_spacing = 15
|
||||
|
||||
gui.history_height = 285
|
||||
gui.history_text_width = 1035
|
||||
gui.history_spacing = 75
|
||||
gui.history_text_width = 1012
|
||||
|
||||
gui.quick_button_text_size = 30
|
||||
|
||||
|
@ -230,17 +230,19 @@ init python:
|
||||
build.classify('**/#**', None)
|
||||
build.classify('**/thumbs.db', None)
|
||||
|
||||
# Do not include mod folders as part of the build process
|
||||
build.classify('game/mods/*/', None)
|
||||
# Do not include dev folders on distribution
|
||||
build.classify('game/dev/', None)
|
||||
build.classify('README.md', None)
|
||||
|
||||
#Development files need not apply
|
||||
build.classify('README.md', None)
|
||||
build.classify('renconstruct.toml', None)
|
||||
build.classify('renconstruct*', None)
|
||||
build.classify('bundle.keystore', None)
|
||||
build.classify('android.keystore', None)
|
||||
build.classify('bundle.keystore.original', None)
|
||||
build.classify('android.keystore.original', None)
|
||||
build.classify('*dist/*', None)
|
||||
build.classify('patch*', None)
|
||||
build.classify('dist/', None)
|
||||
build.classify('cache/', None)
|
||||
|
||||
## To archive files, classify them as 'archive'.
|
||||
|
||||
|
219
game/screens.rpy
219
game/screens.rpy
@ -866,26 +866,17 @@ screen preferences():
|
||||
hbox:
|
||||
box_wrap True
|
||||
|
||||
if renpy.variant("pc") or renpy.variant("web"):
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Display")
|
||||
textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen")
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Display")
|
||||
textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
|
||||
if renpy.variant(["mobile", "steam_deck"]):
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
|
||||
textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
|
||||
textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Naughty Stuff")
|
||||
@ -917,11 +908,10 @@ screen preferences():
|
||||
textbutton _("Show Mod Screenshots") action [Function(onclick_audio, persistent.show_mod_screenshots), ToggleVariable("persistent.show_mod_screenshots", True, False)]
|
||||
textbutton _("Enable New Mods") action [Function(onclick_audio, persistent.newmods_default_state), ToggleVariable("persistent.newmods_default_state", True, False)]
|
||||
|
||||
if renpy.variant(["mobile", "steam_deck"]):
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Gallery")
|
||||
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Gallery")
|
||||
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
|
||||
|
||||
if renpy.seen_image("big ending"):
|
||||
vbox:
|
||||
@ -1195,16 +1185,19 @@ screen extrasnavigation():
|
||||
add "gui/sneedgame.png"
|
||||
else:
|
||||
add "gui/snootgame.png"
|
||||
|
||||
$ multi = persistent.enable_chapter_select + renpy.variant("pc")
|
||||
vbox:
|
||||
spacing 10
|
||||
xpos 1885
|
||||
ypos (1269 if persistent.enable_chapter_select else 1130)
|
||||
|
||||
ypos 991 + (139 * multi)
|
||||
|
||||
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
|
||||
|
||||
use main_menu_buttons(main_menu_button_img,
|
||||
[
|
||||
[ _("Help"), ShowMenu("help") ],
|
||||
*([(_("Help"), ShowMenu("help"))] if not renpy.variant("mobile") else []),
|
||||
[ _("About"), ShowMenu("about") ],
|
||||
[ _("Gallery"), ShowMenu("cg_gallery") ],
|
||||
*([(_("Chapter Select{#MainMenu}"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
|
||||
@ -1366,7 +1359,7 @@ screen gamepad_help():
|
||||
label _("Y/Top Button")
|
||||
text _("Hides the user interface.")
|
||||
|
||||
textbutton _("Calibrate") action GamepadCalibrate()
|
||||
textbutton _("Calibrate") action GamepadCalibrate() xalign 0.3 ypos 50
|
||||
|
||||
#this bit is might need trimming or rework
|
||||
style help_button is gui_button
|
||||
@ -1459,6 +1452,39 @@ style confirm_button_text:
|
||||
properties gui.text_properties("confirm_button")
|
||||
|
||||
|
||||
## OK Prompt ##############################################################
|
||||
##
|
||||
## Apes from the confirm screen to give a similar screen, but only having an OK button
|
||||
##
|
||||
## https://www.renpy.org/doc/html/screen_special.html#confirm
|
||||
|
||||
screen OkPrompt(message, action=Hide()):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/snd_ui_click.wav" action action
|
||||
|
||||
## Skip indicator screen #######################################################
|
||||
##
|
||||
## The skip_indicator screen is displayed to indicate that skipping is in
|
||||
@ -1766,8 +1792,8 @@ define bubble.expand_area = {
|
||||
################################################################################
|
||||
|
||||
style pref_vbox:
|
||||
variant "medium"
|
||||
xsize 675
|
||||
variant ["mobile", "steam_deck"]
|
||||
xsize 600
|
||||
|
||||
## Since a mouse may not be present, we replace the quick menu with a version
|
||||
## that uses fewer and bigger buttons that are easier to touch.
|
||||
@ -1801,6 +1827,137 @@ screen quick_menu():
|
||||
[ _("Menu"), ShowMenu(), NullAction() ] \
|
||||
] )
|
||||
|
||||
screen preferences():
|
||||
variant "mobile"
|
||||
tag menu
|
||||
|
||||
use game_menu(_("Options"), scroll="viewport"):
|
||||
vbox:
|
||||
hbox:
|
||||
box_wrap True
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
|
||||
textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
|
||||
textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Naughty Stuff")
|
||||
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Skip")
|
||||
textbutton _("Unseen Text") action [Function(onclick_audio, preferences.skip_unseen), ToggleVariable("preferences.skip_unseen", True, False)]
|
||||
textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
|
||||
textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions, True), ToggleVariable("preferences.transitions", 0, 2)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Developer Tools")
|
||||
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
|
||||
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
|
||||
|
||||
if not main_menu:
|
||||
if persistent.enable_debug_scores:
|
||||
$ debug_story_variables(False)
|
||||
$ debug_story_variables(True)
|
||||
else:
|
||||
$ debug_story_variables(False)
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Mods")
|
||||
textbutton _("Show Mod Screenshots") action [Function(onclick_audio, persistent.show_mod_screenshots), ToggleVariable("persistent.show_mod_screenshots", True, False)]
|
||||
textbutton _("Enable New Mods") action [Function(onclick_audio, persistent.newmods_default_state), ToggleVariable("persistent.newmods_default_state", True, False)]
|
||||
|
||||
if renpy.seen_image("big ending"):
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Menu Style")
|
||||
textbutton _("Original") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", False)
|
||||
textbutton _("Epilogue") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", True)
|
||||
|
||||
vbox:
|
||||
xsize 676
|
||||
style_prefix "check"
|
||||
label _("Language")
|
||||
vpgrid:
|
||||
rows len(languages)
|
||||
cols 1
|
||||
mousewheel True
|
||||
draggable True
|
||||
xsize 570
|
||||
ysize 300
|
||||
if len(languages)>4:
|
||||
scrollbars "vertical"
|
||||
for lang in languages:
|
||||
fixed:
|
||||
ysize 80
|
||||
use lang_button(lang)
|
||||
|
||||
## Additional vboxes of type "radio_pref" or "check_pref" can be
|
||||
## added here, to add additional creator-defined preferences.
|
||||
|
||||
null height (4 * gui.pref_spacing)
|
||||
|
||||
hbox:
|
||||
style_prefix "slider"
|
||||
|
||||
vbox:
|
||||
|
||||
label _("Text Speed")
|
||||
|
||||
bar value Preference("text speed")
|
||||
|
||||
label _("Auto-Forward Time{#Mobile}")
|
||||
|
||||
bar value Preference("auto-forward time")
|
||||
|
||||
vbox:
|
||||
|
||||
if config.has_music:
|
||||
label _("Music Volume")
|
||||
hbox:
|
||||
bar value Preference("music volume") #yalign 0.5
|
||||
textbutton _("Reset{#Mobile}"):
|
||||
action Function(preferences.set_mixer, 'music', config.default_music_volume)
|
||||
|
||||
if config.has_sound:
|
||||
|
||||
label _("Sound Volume")
|
||||
hbox:
|
||||
bar value Preference("sfx volume") #yalign 0.5
|
||||
textbutton _("Reset{#Mobile}"):
|
||||
action Function(preferences.set_mixer, 'sfx', config.default_sfx_volume)
|
||||
if config.sample_sound:
|
||||
textbutton _("Test") action Play("sound", config.sample_sound)
|
||||
|
||||
label _("UI Sounds Volume")
|
||||
hbox:
|
||||
bar value Preference("ui volume") #yalign 0.5
|
||||
textbutton _("Reset{#Mobile}"):
|
||||
yalign 0.5
|
||||
action Function(preferences.set_mixer, 'ui', config.default_sfx_volume)
|
||||
|
||||
if config.has_voice:
|
||||
label _("Voice Volume")
|
||||
hbox:
|
||||
bar value Preference("voice volume") #yalign 0.5
|
||||
textbutton _("Reset{#Mobile}"):
|
||||
yalign 0.5
|
||||
action Function(preferences.set_mixer, 'voice', config.default_voice_volume)
|
||||
if config.sample_voice:
|
||||
textbutton _("Test") action Play("voice", config.sample_voice)
|
||||
|
||||
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"
|
||||
|
||||
style radio_button:
|
||||
variant "mobile"
|
||||
foreground "gui/phone/button/radio_[prefix_]foreground.png"
|
||||
@ -1871,4 +2028,8 @@ style slider_pref_vbox:
|
||||
|
||||
style slider_pref_slider:
|
||||
variant "mobile"
|
||||
xsize 900
|
||||
xsize 600
|
||||
|
||||
style slider_vbox:
|
||||
variant ["mobile", "steam_deck"]
|
||||
xsize 600
|
@ -1057,10 +1057,10 @@ screen mod_menu():
|
||||
action Start(mod_metadata["Label"])
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
showif not persistent.seenModWarning:
|
||||
use OkPrompt(_("Installing mods is dangerous since you are running unknown code in your computer. Only install mods from sources that you trust.\n\nIf you have problems with installed mods, check the README.md in the root of the mods folder."), \
|
||||
ToggleVariable("persistent.seenModWarning"))
|
||||
|
||||
if not persistent.seenModWarning:
|
||||
$ persistent.seenModWarning = True
|
||||
use OkPrompt(_("Installing mods is dangerous since you are running unknown code in your computer. Only install mods from sources that you trust.\n\nIf you have problems with installed mods, check the README.md in the root of the mods folder."), False)
|
||||
|
||||
style mod_menu_text:
|
||||
size 34
|
||||
|
@ -1,59 +1,5 @@
|
||||
init offset = -1
|
||||
|
||||
screen OkPrompt(message, go_menu):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/snd_ui_click.wav" action If(go_menu, true=MainMenu(False,False), false=[Hide(),Return()])
|
||||
|
||||
screen hiddenOkPrompt(message, go_menu):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/snd_ui_click.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
default persistent.languaged_up = None
|
||||
|
||||
@ -139,7 +85,7 @@ screen lang_sel():
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == 'en',
|
||||
true = [Language(languages[i]["value"]), SetVariable("persistent.languaged_up", True), Return()],
|
||||
# Important to change the language before calling notice. Otherwise it will be in english.
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), SetVariable("persistent.languaged_up", True), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), SetVariable("persistent.languaged_up", True), Show(screen="OkPrompt", message=notice, action=[ Hide(), Return() ])]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
@ -154,9 +100,9 @@ screen lang_button(lang):
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == 'en',
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="hiddenOkPrompt", message=notice, go_menu=False)]
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
else:
|
||||
add darkie(lang["image"]) at icon
|
||||
add darkie(lang["image"]) at icon
|
@ -234,6 +234,9 @@ translate th strings:
|
||||
old "Auto-Forward Time"
|
||||
new "ระยะเวลาของตัวหนังสือเดินแบบออโต้"
|
||||
|
||||
old "Auto-Forward Time{#Mobile}"
|
||||
new "{size=*0.75}ระยะเวลาของตัวหนังสือเดินแบบออโต้{/size}"
|
||||
|
||||
# game/screens.rpy:973
|
||||
old "Music Volume"
|
||||
new "เสียงเพลง"
|
||||
|
20
renconstruct-gitea.toml
Normal file
20
renconstruct-gitea.toml
Normal file
@ -0,0 +1,20 @@
|
||||
[tasks.keystore] # required if matching task is enabled
|
||||
enabled = true
|
||||
type="keystore"
|
||||
priorities = { pre_build = 0 } # the priority that determines the orders tasks will run in, defaults to 0
|
||||
on_builds = ["android_apk", "android_aab"] # builds this task should run for, defaults to all android builds
|
||||
keystore_apk = "/u3+7QAAAAIAAAABAAAAAQAHYW5kcm9pZAAAAYVxMNRaAAAFAjCCBP4wDgYKKwYBBAEqAhEBAQUABIIE6vvQ999V4QLI/pTg2FiIrk243bGZW5gMSHNlHqL1mEQ23tp1KsfYjb6gF4zv8U7BPQgpx6S2AfNJmd9uZYSavETqN59hvgBzeehgpV1zJBF4hyFvXRT1qF0tOh8roigl09bCwdSi2O8Xmirn3rj/ioEEEbpntTA0I7/HeUyD4ivfawN9DbSMjsTWfpkHwfjs0o+c8OdSMxJhN4EVmy7w4M+XQYsimT/9IVm0YSfLmujCHtxIzn2TUKSZ0L5YnDhhXiBssFQAY9gc6EvUbgqQKlfTiYD8ld2qPgXQ28wt+OZEvAewgN/v3uN8jIpdCdnOFeT8xSYd9DSSpl/iFs7aVvRwcxWmnX0bQfjv3Tqf9k80HiT2iGNBmOIx5E+CnHGcAyXlWED3ahY2L8Ys03zgNGxkuYyuhEaYh7iOXRhLaDW5cEOhn6B15UxHZFP9UWJdxdtUILOj+DS3AGoO0ijIqoOF/cfScm+NadroACLL96xXsC0ZVpWQLfjH70Y8Y83/PKQbexBNwTxR3I/pX2ciG9Ko3u49AFjdsRxnZQ7ndPzH2UlE3Ot5c704tdnqTUMOpRyBkHygVVLfMe2T9fipn1XJu4NJWh3JaNGXzBce2CCPVbO6PH2AwYbuKbhT448Ey+mNeqdDVqrSYd+G8WW9XvGgdMqMHRRIiuGpIbrNFQNyomoLszwbcuft94L2NMW7JeeFPYMlzu8UFmgdAmgcZoSnkceOT9m44xfcNTRj67qZnrnzmwaBWtNL4sxfff0f9jS2qy0X/r0OKyyJetTLT1jo1F7HJxXUdzc/ppPrzt0FV+DFFFyFll0OAmCcmqZO5ZXDtKQkPfaoGwRaF4KunEs6Vbvh585BeNoQUblykUd0wZLkJbn/EVkIxjh+xHrxTwCMc6+aZ5PlbEX/onC8DugAKUL2oFQpW5LE9wn9Vk9pgLvAkOh6BLV1U4LAJTNCUOXq+yvHjExSXzeduO6fbeUdFWSZJRXads1+ct3MaqA7yl+n15otDhYLlNk9K1/WaEzKS9mE+zmLML27XaXzJNugnVdYCaQZvwFyWyI1yN7lhyzo4YYD88OPgPK/0ugviQR7Bjr3u0RbI+6Zq4RtMpfMWfBJGqbQZXo0GTwzCO64HpjGb7xTC0FIVGLud6LG4g4DcWXB7nizrbQu9IE4M9FlIIRzEZSKeZw3KTAA+lsxetjemoWUxcQ9uNsd9T30L7xv8P03q4A+nUy0Qvd0gL4dEQ/iAUqm0VHIiSfFckTp028gcRvKxw10lKC1jfxEfskLUOJinFksqz3uGg41gYLMogHm7sgJQzpMl4QpU2COiuRTwdt3W9eFEJIoh49khbG+3emAPZXniNTGiodmVVNCFdC9m+2SwCeGktWmxFi0XBXuTDFDfJWg3bC+3KW9+3PLfOYJWb1OG1P71MjLA8OeTF+6b+D88JfQWStjaLwdOGhS+MCKC+aUxiA3tReddeWOmH3ZYz5YdR29UZRo1Elrcp/fDsWpJkXauwNnuOvh0Dgl04nbJWoiAlzLntQgfcLYqZyWYwUyRuanIUPFZKb9/WbPWJYPepiPaHEJt1Ojo8L1eAKQqpJrHg6EnNrMUPIWfH7eMAnowp8Uj7pwDEjO9ORRpmLiZswqZELA4gTIGmNgMMensPCbK2ACu3PXyrTQaCe8W9Z5Wk4AAAABAAVYLjUwOQAAAs0wggLJMIIBsaADAgECAgQcptryMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNVBAMTCUNhdmVtYW5vbjAgFw0yMzAxMDIwNjM1MDNaGA8yMDc3MTAwNTA2MzUwM1owFDESMBAGA1UEAxMJQ2F2ZW1hbm9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhkkH8k/BI14V7WLuo11L2Qp1kpdvz0fxFcu+aGTxKMVm2o2M7VtVaf90ybQmiD3lb88BWtdFQ6FxlAJxmV9B5ZHd70yHmduR8XFj4btPTyPSnTHMj+kagijsfL7aMhCtAfUP7qNdQlBX9B42RU/5kVDm7XJERn/ZBUZT8vuwpww/jF+f9Cghi+yMAyHisaVXFiIeK8gq/DFjPZmULl2859xeExVnnqyIYq+GpwI2U43gBGRuTpCBoAE1nCiKN5H+baP/h2DCwwRbaxyAxs00IJ2SxWLIgDaFiOXygiVwXYNKh+R/OVrpxrCZ+xkWHhp4I8/6df8kse2vfA0fF4T9zwIDAQABoyEwHzAdBgNVHQ4EFgQUS1iMnjSwVHS6zYE788qa/z5eUmwwDQYJKoZIhvcNAQELBQADggEBAH10O5/i3y/Vxd0JAXWDwNpGga+Q5MVcZDWfHFcQxBsMckOvuAM8NSy3MU0qdfj+1Bl6NsdgFoZKtEeuSG4rvI0k5XZSKORKyv4Spqoz8H77YhWZCqlfAMXJwI+XlHn8zWEl7F+vvXgwkrCmiz5nUq1MkTvJk2reOZJfnOlO24sJNl9gxHx1iJkM6/9ESDPO/9ILNAFa/s5wPX1OKXqtBnnbepAncmvLfOtXHxUvX4q1GzWQUX9r0Bl9cN55w5mjmQhBpNnXB4BXoF8xWd+D1t4DMRoMS21J73QLA2EKO1fvicFiG6TME2DcuWNI0GGqeAkuR+aslmRIlDKHJs07FIRsRPoAE3kb8Y6G9rANyCTdBUGZZg==" # the base-64 encoded binary keystore file for the APK bundles
|
||||
keystore_aab = "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" # the base-64 encoded binary keystore file for the AAB bundles
|
||||
|
||||
[build] # required, at least one item must be 'true'
|
||||
win = true
|
||||
mac = true
|
||||
linux = true
|
||||
android_apk = true # Android Universal APK
|
||||
|
||||
[options]
|
||||
clear_output_dir = false # whether to clear the output directory on startup
|
||||
|
||||
[renutil]
|
||||
version = "VERSION" # the Ren'Py version to use (required)
|
||||
registry = "/tmp/cache" # the directory to store installation files in
|
@ -1,6 +1,6 @@
|
||||
[tasks.keystore] # required if matching task is enabled
|
||||
type="keystore"
|
||||
enabled = true
|
||||
type="keystore"
|
||||
priorities = { pre_build = 0 } # the priority that determines the orders tasks will run in, defaults to 0
|
||||
on_builds = ["android_apk", "android_aab"] # builds this task should run for, defaults to all android builds
|
||||
keystore_apk = "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" # the base-64 encoded binary keystore file for the APK bundles
|
||||
@ -8,19 +8,14 @@
|
||||
|
||||
|
||||
[build] # required, at least one item must be 'true'
|
||||
# pc = true # windows + linux
|
||||
win = true # windows
|
||||
linux = true # linux
|
||||
mac = true # macos
|
||||
# web = false # web
|
||||
# steam = false # steam
|
||||
# market = false # multiple markets (i.e. itch.io)
|
||||
win = true
|
||||
mac = true
|
||||
linux = true
|
||||
android_apk = true # Android Universal APK
|
||||
# android_aab = false # Android Play Store Bundle
|
||||
|
||||
[options]
|
||||
clear_output_dir = false # whether to clear the output directory on startup
|
||||
|
||||
[renutil]
|
||||
version = "8.3.4" # the Ren'Py version to use (required)
|
||||
registry = "/tmp/cache" # the directory to store installation files in
|
||||
version = "8.3.7" # the Ren'Py version to use (required)
|
||||
registry = "./cache" # the directory to store installation files in
|
||||
|
Reference in New Issue
Block a user