diff --git a/assets/2D Pixel Dungeon Asset Pack v2.0.zip b/assets/2D Pixel Dungeon Asset Pack v2.0.zip new file mode 100644 index 0000000..f99dda0 Binary files /dev/null and b/assets/2D Pixel Dungeon Asset Pack v2.0.zip differ diff --git a/assets/Cowboy Sting.mp3 b/assets/Cowboy Sting.mp3 new file mode 100644 index 0000000..8fbeea8 Binary files /dev/null and b/assets/Cowboy Sting.mp3 differ diff --git a/assets/Cyberpunk Moonlight Sonata v2.mp3 b/assets/Cyberpunk Moonlight Sonata v2.mp3 new file mode 100644 index 0000000..f0300c5 Binary files /dev/null and b/assets/Cyberpunk Moonlight Sonata v2.mp3 differ diff --git a/assets/Cyberpunk Moonlight Sonata.mp3 b/assets/Cyberpunk Moonlight Sonata.mp3 new file mode 100644 index 0000000..3ed7297 Binary files /dev/null and b/assets/Cyberpunk Moonlight Sonata.mp3 differ diff --git a/assets/Dentaneosuchus Hunt.mp3 b/assets/Dentaneosuchus Hunt.mp3 new file mode 100644 index 0000000..5bff5cf Binary files /dev/null and b/assets/Dentaneosuchus Hunt.mp3 differ diff --git a/assets/Enemy_Animations_Set.zip b/assets/Enemy_Animations_Set.zip new file mode 100644 index 0000000..0e43fff Binary files /dev/null and b/assets/Enemy_Animations_Set.zip differ diff --git a/assets/Lord of the Rangs.mp3 b/assets/Lord of the Rangs.mp3 new file mode 100644 index 0000000..b7b7a1b Binary files /dev/null and b/assets/Lord of the Rangs.mp3 differ diff --git a/assets/Piano Between.mp3 b/assets/Piano Between.mp3 new file mode 100644 index 0000000..d3b22d1 Binary files /dev/null and b/assets/Piano Between.mp3 differ diff --git a/assets/Sauropod Spotting.mp3 b/assets/Sauropod Spotting.mp3 new file mode 100644 index 0000000..652bc33 Binary files /dev/null and b/assets/Sauropod Spotting.mp3 differ diff --git a/assets/Tiny RPG Character Asset Pack v1.03b -Free Soldier&Orc.zip b/assets/Tiny RPG Character Asset Pack v1.03b -Free Soldier&Orc.zip new file mode 100644 index 0000000..8407627 Binary files /dev/null and b/assets/Tiny RPG Character Asset Pack v1.03b -Free Soldier&Orc.zip differ diff --git a/assets/TremLoadingloopl.wav b/assets/TremLoadingloopl.wav new file mode 100644 index 0000000..2fff198 Binary files /dev/null and b/assets/TremLoadingloopl.wav differ diff --git a/assets/Who Likes to Party.mp3 b/assets/Who Likes to Party.mp3 new file mode 100644 index 0000000..f23a9f8 Binary files /dev/null and b/assets/Who Likes to Party.mp3 differ diff --git a/assets/kenney_music-jingles.zip b/assets/kenney_music-jingles.zip new file mode 100644 index 0000000..ed4b955 Binary files /dev/null and b/assets/kenney_music-jingles.zip differ diff --git a/assets/kenney_rpg-audio(1).zip b/assets/kenney_rpg-audio(1).zip new file mode 100644 index 0000000..99d76ae Binary files /dev/null and b/assets/kenney_rpg-audio(1).zip differ diff --git a/assets/kenney_rpg-audio.zip b/assets/kenney_rpg-audio.zip new file mode 100644 index 0000000..99d76ae Binary files /dev/null and b/assets/kenney_rpg-audio.zip differ diff --git a/assets/kenney_ui-audio.zip b/assets/kenney_ui-audio.zip new file mode 100644 index 0000000..7bb0971 Binary files /dev/null and b/assets/kenney_ui-audio.zip differ diff --git a/assets/loading screen.wav b/assets/loading screen.wav new file mode 100644 index 0000000..d7fb83f Binary files /dev/null and b/assets/loading screen.wav differ diff --git a/assets/mystical_theme.mp3 b/assets/mystical_theme.mp3 new file mode 100644 index 0000000..89e2a76 Binary files /dev/null and b/assets/mystical_theme.mp3 differ diff --git a/pygame/01_pexeso.py b/pygame/01_pexeso.py index 483432d..1b78170 100644 --- a/pygame/01_pexeso.py +++ b/pygame/01_pexeso.py @@ -93,7 +93,7 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Kromě výplně nakreslíme ještě bílý obrys (rámeček) o tloušťce 3 pixely, ať to lépe vypadá pygame.draw.rect(okno, BILA, self.rect, 3) - def hlavni_smycka(): + async def hlavni_smycka(): # --- PŘÍPRAVA HRY --- # 1. Připravíme si seznam barev. Chceme 8 párů, takže každou barvu z BARVY_PARU potřebujeme dvakrát. barvy_do_hry = BARVY_PARU * 2 @@ -198,8 +198,9 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk else: # ŠPATNĚ! Barvy se liší. # Aby hráč vůbec stihl zaregistrovat barvu druhé karty, musíme na chvíli zmrazit hru - # wait(1000) hru zastaví přesně na 1000 milisekund (1 sekundu) - pygame.time.wait(1000) + # PŘIDÁNO PRO WEB: Ve webovém prostředí nesmíme použít pygame.time.wait(), protože by zmrazil prohlížeč. + # Místo toho asynchronně uspíme smyčku, což umožní prohlížeči vykreslit druhou kartu. + await asyncio.sleep(1) # A pak obě karty otočíme zase lícem dolů (šedá strana nahoru) prvni_vybrana.odkryta = False @@ -211,13 +212,13 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Rychlost smyčky: Řekneme hodinám, že chceme, aby smyčka běžela maximálně tolikrát za vteřinu, jak určuje FPS hodiny.tick(FPS) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku - await asyncio.sleep(0) + # PRIDANO PRO WEB + await asyncio.sleep(0) - # Tohle říká Pythonu: Pokud tento soubor spouštíš jako hlavní program (ne jen importuješ), +# Tohle říká Pythonu: Pokud tento soubor spouštíš jako hlavní program (ne jen importuješ), # tak teprve tehdy spusť hlani_smycka() if __name__ == "__main__": - hlavni_smycka() + await hlavni_smycka() # PŘIDÁNO PRO WEB: Spuštění asynchronní hry diff --git a/pygame/02_flappy_bird.py b/pygame/02_flappy_bird.py index 9c6f33b..ae73e59 100644 --- a/pygame/02_flappy_bird.py +++ b/pygame/02_flappy_bird.py @@ -45,7 +45,7 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Jinak ho plácneme normálně za jeho levý horní roh okno.blit(plocha, (x, y)) - def hlavni_smycka(): + async def hlavni_smycka(): # --- PROMĚNNÉ PTÁKA --- # Toto jsou proměnné, které se v čase mění, proto nejsou VELKÝMI PÍSMENY ptak_x = 50 # Zleva je pták relativně blízko okraji @@ -187,15 +187,15 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Pojistka pro správnou rychlost. Počká se milisekundu tak, abychom dodrželi stanovené FPS. hodiny.tick(FPS) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku - await asyncio.sleep(0) + # PRIDANO PRO WEB + await asyncio.sleep(0) - # Toto funguje tak, že hru spouštíme donekonečna. Když hráč zemře a dá mezerník, +# Toto funguje tak, že hru spouštíme donekonečna. Když hráč zemře a dá mezerník, # funkce 'hlavni_smycka()' skončí (return), ale díky tomuto cyklu 'while True' # se obratem zavolá od znova z čistého stolu a se skórem nula. if __name__ == "__main__": while True: - hlavni_smycka() + await hlavni_smycka() # PŘIDÁNO PRO WEB: Spuštění asynchronní hry diff --git a/pygame/03_chytani_jablek.py b/pygame/03_chytani_jablek.py index e4ac6c3..5d52bd3 100644 --- a/pygame/03_chytani_jablek.py +++ b/pygame/03_chytani_jablek.py @@ -136,10 +136,10 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # A tohle vynutí pauzu natolik dlouhou, abychom za vteřinu nepřekročili 60 smyček (60 FPS) hodiny.tick(60) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku + # PRIDANO PRO WEB await asyncio.sleep(0) - # Pokud 'bezime' skočí na False a vyskočíme ze smyčky 'while', musíme bezpečně zhasnout! +# Pokud 'bezime' skočí na False a vyskočíme ze smyčky 'while', musíme bezpečně zhasnout! pygame.quit() sys.exit() diff --git a/pygame/04_pong_dva_hraci.py b/pygame/04_pong_dva_hraci.py index 673ade8..d98e83d 100644 --- a/pygame/04_pong_dva_hraci.py +++ b/pygame/04_pong_dva_hraci.py @@ -188,10 +188,10 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Pauza na udržení stabilních 60 FPS hodiny.tick(60) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku + # PRIDANO PRO WEB await asyncio.sleep(0) - # Konec programu +# Konec programu pygame.quit() sys.exit() diff --git a/pygame/05_skakacka_gravitace.py b/pygame/05_skakacka_gravitace.py index b08cfcb..3ad1ffd 100644 --- a/pygame/05_skakacka_gravitace.py +++ b/pygame/05_skakacka_gravitace.py @@ -166,10 +166,10 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # .flip() překlopí to, co jsme nakreslili v paměti na obrazovku k hráči pygame.display.flip() hodiny.tick(60) # Cílíme na hladkých 60 FPS (Frames Per Second) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku + # PRIDANO PRO WEB await asyncio.sleep(0) - pygame.quit() +pygame.quit() sys.exit() diff --git a/pygame/06_vesmirna_strilecka.py b/pygame/06_vesmirna_strilecka.py index a9a001c..38da42e 100644 --- a/pygame/06_vesmirna_strilecka.py +++ b/pygame/06_vesmirna_strilecka.py @@ -182,10 +182,10 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Obraz je spočítán. Posíláme do HDMI portu na monitor! (.flip) pygame.display.flip() hodiny.tick(60) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku + # PRIDANO PRO WEB await asyncio.sleep(0) - pygame.quit() +pygame.quit() sys.exit() diff --git a/pygame/07_had.py b/pygame/07_had.py index 4997b22..09ec674 100644 --- a/pygame/07_had.py +++ b/pygame/07_had.py @@ -35,7 +35,7 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Veškerou logiku hry teď poprvé schováme do tzv. Hlavní Funkce. # Proč? Jakmile funkce skončí (kvůli výhře/prohře), velmi jednoduše se tímto trikem dá celá hra resetovat, # jelikož stačí funkci zavolat odznova. - def hlavni_smycka(): + async def hlavni_smycka(): # --- POČÁTEČNÍ STAV HRY --- # Nejdůležitější princip této hry! Tělo hada není jeden objekt, je to SEZNAM SOUŘADNIC (pole v poli). @@ -164,10 +164,10 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Omezení rychlosti hodiny.tick(FPS) - # PŘIDÁNO PRO WEB: Dáme prohlížeči šanci překreslit obrazovku - await asyncio.sleep(0) + # PRIDANO PRO WEB + await asyncio.sleep(0) - # Úplný spodek skriptu Pythonu +# Úplný spodek skriptu Pythonu # Tento 'if' ověřuje, jestli Python zapnul tento soubor napřímo jako první. if __name__ == "__main__": @@ -175,7 +175,7 @@ async def main(): # PŘIDÁNO PRO WEB: Zabalíme celou hru do asynchronní funk # Jakmile uvnitř `hlavni_smycka` zavoláme 'return' kvůli Game Over + stisku Mezerníku, # funkce se zničí, a tento while True ji opět vzkřísí z prachu k novému životu s čistým listem skóre. while True: - hlavni_smycka() + await hlavni_smycka() # PŘIDÁNO PRO WEB: Spuštění asynchronní hry diff --git a/pygame/fix_syntax.py b/pygame/fix_syntax.py new file mode 100644 index 0000000..9162ddd --- /dev/null +++ b/pygame/fix_syntax.py @@ -0,0 +1,11 @@ +import os +import glob + +os.chdir(r'C:\gitprojekty_skola\python_gamejam_examples\pygame') +for f in glob.glob('*.py'): + if f.startswith('patch'): continue + with open(f, 'r', encoding='utf-8') as file: + content = file.read() + content = content.replace('async def hlavni_smycka():', 'async def hlavni_smycka():') + with open(f, 'w', encoding='utf-8') as file: + file.write(content) diff --git a/pygame/patch.py b/pygame/patch.py new file mode 100644 index 0000000..9ff1a64 --- /dev/null +++ b/pygame/patch.py @@ -0,0 +1,25 @@ +import os +import glob +import re + +os.chdir(r'C:\gitprojekty_skola\python_gamejam_examples\pygame') +for f in glob.glob('*.py'): + with open(f, 'r', encoding='utf-8') as file: + content = file.read() + + # 1. async def + content = re.sub(r'(\s*)def hlavni_smycka\(\):', r'\1async def hlavni_smycka():', content) + + # 2. Add await to hlavni_smycka() calls + content = re.sub(r'(\s+)hlavni_smycka\(\)', r'\1await hlavni_smycka()', content) + + # 3. Fix asyncio.sleep(0) + # Odstranime stary await asyncio.sleep(0) a jeho komentar + content = re.sub(r'[ \t]*# PIDNO PRO WEB: Dme prohlei anci pekreslit obrazovku\s+await asyncio\.sleep\(0\)\s*', '\n', content) + + # Pridame ho tesne za hodiny.tick(...) se stejnym odsazenim + content = re.sub(r'([ \t]*)(.*hodiny\.tick.*)', r'\1\2\n\1# PIDNO PRO WEB: Dme prohlei anci pekreslit obrazovku\n\1await asyncio.sleep(0)', content) + + with open(f, 'w', encoding='utf-8') as file: + file.write(content) + print(f'Opraveno: {f}') diff --git a/pygame/patch_safe.py b/pygame/patch_safe.py new file mode 100644 index 0000000..2fa80f0 --- /dev/null +++ b/pygame/patch_safe.py @@ -0,0 +1,29 @@ +import os +import glob +import re + +os.chdir(r'C:\gitprojekty_skola\python_gamejam_examples\pygame') +for f in glob.glob('*.py'): + if f == 'patch.py': + continue + with open(f, 'r', encoding='utf-8') as file: + content = file.read() + + # 1. async def + content = re.sub(r'(\s*)def hlavni_smycka\(\):', r'\1async async def await hlavni_smycka():', content) + + # 2. Add await to await hlavni_smycka() calls + content = re.sub(r'(\s+)hlavni_smycka\(\)', r'\1await await hlavni_smycka()', content) + + # 3. Fix asyncio.sleep(0) + # Match the old comment containing WEB without needing special chars + content = re.sub(r'[ \t]*#.*WEB.*\s+await asyncio\.sleep\(0\)\s*', '\n', content) + + # Pridame ho tesne za hodiny.tick(...) se stejnym odsazenim + # PRIDANO PRO WEB + await asyncio.sleep(0) + content = re.sub(r'([ \t]*)(.*hodiny\.tick.*)', r'\1\2\n\1# PRIDANO PRO WEB\n\1await asyncio.sleep(0)', content) + + with open(f, 'w', encoding='utf-8') as file: + file.write(content) + print(f'Opraveno: {f}') diff --git a/renpy/renpy_example_01/pythonw_14-49_01-06-26_wmPN.png b/renpy/renpy_example_01/pythonw_14-49_01-06-26_wmPN.png new file mode 100644 index 0000000..b930e36 Binary files /dev/null and b/renpy/renpy_example_01/pythonw_14-49_01-06-26_wmPN.png differ diff --git a/renpy/renpy_example_02/game/cache/bytecode-312.rpyb b/renpy/renpy_example_02/game/cache/bytecode-312.rpyb new file mode 100644 index 0000000..afacd68 Binary files /dev/null and b/renpy/renpy_example_02/game/cache/bytecode-312.rpyb differ diff --git a/renpy/renpy_example_02/game/cache/py3analysis.rpyb b/renpy/renpy_example_02/game/cache/py3analysis.rpyb new file mode 100644 index 0000000..9bf305b Binary files /dev/null and b/renpy/renpy_example_02/game/cache/py3analysis.rpyb differ diff --git a/renpy/renpy_example_02/game/cache/screens.rpyb b/renpy/renpy_example_02/game/cache/screens.rpyb new file mode 100644 index 0000000..121237a Binary files /dev/null and b/renpy/renpy_example_02/game/cache/screens.rpyb differ diff --git a/renpy/renpy_example_02/game/cache/shaders.txt b/renpy/renpy_example_02/game/cache/shaders.txt new file mode 100644 index 0000000..ad2e85b --- /dev/null +++ b/renpy/renpy_example_02/game/cache/shaders.txt @@ -0,0 +1,7 @@ +renpy.dissolve renpy.dissolve +renpy.geometry renpy.solid +renpy.geometry renpy.texture +renpy.texture +renpy.solid +renpy.ftl +renpy.dissolve renpy.geometry diff --git a/renpy/renpy_example_02/game/gui.rpyc b/renpy/renpy_example_02/game/gui.rpyc new file mode 100644 index 0000000..0dd2d0d Binary files /dev/null and b/renpy/renpy_example_02/game/gui.rpyc differ diff --git a/renpy/renpy_example_02/game/options.rpyc b/renpy/renpy_example_02/game/options.rpyc new file mode 100644 index 0000000..1fdb897 Binary files /dev/null and b/renpy/renpy_example_02/game/options.rpyc differ diff --git a/renpy/renpy_example_02/game/saves/_tracesave-1-LT1.save b/renpy/renpy_example_02/game/saves/_tracesave-1-LT1.save new file mode 100644 index 0000000..1cf88c3 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/_tracesave-1-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/_tracesave-2-LT1.save b/renpy/renpy_example_02/game/saves/_tracesave-2-LT1.save new file mode 100644 index 0000000..3e89bef Binary files /dev/null and b/renpy/renpy_example_02/game/saves/_tracesave-2-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-1-LT1.save b/renpy/renpy_example_02/game/saves/auto-1-LT1.save new file mode 100644 index 0000000..875f044 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-1-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-2-LT1.save b/renpy/renpy_example_02/game/saves/auto-2-LT1.save new file mode 100644 index 0000000..0d48f5f Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-2-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-3-LT1.save b/renpy/renpy_example_02/game/saves/auto-3-LT1.save new file mode 100644 index 0000000..66e1d35 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-3-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-4-LT1.save b/renpy/renpy_example_02/game/saves/auto-4-LT1.save new file mode 100644 index 0000000..b005408 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-4-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-5-LT1.save b/renpy/renpy_example_02/game/saves/auto-5-LT1.save new file mode 100644 index 0000000..226bfb9 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-5-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-6-LT1.save b/renpy/renpy_example_02/game/saves/auto-6-LT1.save new file mode 100644 index 0000000..886984f Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-6-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/auto-7-LT1.save b/renpy/renpy_example_02/game/saves/auto-7-LT1.save new file mode 100644 index 0000000..45b5d15 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/auto-7-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/navigation.json b/renpy/renpy_example_02/game/saves/navigation.json new file mode 100644 index 0000000..a0bd452 --- /dev/null +++ b/renpy/renpy_example_02/game/saves/navigation.json @@ -0,0 +1 @@ +{"error": false, "size": [1280, 720], "name": "renpy_example_01", "version": "1.0", "location": {"label": {}, "define": {"config.check_conflicting_properties": ["game/gui.rpy", 15], "gui.accent_color": ["game/gui.rpy", 28], "gui.idle_color": ["game/gui.rpy", 31], "gui.idle_small_color": ["game/gui.rpy", 35], "gui.hover_color": ["game/gui.rpy", 38], "gui.selected_color": ["game/gui.rpy", 42], "gui.insensitive_color": ["game/gui.rpy", 45], "gui.muted_color": ["game/gui.rpy", 49], "gui.hover_muted_color": ["game/gui.rpy", 50], "gui.text_color": ["game/gui.rpy", 53], "gui.interface_text_color": ["game/gui.rpy", 54], "gui.text_font": ["game/gui.rpy", 60], "gui.name_text_font": ["game/gui.rpy", 63], "gui.interface_text_font": ["game/gui.rpy", 66], "gui.text_size": ["game/gui.rpy", 69], "gui.name_text_size": ["game/gui.rpy", 72], "gui.interface_text_size": ["game/gui.rpy", 75], "gui.label_text_size": ["game/gui.rpy", 78], "gui.notify_text_size": ["game/gui.rpy", 81], "gui.title_text_size": ["game/gui.rpy", 84], "gui.main_menu_background": ["game/gui.rpy", 90], "gui.game_menu_background": ["game/gui.rpy", 91], "gui.textbox_height": ["game/gui.rpy", 100], "gui.textbox_yalign": ["game/gui.rpy", 104], "gui.name_xpos": ["game/gui.rpy", 109], "gui.name_ypos": ["game/gui.rpy", 110], "gui.name_xalign": ["game/gui.rpy", 114], "gui.namebox_width": ["game/gui.rpy", 118], "gui.namebox_height": ["game/gui.rpy", 119], "gui.namebox_borders": ["game/gui.rpy", 123], "gui.namebox_tile": ["game/gui.rpy", 127], "gui.dialogue_xpos": ["game/gui.rpy", 133], "gui.dialogue_ypos": ["game/gui.rpy", 134], "gui.dialogue_width": ["game/gui.rpy", 137], "gui.dialogue_text_xalign": ["game/gui.rpy", 141], "gui.button_width": ["game/gui.rpy", 150], "gui.button_height": ["game/gui.rpy", 151], "gui.button_borders": ["game/gui.rpy", 154], "gui.button_tile": ["game/gui.rpy", 158], "gui.button_text_font": ["game/gui.rpy", 161], "gui.button_text_size": ["game/gui.rpy", 164], "gui.button_text_idle_color": ["game/gui.rpy", 167], "gui.button_text_hover_color": ["game/gui.rpy", 168], "gui.button_text_selected_color": ["game/gui.rpy", 169], "gui.button_text_insensitive_color": ["game/gui.rpy", 170], "gui.button_text_xalign": ["game/gui.rpy", 174], "gui.radio_button_borders": ["game/gui.rpy", 183], "gui.check_button_borders": ["game/gui.rpy", 185], "gui.confirm_button_text_xalign": ["game/gui.rpy", 187], "gui.page_button_borders": ["game/gui.rpy", 189], "gui.quick_button_borders": ["game/gui.rpy", 191], "gui.quick_button_text_size": ["game/gui.rpy", 192], "gui.quick_button_text_idle_color": ["game/gui.rpy", 193], "gui.quick_button_text_selected_color": ["game/gui.rpy", 194], "gui.choice_button_width": ["game/gui.rpy", 207], "gui.choice_button_height": ["game/gui.rpy", 208], "gui.choice_button_tile": ["game/gui.rpy", 209], "gui.choice_button_borders": ["game/gui.rpy", 210], "gui.choice_button_text_font": ["game/gui.rpy", 211], "gui.choice_button_text_size": ["game/gui.rpy", 212], "gui.choice_button_text_xalign": ["game/gui.rpy", 213], "gui.choice_button_text_idle_color": ["game/gui.rpy", 214], "gui.choice_button_text_hover_color": ["game/gui.rpy", 215], "gui.choice_button_text_insensitive_color": ["game/gui.rpy", 216], "gui.slot_button_width": ["game/gui.rpy", 226], "gui.slot_button_height": ["game/gui.rpy", 227], "gui.slot_button_borders": ["game/gui.rpy", 228], "gui.slot_button_text_size": ["game/gui.rpy", 229], "gui.slot_button_text_xalign": ["game/gui.rpy", 230], "gui.slot_button_text_idle_color": ["game/gui.rpy", 231], "gui.slot_button_text_selected_idle_color": ["game/gui.rpy", 232], "gui.slot_button_text_selected_hover_color": ["game/gui.rpy", 233], "config.thumbnail_width": ["game/gui.rpy", 236], "config.thumbnail_height": ["game/gui.rpy", 237], "gui.file_slot_cols": ["game/gui.rpy", 240], "gui.file_slot_rows": ["game/gui.rpy", 241], "gui.navigation_xpos": ["game/gui.rpy", 251], "gui.skip_ypos": ["game/gui.rpy", 254], "gui.notify_ypos": ["game/gui.rpy", 257], "gui.choice_spacing": ["game/gui.rpy", 260], "gui.navigation_spacing": ["game/gui.rpy", 263], "gui.pref_spacing": ["game/gui.rpy", 266], "gui.pref_button_spacing": ["game/gui.rpy", 269], "gui.page_spacing": ["game/gui.rpy", 272], "gui.slot_spacing": ["game/gui.rpy", 275], "gui.main_menu_text_xalign": ["game/gui.rpy", 278], "gui.frame_borders": ["game/gui.rpy", 287], "gui.confirm_frame_borders": ["game/gui.rpy", 290], "gui.skip_frame_borders": ["game/gui.rpy", 293], "gui.notify_frame_borders": ["game/gui.rpy", 296], "gui.frame_tile": ["game/gui.rpy", 299], "gui.bar_size": ["game/gui.rpy", 311], "gui.scrollbar_size": ["game/gui.rpy", 312], "gui.slider_size": ["game/gui.rpy", 313], "gui.bar_tile": ["game/gui.rpy", 316], "gui.scrollbar_tile": ["game/gui.rpy", 317], "gui.slider_tile": ["game/gui.rpy", 318], "gui.bar_borders": ["game/gui.rpy", 321], "gui.scrollbar_borders": ["game/gui.rpy", 322], "gui.slider_borders": ["game/gui.rpy", 323], "gui.vbar_borders": ["game/gui.rpy", 326], "gui.vscrollbar_borders": ["game/gui.rpy", 327], "gui.vslider_borders": ["game/gui.rpy", 328], "gui.unscrollable": ["game/gui.rpy", 332], "config.history_length": ["game/gui.rpy", 340], "gui.history_height": ["game/gui.rpy", 344], "gui.history_spacing": ["game/gui.rpy", 347], "gui.history_name_xpos": ["game/gui.rpy", 351], "gui.history_name_ypos": ["game/gui.rpy", 352], "gui.history_name_width": ["game/gui.rpy", 353], "gui.history_name_xalign": ["game/gui.rpy", 354], "gui.history_text_xpos": ["game/gui.rpy", 357], "gui.history_text_ypos": ["game/gui.rpy", 358], "gui.history_text_width": ["game/gui.rpy", 359], "gui.history_text_xalign": ["game/gui.rpy", 360], "gui.nvl_borders": ["game/gui.rpy", 368], "gui.nvl_list_length": ["game/gui.rpy", 372], "gui.nvl_height": ["game/gui.rpy", 376], "gui.nvl_spacing": ["game/gui.rpy", 380], "gui.nvl_name_xpos": ["game/gui.rpy", 384], "gui.nvl_name_ypos": ["game/gui.rpy", 385], "gui.nvl_name_width": ["game/gui.rpy", 386], "gui.nvl_name_xalign": ["game/gui.rpy", 387], "gui.nvl_text_xpos": ["game/gui.rpy", 390], "gui.nvl_text_ypos": ["game/gui.rpy", 391], "gui.nvl_text_width": ["game/gui.rpy", 392], "gui.nvl_text_xalign": ["game/gui.rpy", 393], "gui.nvl_thought_xpos": ["game/gui.rpy", 397], "gui.nvl_thought_ypos": ["game/gui.rpy", 398], "gui.nvl_thought_width": ["game/gui.rpy", 399], "gui.nvl_thought_xalign": ["game/gui.rpy", 400], "gui.nvl_button_xpos": ["game/gui.rpy", 403], "gui.nvl_button_xalign": ["game/gui.rpy", 404], "gui.language": ["game/gui.rpy", 413], "quick_menu": ["game/screens.rpy", 264], "gui.history_allow_tags": ["game/screens.rpy", 933], "config.nvl_list_length": ["game/screens.rpy", 1360], "bubble.frame": ["game/screens.rpy", 1473], "bubble.thoughtframe": ["game/screens.rpy", 1474], "bubble.properties": ["game/screens.rpy", 1476], "bubble.expand_area": ["game/screens.rpy", 1502], "config.name": ["game/options.rpy", 15], "gui.show_name": ["game/options.rpy", 21], "config.version": ["game/options.rpy", 26], "gui.about": ["game/options.rpy", 32], "build.name": ["game/options.rpy", 40], "config.has_sound": ["game/options.rpy", 49], "config.has_music": ["game/options.rpy", 50], "config.has_voice": ["game/options.rpy", 51], "config.enter_transition": ["game/options.rpy", 76], "config.exit_transition": ["game/options.rpy", 77], "config.intra_transition": ["game/options.rpy", 82], "config.after_load_transition": ["game/options.rpy", 87], "config.end_game_transition": ["game/options.rpy", 92], "config.window": ["game/options.rpy", 109], "config.window_show_transition": ["game/options.rpy", 114], "config.window_hide_transition": ["game/options.rpy", 115], "config.save_directory": ["game/options.rpy", 146], "config.window_icon": ["game/options.rpy", 153], "h": ["game/script.rpy", 2], "s": ["game/script.rpy", 3], "ma_mec": ["game/script.rpy", 6], "zivoty": ["game/script.rpy", 7]}, "screen": {"say": ["game/screens.rpy", 98], "input": ["game/screens.rpy", 174], "choice": ["game/screens.rpy", 207], "quick_menu": ["game/screens.rpy", 1522], "navigation": ["game/screens.rpy", 290], "main_menu": ["game/screens.rpy", 353], "game_menu": ["game/screens.rpy", 418], "about": ["game/screens.rpy", 548], "save": ["game/screens.rpy", 588], "load": ["game/screens.rpy", 595], "file_slots": ["game/screens.rpy", 602], "preferences": ["game/screens.rpy", 733], "history": ["game/screens.rpy", 893], "help": ["game/screens.rpy", 981], "keyboard_help": ["game/screens.rpy", 1010], "mouse_help": ["game/screens.rpy", 1061], "gamepad_help": ["game/screens.rpy", 1084], "confirm": ["game/screens.rpy", 1149], "skip_indicator": ["game/screens.rpy", 1212], "notify": ["game/screens.rpy", 1268], "nvl": ["game/screens.rpy", 1307], "nvl_dialogue": ["game/screens.rpy", 1339], "bubble": ["game/screens.rpy", 1427]}, "transform": {"delayed_blink": ["game/screens.rpy", 1230], "notify_appear": ["game/screens.rpy", 1279]}, "callable": {"touch": ["game/gui.rpy", 424], "small": ["game/gui.rpy", 431]}}, "build": {"directory_name": "renpy_example_01-1.0", "executable_name": "renpy_example_01", "include_update": false, "packages": [{"name": "gameonly", "formats": ["null"], "file_lists": ["all"], "description": "Game-Only Update for Mobile", "update": true, "dlc": false, "hidden": true}, {"name": "pc", "formats": ["zip"], "file_lists": ["windows", "linux", "renpy", "all"], "description": "PC: Windows and Linux", "update": true, "dlc": false, "hidden": false}, {"name": "linux", "formats": ["tar.bz2"], "file_lists": ["linux", "linux_arm", "renpy", "all"], "description": "Linux", "update": true, "dlc": false, "hidden": false}, {"name": "mac", "formats": ["app-zip", "app-dmg"], "file_lists": ["mac", "renpy", "all"], "description": "Macintosh", "update": true, "dlc": false, "hidden": false}, {"name": "win", "formats": ["zip"], "file_lists": ["windows", "renpy", "all"], "description": "Windows", "update": true, "dlc": false, "hidden": false}, {"name": "market", "formats": ["bare-zip"], "file_lists": ["windows", "linux", "mac", "renpy", "all"], "description": "Windows, Mac, Linux for Markets", "update": true, "dlc": false, "hidden": false}, {"name": "steam", "formats": ["zip"], "file_lists": ["windows", "linux", "mac", "renpy", "all"], "description": "steam", "update": true, "dlc": false, "hidden": true}, {"name": "android", "formats": ["directory"], "file_lists": ["android", "all"], "description": "android", "update": false, "dlc": true, "hidden": true}, {"name": "ios", "formats": ["directory"], "file_lists": ["ios", "all"], "description": "ios", "update": false, "dlc": true, "hidden": true}, {"name": "web", "formats": ["zip"], "file_lists": ["web", "renpy", "all"], "description": "web", "update": false, "dlc": true, "hidden": true}], "archives": [["archive", ["all"]]], "documentation_patterns": ["*.html", "*.txt"], "base_patterns": [["*.py", null], ["*.sh", null], ["*.app/", null], ["*.dll", null], ["*.manifest", null], ["*.keystore", null], ["**.rpe.py", null], ["update.pem", null], ["lib/", null], ["renpy/", null], ["update/", null], ["common/", null], ["update/", null], ["old-game/", null], ["base/", null], ["icon.ico", null], ["icon.icns", null], ["project.json", null], ["log.txt", null], ["errors.txt", null], ["traceback.txt", null], ["image_cache.txt", null], ["text_overflow.txt", null], ["dialogue.txt", null], ["dialogue.tab", null], ["profile_screen.txt", null], ["files.txt", null], ["memory.txt", null], ["tmp/", null], ["game/saves/", null], ["game/bytecode.rpyb", null], ["archived/", null], ["launcherinfo.py", null], ["android.txt", null], ["game/presplash*.*", ["all"]], ["android.json", ["android"]], [".android.json", ["android"]], ["android-*.png", ["android"]], ["android-*.jpg", ["android"]], ["ouya_icon.png", null], ["ios-presplash.*", ["ios"]], ["ios-launchimage.png", null], ["ios-icon.png", null], ["web-presplash.png", ["web"]], ["web-presplash.jpg", ["web"]], ["web-presplash.webp", ["web"]], ["web-icon.png", ["web"]], ["progressive_download.txt", ["web"]], ["steam_appid.txt", null], ["game/cache/bytecode-312.rpyb", ["all"]], ["game/cache/bytecode-*.rpyb", null], ["game/cache/build_info.json", null], ["game/cache/build_time.txt", null], ["**~", null], ["**.bak", null], ["**/.**", null], ["**/#**", null], ["**/thumbs.db", null], [".*", null], ["**/desktop.ini", null], ["**/Thumbs.db", null], ["**/ehthumbs.db", null], ["**/ehthumbs_vista.db", null], ["**/$RECYCLE.BIN", null], ["**", ["all"]]], "renpy_patterns": [["renpy/common/_compat/**", null], ["renpy/common/_roundrect/**", null], ["renpy/common/_outline/**", null], ["renpy/common/_theme**", null], ["renpy/**__pycache__/**.cpython-312.pyc", ["all"]], ["renpy/**__pycache__", ["all"]], ["**~", null], ["**/#*", null], ["**/.*", null], ["**.old", null], ["**.new", null], ["**.rpa", null], ["**.rpe", null], ["**.rpe.py", null], ["**/steam_appid.txt", null], ["renpy.py", ["all"]], ["renpy/", ["all"]], ["renpy/**.py", ["renpy"]], ["renpy/**.pxd", null], ["renpy/**.pxi", null], ["renpy/**.pyx", null], ["renpy/**.pyc", null], ["renpy/**.pyo", null], ["renpy/common/", ["all"]], ["renpy/common/_compat/**", ["renpy"]], ["renpy/common/**.rpy", ["renpy"]], ["renpy/common/**.rpym", ["renpy"]], ["renpy/common/_compat/**", ["renpy"]], ["renpy/common/**", ["all"]], ["renpy/**", ["all"]], ["lib/*/renpy", null], ["lib/*/renpy.exe", null], ["lib/*/pythonw.exe", null], ["lib/py2-*/", null], ["lib/py*-windows-i686/**", ["windows_i686"]], ["lib/py*-windows-x86_64/**", ["windows"]], ["lib/py*-linux-i686/**", ["linux_i686"]], ["lib/py*-linux-aarch64/**", ["linux_arm"]], ["lib/py*-linux-armv7l/**", ["linux_arm"]], ["lib/py*-linux-*/**", ["linux"]], ["lib/py*-mac-*/**", ["mac"]], ["lib/web/**", ["web"]], ["lib/python2.*/**", null], ["lib/**", ["windows", "linux", "mac", "android", "ios"]], ["renpy.sh", ["linux", "mac"]]], "xbit_patterns": ["**.sh", "lib/py*-linux-*/*", "lib/py*-mac-*/*", "**.app/Contents/MacOS/*"], "version": "1.0", "display_name": "renpy_example_01", "exclude_empty_directories": true, "allow_integrated_gpu": true, "renpy": false, "script_version": true, "destination": "renpy_example_01-1.0-dists", "itch_channels": {"*-all.zip": "win-osx-linux", "*-market.zip": "win-osx-linux", "*-pc.zip": "win-linux", "*-win.zip": "win", "*-mac.zip": "osx", "*-linux.tar.bz2": "linux", "*-release.apk": "android"}, "mac_info_plist": {}, "merge": [["linux_i686", "linux"], ["windows_i686", "windows"]], "include_i686": true, "change_icon_i686": true, "android_permissions": [], "_sdk_fonts": false, "update_formats": ["rpu"], "info": {"info": {}, "time": 1780318068.48273, "name": "renpy_example_01", "version": "1.0"}}, "test": {"has_default_testcase": false}} \ No newline at end of file diff --git a/renpy/renpy_example_02/game/saves/persistent b/renpy/renpy_example_02/game/saves/persistent new file mode 100644 index 0000000..3f0c3c9 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/persistent differ diff --git a/renpy/renpy_example_02/game/saves/sync/_tracesave-1-LT1.save b/renpy/renpy_example_02/game/saves/sync/_tracesave-1-LT1.save new file mode 100644 index 0000000..1cf88c3 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/_tracesave-1-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/_tracesave-2-LT1.save b/renpy/renpy_example_02/game/saves/sync/_tracesave-2-LT1.save new file mode 100644 index 0000000..3e89bef Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/_tracesave-2-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/auto-1-LT1.save b/renpy/renpy_example_02/game/saves/sync/auto-1-LT1.save new file mode 100644 index 0000000..66e1d35 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/auto-1-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/auto-2-LT1.save b/renpy/renpy_example_02/game/saves/sync/auto-2-LT1.save new file mode 100644 index 0000000..b005408 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/auto-2-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/auto-3-LT1.save b/renpy/renpy_example_02/game/saves/sync/auto-3-LT1.save new file mode 100644 index 0000000..226bfb9 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/auto-3-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/auto-4-LT1.save b/renpy/renpy_example_02/game/saves/sync/auto-4-LT1.save new file mode 100644 index 0000000..886984f Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/auto-4-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/auto-5-LT1.save b/renpy/renpy_example_02/game/saves/sync/auto-5-LT1.save new file mode 100644 index 0000000..45b5d15 Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/auto-5-LT1.save differ diff --git a/renpy/renpy_example_02/game/saves/sync/persistent b/renpy/renpy_example_02/game/saves/sync/persistent new file mode 100644 index 0000000..42c348a Binary files /dev/null and b/renpy/renpy_example_02/game/saves/sync/persistent differ diff --git a/renpy/renpy_example_02/game/screens.rpyc b/renpy/renpy_example_02/game/screens.rpyc new file mode 100644 index 0000000..d5d30f9 Binary files /dev/null and b/renpy/renpy_example_02/game/screens.rpyc differ diff --git a/renpy/renpy_example_02/game/script.rpyc b/renpy/renpy_example_02/game/script.rpyc new file mode 100644 index 0000000..77dc5ea Binary files /dev/null and b/renpy/renpy_example_02/game/script.rpyc differ diff --git a/renpy/renpy_example_02/game/tl/None/common.rpymc b/renpy/renpy_example_02/game/tl/None/common.rpymc new file mode 100644 index 0000000..22dea04 Binary files /dev/null and b/renpy/renpy_example_02/game/tl/None/common.rpymc differ diff --git a/renpy/renpy_example_02/log.txt b/renpy/renpy_example_02/log.txt new file mode 100644 index 0000000..ce15f21 --- /dev/null +++ b/renpy/renpy_example_02/log.txt @@ -0,0 +1,45 @@ +2026-06-01 12:47:48 UTC +Windows-11-10.0.22631-SP0 +Ren'Py 8.5.3.26051504 + +Early init took 62 ms +Loading error handling took 24 ms +Loading script took 114 ms +Loading save slot metadata took 24 ms +Loading persistent took 0 ms +Running init code took 47 ms +Loading analysis data took 3 ms +Analyze and compile ATL took 1 ms +Reloading save slot metadata took 6 ms +Dump and make backups took 48 ms +Cleaning cache took 0 ms +Making clean stores took 0 ms +Initial gc took 42 ms +DPI scale factor: 1.000000 +nvdrs: Loaded, about to disable thread optimizations. +nvdrs: b"Couldn't load nvlib." (can be ignored) +Creating interface object took 5 ms +Init translation took 0 ms +Cleaning stores took 0 ms +Load screen analysis took 17 ms +Analyze screens took 2 ms +Save screen analysis took 0 ms +Save pyanalysis took 0 ms +Save bytecode took 0 ms +Running _start took 1 ms +Interface start took 266 ms + +Initializing gl2 renderer: +primary display bounds: (0, 0, 1920, 1080) +swap interval: 1 frames +Windowed mode. +Vendor: 'ATI Technologies Inc.' +Renderer: 'AMD Radeon(TM) Graphics' +Version: '4.6.0 Compatibility Profile Context 26.1.1.251211' +Display Info: +Screen sizes: virtual=(1280, 720) physical=(1280, 720) drawable=(1280, 720) +Maximum texture size: 4096x4096 +Cleaning stores took 0 ms +Load screen analysis took 15 ms +Analyze screens took 0 ms +Running _start took 1 ms diff --git a/renpy/renpy_example_02/traceback.txt b/renpy/renpy_example_02/traceback.txt new file mode 100644 index 0000000..a004b0d --- /dev/null +++ b/renpy/renpy_example_02/traceback.txt @@ -0,0 +1,70 @@ +I'm sorry, but an uncaught exception occurred. + +While running game code: + File "game/script.rpy", line 54, in script + "Pokračuješ dál v cestě." +AttributeError: 'Layout' object has no attribute 'yesno_prompt' + +-- Full Traceback ------------------------------------------------------------ + +Traceback (most recent call last): + File "game/script.rpy", line 54, in script + "Pokračuješ dál v cestě." + File "renpy/ast.py", line 2935, in execute + Say.execute(self) + ~~~~~~~~~~~^^^^^^ + File "renpy/ast.py", line 994, in execute + renpy.exports.say(who, what, *args, **kwargs) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/exports/sayexports.py", line 129, in say + who(what, *args, **kwargs) + ~~~^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 1565, in __call__ + self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 1220, in do_display + display_say(who, what, self.do_show, **display_args) + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 902, in display_say + rv = renpy.ui.interact(mouse="say", type=type, roll_forward=roll_forward) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/ui.py", line 306, in interact + rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/display/core.py", line 2163, in interact + repeat, rv = self.interact_core( + ~~~~~~~~~~~~~~~~~~^ + preloads=preloads, + ^^^^^^^^^^^^^^^^^^ + ...<4 lines>... + **kwargs, + ^^^^^^^^^ + ) + ^ + File "renpy/display/core.py", line 3096, in interact_core + self.quit_event() + ~~~~~~~~~~~~~~~^^ + File "renpy/display/core.py", line 1716, in quit_event + renpy.display.behavior.run(renpy.config.quit_action) + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/display/behavior.py", line 411, in run + return action(*args, **kwargs) + ~~~~~~^^^^^^^^^^^^^^^^^ + File "renpy/common/00action_menu.rpy", line 271, in __call__ + layout.yesno_screen(layout.QUIT, Quit(False)) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/common/00layout.rpy", line 517, in yesno_screen + elif renpy.invoke_in_new_context(layout.invoke_yesno_prompt, None, message): + ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/game.py", line 285, in invoke_in_new_context + return callable(*args, **kwargs) + ~~~~~~~~^^^^^^^^^^^^^^^^^ + File "renpy/common/00layout.rpy", line 472, in invoke_yesno_prompt + rv = layout.yesno_prompt(*args) + ^^^^^^^^^^^^^^^^^^^ +AttributeError: 'Layout' object has no attribute 'yesno_prompt' + +Windows-11-10.0.22631-SP0 AMD64 +Ren'Py 8.5.3.26051504 + +Mon Jun 1 14:25:11 2026 diff --git a/renpy/renpy_example_03/game/cache/bytecode-312.rpyb b/renpy/renpy_example_03/game/cache/bytecode-312.rpyb new file mode 100644 index 0000000..7b605dc Binary files /dev/null and b/renpy/renpy_example_03/game/cache/bytecode-312.rpyb differ diff --git a/renpy/renpy_example_03/game/cache/py3analysis.rpyb b/renpy/renpy_example_03/game/cache/py3analysis.rpyb new file mode 100644 index 0000000..c4db359 Binary files /dev/null and b/renpy/renpy_example_03/game/cache/py3analysis.rpyb differ diff --git a/renpy/renpy_example_03/game/cache/screens.rpyb b/renpy/renpy_example_03/game/cache/screens.rpyb new file mode 100644 index 0000000..7626402 Binary files /dev/null and b/renpy/renpy_example_03/game/cache/screens.rpyb differ diff --git a/renpy/renpy_example_03/game/cache/shaders.txt b/renpy/renpy_example_03/game/cache/shaders.txt new file mode 100644 index 0000000..fffdc15 --- /dev/null +++ b/renpy/renpy_example_03/game/cache/shaders.txt @@ -0,0 +1,9 @@ +renpy.dissolve renpy.dissolve +renpy.alpha renpy.solid +renpy.geometry renpy.texture +renpy.ftl +renpy.texture +renpy.geometry renpy.solid +renpy.alpha renpy.geometry renpy.solid +renpy.dissolve renpy.geometry +renpy.solid diff --git a/renpy/renpy_example_03/game/gui.rpyc b/renpy/renpy_example_03/game/gui.rpyc new file mode 100644 index 0000000..4155432 Binary files /dev/null and b/renpy/renpy_example_03/game/gui.rpyc differ diff --git a/renpy/renpy_example_03/game/options.rpyc b/renpy/renpy_example_03/game/options.rpyc new file mode 100644 index 0000000..a005321 Binary files /dev/null and b/renpy/renpy_example_03/game/options.rpyc differ diff --git a/renpy/renpy_example_03/game/saves/_tracesave-1-LT1.save b/renpy/renpy_example_03/game/saves/_tracesave-1-LT1.save new file mode 100644 index 0000000..3c08a30 Binary files /dev/null and b/renpy/renpy_example_03/game/saves/_tracesave-1-LT1.save differ diff --git a/renpy/renpy_example_03/game/saves/auto-1-LT1.save b/renpy/renpy_example_03/game/saves/auto-1-LT1.save new file mode 100644 index 0000000..6004fdc Binary files /dev/null and b/renpy/renpy_example_03/game/saves/auto-1-LT1.save differ diff --git a/renpy/renpy_example_03/game/saves/navigation.json b/renpy/renpy_example_03/game/saves/navigation.json new file mode 100644 index 0000000..9d101e1 --- /dev/null +++ b/renpy/renpy_example_03/game/saves/navigation.json @@ -0,0 +1 @@ +{"error": false, "size": [1280, 720], "name": "renpy_example_03", "version": "1.0", "location": {"label": {}, "define": {"config.check_conflicting_properties": ["game/gui.rpy", 15], "gui.accent_color": ["game/gui.rpy", 28], "gui.idle_color": ["game/gui.rpy", 31], "gui.idle_small_color": ["game/gui.rpy", 35], "gui.hover_color": ["game/gui.rpy", 38], "gui.selected_color": ["game/gui.rpy", 42], "gui.insensitive_color": ["game/gui.rpy", 45], "gui.muted_color": ["game/gui.rpy", 49], "gui.hover_muted_color": ["game/gui.rpy", 50], "gui.text_color": ["game/gui.rpy", 53], "gui.interface_text_color": ["game/gui.rpy", 54], "gui.text_font": ["game/gui.rpy", 60], "gui.name_text_font": ["game/gui.rpy", 63], "gui.interface_text_font": ["game/gui.rpy", 66], "gui.text_size": ["game/gui.rpy", 69], "gui.name_text_size": ["game/gui.rpy", 72], "gui.interface_text_size": ["game/gui.rpy", 75], "gui.label_text_size": ["game/gui.rpy", 78], "gui.notify_text_size": ["game/gui.rpy", 81], "gui.title_text_size": ["game/gui.rpy", 84], "gui.main_menu_background": ["game/gui.rpy", 90], "gui.game_menu_background": ["game/gui.rpy", 91], "gui.textbox_height": ["game/gui.rpy", 100], "gui.textbox_yalign": ["game/gui.rpy", 104], "gui.name_xpos": ["game/gui.rpy", 109], "gui.name_ypos": ["game/gui.rpy", 110], "gui.name_xalign": ["game/gui.rpy", 114], "gui.namebox_width": ["game/gui.rpy", 118], "gui.namebox_height": ["game/gui.rpy", 119], "gui.namebox_borders": ["game/gui.rpy", 123], "gui.namebox_tile": ["game/gui.rpy", 127], "gui.dialogue_xpos": ["game/gui.rpy", 133], "gui.dialogue_ypos": ["game/gui.rpy", 134], "gui.dialogue_width": ["game/gui.rpy", 137], "gui.dialogue_text_xalign": ["game/gui.rpy", 141], "gui.button_width": ["game/gui.rpy", 150], "gui.button_height": ["game/gui.rpy", 151], "gui.button_borders": ["game/gui.rpy", 154], "gui.button_tile": ["game/gui.rpy", 158], "gui.button_text_font": ["game/gui.rpy", 161], "gui.button_text_size": ["game/gui.rpy", 164], "gui.button_text_idle_color": ["game/gui.rpy", 167], "gui.button_text_hover_color": ["game/gui.rpy", 168], "gui.button_text_selected_color": ["game/gui.rpy", 169], "gui.button_text_insensitive_color": ["game/gui.rpy", 170], "gui.button_text_xalign": ["game/gui.rpy", 174], "gui.radio_button_borders": ["game/gui.rpy", 183], "gui.check_button_borders": ["game/gui.rpy", 185], "gui.confirm_button_text_xalign": ["game/gui.rpy", 187], "gui.page_button_borders": ["game/gui.rpy", 189], "gui.quick_button_borders": ["game/gui.rpy", 191], "gui.quick_button_text_size": ["game/gui.rpy", 192], "gui.quick_button_text_idle_color": ["game/gui.rpy", 193], "gui.quick_button_text_selected_color": ["game/gui.rpy", 194], "gui.choice_button_width": ["game/gui.rpy", 207], "gui.choice_button_height": ["game/gui.rpy", 208], "gui.choice_button_tile": ["game/gui.rpy", 209], "gui.choice_button_borders": ["game/gui.rpy", 210], "gui.choice_button_text_font": ["game/gui.rpy", 211], "gui.choice_button_text_size": ["game/gui.rpy", 212], "gui.choice_button_text_xalign": ["game/gui.rpy", 213], "gui.choice_button_text_idle_color": ["game/gui.rpy", 214], "gui.choice_button_text_hover_color": ["game/gui.rpy", 215], "gui.choice_button_text_insensitive_color": ["game/gui.rpy", 216], "gui.slot_button_width": ["game/gui.rpy", 226], "gui.slot_button_height": ["game/gui.rpy", 227], "gui.slot_button_borders": ["game/gui.rpy", 228], "gui.slot_button_text_size": ["game/gui.rpy", 229], "gui.slot_button_text_xalign": ["game/gui.rpy", 230], "gui.slot_button_text_idle_color": ["game/gui.rpy", 231], "gui.slot_button_text_selected_idle_color": ["game/gui.rpy", 232], "gui.slot_button_text_selected_hover_color": ["game/gui.rpy", 233], "config.thumbnail_width": ["game/gui.rpy", 236], "config.thumbnail_height": ["game/gui.rpy", 237], "gui.file_slot_cols": ["game/gui.rpy", 240], "gui.file_slot_rows": ["game/gui.rpy", 241], "gui.navigation_xpos": ["game/gui.rpy", 251], "gui.skip_ypos": ["game/gui.rpy", 254], "gui.notify_ypos": ["game/gui.rpy", 257], "gui.choice_spacing": ["game/gui.rpy", 260], "gui.navigation_spacing": ["game/gui.rpy", 263], "gui.pref_spacing": ["game/gui.rpy", 266], "gui.pref_button_spacing": ["game/gui.rpy", 269], "gui.page_spacing": ["game/gui.rpy", 272], "gui.slot_spacing": ["game/gui.rpy", 275], "gui.main_menu_text_xalign": ["game/gui.rpy", 278], "gui.frame_borders": ["game/gui.rpy", 287], "gui.confirm_frame_borders": ["game/gui.rpy", 290], "gui.skip_frame_borders": ["game/gui.rpy", 293], "gui.notify_frame_borders": ["game/gui.rpy", 296], "gui.frame_tile": ["game/gui.rpy", 299], "gui.bar_size": ["game/gui.rpy", 311], "gui.scrollbar_size": ["game/gui.rpy", 312], "gui.slider_size": ["game/gui.rpy", 313], "gui.bar_tile": ["game/gui.rpy", 316], "gui.scrollbar_tile": ["game/gui.rpy", 317], "gui.slider_tile": ["game/gui.rpy", 318], "gui.bar_borders": ["game/gui.rpy", 321], "gui.scrollbar_borders": ["game/gui.rpy", 322], "gui.slider_borders": ["game/gui.rpy", 323], "gui.vbar_borders": ["game/gui.rpy", 326], "gui.vscrollbar_borders": ["game/gui.rpy", 327], "gui.vslider_borders": ["game/gui.rpy", 328], "gui.unscrollable": ["game/gui.rpy", 332], "config.history_length": ["game/gui.rpy", 340], "gui.history_height": ["game/gui.rpy", 344], "gui.history_spacing": ["game/gui.rpy", 347], "gui.history_name_xpos": ["game/gui.rpy", 351], "gui.history_name_ypos": ["game/gui.rpy", 352], "gui.history_name_width": ["game/gui.rpy", 353], "gui.history_name_xalign": ["game/gui.rpy", 354], "gui.history_text_xpos": ["game/gui.rpy", 357], "gui.history_text_ypos": ["game/gui.rpy", 358], "gui.history_text_width": ["game/gui.rpy", 359], "gui.history_text_xalign": ["game/gui.rpy", 360], "gui.nvl_borders": ["game/gui.rpy", 368], "gui.nvl_list_length": ["game/gui.rpy", 372], "gui.nvl_height": ["game/gui.rpy", 376], "gui.nvl_spacing": ["game/gui.rpy", 380], "gui.nvl_name_xpos": ["game/gui.rpy", 384], "gui.nvl_name_ypos": ["game/gui.rpy", 385], "gui.nvl_name_width": ["game/gui.rpy", 386], "gui.nvl_name_xalign": ["game/gui.rpy", 387], "gui.nvl_text_xpos": ["game/gui.rpy", 390], "gui.nvl_text_ypos": ["game/gui.rpy", 391], "gui.nvl_text_width": ["game/gui.rpy", 392], "gui.nvl_text_xalign": ["game/gui.rpy", 393], "gui.nvl_thought_xpos": ["game/gui.rpy", 397], "gui.nvl_thought_ypos": ["game/gui.rpy", 398], "gui.nvl_thought_width": ["game/gui.rpy", 399], "gui.nvl_thought_xalign": ["game/gui.rpy", 400], "gui.nvl_button_xpos": ["game/gui.rpy", 403], "gui.nvl_button_xalign": ["game/gui.rpy", 404], "gui.language": ["game/gui.rpy", 413], "quick_menu": ["game/screens.rpy", 264], "gui.history_allow_tags": ["game/screens.rpy", 933], "config.nvl_list_length": ["game/screens.rpy", 1360], "bubble.frame": ["game/screens.rpy", 1473], "bubble.thoughtframe": ["game/screens.rpy", 1474], "bubble.properties": ["game/screens.rpy", 1476], "bubble.expand_area": ["game/screens.rpy", 1502], "config.name": ["game/options.rpy", 15], "gui.show_name": ["game/options.rpy", 21], "config.version": ["game/options.rpy", 26], "gui.about": ["game/options.rpy", 32], "build.name": ["game/options.rpy", 40], "config.has_sound": ["game/options.rpy", 49], "config.has_music": ["game/options.rpy", 50], "config.has_voice": ["game/options.rpy", 51], "config.enter_transition": ["game/options.rpy", 76], "config.exit_transition": ["game/options.rpy", 77], "config.intra_transition": ["game/options.rpy", 82], "config.after_load_transition": ["game/options.rpy", 87], "config.end_game_transition": ["game/options.rpy", 92], "config.window": ["game/options.rpy", 109], "config.window_show_transition": ["game/options.rpy", 114], "config.window_hide_transition": ["game/options.rpy", 115], "config.save_directory": ["game/options.rpy", 146], "config.window_icon": ["game/options.rpy", 153], "p": ["game/script.rpy", 2], "hrac_skore": ["game/script.rpy", 31]}, "screen": {"say": ["game/screens.rpy", 98], "input": ["game/screens.rpy", 174], "choice": ["game/screens.rpy", 207], "quick_menu": ["game/screens.rpy", 1522], "navigation": ["game/screens.rpy", 290], "main_menu": ["game/screens.rpy", 353], "game_menu": ["game/screens.rpy", 418], "about": ["game/screens.rpy", 548], "save": ["game/screens.rpy", 588], "load": ["game/screens.rpy", 595], "file_slots": ["game/screens.rpy", 602], "preferences": ["game/screens.rpy", 733], "history": ["game/screens.rpy", 893], "help": ["game/screens.rpy", 981], "keyboard_help": ["game/screens.rpy", 1010], "mouse_help": ["game/screens.rpy", 1061], "gamepad_help": ["game/screens.rpy", 1084], "confirm": ["game/screens.rpy", 1149], "skip_indicator": ["game/screens.rpy", 1212], "notify": ["game/screens.rpy", 1268], "nvl": ["game/screens.rpy", 1307], "nvl_dialogue": ["game/screens.rpy", 1339], "bubble": ["game/screens.rpy", 1427], "ukazatel_skore": ["game/script.rpy", 21]}, "transform": {"delayed_blink": ["game/screens.rpy", 1230], "notify_appear": ["game/screens.rpy", 1279], "pohyb_a_zmizeni": ["game/script.rpy", 6], "skakani": ["game/script.rpy", 12]}, "callable": {"touch": ["game/gui.rpy", 424], "small": ["game/gui.rpy", 431]}}, "build": {"directory_name": "renpy_example_03-1.0", "executable_name": "renpy_example_03", "include_update": false, "packages": [{"name": "gameonly", "formats": ["null"], "file_lists": ["all"], "description": "Game-Only Update for Mobile", "update": true, "dlc": false, "hidden": true}, {"name": "pc", "formats": ["zip"], "file_lists": ["windows", "linux", "renpy", "all"], "description": "PC: Windows and Linux", "update": true, "dlc": false, "hidden": false}, {"name": "linux", "formats": ["tar.bz2"], "file_lists": ["linux", "linux_arm", "renpy", "all"], "description": "Linux", "update": true, "dlc": false, "hidden": false}, {"name": "mac", "formats": ["app-zip", "app-dmg"], "file_lists": ["mac", "renpy", "all"], "description": "Macintosh", "update": true, "dlc": false, "hidden": false}, {"name": "win", "formats": ["zip"], "file_lists": ["windows", "renpy", "all"], "description": "Windows", "update": true, "dlc": false, "hidden": false}, {"name": "market", "formats": ["bare-zip"], "file_lists": ["windows", "linux", "mac", "renpy", "all"], "description": "Windows, Mac, Linux for Markets", "update": true, "dlc": false, "hidden": false}, {"name": "steam", "formats": ["zip"], "file_lists": ["windows", "linux", "mac", "renpy", "all"], "description": "steam", "update": true, "dlc": false, "hidden": true}, {"name": "android", "formats": ["directory"], "file_lists": ["android", "all"], "description": "android", "update": false, "dlc": true, "hidden": true}, {"name": "ios", "formats": ["directory"], "file_lists": ["ios", "all"], "description": "ios", "update": false, "dlc": true, "hidden": true}, {"name": "web", "formats": ["zip"], "file_lists": ["web", "renpy", "all"], "description": "web", "update": false, "dlc": true, "hidden": true}], "archives": [["archive", ["all"]]], "documentation_patterns": ["*.html", "*.txt"], "base_patterns": [["*.py", null], ["*.sh", null], ["*.app/", null], ["*.dll", null], ["*.manifest", null], ["*.keystore", null], ["**.rpe.py", null], ["update.pem", null], ["lib/", null], ["renpy/", null], ["update/", null], ["common/", null], ["update/", null], ["old-game/", null], ["base/", null], ["icon.ico", null], ["icon.icns", null], ["project.json", null], ["log.txt", null], ["errors.txt", null], ["traceback.txt", null], ["image_cache.txt", null], ["text_overflow.txt", null], ["dialogue.txt", null], ["dialogue.tab", null], ["profile_screen.txt", null], ["files.txt", null], ["memory.txt", null], ["tmp/", null], ["game/saves/", null], ["game/bytecode.rpyb", null], ["archived/", null], ["launcherinfo.py", null], ["android.txt", null], ["game/presplash*.*", ["all"]], ["android.json", ["android"]], [".android.json", ["android"]], ["android-*.png", ["android"]], ["android-*.jpg", ["android"]], ["ouya_icon.png", null], ["ios-presplash.*", ["ios"]], ["ios-launchimage.png", null], ["ios-icon.png", null], ["web-presplash.png", ["web"]], ["web-presplash.jpg", ["web"]], ["web-presplash.webp", ["web"]], ["web-icon.png", ["web"]], ["progressive_download.txt", ["web"]], ["steam_appid.txt", null], ["game/cache/bytecode-312.rpyb", ["all"]], ["game/cache/bytecode-*.rpyb", null], ["game/cache/build_info.json", null], ["game/cache/build_time.txt", null], ["**~", null], ["**.bak", null], ["**/.**", null], ["**/#**", null], ["**/thumbs.db", null], [".*", null], ["**/desktop.ini", null], ["**/Thumbs.db", null], ["**/ehthumbs.db", null], ["**/ehthumbs_vista.db", null], ["**/$RECYCLE.BIN", null], ["**", ["all"]]], "renpy_patterns": [["renpy/common/_compat/**", null], ["renpy/common/_roundrect/**", null], ["renpy/common/_outline/**", null], ["renpy/common/_theme**", null], ["renpy/**__pycache__/**.cpython-312.pyc", ["all"]], ["renpy/**__pycache__", ["all"]], ["**~", null], ["**/#*", null], ["**/.*", null], ["**.old", null], ["**.new", null], ["**.rpa", null], ["**.rpe", null], ["**.rpe.py", null], ["**/steam_appid.txt", null], ["renpy.py", ["all"]], ["renpy/", ["all"]], ["renpy/**.py", ["renpy"]], ["renpy/**.pxd", null], ["renpy/**.pxi", null], ["renpy/**.pyx", null], ["renpy/**.pyc", null], ["renpy/**.pyo", null], ["renpy/common/", ["all"]], ["renpy/common/_compat/**", ["renpy"]], ["renpy/common/**.rpy", ["renpy"]], ["renpy/common/**.rpym", ["renpy"]], ["renpy/common/_compat/**", ["renpy"]], ["renpy/common/**", ["all"]], ["renpy/**", ["all"]], ["lib/*/renpy", null], ["lib/*/renpy.exe", null], ["lib/*/pythonw.exe", null], ["lib/py2-*/", null], ["lib/py*-windows-i686/**", ["windows_i686"]], ["lib/py*-windows-x86_64/**", ["windows"]], ["lib/py*-linux-i686/**", ["linux_i686"]], ["lib/py*-linux-aarch64/**", ["linux_arm"]], ["lib/py*-linux-armv7l/**", ["linux_arm"]], ["lib/py*-linux-*/**", ["linux"]], ["lib/py*-mac-*/**", ["mac"]], ["lib/web/**", ["web"]], ["lib/python2.*/**", null], ["lib/**", ["windows", "linux", "mac", "android", "ios"]], ["renpy.sh", ["linux", "mac"]]], "xbit_patterns": ["**.sh", "lib/py*-linux-*/*", "lib/py*-mac-*/*", "**.app/Contents/MacOS/*"], "version": "1.0", "display_name": "renpy_example_03", "exclude_empty_directories": true, "allow_integrated_gpu": true, "renpy": false, "script_version": true, "destination": "renpy_example_03-1.0-dists", "itch_channels": {"*-all.zip": "win-osx-linux", "*-market.zip": "win-osx-linux", "*-pc.zip": "win-linux", "*-win.zip": "win", "*-mac.zip": "osx", "*-linux.tar.bz2": "linux", "*-release.apk": "android"}, "mac_info_plist": {}, "merge": [["linux_i686", "linux"], ["windows_i686", "windows"]], "include_i686": true, "change_icon_i686": true, "android_permissions": [], "_sdk_fonts": false, "update_formats": ["rpu"], "info": {"info": {}, "time": 1781083984.6357315, "name": "renpy_example_03", "version": "1.0"}}, "test": {"has_default_testcase": false}} \ No newline at end of file diff --git a/renpy/renpy_example_03/game/saves/persistent b/renpy/renpy_example_03/game/saves/persistent new file mode 100644 index 0000000..111ce28 Binary files /dev/null and b/renpy/renpy_example_03/game/saves/persistent differ diff --git a/renpy/renpy_example_03/game/saves/sync/_tracesave-1-LT1.save b/renpy/renpy_example_03/game/saves/sync/_tracesave-1-LT1.save new file mode 100644 index 0000000..3c08a30 Binary files /dev/null and b/renpy/renpy_example_03/game/saves/sync/_tracesave-1-LT1.save differ diff --git a/renpy/renpy_example_03/game/saves/sync/auto-1-LT1.save b/renpy/renpy_example_03/game/saves/sync/auto-1-LT1.save new file mode 100644 index 0000000..6004fdc Binary files /dev/null and b/renpy/renpy_example_03/game/saves/sync/auto-1-LT1.save differ diff --git a/renpy/renpy_example_03/game/saves/sync/persistent b/renpy/renpy_example_03/game/saves/sync/persistent new file mode 100644 index 0000000..94c6855 Binary files /dev/null and b/renpy/renpy_example_03/game/saves/sync/persistent differ diff --git a/renpy/renpy_example_03/game/screens.rpyc b/renpy/renpy_example_03/game/screens.rpyc new file mode 100644 index 0000000..d7124cd Binary files /dev/null and b/renpy/renpy_example_03/game/screens.rpyc differ diff --git a/renpy/renpy_example_03/game/script.rpyc b/renpy/renpy_example_03/game/script.rpyc new file mode 100644 index 0000000..057c26e Binary files /dev/null and b/renpy/renpy_example_03/game/script.rpyc differ diff --git a/renpy/renpy_example_03/log.txt b/renpy/renpy_example_03/log.txt new file mode 100644 index 0000000..375de25 --- /dev/null +++ b/renpy/renpy_example_03/log.txt @@ -0,0 +1,28 @@ +2026-06-10 09:33:04 UTC +Windows-11-10.0.22631-SP0 +Ren'Py 8.5.3.26051504 + +Early init took 52 ms +Loading error handling took 22 ms +Loading script took 108 ms +Loading save slot metadata took 20 ms +Loading persistent took 0 ms +Running init code took 45 ms +Loading analysis data took 4 ms +Analyze and compile ATL took 1 ms +Reloading save slot metadata took 2 ms +Dump and make backups took 43 ms +Cleaning cache took 0 ms +Making clean stores took 1 ms +Initial gc took 42 ms +DPI scale factor: 1.000000 +nvdrs: Loaded, about to disable thread optimizations. +nvdrs: b"Couldn't load nvlib." (can be ignored) +Creating interface object took 3 ms +Init translation took 0 ms +Cleaning stores took 0 ms +Load screen analysis took 17 ms +Analyze screens took 1 ms +Save screen analysis took 0 ms +Save pyanalysis took 0 ms +Save bytecode took 0 ms diff --git a/renpy/renpy_example_03/progressive_download.txt b/renpy/renpy_example_03/progressive_download.txt new file mode 100644 index 0000000..427ae26 --- /dev/null +++ b/renpy/renpy_example_03/progressive_download.txt @@ -0,0 +1,9 @@ +# RenPyWeb progressive download rules - first match applies +# '+' = progressive download, '-' = keep in game.zip (default) +# See https://www.renpy.org/doc/html/build.html#classifying-and-ignoring-files for matching +# +# +/- type path +- image game/gui/** ++ image game/** ++ music game/audio/** ++ voice game/voice/** diff --git a/renpy/renpy_example_03/traceback.txt b/renpy/renpy_example_03/traceback.txt new file mode 100644 index 0000000..c8c97a5 --- /dev/null +++ b/renpy/renpy_example_03/traceback.txt @@ -0,0 +1,70 @@ +I'm sorry, but an uncaught exception occurred. + +While running game code: + File "game/script.rpy", line 46, in script + p "Díky Pythonu jsme ti právě náhodně přidali [nahodne_cislo] bodů!" +AttributeError: 'Layout' object has no attribute 'yesno_prompt' + +-- Full Traceback ------------------------------------------------------------ + +Traceback (most recent call last): + File "game/script.rpy", line 46, in script + p "Díky Pythonu jsme ti právě náhodně přidali [nahodne_cislo] bodů!" + File "renpy/ast.py", line 2935, in execute + Say.execute(self) + ~~~~~~~~~~~^^^^^^ + File "renpy/ast.py", line 994, in execute + renpy.exports.say(who, what, *args, **kwargs) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/exports/sayexports.py", line 129, in say + who(what, *args, **kwargs) + ~~~^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 1565, in __call__ + self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args) + ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 1220, in do_display + display_say(who, what, self.do_show, **display_args) + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/character.py", line 902, in display_say + rv = renpy.ui.interact(mouse="say", type=type, roll_forward=roll_forward) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/ui.py", line 306, in interact + rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/display/core.py", line 2163, in interact + repeat, rv = self.interact_core( + ~~~~~~~~~~~~~~~~~~^ + preloads=preloads, + ^^^^^^^^^^^^^^^^^^ + ...<4 lines>... + **kwargs, + ^^^^^^^^^ + ) + ^ + File "renpy/display/core.py", line 3096, in interact_core + self.quit_event() + ~~~~~~~~~~~~~~~^^ + File "renpy/display/core.py", line 1716, in quit_event + renpy.display.behavior.run(renpy.config.quit_action) + ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/display/behavior.py", line 411, in run + return action(*args, **kwargs) + ~~~~~~^^^^^^^^^^^^^^^^^ + File "renpy/common/00action_menu.rpy", line 271, in __call__ + layout.yesno_screen(layout.QUIT, Quit(False)) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/common/00layout.rpy", line 517, in yesno_screen + elif renpy.invoke_in_new_context(layout.invoke_yesno_prompt, None, message): + ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "renpy/game.py", line 285, in invoke_in_new_context + return callable(*args, **kwargs) + ~~~~~~~~^^^^^^^^^^^^^^^^^ + File "renpy/common/00layout.rpy", line 472, in invoke_yesno_prompt + rv = layout.yesno_prompt(*args) + ^^^^^^^^^^^^^^^^^^^ +AttributeError: 'Layout' object has no attribute 'yesno_prompt' + +Windows-11-10.0.22631-SP0 AMD64 +Ren'Py 8.5.3.26051504 + +Mon Jun 1 14:26:48 2026