Compare commits

...
88 Commits
Author SHA1 Message Date
MapAnon 07be7f07f5 Merge branch 'master' into thai 2025-06-07 22:04:10 -05:00
MapAnon cdf15441dc change name of portugues translation to Portugues (BR) to be in line with Wani 2025-06-07 17:51:28 -05:00
MapAnon 7e647d356f fix credits timing and panning 2025-06-06 13:47:37 -05:00
MapAnon f32cdea074 undo test commit 2025-06-06 02:39:32 -05:00
MapAnon faea6c1172 test commit 2025-06-06 02:35:51 -05:00
MapAnon f7d67e78a1 fix rendering mistake with thai fucked wing retard image 2025-06-06 02:22:29 -05:00
MapAnon 4bb0bd79c8 initial thai translation implementation 2025-06-04 16:15:22 -05:00
MapAnon 2790334342 change ctc marker to nestled-close 2025-01-01 15:53:05 -06:00
MapAnon 37dcffc4cb update renpy to 8.3.4 2024-12-30 19:18:19 -06:00
MapAnon adc196f59b backport wani fixes relating to the mod loader:
-Fix mods sometimes having a None variable as their state
-Fix mods already in load order not updating to reflect if there's no loadable scripts
-Fix mods without scripts being turned off when using DISABLEALLMODS file flag
2024-12-18 20:14:08 -06:00
MapAnon b5727e6efd Revert "remove credits for unused promo art (confirmation that our team member is GAY)" because we're epic like that
This reverts commit 29f32fec37.
2024-12-04 20:09:44 -06:00
MapAnon 29f32fec37 remove credits for unused promo art (confirmation that our team member is GAY)
ci/woodpecker/push/woodpecker Pipeline was successful
2024-12-04 19:35:47 -06:00
MapAnon 7a82219d88 fix the rest of the mod menu not having button sounds
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
ci/woodpecker/release/woodpecker Pipeline was successful
2024-12-03 19:55:52 -06:00
MapAnon 67e8afb8fe update to renpy 8.3.3 (tested somewhat, it's just a bugfixing update)
ci/woodpecker/push/woodpecker Pipeline was successful
2024-12-03 19:09:51 -06:00
MapAnon 16a3adf0a8 fix mod return button not playing a sound 2024-12-03 19:00:36 -06:00
MapAnon 41a894b846 Merge branch 'ch8_guitar_improvement'
ci/woodpecker/push/woodpecker Pipeline was successful
2024-12-03 17:11:04 -06:00
MapAnon b2ad694517 reset audio levels on chapter select 2024-12-03 17:10:36 -06:00
MapAnon e3263a868e tweak guitar sounds to be more pleasant 2024-12-03 17:06:22 -06:00
MapAnon 26f82c3819 Merge branch 'pt_br'
ci/woodpecker/push/woodpecker Pipeline was successful
2024-12-03 13:40:31 -06:00
MapAnon 1ffc8a9168 Merge branch 'master' of https://git.cavemanon.xyz/Cavemanon/SnootGame
ci/woodpecker/push/woodpecker Pipeline is pending
2024-12-01 16:25:20 -06:00
MapAnon 8e9d5c3166 fix fang's bedroom base image having the text still on 2024-12-01 16:25:16 -06:00
MapAnon a2093b3bcf tweak credits panning stop
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-12-01 16:14:29 -06:00
MapAnon 97b7fb44b8 fix menu strings looking jank
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline failed
2024-12-01 15:06:37 -06:00
MapAnon 528c4c5350 initial portuguese translation
ci/woodpecker/pr/woodpecker Pipeline was successful
2024-12-01 12:24:12 -06:00
MapAnon 6c92aea438 Merge pull request 'Fix reload mods button' (#257) from ModsButton into master
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/257
Reviewed-by: Mappening <mapanon@noreply.git.cavemanon.xyz>
2024-11-02 00:37:53 +00:00
Legalo 2a275c2468 Fix reload mods button
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-10-31 20:36:31 -03:00
MapAnon 86e011ed42 Merge pull request 'Add icon for macOS' (#256) from Pomi108/SnootGame:mac-icon into master
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline was successful
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/256
Reviewed-by: Mappening <mapanon@noreply.git.cavemanon.xyz>
2024-10-13 15:28:54 +00:00
Pomi108 d7cdaf5ee5 add icon for macOS
ci/woodpecker/pr/woodpecker Pipeline is pending
ci/woodpecker/pull_request_closed/woodpecker Pipeline is pending
2024-10-13 16:47:01 +02:00
Pomi108 0eaf8a3188 Revert "improve anon playing guitar"
This reverts commit 02000b6bdd.
2024-10-13 16:46:42 +02:00
MapAnon 1d6a80ce8e fix gallery having a big offset that softlocks you on mobile while in russian
ci/woodpecker/push/woodpecker Pipeline is pending
2024-10-13 09:29:20 -05:00
MapAnon c52200e989 Fix mobile quick buttons not having alternate actions, incidentally fixing the gallery on mobile.
Fix mobile gallery quick buttons not having translatable text
2024-10-13 09:26:58 -05:00
MapAnon 213adc1d8d fix inconsistency in 11.5 chapters where the background is not the right classroom 2024-10-13 09:06:25 -05:00
Pomi108 02000b6bdd improve anon playing guitar
ci/woodpecker/pr/woodpecker Pipeline was successful
2024-10-13 12:38:44 +02:00
MapAnon 3a9ed80978 update presplash images
ci/woodpecker/push/woodpecker Pipeline was successful
2024-10-12 23:35:16 -05:00
MapAnon 9adb3bb31e forgot punctuation for the updated spanish strings
ci/woodpecker/push/woodpecker Pipeline was successful
2024-10-12 22:48:05 -05:00
MapAnon d4540e1441 update spanish strings
ci/woodpecker/push/woodpecker Pipeline failed
2024-10-12 22:47:11 -05:00
MapAnon 03e3f4f876 because i'm SO FUCKING smart, I forgot to update the renconstruct file to use the latest renpy version
ci/woodpecker/push/woodpecker Pipeline was successful
2024-10-12 21:32:39 -05:00
MapAnon b4888ddceb update spanish common.rpy with Wani's 2024-10-12 21:18:29 -05:00
MapAnon 0fa98c7e90 update gitignore
ci/woodpecker/push/woodpecker Pipeline failed
2024-10-12 21:03:30 -05:00
MapAnon ff359efd1b fix language selector being able to scroll horizontally
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline was successful
ci/woodpecker/release/woodpecker Pipeline was successful
2024-10-12 07:40:54 -05:00
MapAnon 3f2fc63950 document ending_image() 2024-10-11 19:13:41 -05:00
MapAnon ccadc0c179 increase credits time slightly 2024-10-11 18:57:07 -05:00
MapAnon 420ed93ee2 Fix conditional dialogue to play properly while using the chapter select. Fix chapter 7's conditional dialogue to only play while on an ending 4 run
ci/woodpecker/push/woodpecker Pipeline was successful
2024-10-11 18:48:01 -05:00
MapAnon 83d3c129fa fix debug scores not returning after the menu updates
ci/woodpecker/push/woodpecker Pipeline failed
2024-10-11 18:25:54 -05:00
MapAnon b86f91e423 Update woodpecker to renpy 8.3.2
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline was successful
ci/woodpecker/release/woodpecker Pipeline was successful
2024-10-11 16:31:33 -05:00
MapAnon b4a7223e9a cleanup classify functions
ci/woodpecker/push/woodpecker Pipeline is pending
2024-10-11 16:19:08 -05:00
MapAnon 3776b2bc9d update gitignore to ignore mod folders
ci/woodpecker/push/woodpecker Pipeline is pending
2024-10-11 16:11:03 -05:00
MapAnon 46c47303d7 Merge pull request 'Fix Snootgame Building' (#253) from fix-snootgame-building into master
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/253
Reviewed-by: Mappening <mapanon@noreply.git.cavemanon.xyz>
2024-10-11 20:59:00 +00:00
MichaelYick 6377fffba0 Remove renconstruct from build
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/pr/woodpecker Pipeline is pending
ci/woodpecker/pull_request_closed/woodpecker Pipeline is pending
2024-10-11 15:45:32 -05:00
MichaelYick b16bd97d33 Debloated builds and include renconstruct
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/pr/woodpecker Pipeline is pending
An option in the options.rpy made it so renconstruct.toml wasn't shipped
with the game AND the lack of an option made the game compile with the
dist/ folder being exported, meaning that the game would ship with an
android build unnecessarily.

Fixes: #239
Fixes: #240
2024-10-11 15:03:13 -05:00
MapAnon a82e51e477 tweaked a few language strings to look better in the menu
ci/woodpecker/push/woodpecker Pipeline is pending
2024-10-11 13:30:42 -05:00
MapAnon e7eb667820 update polish strings 2024-10-11 13:21:33 -05:00
MapAnon 520a728ebd Merge pull request 'New RU tl stuff' (#252) from Gexahord/SnootGameKGB:rutl-newstuff into master
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/252
Reviewed-by: Mappening <mapanon@noreply.git.cavemanon.xyz>
2024-10-11 15:14:03 +00:00
Gexahord 8686143ddd Promo Art Fix
ci/woodpecker/pr/woodpecker Pipeline is pending
ci/woodpecker/pull_request_closed/woodpecker Pipeline is pending
2024-10-11 06:07:18 +03:00
Gexahord a0c0a22a41 New RU tl stuff 2024-10-11 00:08:32 +03:00
MapAnon 6cea8fa94b add additional promo art credit 2024-10-10 14:40:02 -05:00
MapAnon 1fad3b0b62 Update italian and spanish strings 2024-10-10 11:17:22 -05:00
MapAnon fc537fecc7 undo checking for conflicting properties (as it turns out enforcing cleaner code is inconvenient (especially if it's over something that doesn't show issues in the first place)) 2024-10-08 18:18:20 -05:00
MapAnon f3bb2caa7f put backspace functionality into the help menu 2024-10-08 13:17:03 -05:00
MapAnon 3bf7e9e433 up the default volume slider 2024-10-07 20:59:14 -05:00
MapAnon d581c7884c makes the scroll toggle a little smarter 2024-10-07 20:15:57 -05:00
MapAnon 3d51bae4a6 remove comment that no longer applies in mod menu 2024-10-07 20:14:54 -05:00
MapAnon 5d44682f49 fix android mod buttons 2024-10-07 18:14:12 -05:00
MapAnon 033175500c Fix mods without defined names not being assigned their folder name
Remove checks for the 'None' language as the user will never be assigned to it
Some comment typo fixes
Make reloading mods not play the splash screen
Pressing backspace will now hide the mod details pane, and shoe mod errors if there's any
Attempt at making a button for android to hide the details pane.
2024-10-07 17:10:10 -05:00
MapAnon 2c2899e734 Turn on check conflicting properties (trolling modders one config var at a time) 2024-10-07 04:02:06 -05:00
MapAnon 301035bad1 Fix some lint errors 2024-10-07 03:57:39 -05:00
MapAnon e06db742e2 Merge branch 'master' of https://git.cavemanon.xyz/Cavemanon/SnootGame 2024-10-07 03:07:10 -05:00
MapAnon 610737fddf remove redundant imports for rounded corners 2024-10-07 03:07:03 -05:00
MapAnon e41d42d4e7 tweak rounded corners of mod icons 2024-10-07 03:06:54 -05:00
MapAnon 7873a882a8 Add note about icon in mod README 2024-10-07 02:50:02 -05:00
MapAnon c045fcff26 nudge "no mods!" message down a bit 2024-10-07 02:49:53 -05:00
MapAnon 81c646e81b remove unused gui images 2024-10-07 00:56:36 -05:00
MapAnon 7612935547 turn on linear fades to prevent mixing from getting out of wack
and fucking fix those volume defaults once and for all
2024-10-07 00:51:56 -05:00
Legalo 201cd61f63 Merge pull request 'Spanish Translation for new stuf' (#251) from Espaniolo into master
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/251
2024-10-07 05:31:53 +00:00
MapAnon 934a0dc72a change languaged_up to be set inside the lang_sel screen 2024-10-07 00:30:08 -05:00
Legalo 9d1064c75e Spanish Translation for new stuf 2024-10-07 02:29:08 -03:00
MapAnon ca7406d0d9 Add pre-splash 2024-10-07 00:08:51 -05:00
MapAnon 79ac93e6fd Turn on deferred languages 2024-10-06 23:23:58 -05:00
MapAnon 019d5f4f44 Fixed language setup screen 2024-10-06 23:22:25 -05:00
MapAnon 64b566d66b Set volume slider default 2024-10-06 23:15:57 -05:00
MapAnon 40ec930ab3 Merge pull request 'Improved epilgoue menu' (#250) from improved_epilogue_menu into master
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/250
Reviewed-by: Legalo <legalo@noreply.git.cavemanon.xyz>
2024-10-07 03:00:23 +00:00
MapAnon b8d8a00f44 Give the mod menu the epilogue style.
Change the mod details pane to display the name of a mod if the display is set to "icon"
2024-10-06 21:46:08 -05:00
MapAnon fd21e45713 Merge branch 'master' into improved_epilogue_menu 2024-10-06 21:08:29 -05:00
MapAnon 87e9546d15 Merge pull request 'Backporting Wani's mod interface' (#249) from wani_mod_menu into master
Reviewed-on: https://git.cavemanon.xyz/Cavemanon/SnootGame/pulls/249
Reviewed-by: Legalo <legalo@noreply.git.cavemanon.xyz>
2024-10-07 02:00:49 +00:00
MapAnon db337e64ae make the custom backgrounds more orange 2024-10-06 18:26:33 -05:00
MapAnon 0e35c5a415 Expand epilogue menu style to include the rest of the menu's (except for the mod menu, for the time being) 2024-10-06 18:19:06 -05:00
MapAnon 302c2f6b10 Change rollback side to only appear on Android 2024-10-06 18:17:54 -05:00
MapAnon c14c7b43be Remove redundant mobile variant of the extras menu 2024-10-06 15:49:49 -05:00
249 changed files with 185105 additions and 526 deletions
+6 -1
View File
@@ -15,10 +15,12 @@ ehthumbs_vista.db
/traceback.txt
/errors.txt
/log.txt
/files.txt
project.json
log.txt
errors.txt
traceback.txt
files.txt
#Vim (best text editor) swap files
.sw?
@@ -58,3 +60,6 @@ env
#linux
*.sh
# Exclude mod folders, but not files in the root mod directory
/game/mods/*/
+1 -1
View File
@@ -83,6 +83,6 @@ steps:
matrix:
RenpyVersion:
- "8.3.0"
- "8.3.4"
RenkitVersion:
- "4.4.0"
-1
View File
@@ -105,7 +105,6 @@ define gui.main_menu_text_size = 60
## The images used for the main and game menus.
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
define gui.extras_submenu_background = "gui/overlay/extras_submenu.png"
define gui.extras_submenu_panel = "gui/overlay/extras_submenu_panel.png"
## Dialogue ####################################################################
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 KiB

After

Width:  |  Height:  |  Size: 298 KiB

+9 -9
View File
@@ -1,12 +1,12 @@
--- MOD LOADER USAGE ---
If there's problems with installed mods - like if an enabled mod makes the game crash on startup - there's 3 file flags you can apply to work around it, checked only in the root of the mods folder:
- Any file starting with "DISABLEALLMODS". This will force disable all currently installed mods, but will still load all their metadata. Removing this flag will return the mod states to how it was previously.
- Any file starting with "NOLOADORDER". This will erase the load order/states and always load mods in folder alphabetical order, with mod states depending on the "Enable New Mods" option in the preferences menu.
- Any file starting with "NOMODS". This turns off mod loading entirely by making the game not find any metadata files to load.
If there's problems with installed mods - like if an enabled mod makes the game crash on startup - there's 3 file flags you can apply to work around it, checked only in the root of the mods folder. They will be any file starting with:
- "DISABLEALLMODS". This will force disable all currently installed mods, but will still load all their metadata. This doesn't change the saved states of your mods, so you can still enable/disable them while this flag is active.
- "NOLOADORDER". This will erase the load order/states and always load mods in folder alphabetical order, with mod states depending on the "Enable New Mods" option in the preferences menu.
- "NOMODS". This turns off mod loading entirely by making the game not find any metadata files to load.
These file flags already exist in the mods folder, but renamed to not trigger in-game. Enable them by renaming the file to take off the first hyphen.
When ordering the mods in the mod menu, know that not all mod code will be loaded according to the order. Ren'Py has a feature called 'init' that will run code at certain mod-defined stages (priorities) of the engine starting up, so if one mod's init block is set to run at an earlier priority than another mod's, it doesn't what order it is in the mod loader, it will always load that init first. The only time when the order comes into effect is if 2 mod's init blocks run at the same priority, or aren't running in an init block.
When ordering the mods in the mod menu, know that not all mod code will be loaded according to the order. Ren'Py has a feature called 'init' that will run code at certain mod-defined stages (priorities) of the engine starting up, so if one mod's init block is set to run at an earlier priority than another mod's, it doesn't matter what order it is in the mod loader, it will always load that init first. The only time when the order comes into effect is if two mod's init blocks run at the same priority, or aren't running in an init block.
--- MOD CREATION PRE-REQUSITES ---
@@ -57,16 +57,16 @@ Below is all the possible entries you can put in, and explanations for what they
"Display" : How your mod button appears if there's an icon image detected. This can be set to "name" - which only displays the mod name - "icon" - which only displays the icon, taking up the entire button - or "both" - which displays the name and icon together, with the icon miniaturized and to the side of the name. This defaults to "both" if it doesn't exist, and if an icon image is not present, it will fall back to "name" mode.
"Thumbnail Displayable" : What displayable to use for the thumbnail when the mod has loaded scripts. If this doesn't exist, the game will use the thumbnail image found alongside your metadata file
"Thumbnail Displayable" : What displayable to use for the thumbnail when the mod is enabled. If this doesn't exist, the game will use the thumbnail image found alongside your metadata file
"Icon Displayable" : What displayable to use for the icon when the mod has loaded scripts. If this doesn't exist, the game will use the icon image found alongside your metadata file
"Icon Displayable" : What displayable to use for the icon when the mod is enabled. If this doesn't exist, the game will use the icon image found alongside your metadata file
"Screenshot Displayables" : What displayables to use for screenshots when the mod has loaded scripts. This should be a list of strings. The game will choose each displayable in the list over images found alongside the metadata file sequentially, so if there's 5 screenshot images and 3 screenshot displayables, the last 2 will still display the screenshot images, and the first 3 will display the screenshot displayables. If there's more displayables than images, then the mod will appear to gain screenshots in the mod details pane when the mod is enabled. If you enter empty strings in the list ( "" ), the game will interpret that as a deliberate skipping over to load screenshot images instead of displayables, so if your list consists of '[ "", "my_displayable" ]' and there's any number of screenshot images found, the first screenshot will still show a screenshot image, and only the next one will show a displayable. If this entry doesn't exist, it will just use the screenshot images found alongside your metadata file.
"Screenshot Displayables" : What displayables to use for screenshots when the mod is enabled. This should be a list of strings. The game will choose each displayable in the list over images found alongside the metadata file sequentially, so if there's 5 screenshot images and 3 screenshot displayables, the last 2 will still display the screenshot images, and the first 3 will display the screenshot displayables. If there's more displayables than images, then the mod will appear to gain screenshots in the mod details pane when the mod is enabled. If you enter empty strings in the list ( "" ), the game will interpret that as a deliberate skipping over to load screenshot images instead of displayables, so if your list consists of '[ "", "my_displayable" ]' and there's any number of screenshot images found, the first screenshot will still show a screenshot image, and only the next one will show a displayable. If this entry doesn't exist, it will just use the screenshot images found alongside your metadata file.
In the same directory as your metadata file, there's image files you can put in the to make your mod more appealing. These can be any of Ren'Py's supported image file types, so the file extension here is just for demonstration:
-'thumbnail.png' will appear as a banner for your mod, at the top of the mod details pane
-'icon.png' will show a small image next your mod name or take up the entire button depending on what your "Display" entry is set to.
-'icon.png' will show a small image next your mod name or take up the entire button depending on what your "Display" entry is set to. NOTE: Putting in an image too big in dimensions will crash the game.
-'screenshot(number).png' will show screenshots at the bottom of the mod details pane. The '(number)' is a placeholder for a number that represents what order your screenshots appear in. For example, you can have 'screenshot1.png', 'screenshot2.png', and 'screenshot3.png' in your mod directory, and they will all appear in the mod details pane in order. These numbers don't need to be strictly sequential, they can be any number as long as they are integers, and the order will be derived from ASCII ordering.
As the game loads the metadata, it will also collect scripts for loading. When you make your mod scripts, ALL OF THEM NEED TO HAVE .rpym EXTENSIONS. This is important for being able to control mods with the mod loader, otherwise there would be mod conflicts galore. If you use .rpy extensions to make your mod scripts, they will work, but they will not be manageable by the mod loader. This means you should only use them for development, or if you're not using the mod loader anyway - such as adding a translation to the base game.
+27 -13
View File
@@ -133,31 +133,47 @@ default preferences.text_cps = 50
default preferences.afm_time = 15
## Disables loading all languages at once at startup, only loading a language when selecting a language
define config.defer_tl_scripts = True
## Retains linear audio fading so mixing doesn't get fucked from the update to 8.2+
define config.linear_fades = True
## The variable used for making the splashscreen not show when reloading a mod
default persistent.reloading_mods = False
## Snoot-specific config variables
define config.developer = "auto"
default persistent.use_epilogue_menu = False
default persistent.enable_debug_scores = config.developer
default persistent.enable_chapter_select = config.developer
default persistent.lewd = False
default persistent.autoup = False
default persistent.show_mod_screenshots = True
default persistent.gallery_edgescroll = True
default persistent.scroll = False
init -1000 python:
if persistent.newmods_default_state == None:
persistent.newmods_default_state = True
persistent.newmods_default_state = False
init python:
# No idea what this does
# Makes going forward on the scroll wheel advance dialogue, rather than just seen dialogue
if persistent.scroll == True:
config.keymap['dismiss'].append('mousedown_4')
elif persistent.scroll == None:
persistent.scroll = False
##Default Audio is not ear rape
define config.default_music_volume = 0.48
define config.default_sfx_volume = 0.80
define config.default_music_volume = 0.61
define config.default_sfx_volume = 0.8
define config.default_voice_volume = 0.8
## Save directory ##############################################################
##
@@ -214,19 +230,17 @@ init python:
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
# Do not include mod_examples as part of the build process
build.classify('game/mods_example/**', None)
build.classify('game/mods_example/.**', None)
# Do not include mod folders as part of the build process
build.classify('game/mods/*/', None)
#Development files need not apply
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)
build.classify('android.keystore.original', None)
build.classify('*dist/*', None)
## To archive files, classify them as 'archive'.
Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

+84 -199
View File
@@ -408,18 +408,6 @@ image bonus_flash:
repeat 4
image template_black_m = Composite(
(511, 129),
(6, 5), Crop((0, 0, 511-12, 129-12), Solid("#000000", width=2, height=2)),
(0, 0), "gui/button/menubuttons/template_idle.png",
(0, 0), "gui/button/menubuttons/template_idle.png"
)
image template_black:
"template_black_m"
matrixcolor TintMatrix(Color((0, 0, 0)))
alpha 0.8
screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
#("gui/button/menubuttons/template_idle.png", "Bonus Chapters", ShowMenu("ex_ch_menu"))
button:
@@ -450,23 +438,28 @@ transform bonus_notif:
pause 6.00
easeout_cubic 0.65 alpha 0
screen main_menu_background(frame=True):
# The style prefix needs to be set outside of this screen if you want to have the sidebar graphic
if persistent.use_epilogue_menu:
add "big ending"
else:
add gui.main_menu_background
## This empty frame darkens the main menu.
if frame:
frame:
background "gui/overlay/main_menu.png"
screen main_menu():
## This ensures that any other menu screen is replaced.
tag menu
style_prefix "main_menu"
if renpy.seen_image("big ending"):
style_prefix "main_menu_ex"
add "big ending"
else:
style_prefix "main_menu"
add gui.main_menu_background
## This empty frame darkens the main menu.
frame:
pass
use main_menu_background
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
fixed:
@@ -501,27 +494,16 @@ screen main_menu():
spacing 10
xpos 1885
ypos 1130
if renpy.seen_image('big ending'):
use main_menu_button("template_black", "Start", Start())
use bonus_chapter_button("template_black")
use main_menu_buttons("template_black",
[
[ _("Load"), ShowMenu("load") ],
[ _("Options"), ShowMenu("preferences") ],
[ _("Extras"), ShowMenu("extras") ], \
[ _("Quit"), Quit(confirm=not main_menu) ]
] )
else:
use main_menu_button("gui/button/menubuttons/template_idle.png", "Start", Start())
use bonus_chapter_button()
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ _("Load"), ShowMenu("load") ],
[ _("Options"), ShowMenu("preferences") ],
[ _("Extras"), ShowMenu("extras") ], \
[ _("Quit"), Quit(confirm=not main_menu) ]
] )
#on "show" action renpy.start_predict_screen("cg_gallery")
use main_menu_button(main_menu_button_img, "Start", Start())
use bonus_chapter_button(main_menu_button_img)
use main_menu_buttons(main_menu_button_img,
[
[ _("Load"), ShowMenu("load") ],
[ _("Options"), ShowMenu("preferences") ],
[ _("Extras"), ShowMenu("extras") ], \
[ _("Quit"), Quit(confirm=not main_menu) ]
] )
style main_menu_frame is empty
style main_menu_vbox is vbox
@@ -533,8 +515,6 @@ style main_menu_frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
style main_menu_vbox:
xalign 1.0
xoffset -30
@@ -551,26 +531,6 @@ style main_menu_text:
style main_menu_title:
properties gui.text_properties("title")
style main_menu_ex is main_menu
style main_menu_ex_vbox is main_menu_vbox
style main_menu_ex_text is main_menu_text
style main_menu_ex_frame is main_menu_frame
#style main_menu_ex_button:
#color "#222"
#background "gui/button/menubuttons/template_idle.png"
#xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
#style main_menu_ex_button:
#color "#222"
#style main_menu_version:
# properties gui.text_properties("version")
# style
## Game Menu screen ############################################################
##
## This lays out the basic common structure of a game menu screen. It's called
@@ -585,7 +545,7 @@ screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
style_prefix "game_menu"
if main_menu:
add gui.main_menu_background
use main_menu_background(False)
else:
add gui.game_menu_background
@@ -710,12 +670,11 @@ screen about():
tag menu
style_prefix "main_menu"
add gui.main_menu_background
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
use main_menu_background
if persistent.use_epilogue_menu:
add "gui/overlay/extras_submenu_panel_epilogue.png"
else:
add gui.extras_submenu_panel
## The use statement includes another screen inside this one. The actual
## contents of the main menu are in the navigation screen.
@@ -726,76 +685,14 @@ screen about():
xoffset 80
xmaximum 1100
label "[config.name!t]"
text _("Version [config.version!t]\n")
text _("Version [config.version!t]\n") outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
## gui.about is usually set in options.rpy.
if gui.about:
text "[gui.about!t]\n"
style_prefix "quick"
text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0
use extrasnavigation
## Updates screen ################################################################
##
## This screen houses the updates option using the built-in updates capabilities of Ren'Py.
##
screen updates():
tag menu
style_prefix "main_menu"
add gui.main_menu_background
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
## The use statement includes another screen inside this one. The actual
## contents of the main menu are in the navigation screen.
vbox:
yalign 0.00
yoffset 100
xoffset 80
xmaximum 1100
label "[config.name!t]"
text _("Version [config.version!t]")
if updater.can_update():
label _("{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}")
else:
label _("{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}")
label _("Auto Update:")
label _("{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}")
textbutton _("{size=36}Toggle Automatic Updates\n{/size}") action [Notify("Toggling Automatic Updates..."), Function(ToggleAutoUpdate)]
label _("Update Checker:")
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)]
label _("Updater:")
label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}")
default input_on = False
button:
key_events True
if input_on:
input:
default "[persistent.updateWebServer!t]" size 36 color '#FFFFFF'
value FieldInputValue(persistent, 'updateWebServer')
length 49
copypaste True
else:
text persistent.updateWebServer size 36 color '#FFFF00'
action ToggleScreenVariable('input_on')
style_prefix "quick"
if persistent.updateresult != "No new version is available":
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)]
else:
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")]
text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
use extrasnavigation
## Load and Save screens #######################################################
@@ -977,22 +874,23 @@ screen preferences():
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 _("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 _("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")
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", 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)]
vbox:
style_prefix "check"
label _("Skip")
@@ -1006,14 +904,8 @@ screen preferences():
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, 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 not main_menu:
if config.developer and persistent.enable_debug_scores:
if persistent.enable_debug_scores:
$ debug_story_variables(False)
$ debug_story_variables(True)
else:
@@ -1021,8 +913,22 @@ screen preferences():
vbox:
style_prefix "check"
label _("Gallery")
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
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.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)]
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
@@ -1039,7 +945,6 @@ screen preferences():
scrollbars "vertical"
for lang in languages:
fixed:
xsize 656
ysize 60
use lang_button(lang)
@@ -1069,7 +974,7 @@ screen preferences():
hbox:
bar value Preference("music volume") yalign 0.5
textbutton _("Reset"):
action Function(preferences.set_volume, 'music', config.default_music_volume)
action Function(preferences.set_mixer, 'music', config.default_music_volume)
if config.has_sound:
@@ -1077,7 +982,7 @@ screen preferences():
hbox:
bar value Preference("sfx volume") yalign 0.5
textbutton _("Reset"):
action Function(preferences.set_volume, 'sfx', config.default_sfx_volume)
action Function(preferences.set_mixer, 'sfx', config.default_sfx_volume)
if config.sample_sound:
textbutton _("Test") action Play("sound", config.sample_sound)
@@ -1086,7 +991,7 @@ screen preferences():
bar value Preference("ui volume") yalign 0.5
textbutton _("Reset"):
yalign 0.5
action Function(preferences.set_volume, 'ui', config.default_sfx_volume)
action Function(preferences.set_mixer, 'ui', config.default_sfx_volume)
if config.has_voice:
label _("Voice Volume")
@@ -1094,7 +999,7 @@ screen preferences():
bar value Preference("voice volume") yalign 0.5
textbutton _("Reset"):
yalign 0.5
action Function(preferences.set_volume, 'voice', config.default_sfx_volume)
action Function(preferences.set_mixer, 'voice', config.default_voice_volume)
if config.sample_voice:
textbutton _("Test") action Play("voice", config.sample_voice)
@@ -1274,11 +1179,7 @@ screen extras():
style_prefix "main_menu"
add gui.main_menu_background
## This empty frame darkens the main menu.
frame:
pass
use main_menu_background
use extrasnavigation
@@ -1298,12 +1199,15 @@ screen extrasnavigation():
spacing 10
xpos 1885
ypos (1269 if persistent.enable_chapter_select else 1130)
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
$ 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") ],
[ _("About"), ShowMenu("about") ],
[ _("Gallery"), ShowMenu("cg_gallery") ],
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
*([(_("Chapter Select{#MainMenu}"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
[ _("Mods"), ShowMenu("mod_menu") ],
[ _("Return"), ShowMenu("main_menu") ]
] )
@@ -1321,12 +1225,13 @@ screen help():
style_prefix "main_menu"
add gui.main_menu_background
add gui.extras_submenu_panel
use main_menu_background
if persistent.use_epilogue_menu:
add "gui/overlay/extras_submenu_panel_epilogue.png"
else:
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
default device = "keyboard"
@@ -1395,6 +1300,10 @@ screen keyboard_help():
label _("Page Down")
text _("Rolls forward to later dialogue.")
hbox:
label _("Backspace")
text _("Hides mod details. Shows mod errors if there is any.")
hbox:
label "H"
text _("Hides the user interface.")
@@ -1864,12 +1773,13 @@ style pref_vbox:
## that uses fewer and bigger buttons that are easier to touch.
#redefine function
screen quick_button(filename, label, function):
screen quick_button(filename, label, function=NullAction(), function2=NullAction()):
variant "mobile"
button:
xmaximum 124
ymaximum 124
action function
alternate function2
fixed:
add filename xalign 0.5 yalign 0.5 zoom 1.75
text label xalign 0.5 yalign 0.5 size 42 style "quick_button_text"
@@ -1891,31 +1801,6 @@ screen quick_menu():
[ _("Menu"), ShowMenu(), NullAction() ] \
] )
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
variant "mobile"
vbox:
xpos 1940
yalign 0.03
if persistent.splashtype == 1:
add "gui/sneedgame.png"
else:
add "gui/snootgame.png"
vbox:
spacing 10
xpos 1885
ypos (1269 if 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") ]
] )
add Null(0, 129)
style radio_button:
variant "mobile"
foreground "gui/phone/button/radio_[prefix_]foreground.png"
+7 -5
View File
@@ -57,12 +57,14 @@ label before_main_menu:
if preferences.language == None:
$ preferences.language = 'en'
# Call initial language setup screen
if (persistent.languaged_up is None):
$ preferences.set_volume('ui', config.default_sfx_volume)
$ persistent.languaged_up = True
call screen lang_sel
# Setting this here means we're past reloading scripts, therefore we're not reloading mods
$ persistent.reloading_mods = False
# Call initial language setup screen
# languaged_up is set within lang_sel
if (persistent.languaged_up is None):
$ preferences.set_mixer("ui", config.default_sfx_volume)
call screen lang_sel
return
label start:
@@ -5244,7 +5244,7 @@ label chapter_11:
window auto
pause .5
scene classroom
scene science class
show anon neutral:
yalign 0.1 xalign 0.2
show fang neutral behind anon:
+4 -4
View File
@@ -265,19 +265,19 @@ label chapter_7:
#Decided to take the unholy if/else approach to this, if there is a better, cleaner, or faster way to do it then do point me to it.
#Values here were decided by writers, not me
if anonscore >= 3 and fangscore >= 4:
if (anonscore >= 3 and fangscore >= 4) or ending_route_number == 4:
#>>golden
St "Upright Strength."
St "OH! {w=.3} I dont think you need to worry about whats to come, Anon."
elif anonscore >= 3 and fangscore <= 3:
elif (anonscore >= 3 and fangscore <= 3) or ending_route_number == 3:
#>>tradwife
St "Inverted Hierophant."
St "You need to be wary of your words and actions, Anon."
elif anonscore <= 3 and fangscore >= 3:
elif (anonscore <= 3 and fangscore >= 3) or ending_route_number == 2:
#>>doomer
St "Inverted Hermit."
St "Anon, if you ever feel lonely you can come to me."
elif anonscore <= 2 and fangscore <= 2:
elif (anonscore <= 2 and fangscore <= 2) or ending_route_number == 1:
#>>shooter
St "Oh my, {w=.3} inverted Empress."
St "You need to be wary about future negligence, Anon."
+38 -9
View File
@@ -718,7 +718,7 @@ label chapter_8:
pause .5
"{cps=*0.5}AAAAAAAAAAAAAAAA{/cps}"
play music 'audio/OST/Dragging on and on....ogg' fadein 1.0
play music 'audio/OST/Dragging on and on....ogg' fadein 1.0 volume 0.5
pause .5
F "Anon, are you paying attention?"
@@ -732,15 +732,31 @@ label chapter_8:
pause .5
F "Alright, try these chords."
play sound 'audio/effects/goodA.ogg' fadein 0.5
# Renpy's audio is rarted, do this workaround instead
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/goodA.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"Her fingers press mine down, holding down the strings in an awkward position."
F "Then this."
play sound 'audio/effects/goodB.ogg' fadein 0.5
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/goodB.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"My hands are slid down closer to the base of the neck and too close to my crotch."
F "And then finally this."
play sound 'audio/effects/goodC.ogg' fadein 0.5
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/goodC.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"My fingers are shifted back up to the middle of the fretboard."
F "Try that out, Anon."
@@ -749,14 +765,25 @@ label chapter_8:
"Fang lets go of my sweaty hands. She doesnt move from behind me though."
"I try and replicate the movements."
pause .5
play sound 'audio/effects/goodA.ogg' fadein 0.5
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/goodA.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"The first strum sounds… not bad…"
play sound 'audio/effects/badA.ogg' fadein 0.5
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/badA.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"The second note is horrendous. I blame my pants."
play sound 'audio/effects/goodC.ogg' fadein 0.5
$ renpy.music.set_volume(1.0, 0.0, 'sound')
play sound 'audio/effects/goodC.ogg'
$ renpy.music.set_volume(0.0, 1.5, 'sound')
pause 0.25
"And the last chord comes out alrightish."
pause .5
@@ -792,6 +819,8 @@ label chapter_8:
"My pinky slides off the fretboard and when I strum again a strange look appears in Fangs eyes."
window hide
window auto
$ renpy.music.set_volume(1.0, 0.5, 'sound')
pause .5
label musicalchoices:
@@ -1525,7 +1554,7 @@ label chapter_8:
"{cps=*.1}...{/cps}"
if anonscore >= 3 or fangscore >= 3:
if (anonscore >= 4 and fangscore >= 4) or ending_route_number == 4:
pause 0.5
play music 'audio/OST/its_footloose_now.ogg' fadein 1.0
+1
View File
@@ -1041,6 +1041,7 @@ label chapter_x10:
window auto
pause 0.5
$ persistent.use_epilogue_menu = True
scene big ending with Dissolve(1)
scene big blending with Dissolve(1)
pause 6
+8 -6
View File
@@ -97,9 +97,12 @@ screen cg_gallery(origin = 'CG'):
key "game_menu" action ShowMenu("main_menu")
# Bg for frame
add gui.main_menu_background
use main_menu_background(False)
# Frame
add gui.game_menu_background
if persistent.use_epilogue_menu:
add "gui/game_menu_epilogue.png"
else:
add gui.game_menu_background
tag menu
@@ -115,10 +118,9 @@ screen cg_gallery(origin = 'CG'):
transform:
zoom 0.95
hbox:
style_prefix "navigation"
xalign 0.5
spacing gui.navigation_spacing
spacing 80
for cp in CG_PATHS:
if cp['name'] == origin:
@@ -194,7 +196,7 @@ screen view_movie(item, _origin):
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "Return", _origin ]
[ _("Return"), _origin, NullAction() ]
] )
@@ -226,6 +228,6 @@ screen view_image(item, _origin):
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "Return", _origin ]
[ _("Return"), _origin, NullAction() ]
] )
+9
View File
@@ -77,6 +77,15 @@ label chapter_select_go_back:
ending_chapters_determined = False
current_chapter = chapter_list[chapter_list_index]
renpy.music.set_volume(1.0, 0.0, 'sound')
renpy.music.set_volume(1.0, 0.0, 'music')
renpy.music.set_volume(1.0, 0.0, 'music1')
renpy.music.set_volume(1.0, 0.0, 'music2')
renpy.music.set_volume(1.0, 0.0, 'ambient')
renpy.music.set_volume(1.0, 0.0, 'ambient1')
renpy.music.set_volume(1.0, 0.0, 'ambient2')
renpy.music.set_volume(1.0, 0.0, 'ambient3')
menu:
"What ending do you want to lock to?"
+29 -2
View File
@@ -125,6 +125,33 @@ init 999 python:
_('Asset help (Italian):'): [
'Dsatta',
],
_('Promo Art (Italian):'): [
'Kaprakaz',
],
_('Translators (Portuguese):'): [
'SusiAnon',
'MacacAnon'
],
_('Proofreaders (Portuguese):'): [
'SusiAnon',
'Pillow Anon',
'UltrAnon'
],
_('Asset help (Portuguese):'): [
'UltrAnon',
'D.Anon',
'NightArt'
],
_('Promo Art (Portuguese):'): [
'Ironclad Jimbo',
'Cdpraxis',
],
_('Translator (Thai):'): [
'Armorchin'
],
_('Promo Art (Thai):'): [
'Armorchin'
],
}
textlist = []
@@ -233,9 +260,9 @@ label test_credits:
init python:
# Note: Measuring in pixels
panning_stop = 12700 # How far the panning will go down
panning_stop = 15070 # How far the panning will go down
panning_stop_bg = 8100 # How far the background images will pan, to create the parallax effect (I can't believe cuckedmanon didn't like this!)
panning_duration = 65 # How long in seconds
panning_duration = 77 # How long in seconds
credits_img_offset = panning_stop + 550 # Distance away from panning_stop where the image will render
credits_img_boundary = credits_img_offset + 590 # The offset + the height of the credits image file
+10 -14
View File
@@ -65,12 +65,7 @@ screen ex_ch_menu():
tag menu
style_prefix "main_menu"
add gui.main_menu_background
frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
use main_menu_background
#side_yfill True
vbox:
@@ -92,14 +87,15 @@ screen ex_ch_menu():
mousewheel True
draggable True
pagekeys True
vbox:
#xpos 1885
spacing 12
#yalign 0.98
use ex_ch_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu"))
#use ex_ch_button("gui/button/menubuttons/template_idle.png", str(e), ShowMenu("main_menu"))
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
vbox:
spacing 12
use ex_ch_button(main_menu_button_img, "Return", ShowMenu("main_menu"))
if len(ex_chapters_menu):
use ex_ch_buttons("gui/button/menubuttons/template_idle.png", ex_chapters_menu )
use ex_ch_buttons(main_menu_button_img, ex_chapters_menu )
for x in range(0, len(ex_chapters) - len(ex_chapters_menu)):
use ex_ch_button("gui/button/menubuttons/template_idle.png", "???", None)
use ex_ch_button(main_menu_button_img, "???", None)
+1 -1
View File
@@ -29,7 +29,7 @@ define long_textbox_img = Image("gui/textbox_long.png", xalign=0.5, yalign=1.0)
define long_textbox = { "window_background": long_textbox_img, 'namebox_style': "namebox_large" }
#Characters
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled") # try to remember some of the basics of CTC
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled-close") # try to remember some of the basics of CTC
define narrator = Character(kind=base)
define A = Character (_('Anon'), base, color="#36E12D", who_outlines=[(gui.name_text_thickness, '#0C300A')]) # Light Green
define F = Character (_('Fang'), base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
+206 -189
View File
@@ -62,7 +62,7 @@
# etc...
# }
#
# Note that some keys may exist, but simple be 'None', likely as a result of improperly filled out metadata files.
# Note that some keys may exist, but end up as 'None', likely as a result of improperly filled out metadata files.
init -999 python:
@@ -145,7 +145,7 @@ init -999 python:
destination_dict[key] = source_dict[key]
del source_dict[key]
# Checks to see if the key in the metadata dict exists/is correct, and tries to set a default if it isn't.
# Checks to see if the key in the metadata dict exists/is correct.
# For keys that are set to None, it will be treated as if it doesn't exist
def value_isnt_valid_string(metadata, key):
return metadata.get(key) != None and not isinstance(metadata.get(key), str)
@@ -196,7 +196,7 @@ init -999 python:
mod_jsonfail_list = [] # List of languages that has an associated metadata language file that failed to load.
mod_preferred_modname = []
mod_exception = False
mod_in_root_folder = file.count("/", len(mods_dir)) is 0
mod_in_root_folder = file.count("/", len(mods_dir)) == 0
mod_folder_name = file.split("/")[-2]
# mod_name is used only to display debugging information via mod_menu_errorcodes. Contains the mod folder name and whatever translations of
# the mod's name that exist. Kind of a cursed implemnetation but with how early error reporting this is before solidifying the mod name
@@ -288,7 +288,7 @@ init -999 python:
# Since lang keys will only be added to the mod data dict if their respective metadata successfully loaded, no need to check if they can.
for lang_key in mod_data_final.keys():
if lang_key is "None" or lang_key in renpy.known_languages():
if lang_key == "None" or lang_key in renpy.known_languages():
lang_data = mod_data_final[lang_key]
# The JSON object returns an actual python list, but renpy only works with it's own list object and the automation for this fails with JSON.
@@ -298,7 +298,7 @@ init -999 python:
lang_data[x] = renpy.revertable.RevertableList(lang_data[x])
# Automatically give the name of the mod from the folder it's using if there's no defined name, but report an error if one is defined but not a string
if value_isnt_valid_string(lang_data, "Name"):
if not isinstance(lang_data.get("Name"), str):
if lang_data.get("Name") != None:
mod_menu_errorcodes.append([ ModError.Name_Not_String, { "mod_name": mod_name, "lang_code": lang_key }])
@@ -502,7 +502,7 @@ init -999 python:
# Make a copy of the current screenshots list, then put displayable screenshots wherever the values of "Screenshot Displayables" correspond in this list
# mod_screenshots will return an empty list if there were no screenshot files to begin with, so this works fine.
for lang_key in mod_data_final.keys():
if lang_key is "None" or lang_key in renpy.known_languages():
if lang_key == "None" or lang_key in renpy.known_languages():
if mod_data_final[lang_key].get("Screenshots") == None:
mod_screenshots = []
else:
@@ -538,7 +538,11 @@ init -999 python:
for saved_mod_id, saved_mod_state in persistent.enabled_mods:
for mod in mod_menu_metadata:
if mod["ID"] == saved_mod_id:
mod["Enabled"] = saved_mod_state
# If this mod doesn't have any loadable scripts, treat it as on (Say, if a mod changed something in the base game and the label points there)
if not mod["Scripts"]:
mod["Enabled"] = True
else:
mod["Enabled"] = saved_mod_state
temp_list.append(mod)
break
@@ -549,7 +553,7 @@ init -999 python:
if mod["ID"] == saved_mod_id[0]:
mod_not_found = False
if mod_not_found:
# If this mod doesn't have any loadable scripts, treat it as on (Say, if a mod changed something in the base game and the label points there)
# Treat the mod as on if there's no scripts here too
if not mod["Scripts"]:
mod["Enabled"] = True
# Otherwise set mods to the default state
@@ -559,26 +563,26 @@ init -999 python:
mod_menu_metadata = temp_list
# Rewrite enabled_mods to reflect the new mod order, and load all the mods
# Rewrite enabled_mods to reflect the new mod order, and load all the mod scripts
persistent.enabled_mods.clear()
for mod in mod_menu_metadata:
persistent.enabled_mods.append( [ mod["ID"], mod["Enabled"] ] )
# Making the load_mods check here makes it so the NOLOAD flag doesn't overwrite the previously saved load order
# Making the load_mods check here makes it so the DISABLEALLMODS flag doesn't overwrite the previously saved load order
if load_mods and mod["Enabled"]:
for script in mod["Scripts"]:
renpy.include_module(script)
else:
elif mod["Scripts"]:
mod["Enabled"] = False
# Now convert our errorcodes to errorstrings
init python:
def return_translated_mod_name(mod_dict):
if _preferences.language == None and "None" in mod_dict.keys():
return "'{color=#ffbdbd}" + mod_dict["None"] + "{/color}'"
elif _preferences.language in mod_dict.keys():
if _preferences.language in mod_dict.keys():
return "'{color=#ffbdbd}" + mod_dict[_preferences.language] + "{/color}'"
elif "None" in mod_dict.keys():
return "'{color=#ffbdbd}" + mod_dict["None"] + "{/color}'"
else:
if mod_dict["Folder"] == None:
return __("the root of the mods folder")
@@ -670,7 +674,7 @@ init python:
# All operations that use this function need to be able to parse "None" as a safeguard.
def return_translated_metadata(mod_metadata, key):
if _preferences.language != None and _preferences.language in mod_metadata.keys() and mod_metadata[_preferences.language].get(key) != None:
if _preferences.language in mod_metadata.keys() and mod_metadata[_preferences.language].get(key) != None:
return mod_metadata[_preferences.language][key]
elif "None" in mod_metadata.keys():
return mod_metadata["None"].get(key)
@@ -685,14 +689,11 @@ screen mod_menu():
style_prefix "main_menu"
add gui.main_menu_background
frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
use main_menu_background
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
default mod_metadata = {}
default reload_game = False
default mod_button_enabled = True
default mod_button_alpha = 1.0
default mod_screenshot_list = None
@@ -707,14 +708,8 @@ screen mod_menu():
spacing 8
use mod_menu_top_buttons(_("Reload Mods"), SetScreenVariable("reload_game", True)):
# For some reason, Function() will instantly reload the game upon entering the mod menu, and put it in an infinite loop, so doing this python jank
# is the only way
if reload_game:
python:
reload_game = False
renpy.reload_script()
use mod_menu_top_buttons(_("Return"), ShowMenu("extras"))
use mod_menu_top_buttons(main_menu_button_img, _("Reload Mods"), Function(reload_game))
use mod_menu_top_buttons(main_menu_button_img, _("Return"), ShowMenu("extras"))
viewport:
xpos 1260
@@ -753,15 +748,18 @@ screen mod_menu():
style_prefix "main_menu"
add Null(30,30)
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
if persistent.use_epilogue_menu:
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#000000"))
else:
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
hover_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00FF03"))
action Function(swapMods, i, i-1)
else:
add Null(30,30) at truecenter
# Enablin/disabling mods button
# Enabling/disabling mods button
button:
at truecenter
style_prefix "main_menu"
@@ -770,11 +768,14 @@ screen mod_menu():
if not renpy.variant(["mobile", "steam_deck"]):
ysize 65
add "gui/button/menubuttons/checkbox.png" xalign 0.5 yalign 0.5
if persistent.use_epilogue_menu:
add "gui/button/menubuttons/checkbox_epilogue.png" xalign 0.5 yalign 0.5
else:
add "gui/button/menubuttons/checkbox.png" xalign 0.5 yalign 0.5
if x["Scripts"]:
action Function(toggle_persistent_mods, i)
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
if persistent.enabled_mods[i][1]:
idle_foreground Transform("gui/button/menubuttons/check.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00ff40"))
hover_foreground Transform("gui/button/menubuttons/check.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#ffffff"))
@@ -790,9 +791,12 @@ screen mod_menu():
style_prefix "main_menu"
add Null(30,30)
action Function(swapMods, i, i+1)
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
if persistent.use_epilogue_menu:
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#000000"))
else:
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
hover_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00FF03"))
else:
@@ -814,7 +818,7 @@ screen mod_menu():
at transform:
truecenter
alpha mod_button_alpha
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
hovered SetScreenVariable("mod_metadata", x)
# Clicking the mod button starts the mod on PC, but we have to click a seperate button to start on Android.
@@ -827,15 +831,15 @@ screen mod_menu():
xsize 475
ymaximum 2000
if mod_button_enabled:
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
background Frame(main_menu_button_img, 12, 12)
else:
background Transform(Frame("gui/button/menubuttons/template_idle.png", 12, 12),matrixcolor=SaturationMatrix(0.5))
background Transform(Frame(main_menu_button_img, 12, 12),matrixcolor=SaturationMatrix(0.5))
padding (5, 5)
# Display mod name and/or icon
if return_translated_metadata(x, "Display") == "icon" and mod_icon != None:
add RoundedCorners(mod_icon, radius=(5, 5, 5, 5)) xsize 342 fit "scale-down" at truecenter
add RoundedCorners(mod_icon, radius=(15, 15, 15, 15)) xsize 462 yoffset -1 xoffset 1 fit "scale-down" at truecenter
elif return_translated_metadata(x, "Display") == "both" or return_translated_metadata(x, "Display") == None and mod_icon != None:
hbox:
spacing 20
@@ -864,19 +868,19 @@ screen mod_menu():
ysize 160
button:
at truecenter
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
action Start(x["Label"])
frame:
xsize 475
ymaximum 2000
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
background Frame(main_menu_button_img, 12, 12)
padding (5, 5)
text x["Name"] xalign 0.5 yalign 0.5 size 34 textalign 0.5
else:
fixed:
ymaximum 600 # This is the stupidest fucking hack fix
ymaximum 750 # This is the stupidest fucking hack fix
text _("You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""):
style_prefix "navigation"
@@ -885,166 +889,174 @@ screen mod_menu():
xalign 0.5 yalign 0.5
outlines [(3, "#342F6C", absolute(0), absolute(0))]
# Clears the mod details pane, consequently bringing up mod errors if there's any
key ["any_K_BACKSPACE"] action SetScreenVariable("mod_metadata", {})
# Displays the mod metadata on the left side
# This has two seperate viewports for error display because renpy is retarded
if mod_metadata != {}:
# Mod play button for android
# I'm too fuckin tired to make this not shit and just put this and the viewport into a vbox, forgive me
$ mod_has_label_android = renpy.variant(["mobile", "steam_deck"]) and mod_metadata.get("Label") != None
if mod_has_label_android:
$ mod_button_alpha = 1.0 if mod_metadata["Enabled"] == True else 0.4 # Fade mod button out if mod is disabled
button:
xpos 13
ypos 928
transform:
alpha mod_button_alpha
frame:
xsize 1190
ysize 129
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
text _("Start") xalign 0.5 yalign 0.5 size 50
action Start(mod_metadata["Label"])
activate_sound "audio/ui/snd_ui_click.wav"
$ needs_android_buttons = renpy.variant(["mobile", "steam_deck"]) and (mod_metadata.get("Label") != None or (mod_metadata != {} and len(mod_menu_errorcodes) != 0))
vbox:
style_prefix "mod_menu"
xmaximum 1190
ymaximum 1050
xpos 15
ypos 15
# Mod details pane
viewport:
xmaximum 1190
if mod_has_label_android:
if needs_android_buttons:
ymaximum 900
else:
ymaximum 1050
xpos 15
ypos 15
scrollbars "vertical"
vscrollbar_unscrollable "hide"
mousewheel True
draggable True
vbox:
style_prefix "mod_menu"
# Thumbnail
python:
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Thumbnail Displayable") != None:
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail Displayable")
elif return_translated_metadata(mod_metadata, "Thumbnail") != None:
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail")
else:
mod_thumbnail = None
if mod_thumbnail:
frame:
background None
xpadding 30
bottom_padding 30
xalign 0.5
add mod_thumbnail fit 'scale-down'
# Mod details
# Omits checking for mod name, since we'll always have some kind of mod name.
# This will also not show anything if there's only a mod name, since we already show one in the mod button.
if return_translated_metadata(mod_metadata, "Version") != None or return_translated_metadata(mod_metadata, "Authors") != None or return_translated_metadata(mod_metadata, "Links") != None:
if mod_metadata == {} and len(mod_menu_errorcodes) != 0:
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
vbox:
if return_translated_metadata(mod_metadata, "Name") != None:
hbox:
text _("Name: ")
text return_translated_metadata(mod_metadata, "Name")
if return_translated_metadata(mod_metadata, "Version") != None:
hbox:
text _("Version: ")
text return_translated_metadata(mod_metadata, "Version")
if return_translated_metadata(mod_metadata, "Authors") != None:
if isinstance(return_translated_metadata(mod_metadata, "Authors"), list):
hbox:
text _("Authors: ")
text ", ".join(return_translated_metadata(mod_metadata, "Authors"))
else:
hbox:
text _("Author: ")
text return_translated_metadata(mod_metadata, "Authors")
if return_translated_metadata(mod_metadata, "Links") != None:
if isinstance(return_translated_metadata(mod_metadata, "Links"), list):
hbox:
text _("Links: ")
text ", ".join(return_translated_metadata(mod_metadata, "Links"))
else:
hbox:
text _("Link: ")
text return_translated_metadata(mod_metadata, "Links")
# Description
if return_translated_metadata(mod_metadata, "Description") != None or return_translated_metadata(mod_metadata, "Mobile Description") != None:
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
# If there's no mobile description, display the regular description on Android.
if (not renpy.android or return_translated_metadata(mod_metadata, "Mobile Description") == None) and (return_translated_metadata(mod_metadata, "Description") != None):
text return_translated_metadata(mod_metadata, "Description")
elif return_translated_metadata(mod_metadata, "Mobile Description") != None:
text return_translated_metadata(mod_metadata, "Mobile Description")
# Screenshots
python:
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Screenshot Displayables") != None:
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshot Displayables")
elif return_translated_metadata(mod_metadata, "Screenshots") != None:
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshots")
else:
mod_screenshot_list = None
if persistent.show_mod_screenshots and mod_screenshot_list:
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
hbox:
xoffset 12
box_wrap True
box_wrap_spacing 25
spacing 25
for t in mod_menu_errorcodes:
text convert_errorcode_to_errorstring(t[0], t[1])
elif mod_metadata != {}:
# Thumbnail
python:
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Thumbnail Displayable") != None:
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail Displayable")
elif return_translated_metadata(mod_metadata, "Thumbnail") != None:
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail")
else:
mod_thumbnail = None
for i in mod_screenshot_list:
imagebutton:
at transform:
ysize 200 subpixel True
fit "scale-down"
xalign 0.5 yalign 0.5
if mod_thumbnail:
frame:
background None
xpadding 30
bottom_padding 30
xalign 0.5
add mod_thumbnail fit 'scale-down'
idle i
hover Transform(i, matrixcolor=BrightnessMatrix(0.1))
action Show("mod_screenshot_preview", Dissolve(0.5), img=i)
# Mod details
# Omits checking for mod name, since we'll always have some kind of mod name.
# This will also not show anything if there's only a mod name, since we already show one in the mod button.
# Unless the display is set to "icon".
if return_translated_metadata(mod_metadata, "Version") != None or return_translated_metadata(mod_metadata, "Authors") != None or return_translated_metadata(mod_metadata, "Links") != None or mod_metadata.get("Display") == "icon":
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
vbox:
if return_translated_metadata(mod_metadata, "Name") != None:
hbox:
text _("Name: ")
text return_translated_metadata(mod_metadata, "Name")
if return_translated_metadata(mod_metadata, "Version") != None:
hbox:
text _("Version: ")
text return_translated_metadata(mod_metadata, "Version")
if return_translated_metadata(mod_metadata, "Authors") != None:
if isinstance(return_translated_metadata(mod_metadata, "Authors"), list):
hbox:
text _("Authors: ")
text ", ".join(return_translated_metadata(mod_metadata, "Authors"))
else:
hbox:
text _("Author: ")
text return_translated_metadata(mod_metadata, "Authors")
if return_translated_metadata(mod_metadata, "Links") != None:
if isinstance(return_translated_metadata(mod_metadata, "Links"), list):
hbox:
text _("Links: ")
text ", ".join(return_translated_metadata(mod_metadata, "Links"))
else:
hbox:
text _("Link: ")
text return_translated_metadata(mod_metadata, "Links")
# Description
if return_translated_metadata(mod_metadata, "Description") != None or return_translated_metadata(mod_metadata, "Mobile Description") != None:
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
# If there's no mobile description, display the regular description on Android.
if (not renpy.android or return_translated_metadata(mod_metadata, "Mobile Description") == None) and (return_translated_metadata(mod_metadata, "Description") != None):
text return_translated_metadata(mod_metadata, "Description")
elif return_translated_metadata(mod_metadata, "Mobile Description") != None:
text return_translated_metadata(mod_metadata, "Mobile Description")
# Screenshots
python:
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Screenshot Displayables") != None:
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshot Displayables")
elif return_translated_metadata(mod_metadata, "Screenshots") != None:
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshots")
else:
mod_screenshot_list = None
if persistent.show_mod_screenshots and mod_screenshot_list:
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
hbox:
xoffset 12
box_wrap True
box_wrap_spacing 25
spacing 25
for i in mod_screenshot_list:
imagebutton:
at transform:
ysize 200 subpixel True
fit "scale-down"
xalign 0.5 yalign 0.5
idle i
hover Transform(i, matrixcolor=BrightnessMatrix(0.1))
action Show("mod_screenshot_preview", Dissolve(0.5), img=i)
# Mod play and hide mod details pane buttons for android
if needs_android_buttons:
hbox:
box_reverse True
if len(mod_menu_errorcodes) != 0:
button:
frame:
xfill True
yfill True
if mod_metadata.get("Label") != None:
xmaximum 0.5
if persistent.use_epilogue_menu:
background Frame("gui/button/menubuttons/template_idle_epilogue.png", 12, 12)
else:
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
text _("Show Errors") xalign 0.5 yalign 0.5 size 50 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
action SetScreenVariable("mod_metadata", {})
activate_sound "audio/ui/uiClick.wav"
if mod_metadata.get("Label") != None:
$ mod_button_alpha = 1.0 if mod_metadata["Enabled"] == True else 0.4 # Fade mod button out if mod is disabled
button:
transform:
alpha mod_button_alpha
frame:
xfill True
yfill True
if persistent.use_epilogue_menu:
background Frame("gui/button/menubuttons/template_idle_epilogue.png", 12, 12)
else:
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
text _("Start") xalign 0.5 yalign 0.5 size 50 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
action Start(mod_metadata["Label"])
activate_sound "audio/ui/uiClick.wav"
elif len(mod_menu_errorcodes) != 0:
viewport:
xmaximum 1190
ymaximum 1050
xpos 15
ypos 15
scrollbars "vertical"
vscrollbar_unscrollable "hide"
mousewheel True
draggable True
vbox:
style_prefix "mod_menu"
frame:
background Frame("gui/mod_frame.png", 30, 30)
padding (30, 30)
xfill True
vbox:
spacing 25
for t in mod_menu_errorcodes:
text convert_errorcode_to_errorstring(t[0], t[1])
if not persistent.seenModWarning:
$ persistent.seenModWarning = True
@@ -1064,16 +1076,21 @@ screen mod_screenshot_preview(img):
key ["mouseup_1", "mouseup_3"] action Hide("mod_screenshot_preview", dissolve)
screen mod_menu_top_buttons(text, action):
screen mod_menu_top_buttons(image, text, action):
button:
frame:
xmaximum 300
ymaximum 129
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
background Frame(image, 12, 12)
text text xalign 0.5 yalign 0.5 size 34
action action
activate_sound "audio/ui/snd_ui_click.wav"
activate_sound "audio/ui/uiClick.wav"
transclude
transclude
init python:
def reload_game():
persistent.reloading_mods = True
renpy.reload_script()
-1
View File
@@ -1,7 +1,6 @@
# RoundedCorners() rounds the corners of a displayable you give it
python early:
import collections, pygame_sdl2 as pygame
def normalize_color(col):
a = col[3] / 255.0
+1 -1
View File
@@ -1,6 +1,6 @@
label splashscreen:
if not renpy.get_autoreload():
if not renpy.get_autoreload() and not persistent.reloading_mods:
show caveintrosequence
play sound 'audio/OST/startup.ogg'
pause 11.2
+3 -1
View File
@@ -1,4 +1,6 @@
init -1 python:
# This function name is a misnomer, this actually counts endings as seen when the player reaches the ending cards when this is called
# And it's done in the most retarded way possible because someone thought it'd be funny.
def ending_image():
#0b0000, DCBA, flash the bits with |=, check with &
endings = 0b0000
@@ -26,7 +28,7 @@ init python:
# We're at an ending
else:
ending_image()
ending_image() # Count endings that have seen the ending cards as seen
if ending_route_number == 1:
renpy.quit()
+35 -5
View File
@@ -25,9 +25,37 @@ screen OkPrompt(message, go_menu):
xalign 0.5
spacing 100
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
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
init python:
@@ -40,7 +68,9 @@ init python:
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'},
{'image': 'gui/flag/Poland.png', 'name': 'Polski', 'value': 'pl'},
{'image': 'gui/flag/Italy.png', 'name': 'Italiano', 'value': 'it'}
{'image': 'gui/flag/Italy.png', 'name': 'Italiano', 'value': 'it'},
{'image': 'gui/flag/Brazil.png', 'name': 'Português (BR)', 'value': 'pt_br'},
{'image': 'gui/flag/Thai.png', 'name': 'ภาษาไทย', 'value': 'th'}
]
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
@@ -107,9 +137,9 @@ screen lang_sel():
idle darkie(languages[i]["image"])
hover glowie(languages[i]["image"])
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == 'en',
true = [Language(languages[i]["value"]), MainMenu(False,False)],
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"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
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)]
)
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
else:
@@ -124,7 +154,7 @@ 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="OkPrompt", message=notice, go_menu=False)]
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="hiddenOkPrompt", message=notice, go_menu=False)]
)
if _preferences.language == lang["value"]:
add glowie(lang["image"]) at icon
+256
View File
@@ -1220,3 +1220,259 @@ translate es strings:
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Presiona o mueve el '[control!s]' [kind]."
# TODO: Translation updated at 2023-04-30 19:56
translate es strings:
# renpy/common/00action_other.rpy:703
old "Open [text] directory."
new "abrir directorio [text]."
# renpy/common/00preferences.rpy:507
old "audio when minimized"
new "audio cuando está minimizado"
# renpy/common/00preferences.rpy:527
old "main volume"
new "volumen principal"
# renpy/common/00preferences.rpy:531
old "mute main"
new "silenciar principal"
# TODO: Translation updated at 2024-02-08 19:31
translate es strings:
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "Click to toggle attribute, right click to toggle negative attribute."
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Click to set transform, right click to add to transform list."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Click to set, right click to add to behind list."
# renpy/common/00gui.rpy:456
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
new "Este archivo se creó en otro dispositivo. Los archivos de guardado creados de forma maliciosa pueden dañar tu ordenador. ¿Confías en el creador de este archivo y en todos los que podrían haberlo modificado?"
# renpy/common/00gui.rpy:457
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
new "¿Confías en el dispositivo en el que se creó el archivo guardado? Sólo debes elegir sí si eres el único usuario del dispositivo."
# renpy/common/00preferences.rpy:532
old "audio when unfocused"
new "audio cuando está desenfocado"
# renpy/common/00preferences.rpy:541
old "web cache preload"
new "precarga del caché web"
# renpy/common/00preferences.rpy:556
old "voice after game menu"
new "voz después del menú del juego"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
new "Editor de Globos de diálogo"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(esconder)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "Sincronización descargada."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
new "No se pudo conectar con el servidor de Ren'Py Sync."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "La conexión al servidor Ren'Py Sync expiró."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "Se ha producido un error desconocido al conectar con el servidor de Ren'Py Sync."
# renpy/common/00sync.rpy:267
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
new "El servidor de Ren'Py Sync no tiene una copia de esta sincronización. Puede que el ID de sincronización no sea válido o que se haya agotado el tiempo de espera."
# renpy/common/00sync.rpy:412
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Introduce el ID de sincronización que has generado.\nNunca introduzcas un ID de sincronización que no hayas creado tú mismo."
# renpy/common/00sync.rpy:431
old "The sync ID is not in the correct format."
new "El ID de sincronización no tiene el formato correcto."
# renpy/common/00sync.rpy:451
old "The sync could not be decrypted."
new "No se ha podido desencriptar la sincronización."
# renpy/common/00sync.rpy:474
old "The sync belongs to a different game."
new "La sincronización le es de otro juego."
# renpy/common/00sync.rpy:479
old "The sync contains a file with an invalid name."
new "The sync contains a file with an invalid name."
# renpy/common/00sync.rpy:532
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
# renpy/common/00sync.rpy:561
old "Enter Sync ID"
new "Enter Sync ID"
# renpy/common/00sync.rpy:572
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# renpy/common/00sync.rpy:599
old "Sync Success"
new "Sync Success"
# renpy/common/00sync.rpy:602
old "The Sync ID is:"
new "The Sync ID is:"
# renpy/common/00sync.rpy:608
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# renpy/common/00sync.rpy:612
old "Continue"
new "Continuar"
# renpy/common/00sync.rpy:634
old "Sync Error"
new "Sync Error"
# TODO: Translation updated at 2024-03-31 00:11
translate es strings:
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Menú de accesibilidad. Utilice las flechas arriba y abajo para navegar, y enter para activar botones y barras."
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Edita director.transforms para añadir más transformaciones."
# renpy/common/00director.rpy:1821
old "Click to set."
new "Haz clic para fijar."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "edita director.transitions para añadir más transiciones."
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Edita director.audio_channels para añadir más canales."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "¿Seguro que quieres continuar donde lo dejaste?"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "activar auto-voz"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "desactivar auto-voz"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "activar voz de portapapeles"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "desactivar voz de portapapeles"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "activar voz debug"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "desactivar voz debug"
# renpy/common/00preferences.rpy:586
old "restore window position"
new "restaurar la posición de la ventana"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(borrar globos retenidos)"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "No se encontraton métodos de actualización."
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "No se ha podido descargar la lista de archivos: "
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "El resumen de la lista de archivos no coincide."
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "Preparando la descarga de los datos del juego."
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "Descargando datos del juego."
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "Los datos del juego han sido descargados."
# renpy/common/00updater.rpy:2078
old "An error occured when trying to download game data:"
new "Se ha producido un error al intentar descargar los datos del juego:"
# renpy/common/00updater.rpy:2083
old "This game cannot be run until the game data has been downloaded."
new "Este juego no puede ejecutarse hasta que se hayan descargado los datos del juego."
# renpy/common/00updater.rpy:2090
old "Retry"
new "Reintentar"
# TODO: Translation updated at 2024-10-12 21:43
translate es strings:
# renpy/common/00accessibility.rpy:198
old "Self-voicing support is limited when using a touch screen."
new "La auto-voz es limitada en dispositivos táctiles."
# renpy/common/00preferences.rpy:597
old "reset"
new "reiniciar"
# renpy/common/00translation.rpy:63
old "Translation identifier: [identifier]"
new "Identificar de traducción: [identifier]"
# renpy/common/00translation.rpy:84
old " translates [tl.filename]:[tl.linenumber]"
new " traduce [tl.filename]:[tl.linenumber]"
# renpy/common/00translation.rpy:101
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Copiado al portapapeles.{/color}"
+84
View File
@@ -514,3 +514,87 @@ translate es strings:
old "Skipping"
new "Saltando"
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/screens.rpy:294
old "Auto"
new "Auto"
# game/screens.rpy:349
old "Chapter Select"
new "Seleccionar Capitulo"
old "Chapter Select{#MainMenu}"
new "{size=50}Seleccionar Capitulo{/size}"
# game/screens.rpy:499
old "Extras"
new "Extras"
# game/screens.rpy:810
old "Upload Sync"
new "Subir Sync"
# game/screens.rpy:814
old "Download Sync"
new "Descargar Sync"
# game/screens.rpy:903
old "Developer Tools"
new "Opciones de Desarrollador"
# game/screens.rpy:904
old "Enable Debug Scores"
new "Activar Visor de Puntos"
# game/screens.rpy:905
old "Enable Chapter Select"
new "Activar Selector de Capitulos"
# game/screens.rpy:909
old "Mods"
new "Mods"
# game/screens.rpy:910
old "Show Mod Screenshots"
new "Mostrar Screenshots de Mods"
# game/screens.rpy:911
old "Enable New Mods"
new "Activar Mods Por Defecto"
# game/screens.rpy:924
old "Enable Edgescrolling"
new "Activar Desplazamiento de Bordes"
# game/screens.rpy:929
old "Menu Style"
new "Estilo del Menú"
# game/screens.rpy:930
old "Original"
new "Original"
# game/screens.rpy:931
old "Epilogue"
new "Epílogo"
# game/screens.rpy:1332
old "Mouse Wheel Up"
new "Rueda del Mouse para arriba"
# game/screens.rpy:1359
old "Start, Guide, B/Right Button"
new "Start, Guia, B/Botón Derecho"
# game/screens.rpy:1792
old "Menu"
new "Menú"
old "Backspace"
new "Tecla de borrar"
old "Hides mod details. Shows mod errors if there is any."
new "Esconde los detalles de los mods. Muestra los errores relacionados a los mods"
+144
View File
@@ -0,0 +1,144 @@
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/src/chapter_select.rpy:1
old "1. First Day of School"
new "1. El Primer Día de la Escuela"
# game/src/chapter_select.rpy:1
old "2. Meeting the Band"
new "2. Conociendo a la Banda"
# game/src/chapter_select.rpy:1
old "3. Band Practice"
new "3. Practica de Banda"
# game/src/chapter_select.rpy:1
old "4. Music Class"
new "4. La Clase de Música"
# game/src/chapter_select.rpy:1
old "5. Gardening Club / Heart to Heart"
new "5. El Club de Jardinería / De corazón a corazón"
# game/src/chapter_select.rpy:1
old "6. Not a Date"
new "6. No es una Cita"
# game/src/chapter_select.rpy:1
old "7. Concert Day"
new "7. Día de Concierto"
# game/src/chapter_select.rpy:1
old "8. Study Session"
new "8. Sesión de Estudio"
# game/src/chapter_select.rpy:1
old "9. VVURM DRAMA"
new "9. VVURM DRAMA"
# game/src/chapter_select.rpy:1
old "10. Confession"
new "10. Confesión"
# game/src/chapter_select.rpy:1
old "11. Naser drama"
new "11. Drama de Naser"
# game/src/chapter_select.rpy:15
old "11.5. Announcing a Plan"
new "11.5. Anunciando un Plan"
# game/src/chapter_select.rpy:15
old "12. Let's all go to the Museum"
new "12. Vayamos al Museo"
# game/src/chapter_select.rpy:15
old "13. Prom is Complicated"
new "13. El Baile de Graduación es Complicado"
# game/src/chapter_select.rpy:15
old "14. Bowling for Volcano High"
new "14. Bolos para el Instituto Volcano"
# game/src/chapter_select.rpy:22
old "11.5. Announcing Nothing Important"
new "11.5. Anunciando Nada Importante"
# game/src/chapter_select.rpy:22
old "12. Let's all go to a Concert"
new "12. Vayamos Todos a un Concierto"
# game/src/chapter_select.rpy:22
old "13. Prom is For Suckers"
new "13. El Baile de Graduación es Para Perdedores"
# game/src/chapter_select.rpy:22
old "14. Anon and the Infinite Sadness"
new "14. Anon y la Tristesa Infinita"
# game/src/chapter_select.rpy:29
old "11.5. Announcing a Date"
new "11.5. Anunciando una Cita"
# game/src/chapter_select.rpy:29
old "12. Let's all go Camping"
new "12. Vayamos Todos a Acampar"
# game/src/chapter_select.rpy:29
old "13. Prom is Surprising"
new "13. El Baile de Graduación es Sorprendente"
# game/src/chapter_select.rpy:29
old "14. Volcano Highschool Musical"
new "14. El Musical del Instituto Volcano"
# game/src/chapter_select.rpy:36
old "11.5. Announcing a Show"
new "11.5. Anunciando un Show"
# game/src/chapter_select.rpy:36
old "12. Let's all go to the Aquarium"
new "12. Vayamos Todos al Acuario"
# game/src/chapter_select.rpy:36
old "13. Prom is Memorable"
new "13. El Baile de Graduación es Memorable"
# game/src/chapter_select.rpy:36
old "14. Fast Times at Volcano High"
new "14. Tiempos Rapidos en el Instituto Volcano"
# game/src/chapter_select.rpy:80
old "What ending do you want to lock to?"
new "¿Qué final quieres elegír?"
# game/src/chapter_select.rpy:80
old "Ending 1"
new "Final 1"
# game/src/chapter_select.rpy:80
old "Ending 2"
new "Final 2"
# game/src/chapter_select.rpy:80
old "Ending 3"
new "Final 3"
# game/src/chapter_select.rpy:80
old "Ending 4"
new "Final 4"
# game/src/chapter_select.rpy:80
old "Exit to main menu"
new "Volver al menú principal"
# game/src/chapter_select.rpy:158
old "Next Page"
new "Siguiente página"
# game/src/chapter_select.rpy:158
old "Go Back"
new "Atrás"
+39
View File
@@ -126,3 +126,42 @@ translate es strings:
old "Special Thanks:"
new "Agradecimientos especiales:"
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/src/credits.rpy:80
old "Translators (Italian):"
new "Traducción (Italiano):"
# game/src/credits.rpy:80
old "Proofreaders (Italian):"
new "Revisado por (Italiano):"
# game/src/credits.rpy:80
old "Asset help (Italian):"
new "Ayuda extra (Italiano):"
# TODO: Translation updated at 2024-10-12 21:43
translate es strings:
# game/src/credits.rpy:80
old "Promo Art (Italian):"
new "Arte promocional (Italiano)"
# game/src/credits.rpy:80
old "Translators (Portuguese):"
new "Traducción (Portugués):"
# game/src/credits.rpy:80
old "Proofreaders (Portuguese):"
new "Revisado por (Portugués):"
# game/src/credits.rpy:80
old "Asset help (Portuguese):"
new "Ayuda extra (Portugués):"
# game/src/credits.rpy:80
old "Promo Art (Portuguese):"
new "Arte promocional (Portugués):"
+80
View File
@@ -0,0 +1,80 @@
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/src/misc_definitions.rpy:34
old "Anon"
new "Anon"
# game/src/misc_definitions.rpy:35
old "Fang"
new "Fang"
# game/src/misc_definitions.rpy:36
old "Lucy"
new "Lucy"
# game/src/misc_definitions.rpy:37
old "Rosa"
new "Rosa"
# game/src/misc_definitions.rpy:38
old "Stella"
new "Stella"
# game/src/misc_definitions.rpy:39
old "Naomi"
new "Naomi"
# game/src/misc_definitions.rpy:40
old "Naser"
new "Naser"
# game/src/misc_definitions.rpy:41
old "Trish"
new "Trish"
# game/src/misc_definitions.rpy:43
old "Spears"
new "Spears"
# game/src/misc_definitions.rpy:44
old "Reed"
new "Reed"
# game/src/misc_definitions.rpy:54
old "(???)"
new "(???)"
# game/src/misc_definitions.rpy:55
old "Mr. Jingo"
new "Sr. Jingo"
# game/src/misc_definitions.rpy:56
old "Maitre D"
new "Maitre D"
# game/src/misc_definitions.rpy:57
old "Moe"
new "Moe"
# game/src/misc_definitions.rpy:58
old "Vince"
new "Vince"
# game/src/misc_definitions.rpy:60
old "Riley"
new "Riley"
# game/src/misc_definitions.rpy:61
old "Tana"
new "Tana"
# game/src/misc_definitions.rpy:62
old "Trevor"
new "Trevor"
# game/src/misc_definitions.rpy:73
old "Chet"
new "Chet"
+186
View File
@@ -0,0 +1,186 @@
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/src/mod_menu.rpy:584
old "the root of the mods folder"
new "la carpeta base de mods"
# game/src/mod_menu.rpy:597
old " for '{color=#ffbdbd}"
new " para '{color=#ffbdbd}"
# game/src/mod_menu.rpy:597
old "{/color}' language"
new "{/color}' del lenguaje"
# game/src/mod_menu.rpy:605
old "{color=#ff1e1e}Mod in "
new "{color=#ff1e1e}El mod "
# game/src/mod_menu.rpy:605
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " no se pudo cargar: Los metadatos no están correctamente formateados. Revisa log.txt o la consola para más información.{/color}"
# game/src/mod_menu.rpy:607
old "{color=#ff8b1f}Metadata in "
new "{color=#ff8b1f}Los metadatos en "
# game/src/mod_menu.rpy:607
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " no están correctamente formateados. Revisa log.txt o la consola para más información.{/color}"
# game/src/mod_menu.rpy:609
old "{color=#ff8b1f}Mod's name in "
new "{color=#ff8b1f}El nombre del mod "
# game/src/mod_menu.rpy:609
old " is not a string.{/color}"
new " no es un texto.{/color}"
# game/src/mod_menu.rpy:611
old "{color=#ff8b1f}Mod's label in "
new "{color=#ff8b1f}La label del mod en "
# game/src/mod_menu.rpy:613
old "{color=#ff8b1f}Display mode in "
new "{color=#ff8b1f}El modo de display del mod "
# game/src/mod_menu.rpy:615
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
new " no es válido. Las opciones validas son 'both', 'icon' y 'name', no "
# game/src/mod_menu.rpy:615
old ".{/color}"
new ".{/color}"
# game/src/mod_menu.rpy:617
old "{color=#ff8b1f}Mod's version in "
new "{color=#ff8b1f}La versión del mod "
# game/src/mod_menu.rpy:619
old "{color=#ff8b1f}Mod's authors in "
new "{color=#ff8b1f}Los autores del mod "
# game/src/mod_menu.rpy:619
old " is not a string or list.{/color}"
new " no es un texto o lista.{/color}"
# game/src/mod_menu.rpy:621
old "{color=#ff8b1f}Author "
new "{color=#ff8b1f}El autor "
# game/src/mod_menu.rpy:621
old " in "
new " de "
# game/src/mod_menu.rpy:623
old "{color=#ff8b1f}Mod's links in "
new "{color=#ff8b1f}Los links del mod "
# game/src/mod_menu.rpy:625
old "{color=#ff8b1f}Link "
new "{color=#ff8b1f}El link "
# game/src/mod_menu.rpy:627
old "{color=#ff8b1f}Mod's description in "
new "{color=#ff8b1f}La descripción del mod "
# game/src/mod_menu.rpy:629
old "{color=#ff8b1f}Mod's mobile description in "
new "{color=#ff8b1f}La descripción para celular del mod "
# game/src/mod_menu.rpy:631
old "{color=#ff8b1f}Mod's screenshot displayables in "
new "{color=#ff8b1f}Las screenshots displayables del mod "
# game/src/mod_menu.rpy:631
old " is not a list.{/color}"
new " no es una lista.{/color}"
# game/src/mod_menu.rpy:633
old "{color=#ff8b1f}Screenshot Displayable "
new "{color=#ff8b1f}La screenshot displayable "
# game/src/mod_menu.rpy:635
old "{color=#ff8b1f}Mod's icon displayable in "
new "{color=#ff8b1f}El icono displayable del mod "
# game/src/mod_menu.rpy:637
old "{color=#ff8b1f}Mod's thumbnail displayable in "
new "{color=#ff8b1f}La miniatura displayable del mod "
# game/src/mod_menu.rpy:639
old " failed to load: Does not have a mod ID.{/color}"
new " no se pudo cargar: No tiene ID.{/color}"
# game/src/mod_menu.rpy:641
old " failed to load: ID is not a string.{/color}"
new " no se pudo cargar: Su ID no es un texto.{/color}"
# game/src/mod_menu.rpy:643
old " failed to load: Another mod "
new " no se pudo cargar: Otro mod "
# game/src/mod_menu.rpy:643
old " has the same ID.{/color}"
new " tiene el mismo ID.{/color}"
# game/src/mod_menu.rpy:645
old " is not installed correctly.\nMake sure it's structure is "
new " no está instalado correctamente.\nAsegurate de que su estructura sea "
# game/src/mod_menu.rpy:645
old " instead of "
new " en vez de "
# game/src/mod_menu.rpy:647
old "{color=#ff8b1f}"
new "{color=#ff8b1f}"
# game/src/mod_menu.rpy:647
old " image for mod in "
new " imagen del mod "
# game/src/mod_menu.rpy:647
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
new " tiene un formato incompatible. {a=https://www.renpy.org/doc/html/displayables.html#images}¡Solo usa imagenes que Renpy soporte!{/a}{/color}"
# game/src/mod_menu.rpy:708
old "Reload Mods"
new "Recargar Mods"
# game/src/mod_menu.rpy:888
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
new "¡No tienes mods! \nInstala algunos en:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
# game/src/mod_menu.rpy:969
old "Name: "
new "Nombre: "
# game/src/mod_menu.rpy:973
old "Version: "
new "Versión: "
# game/src/mod_menu.rpy:978
old "Authors: "
new "Autores: "
# game/src/mod_menu.rpy:982
old "Author: "
new "Autor: "
# game/src/mod_menu.rpy:987
old "Links: "
new "Links: "
# game/src/mod_menu.rpy:991
old "Link: "
new "Link: "
# game/src/mod_menu.rpy:1062
old "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."
new "Instalar mods es peligroso, ya que estás ejecutando código desconocido en tu ordenador. Sólo instala mods de fuentes en las que confíes.\n\nSi tienes problemas con los mods instalados, consulta el archivo README.md (Inglés) en la raíz de la carpeta de mods."
old "Show Errors"
new "Mostrar Errores"
+8
View File
@@ -0,0 +1,8 @@
# TODO: Translation updated at 2024-10-07 00:57
translate es strings:
# game/src/translation.rpy:28
old "OK"
new "OK"
+34 -14
View File
@@ -52,7 +52,7 @@ translate it strings:
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Menù di Accessibilità. Usa le frecce sù e giù per navigare, e premi invio per attivare pulsanti o barre."
new "Menu di Accessibilità. Usa le frecce su e giù per navigare, e premi invio per attivare pulsanti o barre."
# renpy/common/00accessibility.rpy:139
old "Font Override"
@@ -72,11 +72,11 @@ translate it strings:
# renpy/common/00accessibility.rpy:157
old "Text Size Scaling"
new "Scalatura Dimensioni Testo"
new "Dimensioni Testo"
# renpy/common/00accessibility.rpy:169
old "Line Spacing Scaling"
new "Scalatura Spaziatura Righe"
new "Spaziatura Righe"
# renpy/common/00accessibility.rpy:181
old "High Contrast Text"
@@ -112,7 +112,7 @@ translate it strings:
# renpy/common/00accessibility.rpy:235
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "Le opzioni in questo menù hanno lo svopo di migliorare l'accessbilità. Potrebbero non funzionare con tutti i giochi, ed alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Questo non è un problema con il gioco o l'engine. Per avere risultati migliori quando si cambiano font, prova a tenere la grandezza del testo uguale a quella originale."
new "Le opzioni in questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi, ed alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Questo non è un problema con il gioco o l'engine. Per avere risultati migliori quando si cambiano font, prova a tenere la grandezza del testo uguale a quella originale."
# renpy/common/00action_file.rpy:26
old "{#weekday}Monday"
@@ -464,7 +464,7 @@ translate it strings:
# renpy/common/00gui.rpy:453
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Sei sicuro di voler ritornare al menù principale?\nPerderai progresso non salvato."
new "Sei sicuro di voler ritornare al menu principale?\nPerderai progresso non salvato."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
@@ -488,7 +488,7 @@ translate it strings:
# renpy/common/00gui.rpy:459
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
new "Questo salvataggio è stato creato su un altro dispositivo. File di salvataggio creati con malizia possono danneggiare il tuo computer. Ti fidi del creatore di questo salataggio e di chiunque possa aver modificato il file?"
new "Questo salvataggio è stato creato su un altro dispositivo. File di salvataggio creati con malizia possono danneggiare il tuo computer. Ti fidi del creatore di questo salvataggio e di chiunque possa aver modificato il file?"
# renpy/common/00gui.rpy:460
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
@@ -672,11 +672,11 @@ translate it strings:
# renpy/common/00preferences.rpy:530
old "renderer menu"
new "menù renderer"
new "menu renderer"
# renpy/common/00preferences.rpy:533
old "accessibility menu"
new "menù accessbilità"
new "menu accessibilità"
# renpy/common/00preferences.rpy:536
old "high contrast text"
@@ -696,7 +696,7 @@ translate it strings:
# renpy/common/00preferences.rpy:578
old "voice after game menu"
new "voce dopo menù di gioco"
new "voce dopo menu di gioco"
# renpy/common/00preferences.rpy:587
old "restore window position"
@@ -808,7 +808,7 @@ translate it strings:
# renpy/common/00sync.rpy:538
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Questo caricherà i tuoi salvataggi al {a=https://sync.renpy.org}Server di Sincronizzazioen di Ren'Py{/a}.\nVuoi continuare?"
new "Questo caricherà i tuoi salvataggi al {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}.\nVuoi continuare?"
# renpy/common/00sync.rpy:569
old "Enter Sync ID"
@@ -816,7 +816,7 @@ translate it strings:
# renpy/common/00sync.rpy:580
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Questo contatterà il {a=https://sync.renpy.org}Server di Sincronizzazioen di Ren'Py{/a}."
new "Questo contatterà il {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}."
# renpy/common/00sync.rpy:609
old "Sync Success"
@@ -868,7 +868,7 @@ translate it strings:
# renpy/common/00updater.rpy:967
old "This account does not have permission to write the update log."
new "Questo account non ha il permesso di scrivere il log aggioramento."
new "Questo account non ha il permesso di scrivere il log aggiornamento."
# renpy/common/00updater.rpy:1047
old "Could not verify update signature."
@@ -1016,7 +1016,7 @@ translate it strings:
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Abiltia (nessuna Lista di Blocco)"
new "Abilita (nessuna Lista di Blocco)"
# renpy/common/00gltest.rpy:159
old "Powersave"
@@ -1052,7 +1052,7 @@ translate it strings:
# renpy/common/00gltest.rpy:242
old "Performance Warning"
new "Allarme di Prestationi"
new "Allarme di Prestazioni"
# renpy/common/00gltest.rpy:247
old "This computer is using software rendering."
@@ -1186,3 +1186,23 @@ translate it strings:
old "Parsing the script failed."
new "Analisi dello script fallita."
# TODO: Translation updated at 2024-10-07 18:25
translate it strings:
# renpy/common/00accessibility.rpy:198
old "Self-voicing support is limited when using a touch screen."
new "Supporto all'auto-doppiaggio è limitato quando si usa un touch screen."
# renpy/common/00translation.rpy:63
old "Translation identifier: [identifier]"
new "Identificatore traduzione: [identifier]"
# renpy/common/00translation.rpy:84
old " translates [tl.filename]:[tl.linenumber]"
new " traduce [tl.filename]:[tl.linenumber]"
# renpy/common/00translation.rpy:101
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Copiato negli appunti.{/color}"
+54 -8
View File
@@ -65,7 +65,7 @@ translate it strings:
# game/screens.rpy:369
old "Main Menu"
new "Menù Principale"
new "Menu Principale"
# game/screens.rpy:735
old "Version [config.version!t]\n"
@@ -273,7 +273,7 @@ translate it strings:
# game/screens.rpy:1313
old "Gamepad"
new "Controller"
new "Gamepad"
# game/screens.rpy:1333
old "Enter"
@@ -305,7 +305,7 @@ translate it strings:
# game/screens.rpy:1346
old "Accesses the game menu. Also escapes the Gallery."
new "Accedi al menù di gioco. Esci dalla Galleria."
new "Accedi al menu di gioco. Esci dalla Galleria."
# game/screens.rpy:1349
old "Ctrl"
@@ -325,7 +325,7 @@ translate it strings:
# game/screens.rpy:1357
old "Page Up"
new "Pagina Sù"
new "Pagina Su"
# game/screens.rpy:1358
old "Rolls back to earlier dialogue."
@@ -365,7 +365,7 @@ translate it strings:
# game/screens.rpy:1392
old "Mouse Wheel Up\nClick Rollback Side"
new "Rotella del Mouse Sù\nClicca Lato di Ripristino"
new "Rotella del Mouse Su\nClicca Lato di Ripristino"
# game/screens.rpy:1396
old "Mouse Wheel Down"
@@ -393,11 +393,11 @@ translate it strings:
# game/screens.rpy:1421
old "Accesses the game menu."
new "Accedi al menù di gioco"
new "Accedi al menu di gioco"
# game/screens.rpy:1424
old "Y/Top Button"
new "Y/Pulsante in Sù"
new "Y/Pulsante in Su"
# game/screens.rpy:1427
old "Calibrate"
@@ -431,7 +431,7 @@ translate it strings:
# game/screens.rpy:293
old "Auto"
new "Automatico"
new "Auto"
# game/screens.rpy:363
old "Chapter Select"
@@ -457,3 +457,49 @@ translate it strings:
old "Menu"
new "Menu"
# TODO: Translation updated at 2024-10-07 18:25
translate it strings:
# game/screens.rpy:810
old "Upload Sync"
new "Carica Sincronizzazione"
# game/screens.rpy:814
old "Download Sync"
new "Scarica Sincronizzazione"
# game/screens.rpy:910
old "Show Mod Screenshots"
new "Mostra Screenshot Mod"
# game/screens.rpy:911
old "Enable New Mods"
new "Abilita Nuove Mod"
# game/screens.rpy:924
old "Enable Edgescrolling"
new "Abilita Scorrimento sui Bordi"
# game/screens.rpy:929
old "Menu Style"
new "Stile Menu"
# game/screens.rpy:930
old "Original"
new "Originale"
# game/screens.rpy:931
old "Epilogue"
new "Epilogo"
# game/screens.rpy:1332
old "Mouse Wheel Up"
new "Rotella del Mouse Su"
# game/screens.rpy:1359
old "Start, Guide, B/Right Button"
new "Start, Guida, B/Bottone a Destra"
old "Hides mod details. Shows mod errors if there is any."
new "Nascondi dettagli mod. Mostra errori della mod se ce ne sono."
+2 -2
View File
@@ -68,7 +68,7 @@ translate it strings:
# game/script.rpy:156
old "Mr. Tsuki"
new "Mr. Tsuki"
new "Sig. Tsuki"
# game/script.rpy:157
old "(???)"
@@ -76,7 +76,7 @@ translate it strings:
# game/script.rpy:158
old "Mr. Jingo"
new "Mr. Jingo"
new "Sig. Jingo"
# game/script.rpy:159
old "Maitre D"
@@ -1330,7 +1330,7 @@ translate it chapter_1_ded7df67:
translate it chapter_1_b32e2dd2:
# "Mr. Tsuki continued on, drawing what little attention there was to himself."
"Mr. Tsuki continuò, richiamando la poca attenzione della classe su di sè."
" Il Sig. Tsuki continuò, richiamando la poca attenzione della classe su di sè."
# game/script/1.first-two-days-anon-meets-fang.rpy:972
translate it chapter_1_2128295c:
@@ -550,7 +550,7 @@ translate it chapter_11_fc7c6fdd:
translate it chapter_11_9b304b29:
# "I have a backpack full of missed assignments, including Mr. Tsukis essay on the history of typefaces."
"Ho uno zaino pieno di compiti saltati, incluso il tema per Mr. Tsuki sulla storia dei caratteri tipografici."
"Ho uno zaino pieno di compiti saltati, incluso il tema per il Sig. Tsuki sulla storia dei caratteri tipografici."
# game/script/11.school-assignment-and-route-lock.rpy:467
translate it chapter_11_32280a97:
@@ -2212,7 +2212,7 @@ translate it lSortingThings_d7a7a4fd:
translate it lSortingThings_644bef27:
# "In any other class Id have been caught up, but Mr. Tsuki is an absolute slave driver."
"Ho recuperato ogni altra materia, ma Mr. Tsuki è un vero schiavista."
"Ho recuperato ogni altra materia, ma il Sig. Tsuki è un vero schiavista."
# game/script/11.school-assignment-and-route-lock.rpy:1508
translate it lSortingThings_e2812839:
@@ -730,7 +730,7 @@ translate it chapter_13A_dd28b9c9:
translate it chapter_13A_1188babf:
# "We hauled ass to Mr.Jingos room, where the band had stored their gear."
"Ci siamo spinti fino alla stanza di Mr. Jingo, dove la band aveva riposto la propria attrezzatura."
"Abbiamo mosso il culo fino alla stanza del Sig. Jingo, dove la band aveva riposto la propria attrezzatura."
# game/script/13A.fang-loses-it-after-losing-prom-queen.rpy:534
translate it chapter_13A_979b978a:
@@ -640,7 +640,7 @@ translate it chapter_3_88099cb9:
translate it chapter_3_7b692572:
# "He gives me a thumbs up and exits as well."
"Mi da un pollice in sù ed esce anche lui."
"Mi da un pollice in su ed esce anche lui."
# game/script/3.showing-up-at-band-practice-and-giving-feedback.rpy:463
translate it chapter_3_a54cfc04:
@@ -1258,7 +1258,7 @@ translate it chapter_3_f31ea95e:
translate it chapter_3_8232b8b6:
# jingo "Good timing, Mr. Mous. Just in time for free period."
jingo "Ottimo tempismo, Mr. Imo. Sei in tempo per l'ora libera."
jingo "Ottimo tempismo, Sig. Imo. Sei in tempo per l'ora libera."
# game/script/3.showing-up-at-band-practice-and-giving-feedback.rpy:896
translate it chapter_3_5c14abb0:
@@ -1132,7 +1132,7 @@ translate it lHeads_a42630c4:
translate it lHeads_6debb489:
# Re "Anyways{cps=*.1}...{/cps} Mr. Jingo doesnt care about if you use, like, partners and stuff{cps=*.1}...{/cps} He just wants the work done{cps=*.1}...{/cps}"
Re "Comunque{cps=*.1}...{/cps} A Mr. Jingo non importa se, tipo, si lavora con gli altri e simili{cps=*.1}...{/cps} Basta che si fanno i compiti{cps=*.1}...{/cps}"
Re "Comunque{cps=*.1}...{/cps} Al Sig. Jingo non importa se, tipo, si lavora con gli altri e simili{cps=*.1}...{/cps} Basta che si fanno i compiti{cps=*.1}...{/cps}"
# game/script/4.anon-needs-help-during-music-period.rpy:770
translate it lHeads_d762c0e4:
@@ -154,7 +154,7 @@ translate it chapter_8_02cfda7b:
translate it chapter_8_e3151852:
# "Mr. Carldewskii takes the stage with an electronic mic."
"Mr. Carldewskii sale sul palco e prende un microfono elettrico."
"Il Sig. Carldewskii sale sul palco e prende un microfono elettrico."
# game/script/8.anon-and-fang-study-together.rpy:149
translate it chapter_8_6bc5338d:
@@ -190,7 +190,7 @@ translate it chapter_8_b6a62594:
translate it chapter_8_bc6eb086:
# "Mr. Carldewskii holds the microphone out to him but gets ignored."
"Mr. Carldewskii gli pone il microfono ma viene ignorato."
"Il Sig. Carldewskii gli pone il microfono ma viene ignorato."
# game/script/8.anon-and-fang-study-together.rpy:177
translate it chapter_8_3b3630e5:
@@ -1990,7 +1990,7 @@ translate it musicalchoices_ffea9ad8:
translate it musicalchoices_b00990cc:
# "Well, maybe music I guess. Raptor Jesus, Mr. Jingo is a shit teacher compared to her."
"Beh, forse musica credo. Gesù Raptor, Mr. Jingo è un insegnante di merda in confronto a lei."
"Beh, forse musica credo. Gesù Raptor, il Sig. Jingo è un insegnante di merda in confronto a lei."
# game/script/8.anon-and-fang-study-together.rpy:1415
translate it musicalchoices_1127e8e8:
@@ -3280,7 +3280,7 @@ translate it lGetStartedOnStudy_5e206d22:
translate it lGetStartedOnStudy_3c210331:
# "In the end, Mr Jingo screwed us over by making music midterm a live demonstration."
"Alla fine, Mr. Jingo ci ha rovinati rendendo gli esami di musica una dimostrazione dal vivo."
"Alla fine, il Sig. Jingo ci ha rovinati rendendo gli esami di musica una dimostrazione dal vivo."
# game/script/8.anon-and-fang-study-together.rpy:2150
translate it lGetStartedOnStudy_e5ac4cac:
@@ -3292,7 +3292,7 @@ translate it lGetStartedOnStudy_e5ac4cac:
translate it lGetStartedOnStudy_799af2a8:
# "My GPA was secured at least for whatever the fuck I decide on."
"Il mio GPA è garantito per permettermi di far quasiasi cazzo di cosa decida."
"Il mio GPA è garantito per permettermi di far qualsiasi cazzo di cosa decida."
# game/script/8.anon-and-fang-study-together.rpy:2156
translate it lGetStartedOnStudy_f1638dc1_2:
+15
View File
@@ -144,3 +144,18 @@ translate it strings:
old "Asset help (Italian):"
new "Aiuto con gli asset (Italiano):"
# game/src/credits.rpy:80
old "Translators (Portuguese):"
new "Traduttori (Portoghese):"
# game/src/credits.rpy:80
old "Proofreaders (Portuguese):"
new "Revisori (Portoghese):"
# game/src/credits.rpy:80
old "Asset help (Portuguese):"
new "Aiuto con gli asset (Portoghese):"
# game/src/credits.rpy:80
old "Promo Art (Portuguese):"
new "Arte Promozionale (Portoghese):"
+186
View File
@@ -6,3 +6,189 @@ translate it strings:
old "You have no mods! \nInstall some in:\n\"[moddir]\""
new "Non hai mod! \nInstallane un po' in:\n\"[moddir]\""
# TODO: Translation updated at 2024-10-07 18:25
translate it strings:
# game/src/mod_menu.rpy:584
old "the root of the mods folder"
new "radice della cartella mods"
# game/src/mod_menu.rpy:597
old " for '{color=#ffbdbd}"
new " per lingua '{color=#ffbdbd}"
# game/src/mod_menu.rpy:597
old "{/color}' language"
new "{/color}'"
# game/src/mod_menu.rpy:605
old "{color=#ff1e1e}Mod in "
new "{color=#ff1e1e}Mod in "
# game/src/mod_menu.rpy:605
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " non è stata caricata: Metadata è formattato in modo sbagliato. Controlla log.txt o la console per ulteriori info.{/color}"
# game/src/mod_menu.rpy:607
old "{color=#ff8b1f}Metadata in "
new "{color=#ff8b1f}Metadata in "
# game/src/mod_menu.rpy:607
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " è formattato in modo sbagliato. Controlla log.txt o la console per ulteriori info.{/color}"
# game/src/mod_menu.rpy:609
old "{color=#ff8b1f}Mod's name in "
new "{color=#ff8b1f}Il nome della mod in "
# game/src/mod_menu.rpy:609
old " is not a string.{/color}"
new " non è una stringa.{/color}"
# game/src/mod_menu.rpy:611
old "{color=#ff8b1f}Mod's label in "
new "{color=#ff8b1f}La label della Mod in "
# game/src/mod_menu.rpy:613
old "{color=#ff8b1f}Display mode in "
new "{color=#ff8b1f}La modalità display in "
# game/src/mod_menu.rpy:615
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
new " non è valida. Le opzioni valide sono 'entrambi', 'icona' e 'nome', non "
# game/src/mod_menu.rpy:615
old ".{/color}"
new ".{/color}"
# game/src/mod_menu.rpy:617
old "{color=#ff8b1f}Mod's version in "
new "{color=#ff8b1f}La versione della Mod in "
# game/src/mod_menu.rpy:619
old "{color=#ff8b1f}Mod's authors in "
new "{color=#ff8b1f}Gli autori della Mod in "
# game/src/mod_menu.rpy:619
old " is not a string or list.{/color}"
new " non è una stringa o una lista.{/color}"
# game/src/mod_menu.rpy:621
old "{color=#ff8b1f}Author "
new "{color=#ff8b1f}Autore "
# game/src/mod_menu.rpy:621
old " in "
new " in "
# game/src/mod_menu.rpy:623
old "{color=#ff8b1f}Mod's links in "
new "{color=#ff8b1f}I link della Mod in"
# game/src/mod_menu.rpy:625
old "{color=#ff8b1f}Link "
new "{color=#ff8b1f}Link "
# game/src/mod_menu.rpy:627
old "{color=#ff8b1f}Mod's description in "
new "{color=#ff8b1f}La descrizione della Mod in "
# game/src/mod_menu.rpy:629
old "{color=#ff8b1f}Mod's mobile description in "
new "{color=#ff8b1f}Descrizione mobile della Mod in "
# game/src/mod_menu.rpy:631
old "{color=#ff8b1f}Mod's screenshot displayables in "
new "{color=#ff8b1f}Displayable screenshot della Mod in "
# game/src/mod_menu.rpy:631
old " is not a list.{/color}"
new " non è una lista.{/color}"
# game/src/mod_menu.rpy:633
old "{color=#ff8b1f}Screenshot Displayable "
new "{color=#ff8b1f}Displayable screenshot "
# game/src/mod_menu.rpy:635
old "{color=#ff8b1f}Mod's icon displayable in "
new "{color=#ff8b1f}Displayable icona della Mod in "
# game/src/mod_menu.rpy:637
old "{color=#ff8b1f}Mod's thumbnail displayable in "
new "{color=#ff8b1f}Displayable miniatura della Mod in "
# game/src/mod_menu.rpy:639
old " failed to load: Does not have a mod ID.{/color}"
new " non è stato caricata: Non ha un ID mod.{/color}"
# game/src/mod_menu.rpy:641
old " failed to load: ID is not a string.{/color}"
new " non è stato caricata: ID non è una stringa.{/color}"
# game/src/mod_menu.rpy:643
old " failed to load: Another mod "
new " non è stata caricata: Un'altra mod "
# game/src/mod_menu.rpy:643
old " has the same ID.{/color}"
new " ha lo stesso ID.{/color}"
# game/src/mod_menu.rpy:645
old " is not installed correctly.\nMake sure it's structure is "
new " non è installata correttamente.\nVerifica che la struttura è "
# game/src/mod_menu.rpy:645
old " instead of "
new " invece di "
# game/src/mod_menu.rpy:647
old "{color=#ff8b1f}"
new "{color=#ff8b1f}"
# game/src/mod_menu.rpy:647
old " image for mod in "
new " immagine per la mod in "
# game/src/mod_menu.rpy:647
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
new " ha un'estensione del file incompatibile. {a=https://www.renpy.org/doc/html/displayables.html#images}Usa solo immagini che Ren'Py supporta!{/a}{/color}"
# game/src/mod_menu.rpy:708
old "Reload Mods"
new "Ricarica Mod"
# game/src/mod_menu.rpy:888
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
new "Non hai mod! \nInstallane un po' in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
# game/src/mod_menu.rpy:969
old "Name: "
new "Nome: "
# game/src/mod_menu.rpy:973
old "Version: "
new "Versione: "
# game/src/mod_menu.rpy:978
old "Authors: "
new "Autori: "
# game/src/mod_menu.rpy:982
old "Author: "
new "Autore: "
# game/src/mod_menu.rpy:987
old "Links: "
new "Link: "
# game/src/mod_menu.rpy:991
old "Link: "
new "Link: "
# game/src/mod_menu.rpy:1062
old "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."
new "Installare mod è pericoloso perché stai eseguendo codice sconosciuto sul tuo computer. Installa mod solamente da fonti di cui ti fidi.\n\nSe hai problemi con le mod installate, controlla il file README.md nella radice della cartella mods."
old "Show Errors"
new "Mostra Errori"
+244
View File
@@ -1219,3 +1219,247 @@ translate pl strings:
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Naciśnij albo przesuń '[control!s]' [kind]."
# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# renpy/common/00accessibility.rpy:121
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Menu ułatwień dostępu. Użyj strzałek góra/dół by nawigować, wciśnij enter by aktywować przyciski/paski."
# renpy/common/00accessibility.rpy:198
old "Self-voicing support is limited when using a touch screen."
new "Funkcja lektora jest ograniczona w czasie korzystania z dotykowego ekranu."
# renpy/common/00action_other.rpy:744
old "Open [text] directory."
new "Otwórz folder [text]."
# renpy/common/00director.rpy:1752
old "Click to toggle attribute, right click to toggle negative attribute."
new "Lewy klik by przełączyć atrybut, prawy klik by przełączyć atrybut negatywny."
# renpy/common/00director.rpy:1775
old "Click to set transform, right click to add to transform list."
new "Lewy klik by ustawić transformację, prawy klik by dodać do listy transformacji."
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Dostosuj 'director.transforms' by dodać więcej transformacji."
# renpy/common/00director.rpy:1799
old "Click to set, right click to add to behind list."
new "Lewy klik by ustawić, prawy klik by dodać do listy obiektów z tyłu."
# renpy/common/00director.rpy:1821
old "Click to set."
new "Kliknij by ustawić."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "Dostosuj 'director.transitions' by dodać więcej przejść."
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Dostosuj 'director.audio_channels' by dodać więcej kanałów."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "Jesteś pewien, że chcesz kontynuować tam, gdzie przerwałeś?"
# renpy/common/00gui.rpy:459
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
new "Ten zapis był stworzony na innym urządzeniu. Złośliwie stworzone pliki zapisu mogą zagrozić twojemu komputerowi. Czy ufasz twórcy tego zapisu i każdemu, kto mógł zmienić ten plik?"
# renpy/common/00gui.rpy:460
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
new "Czy ufasz urządzeniu, na którym był stworzony ten zapis? Wybierz tak tylko jeżeli jesteś jedynym użytkownikiem tego urządzenia."
# renpy/common/00preferences.rpy:440
old "self voicing enable"
new "włączenie lektora"
# renpy/common/00preferences.rpy:442
old "self voicing disable"
new "wyłączenie lektora"
# renpy/common/00preferences.rpy:457
old "clipboard voicing enable"
new "włączenie tekstu do schowka"
# renpy/common/00preferences.rpy:459
old "clipboard voicing disable"
new "wyłączenie tekstu do schowka"
# renpy/common/00preferences.rpy:466
old "debug voicing enable"
new "włączenie debugowania głosu"
# renpy/common/00preferences.rpy:468
old "debug voicing disable"
new "wyłączenie debugowania głosu"
# renpy/common/00preferences.rpy:546
old "audio when minimized"
new "dźwięk przy zminimalizowaniu"
# renpy/common/00preferences.rpy:555
old "audio when unfocused"
new "dźwięk przy braku focusa"
# renpy/common/00preferences.rpy:564
old "web cache preload"
new "web cache preload"
# renpy/common/00preferences.rpy:579
old "voice after game menu"
new "głos po menu gry"
# renpy/common/00preferences.rpy:588
old "restore window position"
new "przywrócenie pozycji okna"
# renpy/common/00preferences.rpy:597
old "reset"
new "reset"
# renpy/common/00preferences.rpy:610
old "main volume"
new "głośność ogólna"
# renpy/common/00preferences.rpy:614
old "mute main"
new "wyciszenie ogólne"
# renpy/common/00speechbubble.rpy:416
old "Speech Bubble Editor"
new "Edytor Dymków z Tekstem"
# renpy/common/00speechbubble.rpy:421
old "(hide)"
new "(ukryj)"
# renpy/common/00speechbubble.rpy:432
old "(clear retained bubbles)"
new "(wyczyść zachowane dymki)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "Sync pobrany."
# renpy/common/00sync.rpy:193
old "Could not connect to the Ren'Py Sync server."
new "Nie można połączyć z serwerem Ren'Py Sync."
# renpy/common/00sync.rpy:195
old "The Ren'Py Sync server timed out."
new "Serwer Ren'Py Sync przekroczył limit czasu na połączenie."
# renpy/common/00sync.rpy:197
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "Wystąpił nieznany błąd przy próbie połączenia z serwerem Ren'Py Sync."
# renpy/common/00sync.rpy:213
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
new "Serwer Ren'Py Sync nie posiada kopii tego synca. Jego ID może być nieprawidłowy, albo przekroczono limit czasu na odpowiedź."
# renpy/common/00sync.rpy:316
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Wpisz wygenerowany przez ciebie sync ID.\nNigdy nie wpisuj ID, którego sam nie stworzyłeś."
# renpy/common/00sync.rpy:335
old "The sync ID is not in the correct format."
new "Podany sync ID ma nieprawidłowy format."
# renpy/common/00sync.rpy:355
old "The sync could not be decrypted."
new "Sync nie może zostać odszyfrowany."
# renpy/common/00sync.rpy:378
old "The sync belongs to a different game."
new "Sync należy do innej gry."
# renpy/common/00sync.rpy:383
old "The sync contains a file with an invalid name."
new "Sync zawiera plik o nieprawidłowej nazwie."
# renpy/common/00sync.rpy:440
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Ta funkcja wyśle twoje pliki zapisu do {a=https://sync.renpy.org}Serwera Ren'Py Sync{/a}.\nCzy chcesz kontynuować?"
# renpy/common/00sync.rpy:472
old "Enter Sync ID"
new "Wpisz Sync ID"
# renpy/common/00sync.rpy:483
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Ta funkcja połączy się z {a=https://sync.renpy.org}Serwerem Ren'Py Sync{/a}."
# renpy/common/00sync.rpy:513
old "Sync Success"
new "Sync Udany"
# renpy/common/00sync.rpy:516
old "The Sync ID is:"
new "Sync ID to:"
# renpy/common/00sync.rpy:522
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "Użyj tego ID do pobrania zapisów na innym urządzeniu.\nTen sync przedawni się w ciągu godziny.\nRen'Py Sync jest wspierany przez {a=https://www.renpy.org/sponsors.html}Sponsorów Ren'Py{/a}."
# renpy/common/00sync.rpy:526
old "Continue"
new "Kontynuuj"
# renpy/common/00sync.rpy:551
old "Sync Error"
new "Sync Nieudany"
# renpy/common/00translation.rpy:63
old "Translation identifier: [identifier]"
new "Identyfikator tłumaczenia: [identifier]"
# renpy/common/00translation.rpy:84
old " translates [tl.filename]:[tl.linenumber]"
new " tłumaczy [tl.filename]:[tl.linenumber]"
# renpy/common/00translation.rpy:101
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Skopiowano do schowka.{/color}"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "Brak metod aktualizacji."
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "Nie udało się pobrać listy plików:"
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "Cyfrowy podpis listy plików nie jest zgodny."
# renpy/common/00updater.rpy:2080
old "Preparing to download the game data."
new "Przygotowanie do pobrania danych gry."
# renpy/common/00updater.rpy:2082
old "Downloading the game data."
new "Pobieranie danych gry."
# renpy/common/00updater.rpy:2084
old "The game data has been downloaded."
new "Dane gry zostały pobrane."
# renpy/common/00updater.rpy:2086
old "An error occured when trying to download game data:"
new "Wystąpił błąd podczas próby pobrania danych gry:"
# renpy/common/00updater.rpy:2091
old "This game cannot be run until the game data has been downloaded."
new "Gra nie może zostać uruchomiona dopóki dane gry nie zostaną pobrane."
# renpy/common/00updater.rpy:2098
old "Retry"
new "Ponów"
+93 -2
View File
@@ -133,7 +133,7 @@ translate pl strings:
new "Start"
old "Bonus Chapters"
new "Bonusowe rozdziały"
new "{size=55}Bonusowe rozdziały{/size}"
old "Language"
new "Język"
@@ -507,4 +507,95 @@ translate pl strings:
# game/screens.rpy:1531
old "Skipping"
new "Pomijanie"
new "Pomijanie"# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# game/screens.rpy:294
old "Auto"
new "Auto"
# game/screens.rpy:349
old "Chapter Select"
new "Wybór Rozdziału."
# game/screens.rpy:477
old "You have unlocked the final bonus chapter!"
new "Odblokowałeś ostatni bonusowy rozdział!"
# game/screens.rpy:479
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
new "Wszystkie zakończenia zostały ukończone! Ukończ wszystkie bonusowe rozdziały, by uzyskać ostatni rozdział!"
# game/screens.rpy:499
old "Extras"
new "Dodatki"
# game/screens.rpy:810
old "Upload Sync"
new "Wyślij Sync"
# game/screens.rpy:814
old "Download Sync"
new "Pobierz Sync"
# game/screens.rpy:903
old "Developer Tools"
new "Narzędzia Deweloperskie"
# game/screens.rpy:904
old "Enable Debug Scores"
new "Włącz Debugową Punktację"
# game/screens.rpy:905
old "Enable Chapter Select"
new "Włącz Menu Wyboru Rozdziału"
# game/screens.rpy:916
old "Mods"
new "Mody"
# game/screens.rpy:917
old "Show Mod Screenshots"
new "Pokaż Zrzuty z Modów"
# game/screens.rpy:918
old "Enable New Mods"
new "Włącz Nowe Mody"
# game/screens.rpy:924
old "Enable Edgescrolling"
new "Włącz przewijanie krawędzi"
# game/screens.rpy:929
old "Menu Style"
new "Styl Menu"
# game/screens.rpy:930
old "Original"
new "Oryginalny"
# game/screens.rpy:931
old "Epilogue"
new "Epilog"
# game/screens.rpy:1305
old "Backspace"
new "Backspace"
# game/screens.rpy:1306
old "Hides mod details. Shows mod errors if there is any."
new "Ukrywa szczegóły moda. Wyświetla błędy moda, jeżeli jakieś występują."
# game/screens.rpy:1336
old "Mouse Wheel Up"
new "Kółko myszy w górę"
# game/screens.rpy:1363
old "Start, Guide, B/Right Button"
new "Start, Guide, B/Prawy Klawisz"
# game/screens.rpy:1796
old "Menu"
new "Menu"
@@ -6953,3 +6953,11 @@ translate pl strings:
old "Interrupt"
new "Przerwij"
# TODO: Translation updated at 2024-10-10 22:47
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:2963
translate pl lpostAnonLaughReveal_94004a03_1:
# "Oh."
"Och."
+144
View File
@@ -0,0 +1,144 @@
# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# game/src/chapter_select.rpy:1
old "1. First Day of School"
new "1. Pierwszy Dzień w Szkole"
# game/src/chapter_select.rpy:1
old "2. Meeting the Band"
new "2. Poznanie Zespołu"
# game/src/chapter_select.rpy:1
old "3. Band Practice"
new "3. Próba Zespołu"
# game/src/chapter_select.rpy:1
old "4. Music Class"
new "4. Lekcja Muzyki"
# game/src/chapter_select.rpy:1
old "5. Gardening Club / Heart to Heart"
new "5. Klub Ogrodniczy / Szczera Rozmowa"
# game/src/chapter_select.rpy:1
old "6. Not a Date"
new "6. Nie-Randka"
# game/src/chapter_select.rpy:1
old "7. Concert Day"
new "7. Dzień Koncertu"
# game/src/chapter_select.rpy:1
old "8. Study Session"
new "8. Wspólna Nauka"
# game/src/chapter_select.rpy:1
old "9. VVURM DRAMA"
new "9. VVURM DRAMA"
# game/src/chapter_select.rpy:1
old "10. Confession"
new "10. Wyznanie"
# game/src/chapter_select.rpy:1
old "11. Naser drama"
new "11. Drama z Naserem"
# game/src/chapter_select.rpy:15
old "11.5. Announcing a Plan"
new "11.5 Ogłoszenie Planu"
# game/src/chapter_select.rpy:15
old "12. Let's all go to the Museum"
new "12. Chodźmy wszyscy do Muzeum"
# game/src/chapter_select.rpy:15
old "13. Prom is Complicated"
new "13. Studniówka jest Skomplikowana"
# game/src/chapter_select.rpy:15
old "14. Bowling for Volcano High"
new "14. Gonienie za Volcano High"
# game/src/chapter_select.rpy:22
old "11.5. Announcing Nothing Important"
new "11.5. Ogłoszenie Niczego Ważnego"
# game/src/chapter_select.rpy:22
old "12. Let's all go to a Concert"
new "12. Chodźmy wszyscy na Koncert"
# game/src/chapter_select.rpy:22
old "13. Prom is For Suckers"
new "13. Studniówka jest dla Frajerów"
# game/src/chapter_select.rpy:22
old "14. Anon and the Infinite Sadness"
new "14. Anon i Nieskończony Smutek"
# game/src/chapter_select.rpy:29
old "11.5. Announcing a Date"
new "11.5. Ogłoszenie Randki"
# game/src/chapter_select.rpy:29
old "12. Let's all go Camping"
new "12. Chodźmy wszyscy na Biwak"
# game/src/chapter_select.rpy:29
old "13. Prom is Surprising"
new "13. Studniówka jest Zaskakująca"
# game/src/chapter_select.rpy:29
old "14. Volcano Highschool Musical"
new "14. Volcano Highschool Musical"
# game/src/chapter_select.rpy:36
old "11.5. Announcing a Show"
new "11.5 Ogłoszenie Widowiska"
# game/src/chapter_select.rpy:36
old "12. Let's all go to the Aquarium"
new "12. Chodźmy wszyscy do Akwarium"
# game/src/chapter_select.rpy:36
old "13. Prom is Memorable"
new "13. Studniówka jest Pamiętna"
# game/src/chapter_select.rpy:36
old "14. Fast Times at Volcano High"
new "14. Przemijający Czas w Volcano High"
# game/src/chapter_select.rpy:80
old "What ending do you want to lock to?"
new "Które zakończenie chcesz ustawić?"
# game/src/chapter_select.rpy:80
old "Ending 1"
new "Zakończenie 1"
# game/src/chapter_select.rpy:80
old "Ending 2"
new "Zakończenie 2"
# game/src/chapter_select.rpy:80
old "Ending 3"
new "Zakończenie 3"
# game/src/chapter_select.rpy:80
old "Ending 4"
new "Zakończenie 4"
# game/src/chapter_select.rpy:80
old "Exit to main menu"
new "Wyjdź do menu głównego"
# game/src/chapter_select.rpy:158
old "Next Page"
new "Następna Strona"
# game/src/chapter_select.rpy:158
old "Go Back"
new "Powrót"
+35
View File
@@ -128,3 +128,38 @@ translate pl strings:
old "Special Thanks:"
new "Specjalne podziękowania:"
# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# game/src/credits.rpy:80
old "Translators (Italian):"
new "Tłumacze (Włoski):"
# game/src/credits.rpy:80
old "Proofreaders (Italian):"
new "Spr. tłum. (Włoski):"
# game/src/credits.rpy:80
old "Asset help (Italian):"
new "Pomoc (Włoski):"
# game/src/credits.rpy:80
old "Promo Art (Italian):"
new "Grafika Promocyjna (Włoski):"
# game/src/credits.rpy:80
old "Translators (Portuguese):"
new "Tłumacze (Portugalski):"
# game/src/credits.rpy:80
old "Proofreaders (Portuguese):"
new "Spr. tłum. (Portugalski):"
# game/src/credits.rpy:80
old "Asset help (Portuguese):"
new "Pomoc (Portugalski):"
# game/src/credits.rpy:80
old "Promo Art (Portuguese):"
new "Grafika Promocyjna (Portugalski):"
+188
View File
@@ -0,0 +1,188 @@
# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# game/src/mod_menu.rpy:584
old "the root of the mods folder"
new "katalog główny modów"
# game/src/mod_menu.rpy:597
old " for '{color=#ffbdbd}"
new " dla '{color=#ffbdbd}"
# game/src/mod_menu.rpy:597
old "{/color}' language"
new "{/color}' języka"
# game/src/mod_menu.rpy:605
old "{color=#ff1e1e}Mod in "
new "{color=#ff1e1e}Ładowanie moda w "
# game/src/mod_menu.rpy:605
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " nie powiodło się: Metadane mają nieprawidłowy format. Sprawdź log.txt lub konsolę dla dodatkowych informacji.{/color}"
# game/src/mod_menu.rpy:607
old "{color=#ff8b1f}Metadata in "
new "{color=#ff8b1f}Metadane w "
# game/src/mod_menu.rpy:607
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
new " mają nieprawidłowy format. Sprawdź log.txt lub konsolę dla dodatkowych informacji.{/color}"
# game/src/mod_menu.rpy:609
old "{color=#ff8b1f}Mod's name in "
new "{color=#ff8b1f}Nazwa moda w "
# game/src/mod_menu.rpy:609
old " is not a string.{/color}"
new " nie jest ciągiem znaków.{/color}"
# game/src/mod_menu.rpy:611
old "{color=#ff8b1f}Mod's label in "
new "{color=#ff8b1f}Tytuł moda w "
# game/src/mod_menu.rpy:613
old "{color=#ff8b1f}Display mode in "
new "{color=#ff8b1f}Tryb wyświetlania w "
# game/src/mod_menu.rpy:615
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
new " jest niepoprawny. Poprawne warianty to 'both', 'icon' i 'name', nie "
# game/src/mod_menu.rpy:615
old ".{/color}"
new ".{/color}"
# game/src/mod_menu.rpy:617
old "{color=#ff8b1f}Mod's version in "
new "{color=#ff8b1f}Wersja moda w "
# game/src/mod_menu.rpy:619
old "{color=#ff8b1f}Mod's authors in "
new "{color=#ff8b1f}Autorzy moda w "
# game/src/mod_menu.rpy:619
old " is not a string or list.{/color}"
new " nie jest ciągiem znaków lub listą.{/color}"
# game/src/mod_menu.rpy:621
old "{color=#ff8b1f}Author "
new "{color=#ff8b1f}Autor "
# game/src/mod_menu.rpy:621
old " in "
new " w "
# game/src/mod_menu.rpy:623
old "{color=#ff8b1f}Mod's links in "
new "{color=#ff8b1f}Linki moda w "
# game/src/mod_menu.rpy:625
old "{color=#ff8b1f}Link "
new "{color=#ff8b1f}Link "
# game/src/mod_menu.rpy:627
old "{color=#ff8b1f}Mod's description in "
new "{color=#ff8b1f}Opis moda w "
# game/src/mod_menu.rpy:629
old "{color=#ff8b1f}Mod's mobile description in "
new "{color=#ff8b1f}Opis moda dla urządzeń mobilnych w "
# game/src/mod_menu.rpy:631
old "{color=#ff8b1f}Mod's screenshot displayables in "
new "{color=#ff8b1f}Wyświetlane zrzuty ekranu moda w "
# game/src/mod_menu.rpy:631
old " is not a list.{/color}"
new " nie jest listą.{/color}"
# game/src/mod_menu.rpy:633
old "{color=#ff8b1f}Screenshot Displayable "
new "{color=#ff8b1f}Wyświetlany Zrzut "
# game/src/mod_menu.rpy:635
old "{color=#ff8b1f}Mod's icon displayable in "
new "{color=#ff8b1f}Wyświetlana ikona moda w "
# game/src/mod_menu.rpy:637
old "{color=#ff8b1f}Mod's thumbnail displayable in "
new "{color=#ff8b1f}Wyświetlana miniaturka moda w "
# game/src/mod_menu.rpy:639
old " failed to load: Does not have a mod ID.{/color}"
new " nie został załadowany: Nie posiada ID moda.{/color}"
# game/src/mod_menu.rpy:641
old " failed to load: ID is not a string.{/color}"
new " nie został załadowany: ID nie jest ciągiem znaków.{/color}"
# game/src/mod_menu.rpy:643
old " failed to load: Another mod "
new " nie został załadowany: Inny mod "
# game/src/mod_menu.rpy:643
old " has the same ID.{/color}"
new " posiada to samo ID.{/color}"
# game/src/mod_menu.rpy:645
old " is not installed correctly.\nMake sure it's structure is "
new " nie został poprawnie zainstalowany.\nUpewnij się, że struktura jest "
# game/src/mod_menu.rpy:645
old " instead of "
new " zamiast "
# game/src/mod_menu.rpy:647
old "{color=#ff8b1f}"
new "{color=#ff8b1f}"
# game/src/mod_menu.rpy:647
old " image for mod in "
new " obraz dla moda w "
# game/src/mod_menu.rpy:647
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
new " ma niewspierane rozszerzenie pliku. {a=https://www.renpy.org/doc/html/displayables.html#images}Używaj tylko rozszerzeń wspieranych przez Ren'Py!{/a}{/color}"
# game/src/mod_menu.rpy:708
old "Reload Mods"
new "Przeładuj Mody"
# game/src/mod_menu.rpy:889
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
new "Nie masz modów! \nZainstaluj jakieś w lokalizacji:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
# game/src/mod_menu.rpy:957
old "Name: "
new "Nazwa:"
# game/src/mod_menu.rpy:961
old "Version: "
new "Wersja: "
# game/src/mod_menu.rpy:966
old "Authors: "
new "Autorzy: "
# game/src/mod_menu.rpy:970
old "Author: "
new "Autor: "
# game/src/mod_menu.rpy:975
old "Links: "
new "Linki: "
# game/src/mod_menu.rpy:979
old "Link: "
new "Link: "
# game/src/mod_menu.rpy:1042
old "Show Errors"
new "Pokaż Błędy"
# game/src/mod_menu.rpy:1067
old "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."
new "Instalowanie modów jest ryzykowne bo powodują wykonywanie nieznanego kodu na komputerze. Instaluj mody tylko z zaufanych źródeł.\n\nJeżeli masz problemy z zainstalowanymi modami, sprawdź plik README.md w katalogu głównym modów."
+8
View File
@@ -0,0 +1,8 @@
# TODO: Translation updated at 2024-10-10 22:47
translate pl strings:
# game/src/translation.rpy:28
old "OK"
new "OK"
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

+508
View File
@@ -0,0 +1,508 @@
# TODO: Translation updated at 2024-02-15 16:48
translate pt_br strings:
old "Start"
new "Iniciar"
old "Bonus Chapters"
new "Capítulos Bônus"
old "Extras"
new "Extras"
old "Help"
new "Ajuda"
old "About"
new "Sobre"
old "Gallery"
new "Galeria"
old "Mods"
new "Mods"
old "Animations"
new "Animações"
old "Lewd"
new "Cenas Sensuais"
old "Fullbody"
new "Corpo inteiro"
old "Backgrounds"
new "Cenários"
# game/screens.rpy:355
old "History"
new "História"
# game/screens.rpy:356
old "Save"
new "Salvar"
# game/screens.rpy:357
old "Load"
new "Carregar"
# game/screens.rpy:358
old "Delete"
new "Deletar"
# game/screens.rpy:359
old "Options"
new "Opções"
# game/screens.rpy:361
old "Return"
new "Voltar"
# game/screens.rpy:365
old "End Replay"
new "Finalizar Replay"
# game/screens.rpy:369
old "Main Menu"
new "Menu Principal"
# game/screens.rpy:735
old "Version [config.version!t]\n"
new "Versão [config.version!t]\n"
# game/screens.rpy:742
old "{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}"
new "{size=30}Feito com {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nPara mais informações sobre o jogo (e seu código fonte) por favor visite {a=https://www.snootgame.xyz/}nosso website{/a}.{/size}"
# game/screens.rpy:771
old "Version [config.version!t]"
new "Versão [config.version!t]"
# game/screens.rpy:773
old "{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}"
new "{color=#00FF00}{size=32}Diretório de atualização existe, a atualização é possível!\n{/size}{/color}"
# game/screens.rpy:775
old "{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}"
new "{color=#FF0000}{size=32}Diretório de atualização não existe ou está corrompido!\n{/size}{/color}"
# game/screens.rpy:777
old "Auto Update:"
new "Atualização Automática:"
# game/screens.rpy:778
old "{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}"
new "{color=#FFFFFF}{size=32}Atualizações Automáticas: [persistent.autoup!t]{/size}{/color}"
# game/screens.rpy:779
old "{size=36}Toggle Automatic Updates\n{/size}"
new "{size=36}Ativar atualizações automáticas\n{/size}"
# game/screens.rpy:781
old "Update Checker:"
new "Verificador de Atualizações:"
# game/screens.rpy:782
old "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
new "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
# game/screens.rpy:783
old "{size=36}Check for Update\n{/size}"
new "{size=36}Verificar por Atualização\n{/size}"
# game/screens.rpy:785
old "Updater:"
new "Aggiornatore:"
# game/screens.rpy:786
old "{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}"
new "{color=#FFFFFF}{size=32}URL do Servidor (clicca per modificare):{/size}{/color}"
# game/screens.rpy:801
old "{size=36}Update Now!\n{/size}"
new "{size=36}Atualize Agora!\n{/size}"
# game/screens.rpy:837
old "Page {}"
new "Página {}"
# game/screens.rpy:837
old "Automatic saves"
new "Salvamentos Automáticos"
# game/screens.rpy:837
old "Quick saves"
new "Salvamentos Rápidos"
# game/screens.rpy:882
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# game/screens.rpy:882
old "Empty Slot"
new "Slot Vazio"
# game/screens.rpy:899
old "<"
new "<"
# game/screens.rpy:902
old "{#auto_page}A"
new "{#auto_page}A"
# game/screens.rpy:905
old "{#quick_page}Q"
new "{#quick_page}R"
# game/screens.rpy:911
old ">"
new ">"
# game/screens.rpy:968
old "Display"
new "Exibição"
# game/screens.rpy:969
old "Window"
new "Janela"
# game/screens.rpy:970
old "Fullscreen"
new "Tela Cheia"
# game/screens.rpy:974
old "Rollback Side"
new "Lado de Retrocesso"
# game/screens.rpy:975
old "Disable"
new "Desativar"
# game/screens.rpy:976
old "Left"
new "Esquerda"
# game/screens.rpy:977
old "Right"
new "Direita"
# game/screens.rpy:980
old "Naughty Stuff"
new "Conteúdo Inapropriado"
# game/screens.rpy:981
old "Enable Lewd Images"
new "Habilitar Cenas Sensuais"
# game/screens.rpy:985
old "Language"
new "Idioma"
# game/screens.rpy:1003
old "Requires Restart"
new "Necessário Reiniciar"
# game/screens.rpy:1004
old "Enable Forward-Scroll Movement"
new "Ativar Movimento de Rolagem para Avanço"
# game/screens.rpy:1008
old "Skip"
new "Pular"
# game/screens.rpy:1009
old "Unseen Text"
new "Texto Não Visto"
# game/screens.rpy:1010
old "After Choices"
new "Após Escolhas"
# game/screens.rpy:1011
old "Transitions"
new "Transições"
# game/screens.rpy:1024
old "Text Speed"
new "Velocidade do Texto"
# game/screens.rpy:1028
old "Auto-Forward Time"
new "Tempo de Avanço-Automático"
# game/screens.rpy:1035
old "Music Volume"
new "Volume da Música"
# game/screens.rpy:1038
old "Reset"
new "Padrão"
# game/screens.rpy:1043
old "Sound Volume"
new "Volume do Som"
# game/screens.rpy:1049
old "Test"
new "Testar"
# game/screens.rpy:1051
old "UI Sounds Volume"
new "Volume de Sons da Interface"
# game/screens.rpy:1059
old "Voice Volume"
new "Volume da Voz"
# game/screens.rpy:1070
old "Mute All"
new "Silenciar Tudo"
# game/screens.rpy:1189
old "The dialogue history is empty."
new "O histórico de diálogo está vazio."
# game/screens.rpy:1310
old "Keyboard"
new "Teclado"
# game/screens.rpy:1311
old "Mouse"
new "Mouse"
# game/screens.rpy:1313
old "Gamepad"
new "Gamepad"
# game/screens.rpy:1333
old "Enter"
new "Enter"
# game/screens.rpy:1334
old "Advances dialogue and activates the interface."
new "Avança diálogo e ativa interface."
# game/screens.rpy:1337
old "Space"
new "Espaço"
# game/screens.rpy:1338
old "Advances dialogue without selecting choices."
new "Avança diálogo sem selecionar escolhas."
# game/screens.rpy:1341
old "Arrow Keys"
new "Setas Direcionais"
# game/screens.rpy:1342
old "Navigate the interface."
new "Navega a interface."
# game/screens.rpy:1345
old "Escape"
new "Esc"
# game/screens.rpy:1346
old "Accesses the game menu. Also escapes the Gallery."
new "Acessa o menu do jogo. Também sai da Galeria."
# game/screens.rpy:1349
old "Ctrl"
new "Ctrl"
# game/screens.rpy:1350
old "Skips dialogue while held down."
new "Pula diálogo enquanto pressionado."
# game/screens.rpy:1353
old "Tab"
new "Tab"
# game/screens.rpy:1354
old "Toggles dialogue skipping."
new "Alterna o pulo de diálogo."
# game/screens.rpy:1357
old "Page Up"
new "Pagina Up"
# game/screens.rpy:1358
old "Rolls back to earlier dialogue."
new "Volta para o diálogo anterior."
# game/screens.rpy:1361
old "Page Down"
new "Page Down"
# game/screens.rpy:1362
old "Rolls forward to later dialogue."
new "Avança para o próximo diálogo."
# game/screens.rpy:1366
old "Hides the user interface."
new "Esconde a interface de usuário."
# game/screens.rpy:1370
old "Takes a screenshot."
new "Realiza captura de tela."
# game/screens.rpy:1374
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Ativa {a=https://www.renpy.org/l/voicing}narrador{/a} de assistência."
# game/screens.rpy:1380
old "Left Click"
new "Botão Esquerdo"
# game/screens.rpy:1384
old "Middle Click"
new "Botão do Meio"
# game/screens.rpy:1388
old "Right Click"
new "Botão Direito"
# game/screens.rpy:1392
old "Mouse Wheel Up\nClick Rollback Side"
new "Scroll para Cima\nClique para Lado de Retrocesso"
# game/screens.rpy:1396
old "Mouse Wheel Down"
new "Scroll para Baixo"
# game/screens.rpy:1403
old "Right Trigger\nA/Bottom Button"
new "Gatilho Direito\nA/Botão Inferior"
# game/screens.rpy:1407
old "Left Trigger\nLeft Shoulder"
new "Gatilho Esquerdo\nBotão L"
# game/screens.rpy:1411
old "Right Shoulder"
new "Botão R"
# game/screens.rpy:1416
old "D-Pad, Sticks"
new "D-Pad, Analógico"
# game/screens.rpy:1420
old "Start, Guide"
new "Start, Guide"
# game/screens.rpy:1421
old "Accesses the game menu."
new "Acessa o menu do jogo."
# game/screens.rpy:1424
old "Y/Top Button"
new "Y/Botão Superior"
# game/screens.rpy:1427
old "Calibrate"
new "Calibrar"
# game/screens.rpy:1490
old "Yes"
new "Sim"
# game/screens.rpy:1491
old "No"
new "Não"
# game/screens.rpy:1537
old "Skipping"
new "Pulando"
old "You have unlocked all bonus chapters!"
new "Você desbloqueou todos os capítulos bônus!"
old "You have unlocked the final bonus chapter!"
new "Você desbloqueou o último capítulo bônus!"
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
new "Você completou todos os finais! Complete todos os capítulos bônus para receber o último capítulo!"
old "You have unlocked new bonus chapters, complete unseen endings to see more!"
new "Você desbloqueou capítulos bônus novos, complete os finais não vistos para ver mais!"
translate pt_br strings:
# game/screens.rpy:293
old "Auto"
new "Auto"
# game/screens.rpy:363
old "Chapter Select"
new "Seleção de Capítulos"
old "Chapter Select{#MainMenu}"
new "{size=50}Seleção de Capítulos{/size}"
# game/screens.rpy:1004
old "Developer Tools"
new "Ferramentas de Desenvolvedor"
# game/screens.rpy:1005
old "Enable Debug Scores"
new "Ativar Mostrador de Pontos"
# game/screens.rpy:1006
old "Enable Chapter Select"
new "Ativar Seleção de Capítulos"
# game/screens.rpy:1787
old "Back"
new "Voltar"
# game/screens.rpy:1787
old "Menu"
new "Menu"
# TODO: Translation updated at 2024-10-07 18:25
translate pt_br strings:
# game/screens.rpy:810
old "Upload Sync"
new "Sincronizar Save"
# game/screens.rpy:814
old "Download Sync"
new "Baixar Save Sincronizado"
# game/screens.rpy:910
old "Show Mod Screenshots"
new "Exibir Screenshots de Mods"
# game/screens.rpy:911
old "Enable New Mods"
new "Ativar Novos Mods"
# game/screens.rpy:924
old "Enable Edgescrolling"
new "Ativar Rolagem"
# game/screens.rpy:929
old "Menu Style"
new "Estilo do Menu"
# game/screens.rpy:930
old "Original"
new "Original"
# game/screens.rpy:931
old "Epilogue"
new "Epílogo"
# game/screens.rpy:1332
old "Mouse Wheel Up"
new "Scroll para Cima"
# game/screens.rpy:1359
old "Start, Guide, B/Right Button"
new "Start, Guide, B/Botão da Direita"
old "Hides mod details. Shows mod errors if there is any."
new "Esconde detalhes do mod. Exibe erros do mod, \ncaso tenha algum."
+142
View File
@@ -0,0 +1,142 @@
# TODO: Translation updated at 2024-04-25 18:24
translate pt_br strings:
# game/script.rpy:137
old "Anon"
new "Anon"
# game/script.rpy:138
old "Fang"
new "Fang"
# game/script.rpy:139
old "Lucy"
new "Lucy"
# game/script.rpy:140
old "Rosa"
new "Rosa"
# game/script.rpy:141
old "Stella"
new "Stella"
# game/script.rpy:142
old "Naomi"
new "Naomi"
# game/script.rpy:143
old "Naser"
new "Naser"
# game/script.rpy:144
old "Trish"
new "Trish"
# game/script.rpy:145
old "Attendant"
new "Atendente"
# game/script.rpy:146
old "Spears"
new "Spears"
# game/script.rpy:147
old "Reed"
new "Reed"
# game/script.rpy:148
old "Driver"
new "Motorista"
# game/script.rpy:150
old "Fang's Mom"
new "Mãe de Fang"
# game/script.rpy:151
old "Fang's Dad"
new "Pai de Fang"
# game/script.rpy:153
old "Lucy's Mom"
new "Mãe da Lucy"
# game/script.rpy:154
old "Lucy's Dad"
new "Pai da Lucy"
# game/script.rpy:156
old "Mr. Tsuki"
new "Sr. Tsuki"
# game/script.rpy:157
old "(???)"
new "(???)"
# game/script.rpy:158
old "Mr. Jingo"
new "Sr. Jingo"
# game/script.rpy:159
old "Maitre D"
new "Maître"
# game/script.rpy:160
old "Moe"
new "Moe"
# game/script.rpy:161
old "Vince"
new "Vince"
# game/script.rpy:162
old "Waitress"
new "Garçonete"
# game/script.rpy:163
old "Riley"
new "Riley"
# game/script.rpy:164
old "Tana"
new "Tana"
# game/script.rpy:165
old "Trevor"
new "Trevor"
# game/script.rpy:167
old "Anon and Fang"
new "Anon e Fang"
# game/script.rpy:168
old "Street Vendor"
new "Vendedora de Rua"
# game/script.rpy:171
old "Fang Reed & Trish"
new "Fang Reed & Trish"
# game/script.rpy:172
old "Fang and Trish"
new "Fang e Trish"
# game/script.rpy:173
old "Naser and Naomi"
new "Naser e Naomi"
# game/script.rpy:174
old "Team member"
new "Membro do time"
# game/script.rpy:175
old "Everyone"
new "Todo mundo"
# game/script.rpy:176
old "Chet"
new "Chet"
old "Mr. Carldewskii"
new "Sr. Carldewskii"

Some files were not shown because too many files have changed in this diff Show More