
init 5 python:
    def her_cg_doll(st, at):
        return hermione.get_image(), None

    def lun_cg_doll(st, at):
        return luna.get_image(), None

    def ton_cg_doll(st, at):
        return tonks.get_image(), None

    def cho_cg_doll(st, at):
        return cho.get_image(), None

    def ast_cg_doll(st, at):
        return astoria.get_image(), None

    def sus_cg_doll(st, at):
        return susan.get_image(), None

image CG her_doll = DynamicDisplayable(her_cg_doll)
image CG lun_doll = DynamicDisplayable(lun_cg_doll)
image CG ton_doll = DynamicDisplayable(ton_cg_doll)
image CG cho_doll = DynamicDisplayable(cho_cg_doll)
image CG ast_doll = DynamicDisplayable(ast_cg_doll)
image CG sus_doll = DynamicDisplayable(sus_cg_doll)

image CG luna = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG lun_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

image CG hermione = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG her_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

image CG tonks = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG ton_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

image CG cho = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG cho_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

image CG astoria = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG ast_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

image CG susan = Fixed(
    "images/CG/common/bg.webp",
    AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG sus_doll", zoom=1.2)), "images/CG/common/mask.webp"),
    )

# TODO: Review the code below.










# Miscellaneous CG code

label cg_scene(layer=None, folder=None, trans=d5):
    hide screen cg

    if folder != None:
        $ cg_path = "images/CG/"+folder+"/"

    if layer != None:
        $ cg_image = cg_path+layer+".webp"

    show screen cg
    with trans
    return

screen cg():
    # Used by label cg_scene
    tag cg_screen
    zorder 14

    add cg_image xpos 540 xanchor 0.5 ypos 0 # At Screen Center

# Snape CG
screen snape_groping():
    add "images/CG/scene_01.webp" zoom 0.5
    zorder 14

screen snape_facial():
    add "images/CG/scene_03.webp" zoom 0.5
    zorder 14

screen snape_sex():
    add "images/CG/scene_04.webp" zoom 0.5
    zorder 14

screen dual_hand_job():
    add "images/CG/scene_02.webp" zoom 0.5
    zorder 14

init python:
    def dynamic_cg(folder, *args):
        d = tuple("images/CG/{}/{}.webp".format(folder, file) for file in args)

        renpy.show_screen("dynamic_cg", d)
        renpy.with_statement(d5)
        return

screen dynamic_cg(d):
    tag cg_screen
    zorder 14

    for img in d:
        add img
