WTS/game/scripts/cg/pov.rpy

38 lines
1.3 KiB
Plaintext

init python:
def cg_pov_switch(tag1="cg", tag2="cg2", layer=None, controller="cho_dual_cg"):
layer = layer or config.default_tag_layer
zpairs = renpy.get_zorder_list(layer)
zdict = {key: value for key, value in zpairs}
z1 = zdict.get(tag1, None)
z2 = zdict.get(tag2, None)
if None in (z1, z2):
return
renpy.change_zorder(layer, tag1, z2)
renpy.change_zorder(layer, tag2, z1)
focused = tag1 if z1 > z2 else tag2
renpy.show_screen(controller, focused)
screen cho_dual_cg(focused, _layer="screens", bubble="cho_handjob_bubble", mask="cho_handjob_bubble_mask"):
tag switcher
zorder 300
$ d = renpy.display.core.displayable_by_tag(_layer, focused) # Updates once per interaction
$ flip = (-1 if focused == "cg" else 1)
if d:
$ btn = AlphaMask(Fixed(Transform(d, align=( (1.0, 0.05) if flip else (0.0, 0.05) ), zoom=0.5, xzoom=flip)), Transform(mask, zoom=0.25))
$ btn = Fixed(Transform(bubble, zoom=0.25), btn)
imagebutton:
idle Transform(btn, alpha=0.75)
hover Transform(btn, alpha=1.0)
action Function(cg_pov_switch, layer=_layer)
focus_mask True
at transform:
xzoom flip