don't use single-underscore names
if available, use the thread-safer invoke_in_main_thread (not required when setting the global variables)
set __lock to True outside of the thread, otherwise if the thread starts late, the while loop is skipped
call get_character_object in the main thread
big work
what was reliable before is now not, in recent versions of renpy, which is why we added that new config (which I put in say.rpy, but it can be moved somewhere else)
Also fixes the game_menu's title position, incidentally
some changes are incompatible with my diary and achievement branches, respectively, they will need to be merged with a bit of manual care
make the move subpixel
remove the old unused cloud_move
separate the three clouds' moves, both the yoffset, the x speed and the x start time (with a time offset)
the "on show" wasn't working for some reason and wasn't necessary anyway
easeout was probaly mixed up with easein, in any case easein renders much better
using easein_cubic for a sharper explosion
remove two blank images (useless and slower than Null())
clarify in weather.rpy which are images directly shown on the screen and not just ingredients for the others
simplify the screen code
technically not as correct, but works all the same and is relatively faster (but it will be replaced with better actions in the future anyway)
the pickle lock, if any, for removing them in the future, becomes easier to solve
turn the show into a call screen
replace all return actions with specific local actions (WIP, more changes to come)
make the global variables at least dynamic
make the mode parameter a parameter of the label (so, a dynamic variable too, as a result)
replace the bigger actions with local labels
tweak text entries, comparisons, iterations... details