Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

CloverCDX

29
Posts
1
Topics
1
Following
A member registered Feb 12, 2026

Recent community posts

transform cardfliphide:
    xzoom 1.0
    ease 0.25 xzoom 0.0
transform cardflipshow:
    xzoom 0.0
    pause 0.4
    ease 0.25 xzoom 1.0
transform cardflipcombined:
    xzoom 0.0 # small start
    on show:
        pause 0.4
        ease 0.25 xzoom 1.0 # stretch to usual size
    on hide:
        ease 0.25 xzoom 0.0 # return to small again

These are my transforms :]

I am not incredibly well-versed in ATL is the thing, so I'm not even sure where I'd begin to do something like that. I thought this was a fine use-case from that perspective. Given they're designed for menus and this is a menu, anyway.

default current_chapter = 1
default ch1_selected = False
default ch2_selected = False
default ch3_selected = False
default ch4_selected = False
default ch5_selected = False
default ch6_selected = False
screen chapter_select():
    tag menu
    on "show":
        action [SetVariable("ch1_selected", False), 
                SetVariable("ch2_selected", False),
                SetVariable("ch3_selected", False),
                SetVariable("ch4_selected", False),
                SetVariable("ch5_selected", False),
                SetVariable("ch6_selected", False)]     add "gui/bgs/genericbg.png"     use game_menu(_("CHAPTER SELECT")):         side 'c':             pos (-325, -100) xysize (1920, 1080)             controller_viewport:                 mousewheel True draggable renpy.variant("touch")                 id "viewport_chapter_select" hscroll_style "center"                 scroll_delay (0.5, 0.0)                 trap_focus ("up", "down", "left", "right")                 scroll_warper "easein"                 grid 8 1:                     spacing 400                     add "gui/chapter_select/card_empty.png" xalign 0.5 yalign 0.45                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if current_chapter == 1:                                 default_focus True                             auto "gui/chapter_select/card_ch1_%s.png"                             action [SetVariable("ch1_selected", True), Show("chapter_confirm")]                             at (cardfliphide if ch1_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if persistent.ch2_unlocked == True:                                 if current_chapter == 2:                                     default_focus True                                 auto "gui/chapter_select/card_ch2_%s.png"                                 action [SetVariable("ch2_selected", True), Show("chapter_confirm")]                             else:                                 idle "gui/chapter_select/locked.png"                                 action NullAction()                             at (cardfliphide if ch2_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if persistent.ch3_unlocked == True:                                 if current_chapter == 3:                                     default_focus True                                 auto "gui/chapter_select/card_ch3_%s.png"                                 action [SetVariable("ch3_selected", True), Show("chapter_confirm")]                             else:                                 idle "gui/chapter_select/locked.png"                                 action NullAction()                             at (cardfliphide if ch3_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if persistent.ch4_unlocked == True:                                 if current_chapter == 4:                                     default_focus True                                 auto "gui/chapter_select/card_ch4_%s.png"                                 action [SetVariable("ch4_selected", True), Show("chapter_confirm")]                             else:                                 idle "gui/chapter_select/locked.png"                                 action NullAction()                             at (cardfliphide if ch4_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if persistent.ch5_unlocked == True:                                 if current_chapter == 5:                                     default_focus True                                 auto "gui/chapter_select/card_ch5_%s.png"                                 action [SetVariable("ch5_selected", True), Show("chapter_confirm")]                             else:                                 idle "gui/chapter_select/locked.png"                                 action NullAction()                             at (cardfliphide if ch5_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     fixed:                         xysize(518, 778)                         imagebutton:                             xalign 0.5                             yalign 0.45                             if persistent.ch6_unlocked == True:                                 if current_chapter == 6:                                     default_focus True                                 auto "gui/chapter_select/card_ch6_%s.png"                                 action [SetVariable("ch6_selected", True), Show("chapter_confirm")]                             else:                                 idle "gui/chapter_select/locked.png"                                 action NullAction()                             at (cardfliphide if ch6_selected else cardflipshow)                             hover_sound "sfx/menu_hover.ogg"                             activate_sound "sfx/menu_select.ogg"                     add "gui/chapter_select/card_empty.png" xalign 0.5 yalign 0.45     screen chapter_confirm():     modal True     frame:         background None         add "gui/chapter_select/card_back.png" xalign 0.501 yalign 0.498         align (0.5, 0.5)         at cardflipcombined         vbox:             xalign 0.5             yalign 0.5             spacing 10             if current_chapter == 1:                 text "Would you like to play\nChapter One?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 2:                 text "Would you like to play\nChapter Two?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 3:                 text "Would you like to play\nChapter Three?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 4:                 text "Would you like to play\nChapter Four?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 5:                 text "Would you like to play\nChapter Five?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 6:                 text "Would you like to play\nChapter Six?" textalign 0.5 style "btn_generic" color "#fff"             textbutton _("Yes"):                 at btn_grow                 default_focus True                 xalign 0.5                 text_style "btn_generic"                 if current_chapter == 1:                     action Start("ch1_start")                 if current_chapter == 2:                     action Start("ch2_start")                 if current_chapter == 3:                     action Start("ch3_start")                 if current_chapter == 4:                     action Start("ch4_start")                 if current_chapter == 5:                     action Start("ch5_start")                 if current_chapter == 6:                     action Start("ch6_start")             textbutton _("No"):                 at btn_grow                 xalign 0.5                 text_style "btn_generic"                 action [SetVariable("ch1_selected", False), SetVariable("ch2_selected", False), SetVariable("ch3_selected", False), SetVariable("ch4_selected", False), SetVariable("ch5_selected", False), SetVariable("ch6_selected", False), Hide("chapter_confirm")]         key "rollback" action [SetVariable("ch1_selected", False), SetVariable("ch2_selected", False), SetVariable("ch3_selected", False), SetVariable("ch4_selected", False), SetVariable("ch5_selected", False), SetVariable("ch6_selected", False), Hide("chapter_confirm")]

Same as what i sent before, but each of the imagebuttons now has a fixed: as a wrapper with the xysize set to the full image scale

just tried this, but it only seems to make the issue worse. i assume you meant apply a fixed to all entries in the grid, so i did that, however that seems to just ignore the center alignment entirely bc now everything is aligned to the left and still does that extra scroll thing after closing out the menu.

https://streamable.com/o3zub2

heres a video of the issue

i dont believe so because the button is offcenter when its reselected. i can try to record a video to show the issue shortly

I have grid with one row and eight columns (technically six, but with an extra two on the left and right respectively to create null space to keep all the items centered),  and within this grid are imagebuttons. each opens a screen to display some options, but if that screen is closed, the viewport scrolls itself by a small amount? this does not happen with an hbox in place of the grid, however the grid is necessary for a certain effect unrelated to this (done via atl) to function correctly. is there something i'm doing wrong? below is my code for review.

default current_chapter = 1
default ch1_selected = False
default ch2_selected = False
default ch3_selected = False
default ch4_selected = False
default ch5_selected = False
default ch6_selected = False
screen chapter_select():
    tag menu
    on "show":
        action [SetVariable("ch1_selected", False), 
                SetVariable("ch2_selected", False),
                SetVariable("ch3_selected", False),
                SetVariable("ch4_selected", False),
                SetVariable("ch5_selected", False),
                SetVariable("ch6_selected", False)]     add "gui/bgs/genericbg.png"     use game_menu(_("CHAPTER SELECT")):         side 'c':             pos (-325, -100) xysize (1920, 1080)             controller_viewport:                 mousewheel True draggable renpy.variant("touch")                 id "viewport_chapter_select" hscroll_style "center"                 scroll_delay (0.5, 0.0)                 trap_focus ("up", "down", "left", "right")                 scroll_warper "easein"                 grid 8 1:                     spacing 400                     add "gui/chapter_select/card_empty.png" xalign 0.5 yalign 0.45                     imagebutton:                         xalign 0.5                         yalign 0.45                         if current_chapter == 1:                             default_focus True                         auto "gui/chapter_select/card_ch1_%s.png"                         action [SetVariable("ch1_selected", True), Show("chapter_confirm")]                         at (cardfliphide if ch1_selected else cardflipshow)                         hovered SetVariable("current_chapter", 1)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     imagebutton:                         xalign 0.5                         yalign 0.45                         if persistent.ch2_unlocked == True:                             if current_chapter == 2:                                 default_focus True                             auto "gui/chapter_select/card_ch2_%s.png"                             action [SetVariable("ch2_selected", True), Show("chapter_confirm")]                         else:                             idle "gui/chapter_select/locked.png"                             action NullAction()                         at (cardfliphide if ch2_selected else cardflipshow)                         hovered SetVariable("current_chapter", 2)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     imagebutton:                         xalign 0.5                         yalign 0.45                         if persistent.ch3_unlocked == True:                             if current_chapter == 3:                                 default_focus True                             auto "gui/chapter_select/card_ch3_%s.png"                             action [SetVariable("ch3_selected", True), Show("chapter_confirm")]                         else:                             idle "gui/chapter_select/locked.png"                             action NullAction()                         at (cardfliphide if ch3_selected else cardflipshow)                         hovered SetVariable("current_chapter", 3)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     imagebutton:                         xalign 0.5                         yalign 0.45                         if persistent.ch4_unlocked == True:                             if current_chapter == 4:                                 default_focus True                             auto "gui/chapter_select/card_ch4_%s.png"                             action [SetVariable("ch4_selected", True), Show("chapter_confirm")]                         else:                             idle "gui/chapter_select/locked.png"                             action NullAction()                         at (cardfliphide if ch4_selected else cardflipshow)                         hovered SetVariable("current_chapter", 4)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     imagebutton:                         xalign 0.5                         yalign 0.45                         if persistent.ch5_unlocked == True:                             if current_chapter == 5:                                 default_focus True                             auto "gui/chapter_select/card_ch5_%s.png"                             action [SetVariable("ch5_selected", True), Show("chapter_confirm")]                         else:                             idle "gui/chapter_select/locked.png"                             action NullAction()                         at (cardfliphide if ch5_selected else cardflipshow)                         hovered SetVariable("current_chapter", 5)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     imagebutton:                         xalign 0.5                         yalign 0.45                         if persistent.ch6_unlocked == True:                             if current_chapter == 6:                                 default_focus True                             auto "gui/chapter_select/card_ch6_%s.png"                             action [SetVariable("ch6_selected", True), Show("chapter_confirm")]                         else:                             idle "gui/chapter_select/locked.png"                             action NullAction()                         at (cardfliphide if ch6_selected else cardflipshow)                         hovered SetVariable("current_chapter", 6)                         hover_sound "sfx/menu_hover.ogg"                         activate_sound "sfx/menu_select.ogg"                     add "gui/chapter_select/card_empty.png" xalign 0.5 yalign 0.45 screen chapter_confirm():     modal True     frame:         background None         add "gui/chapter_select/card_back.png" xalign 0.501 yalign 0.498         align (0.5, 0.5)         at cardflipcombined         vbox:             xalign 0.5             yalign 0.5             spacing 10             if current_chapter == 1:                 text "Would you like to play\nChapter One?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 2:                 text "Would you like to play\nChapter Two?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 3:                 text "Would you like to play\nChapter Three?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 4:                 text "Would you like to play\nChapter Four?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 5:                 text "Would you like to play\nChapter Five?" textalign 0.5 style "btn_generic" color "#fff"             if current_chapter == 6:                 text "Would you like to play\nChapter Six?" textalign 0.5 style "btn_generic" color "#fff"             textbutton _("Yes"):                 at btn_grow                 default_focus True                 xalign 0.5                 text_style "btn_generic"                 if current_chapter == 1:                     action Start("ch1_start")                 if current_chapter == 2:                     action Start("ch2_start")                 if current_chapter == 3:                     action Start("ch3_start")                 if current_chapter == 4:                     action Start("ch4_start")                 if current_chapter == 5:                     action Start("ch5_start")                 if current_chapter == 6:                     action Start("ch6_start")             textbutton _("No"):                 at btn_grow                 xalign 0.5                 text_style "btn_generic"                 action [SetVariable("ch1_selected", False), SetVariable("ch2_selected", False), SetVariable("ch3_selected", False), SetVariable("ch4_selected", False), SetVariable("ch5_selected", False), SetVariable("ch6_selected", False), Hide("chapter_confirm")]         key "rollback" action [SetVariable("ch1_selected", False), SetVariable("ch2_selected", False), SetVariable("ch3_selected", False), SetVariable("ch4_selected", False), SetVariable("ch5_selected", False), SetVariable("ch6_selected", False), Hide("chapter_confirm")]

i know this isnt a question thats fully related to the asset however on the preview, you guys did a sort of scrolling text wrap effect for your pause menus? i was wondering how exactly you went about doing this

Did u ever get around to looking at this? If i could be of any assistance in fixin this up I'd love to help where i can!

tysm! i appreciate the reply! i will make sure to give full credit where it is due :]

i didnt know that there was a renpy discord! ill have to look into that

(1 edit)

Hi! is this usable in commercial projects as well? i had initially planned on using a different speech pause plugin, but that has the issue thats addressed in version 2 with this one (not stopping dialogue sounds), so i was debating on using v2 of this instead.

unfortunately this still makes no difference.

this modified code (i believe specifically the show_done portion) just seems to make it so the sound doesnt play at all

(1 edit)

sorry it took forever to reply to this! i had a look at the project that this was based on, and was surprised to see that they actually had a feature for this, in "Version 2". essentially, im just using this code here (although in a different audio channel) from the renpy documentation to have text bleep thingies play. perhaps i didnt explain myself well enough before   

 # This is where we define the dialogue sounds.

    def dialoguesound(event, interact=True, **kwargs):

        if not interact:

            return

        if event == "show":

            renpy.sound.play("sfx/voices/generic.ogg", channel="dialogue", loop=True)

        elif event == "slow_done":

            renpy.sound.stop(channel="dialogue", fadeout=0.1)

SMALL UPDATE ON THIS! 

I've found that this bug ALSO applies to tooltips. For example, if you have a button in a controller viewport, and that button uses both an ATL transform and a tooltip, the tooltip will override the ATL for some reason, and cause it to (again, the same with the previous problem) immediately complete the animation. It seems to skip over the ease/linear arguments specifically. 

I also made sure to test this without the tooltip, in which it worked fine, and with the tooltip in a regular viewport, and that, too, works fine. Not sure if this will be helpful to your debugging process or not, but I thought it to be worth mentioning.

Im referring to the latter, yes. But the sound file doesn't seem to stop between spaces, which sounds pretty odd.

while i'm here, ill also ask, is there a way to make it so that the speech pauses also pause the dialogue sounds if youre using them? i know the other plugin of this has that as an option, but i thought it worth asking here in case

thanks!

(1 edit)

after just testing with a non-controller viewport, the atl transitions actually DID work to my surprise! so this might actually be an issue with controller support expansion! I've made a Google Drive folder with both the classic viewport and controller viewport versions of my full chapterselect script. figured that a more in-depth look might help better for debugging than a short extract. there's also a folder containing all of the necessary image assets, so that should help as well.

Apologies for another odd question, but this one has really stumped me.

I have an imagebutton, or rather a series of them, within a horizontal controller_viewport. I wanted to make them show/hide using a transition (an ATL one, but after further testing, this applies to preset transitions as well), but the transition doesn't seem to play. On being clicked, the button either immediately appears or immediately disappears, as if the animation is being skipped.

I also tested the imagebuttons outside of the viewport as seperate screens, and the animation plays just fine then, which leads me to believe this issue is symptomatic of the button being within the aforementioned viewport. This may be a general issue with viewports, and not exclusive to controller_viewports specifically, but I thought it was worth mentioning in case you, or anyone else, may be aware of a workaround.

Thanks!

(1 edit)

is there any way to adjust the speed at which the animation plays?

edit: whoops, found it. Thank you for this tool!!!

Thank you so much for this! This will make beta testing so, SO much easier.

Hi! I know the usage guidelines simply state "do whatever you want, as per MIT license" but I DID want to double check that this code was also usable in commercial projects? Just for the sake of covering all bases.

ill see what i can do. thank you!

ah thank you so much!

(1 edit)

the second this isnt quite what i meant, since i think this just displays the name of the image being shown, when i meant more like displaying a self-written writeup about the image. a bit like developer commentary to explain the process behind the artwork if that makes sense. but everything else is incredibly helpful! thank you so much. only issue is that using the method you described to show/hide the menu also makes it so that once the menu is hidden, you are required to use touch controls and cannot use keyboard/gamepad to control the menu anymore

might be THE most oddly specific thing to ask in the world BUT. is it at all possible to automatically center a button inside the viewport when its clicked? i have a scrolling hbox for a menu within a controller_viewport and it has a series of imagebuttons that each open a screen that's centered in the screen, giving the illusion that its simply the initial button changing appearance when clicked. however i forgot to account for mouse options, and that means that when you click one of the imagebuttons when theyre just off in the corner with a mouse, the screen that appears is overlaid over the incorrect imagebutton. was wondering if its possible to have the viewport automatically scroll to the imagebutton when its clicked if its just off to the side, basically.

and another question. i wanted to have some imagebuttons that could be used to scroll to the next item in the list, but im unable to figure out that too. sorry for the long ramble

(1 edit)

Hi there! I recently purchased this pack, and I had a couple questions.

First off, is there a way to have a button prompt that shows/hides the bar at the top, since having it always on can obstruct the actual image being viewed.

And second, is there a way to have some sort of text appear that describes the image, or has developer comments about the creation of the piece in the case of concept art and the like? 

I'm also slightly confused about the terms of use listing something to do with an RPA file? I plan on releasing the game commercially, but I can't seem to find the instructions for that anywhere.

This, Controller Support Extension, and Extended Music Room have been an ENORMOUS help to my game. Thank you so much for everything.