From f64cbdee03657a94f0b6aea41549fa84dcc082b1 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Wed, 15 May 2024 22:47:08 +0100 Subject: [PATCH] Detach interface and gameplay elements. * Scaling fixes * Attempt at splitting interface and gameplay elements * Temporary room zoom fix --- game/scripts/animations/ani_genie.rpy | 1 - .../characters/hermione/events/intro.rpy | 23 +++++++++---------- game/scripts/characters/snape/chibi.rpy | 14 ++++------- game/scripts/doll/common.rpy | 7 ++++++ game/scripts/gui/say.rpy | 2 +- game/scripts/interface/wheelmenu.rpy | 2 +- game/scripts/options.rpy | 4 +++- game/scripts/script.rpy | 5 ++++ 8 files changed, 32 insertions(+), 26 deletions(-) diff --git a/game/scripts/animations/ani_genie.rpy b/game/scripts/animations/ani_genie.rpy index 165744b2..42fd558b 100644 --- a/game/scripts/animations/ani_genie.rpy +++ b/game/scripts/animations/ani_genie.rpy @@ -259,7 +259,6 @@ image ch_gen jerk_off_behind_desk_pause: image ch_gen cum_behind_desk_done: size (608,524) contains: - zoom 2 "ch_gen sit_behind_desk" contains: zoom 2 diff --git a/game/scripts/characters/hermione/events/intro.rpy b/game/scripts/characters/hermione/events/intro.rpy index ef8a5840..b749d561 100644 --- a/game/scripts/characters/hermione/events/intro.rpy +++ b/game/scripts/characters/hermione/events/intro.rpy @@ -88,24 +88,23 @@ label hermione_intro_E1: $ hermione.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") $ hermione.set_pose("hold_book") show CG her_intro hermione as cg zorder 17: - align (0.5, 0.5) - pos (-520, -300) + zoom 1.5 + align (1.0, 1.0) + xoffset -230 with fade show CG her_intro hermione as cg zorder 17: - align (0.5, 0.5) - pos (-520, -300) - easein 5.0 pos (-520, -70) + zoom 1.5 + easein 5.0 align (1.0, 0.5) pause 5.0 her "Good morning, professor." gen "(Oh my...)" show CG her_intro hermione as cg zorder 17: - zoom 1.0 - align (0.5, 0.5) - pos (-520, -70) - easein_quad 3.0 anchor (0.0, 0.0) pos (0, 0) zoom 0.5 + zoom 1.5 + align (1.0, 0.5) + easein_quad 3.0 align (1.0, 1.0) zoom 1 menu: "\"Good morning, Hermione.\"" if d_flag_01: @@ -554,8 +553,8 @@ label hermione_intro_E2: her "Sometimes even for good grades..." gen "Really?" ("base", xpos="far_left", ypos="head") her "Nobody from the Gryffindor house, of course..." ("open", "closed", "angry", "mid") - her "And that's what puts us at a disadvantage -- our integrity!" - her "As for the boys -- they have to work ten times harder than the girls simply to pass a test..." + her "And that's what puts us at a disadvantage--our integrity!" + her "As for the boys--they have to work ten times harder than the girls simply to pass a test..." her "Or, if they are lucky enough, to get one meagre house point..." her "This is sexism in its purest form!" ("open", "base", "base", "mid") menu: @@ -571,7 +570,7 @@ label hermione_intro_E2: her "I have already sent a letter to the ministry of magic." ("open", "closed", "angry", "mid") $ renpy.music.set_volume(0.0, 1.0) - pause 1.0 + pause 0.5 $ renpy.music.set_pause(True, channel="music") with hpunch gen "{size=+7}You did what?!{/size}" ("angry", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/snape/chibi.rpy b/game/scripts/characters/snape/chibi.rpy index 175639af..052ccfba 100644 --- a/game/scripts/characters/snape/chibi.rpy +++ b/game/scripts/characters/snape/chibi.rpy @@ -54,18 +54,12 @@ screen with_snape(ani=False): tag hanging_with_snape zorder 3 if ani: - if states.env.daytime: - add "ch_gen toast_goblet_daytime" xpos 435 ypos 200 # Different shadow. - else: - add "ch_gen toast_goblet" xpos 435 ypos 200 - add "snape_toast_goblet" xpos 618 ypos 200 zoom 0.5 + add "ch_gen toast_goblet" xpos 435*2 ypos 200*2 zoom 2.0 + add "snape_toast_goblet" xpos 618*2 ypos 200*2 else: - if states.env.daytime: - add "characters/genie/chibis/drinking/01_day.webp" xpos 435 ypos 200 zoom 0.5 # Different shadow. - else: - add "characters/genie/chibis/drinking/01.webp" xpos 435 ypos 200 zoom 0.5 - add "characters/snape/chibis/drinking/01.webp" xpos 618 ypos 200 zoom 0.5 + add "characters/genie/chibis/drinking/01.webp" xpos 435*2 ypos 200*2 + add "characters/snape/chibis/drinking/01.webp" xpos 618*2 ypos 200*2 # Chibi definition default snape_chibi = Chibi("snape", ["base"], update_snape_chibi) diff --git a/game/scripts/doll/common.rpy b/game/scripts/doll/common.rpy index a0bc9b0d..9e2fdac8 100644 --- a/game/scripts/doll/common.rpy +++ b/game/scripts/doll/common.rpy @@ -84,5 +84,12 @@ init -1 python: renpy.restart_interaction() + def RoomScaleFix(): + renpy.show_layer_at([roomscalefix], layer="screens") + config.after_load_callbacks.append(DollRebuild) + config.after_load_callbacks.append(RoomScaleFix) end_skip_callbacks.append(DollRebuild) + +transform roomscalefix: + zoom 0.8888 \ No newline at end of file diff --git a/game/scripts/gui/say.rpy b/game/scripts/gui/say.rpy index 8358dbf6..2566d012 100644 --- a/game/scripts/gui/say.rpy +++ b/game/scripts/gui/say.rpy @@ -11,7 +11,7 @@ screen nvl(dialogue, items=None): screen say(who, what, side_image=None, icon=None): style_prefix "say" layer "interface" - zorder 55 + zorder 0 if states.settings.interface_hidden: use hider diff --git a/game/scripts/interface/wheelmenu.rpy b/game/scripts/interface/wheelmenu.rpy index fa63d0dc..82052e83 100644 --- a/game/scripts/interface/wheelmenu.rpy +++ b/game/scripts/interface/wheelmenu.rpy @@ -66,7 +66,7 @@ label wheelmenu(btns, ret, pos=None): screen wheelmenu(btns, pos): layer "interface" tag wheelmenu - zorder 4 + zorder 1 style_prefix "wheelmenu" $ mpos = renpy.get_mouse_pos() diff --git a/game/scripts/options.rpy b/game/scripts/options.rpy index 614ff31e..8764d412 100644 --- a/game/scripts/options.rpy +++ b/game/scripts/options.rpy @@ -51,9 +51,11 @@ define config.physical_height = 720 define config.save_physical_size = True # User interface settings -define config.layers = ["master", "transient", "screens", "overlay"] +define config.layers = ["master", "transient", "screens", "dolls", "overlay"] +define config.menu_clear_layers = ["interface", "dolls"] define config.default_tag_layer = "screens" define config.top_layers = ["interface"] +define config.say_layer = "interface" define config.transparent_tile = False define config.narrator_menu = True define config.hard_rollback_limit = 100 diff --git a/game/scripts/script.rpy b/game/scripts/script.rpy index fa17c396..3192d67c 100644 --- a/game/scripts/script.rpy +++ b/game/scripts/script.rpy @@ -2,6 +2,9 @@ label start: python: version = version_float() renpy.block_rollback() + RoomScaleFix() + + renpy.block_rollback() if prerelease: call modal_popup("Attention!", "This pre-release version of the game comes with some quirks and instability. Brace yourself for potential bugs, unexpected crashes, missing content, and oddities in gameplay. While we’ve done our best to iron out issues, be prepared for a less-than-smooth experience. \n\nHelp us improve by reporting any problems you encounter via Discord.\n\nProceed only if you acknowledge the above.", "interface/warning.webp") @@ -16,6 +19,7 @@ label start_quick: states.sna.level = 5 states.map.unlocked = True states.env.cheats = True + RoomScaleFix() renpy.block_rollback() @@ -100,6 +104,7 @@ label start_dev: for x in getattr(renpy.store, i).outfits: if not x.hidden: x.unlock() + RoomScaleFix() renpy.block_rollback()