# Don't remove init offset as that breaks translations for some reason init 999 python: #don't do a halo infinite moment #hard code the header & footer #then iterate the list_credits list_og_credits = { _('Coded By:'): [ '/dev/non', "[[Untitled] Anon", 'Schizodev Anon', 'Starmanon', 'Nutbuster Anon', 'Inhumanon', 'Spigot the Bear Anon' ], _('Written by:'): [ 'AVGN Anon', 'Coomer Anon', '/trash/ Anon', 'FreemAnon', 'Ccp Anon', 'Kokichi Anon', 'Alex Anon', 'Punished Anon', 'Finn Anon' ], _('Story by:'): [ 'AVGN Anon', 'Coomer Anon', 'Alex Anon', 'Singularity Anon', 'Tombstone Anon' ], _('Production Designer'): [ 'Alex Anon' ], _('Artwork by:'): [ 'Alex Anon', 'Mormon Anon', 'Ccp Anon', 'Aome Anon', '/trash/ Anon', 'Skeleton Anon', 'eyeh Xinnix Anon', 'Brit Anon', 'Dark-N-Wolf Anon', 'Hotel Anon', 'Multi Anon', 'Ionanon' ], _('Additional Artwork by:'): [ _('Backup Anon 1'), _('Backup Anon 2'), _('Backup Anon 3'), _('Backup Anon 4'), _('Backup Anon 5'), _('Backup Anon 6'), ], _("\"Love theme\" by:"): [ _('Only Person In The Team With A\nPortfolio/Experience Anon'), ], _('Music By'): [ 'Shampoo Anon', 'Melo Anon' ], _('Egg Hunt Contest\nWinner:'): [ 'Olivia Anon' ], _('Character Design\nContest Winner:'): [ 'Mono Anon', ], _('Special Thanks:'): [ 'Commission Anon', ] } # The difference between adding in the special thanks and not I have found is about 480px, just to note down. list_translator_credits = { _('Translators (Spanish):'): [ 'Queso2033 Anon', 'TheShadowTrAnon' ], _('Translators (Russian):'): [ 'Gexahord', 'strelook21', 'YtkaGen', 'DatFeelFrog', 'CMDR Andrea Dornan' ], _('Translators (Polish):'): [ 'benn55', 'DI MOLTO', 'Man_of_Krieg', 'ReD', ], _('Proofreaders (Spanish):'): [ 'ElBan AnĂ³n', 'GMAnon' ], _('Proofreaders (Russian):'): [ 'Gexahord', 'strelook21', 'YtkaGen', 'DatFeelFrog' ], _('Asset help (Spanish):'): [ 'Arkiangelo Anon' ], _('Asset help (Russian):'): [ 'Gexahord', 'YtkaGen', '2ch Anon' ] } textlist = [] alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5} #sizes in px SIZE_SNOT_GAMES = 68*3+10 SIZE_TITLE = 32*3+10 SIZE_ENTRY = 19.75*3+10 SIZE_TL = 19.75*2+10 SIZE_ENDER = 52*3+10 #there is line_spacing but don't usei t textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs)) textlist.append(Null(1, 16*1)) textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs)) textlist.append(Null(1, 16*18)) textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs)) textlist.append(Null(1, 16*12)) for key, arr in list_og_credits.items(): textlist.append(Text(key, size=SIZE_TITLE, **alignargs)) textlist.append(Null(1, 16*6)) concatstr = "" for item in arr: concatstr += __(item) + '\n' textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs)) textlist.append(Null(1, 16*2)) #smaller font and gridonate for translators TL_WIDTH = 2 TL_HEIGHT = (len(list_translator_credits)+1)//2 tgrid = [] for key, arr in list_translator_credits.items(): vb = [] vb.append(Text(key, size=SIZE_ENTRY, **alignargs)) vb.append(Null(1, 16*6)) concatstr = "" for item in arr: concatstr += item + '\n' vb.append(Text(concatstr, size=SIZE_TL, **alignargs)) vb.append(Null(1, 16*2)) vb = VBox(*vb) tgrid.append(vb) for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT): tgrid.append(Null()) pass tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid) textlist.append(tgrid) textlist.append(Null(1, 16*12)) #check textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs)) textlist.append(Null(1, 16*4)) textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs)) credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5) renpy.image('credits_hbox', credits_hbox) # label test_credits: scene black stop ambient #play music 'audio/abloop.wav' "test" window auto hide pause 0.5 show c_credits_text: crop (0, 0, 1920, 670) pause 1.1 show c_credits_text: crop None pause 2.75 show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text: subpixel True show c_credits_text at Pan((0, 0),(0, 12155), 65): crop None subpixel True #pause 50 #queue music "audio/abend.wav" noloop pause scene black with Dissolve(3) # Credits definitions moved here so everything that needs to be changed is is one place. # Anytime the credits changes to include more translators, you're just going to have to guess what the correct # value to offset everything is again. Mainly concerning values that control the panning destination of credits text, # and the height of the credits text itself # My recommendation is to imagine a square on top of the "T" in "THE END" # The square is as long as one of those characters, and the top of the square should touch the top of the screen # when the credits stop scrolling # Someone please come up with an exact formula pls # Remember, ending sketch is always +550 of when the Pan stops image credits_coverup: "black" crop (0, 0, 1920, 1080) image b_credits_text = Composite( (1920, 13235), (0, 390), "credits_hbox", (0, 12705), "b_sketch" ) image c_credits_text = Composite( (1920, 13235), (0, 390), "credits_hbox", (0, 12705), "c_sketch" ) image d_credits_text = Composite( (1920, 13235), (0, 390), "credits_hbox", (0, 12705), "d_sketch" ) label lending: call get_ending from _call_get_ending_4 if _return == 4: pause 0.5 show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit subpixel True xalign 0.5 yalign 0.5 linear 6 zoom 1.2 pause 1.75 show d_credits_text with dissolve: subpixel True crop (0, 670, 1920, 1080) ypos 670 xalign 0.5 linear 3 zoom 1.1 pause 2 hide d_credits_text hide snootgame_big with dissolve show credits_base at Pan((0, -1080),(0, 8100), 65): subpixel True show d_credits_text at Pan((0, 0),(0, 12100), 65): subpixel True show credits_coverup at Pan((0, 0),(0, 12100), 65): subpixel True pause 50 queue music 'audio/OST/amberlight brillance live end.ogg' queue music "" loop elif _return == 3: play music "audio/OST/Dino Destiny Reader.ogg" pause 0.5 show c_credits_text: crop (0, 0, 1920, 670) pause 1.1 show c_credits_text: crop None pause 2.75 show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text: subpixel True show c_credits_text at Pan((0, 0),(0, 12100), 65): crop None subpixel True else: play music "audio/OST/Dino Destiny Reader.ogg" pause 0.5 show b_credits_text: crop (0, 0, 1920, 670) pause 1.1 show b_credits_text: crop None pause 2.75 show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text: subpixel True show b_credits_text at Pan((0, 0),(0, 12100), 65): crop None subpixel True pause stop music fadeout 5 scene black with Dissolve(3) pause 2 if tradwife: scene c10 with Dissolve(1.5) pause 20 scene black with Dissolve(2) pause 1 elif anonscore >= 4 and fangscore >= 4: scene golden ending with Dissolve(1.5) pause 20 scene black with Dissolve(2) pause 1 return