"""Mudancas do FredyGames no Blutfest: a tela de creditos nao abre links externos (o jogo roda sem rede).""" import pathlib import sys p = pathlib.Path(sys.argv[1]) / "Scenes/UI/CreditsScreen/CreditsScreen.gd" s = p.read_text() old = "OS.shell_open(str(meta))" assert s.count(old) == 1 p.write_text(s.replace(old, "pass # FredyGames: no external links (the build makes no requests outside its site)")) # O Godot reimportaria o CSV de traducoes gerando os .translation com bytes diferentes a cada execucao; com o importer # "keep" o export usa os .translation que o autor ja versionou (mesmo texto) e sai igual a cada vez. c = pathlib.Path(sys.argv[1], "Localization/Translation.csv.import") assert 'importer="csv_translation"' in c.read_text() for lang in ("de", "en", "es", "fr"): assert pathlib.Path(sys.argv[1], "Localization/Translation.%s.translation" % lang).exists() c.write_text('[remap]\n\nimporter="keep"\n') # O sprite do projetil de gelo (Sprites/Weapons/545-1_zapfen_2.png, de um site de imagens sem licenca clara) vira um # desenho nosso (icicle.png, gerado por make_icicle.py, CC0), mesmo tamanho; o credito na tela de creditos acompanha. import shutil root = pathlib.Path(sys.argv[1]) shutil.copyfile(pathlib.Path(__file__).with_name("icicle.png"), root / "Sprites/Weapons/545-1_zapfen_2.png") cr = root / "Credits.txt" t = cr.read_text() lines = t.split("\n") idx = [i for i, l in enumerate(lines) if l.startswith("Icicle - ?")] assert len(idx) == 1 lines[idx[0]] = "Icicle - FredyGames - CC0 (replaces the original sprite)" cr.write_text("\n".join(lines)) # No navegador o botao Exit nao faz nada: some do menu. mm = root / "Scenes/UI/MainMenu/MainMenu.gd" s = mm.read_text() old = "func _ready():\n" assert s.count(old) == 1 mm.write_text(s.replace(old, old + "\t$MarginContainer/CenterContainer/VBoxContainer/CenterContainer2/VBoxContainer/ExitButton.hide()\n"))