Second glance,
and I'm still unsure if I'm on the right track - but it's setting off alarm bells...
I'd be happier with this answer if I could test it, but without the images, songs and fonts - it's purely a theoretical answer...
Okay...
Python:
python:
for song in day_1_song_list:
renpy.call_screen("play_song", song)
jump twenty_days_week1
renpy.call_screen()
is the equivalent of
You must be registered to see the links
... which I tend to think of as "show screen but wait for player to click on something". There could be some quirk of doing it with
renpy.call_screen()
, but I would expect track 1 to get shown and nothing to happen until the player clicked on something (or some other
action()
is triggered).
But that is compounded by the
for song in day_1_song_list:
. Since
day_1_song_list
is 5 songs, it's almost like you're trying to show 5 different screens (one for each track)... Except they would all overlap and you wouldn't see the other 4 due to the one that shown on top. I don't think that is happening due to the
call screen
forcing the player to deal with track #1 before track #2 can be processed - but it looks unintentional and deeply flawed.
Then, within your
screen play_song(song):
, you have a "Return" imagebutton.
It's
action()
is
action Call("twenty_days_weeks_menu")
. Except
You must be registered to see the links
is intended to "call" a label (not to be confused with
call screen
which behaves completely differently).
You must be registered to see the links
is intended to jump to a label, do something and then return to where it came from using a
You must be registered to see the links
statement. A list of labels that have been called is stored in something called a "call stack" and each time
call
is used, the stack gets one entry bigger (
return
reduces that stack by one). If you constantly
call
various labels without ever doing a
return
, the call stack can get so large that the game breaks. (The call stack is part of a save file, so things can so easily get out of hand).
I'm almost certain this should be an
action Jump()
or
action Return()
.
None of which fixes your original problem, but hints at a series of compounded problems that may only now becoming obvious to you.
Will continue to look later today or tomorrow, as time allows...