Compare commits

...

127 Commits

Author SHA1 Message Date
b1cc24fb2e chapter_select improvements 2024-08-30 20:03:19 -03:00
e0027f3c5d Add ending chapters to chapter-select tool 2024-08-30 19:45:30 -03:00
a787d1ceaf Remove unused globals 2024-08-30 17:33:26 -03:00
719f08ba24 Make set_scores function more readable 2024-08-30 15:18:00 -03:00
a31fa50d8a Functions refactoring 2024-08-30 15:02:24 -03:00
803e878c3f Remove is_end_of_chapters function 2024-08-30 14:40:28 -03:00
f38c53776c Remove tasks.patch 2024-08-30 14:35:02 -03:00
908d8f62f7 Remove lock_scores logic and point-increasing functions 2024-08-29 18:07:30 -03:00
76e61ee78e fix commit 2024-08-29 14:11:56 -03:00
dcff088d11 Remove unused build.classify 2024-08-29 14:07:05 -03:00
9c3ddccbb5 Delete deprecated .android.json file 2024-08-26 17:30:35 -03:00
79dff8fcc9 Remove tasks.patch 2024-08-26 17:15:56 -03:00
ee8f5b04b7 Update versions to latest and greatest 2024-08-26 17:14:34 -03:00
98cd25dc47 Delete build.include_update 2024-08-26 17:02:38 -03:00
0665ce7f03 Delete update.pem 2024-08-26 16:43:46 -03:00
cacc68462a - Add missing build.classify
- Add android mkdir again
2024-08-26 16:28:30 -03:00
41e73b07cf Reenable apk build 2024-08-26 16:16:09 -03:00
baad1afda7 Remove android mkdir 2024-08-26 16:06:35 -03:00
331b628adf Delete .woodpecker 2024-08-26 15:59:21 -03:00
6d7f357dbb Disable android build
Add automated Woodpecker run
2024-08-26 15:55:19 -03:00
60f8efc6df Add build_patch task 2024-08-26 15:49:34 -03:00
fc3472692b Remove task_dir 2024-08-26 15:43:55 -03:00
e060956d82 Copy renconstruct.toml from Wani 2024-08-26 15:40:20 -03:00
7023a06020 Rename config.version 2024-08-26 15:29:04 -03:00
62ffab3bed Enable keystore task 2024-08-25 21:52:06 -03:00
32894af0af Last try 2024-08-25 21:43:52 -03:00
9078bb8aa1 Moar possible fixes 2024-08-25 21:12:17 -03:00
ac1c51543e Update renconstruct dir command 2024-08-24 22:17:42 -03:00
8dd717abeb Remove initial dot from android.json 2024-08-24 19:40:26 -03:00
05b0525a3d delete task_dir 2024-08-24 19:19:15 -03:00
01135c64b9 Modify cache directory 2024-08-24 19:03:23 -03:00
2c325c0d3d Merge branch 'master' of https://git.cavemanon.xyz/Iggy/SnootGame 2024-08-24 15:54:44 -03:00
a175a0bb12 Fix stuff 2024-08-24 15:52:23 -03:00
50b64f170e Add missing files to fix Woodpecker build 2024-08-24 15:33:01 -03:00
fd7ac143af Add missing files to fix Woodpecker build 2024-08-24 15:33:01 -03:00
9ef954bd9f Add keystore keys from Wani 2024-08-24 11:40:18 -03:00
4f4956f201 Add keystore keys from Wani 2024-08-24 11:40:18 -03:00
002e2b6a13 Delete android from woodpecker.yml 2024-08-24 11:18:20 -03:00
949dfa4044 Delete android from woodpecker.yml 2024-08-24 11:18:20 -03:00
c06e73743a Remove tasks.convert_images
Upgrade Renkit version
2024-08-24 10:54:38 -03:00
1f747f5101 Remove tasks.convert_images
Upgrade Renkit version
2024-08-24 10:54:38 -03:00
ae7454506e Enable tasks.keystore 2024-08-23 21:56:48 -03:00
c020847800 Remove tasks.notarize 2024-08-23 21:43:41 -03:00
a04c4e6912 Remove tasks.clean 2024-08-23 21:34:24 -03:00
b048e9c32a Downgrade Renkit version 2024-08-23 21:25:02 -03:00
84f6d467dd Update build commands 2024-08-23 21:03:16 -03:00
dd6da86a8c Change tar compression option 2024-08-23 20:14:09 -03:00
a75d26de8d Update Renkit url 2024-08-23 19:58:07 -03:00
351e433504 Upgrade Renkit version to 4.4.0 2024-08-23 19:49:45 -03:00
80bdae1d08 Add tasks.patch 2024-08-23 19:32:41 -03:00
df967527e4 Update Renpy versions in woodpecker.yml and reconstruct.toml 2024-08-23 18:48:39 -03:00
fef3b7beec Hide quick_menu in chapter selection 2024-08-23 17:45:04 -03:00
cee1984f4d Convert "selected_tuple" into local function variable 2024-08-22 23:26:33 -03:00
0fbff1b81b Code optimizations 2024-08-22 23:18:23 -03:00
84ccfc1b13 Add improved chapter_selection 2024-08-22 22:13:00 -03:00
b65ed32b14 Remove redundant 'initstats' label 2024-08-22 22:04:44 -03:00
c5ea9c9cb5 Move chapter related variables to new file 2024-08-22 22:03:50 -03:00
993824e152 Mode chapter_select into "src" folder 2024-08-22 19:27:44 -03:00
a65a5075fe Implement functions to increase Anon and Fang scores 2024-08-21 21:44:48 -03:00
4d449593f5 Initialize ending_route_number when selecting an ending 2024-08-21 21:32:15 -03:00
233a801aa5 select_chapter function improvements 2024-08-21 21:25:09 -03:00
59c229db73 Add chapters description to selection 2024-08-21 21:05:14 -03:00
afee5de501 Move back global variables to storyline 2024-08-20 22:09:17 -03:00
2d793f86af - Move variables out of utility
- Add increase_points functions
2024-08-20 22:09:04 -03:00
fb64284d84 Add chapter select buttons 2024-08-20 22:08:08 -03:00
72ea3dd640 Add chapter_select 2024-08-20 22:07:43 -03:00
966fca9fc5 Fix Chapter Select button yposition 2024-08-19 20:36:09 -03:00
b34ad59fb4 Add setting to enable or disable chapter select 2024-08-19 20:21:49 -03:00
a933c090e4 Add chapter_select file 2024-08-19 20:21:32 -03:00
17cdc25bb1 Add chapter select to screens 2024-08-19 20:21:23 -03:00
3e9ea5ddbc Add chapter_select file 2024-08-19 19:48:07 -03:00
b7da3f957e Test change 2024-08-19 18:36:01 -03:00
ce05fd5cdb Move story global variables initialization to the "initstats" label 2024-08-18 22:45:14 -03:00
806151f430 Change start script to call the first chapter based on the "chapter_list_index" variable 2024-08-18 22:29:50 -03:00
859610e3bd storyline refactoring and improve function modularity 2024-08-18 22:25:53 -03:00
8b783f6838 Delete persistent ending variables from storyline 2024-08-18 21:14:40 -03:00
a046896907 Move persistent ending variables to screens.rpy 2024-08-18 21:13:45 -03:00
098c7dd021 storyline code cleanup 2024-08-18 21:10:30 -03:00
7084451986 Modify ending chapters to use the next_story_chapter function 2024-08-18 21:08:07 -03:00
ba0024f251 Modify storyline to extend the chapters array once the common chapters are finished 2024-08-18 21:06:13 -03:00
01e9ababa2 Delete commented lines from label get_ending 2024-08-18 12:48:53 -03:00
66d4b308af Delete commented lines from the storyline label 2024-08-18 12:46:40 -03:00
8b20ffaecd Remove init -999 python block for config.developer 2024-08-18 12:44:54 -03:00
97cc4252d5 Update FallingSky font to fix issue with words containing 'ft' 2024-08-18 12:41:03 -03:00
1864a917dc get_ending formatting 2024-08-17 13:26:00 -03:00
f8aa9d0459 Change call order for reset_debug_scores function 2024-08-17 13:25:05 -03:00
fc903d08fb Modify debug_story_variables to append or remove elements accordingly 2024-08-17 13:24:22 -03:00
e4d7b18bf2 Chapter 8 choices formatting 2024-08-17 12:07:11 -03:00
14b7d1a6ea Storyline optimizations and fixes 2024-08-16 21:01:55 -03:00
4a2a62478d Call main menu after credits 2024-08-16 20:58:32 -03:00
88279e9601 - Implement debug_story_variables function
- Modify initstats label to handle debugging and wingStory variable
2024-08-16 20:56:58 -03:00
afb67298ec Implement updated way of playing movies 2024-08-14 22:25:47 -03:00
0a4ab9609a Implement use of 'initstats' label during start 2024-08-11 23:15:13 -03:00
6a32d84d24 Add missing logic to 'next_story_chapter' function
Modify define statements
2024-08-11 23:13:20 -03:00
366c62d484 Comment out storyline and get_ending labels 2024-08-08 22:42:08 -03:00
c68090bf58 Replace return calls in ending chapters 2024-08-08 22:31:18 -03:00
1345686055 Replace return calls with next_story_chapter function 2024-08-08 21:21:36 -03:00
dbf1aa34ef Adjustments to next_ending_chapter function 2024-08-08 20:01:30 -03:00
c50eb0ce32 Replace get_ending label usage in credits.rpy 2024-08-08 19:51:58 -03:00
4b662b5488 Replace get_ending label usage for new function in chapter 11 2024-08-08 19:51:18 -03:00
79569c7441 Add call first element of the general_chapters array in script 2024-08-08 19:43:36 -03:00
297ca81c7c - Add array containing general chapters labels
- Add dictionary for endings
- Add chapter transition functions
2024-08-08 19:19:48 -03:00
Map
670a3624c5 actually fix the language selector jank so it can support longer named languages 2024-07-20 14:30:25 -05:00
Map
50afe3a646 Merge branch 'flower-line' 2024-06-13 03:12:59 -05:00
Map
58469f5ad4 Merge branch 'hunting' into flower-line
This also changes the retranslated spanish line to be corrected, and corrects the id for the other languages to work using the old line.
2024-06-10 23:15:58 -05:00
Map
79a73ccc64 Merge branch 'indentation-stuff' into indentation-continued
This also removes the enum shit that was introduced but never merged to master, because we don't need it.
2024-06-10 22:53:09 -05:00
Map
0e7708f920 Merge branch 'update-readme' 2024-06-09 01:28:21 -05:00
468be6e067 Merge pull request 'Fix bug where polish will randomly turn spanish' (#242) from undo-polishisms-in-spanish into master
Reviewed-on: Cavemanon/SnootGame#242
2024-06-09 05:34:40 +00:00
Map
c31073412b deleted the wrong lines, fixing 2024-06-08 18:08:36 -05:00
Map
3e51013a55 remove old polish translation strings that replace spanish lines. 2024-06-08 18:01:47 -05:00
02c413da81 Fix bug where polish will randomly turn spanish
polish technologia,,.., very good.. yes into spac.e...

the polish translation team built off the spanish translation and forgot
to remove the spanish declarations for their language when translating.
2024-06-08 17:47:47 -05:00
Map
abeb4f9467 change readme to not contribute to an outdate branch 2024-05-31 04:16:03 -05:00
0dacec2e60 Merge pull request 'New Russian Email Patch' (#236) from russianpatch into master
Reviewed-on: Cavemanon/SnootGame#236
2024-05-23 01:40:48 +00:00
88327c44df New Russian Email Patch
From the email:

Hello, Mike! How are you doing? It's Gex again. Some dudes from our Discord
wrote me that with the release of patch 10 (or even 9) a couple of lines in
the "screens" file were added to the game that we didn't notice. They are
responsible for the appearance of notifications about passing the game and
opening bonus chapters. Since they were not translated, I decided to make a
small patch for the Russian translation, which fixes this problem.

In addition, I have corrected a couple of lines in two chapters and
"common" that were displayed incorrectly (literally one word in each - a
request from guys who are working on voice acting) and added an additional
explanation for the gamepad buttons.

I would be very grateful if you can add this small fix in the next update
(or make it into the existing one, because nothing drastically changes).

Sincerely, the translation team
All files attached
2024-05-20 16:19:38 -05:00
279608bf80 actually uses the automated renpy translation feature formatting
didn't use the automated renpy feature so this wasn't correct whoops
2023-05-07 00:27:00 -06:00
9f2bd4ed5f fixes translation menus
deletes the old lines
2023-05-07 00:21:57 -06:00
93a548957d fix: Cleans up TODO regarding duplicate Rosa line.
Also includes shoddy Spanish translation, definitely requires proofreading.
2023-05-06 23:48:40 -06:00
0c648922aa common code 2023-05-06 22:50:23 -06:00
378cb12bf4 Late Game (Chapters 13, 14) and Bonus Chapters
* Reduces copypasta in the "what plans do you have" scene at the beach.
2023-05-06 22:48:11 -06:00
c890f2094c 2, 5, 8, 11
threes threes threes
2023-05-06 22:45:57 -06:00
dbffdf5c36 chapters 1 and 4 2023-05-06 22:43:35 -06:00
c274f8726a reduce copypasta in chapter7 2023-05-06 22:42:36 -06:00
9021619bf0 chapter 7 alignment issues 2023-05-06 22:42:27 -06:00
1046f65408 Merge pull request 'chore: Removes tradwife flag' (#220) from san7890/SnootGame:flag-cleanup into NewPatch
Reviewed-on: Cavemanon/SnootGame#220
2023-05-07 02:13:46 +00:00
404d3f91bd removes the trad arg to initstats() as well 2023-05-06 20:11:35 -06:00
340528ee02 removes the ending flag 2023-05-06 20:06:38 -06:00
ef4764b322 get_ending to not be numerically based, but instead enum-based. (#219)
Co-authored-by: san7890 <the@san7890.com>
Reviewed-on: Cavemanon/SnootGame#219
Co-authored-by: san7890 <san7890@noreply.git.cavemanon.xyz>
Co-committed-by: san7890 <san7890@noreply.git.cavemanon.xyz>
2023-05-07 00:44:59 +00:00
61 changed files with 1244 additions and 1134 deletions

View File

@ -1 +0,0 @@
{"expansion": false, "heap_size": "3", "icon_name": "Snoot Game", "include_pil": false, "include_sqlite": false, "layout": null, "name": "Snoot Game", "numeric_version": 1, "orientation": "sensorLandscape", "package": "cavemanon.snootgame", "permissions": ["VIBRATE", "INTERNET"], "source": false, "store": "none", "update_always": true, "update_icons": true, "update_keystores": true, "version": "INTERNAL-BUILD"}

View File

@ -1,3 +1,9 @@
clone:
git:
image: woodpeckerci/plugin-git
settings:
depth: 1
steps:
changelog:
image: debian
@ -11,7 +17,7 @@ steps:
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
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_TAG}/g" android.json
when:
- event: tag
@ -19,20 +25,21 @@ steps:
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_TAG}/g" .android.json
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_SHA}/g" android.json
when:
- event: cron
build:
image: openjdk:8
image: openjdk:21-jdk-bookworm
commands:
- apt update
- apt install libgl1 -y
- 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-linux-amd64.tar.gz" | tar xz --directory=/tmp/
- /tmp/renconstruct build -i "." -c "renconstruct.toml" -o dist/
- 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:
@ -76,6 +83,6 @@ steps:
matrix:
RenpyVersion:
- "8.0.3"
- "8.3.0"
RenkitVersion:
- "3.3.1"
- "4.4.0"

View File

@ -1,5 +1,5 @@
# Snoot Game
<h1>Contributing</h1>
<p>Find an issue and start working. Creating issues is very helpful. Simply emailing patches/updated versions of the script works too. <b>All PRs/Contributions to the main code should go to the patch branch and NOT master as to leave master a stable branch</b>. All contributions belong to you, but are licensed under the GNU AGPL v3 and are adherent to the GPL-Exception in the root of the project file.</p>
<p>Find an issue and start working. Creating issues is very helpful. Simply emailing patches/updated versions of the script works too. <b>All PRs/Contributions can go to the master branch now, unless the contributer requests/is specified otherwise.</b>. All contributions belong to you, but are licensed under the GNU AGPL v3 and are adherent to the GPL-Exception in the root of the project file.</p>
<p>It should be noted that any non-contributor sourced assets for the game MUST be under some form of free licensing that is <a href=https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses/>compatable with the CC-BY-SA 4.0 (Listed in this link as BY-SA)</a> for it to be added to the game. This includes audio, images, other bits of code, and other copyrightable assets. Compatable licenses include, but aren't limited to, CC-BY, Public Domain, CC-BY-SA 4.0, CC-BY-SA 3.0, The Free Art license, or any other license that is permissive in how it is used.</p>

24
android.json Normal file
View File

@ -0,0 +1,24 @@
{
"expansion": false,
"google_play_key": null,
"google_play_salt": null,
"heap_size": "3",
"icon_name": "Snoot Game",
"include_pil": false,
"include_sqlite": false,
"layout": null,
"name": "Snoot Game",
"numeric_version": 1,
"orientation": "sensorLandscape",
"package": "cavemanon.snootgame",
"permissions": [
"VIBRATE",
"INTERNET"
],
"source": false,
"store": "none",
"update_always": true,
"update_icons": true,
"update_keystores": true,
"version": "INTERNAL-BUILD"
}

BIN
android.keystore Normal file

Binary file not shown.

BIN
bundle.keystore Normal file

Binary file not shown.

View File

@ -0,0 +1,26 @@
# Store the general chapters inside an array for easy manipulation
default chapter_list = [
"chapter_1", "chapter_2", "chapter_3", "chapter_4", "chapter_5",
"chapter_6", "chapter_7", "chapter_8", "chapter_9", "chapter_10", "chapter_11"
]
define ending_routes = {
4: ["chapter_11D", "chapter_12D", "chapter_12_5D", "chapter_13D", "chapter_14D"],
3: ["chapter_11C", "chapter_12C", "chapter_12_5C", "chapter_13C", "chapter_14C"],
2: ["chapter_11B", "chapter_12B", "chapter_13B", "chapter_14B"],
1: ["chapter_11A", "chapter_12A", "chapter_12_5D", "chapter_13A", "chapter_14A"]
}
# Anon/Fang
default anonscore = 0
default fangscore = 0
default wingStory = False
# Chapter variables
default chapter_list_length = get_chapter_list_length()
default chapter_list_index = 0 # Index number for the current position of the chapter_list array
default current_chapter = chapter_list[chapter_list_index] # Store the name of the label as a string
# Ending variables
default ending_route_number = None
default is_end_reached = False

Binary file not shown.

View File

@ -24,7 +24,7 @@ define gui.show_name = True
## The version of the game.
define config.version = _("INTERNAL-BUILD")
define config.version = "INTERNAL-BUILD"
## Text that is placed on the game's about screen. Place the text between the
## triple-quotes, and leave a blank line between paragraphs.
@ -133,6 +133,11 @@ default preferences.text_cps = 50
default preferences.afm_time = 15
define config.developer = "auto"
default persistent.enable_debug_scores = config.developer
default persistent.enable_chapter_select = config.developer
##Default Audio is not ear rape
define config.default_music_volume = 0.48
define config.default_sfx_volume = 0.80
@ -196,6 +201,15 @@ init python:
build.classify('game/mods_example/**', None)
build.classify('game/mods_example/.**', None)
build.classify('README.md', None)
build.classify('renconstruct.toml', None)
build.classify('bundle.keystore', None)
build.classify('android.keystore', None)
build.classify('bundle.keystore.original', None)
build.classify('game/dev/.**', None)
build.classify('build_patch/*', None)
## To archive files, classify them as 'archive'.
@ -220,6 +234,3 @@ init python:
## by a slash.
# define build.itch_project = "renpytom/test-project"
#RenPy updating from snootgame.xyz
define build.include_update = True

View File

@ -319,6 +319,8 @@ init python:
config.overlay_screens.append("quick_menu")
default quick_menu = True
default persistent.old_endings = None
default persistent.endings = None
style quick_button is default
style quick_button_text is button_text
@ -356,6 +358,10 @@ screen navigation():
textbutton _("Save") activate_sound "audio/ui/uiClick.wav" action ShowMenu("save")
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
if config.developer and persistent.enable_chapter_select:
textbutton _("Chapter Select") activate_sound "audio/ui/uiClick.wav" action Start("chapter_select")
textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
#textbutton _("Extras") action ShowMenu("extras")
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action Return()
@ -992,7 +998,22 @@ screen preferences():
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)]
if config.developer:
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 config.developer and persistent.enable_debug_scores:
$ debug_story_variables(False)
$ debug_story_variables(True)
else:
$ debug_story_variables(False)
vbox:
xsize 676
style_prefix "check"
label _("Language")
vpgrid:
@ -1000,7 +1021,7 @@ screen preferences():
cols 1
mousewheel True
draggable True
xsize 676
xsize 550
ysize 250
if len(languages)>4:
scrollbars "vertical"
@ -1264,12 +1285,13 @@ screen extrasnavigation():
vbox:
spacing 10
xpos 1885
ypos 1130
ypos (1269 if config.developer and persistent.enable_chapter_select else 1130)
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ _("Help"), ShowMenu("help") ],
[ _("About"), ShowMenu("about") ],
[ _("Gallery"), ShowMenu("cg_gallery") ],
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
[ _("Mods"), ShowMenu("mod_menu") ],
[ _("Return"), ShowMenu("main_menu") ]
] )

View File

@ -313,18 +313,18 @@ screen textscroll():
# Naser's position when helping Anon get up
transform nmidright:
xalign 1.5 yalign 0.08
xalign 1.5 yalign 0.08
# Naomi's position when handing the brochure to Anon
transform scloserleft:
xalign 0.1 yalign 0.0
xalign 0.1 yalign 0.0
label start:
$ fangscore = 0
$ anonscore = 0
$ tradwife = False
$ wingStory = False
$ toggle_debug()
pause 1.0
call storyline from _call_storyline
$ renpy.call(chapter_list[chapter_list_index]) # Call first element of the chapter_list array

View File

@ -157,7 +157,7 @@ label chapter_1:
scene stairs at Pan((553,169), (553, 169), 0) with None # snap here if the player is advancing the dialogue quickly
window hide
show iris:
xalign 0.99 yalign 0.75
xalign 0.99 yalign 0.75
stop ambient fadeout 4
stop ambient1 fadeout 4
with Dissolve(3)
@ -1289,9 +1289,9 @@ label chapter_1:
show naomi neutral flip with dissolve
show naser:
easein_cubic 0.5 xalign 0.62
pause 0.75
ease 0.75 xalign 0.4
easein_cubic 0.5 xalign 0.62
pause 0.75
ease 0.75 xalign 0.4
pause 2
"He tears the sandwich in two and hands me the larger half."
@ -1846,9 +1846,9 @@ label chapter_1:
window hide
$ i = 0
while i < 20:
$ showCG()
pause 1
$ i = i + 1
$ showCG()
pause 1
$ i = i + 1
$ renpy.music.set_volume(0.4, 2, 'ambient')
@ -3479,7 +3479,7 @@ label chapter_1:
show anon neutral at aleft
show naomi neutral flip at sright
show naser sad flip behind naomi:
xalign 0.7 yalign -0.1
xalign 0.7 yalign -0.1
with Dissolve(1)
pause 0.5
@ -3663,4 +3663,4 @@ label chapter_1:
window auto
pause 1.5
return
$ next_story_chapter()

View File

@ -550,4 +550,4 @@ label chapter_10:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -448,8 +448,9 @@ label chapter_11:
#THIS SECTION IS SCORE DEPENDENT
# Doomer ending skips this segment
call get_ending from _call_get_ending
if _return == 2:
$ ending_score = get_ending()
if ending_score == 2:
stop music fadeout 3
pause 2
jump lPromAnnouncement
@ -585,13 +586,12 @@ label chapter_11:
Nas "Dont take it the wrong way, but my mind just screamed at me worst case scenario."
pause .5
call get_ending from _call_get_ending_1
if _return == 4:
jump lSortingThings # Golden
elif _return == 3:
jump lMendingThings # Tradwife
if ending_score == 4: # Golden
jump lSortingThings
elif ending_score == 3: # tradwife
jump lMendingThings
else:
jump lBreakingThings # Shooter
jump lBreakingThings # All else fails, go to shooter.
label lSortingThings:
@ -3847,7 +3847,7 @@ label chapter_11:
pause .5
show rosa neutral behind moe:
yalign 0.2 xalign 0.0
yalign 0.2 xalign 0.0
show rosa:
easein_back 2 yalign 0.2 xalign 0.9
with dissolve
@ -5211,8 +5211,8 @@ label chapter_11:
"Fang and I have been together for a month now."
pause .5
call get_ending from _call_get_ending_2
if _return == 3: #tradwife
if ending_score == 3: # tradwife
"Things are going pretty well. When we discount Trishs weekly attempt to talk with Fang."
@ -5245,9 +5245,9 @@ label chapter_11:
scene classroom
show anon neutral:
yalign 0.1 xalign 0.2
yalign 0.1 xalign 0.2
show fang neutral behind anon:
yalign 0.0 xalign 0.8
yalign 0.0 xalign 0.8
with Dissolve(1)
pause .5
@ -5466,100 +5466,102 @@ label chapter_11:
"{cps=*.1}...{/cps}"
call get_ending from _call_get_ending_3
if _return != 1: # any route except Shooter
# duplicated segment from 11B, 11C and 11D transplanted here
window hide
window auto
pause .5
# skip this segment if we're doing ending 1
if ending_score == 1: #shooter
$ next_story_chapter()
# the following segment makes sense in the context of 11B+11C+11D
window hide
window auto
pause .5
play music "audio/OST/Appreciating her Company.ogg" fadein 1.0
pause .5
play music "audio/OST/Appreciating her Company.ogg" fadein 1.0
pause .5
"About fifteen minutes into the assignment, the two of us are just about done."
"About fifteen minutes into the assignment, the two of us are just about done."
"Were making surprisingly good time."
"Were making surprisingly good time."
show fang considering with Dissolve(.25)
F "Uhm{cps=*.1}...{/cps} and you said that the electrons hold the negative charge, right?"
show fang considering with Dissolve(.25)
F "Uhm{cps=*.1}...{/cps} and you said that the electrons hold the negative charge, right?"
A "Yeah, yeah."
A "Yeah, yeah."
show fang unimpressed with Dissolve(.25)
F "Cant imagine when Id be using this crap in real life."
show fang unimpressed with Dissolve(.25)
F "Cant imagine when Id be using this crap in real life."
A "You never know, you might shrink one day."
A "You never know, you might shrink one day."
show fang happy with Dissolve(.25)
F "Yeah, and you might stop pretending youre livestreaming on Yousnoot."
pause .5
show fang happy with Dissolve(.25)
F "Yeah, and you might stop pretending youre livestreaming on Yousnoot."
pause .5
A "As far as you know I might be giving you incorrect answers, you know."
A "As far as you know I might be giving you incorrect answers, you know."
F "Mhm, sure."
pause .5
F "Mhm, sure."
pause .5
"The teacher is making his rounds checking on the students and gets to our desks."
window hide
window auto
"The teacher is making his rounds checking on the students and gets to our desks."
window hide
window auto
show farnsworth:
yalign 0.1 xalign 1.6
show farnsworth:
easein_cubic 1 xalign 1.2
with dissolve
pause .5
show farnsworth:
yalign 0.1 xalign 1.6
show farnsworth:
easein_cubic 1 xalign 1.2
with dissolve
pause .5
Drf "Hello, Anon. Fang."
Drf "Hello, Anon. Fang."
Drf "Are you two getting along well?"
Drf "Are you two getting along well?"
AnonAndFang "Yes, Doctor Fernsworth."
AnonAndFang "Yes, Doctor Fernsworth."
Drf "Great to hear."
pause .5
Drf "Great to hear."
pause .5
Drf "You know, Im real proud of you two."
pause .5
Drf "You know, Im real proud of you two."
pause .5
Drf "I remember at the start of the year you were at each other's throats."
Drf "I remember at the start of the year you were at each other's throats."
Drf "And now look at you!"
pause .5
Drf "And now look at you!"
pause .5
show anon concerned
show fang sad
with dissolve
"The two of us cringe."
pause .5
show anon concerned
show fang sad
with dissolve
"The two of us cringe."
pause .5
A "Uhh{cps=*.1}...{/cps} Yeah, thanks."
A "Uhh{cps=*.1}...{/cps} Yeah, thanks."
Drf "At any rate, you two understand the material, right?"
Drf "At any rate, you two understand the material, right?"
show anon happy
show fang neutral
with dissolve
A "Oh yeah, Fang and I are fine."
show anon happy
show fang neutral
with dissolve
A "Oh yeah, Fang and I are fine."
show anon neutral with Dissolve(.25)
A "I was just helping them with a few problems."
pause .5
show anon neutral with Dissolve(.25)
A "I was just helping them with a few problems."
pause .5
"Phew, remembered it this time."
"Phew, remembered it this time."
Drf "Good, good."
Drf "Good, good."
Drf "I wont keep you any longer then."
Drf "I wont keep you any longer then."
show farnsworth:
easeout_cubic 1 xalign 1.6
pause .5
hide farnsworth with dissolve
show farnsworth:
easeout_cubic 1 xalign 1.6
pause .5
hide farnsworth with dissolve
"Fernsworth meanders to pester the next few students."
pause .5
"Fernsworth meanders to pester the next few students."
pause .5
A "Anyways, where were we?"
A "Anyways, where were we?"
return
$ next_story_chapter()

View File

@ -158,4 +158,4 @@ label chapter_11A:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -173,4 +173,4 @@ label chapter_11B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -302,4 +302,4 @@ label chapter_11C:
"{cps=*.1}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -392,4 +392,4 @@ label chapter_11D:
"{cps=*.1}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -445,4 +445,4 @@ label chapter_12_5C:
window hide
window auto
return
$ next_story_chapter()

View File

@ -443,4 +443,4 @@ label chapter_12_5D:
F "Oh, Anon, youre already here!"
return
$ next_story_chapter()

View File

@ -1034,4 +1034,4 @@ label chapter_12A:
window hide
window auto
return
$ next_story_chapter()

View File

@ -591,4 +591,4 @@ label chapter_12B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -901,4 +901,4 @@ label chapter_12C:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -781,4 +781,4 @@ label chapter_12D:
"{cps=*0.1}...{/cps}"
return
$ next_story_chapter()

View File

@ -56,7 +56,7 @@ label chapter_13A:
show naomi prom neutral:
yalign 0.0 xalign -0.4
show naomi prom neutral:
easein_cubic 1 xalign -0.125
easein_cubic 1 xalign -0.125
with dissolve
pause .5
@ -690,13 +690,11 @@ label chapter_13A:
pause .5
menu:
"Could be worse":
"Could be worse":
A "Could be worse."
A "Could be worse."
"Going great, actually":
A "Going great, actually."
"Going great, actually":
A "Going great, actually."
pause .5
Sp "Wheres your date, I thought I saw the two of you enter."
@ -1799,4 +1797,4 @@ label chapter_13A:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -1048,4 +1048,4 @@ label chapter_13B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -4604,4 +4604,4 @@ label chapter_13C:
#end of new stuff
return
$ next_story_chapter()

View File

@ -3114,17 +3114,13 @@ label chapter_13D:
pause .5
menu:
"Go to college":
A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
"Go to college":
A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
"Not certain just yet":
A "Im not sure yet."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
"Not certain just yet":
A "Im not sure yet."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
Re "Oh nice, dude! You can be the bands sound technician when youre done!"
@ -4057,4 +4053,4 @@ label chapter_13D:
"{cps=*.1}...{/cps}"
pause 0.5
return
$ next_story_chapter()

View File

@ -1442,4 +1442,5 @@ label chapter_14A:
pause 5
$ renpy.music.set_volume(1, 0, 'ambient')
return
$ next_story_chapter()

View File

@ -350,4 +350,4 @@ label chapter_14B:
scene black with Dissolve(3)
pause 2
return
$ next_story_chapter()

View File

@ -441,7 +441,7 @@ label chapter_14C:
pause .5
show fang:
easeout_cubic 1 xalign 1.4
easeout_cubic 1 xalign 1.4
show fang c happy with dissolve
hide fang with dissolve
pause 0.5
@ -1014,4 +1014,5 @@ label chapter_14C:
pause 1.0
stop music
$ renpy.music.set_volume(1, 0, 'music')
return
$ next_story_chapter()

View File

@ -898,4 +898,5 @@ label chapter_14D:
pause 16
scene black with Dissolve(1.0)
pause 1
return
$ next_story_chapter()

View File

@ -603,7 +603,7 @@ label chapter_2:
window auto
show fang neutral with Dissolve(1):
xalign -0.6 yalign 0.0
xalign -0.6 yalign 0.0
pause .75
show white:
@ -903,7 +903,7 @@ label chapter_2:
pause .5
show fang sad flip:
ease_cubic 1.5 xalign -0.6
ease_cubic 1.5 xalign -0.6
pause 1.15
show fang sad with dissolve
pause 1.2
@ -1919,7 +1919,7 @@ label chapter_2:
show fang sad:
yalign 0 xalign -1
show fang sad:
easein 1 xalign -0.6
easein 1 xalign -0.6
with Dissolve(1)
pause 1
@ -2191,13 +2191,13 @@ label chapter_2:
scene cafeteria
show anon neutral:
xalign -0.2 yalign 0.1
xalign -0.2 yalign 0.1
show reed neutral flip:
xalign 0.5 yalign 0.1
xalign 0.5 yalign 0.1
show fang considering flip:
xalign 0.95 yalign 0.0
xalign 0.95 yalign 0.0
show trish neutral flip:
xalign 1.125 yalign 0.0
xalign 1.125 yalign 0.0
with Dissolve(1)
pause .5
@ -2274,11 +2274,11 @@ label chapter_2:
stop music fadeout 0.02
show reed shocked flip:
easein_quart 1 xalign 0.54
easein_quart 1 xalign 0.54
show fang surprised flip:
easein_quart 1 xalign 0.99
easein_quart 1 xalign 0.99
show trish surprised flip:
easein_quart 1 xalign 1.155
easein_quart 1 xalign 1.155
pause .5
"The three stop in their tracks and look back at me."
pause .5
@ -2331,11 +2331,11 @@ label chapter_2:
pause .5
show reed shocked flip:
easein_quart 1 xalign 0.65#0.54
easein_quart 1 xalign 0.65#0.54
show fang surprised flip:
easein_quart 1 xalign 1.15#0.99
easein_quart 1 xalign 1.15#0.99
show trish neutral flip:
easein_quart 1 xalign 1.25#1.155
easein_quart 1 xalign 1.25#1.155
FRT "Ohfuck.{w=.4} Sorry Anon, we gotta bail."
window hide
@ -2604,4 +2604,4 @@ label chapter_2:
"{cps=*.05}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -2291,4 +2291,4 @@ label chapter_3:
"{cps=*.1}...{/cps}"
return
$ next_story_chapter()

View File

@ -732,7 +732,7 @@ label chapter_4:
show reed king rex behind anon:
yalign 0.1 xalign -1.9
show reed:
easein 1 xalign -1.2
easein 1 xalign -1.2
with Dissolve(1)
pause 1
Re "Itll be fine."
@ -1422,4 +1422,4 @@ label chapter_4:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -7,6 +7,8 @@ init python:
renpy.play('audio/effects/carKick2.ogg', channel='audio')
# renpy.play('audio/effects/carSuspension1.ogg', channel='audio')
image fang_tail_movie = Movie(channel="movie_dp", loop=True, play="images/animations/fang tail.webm") # New way of playing movies as of Renpy 8.1
label chapter_5:
# Gardening Club
@ -551,7 +553,7 @@ label chapter_5:
show anon:
easein_back 0.5 xalign 0.2
label movie:
# label movie:
play sound 'audio/effects/slapstickPunch.ogg'
A "FANG!" with vpunch
@ -559,7 +561,8 @@ label chapter_5:
play ambient 'audio/effects/clipLoop.ogg' fadein 1
play ambient1 'audio/effects/outdoorNatureLoop.ogg' fadein 1
scene fang tail with Dissolve(1)
# scene fang tail with Dissolve(1)
show fang_tail_movie with Dissolve(1) # change how the movie is played
"Through my blurred vision I can make out Fangs tail, slowly shifting side to side."
@ -573,9 +576,9 @@ label chapter_5:
menu:
"Tug Her Tail":
pass
pass
"Tug Her Ankle":
pass
pass
pause .5
@ -844,7 +847,7 @@ label chapter_5:
show fang considering flip with Dissolve(.25)
Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how hard those are to get!"
Ro "Name!{w=.4} What is your name?!"
@ -1388,7 +1391,6 @@ label chapter_5:
A "Err{cps=*.1}...{/cps}{w=.3} Sorry?"
# TODO: the line "do you have any idea how long it takes for those to bloom" is also used earlier when Anon first falls into the flowerbed
Ro "{i}Ay Dios mío{/i}{cps=*.1}...{/cps} do you have any idea how long it takes those to bloom?!"
if not punched_into_flowerbed:
@ -4666,9 +4668,9 @@ label chapter_5:
window auto
pause 1
return
$ next_story_chapter()
# I'm guessing this is for the gallery?
label fang_movie:
scene fang tail with fade
""
# label fang_movie:
# scene fang tail with fade
# ""

View File

@ -4677,4 +4677,4 @@ label chapter_6:
window auto
pause 1
return
$ next_story_chapter()

File diff suppressed because it is too large Load Diff

View File

@ -80,9 +80,9 @@ label chapter_8:
"Knowing better than to look through the ocean of students, I follow my nose to Reed."
pause 0.5
show reed sunglasses:
xalign 0.4 yalign 0.1
xalign 0.4 yalign 0.1
show trish neutral behind reed:
xalign 0.9
xalign 0.9
with dissolve
"The fetid raptor was sitting in the very last row with Trish."
@ -622,8 +622,10 @@ label chapter_8:
pause .5
python:
choices = [(_('Play The Guitar'), 'lLetFangPlayGuit'),
(_('Get to Studying'), 'lGetStartedOnStudy')]
choices = [
(_('Play The Guitar'), 'lLetFangPlayGuit'),
(_('Get to Studying'), 'lGetStartedOnStudy')]
renpy.jump(renpy.display_menu(randomize_choices(choices)))
@ -1567,7 +1569,7 @@ label chapter_8:
window hide
window auto
return
$ next_story_chapter()
label lGetStartedOnStudy:
pause 0.5
@ -2156,4 +2158,5 @@ label chapter_8:
"{cps=*.1}...{/cps}"
window hide
window auto
return
$ next_story_chapter()

View File

@ -1297,7 +1297,7 @@ label chapter_9:
jump lGoHomeEarly
label lWaitForTrishToExit:
$ anonscore += 1
$ anonscore += 1
#play music 'audio/OST/fighter.ogg' fadein 1.0
A "You worried about her, too?"
@ -2171,4 +2171,4 @@ label chapter_9:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -397,7 +397,7 @@ label chapter_x7:
pause .5
show trish happy with dissolve
#show trish happy behind dimmer_darker at tleft with easeinleft
#show trish happy behind dimmer_darker at tleft with easeinleft
T "Fang! It took a while but Reeds distracted!"

173
game/src/chapter_select.rpy Normal file
View File

@ -0,0 +1,173 @@
define chapter_tuple_1 = [
("1. Anon meets Fang.", "chapter_1"),
("2. Fourth day of school.", "chapter_2"),
("3. Showing up at band practice.", "chapter_3"),
("4. Anon needs help during music period.", "chapter_4"),
("5. Fang and Anon cut class to talk on the roof.", "chapter_5"),
("6. Anon helps Fang find a venue for the band.", "chapter_6")
]
define chapter_tuple_2 = [
("7. Concert day.", "chapter_7"),
("8. Anon and Fang study together.", "chapter_8"),
("9. Trish ridicules Anon in front of the school.", "chapter_9"),
("10. Fang goes to Anon's apartment.", "chapter_10"),
("11. School assignment and route lock.", "chapter_11")
]
define ending_1_tuple = [
("11A. ", "chapter_11A"),
("12A. ", "chapter_12A"),
("12_5D. ", "chapter_12_5D"),
("13A. ", "chapter_13A"),
("14A. ", "chapter_14A")
]
define ending_2_tuple = [
("11B. ", "chapter_11B"),
("12B. ", "chapter_12B"),
("13B. ", "chapter_13B"),
("14B. ", "chapter_14B")
]
define ending_3_tuple = [
("11C. ", "chapter_11C"),
("12C. ", "chapter_12C"),
("12_5C. ", "chapter_12_5C"),
("13C. ", "chapter_13C"),
("14C. ", "chapter_14C")
]
define ending_4_tuple = [
("11D. ", "chapter_11D"),
("12D. ", "chapter_12D"),
("12_5D. ", "chapter_12_5D"),
("13D. ", "chapter_13D"),
("14D. ", "chapter_14D")
]
default tuples_index = [
("Chapters 1 to 6", chapter_tuple_1),
("Chapters 7 to 11", chapter_tuple_2)
]
init python:
def select_chapter():
global current_chapter, quick_menu
selected_tuple = ()
while True:
selected_tuple = display_tuple_menu(tuples_index)
if selected_tuple == "go_back":
renpy.jump("chapter_select")
current_chapter = display_tuple_menu(selected_tuple)
if current_chapter == "go_back":
continue
else:
find_chapter_in_array(current_chapter)
break
toggle_debug()
quick_menu = True # Restores the bottom quick menu UI
renpy.call(current_chapter)
def add_ending_tuple(ending_number):
global tuples_index
ending_tuples = {
1: ending_1_tuple,
2: ending_2_tuple,
3: ending_3_tuple,
4: ending_4_tuple
}
if ending_number in ending_tuples:
description = f"Ending {ending_number} chapters"
tuples_index.append((description, ending_tuples[ending_number]))
def display_tuple_menu(options):
return renpy.display_menu(options + [("Go Back", "go_back")])
def set_scores(anon_score, fang_score):
global anonscore, fangscore
anonscore = anon_score
fangscore = fang_score
def find_chapter_in_array(chapter):
global chapter_list_index
try:
chapter_list_index = chapter_list.index(chapter)
except ValueError:
chapter_list_index = -1
chapter = ""
label reset_chapter_list:
$ chapter_list = [
"chapter_1", "chapter_2", "chapter_3", "chapter_4", "chapter_5",
"chapter_6", "chapter_7", "chapter_8", "chapter_9", "chapter_10", "chapter_11"
]
$ tuples_index = [
("Chapters 1 to 6", chapter_tuple_1),
("Chapters 7 to 11", chapter_tuple_2)
]
return
label chapter_select:
$ quick_menu = False # Hides bottom quick menu UI
call reset_chapter_list from _call_reset_chapter_list # Reset every time the tool is called
$ anon_points = 0
$ fang_points = 0
stop sound
stop music fadeout 2
scene black with dissolve
menu:
"Initialize scores:"
"Ending 1":
pass # Since points are already initialized at 0
"Ending 2":
# anon 0
$ fang_points = 4
"Ending 3":
$ anon_points = 4
# fang 0
"Ending 4":
$ anon_points = 4
$ fang_points = 4
$ wingStory = True
"Exit to main menu":
scene black with dissolve
return
$ set_scores(anon_points, fang_points)
$ ending_route_number = get_ending()
$ add_ending_chapters(ending_route_number)
$ add_ending_tuple(ending_route_number)
$ update_ending_variables() # Updates variables for newly extended 'chapter_list' with ending chapters
window hide
$ select_chapter()

View File

@ -241,8 +241,8 @@ image d_credits_text = Composite(
label lending:
call get_ending from _call_get_ending_4
if _return == 4:
$ cached_ending = get_ending()
if cached_ending == 4:
pause 0.5
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
subpixel True
@ -272,7 +272,7 @@ label lending:
pause 50
queue music 'audio/OST/amberlight brillance live end.ogg'
queue music "<silence 1.0>" loop
elif _return == 3:
elif cached_ending == 3:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show c_credits_text:
@ -304,14 +304,15 @@ label lending:
stop music fadeout 5
scene black with Dissolve(3)
pause 2
if tradwife:
if cached_ending == 3:
scene c10 with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
elif anonscore >= 4 and fangscore >= 4:
elif cached_ending == 4:
scene golden ending with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
return
$ MainMenu(confirm=False)() # Exits to the main menu

View File

@ -1548,28 +1548,28 @@ image fang very sad blur flip = im.Flip("highres/bluralt/fang very sad blur.webp
image naomi neutral blur flip = im.Flip("highres/bluralt/naomi neutral blur.webp", horizontal=True)
image fang pneutral blur = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang neutral blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang neutral blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
)
image fang pbird happy blur = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang flip off happy blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang flip off happy blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
)
image fang pneutral blur flip = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang neutral blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang neutral blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
)
image fang pbird happy blur flip = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang flip off happy blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang flip off happy blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
)
image raymba2 flip = im.Flip("raymba/raymba2.webp", horizontal=True)

View File

@ -10,46 +10,53 @@ init -1 python:
persistent.old_endings = persistent.endings
persistent.endings = endings
label storyline:
call chapter_1 from _call_chapter_1
call chapter_2 from _call_chapter_2
call chapter_3 from _call_chapter_3
call chapter_4 from _call_chapter_4
call chapter_5 from _call_chapter_5
call chapter_6 from _call_chapter_6
call chapter_7 from _call_chapter_7
call chapter_8 from _call_chapter_8
call chapter_9 from _call_chapter_9
call chapter_10 from _call_chapter_10
call chapter_11 from _call_chapter_11
call get_ending from _call_get_ending_5
if _return == 4:
call chapter_11D from _call_chapter_11D
call chapter_12D from _call_chapter_12D
call chapter_12_5D from _call_chapter_12_5D
call chapter_13D from _call_chapter_13D
call chapter_14D from _call_chapter_14D
elif _return == 3:
$ tradwife = True
call chapter_11C from _call_chapter_11C
call chapter_12C from _call_chapter_12C
call chapter_12_5C from _call_chapter_12_5C
call chapter_13C from _call_chapter_13C
call chapter_14C from _call_chapter_14C
elif _return == 2:
call chapter_11B from _call_chapter_11B
call chapter_12B from _call_chapter_12B
# no chapter_13 here since the scene is different enough to the other routes for everything to go into 13C
call chapter_13B from _call_chapter_13B
call chapter_14B from _call_chapter_14B
else:
call chapter_11A from _call_chapter_11A
call chapter_12A from _call_chapter_12A
call chapter_12_5D from _call_chapter_12_5D_1
call chapter_13A from _call_chapter_13A
call chapter_14A from _call_chapter_14A
$ ending_image()
$ renpy.quit()
$ ending_image()
call lending from _call_lending
return
init python:
def next_story_chapter():
global chapter_list_index, current_chapter
# Add check "is_end_reached" to have this if statement be executed only once when finishing the general chapters
if not is_end_reached and chapter_list_index >= chapter_list_length:
process_ending()
if chapter_list_index < chapter_list_length:
chapter_list_index += 1
current_chapter = chapter_list[chapter_list_index]
renpy.call(current_chapter)
else:
end_story()
def process_ending():
global ending_route_number
ending_route_number = get_ending()
add_ending_chapters(ending_route_number)
update_ending_variables() # Updates variables for newly extended 'chapter_list' with ending chapters
def add_ending_chapters(route_number):
global chapter_list
if route_number in ending_routes:
chapter_list.extend(ending_routes[route_number])
def update_ending_variables():
global chapter_list_length
global is_end_reached
# chapter_list_length is updated to reflect the addition to the chapter_list array
chapter_list_length = get_chapter_list_length()
is_end_reached = True
def get_chapter_list_length():
return len(chapter_list) - 1
def end_story():
ending_image()
renpy.call("lending")

View File

@ -4099,24 +4099,12 @@ translate es FastTimesAtVolcanoHigh_94e85886:
# A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
A "Bueno... {w=0.3}Spears me convenció de enviar un par de letras de aplicación para la universidad."
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3121
translate es FastTimesAtVolcanoHigh_4e617de4:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3124
translate es FastTimesAtVolcanoHigh_a2735d38:
# A "Im not sure yet."
A "Todavía no estoy seguro."
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3126
translate es FastTimesAtVolcanoHigh_4e617de4_1:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3128
translate es FastTimesAtVolcanoHigh_5ce0f5f5:
@ -6127,3 +6115,11 @@ translate es strings:
old "Not certain just yet"
new "Todavía no estoy seguro"
# TODO: Translation updated at 2023-05-07 00:20
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3123
translate es FastTimesAtVolcanoHigh_4e617de4:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"

View File

@ -1116,12 +1116,6 @@ translate es movie_4263d346:
# "I shrug apologetically."
"Me encojo de hombros a modo de disculpa."
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate es movie_98d69c6e:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "Solo{cps=*.1}...{/cps}{w=.3} ¡URGH!{w=.4} ¿Tienes {i}alguna{/i} idea de cuánto tardan en florecer?"
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:849
translate es movie_2fab4cce:
@ -6944,3 +6938,11 @@ translate es strings:
old "Interrupt"
new "Interrumpir"
# TODO: Translation updated at 2023-05-07 00:26
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate es movie_f9188bac:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how hard those are to get!"
Ro "Solo{cps=*.1}...{/cps}{w=.3} ¡URGH!{w=.4} ¿Tienes {i}alguna{/i} idea de lo difícil que son conseguirlas?"

View File

@ -2226,48 +2226,6 @@ translate es PostCableConundrum_797b4809:
# "Right into Trishs trap, {w=0.3}hook, {w=0.3}line, {w=0.3}sinker and rod."
"Justo en la trampa, {w=0.3}el anzuelo, {w=0.3}la línea, {w=0.3}la plomada y en la caña de Trish."
# game/script/7.concert-day.rpy:1539
translate es PostCableConundrum_afcbc2bb:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1542
translate es PostCableConundrum_afcbc2bb_1:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1545
translate es PostCableConundrum_afcbc2bb_2:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1548
translate es PostCableConundrum_afcbc2bb_3:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1551
translate es PostCableConundrum_afcbc2bb_4:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1554
translate es PostCableConundrum_afcbc2bb_5:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1557
translate es PostCableConundrum_afcbc2bb_6:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1560
translate es PostCableConundrum_afcbc2bb_7:
@ -2630,3 +2588,11 @@ translate es strings:
old "No."
new "No."
# TODO: Translation updated at 2023-05-07 00:20
# game/script/7.concert-day.rpy:1556
translate es PostCableConundrum_afcbc2bb:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."

View File

@ -134,12 +134,6 @@ translate pl chapter_11A_cb936082:
# F "So the bands back together!"
F "Więc zespół znów jest razem!"
# game/script/11A.fang-desperately-wants-to-win-prom-night.rpy:65
translate es chapter_11A_c6e70309:
# F "Isnt that great!?"
F "Czy to nie jest wspaniałe!?"
# game/script/11A.fang-desperately-wants-to-win-prom-night.rpy:67
translate pl chapter_11A_4cf0cd74:

View File

@ -202,7 +202,7 @@ translate pl chapter_11C_855bf2b8:
"Testowałem jej imię kilka razy. To ładne imię. Naprawdę słodkie. Ale{cps=*.1}...{/cps}"
# game/script/11C.anon-gets-fangs'-pronouns-right,-but-she-tells-him-she's-okay-with-being-called-a-girl.rpy:100
translate es chapter_11C_338ba861:
translate pl chapter_11C_338ba861:
# "Fang fits her more in my mind."
"Fang pasuje jej bardziej w mojej głowie."

View File

@ -254,7 +254,7 @@ translate pl chapter_11D_d6f113de:
A "Miałem zapytać mojego taty o jego stare łachy."
# game/script/11D.anon-gets-fangs'-pronouns-right-and-she-teases-him-while-carrying-herself-with-more-confidence.rpy:124
translate es chapter_11D_691321e0:
translate pl chapter_11D_691321e0:
# F "You sure? I could ask Naser for his old stuff."
F "Jesteś pewien? Mogę zapytać Nasera o jego stare rzeczy."

View File

@ -306,60 +306,6 @@ translate pl chapter_14A_55f50c33:
# "Really wish I could just float away in an iceberg like Master Grug after last night."
"Naprawdę chciałbym po prostu odpłynąć na górze lodowej jak Mistrz Grug po wczorajszej nocy."
# game/script/14A.KO_OP-ending.rpy:164
translate es chapter_14A_82c2f372:
# "I glance at my phone and realize I spent ten hours playing Rock Ring."
"Spoglądam na telefon i uświadamiam sobie że spędziłem dziesięć godzin grając w Rock Ring."
# game/script/14A.KO_OP-ending.rpy:166
translate es chapter_14A_5b778353:
# "My mind was turned off for most of that, guess I just lost track of time."
"Mój umysł był wyłączony przez większość tego, chyba musiałem zgubić rachubę czasu."
# game/script/14A.KO_OP-ending.rpy:176
translate es chapter_14A_9f115d19:
# "Im shaken from my thoughts by a knock at my door."
"Pukanie do dzrwi wytrząsa mnie z moich myśli."
# game/script/14A.KO_OP-ending.rpy:178
translate es chapter_14A_5695822c:
# "The door I forgot to lock."
"Drzwi których zapomniałem zamnknąć."
# game/script/14A.KO_OP-ending.rpy:182
translate es chapter_14A_79a1d94e:
# "Oh god, Im gonna be murdered, butchered, my body parts sold on the black market and turned into some disgusting rhinorexs sex toys."
"O Boże, zostanę zamordowany, zaszlachtowany, moje części ciała sprzedane na czarnym rynku i zamienione w jakieś sex-zabawki dla rhinorex'ów."
# game/script/14A.KO_OP-ending.rpy:184
translate es chapter_14A_2a0b150f:
# "Hopefully in that order."
"Mam nadzieję że w tej kolejności."
# game/script/14A.KO_OP-ending.rpy:190
translate es chapter_14A_ea8a1623:
# "Before I can search for my knife, the door opens to reveal{cps=*.1}...{/cps}"
"Zanim zdążę poszukać noża, drzwi się otwierają by ukazać{cps=*.1}...{/cps}"
# game/script/14A.KO_OP-ending.rpy:205
translate es chapter_14A_c73063d9:
# F "Anon? You- oh! Hey…"
F "Anon? Ty... Oh! Hej..."
# game/script/14A.KO_OP-ending.rpy:208
translate es chapter_14A_fd939103:
# F "Uh… Why are you huddled in the fetal position?"
F "Eee... Czemu jesteś skulony w pozycji embrionalnej?"
# game/script/14A.KO_OP-ending.rpy:214
translate pl chapter_14A_2e0d0e88:

View File

@ -1121,7 +1121,7 @@ translate pl movie_4263d346:
"Zawstydzony wzruszam ramionami."
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate pl movie_98d69c6e:
translate pl movie_f9188bac:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "Ja tylko{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Czy masz {i}jakiekolwiek{/i} pojęcie, jak długo trwa kwitnienie!"

View File

@ -2869,30 +2869,6 @@ translate pl lAnonWaitsForFang_2a02f026:
# Nas "Hej, Naomi, czy wiesz, że trzynaście procent toalet publicznych{cps=*.1}...{/cps}"
Nas "Hej, Naomi, czy wiesz, że trzynaście procent toalet publicznych{cps=*.1}...{/cps}"
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1942
translate es lAnonWaitsForFang_60b8deab:
# "Naser babbles with Naomi while we wait for Fang to return."
"Naser gada z Naomi gdy my czekamy aż Fang wróci."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1958
translate es lAnonWaitsForFang_80172f04:
# F "Alright, Im done taking a dump or whatever."
F "W porządku, skończyłam srać czy coś."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1960
translate es lAnonWaitsForFang_75e50324:
# F "Lets go."
F "Chodźmy."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1963
translate es lAnonWaitsForFang_50113c24:
# Nas "Wait{cps=*.1}...{/cps} why do you smell like smoke?"
Nas "Czekaj{cps=*.1}...{/cps} dlaczego pachniesz fajkami?"
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1966
translate pl lAnonWaitsForFang_4d439f42:
@ -2905,42 +2881,6 @@ translate pl lAnonWaitsForFang_fd682d16:
# Nas "You know you arent supposed to be smoking, Fang."
Nas "Wiesz, że nie powinnaś palić, Fang."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1972
translate es lAnonWaitsForFang_7e3ac232:
# F "Just drop it, dork."
F "Weź już odpuść, ćwok."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1974
translate es lAnonWaitsForFang_5e0dc39a:
# F "You dont see me bringing up that leopard mankini you have in your closet."
F "Nie widzich chyba żebym wypominała ci to leopardowe mankini które trzymasz w szafie."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1984
translate es lAnonWaitsForFang_72dafdf9:
# "Nasers skin turns a noticeably lighter shade."
"Skóra Nasera widocznie zmienia odcień na bledszy."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1988
translate es lAnonWaitsForFang_3b882b5c:
# A "That the only thing in the closet?"
A "Czy tylko to jedno masz w szafie?"
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1991
translate es lAnonWaitsForFang_c621b1ca:
# F "Oh, of fucking course not."
F "O, oczywiście że nie."
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1993
translate es lAnonWaitsForFang_39f1c980:
# F "{cps=*.6}Hes also got this pink-{/cps}{w=.5}{nw}"
F "{cps=*.6}Ma też to różowe-{/cps}{w=.5}{nw}"
# game/script/6.anon-helps-fang-find-a-venue-for-band.rpy:1998
translate pl lAnonWaitsForFang_3b4a19a9:

View File

@ -458,19 +458,19 @@
# 00preferences.rpy:286
old "auto-forward time"
new "время до авто-пролистывания"
new "время до автопролистывания"
# 00preferences.rpy:300
old "auto-forward"
new "авто-пролистывание"
new "автопролистывание"
# 00preferences.rpy:307
old "Auto forward"
new "Авто-пролистывание"
new "Автопролистывание"
# 00preferences.rpy:310
old "auto-forward after click"
new "авто-пролистывание после клика"
new "автопролистывание после клика"
# 00preferences.rpy:319
old "automatic move"
@ -734,7 +734,7 @@
# 00updater.rpy:494
old "An error is being simulated."
new "Cимулируется ошибка."
new "Моделируется ошибка."
# 00updater.rpy:678
old "Either this project does not support updating, or the update status file was deleted."

View File

@ -185,6 +185,12 @@ translate ru strings:
old "You have unlocked all bonus chapters!"
new "Вы открыли все бонусные главы!"
old "You have unlocked the final bonus chapter!"
new "Вы открыли финальную бонусную главу!"
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
new "Вы завершили игру на все концовки! Пройдите все бонусные главы, чтобы открыть финальную главу!"
old "You have unlocked new bonus chapters, complete unseen endings to see more!"
new "Вы открыли новые бонусные главы! Завершите игру с другими концовками, чтобы увидеть ещё больше!"
@ -398,7 +404,7 @@ translate ru strings:
# game/screens.rpy:1022
old "Auto-Forward Time"
new "Время до авто-пролистывания"
new "Время до автопролистывания"
# game/screens.rpy:1029
old "Music Volume"
@ -530,7 +536,7 @@ translate ru strings:
# game/screens.rpy:1386
old "Mouse Wheel Up\nClick Rollback Side"
new "Колёсико вверх"
new "Колёсико вверх\nКлик для отката"
# game/screens.rpy:1390
old "Mouse Wheel Down"
@ -538,11 +544,11 @@ translate ru strings:
# game/screens.rpy:1397
old "Right Trigger\nA/Bottom Button"
new "Правый триггер"
new "Правый триггер\nA/Нижняя кнопка"
# game/screens.rpy:1401
old "Left Trigger\nLeft Shoulder"
new "Левый триггер"
new "Левый триггер\nЛевый бампер"
# game/screens.rpy:1405
old "Right Shoulder"
@ -550,11 +556,11 @@ translate ru strings:
# game/screens.rpy:1410
old "D-Pad, Sticks"
new "Стики"
new "D-Pad, Стики"
# game/screens.rpy:1414
old "Start, Guide"
new "Начало, руководство"
new "Start, Guide"
# game/screens.rpy:1415
old "Accesses the game menu."
@ -562,7 +568,7 @@ translate ru strings:
# game/screens.rpy:1418
old "Y/Top Button"
new "Y"
new "Y/Верхняя кнопка"
# game/screens.rpy:1421
old "Calibrate"

View File

@ -519,7 +519,7 @@ translate ru chapter_1_a31a12af:
# game/script/1.first-two-days-anon-meets-fang.rpy:349
translate ru chapter_1_b0f6f9d5:
# "распластался по земле, ass hurt from hitting jagged concrete and splintered wood."
# "I lay on the ground, ass hurt from hitting jagged concrete and splintered wood."
"Я лежу на земле, моя жопа болит от удара о разбитый бетон и деревянные щепки."
# game/script/1.first-two-days-anon-meets-fang.rpy:351

View File

@ -1117,7 +1117,7 @@ translate ru movie_4263d346:
"Я виновато пожимаю плечами."
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate ru movie_98d69c6e:
translate ru movie_f9188bac:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "Я просто{cps=*.1}...{/cps}{w=.3} АРГХ!{w=.4} Ты хоть {i}представляешь{/i}, сколько времени им нужно, чтобы расцвести!"

View File

@ -1498,7 +1498,7 @@ translate ru PostCableConundrum_ffc40d6e_1:
translate ru PostCableConundrum_6e46797e_1:
# F "IN THE MORNIIIIIING!"
F "УТРААААААААААА!"
F "НОООЧИИИИИИИ!"
# game/script/7.concert-day.rpy:1072
translate ru PostCableConundrum_0f702231:

View File

@ -1,23 +1,38 @@
## Utility functions for game setup, debugging etc.
label initstats(anon=0, fang=0, trad=False):
# Sets various game-related global variables
# :param int anon: Anon's score
# :param int fang: Fang's score
# :param bool trad: Tradwife ending flag
$ anonscore = anon
$ fangscore = fang
$ tradwife = trad
return
init python:
def get_ending():
if anonscore >= 4 and fangscore >= 4 and wingStory:
return 4 # Golden
elif anonscore >= 3 and fangscore <= 4:
return 3 # Tradwife
elif anonscore <= 3 and fangscore >= 3:
return 2 # Doomer
else:
return 1 # Shooter
def debug_story_variables(toggle=True):
var_list = [
"anonscore",
"fangscore",
"current_chapter",
"chapter_list_length",
"chapter_list_index",
"ending_route_number",
"is_end_reached"
]
for item in var_list:
if toggle:
renpy.watch(item)
else:
renpy.unwatch(item)
def toggle_debug():
if persistent.enable_debug_scores:
debug_story_variables(False)
debug_story_variables(True)
label get_ending:
# To check what ending we're getting, call this label and then check the value of _return
# Sensible to have this logic defined in only one place for consistency
if anonscore >= 4 and fangscore >= 4 and wingStory:
return(4) # Golden
elif anonscore >= 3 and fangscore <=4:
return(3) # Tradwife
elif anonscore <= 3 and fangscore >=3:
return(2) # Doomer
else:
return(1) # Shooter

View File

@ -1,51 +1,26 @@
[tasks.clean]
enabled = false
priorities = { post_build = 0 } # the priority that determines the orders tasks will run in, defaults to 0
on_builds = ["pc", "win", "linux", "mac", "web", "steam", "market", "android_apk", "android_aab"] # builds this task should run for, defaults to all available builds
[tasks.notarize] # required if matching task is enabled
enabled = false
priorities = { post_build = 10 } # the priority that determines the orders tasks will run in, defaults to 10
on_builds = ["mac"] # builds this task should run for, defaults to "mac"
bundle_identifier = "com.my-game" # the bundle ID of your came, typically in reverse domain notation
key_file = "certificates/private-key.pem" # the path to the private key file generated during the provisioning process
cert_file = "certificates/developerID_application.cer" # the path to the Apple-generated certificate file generated during the provisioning process
app_store_key_file = "certificates/app-store-key.json" # the path to the combined App Store key file generated during the provisioning process
json_bundle_file = "certificates/renotize.json" # the path to the combined certificate file. replaces the key, cert and app store files above
[tasks.keystore] # required if matching task is enabled
enabled = false
type="keystore"
enabled = true
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 = "<base64-encoded keystore file>" # the base-64 encoded binary keystore file for the APK bundles
keystore_aab = "<base64-encoded keystore file>" # the base-64 encoded binary keystore file for the AAB bundles
keystore_apk = "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" # 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
[tasks.convert_images]
enabled = false
format = "webp" # webp or avif
priorities = { pre_build = 10 } # the priority that determines the orders tasks will run in, defaults to 10
on_builds = ["pc", "win", "linux", "mac", "web", "steam", "market", "android_apk", "android_aab"] # builds this task should run for, defaults to all available builds
# extensions: a list of file extensions to convert
# recursive: scans directories recursively if enabled, otherwise only scans the immediate directory
# lossless: converts to lossless WebP if enabled, otherwise converts to lossy WebP
"game/images/cg" = { extensions = ["png", "jpg"], recursive = true, lossless = true } # default values
"game/images/bg" = { lossless = false }
"game/images" = { } # all parameters are optional
[build] # required, at least one item must be 'true'
#pc = true # windows + linux
# pc = true # windows + linux
win = true # windows
linux = true # linux
mac = true # macos
#web = false # web
#steam = true # steam
#market = true # multiple markets (i.e. itch.io)
# web = false # web
# steam = false # steam
# market = false # multiple markets (i.e. itch.io)
android_apk = true # Android Universal APK
#android_aab = false # Android Play Store Bundle
# android_aab = false # Android Play Store Bundle
[options]
clear_output_dir = false # whether to clear the output directory on startup
[renutil]
version = "8.0.3" # the Ren'Py version to use (required)
registry = "tmp/cache" # the directory to store installation files in
version = "8.3.0" # the Ren'Py version to use (required)
registry = "/tmp/cache" # the directory to store installation files in