diff --git a/game/src/cg_gallery.rpy b/game/src/cg_gallery.rpy index 3107ed0..a403751 100644 --- a/game/src/cg_gallery.rpy +++ b/game/src/cg_gallery.rpy @@ -1,5 +1,4 @@ init python: - # CONST PARAMS GALLERY_COLS = 3 PREFERRED_WIDTH = 432 #px (1920 * 0.225) @@ -14,7 +13,7 @@ init python: { 'path': "images/cgs/", 'name': "CG", 'eval': None }, #{ 'path': "images/animations/", 'name': "Animations", 'eval': None }, { 'path': "images/NotForKids!/", 'name': "Lewd", - 'eval': 'presistent.lewd == True' + 'eval': 'persistent.lewd == True' } ] #path: folder, name: shows up in gallery, eval: runs eval() on string @@ -80,10 +79,25 @@ init python: # Call to loading the gallery loadGallery() + #for zooming in and out + zoom_arr = [] + 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) @@ -91,6 +105,13 @@ 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): + tag menu + use view_image(fn, _origin, zoom, 'b') +screen view_image_b(fn, _origin, zoom): + 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 @@ -146,14 +167,20 @@ screen cg_gallery(flag, __yoffset = 0, origin = 'CG'): spacing gui.navigation_spacing - for cp in CG_PATHS: - #gallery_dic[cp['name']] = [] # - if cp['name'] is origin: - textbutton _(cp['name']) +#define gui.button_text_idle_color = gui.idle_color +#define gui.button_text_hover_color = gui.hover_color +#define gui.button_text_selected_color = gui.selected_color +#define gui.button_text_insensitive_color = gui.insensitive_color + if cp['name'] == origin: + textbutton _(cp['name']) text_color gui.selected_color else: - textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) -#textbutton _(cp['name']) action set_reflow(origin, cp['name'], gallery_rows, empty_spaces) + if cp['eval'] is None: + textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) + elif eval(cp['eval']): + textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) + else: + textbutton _(cp['name']) textbutton _("Return") action ShowMenu('main_menu') if _in_replay: @@ -163,17 +190,16 @@ screen cg_gallery(flag, __yoffset = 0, origin = 'CG'): label "Gallery" - - """ if/else flow control & extra parameters for Buttons """ screen flag_button(item, yoffset, origin): python: flag = renpy.seen_image(item['item']) + if flag: button: - action ShowMenu('view_image', item['fn'], ShowMenu('cg_gallery_0', yoffset, origin)) + action ShowMenu('view_image_a', item['fn'], ShowMenu('cg_gallery_0', yoffset, origin), 0.0) xcenter 0.5 ycenter 0.5 vbox: text item["item"] xalign 0.5 @@ -188,14 +214,30 @@ screen flag_button(item, yoffset, origin): """ view_image, Loads the image in fullscreen with viewport control. """ -screen view_image(fn, _origin): +screen view_image(fn, _origin, zoom=0.0, flag='a'): + python: + if zoom == 0.0: + zoom = zoom_arr.index(1.0) + zoom_a = zoom+1 + zoom_a_f = ShowMenu('view_image_'+flag, fn, _origin, zoom_a) + zoom_b = zoom-1 + zoom_b_f = ShowMenu('view_image_'+flag, fn, _origin, zoom_b) + tag menu key "game_menu" action _origin - viewport: + + # mousewheel & insert+delete + if zoom_a < len(zoom_arr): + key 'mousedown_4' action zoom_a_f + key 'K_INSERT' action zoom_a_f + if zoom_b > 0: + key 'mousedown_5' action zoom_b_f + key 'K_DELETE' action zoom_b_f + + viewport id "vie": #Ren'Py is isn't smart enough to not edgescroll while pressed, so we'll have to disable this for mobile edgescroll (300, 1800) draggable True arrowkeys True pagekeys True -#edgescroll 1.0 - add fn + add fn zoom zoom_arr[zoom] anchor (0.5, 0.5)