Compare commits

..

105 Commits

Author SHA1 Message Date
2eb5e199d7 character name color tweaks 2021-07-21 13:44:27 -05:00
dfc021a662 Merge remote-tracking branch 'origin/5.1.1' into 5.1.1 2021-07-21 13:31:09 -05:00
de994b92b9 le link change 2021-07-21 12:52:35 -05:00
04f7439813 Merge pull request 'Make CG Gallery Extra good' (#58) from nutbuster/SnootGame:511 into 5.1.1
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/58
2021-07-21 17:42:46 +00:00
e2173db325 Rename wounds{1..9} -> wounds0{1..9} 2021-07-19 19:27:48 +10:00
795a58e5ca Disable Zoom 2021-07-19 19:11:19 +10:00
914dd89b02 Revert "Increase rows to 4"
This reverts commit 0de34a0000.
2021-07-19 19:01:40 +10:00
0de34a0000 Increase rows to 4 2021-07-19 18:55:37 +10:00
097befa6e7 Replay animations 2021-07-19 18:52:29 +10:00
bcbdc23967 Speed up transition 2021-07-19 18:13:52 +10:00
24a8aeadc1 zoom_arr change & Fix 0 == 0.0 bug 2021-07-19 10:15:09 +10:00
0f581c1344 mv 2021-07-18 17:54:21 +10:00
3357355a8a Clean up functions 2021-07-18 17:48:00 +10:00
a905747e2c Menu Redo: More Horizontal than Vert 2021-07-18 17:32:48 +10:00
be45045956 fangtail -> fang tail 2021-07-18 17:25:34 +10:00
8cd9fe8d24 Make UI for Mobile 2021-07-18 13:40:23 +10:00
e8b907fe1d Add back in Animations 2021-07-18 13:16:11 +10:00
6b86285683 Merge remote-tracking branch 'refs/remotes/origin/5.1.1' into 511 2021-07-18 13:11:56 +10:00
854ae7f546 Add CG Menu & Zoom control 2021-07-18 13:09:37 +10:00
46b05c8df5 redelete unused cgs and more update menu cleanliness 2021-07-17 20:50:31 -05:00
9c18b2e9c0 Merge remote-tracking branch 'Nio/master' into 5.1.1 2021-07-17 19:39:31 -05:00
c4f95dd7c6 Loopable Screens between different folders 2021-07-18 08:13:17 +10:00
Nio
1a09e1c776 colors muted 2021-07-17 16:37:32 +10:00
24324ec3ed Add data structs to support multiple folders 2021-07-17 15:54:26 +10:00
fa2cbd7137 Re touch up doc and placeholder textbuttons 2021-07-17 14:43:15 +10:00
a5c223cb1b Rehaul Gallery Menu 2021-07-17 14:22:01 +10:00
dc4b133c79 return 1 var 2021-07-17 13:32:30 +10:00
Nio
0f3481c705 man redef remd 2021-07-17 13:27:31 +10:00
d6824c5111 CG Gallery EX
Remove Gallery Object
Text & Correct Aspect Ratio Thumbnails
Pan & Scan
2021-07-17 12:49:18 +10:00
38e62a4814 menu name consistency, reformat updates submenu, fix "extramenu" messy 2021-07-16 16:42:58 -05:00
8c4177438b Merge remote-tracking branch 'nutbuster/lazysnake/feature/ISSUE-3_CG_Gallery' into 5.1.1 2021-07-16 15:08:41 -05:00
Nio
afe98372b5 colors modified muted ver 1 on extras 2021-07-15 18:48:31 +10:00
Nio
7d76bd3782 font color tweak 2021-07-14 18:16:01 +10:00
dd61898f95 Merge pull request 'Fix Concert Tarot if/else branching' (#56) from nutbuster/SnootGame:mustard into master
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/56
2021-07-14 04:12:48 +00:00
d9de78e09f Merge branch 'master' of https://git.snootgame.xyz/Cavemanon/SnootGame 2021-07-14 11:23:06 +10:00
f5abb91f91 Fix Tarot if/else branch flow 2021-07-14 11:20:28 +10:00
652372713b LAST HOTFIX additional updater end user diagnostics 2021-07-13 17:47:23 -05:00
fdfd364d43 HOTFIX TO FIX STUPID FUCKING 6 HOUR UPDATE COOLDOWN 2021-07-11 22:00:01 -05:00
f78394ddcf Predict the images to be loaded 2021-07-12 10:57:07 +10:00
38d465145e Remove unlocked 2021-07-11 15:18:16 +10:00
5cb9c4785c Rewrite how unlocking works 2021-07-11 15:10:52 +10:00
83e4d77249 Fix scrollbar 2021-07-11 14:00:50 +10:00
8c307865af Menu cleanup & touchup 2021-07-11 13:51:25 +10:00
572ecccd3b Remove menu button images & Render buttons 2021-07-11 13:28:42 +10:00
c3ebb51d4b Remove unused functions 2021-07-11 13:10:06 +10:00
d6686c318a CG Menu Redo 2021-07-11 13:09:22 +10:00
5723216d95 Revert "added cg unlocks"
This reverts commit 2cba3b2be1.
2021-07-11 11:44:32 +10:00
cb4ac81cae Extra Spaces fix 2021-07-11 11:44:10 +10:00
059a1381bb Remove the Nth times the style was redefined
DO NOT REDEFINE STYLES MULTIPLE TIMES
DO NOT REDEFINE STYLES MULTIPLE TIMES
DO NOT REDEFINE STYLES MULTIPLE TIMES
DO NOT REDEFINE STYLES MULTIPLE TIMES
DO NOT REDEFINE STYLES MULTIPLE TIMES
2021-07-11 11:12:11 +10:00
30df22db5d merge 2021-07-11 10:53:54 +10:00
fce061e138 Merge remote-tracking branch 'origin/Monster-Update-6' into lazysnake/feature/ISSUE-3_CG_Gallery 2021-07-11 10:51:29 +10:00
87c6665084 Remove unused CG 2021-07-11 10:42:16 +10:00
8117fa1981 loadGallery SDK Fix & seen_image 2021-07-11 10:40:15 +10:00
9cb70ad986 Merge pull request 'Chapter 7 if/else indentation' (#53) from nutbuster/SnootGame:mustard into master
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/53
2021-07-11 00:10:59 +00:00
cc86a7e3f0 Fix indentation 2021-07-10 09:12:11 +10:00
daef7af4e6 HOTFIX: ignore remote update is versname is "TEST", less naggy autoup 2021-07-09 01:42:04 -05:00
19e840d627 Merge branch 'Patchy-Patch5' 2021-07-09 00:04:15 -05:00
c131ce6328 Merge pull request 'Fix #47 & #9 - UI Changes' (#49) from nutbuster/SnootGame:Monster-Update-6 into Monster-Update-6
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/49
2021-07-04 01:14:00 +00:00
409a84d1b7 Change yoffset magic number to variable 2021-07-04 10:28:52 +10:00
f332a988c2 minor fixes 2021-07-03 14:33:50 +02:00
2cba3b2be1 added cg unlocks 2021-07-03 14:29:38 +02:00
81cd41ac9a slightly better panning for gallery items 2021-07-03 13:57:10 +02:00
dfc3a2263e gallery opened cg panning vol1, code cleanup 2021-07-03 13:40:34 +02:00
3441dbdbf5 cg button scaling, code cleanup 2021-07-03 12:42:12 +02:00
d44edb546e Delete unused assets 2021-07-03 17:08:50 +10:00
c84be31c37 conflict resolution 2021-07-03 09:03:47 +02:00
4f707ff8f4 Merge remote-tracking branch 'staging/Patchy-Patch5' into feature/ISSUE-3_CG_Gallery
# Conflicts:
#	game/screens.rpy
#	game/script.rpy
2021-07-03 09:03:33 +02:00
385b25c7d7 Merge remote-tracking branch 'staging/master' into feature/ISSUE-3_CG_Gallery 2021-07-03 09:01:27 +02:00
a8da4e16d2 Merge remote-tracking branch 'origin/Patchy-Patch5' into feature/ISSUE-3_CG_Gallery 2021-07-03 09:01:07 +02:00
40686cf245 Adjust Input prompt around OSK 2021-07-03 16:51:13 +10:00
6ac6fb8b44 Dialogue uses more width and slightly large font size 2021-07-03 12:12:11 +10:00
b774c119f8 Disable editing page values 2021-07-03 09:23:18 +10:00
586f446408 Delete Save System 2021-07-03 09:18:22 +10:00
f789c784d8 Replace Menu Button Asset 2021-07-03 09:18:05 +10:00
b687054963 Move Namebox magic numbers and edit the script
Edited the fourth day script: "Fang Reed and Trish"
-> into an actual Character object "Fang Reed & Trish"
2021-07-03 08:59:32 +10:00
4c16ad6465 Fix say window positions and relevant infomation 2021-07-02 16:11:47 +10:00
5c18593a75 Modify Namebox adjustments 2021-07-02 13:39:57 +10:00
f2164ab113 Fix file slot parity 2021-07-02 11:25:21 +10:00
9ff428aeaf Fix mobile main menu 2021-07-02 10:35:52 +10:00
367c7fd9a3 Render Main Menu Buttons' Text 2021-07-02 10:35:17 +10:00
ab1ef7b47e Merge branch 'Monster-Update-6' of https://git.snootgame.xyz/Cavemanon/SnootGame into Monster-Update-6 2021-07-02 10:11:56 +10:00
8d1fe9056e Quick Button style 2021-07-02 09:38:36 +10:00
f6a92b7f65 Windowed respects all window resolutions 2021-07-01 20:19:18 +10:00
b343365ef6 Bigger desktop quick button hitbox 2021-07-01 19:55:03 +10:00
f795f4d690 Remove magic number 2021-07-01 19:39:52 +10:00
fce9268dca Change idle_small_color from blue to aqua 2021-07-01 19:30:40 +10:00
8f01493824 Add Outline to most fonts 2021-07-01 19:29:01 +10:00
255e03dc90 Render All Quick Buttons' Text
Helper Array Function also added
2021-07-01 17:31:55 +10:00
7a58c9fea9 Merge branch 'Monster-Update-6' of https://git.snootgame.xyz/PrincipalSpears/SnootGame into Monster-Update-6 2021-07-01 01:45:35 -05:00
863aa68070 fixes #13 2021-07-01 01:44:56 -05:00
b876f089ce Remove Quit & Move Return menu 2021-07-01 16:29:25 +10:00
afd1def9d3 Merge pull request 'Fixes: #8 - Namebox position for mobile' (#45) from nutbuster/SnootGame:Monster-Update-6 into Monster-Update-6
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/45
2021-07-01 05:49:44 +00:00
123ee89e2d Fix Namebox position for mobile 2021-06-30 15:54:29 +10:00
e5769eb984 Merge pull request 'Fixes: #11 - Mobile Buttons' (#44) from nutbuster/SnootGame:Monster-Update-6 into Monster-Update-6
Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/44
2021-06-30 02:23:33 +00:00
6e10937b8b Bigger Buttons 2021-06-30 12:05:31 +10:00
b4112f4621 Replace textboxes with images
Template Image & Cleaner non-bitmap text
2021-06-30 10:45:56 +10:00
b1cdf930a9 cg gallery wip vol5: slightly nicer pagination 2021-06-17 20:38:46 +02:00
1f3a04c355 cg gallery wip vol5: unlocking cgs 2021-06-17 20:31:04 +02:00
a8c65161be removed unnecessary code 2021-06-17 18:54:57 +02:00
9f0ade7fe4 cg gallery wip vol4: pagination 2021-06-17 18:53:01 +02:00
f4a7c84f81 cg gallery wip vol3: basic pagination handler 2021-06-17 18:36:25 +02:00
f819958d80 cg gallery wip vol2: commenting, minor code cleanup 2021-06-16 21:54:10 +02:00
bd6c710380 cg gallery wip vol2: load all files 2021-06-14 21:27:30 +02:00
d4781d2d4c Merge remote-tracking branch 'staging/master' into feature/ISSUE-3_CG_Gallery 2021-06-14 20:41:11 +02:00
8cd9643818 cg gallery wip vol1: gallery data init, gallery screen 2021-06-12 21:50:48 +02:00
65 changed files with 701 additions and 531 deletions

View File

@ -23,14 +23,14 @@ init python:
## The colors of text in the interface.
## An accent color used throughout the interface to label and highlight text.
define gui.accent_color = '#FF00FC'
define gui.accent_color = '#A2029F'
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = '#FFFE00'
define gui.idle_color = '#D5D507'
## The small color is used for small text, which needs to be brighter/darker to
## achieve the same effect.
define gui.idle_small_color = '#0001FF'
define gui.idle_small_color = '#00E1FF'
## The color that is used for buttons and bars that are hovered.
define gui.hover_color = '#00FF03'
@ -47,10 +47,19 @@ define gui.insensitive_color = '#8888887f'
define gui.muted_color = '#3d1466'
define gui.hover_muted_color = '#5b1e99'
## The colors used for dialogue and menu choice text.
## The colors used for dialogue and menu choice text
define gui.text_color = '#ffffff'
#define gui.text_color_outline = '#00000000'
define gui.interface_text_color = '#ffffff'
## Default font outline color
define gui.default_outline = '#000'
## Namebox outline color
define gui.name_outline = '#000000dd'
define gui.main_menu_color = '#FFF'
## Fonts and Font Sizes ########################################################
@ -64,23 +73,30 @@ define gui.name_text_font = "gui/FallingSky.otf"
define gui.interface_text_font = "gui/FallingSky.otf"
## The size of normal dialogue text.
define gui.text_size = 40
define gui.text_size = 42
#define gui.text_outlines = [ (absolute(0.5), gui.text_color_outline, 0, 0) ]
## The size of character names.
define gui.name_text_size = 45
define gui.name_text_outlines = [ (absolute(1.5), gui.name_outline, 0, 0) ]
## The size of text in the game's user interface.
define gui.interface_text_size = 33
define gui.interface_text_outlines = [ (1, gui.default_outline, 0, 0) ]
## The size of labels in the game's user interface.
define gui.label_text_size = 36
define gui.label_text_outlines = [ (2, gui.default_outline, 0, 0) ]
## The size of text on the notify screen.
define gui.notify_text_size = 24
#define gui.notify_text_outlines = [ (2, gui.default_outline, 0, 0) ]
## The size of the game's title.
define gui.title_text_size = 75
#define gui.title_text_outlines = [ (2, gui.default_outline, 0, 0) ]
define gui.main_menu_text_size = 60
## Main and Game Menus #########################################################
@ -105,12 +121,14 @@ define gui.textbox_yalign = 1.0
## The placement of the speaking character's name, relative to the textbox.
## These can be a whole number of pixels from the left or top, or 0.5 to center.
define gui.name_xpos = 285
define gui.name_ypos = -90
define gui.name_xpos = 350
define gui.name_ypos = -85
define gui.name_large_xpos = 395
## The horizontal alignment of the character's name. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.name_xalign = 0.0
define gui.name_xalign = 0.5
## The width, height, and borders of the box containing the character's name, or
## None to automatically size it.
@ -125,21 +143,21 @@ define gui.namebox_borders = Borders(5, 5, 5, 5)
## background of the namebox will be scaled.
define gui.namebox_tile = False
## The placement of dialogue relative to the textbox. These can be a whole
## number of pixels relative to the left or top side of the textbox, or 0.5 to
## center.
#To make the text with the characters align to the normal text, I set this to match up and make it "just werk". It is a horrible, hacky fix, but werks none the less. I hope this fix is so bad that I never get to write gui code ever again.
define gui.dialogue_xpos = 365
define gui.dialogue_ypos = 47
## The maximum width of dialogue text, in pixels.
define gui.dialogue_width = 1116
#It's still bad but it could be legitmately worse
define gui.dialogue_ypos = 20
define gui.dialogue_xpos = 220
define gui.dialogue_width = 1460
## The horizontal alignment of the dialogue text. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.dialogue_text_xalign = 0.0
define gui.window_yoffset = 0
define gui.input_yoffset = 0
## Buttons #####################################################################
##
@ -428,18 +446,23 @@ init python:
if renpy.variant("small"):
## Font sizes.
gui.text_size = 45
gui.name_text_size = 54
gui.text_size = 44
gui.name_text_size = 48
gui.notify_text_size = 38
gui.interface_text_size = 45
gui.button_text_size = 45
gui.label_text_size = 51
## Namebox
gui.name_xpos = 345
gui.name_ypos = -85
## Adjust the location of the textbox.
gui.textbox_height = 360
gui.name_xpos = 120
gui.text_xpos = 135
gui.text_width = 1650
gui.dialogue_ypos = 20
gui.dialogue_xpos = 240
gui.dialogue_width = 1460
gui.window_yoffset = -75
## Change the size and spacing of various things.
gui.slider_size = 54
@ -453,10 +476,6 @@ init python:
gui.quick_button_text_size = 30
## File button layout.
gui.file_slot_cols = 2
gui.file_slot_rows = 2
## NVL-mode.
gui.nvl_height = 255
@ -474,4 +493,7 @@ init python:
gui.nvl_button_xpos = 30
## Input, OSK, very specific
if renpy.variant("small") or renpy.variant("touch"):
gui.input_yoffset = -625

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

View File

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 226 KiB

View File

Before

Width:  |  Height:  |  Size: 246 KiB

After

Width:  |  Height:  |  Size: 246 KiB

View File

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 198 KiB

View File

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

View File

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 266 KiB

View File

Before

Width:  |  Height:  |  Size: 214 KiB

After

Width:  |  Height:  |  Size: 214 KiB

View File

@ -23,7 +23,7 @@ define gui.show_name = True
## The version of the game.
define config.version = "Patchy-patch5"
define config.version = "Patchy-patch5.1.1"
## Text that is placed on the game's about screen. Place the text between the
## triple-quotes, and leave a blank line between paragraphs.
@ -77,7 +77,7 @@ define config.exit_transition = dissolve
## Between screens of the game menu.
define config.intra_transition = dissolve
define config.intra_transition = Dissolve(0.20)
## A transition that is used after a game has been loaded.

View File

@ -6,14 +6,19 @@ init python:
persistent.autoup = False
if persistent.updateWebServer is None:
persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json"
def UpdateCheck():
pendingVersion = updater.UpdateVersion(persistent.updateWebServer)
if pendingVersion == None:
# WHY YES I ONLY ALLOW PEOPLE USING MY FRAMEWORK TO CHECK FOR AN UPDATE EVERY SIX FUCKING HOURS HOW DID YOU KNOW
# NOPE check_interval=5 (5 SECONDS) FUCK YOU
pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5)
if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion:
persistent.updateresult = "No new version is available"
else:
persistent.updateresult = pendingVersion
def ToggleAutoUpdate():
persistent.autoup = not persistent.autoup
################################################################################
## Initialization
################################################################################
@ -117,11 +122,13 @@ screen say(who, what):
id "window"
if who is not None:
background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
window:
id "namebox"
style "namebox"
text who id "who"
else:
background Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0)
text what id "what"
@ -150,23 +157,23 @@ style window:
xfill True
yalign gui.textbox_yalign
ysize gui.textbox_height
background Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0)
xoffset 0
yoffset gui.window_yoffset
xcenter 0.5
style namebox:
xalign 0.5
xpos gui.name_xpos
xanchor gui.name_xalign
xsize gui.namebox_width
ypos gui.name_ypos
ysize gui.namebox_height
background Frame("gui/namebox.png", gui.namebox_borders, tile=gui.namebox_tile, xalign=gui.name_xalign)
padding gui.namebox_borders.padding
style namebox_large is namebox:
xpos gui.name_large_xpos
style say_label:
properties gui.text_properties("name", accent=True)
xalign gui.name_xalign
yalign 0.5
xanchor gui.name_xalign
style say_dialogue:
properties gui.text_properties("dialogue")
@ -190,12 +197,13 @@ screen input(prompt):
style_prefix "input"
window:
add Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0, yoffset=gui.input_yoffset) #for mobile OSK
vbox:
xalign gui.dialogue_text_xalign
xpos gui.dialogue_xpos
xsize gui.dialogue_width
ypos gui.dialogue_ypos
yoffset gui.input_yoffset #for mobile OSK
text prompt style "input_prompt"
input id "input"
@ -255,6 +263,21 @@ style choice_button_text is default:
## The quick menu is displayed in-game to provide easy access to the out-of-game
## menus.
screen quick_button(filename, label, function):
button:
xmaximum 80
ymaximum 72
action function
fixed:
add filename xalign 0.5 yalign 0.5 zoom 1
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text"
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
# Reuse the same image string and keep things 'neat'.
screen quick_buttons(filename, label_functions):
for l_f in label_functions:
use quick_button(filename, l_f[0], l_f[1])
screen quick_menu():
## Ensure this appears on top of other screens.
@ -266,14 +289,16 @@ screen quick_menu():
ypos 0.977
grid 1 4:
style_prefix "quick"
xalign 0.0
yalign 0.0
#imagebutton auto "gui/button/uioptionbuttons/skip_%s.png" action Rollback()
imagebutton auto "gui/button/uioptionbuttons/skip_%s.png" action Skip() alternate Skip(fast=True, confirm=True)
imagebutton auto "gui/button/uioptionbuttons/save_%s.png" action ShowMenu('save')
imagebutton auto "gui/button/uioptionbuttons/auto_%s.png" action Preference("auto-forward", "toggle")
imagebutton auto "gui/button/uioptionbuttons/load_%s.png" action ShowMenu('load')
xalign -0.005
yalign 0.010
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
[ \
[ "Skip", Skip() ], \
[ "Save", ShowMenu('save') ], \
[ "Auto", Preference("auto-forward", "toggle") ], \
[ "Load", ShowMenu('load') ] \
] )
screen score_menu():
zorder 100
@ -290,7 +315,6 @@ screen score_menu():
text "DEBUG SCORE CARD"
## This code ensures that the quick_menu screen is displayed in-game, whenever
## the player has not explicitly hidden the interface.
init python:
@ -305,14 +329,17 @@ style quick_button:
properties gui.button_properties("quick_button")
style quick_button_text:
properties gui.button_text_properties("quick_button")
#properties gui.button_text_properties("quick_button")
color gui.selected_color
hover_color gui.hover_color
selected_color gui.accent_color
################################################################################
## Main and Game Menu Screens
################################################################################
## Navigation screen ###########################################################
## Navigation screen ##########################################################
##
## This screen is included in the main and game menus, and provides navigation
## to other menus, and to start the game.
@ -330,8 +357,10 @@ screen navigation():
textbutton _("History") action ShowMenu("history")
textbutton _("Save") action ShowMenu("save")
textbutton _("Load") action ShowMenu("load")
textbutton _("Delete") action ShowMenu("delete")
textbutton _("Options") action ShowMenu("preferences")
textbutton _("Extras") action ShowMenu("extras")
#textbutton _("Extras") action ShowMenu("extras")
textbutton _("Return") action Return()
if _in_replay:
@ -343,11 +372,11 @@ screen navigation():
textbutton _("Main Menu") action MainMenu()
#textbutton _("Debug Score Card") action ShowMenu("score_menu")
if renpy.variant("pc"):
#if renpy.variant("pc"):
## The quit button is banned on iOS and unnecessary on Android and
## Web.
textbutton _("Quit") action Quit()
#textbutton _("Quit") action Quit()
style navigation_button is gui_button
@ -367,6 +396,22 @@ style navigation_button_text:
##
## https://www.renpy.org/doc/html/screen_special.html#main-menu
#similar to quick_button funcs
screen main_menu_button(filename, label, function):
button:
xmaximum 500
ymaximum 129
action function
fixed:
add filename xalign 0.5 yalign 0.5 zoom 1
text label xalign 0.5 yalign 0.5 xanchor 0.5
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
# Reuse the same image string and keep things 'neat'.
screen main_menu_buttons(filename, label_functions):
for l_f in label_functions:
use main_menu_button(filename, l_f[0], l_f[1])
screen main_menu():
## This ensures that any other menu screen is replaced.
@ -384,21 +429,25 @@ screen main_menu():
## The use statement includes another screen inside this one. The actual
## contents of the main menu are in the navigation screen.
vbox:
xpos 1940
yalign 0.03
if persistent.splashtype == 1:
add "gui/sneedgame.png"
else:
add "gui/snootgame.png"
xpos 1940
yalign 0.03
if persistent.splashtype == 1:
add "gui/sneedgame.png"
else:
add "gui/snootgame.png"
vbox:
spacing 25
xpos 1885
yalign 0.9
imagebutton auto "gui/button/menubuttons/startbutton_%s.png" action Start()
imagebutton auto "gui/button/menubuttons/loadbutton_%s.png" action ShowMenu("load")
imagebutton auto "gui/button/menubuttons/optionsbutton_%s.png" action ShowMenu("preferences")
imagebutton auto "gui/button/menubuttons/extrasbutton_%s.png" action ShowMenu("extras")
imagebutton auto "gui/button/menubuttons/quitbutton_%s.png" action Quit(confirm=not main_menu)
spacing 25
xpos 1885
yalign 0.9
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[ \
[ "Start", Start() ], \
[ "Load", ShowMenu("load") ], \
[ "Options", ShowMenu("preferences") ], \
[ "Extras", ShowMenu("extras") ], \
[ "Quit", Quit(confirm=not main_menu) ] \
] )
on "show" action renpy.start_predict_screen("cg_gallery")
style main_menu_frame is empty
style main_menu_vbox is vbox
@ -417,10 +466,13 @@ style main_menu_vbox:
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
yoffset -60
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
properties gui.text_properties("main_menu") #, accent=True)
color gui.main_menu_color
hover_color gui.hover_color
size gui.main_menu_text_size
style main_menu_title:
properties gui.text_properties("title")
@ -494,11 +546,6 @@ screen game_menu(title, scroll=None, yinitial=0.0):
use navigation
textbutton _("Return"):
style "return_button"
action Return()
label title
if main_menu:
@ -571,7 +618,7 @@ screen about():
add gui.main_menu_background
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
@ -580,9 +627,10 @@ screen about():
## contents of the main menu are in the navigation screen.
vbox:
xpos 1240
## yalign 0.03
ypos 800
yalign 0.00
yoffset 100
xoffset 80
xmaximum 1100
label "[config.name!t]"
text _("Version [config.version!t]\n")
@ -590,120 +638,9 @@ screen about():
if gui.about:
text "[gui.about!t]\n"
text _("{size=24}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}")
textbutton "Back to Extras" action ShowMenu("extras")
vbox:
xpos 1942
# xalign 1.0
yalign 0.95
use extrasnavigation
style main_menu_frame is empty
style main_menu_vbox is vbox
style main_menu_text is gui_text
style main_menu_title is main_menu_text
style main_menu_version is main_menu_text
style main_menu_frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
style main_menu_vbox:
xalign 1.0
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
properties gui.text_properties("title")
## Gallery screen ################################################################
##
## This screen holds the Gallery.
##
screen gallery():
tag menu
## This use statement includes the game_menu screen inside this one. The
## vbox child is then included inside the viewport inside the game_menu
## screen.
style_prefix "main_menu"
add gui.main_menu_background
add gui.extras_submenu_panel
frame:
pass
vbox:
xpos 500
yalign 0.2
textbutton "Back to Extras" action ShowMenu("extras")
vbox:
viewport id "gallery":
xpos 700
ypos 1000
style_prefix "gallery"
use images
text _("") ## Not sure why, but this keeps the vbox below working ... Renpy quirk? Does it kill scrolling in the viewport? Tune in when we have the gallery populated in the images screen.
vbox:
xpos 1942
# xalign 1.0
yalign 0.95
use extrasnavigation
style main_menu_frame is empty
style main_menu_vbox is vbox
style main_menu_text is gui_text
style main_menu_title is main_menu_text
style main_menu_version is main_menu_text
style main_menu_frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
style main_menu_vbox:
xalign 1.0
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
properties gui.text_properties("title")
## Images Screen ################################################################
##
## This is the screen that actually houses the images of the gallery
screen images():
tag menu
style_prefix "main_menu"
frame:
pass
vbox:
xpos 600
ypos 600
text _("Placeholder for gallery.")
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 ################################################################
##
@ -713,12 +650,11 @@ screen images():
screen updates():
tag menu
style_prefix "main_menu"
add gui.main_menu_background
add gui.extras_submenu_background
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
@ -727,49 +663,46 @@ screen updates():
## contents of the main menu are in the navigation screen.
vbox:
xpos 1140
ypos 800
#text _("UPDATES")
yalign 0.00
yoffset 100
xoffset 80
xmaximum 1100
label "[config.name!t]"
text _("Your Version is [config.version!t]\n")
##style_prefix "check"
textbutton _("Enable Automatic Updates") action [Notify("Toggling Automatic Updates..."), ToggleVariable("persistent.autoup", True, False)]
text _("Automatic Updates: [persistent.autoup!t]\n")
textbutton _("Check for Update!") action [Notify("Checking for update..."), Function(UpdateCheck)]
label _("Update Check Result:\n")
text _("[persistent.updateresult!t]\n")
textbutton _("Update Now!") action updater.Update(persistent.updateWebServer, force=True)
textbutton "Back to Extras" action ShowMenu("extras")
vbox:
xpos 1942
# xalign 1.0
yalign 0.95
use extrasnavigation
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}")
style main_menu_frame is empty
style main_menu_vbox is vbox
style main_menu_text is gui_text
style main_menu_title is main_menu_text
style main_menu_version is main_menu_text
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)]
style main_menu_frame:
xsize 420
yfill True
label _("Update Checker:")
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
textbutton _("{size=36}Check for Update\n{/size}") action [Notify("Checking for update..."), Function(UpdateCheck)]
background "gui/overlay/main_menu.png"
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}") action updater.Update(persistent.updateWebServer, force=False)
else:
textbutton _("{size=36}Update Now!\n{/size}") action Notify("Nothing to update to!")
style main_menu_vbox:
xalign 1.0
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
properties gui.text_properties("title")
use extrasnavigation
## Load and Save screens #######################################################
##
@ -793,8 +726,13 @@ screen load():
use file_slots(_("Load"))
screen delete():
screen file_slots(title):
tag menu
use file_slots(_("Delete"), True)
screen file_slots(title, flag=False):
default page_name_value = FilePageNameInputValue(pattern=_("Page {}"), auto=_("Automatic saves"), quick=_("Quick saves"))
@ -806,13 +744,13 @@ screen file_slots(title):
## buttons do.
order_reverse True
## The page name, which can be edited by clicking on a button.
## The page name
button:
style "page_label"
key_events True
xalign 0.5
action page_name_value.Toggle()
#action page_name_value.Toggle()
input:
style "page_label_text"
@ -832,13 +770,16 @@ screen file_slots(title):
$ slot = i + 1
button:
action FileAction(slot)
if flag:
action FileDelete(slot)
else:
action FileAction(slot)
has vbox
add FileScreenshot(slot) xalign 0.5
text FileTime(slot, format=_("{#file_time}%A, %B %d %Y, %H:%M"), empty=_("empty slot")):
text FileTime(slot, format=_("{#file_time}%A, %B %d %Y, %H:%M"), empty=_("Empty Slot")):
style "slot_time_text"
text FileSaveName(slot):
@ -913,7 +854,7 @@ screen preferences():
tag menu
use game_menu(_("Preferences"), scroll="viewport"):
use game_menu(_("Options"), scroll="viewport"):
vbox:
@ -925,7 +866,7 @@ screen preferences():
vbox:
style_prefix "radio"
label _("Display")
textbutton _("Window") action Preference("display", "window")
textbutton _("Window") action Preference("display", "any window")
textbutton _("Fullscreen") action Preference("display", "fullscreen")
vbox:
@ -939,6 +880,11 @@ screen preferences():
label _("Naughty Stuff")
textbutton _("Enable Lewd Images") action ToggleVariable("persistent.lewd", True, False)
vbox:
style_prefix "check"
label _("Requires Restart")
textbutton _("Enable Forward-Scroll Movement") action ToggleVariable("persistent.scroll", True, False)
vbox:
style_prefix "check"
@ -1173,95 +1119,36 @@ screen extras():
add gui.main_menu_background
## 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:
# xpos 1940
# yalign 0.03
# if persistent.splashtype == 1:
# add "gui/sneedgame.png"
# else:
# add "gui/snootgame.png"
# vbox:
# spacing 25
# xpos 1885
# yalign 0.9
# imagebutton auto "gui/button/menubuttons/helpbutton_%s.png" action ShowMenu("help")
# imagebutton auto "gui/button/menubuttons/aboutbutton_%s.png" action ShowMenu("about")
# imagebutton auto "gui/button/menubuttons/updatesbutton_%s.png" action ShowMenu("updates")
# imagebutton auto "gui/button/menubuttons/gallerybutton_%s.png" action ShowMenu("gallery")
# imagebutton auto "gui/button/menubuttons/returnbutton_%s.png" action ShowMenu("main_menu")
# # if gui.show_name:
# #
# # vbox:
# # text "[config.version]":
# # style "main_menu_version"
vbox:
xpos 1942
# xalign 1.0
yalign 0.95
use extrasnavigation
style main_menu_frame is empty
style main_menu_vbox is vbox
style main_menu_text is gui_text
style main_menu_title is main_menu_text
style main_menu_version is main_menu_text
style main_menu_frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
style main_menu_vbox:
xalign 1.0
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
properties gui.text_properties("title")
use extrasnavigation
##Extras Navigation Screen #####################################################
##
##This screen is to be reused in
screen extrasnavigation():
screen extrasnavigation():
vbox:
#xalign 1.0
xpos 665
ypos 270
xpos 1940
yalign 0.03
if persistent.splashtype == 1:
add "gui/sneedgame.png"
else:
add "gui/snootgame.png"
vbox:
spacing 25
# xpos 590
xalign 0.79
yalign 1.0 #0.9
imagebutton auto "gui/button/menubuttons/helpbutton_%s.png" action ShowMenu('help')
imagebutton auto "gui/button/menubuttons/aboutbutton_%s.png" action ShowMenu('about')
imagebutton auto "gui/button/menubuttons/updatesbutton_%s.png" action ShowMenu('updates')
imagebutton auto "gui/button/menubuttons/gallerybutton_%s.png" action ShowMenu('gallery')
imagebutton auto "gui/button/menubuttons/returnbutton_%s.png" action ShowMenu('main_menu')
xpos 1885
yalign 0.9
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ],
[ "Updates", ShowMenu("updates") ],
[ "Gallery", ShowMenu("cg_gallery_0") ],
[ "Return", ShowMenu("main_menu") ]
] )
## Help screen #################################################################
##
@ -1277,7 +1164,7 @@ screen help():
add gui.main_menu_background
add gui.extras_submenu_panel
## This empty frame darkens the main menu.
frame:
pass
@ -1290,37 +1177,30 @@ screen help():
# yalign 0.4
# spacing 23
hbox:
xpos 200
## ypos 1000
yalign 0.3
spacing 23
style_prefix "help"
textbutton _("Keyboard") action SetScreenVariable("device", "keyboard")
textbutton _("Mouse") action SetScreenVariable("device", "mouse")
if GamepadExists():
textbutton _("Gamepad") action SetScreenVariable("device", "gamepad")
textbutton "Back to Extras" action ShowMenu("extras")
fixed:
hbox:
xpos 200
spacing 23
style_prefix "help"
textbutton _("Keyboard") action SetScreenVariable("device", "keyboard")
textbutton _("Mouse") action SetScreenVariable("device", "mouse")
if GamepadExists():
textbutton _("Gamepad") action SetScreenVariable("device", "gamepad")
vbox:
yalign 0.5
xpos 1100
if device == "keyboard":
use keyboard_help
elif device == "mouse":
use mouse_help
elif device == "gamepad":
use gamepad_help
text _("") ## again in here to keep vbox in check
use extrasnavigation
vbox:
xpos 1100
ypos 1000
# yalign 0.4
if device == "keyboard":
use keyboard_help
elif device == "mouse":
use mouse_help
elif device == "gamepad":
use gamepad_help
text _("") ## again in here to keep vbox in check
vbox:
xpos 1942
# xalign 1.0
yalign 0.95
use extrasnavigation
screen keyboard_help():
style_prefix "help"
@ -1392,7 +1272,7 @@ screen mouse_help():
text _("Rolls forward to later dialogue.")
screen gamepad_help():
screen gamepad_help():
style_prefix "help"
hbox:
label _("Right Trigger\nA/Bottom Button")
@ -1444,32 +1324,6 @@ style help_label_text:
xalign 1.0
text_align 1.0
style main_menu_frame is empty
# style main_menu_vbox is vbox
# style main_menu_text is gui_text
# style main_menu_title is main_menu_text
# style main_menu_version is main_menu_text
style main_menu_frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
style main_menu_vbox:
xalign 1.0
xoffset -30
xmaximum 1200
yalign 1.0
yoffset -30
style main_menu_text:
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
properties gui.text_properties("title")
################################################################################
## Additional screens
################################################################################
@ -1762,28 +1616,33 @@ style pref_vbox:
## Since a mouse may not be present, we replace the quick menu with a version
## that uses fewer and bigger buttons that are easier to touch.
#redefine function
screen quick_button(filename, label, function):
variant "small"
button:
xmaximum 180
ymaximum 100
action function
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"
screen quick_menu():
variant "touch"
variant "small"
zorder 100
if quick_menu:
hbox:
style_prefix "quick"
xalign 0.5
yalign 1.0
textbutton _("Back") action Rollback()
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle")
textbutton _("Menu") action ShowMenu()
style window:
variant "small"
background "gui/phone/textbox.png"
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
[ \
[ "Back", Rollback() ], \
[ "Skip", Skip() ], \
[ "Auto", Preference("auto-forward", "toggle") ], \
[ "Menu", ShowMenu() ] \
] )
style radio_button:
variant "small"
@ -1797,10 +1656,6 @@ style nvl_window:
variant "small"
background "gui/phone/nvl.png"
style main_menu_frame:
variant "small"
background "gui/phone/overlay/main_menu.png"
style game_menu_outer_frame:
variant "small"
background "gui/phone/overlay/game_menu.png"

View File

@ -23,9 +23,8 @@ init python:
picked = random.randint(0,length - 1)
fileName = files[picked]
renpy.show(fileName, at_list=[randPosition])
#for issue #13 not finalized
#if persistent.scroll == True:
# config.keymap['dismiss'].append('mousedown_5')
if persistent.scroll == True:
config.keymap['dismiss'].append('mousedown_4')
transform randPosition:
alpha 0.0
@ -81,34 +80,38 @@ transform randPosition:
# attribute guitar:
# "guitar.webp"
#Raw Image & kwargs for long textboxes
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 A = Character ('Anon',color="#36E12D",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-120,who_ypos=110) #Light Green
define F = Character ('Fang',color="#7E2DE1",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Purple
define Lucy = Character ('Lucy',color="#7E2DE1",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Purple
define Ro = Character ('Rosa',color="#E12D36",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Red
define St = Character ('Stella',color="#E17E2D",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #orang
define N = Character ('Naomi',color="#2D36E1",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Blue
define Nas = Character ('Naser',color="#501D5E",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Dark Purple
define T = Character ('Trish',color="#8A0036",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Maroon
define Attendant = Character ('Attendant',color="#8A0036",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-155,who_ypos=111) #Maroon
define Sp = Character ('Spears',color="#7B8A00",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Dark Yellow
define Re = Character ('Reed',color="#368A00",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Dark Green
define D = Character ('Driver',color="#098A00",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111)
define FM = Character ('Fangs Mom',color="#EA1A84",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=108)
define FD = Character ('Fangs Dad',color="#1A1CEA",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=108)
define Tsuki = Character ('Mr. Tsuki',color="#CEAF23",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-150,who_ypos=111)
define unknown = Character (' (???)',color="#000000",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define jingo = Character ('Mr. Jingo',color="#42C053",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define MaitD = Character ('Maitre D',color="#42C053",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define Moe = Character(' Moe',color="#42C053",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define Vince = Character ('Vince',color="#3C770D",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-125,who_ypos=111) #Dark Green
define Waitress = Character ('Waitress',color="#C89B19",window_background="gui/textbox.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-140,who_ypos=111) #Gold
define A = Character ('Anon',color="#36E12D", who_outlines=[(1, '#0C300A')]) # Light Green
define F = Character ('Fang',color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
define Lucy = Character ('Lucy',color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
define Ro = Character ('Rosa',color="#FE712B", who_outlines=[(1, '#3D1809')]) # Red-Orange
define St = Character ('Stella',color="#D2FFAA", who_outlines=[(1, '#203011')]) # Light Green
define N = Character ('Naomi',color="#F8B9A0", who_outlines=[(1, '#291A1B')]) # Peach
define Nas = Character ('Naser',color="#F89E38", who_outlines=[(1, '#2D2D2D')]) # Orange
define T = Character ('Trish',color="#B675E6", who_outlines=[(1, '#1F0632')]) # Purple
define Attendant = Character ('Attendant',color="#8A0036", who_outlines=[(1, '#FFFFFF')]) # Maroon
define Sp = Character ('Spears',color="#C4C3C3", who_outlines=[(1, '#272727')]) # Light Grey
define Re = Character ('Reed',color="#ED4C5B", who_outlines=[(1, '#361013')]) # Bright Red
define D = Character ('Driver',color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
define FM = Character ('Fangs Mom',color="#FFD8F6", who_outlines=[(1, '#361730')]) # Bright Pink
define FD = Character ('Fangs Dad',color="#D8A09A", who_outlines=[(1, '#190E0F')]) # Desaturated Orange
define Tsuki = Character ('Mr. Tsuki',color="#A7F2A2", who_outlines=[(1, '#320E3B')]) # Pear Green
define unknown = Character ('(???)',color="#000000", who_outlines=[(1, '#FFFFFF')]) # Black
define jingo = Character ('Mr. Jingo',color="#CD8283", who_outlines=[(1, '#0F0D49')]) # Desaturated Red
define MaitD = Character ('Maitre D',color="#241630", who_outlines=[(1, '#241630')]) # Cobalt Blue
define Moe = Character('Moe',color="#A5BEED", who_outlines=[(1, '#342210')]) # Desaturated Blue
define Vince = Character ('Vince',color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
define Waitress = Character ('Waitress',color="#F691C8", who_outlines=[(1, '#402E3A')]) # Pink
#long TB chars
define AnonAndFang = Character(' Anon and Fang',color="34F313",window_background="gui/textbox_long.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define SV = Character ('Street Vendor',color="#420046",window_background="gui/textbox_long.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-145,who_ypos=110)
define carl = Character ('Mr. Carldewskii',color="#4963A5",window_background="gui/textbox_long.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define Drf = Character (' Dr. Fernsworth',color="#4963A5",window_background="gui/textbox_long.png",window_xoffset=120,window_yoffset=-79,what_xpos=245,what_ypos=125,who_xpos=-170,who_ypos=110)
define AnonAndFang = Character('Anon and Fang',color="72DFA8", who_outlines=[(1, '#113623')], **long_textbox) # Cyan
define SV = Character ('Street Vendor',color="#F8E120", who_outlines=[(1, '#361504')], **long_textbox) # Yellow
define carl = Character ('Mr. Carldewskii',color="#E19E40", who_outlines=[(1, '#03223B')], **long_textbox) # Puke Orange
define Drf = Character ('Dr. Fernsworth',color="#253354", who_outlines=[(1, '#334573')], **long_textbox) # Royal Blue
define FRT = Character ('Fang Reed & Trish',color="#4963A5", who_outlines=[(1, '#FFFFFF')], **long_textbox) # Cold Blue
#Extra image translations
#siloettes

View File

@ -115,32 +115,32 @@ label chapter_10:
A "...Fine..."
scene wounds1 with fade
scene wounds01 with fade
pause 2
scene black with fade
"I step into my tiny shower stall and turn on the water."
"The shower head sputters before it starts weakly spraying lukewarm water."
scene wounds2 with fade
scene wounds02 with fade
"The temperature of the water doesnt help the tension in my muscles or the bruises marring my skin."
"I stretch around and see massive blotches of purple and black splattered across my torso."
scene wounds3
scene wounds03
"Each contusion is hot to the touch under my fingers and the pain is intense."
scene wounds4
scene wounds04
"The worst is across my chest where the bollard hit me."
scene wounds5
scene wounds05
"I eventually get finished examining my wicked wounds and step out of the bathroom. Fang is on her phone doing Raptor Jesus knows what."
scene wounds6
scene wounds06
"Fang then pats the bed"
@ -148,7 +148,7 @@ label chapter_10:
"I walk over and lie down on my stomach"
scene wounds7
scene wounds07
F "Jesus that's bad..."
@ -193,11 +193,11 @@ label chapter_10:
A "Hm?"
F "I need to do the front."
scene wounds8
scene wounds08
"Oh."
"Okay then. I roll over onto my back."
scene wounds9
scene wounds09
"And find myself face to beak with her."
"Dangerously close."
@ -350,4 +350,4 @@ label chapter_10:
stop music fadeout 1.0
"..."
return
return

View File

@ -1244,7 +1244,7 @@ label chapter_2:
A "Huh?"
Re "Get your phone out man… Look up {color=#66cc33}'LW_S9znpklI'{/color}.."
Re "Get your phone out man… Look up {color=#66cc33}'T9nXyUye3pg'{/color}.."
A "How did you say that out loud?"
@ -1377,7 +1377,7 @@ label chapter_2:
A "Well…"
"Fang Reed and Trish" "Ohfuck. Sorry Anon, we gotta bail."
FRT "Ohfuck. Sorry Anon, we gotta bail."
show fang neutral flip
show trish neutral flip
hide trish with moveoutright
@ -1513,4 +1513,4 @@ label chapter_2:
scene black with fade
return
return

View File

@ -288,7 +288,7 @@ label chapter_5:
label movie:
A "FANG!"
stop music fadeout 1.0
image fang tail = Movie(play="animations/fangtail.webm",loop=True)
image fang tail = Movie(play="animations/fang tail.webm",loop=True)
scene fang tail with fade
@ -2547,3 +2547,7 @@ label chapter_5:
"..."
return
label fang_movie:
scene fang tail with fade
""

View File

@ -174,11 +174,11 @@ label chapter_7:
#>>golden
St "Upright Strength"
St "OH! I dont think you need to worry about whats to come, Anon."
elif anonscore >= 3 and fangscore <= 2:
elif anonscore >= 3 and fangscore <= 3:
#>>tradwife
St "Inverted Hierophant."
St "You need to be wary of your words and actions, Anon."
elif anonscore <= 2 and fangscore >= 3:
elif anonscore <= 3 and fangscore >= 3:
#>>doomer
St "Inverted Hermit."
St "Anon, if you ever feel lonely you can come to me."
@ -641,166 +641,167 @@ label chapter_7:
F "T-tuesday?"
"Fang fell out of tempo with Reeds drums, stumbling over the end of the song."
"Its silent."
"Its silent."
"I began to clap, followed by several other patrons."
"I began to clap, followed by several other patrons."
"Including Stella who looked seconds away from being curb-stomped."
"Including Stella who looked seconds away from being curb-stomped."
"Rosa is on the other side of the room, too entranced by the music to care."
"Rosa is on the other side of the room, too entranced by the music to care."
play music 'audio/OST/Summertime Synth.ogg' fadein 1.0
scene moebackrooms
show anon neutral flip at aright
with fade
"My eyes scan the room before noticing Trish, the sheer vehement rage radiating from her visibly distorting the air around her."
play music 'audio/OST/Summertime Synth.ogg' fadein 1.0
scene moebackrooms
show anon neutral flip at aright
with fade
"My eyes scan the room before noticing Trish, the sheer vehement rage radiating from her visibly distorting the air around her."
"Fuck."
stop music fadeout 1.0
"Fuck."
stop music fadeout 1.0
"My jaw aches as I picture myself in Stellas place, courtesy of one pissed of womanlet."
"My jaw aches as I picture myself in Stellas place, courtesy of one pissed of womanlet."
"Before I have the chance to escape I hear my one saving grace."
"Before I have the chance to escape I hear my one saving grace."
show fang very happy with moveinleft:
xalign 0.6 yalign 0.1
show fang very happy with moveinleft:
xalign 0.6 yalign 0.1
F "ANON!"
F "ANON!"
"Fang reaches me before Trish leaves the stage, extending her hand for a high-five."
show fang happy with dissolve
"Fang reaches me before Trish leaves the stage, extending her hand for a high-five."
show fang happy with dissolve
F "We did it!"
show trish unimpressed at tleft with moveinleft
T "No thanks to that asshole!"
F "We did it!"
show trish unimpressed at tleft with moveinleft
T "No thanks to that asshole!"
"Oh no."
"Oh no."
show fang neutral flip behind anon with dissolve
show fang neutral flip behind anon with dissolve
F "Whats wrong?"
F "Whats wrong?"
show trish angry with dissolve
show trish angry with dissolve
T "Skinnie sabotaged the show!"
T "Skinnie sabotaged the show!"
T "I told him not to touch the wires and look what happened!"
T "I told him not to touch the wires and look what happened!"
A "I was only trying to help."
A "I was only trying to help."
show trish annoyed with dissolve
show trish annoyed with dissolve
"Trish holds up her hand to my face, waving the other around in grand gestures."
"Trish holds up her hand to my face, waving the other around in grand gestures."
show trish indignant with dissolve
show trish indignant with dissolve
T "You ruined the big finale! We missed our chance to make it big!"
T "You ruined the big finale! We missed our chance to make it big!"
T "Why is it that only my bass cut out anyways?!"
T "Why is it that only my bass cut out anyways?!"
T "Are you actively trying to ruin us?!"
T "Are you actively trying to ruin us?!"
T "I told you Reed knew what he was doing!"
T "I told you Reed knew what he was doing!"
T "Do you not trust him and I?"
T "Do you not trust him and I?"
show fang sad flip
show trish fury point:
yalign 10.0
with dissolve
show fang sad flip
show trish fury point:
yalign 10.0
with dissolve
"Tears trickle down her sweat-glazed face."
"Tears trickle down her sweat-glazed face."
T "Is Fang really the only one here you care about?!"
T "Is Fang really the only one here you care about?!"
T "You are not the only person in the world!"
show trish sad at tleft with dissolve
show anon sad flip with dissolve
T "You are not the only person in the world!"
show trish sad at tleft with dissolve
show anon sad flip with dissolve
"This hypocritical bitch!"
"This hypocritical bitch!"
"The sharp words cut right through me."
"The sharp words cut right through me."
F "Jeez, Trish. The show went great! Our first good concert!"
F "Jeez, Trish. The show went great! Our first good concert!"
show fang neutral flip
with dissolve
F "The crowd actually clapped this time!"
show fang neutral flip
with dissolve
F "The crowd actually clapped this time!"
T "No thanks to him."
T "No thanks to him."
A "I didnt do it on purpose."
A "I didnt do it on purpose."
"Even though you deserved it."
"Even though you deserved it."
"Before she could interrogate me further, Fang grabbed Trish on the arm."
"Before she could interrogate me further, Fang grabbed Trish on the arm."
show fang happy flip with dissolve
F "Trish! Didnt you say you wanted to set up our merch!"
show trish unimpressed with dissolve
show anon neutral flip with dissolve
show fang happy flip with dissolve
F "Trish! Didnt you say you wanted to set up our merch!"
show trish unimpressed with dissolve
show anon neutral flip with dissolve
"Trish winces, then gives a begrudging sigh, lowering her accusatory finger."
"Trish winces, then gives a begrudging sigh, lowering her accusatory finger."
show trish unimpressed with dissolve
show trish unimpressed with dissolve
T "Ugh, you arent worth it."
T "Ugh, you arent worth it."
hide trish with dissolve
show fang neutral flip with dissolve
"Trish storms off leaving Fang and I alone."
hide trish with dissolve
show fang neutral flip with dissolve
"Trish storms off leaving Fang and I alone."
"And Reed who was listening the entire time."
"And Reed who was listening the entire time."
show reed neutral at rleft with moveinleft
pause 1
show reed considering with dissolve
pause 1
show reed neutral with dissolve
pause 1
show reed explanatory with dissolve
Re "Anon, dude… you really should trust others, yknow?"
show reed neutral at rleft with moveinleft
pause 1
show reed considering with dissolve
pause 1
show reed neutral with dissolve
pause 1
show reed explanatory with dissolve
Re "Anon, dude… you really should trust others, yknow?"
Re "Its like they say… trust is the building block of our economy, or something."
Re "Its like they say… trust is the building block of our economy, or something."
"What."
"What."
Re "There are two kinds of people in this world, bro... people who believe and people who trust."
Re "There are two kinds of people in this world, bro... people who believe and people who trust."
Re "And you believed in something false, your impulsiveness."
show reed shocked
show fang surprised
show anon neutral
with dissolve
"Before I can begin to comprehend Reeds capitalist sermon, my ears are assaulted by very Italian yelling."
Re "And you believed in something false, your impulsiveness."
show reed shocked
show fang surprised
show anon neutral
with dissolve
"Before I can begin to comprehend Reeds capitalist sermon, my ears are assaulted by very Italian yelling."
Moe "AY, KIDS!"
Moe "AY, KIDS!"
#moe now has vvurm drama apron
show moealt with moveinright:
xalign 1.8 yalign 0.0
#moe now has vvurm drama apron
show moealt with moveinright:
xalign 1.8 yalign 0.0
Moe "LOOKIT DIS ERE AH-PRON YA LIL TRIGGA FRIEN SOL ME!"
Moe "LOOKIT DIS ERE AH-PRON YA LIL TRIGGA FRIEN SOL ME!"
"Reed looks almost jealous of Moes new garb."
"Reed looks almost jealous of Moes new garb."
show reed neutral
show reed neutral
Re "Nice threads, compadre."
Re "Nice threads, compadre."
show fang happy with dissolve
show fang happy with dissolve
unknown "Hey! Someone took ma apron!"
unknown "Hey! Someone took ma apron!"
Moe "GIT BACK TA WORK JERRY YER ON DA CLOCK!"
Moe "GIT BACK TA WORK JERRY YER ON DA CLOCK!"
F "It uh… looks nice, Uncle Moe."
F "It uh… looks nice, Uncle Moe."
Moe "Anyways, youse all gonna be helpin wit da clean up, right?"
Moe "Anyways, youse all gonna be helpin wit da clean up, right?"
"I look at the absolute mess around us."
"I look at the absolute mess around us."
"Fuck."
"Fuck."
stop music fadeout 1.0
scene black with fade
scene moebackrooms with fade

285
game/src/cg_gallery.rpy Normal file
View File

@ -0,0 +1,285 @@
init python:
# CONST PARAMS
ALLOW_ZOOM = False
GALLERY_COLS = 3
PREFERRED_WIDTH = 432 #px (1920 * 0.225)
PREFERRED_HEIGHT = 243 #px (1080 * 0.225)
PREFERRED_ASPECT_RATIO = 16.0/9.0 # 1.7777..
DEFAULT_WIDTH_SCALE_RATIO = round(float(PREFERRED_WIDTH) / float(1920), 4)
DEFAULT_HEIGHT_SCALE_RATIO = round(float(PREFERRED_HEIGHT) / float(1080), 4)
NOT_UNLOCKED_COVER = im.FactorScale("gui/gallery/unlocked_cg_button_cover.png", DEFAULT_WIDTH_SCALE_RATIO, DEFAULT_HEIGHT_SCALE_RATIO)
ACCEPTED_EXTENSIONS = ["jpg", "webm"]
CG_PATHS = [
#CG doesn't really make sense
{ 'path': "images/cgs/", 'name': "CG", 'eval': None },
{ 'path': "images/animations/", 'name': "Animations", 'eval': None },
{ 'path': "images/NotForKids!/", 'name': "Lewd",
'eval': 'persistent.lewd == True'
}
]
#path: folder, name: shows up in gallery, eval: runs eval() on string
"""
Data structure that holds the data for each cg and button
item is name, fn is fullpath
ext is the file extension
{ item: str; fn: str; cg: Displayable; ext: str; wh: [] }[]
(reference in this init python, actually used in screens)
"""
gallery_items = []
# key dict pair, cg <-> cgs' galleryitems []
gallery_dic = {} #
for cp in CG_PATHS:
gallery_dic[cp['name']] = [] #
# Make a scaled cg button
# (cg: string; ext: string; w: float
def cg(fname, ext, w):
scale = PREFERRED_WIDTH * 100.0 / w / 100.0
#scale = box_ratio(wh)
return im.FactorScale(fname, scale, scale, False)
# Reads /images/cgs dir for all image files
# Populates galleryItems
# () -> None
def loadGallery():
list_img = renpy.list_images()
#if ext is "webm":
# Add each image to the gallery
for str in list_img:
for cp in CG_PATHS:
for ext in ACCEPTED_EXTENSIONS:
path = cp['path']
_str = path+str+"."+ext
if renpy.loadable(_str): #brute force
image = renpy.image_size(Image(_str))
gallery_dic[cp['name']] += [{
"item": str,
"fn": _str,
"cg": cg(_str, ext, image[0]),
"ext": ext,
"wh": image
}]
return
# Call to loading the gallery
loadGallery()
# hard code the webm because renpy is really dumb and doesn't add Movies properly until much later
fang_webm = 'images/animations/fang tail.webm'
gallery_dic['Animations'] = [{
"item": 'fang tail',
"fn": fang_webm,
"cg": Movie(fang_webm),#cg(_str, 'webm', 1920),
"ext": 'webm',
"wh": [1920, 1080]
}]
#for zooming in and out
zoom_arr = [0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.5, 1.75, 2.0]
"""
for x in range(1,5):
_zoom = 1.0
_zoom *= 1+(x*0.25)
zoom_arr.append(_zoom)
for y in range(9,1,-1):
_zoom = 1.0
_zoom *= (y*0.125)
zoom_arr.append(_zoom)
zoom_arr.sort()
"""
"""
'Recursive' / Loopable / Roundtrip Screens
_0 <-> _1
"""
#There is renpy.restart_interaction but since I wrote all this, it's too late
#screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
screen cg_gallery_0(__yoffset = 0, origin = 'CG'):
tag menu
use cg_gallery('1', __yoffset, origin)
screen cg_gallery_1( __yoffset = 0, origin = 'CG'):
tag menu
use cg_gallery('0', __yoffset, origin)
#screen view_image(fn, _origin, zoom=1):
screen view_image_a(fn, _origin, zoom = zoom_arr.index(1.0)):
tag menu
use view_image(fn, _origin, zoom, 'b')
screen view_image_b(fn, _origin, zoom = zoom_arr.index(1.0)):
tag menu
use view_image(fn, _origin, zoom, 'a')
"""
CG Gallery screen - A screen that shows the image gallery
Basically Gallery Object has terrible defaults, so I just wrote my own stuff
"""
screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
if main_menu:
key "game_menu" action ShowMenu("main_menu")
frame:
pass
add gui.main_menu_background
add gui.game_menu_background
tag menu
python:
empty_spaces = gallery_rows = item_counter = 0
gallery_items = gallery_dic[origin]
items = len(gallery_items)
gallery_rows = (items / GALLERY_COLS) + 1
empty_spaces = GALLERY_COLS - (items % GALLERY_COLS)
vbox:
transform:
zoom 0.95
hbox:
style_prefix "navigation"
xalign 0.5
spacing gui.navigation_spacing
for cp in CG_PATHS:
if cp['name'] == origin:
textbutton _(cp['name']) text_color gui.selected_color text_xalign 0.5
else:
if cp['eval'] is None:
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
elif eval(cp['eval']):
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
else:
textbutton _(cp['name']) text_xalign 0.5
textbutton _("Return") action ShowMenu('main_menu') text_xalign 0.5
if _in_replay:
textbutton _("End Replay") action EndReplay(confirm=True)
elif not main_menu:
textbutton _("Main Menu") action MainMenu()
transform:
zoom 0.95
xcenter 0.525
ycenter 0.525
viewport:
yinitial __yoffset
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
xfill True
grid GALLERY_COLS gallery_rows:
xcenter 0.5
ycenter 0.5
for item in gallery_items:
# Should properly fix with actual margin difference but good
# enough or the actual position
python:
item_counter += 1
yoffset = item_counter / 3 * PREFERRED_HEIGHT * 1.15
yoffset = int( yoffset + (PREFERRED_HEIGHT * 1.15))
use flag_button(item, yoffset, origin)
for i in range(0, empty_spaces):
null height 20
"""
if/else flow control & extra parameters for Buttons
"""
screen flag_button(item, yoffset, origin):
python:
flag = renpy.seen_image(item['item'])
if flag:
button:
if item['ext'] == "webm":
action Replay('fang_movie')#ShowMenu('view_movie', item, ShowMenu('cg_gallery_0', yoffset, origin))
else:
action ShowMenu('view_image_a', item, ShowMenu('cg_gallery_0', yoffset, origin))
xcenter 0.5 ycenter 0.5
padding (1,0,1,2)
vbox:
text item["item"] xalign 0.5
add item["cg"] fit 'contain' xcenter 0.5 ycenter 0.5 size (PREFERRED_WIDTH, PREFERRED_HEIGHT)
else:
vbox:
ymaximum PREFERRED_HEIGHT
xcenter 0.5 ycenter 0.5
text "? ? ?" xalign 0.5
add NOT_UNLOCKED_COVER
screen view_movie(item, _origin):
tag menu
key "game_menu" action _origin
python:
renpy.movie_cutscene(item['item'], None, -1)
frame:
pass
#scene fang tail with fade
"""
view_image, Loads the image in fullscreen with viewport control.
"""
screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
python:
zoom_a = zoom+1
zoom_a_f = ShowMenu('view_image_'+flag, item, _origin, zoom_a)
zoom_b = zoom-1
zoom_b_f = ShowMenu('view_image_'+flag, item, _origin, zoom_b)
tag menu
key "game_menu" action _origin
# mousewheel & insert+delete
if (ALLOW_ZOOM):
if zoom < len(zoom_arr)-1: #zoom in
key 'mousedown_4' action zoom_a_f
key 'K_INSERT' action zoom_a_f
if zoom > 0: #and (item['wh'][0] <= 1920 or item['wh'][1] <= 1080):
key 'mousedown_5' action zoom_b_f
key 'K_DELETE' action zoom_b_f
viewport id "vie":
#Ren'Py isn't smart enough to not edgescroll while pressed,
#so we'll have to disable this for mobile
if renpy.variant("pc"):
edgescroll (300, 1800)
draggable True
arrowkeys True
pagekeys True
xfill False
yfill False
add item['fn'] zoom zoom_arr[zoom] anchor (0.55, 0.55)
#Reuse quick buttons, Ren'Py handles touch input lazy, it doesn't have
#double finger pinch zoom, it translates taps as mouse events - have to use
#buttons
if (ALLOW_ZOOM) and renpy.variant("small"):
hbox:
style_prefix "quick"
xalign 0.5
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "+", zoom_a_f ],
[ "-", zoom_b_f ]
] )