Hello,

I'm trying to update our python2 renpy 7.3.5 to the python3 renpy 8.1.1.

Why renpy 8.1.1? (8.1.3 is out):

Ideally I wanted to update to renpy 8.1.0, because the dependency
pygame_sdl2 is coming from the official repository, which only has the
version renpy 8.1.0 needs. 8.1.1 wants a newer, unreleased, pygame_sdl2.

But renpy 8.1.0 is missing libhydrogen and the build fails. Libhydrogen
got added to renpy in version 8.1.1.

Therefore I'm mixing renpy 8.1.1 with the slightly too old pygame_sdl2
8.1.0. More about that later.

Attached are two diffs:
- An update for pygame_sdl2 from 7.3.5.606 to 8.1.0.23050902 that also
  enables it for python3.
- An update for renpy from 7.3.5 to 8.1.1 + change to python3.

So far, renpy 8 is working with the example games, and one I bought from
gog.com

When renpy starts up, it spams a few pages with errors like this:

Traceback (most recent call last):
  File "/usr/local/share/renpy/renpy/script.py", line 699, in load_file
    with open(rpycfn, "wb") as f:
PermissionError: [Errno 13] Permission denied: 
'/usr/local/share/renpy/renpy/common/00action_data.rpyc'

Renpy tries to compile rpy and rpym files to rpyc and rpymc.
This doesn't work for files we install to /usr/local/.

I searched the web, and it seems that there is no commandline only
tool that can do this compilation. Only the renpy gui program and the
launcher are doing it.

This doesn't keep renpy from starting the games!

Questions I have for this port:

- Is it okay to mix pygame_sdl2 8.1.0 with renpy 8.1.1? I think we can
  go for it and fix it when the official repository provides 8.1.1.

  I diffed 
https://www.renpy.org/dl/8.1.1/pygame_sdl2-2.1.0-for-renpy-8.1.1.tar.gz
  and      
https://www.renpy.org/dl/8.1.0/pygame_sdl2-2.1.0-for-renpy-8.1.0.tar.gz

  The only difference is cython generated code. So I believe the 8.1.0
  version can be used.

- Are the startup compile errors a block for the update? I'm not sure
  about this. We'd need a compileall.py for renpy files. Are python
  hackers around?

Best Regards,
Stefan

Index: games/renpy/Makefile
===================================================================
RCS file: /cvs/ports/games/renpy/Makefile,v
diff -u -p -u -p -r1.21 Makefile
--- games/renpy/Makefile        26 Sep 2023 09:41:40 -0000      1.21
+++ games/renpy/Makefile        29 Oct 2023 18:34:44 -0000
@@ -1,10 +1,9 @@
 COMMENT =              visual novel engine
 
-V =                    7.3.5
-MODPY_EGG_VERSION =    ${V}.606
+V =                    8.1.1
+MODPY_EGG_VERSION =    ${V}
 DISTNAME =             renpy-${V}-source
 PKGNAME =              renpy-${V}
-REVISION =             1
 
 CATEGORIES =           games
 
@@ -16,21 +15,26 @@ PERMIT_PACKAGE =            Yes
 WANTLIB += GLEW SDL2 avcodec avformat avutil freetype
 WANTLIB += m png pthread swresample swscale z ${MODPY_WANTLIB}
 
-SITES =                        https://www.renpy.org/dl/${V}/
+SITES =                        ${HOMEPAGE}/dl/${V}/
 EXTRACT_SUFX =         .tar.bz2
 
 MODULES =              lang/python
-MODPY_VERSION =        ${MODPY_DEFAULT_VERSION_2}
 
-BUILD_DEPENDS =                devel/pygame \
+BUILD_DEPENDS =                devel/py-future${MODPY_FLAVOR} \
+                       devel/pygame \
                        games/pygame_sdl2 \
-                       lang/cython,python3
+                       games/pygame_sdl2${MODPY_FLAVOR} \
+                       lang/cython${MODPY_FLAVOR}
 
-RUN_DEPENDS =          games/pygame_sdl2
+RUN_DEPENDS =          games/pygame_sdl2${MODPY_FLAVOR} \
+                       security/py-ecdsa${MODPY_FLAVOR} \
+                       security/py-pefile${MODPY_FLAVOR}
 
 # XXX enable fribidi support
-LIB_DEPENDS =          graphics/ffmpeg \
-                       graphics/glew
+LIB_DEPENDS =          graphics/glew \
+                       graphics/ffmpeg
+
+MODPY_PYBUILD =                setuptools
 
 MAKE_ENV =             RENPY_DEPS_INSTALL=/usr::${LOCALBASE}::${X11BASE}
 
@@ -40,16 +44,17 @@ NO_TEST =           Yes
 
 WRKSRC =               ${WRKDIST}/module
 
-# XXX not needed in newer releases
-MODPY_ADJ_FILES =      ../renpy.py
-
 pre-install:
-       ${INSTALL_DATA_DIR} ${PREFIX}/share/renpy
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/renpy/
+       cd ${WRKDIST} && \
+       cp sdk-fonts/SourceHanSansLite.ttf launcher/game/fonts/
        cd ${WRKDIST} && \
        cp -r launcher renpy the_question tutorial LICENSE.txt \
                ${PREFIX}/share/renpy
        ${INSTALL_SCRIPT} ${WRKDIST}/renpy.py ${PREFIX}/share/renpy
        ${SUBST_PROGRAM} ${FILESDIR}/renpy ${PREFIX}/bin/renpy
        ${SUBST_PROGRAM} ${FILESDIR}/renpyify ${PREFIX}/bin/renpyify
+       ${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py \
+               ${PREFIX}/share/renpy
 
 .include <bsd.port.mk>
Index: games/renpy/distinfo
===================================================================
RCS file: /cvs/ports/games/renpy/distinfo,v
diff -u -p -u -p -r1.4 distinfo
--- games/renpy/distinfo        12 Mar 2020 17:47:08 -0000      1.4
+++ games/renpy/distinfo        29 Oct 2023 18:34:44 -0000
@@ -1,2 +1,2 @@
-SHA256 (renpy-7.3.5-source.tar.bz2) = 
hNf0a1S5IEv0cs1TMgE4D/LIZpt5Z7LJjEuvvRwr2ao=
-SIZE (renpy-7.3.5-source.tar.bz2) = 68211972
+SHA256 (renpy-8.1.1-source.tar.bz2) = 
u8J87wvPkgLleb6giELrV9sfs5wGD6NBbhYDJJHmR6U=
+SIZE (renpy-8.1.1-source.tar.bz2) = 69222191
Index: games/renpy/files/renpyify
===================================================================
RCS file: /cvs/ports/games/renpy/files/renpyify,v
diff -u -p -u -p -r1.1 renpyify
--- games/renpy/files/renpyify  12 Mar 2020 17:47:08 -0000      1.1
+++ games/renpy/files/renpyify  29 Oct 2023 18:34:44 -0000
@@ -21,4 +21,4 @@ mv renpy renpy-orig
 cp -R ${TRUEPREFIX}/share/renpy/renpy renpy
 
 echo " done!"
-printf "Run \"python2 $pyname\" to play.\n"
+printf "Run \"python3 $pyname\" to play.\n"
Index: games/renpy/pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/renpy/pkg/PLIST,v
diff -u -p -u -p -r1.7 PLIST
--- games/renpy/pkg/PLIST       11 Mar 2022 19:04:52 -0000      1.7
+++ games/renpy/pkg/PLIST       29 Oct 2023 18:34:45 -0000
@@ -1,68 +1,88 @@
 bin/renpy
 bin/renpyify
-lib/python${MODPY_VERSION}/site-packages/Ren_Py-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
-@so lib/python${MODPY_VERSION}/site-packages/_renpy.so
-@so lib/python${MODPY_VERSION}/site-packages/_renpybidi.so
+lib/python${MODPY_VERSION}/site-packages/Ren_Py-8.1.1.23060707+unofficial.dist-info/
+lib/python${MODPY_VERSION}/site-packages/Ren_Py-8.1.1.23060707+unofficial.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/Ren_Py-8.1.1.23060707+unofficial.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/Ren_Py-8.1.1.23060707+unofficial.dist-info/WHEEL
+lib/python${MODPY_VERSION}/site-packages/Ren_Py-8.1.1.23060707+unofficial.dist-info/top_level.txt
+@so lib/python${MODPY_VERSION}/site-packages/_renpy.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/_renpybidi.${MODPY_PYC_MAGIC_TAG}so
+@so lib/python${MODPY_VERSION}/site-packages/_renpytfd.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/
 lib/python${MODPY_VERSION}/site-packages/renpy/audio/
-@so lib/python${MODPY_VERSION}/site-packages/renpy/audio/renpysound.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/audio/renpysound.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/display/
-@so lib/python${MODPY_VERSION}/site-packages/renpy/display/accelerator.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/display/matrix.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/display/render.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/display/accelerator.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/display/matrix.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/display/quaternion.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/display/render.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/encryption.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/gl/
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/gl.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/gl1.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/gldraw.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/glenviron_fixed.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/glenviron_limited.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/glenviron_shader.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/glrtt_copy.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/glrtt_fbo.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl/gltexture.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl/gldraw.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl/glenviron_shader.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl/glrtt_copy.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl/glrtt_fbo.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl/gltexture.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/gl2/
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2draw.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2geometry.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2shader.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2texture.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/uguu.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/gl2/uguugl.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/parsersupport.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/pydict.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/style.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2draw.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2mesh.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2mesh2.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2mesh3.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2model.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2polygon.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2shader.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/gl2/gl2texture.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/lexersupport.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/pydict.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/style.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/styledata/
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_activate_functions.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_hover_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_idle_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_insensitive_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_activate_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_hover_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_idle_functions.so
-@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_insensitive_functions.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/styledata/styleclass.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/styledata/stylesets.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_activate_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_hover_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_idle_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_insensitive_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_activate_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_hover_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_idle_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/style_selected_insensitive_functions.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/styleclass.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/styledata/stylesets.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/renpy/text/
-@so lib/python${MODPY_VERSION}/site-packages/renpy/text/ftfont.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/text/textsupport.so
-@so lib/python${MODPY_VERSION}/site-packages/renpy/text/texwrap.so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/text/ftfont.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/text/textsupport.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/text/texwrap.${MODPY_PYC_MAGIC_TAG}so
+lib/python${MODPY_VERSION}/site-packages/renpy/uguu/
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/uguu/gl.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/renpy/uguu/uguu.${MODPY_PYC_MAGIC_TAG}so
 share/doc/pkg-readmes/${PKGSTEM}
 share/renpy/
 share/renpy/LICENSE.txt
+${MODPY_COMMENT}share/renpy/${MODPY_PYCACHE}/
+share/renpy/${MODPY_PYCACHE}renpy.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/launcher/
+share/renpy/launcher/Atom.edit.py
 share/renpy/launcher/None.edit.py
 share/renpy/launcher/System Editor.edit.py
+share/renpy/launcher/Visual Studio Code (System).edit.py
+share/renpy/launcher/Visual Studio Code.edit.py
+${MODPY_COMMENT}share/renpy/launcher/${MODPY_PYCACHE}/
+share/renpy/launcher/${MODPY_PYCACHE}Atom.edit.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/${MODPY_PYCACHE}None.edit.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/${MODPY_PYCACHE}System 
Editor.edit.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/${MODPY_PYCACHE}Visual Studio Code 
(System).edit.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/${MODPY_PYCACHE}Visual Studio 
Code.edit.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/launcher/game/
-share/renpy/launcher/game/EasyDialogsResources.py
-share/renpy/launcher/game/EasyDialogsWin.py
+${MODPY_COMMENT}share/renpy/launcher/game/${MODPY_PYCACHE}/
+share/renpy/launcher/game/${MODPY_PYCACHE}change_icon.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/game/${MODPY_PYCACHE}installer.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/game/${MODPY_PYCACHE}webserver.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/launcher/game/ability.rpy
 share/renpy/launcher/game/about.rpy
 share/renpy/launcher/game/add_file.rpy
 share/renpy/launcher/game/android.rpy
 share/renpy/launcher/game/androidstrings.rpy
 share/renpy/launcher/game/archiver.rpy
-share/renpy/launcher/game/cacert.pem
 share/renpy/launcher/game/change_icon.py
 share/renpy/launcher/game/choose_directory.rpy
 share/renpy/launcher/game/choose_theme.rpy
@@ -74,47 +94,48 @@ share/renpy/launcher/game/download.rpy
 share/renpy/launcher/game/editor.rpy
 share/renpy/launcher/game/entitlements.plist
 share/renpy/launcher/game/fonts/
-share/renpy/launcher/game/fonts/MTLc3m.ttf
-share/renpy/launcher/game/fonts/NanumGothic.ttf
-share/renpy/launcher/game/fonts/Naver Nanum Font License.txt
 share/renpy/launcher/game/fonts/Roboto-Light.ttf
 share/renpy/launcher/game/fonts/Roboto-Regular.ttf
-share/renpy/launcher/game/fonts/SourceHanSans-Light-Lite.ttf
+share/renpy/launcher/game/fonts/SourceHanSansLite.ttf
 share/renpy/launcher/game/front_page.rpy
 share/renpy/launcher/game/gui7/
 share/renpy/launcher/game/gui7.rpy
 share/renpy/launcher/game/gui7/__init__.py
+${MODPY_COMMENT}share/renpy/launcher/game/gui7/${MODPY_PYCACHE}/
+share/renpy/launcher/game/gui7/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/game/gui7/${MODPY_PYCACHE}code.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/game/gui7/${MODPY_PYCACHE}images.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/launcher/game/gui7/${MODPY_PYCACHE}parameters.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/launcher/game/gui7/code.py
 share/renpy/launcher/game/gui7/icon.png
 share/renpy/launcher/game/gui7/images.py
 share/renpy/launcher/game/gui7/parameters.py
 share/renpy/launcher/game/images/
 share/renpy/launcher/game/images/background.png
-share/renpy/launcher/game/images/checkbox_empty.png
-share/renpy/launcher/game/images/checkbox_full.png
 share/renpy/launcher/game/images/logo.png
 share/renpy/launcher/game/images/logo32.png
 share/renpy/launcher/game/images/pattern.png
-share/renpy/launcher/game/images/scrollbar_center.png
-share/renpy/launcher/game/images/vscrollbar_center.png
 share/renpy/launcher/game/images/window.png
+share/renpy/launcher/game/install.rpy
+share/renpy/launcher/game/installer.py
+share/renpy/launcher/game/installer.rpy
 share/renpy/launcher/game/interface.rpy
 share/renpy/launcher/game/ios.rpy
 share/renpy/launcher/game/itch.rpy
+share/renpy/launcher/game/mac.rpy
 share/renpy/launcher/game/mobilebuild.rpy
 share/renpy/launcher/game/navigation.rpy
 share/renpy/launcher/game/new_project.rpy
 share/renpy/launcher/game/options.rpy
 share/renpy/launcher/game/package_formats.rpy
-share/renpy/launcher/game/pefile.py
 share/renpy/launcher/game/preferences.rpy
 share/renpy/launcher/game/project.rpy
+share/renpy/launcher/game/renpy_ecdsa_public.pem
 share/renpy/launcher/game/renpy_public.pem
 share/renpy/launcher/game/style.rpy
 share/renpy/launcher/game/tail.rpy
 share/renpy/launcher/game/testcases.rpy
 share/renpy/launcher/game/theme_data.rpy
-share/renpy/launcher/game/tkaskdir.py
 share/renpy/launcher/game/tl/
 share/renpy/launcher/game/tl/arabic/
 share/renpy/launcher/game/tl/arabic/common.rpy
@@ -147,7 +168,6 @@ share/renpy/launcher/game/tl/french/obso
 share/renpy/launcher/game/tl/french/options.rpy
 share/renpy/launcher/game/tl/french/screens.rpy
 share/renpy/launcher/game/tl/french/script.rpym
-share/renpy/launcher/game/tl/french/style.rpy
 share/renpy/launcher/game/tl/german/
 share/renpy/launcher/game/tl/german/common.rpy
 share/renpy/launcher/game/tl/german/developer.rpy
@@ -233,6 +253,15 @@ share/renpy/launcher/game/tl/piglatin/ob
 share/renpy/launcher/game/tl/piglatin/options.rpy
 share/renpy/launcher/game/tl/piglatin/screens.rpy
 share/renpy/launcher/game/tl/piglatin/script.rpym
+share/renpy/launcher/game/tl/polish/
+share/renpy/launcher/game/tl/polish/common.rpy
+share/renpy/launcher/game/tl/polish/developer.rpy
+share/renpy/launcher/game/tl/polish/error.rpy
+share/renpy/launcher/game/tl/polish/gui.rpy
+share/renpy/launcher/game/tl/polish/launcher.rpy
+share/renpy/launcher/game/tl/polish/options.rpy
+share/renpy/launcher/game/tl/polish/screens.rpy
+share/renpy/launcher/game/tl/polish/script.rpym
 share/renpy/launcher/game/tl/portuguese/
 share/renpy/launcher/game/tl/portuguese/about.rpy
 share/renpy/launcher/game/tl/portuguese/add_file.rpy
@@ -240,16 +269,22 @@ share/renpy/launcher/game/tl/portuguese/
 share/renpy/launcher/game/tl/portuguese/choose_directory.rpy
 share/renpy/launcher/game/tl/portuguese/choose_theme.rpy
 share/renpy/launcher/game/tl/portuguese/common.rpy
+share/renpy/launcher/game/tl/portuguese/developer.rpy
 share/renpy/launcher/game/tl/portuguese/distribute.rpy
 share/renpy/launcher/game/tl/portuguese/distribute_gui.rpy
 share/renpy/launcher/game/tl/portuguese/editor.rpy
+share/renpy/launcher/game/tl/portuguese/error.rpy
 share/renpy/launcher/game/tl/portuguese/front_page.rpy
+share/renpy/launcher/game/tl/portuguese/gui.rpy
 share/renpy/launcher/game/tl/portuguese/interface.rpy
 share/renpy/launcher/game/tl/portuguese/ios.rpy
+share/renpy/launcher/game/tl/portuguese/launcher.rpy
 share/renpy/launcher/game/tl/portuguese/navigation.rpy
 share/renpy/launcher/game/tl/portuguese/new_project.rpy
+share/renpy/launcher/game/tl/portuguese/options.rpy
 share/renpy/launcher/game/tl/portuguese/preferences.rpy
 share/renpy/launcher/game/tl/portuguese/project.rpy
+share/renpy/launcher/game/tl/portuguese/screens.rpy
 share/renpy/launcher/game/tl/portuguese/style.rpy
 share/renpy/launcher/game/tl/portuguese/translations.rpy
 share/renpy/launcher/game/tl/portuguese/updater.rpy
@@ -263,17 +298,16 @@ share/renpy/launcher/game/tl/russian/obs
 share/renpy/launcher/game/tl/russian/options.rpy
 share/renpy/launcher/game/tl/russian/screens.rpy
 share/renpy/launcher/game/tl/russian/script.rpym
-share/renpy/launcher/game/tl/simplified_chinese/
-share/renpy/launcher/game/tl/simplified_chinese/common.rpy
-share/renpy/launcher/game/tl/simplified_chinese/developer.rpy
-share/renpy/launcher/game/tl/simplified_chinese/error.rpy
-share/renpy/launcher/game/tl/simplified_chinese/gui.rpy
-share/renpy/launcher/game/tl/simplified_chinese/launcher.rpy
-share/renpy/launcher/game/tl/simplified_chinese/obsolete.rpy
-share/renpy/launcher/game/tl/simplified_chinese/options.rpy
-share/renpy/launcher/game/tl/simplified_chinese/screens.rpy
-share/renpy/launcher/game/tl/simplified_chinese/script.rpym
-share/renpy/launcher/game/tl/simplified_chinese/style.rpy
+share/renpy/launcher/game/tl/schinese/
+share/renpy/launcher/game/tl/schinese/common.rpy
+share/renpy/launcher/game/tl/schinese/developer.rpy
+share/renpy/launcher/game/tl/schinese/error.rpy
+share/renpy/launcher/game/tl/schinese/gui.rpy
+share/renpy/launcher/game/tl/schinese/launcher.rpy
+share/renpy/launcher/game/tl/schinese/options.rpy
+share/renpy/launcher/game/tl/schinese/screens.rpy
+share/renpy/launcher/game/tl/schinese/script.rpym
+share/renpy/launcher/game/tl/schinese/style.rpy
 share/renpy/launcher/game/tl/spanish/
 share/renpy/launcher/game/tl/spanish/common.rpy
 share/renpy/launcher/game/tl/spanish/developer.rpy
@@ -284,17 +318,16 @@ share/renpy/launcher/game/tl/spanish/obs
 share/renpy/launcher/game/tl/spanish/options.rpy
 share/renpy/launcher/game/tl/spanish/screens.rpy
 share/renpy/launcher/game/tl/spanish/script.rpym
-share/renpy/launcher/game/tl/traditional_chinese/
-share/renpy/launcher/game/tl/traditional_chinese/common.rpy
-share/renpy/launcher/game/tl/traditional_chinese/developer.rpy
-share/renpy/launcher/game/tl/traditional_chinese/error.rpy
-share/renpy/launcher/game/tl/traditional_chinese/gui.rpy
-share/renpy/launcher/game/tl/traditional_chinese/launcher.rpy
-share/renpy/launcher/game/tl/traditional_chinese/obsolete.rpy
-share/renpy/launcher/game/tl/traditional_chinese/options.rpy
-share/renpy/launcher/game/tl/traditional_chinese/screens.rpy
-share/renpy/launcher/game/tl/traditional_chinese/script.rpym
-share/renpy/launcher/game/tl/traditional_chinese/style.rpy
+share/renpy/launcher/game/tl/tchinese/
+share/renpy/launcher/game/tl/tchinese/common.rpy
+share/renpy/launcher/game/tl/tchinese/developer.rpy
+share/renpy/launcher/game/tl/tchinese/error.rpy
+share/renpy/launcher/game/tl/tchinese/gui.rpy
+share/renpy/launcher/game/tl/tchinese/launcher.rpy
+share/renpy/launcher/game/tl/tchinese/options.rpy
+share/renpy/launcher/game/tl/tchinese/screens.rpy
+share/renpy/launcher/game/tl/tchinese/script.rpym
+share/renpy/launcher/game/tl/tchinese/style.rpy
 share/renpy/launcher/game/tl/turkish/
 share/renpy/launcher/game/tl/turkish/common.rpy
 share/renpy/launcher/game/tl/turkish/developer.rpy
@@ -304,6 +337,15 @@ share/renpy/launcher/game/tl/turkish/lau
 share/renpy/launcher/game/tl/turkish/options.rpy
 share/renpy/launcher/game/tl/turkish/screens.rpy
 share/renpy/launcher/game/tl/turkish/script.rpym
+share/renpy/launcher/game/tl/ukrainian/
+share/renpy/launcher/game/tl/ukrainian/common.rpy
+share/renpy/launcher/game/tl/ukrainian/developer.rpy
+share/renpy/launcher/game/tl/ukrainian/error.rpy
+share/renpy/launcher/game/tl/ukrainian/gui.rpy
+share/renpy/launcher/game/tl/ukrainian/launcher.rpy
+share/renpy/launcher/game/tl/ukrainian/options.rpy
+share/renpy/launcher/game/tl/ukrainian/screens.rpy
+share/renpy/launcher/game/tl/ukrainian/script.rpym
 share/renpy/launcher/game/tl/vietnamese/
 share/renpy/launcher/game/tl/vietnamese/common.rpy
 share/renpy/launcher/game/tl/vietnamese/developer.rpy
@@ -320,37 +362,86 @@ share/renpy/launcher/game/web.rpy
 share/renpy/launcher/game/webserver.py
 share/renpy/launcher/icon.icns
 share/renpy/launcher/project.json
-share/renpy/launcher/theme/
-share/renpy/launcher/theme/theme.rpy
-share/renpy/launcher/theme/theme_background.jpg
+share/renpy/launcher/skin/
+share/renpy/launcher/skin/skin.rpy
+share/renpy/launcher/skin/skin_background.jpg
 share/renpy/renpy/
 share/renpy/renpy.py
 share/renpy/renpy/__init__.py
-share/renpy/renpy/__init__.pyc
+${MODPY_COMMENT}share/renpy/renpy/${MODPY_PYCACHE}/
+share/renpy/renpy/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}add_from.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}arguments.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}ast.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}atl.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}bootstrap.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}character.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}color.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}curry.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}debug.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}defaultstore.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}dump.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}easy.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}editor.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}execution.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}exports.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}game.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}lexer.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}lint.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}loadsave.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}memory.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}minstore.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}object.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}performance.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}persistent.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}py2analysis.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}py3analysis.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}pyanalysis.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}python.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}revertable.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}rollback.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}savelocation.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}savetoken.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}screenlang.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}script.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}scriptedit.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}statements.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}substitutions.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}vc_version.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}versions.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}warp.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/${MODPY_PYCACHE}webloader.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/add_from.py
 share/renpy/renpy/angle/
-share/renpy/renpy/angle/__init__.py
-share/renpy/renpy/angle/gl.pxd
-share/renpy/renpy/angle/gl.pyx
-share/renpy/renpy/angle/glblacklist.py
-share/renpy/renpy/angle/gldraw.pxd
-share/renpy/renpy/angle/gldraw.pyx
-share/renpy/renpy/angle/glenviron_shader.pyx
-share/renpy/renpy/angle/glrtt_copy.pyx
-share/renpy/renpy/angle/glrtt_fbo.pyx
-share/renpy/renpy/angle/gltexture.pxd
-share/renpy/renpy/angle/gltexture.pyx
 share/renpy/renpy/arguments.py
 share/renpy/renpy/ast.py
 share/renpy/renpy/atl.py
 share/renpy/renpy/audio/
 share/renpy/renpy/audio/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/audio/${MODPY_PYCACHE}/
+share/renpy/renpy/audio/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}androidhw.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}audio.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}ioshw.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}music.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}sound.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/audio/${MODPY_PYCACHE}webaudio.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/audio/androidhw.py
 share/renpy/renpy/audio/audio.py
 share/renpy/renpy/audio/ioshw.py
 share/renpy/renpy/audio/music.py
 share/renpy/renpy/audio/renpysound.pyx
 share/renpy/renpy/audio/sound.py
+share/renpy/renpy/audio/webaudio.py
 share/renpy/renpy/bootstrap.py
 share/renpy/renpy/character.py
 share/renpy/renpy/color.py
@@ -372,6 +463,7 @@ share/renpy/renpy/common/00barvalues.rpy
 share/renpy/renpy/common/00build.rpy
 share/renpy/renpy/common/00compat.rpy
 share/renpy/renpy/common/00console.rpy
+share/renpy/renpy/common/00db_ren.py
 share/renpy/renpy/common/00defaults.rpy
 share/renpy/renpy/common/00definitions.rpy
 share/renpy/renpy/common/00director.rpy
@@ -389,7 +481,10 @@ share/renpy/renpy/common/00keymap.rpy
 share/renpy/renpy/common/00layeredimage.rpy
 share/renpy/renpy/common/00layout.rpy
 share/renpy/renpy/common/00library.rpy
+share/renpy/renpy/common/00matrixcolor.rpy
+share/renpy/renpy/common/00matrixtransform.rpy
 share/renpy/renpy/common/00mixers.rpy
+share/renpy/renpy/common/00mousedisplayable.rpy
 share/renpy/renpy/common/00musicroom.rpy
 share/renpy/renpy/common/00nvl_mode.rpy
 share/renpy/renpy/common/00obsolete.rpy
@@ -398,11 +493,15 @@ share/renpy/renpy/common/00placeholder.r
 share/renpy/renpy/common/00preferences.rpy
 share/renpy/renpy/common/00shaders.rpy
 share/renpy/renpy/common/00sideimage.rpy
+share/renpy/renpy/common/00speechbubble.rpy
 share/renpy/renpy/common/00splines.rpy
 share/renpy/renpy/common/00start.rpy
+share/renpy/renpy/common/00steam.rpy
 share/renpy/renpy/common/00style.rpy
 share/renpy/renpy/common/00stylepreferences.rpy
+share/renpy/renpy/common/00sync.rpy
 share/renpy/renpy/common/00themes.rpy
+share/renpy/renpy/common/00touchkeyboard.rpy
 share/renpy/renpy/common/00updater.rpy
 share/renpy/renpy/common/00voice.rpy
 share/renpy/renpy/common/DejaVuSans-Bold.ttf
@@ -410,6 +509,9 @@ share/renpy/renpy/common/DejaVuSans.ttf
 share/renpy/renpy/common/DejaVuSans.txt
 share/renpy/renpy/common/_OpenDyslexic3-Regular.ttf
 share/renpy/renpy/common/_OpenDyslexic3-Regular.txt
+${MODPY_COMMENT}share/renpy/renpy/common/${MODPY_PYCACHE}/
+share/renpy/renpy/common/${MODPY_PYCACHE}00db_ren.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/common/_audio.js
 share/renpy/renpy/common/_compat/
 share/renpy/renpy/common/_compat/gamemenu.rpym
 share/renpy/renpy/common/_compat/library.rpym
@@ -420,6 +522,7 @@ share/renpy/renpy/common/_compat/themes.
 share/renpy/renpy/common/_developer/
 share/renpy/renpy/common/_developer/developer.rpym
 share/renpy/renpy/common/_developer/inspector.rpym
+share/renpy/renpy/common/_dl_silence.ogg
 share/renpy/renpy/common/_errorhandling.rpym
 share/renpy/renpy/common/_layout/
 share/renpy/renpy/common/_layout/classic_joystick_preferences.rpym
@@ -445,6 +548,7 @@ share/renpy/renpy/common/_layout/screen_
 share/renpy/renpy/common/_layout/screen_yesno_prompt.rpym
 share/renpy/renpy/common/_layout/scrolling_load_save.rpym
 share/renpy/renpy/common/_layout/two_column_preferences.rpym
+share/renpy/renpy/common/_missing_image.png
 share/renpy/renpy/common/_outline/
 share/renpy/renpy/common/_outline/bar.png
 share/renpy/renpy/common/_outline/circle.png
@@ -467,6 +571,7 @@ share/renpy/renpy/common/_roundrect/rrvs
 share/renpy/renpy/common/_roundrect/rrvslider_empty.png
 share/renpy/renpy/common/_roundrect/rrvslider_full.png
 share/renpy/renpy/common/_roundrect/rrvslider_thumb.png
+share/renpy/renpy/common/_shaders.rpym
 share/renpy/renpy/common/_silence.ogg
 share/renpy/renpy/common/_theme_amie2/
 share/renpy/renpy/common/_theme_amie2/bar.png
@@ -631,12 +736,55 @@ share/renpy/renpy/common/_tv_unsafe.png
 share/renpy/renpy/common/blindstile.png
 share/renpy/renpy/common/gamecontrollerdb.txt
 share/renpy/renpy/common/squarestile.png
+share/renpy/renpy/compat/
+share/renpy/renpy/compat/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/compat/${MODPY_PYCACHE}/
+share/renpy/renpy/compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/compat/${MODPY_PYCACHE}fixes.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/compat/${MODPY_PYCACHE}pickle.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/compat/dictviews.pyx
+share/renpy/renpy/compat/fixes.py
+share/renpy/renpy/compat/pickle.py
 share/renpy/renpy/config.py
 share/renpy/renpy/curry.py
 share/renpy/renpy/debug.py
 share/renpy/renpy/defaultstore.py
 share/renpy/renpy/display/
 share/renpy/renpy/display/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/display/${MODPY_PYCACHE}/
+share/renpy/renpy/display/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}anim.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}behavior.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}controller.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}dragdrop.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}emulator.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}focus.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}gesture.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}im.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}image.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}imagelike.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}imagemap.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}joystick.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}layout.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}minigame.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}module.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}motion.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}movetransition.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}particle.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}pgrender.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}predict.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}presplash.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}scale.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}screen.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}swdraw.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}transform.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}transition.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}tts.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}video.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/display/${MODPY_PYCACHE}viewport.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/display/accelerator.pyx
 share/renpy/renpy/display/anim.py
 share/renpy/renpy/display/behavior.py
@@ -657,6 +805,7 @@ share/renpy/renpy/display/matrix.pxd
 share/renpy/renpy/display/matrix.pyx
 share/renpy/renpy/display/matrix_functions.pxi
 share/renpy/renpy/display/minigame.py
+share/renpy/renpy/display/model.py
 share/renpy/renpy/display/module.py
 share/renpy/renpy/display/motion.py
 share/renpy/renpy/display/movetransition.py
@@ -664,6 +813,7 @@ share/renpy/renpy/display/particle.py
 share/renpy/renpy/display/pgrender.py
 share/renpy/renpy/display/predict.py
 share/renpy/renpy/display/presplash.py
+share/renpy/renpy/display/quaternion.pyx
 share/renpy/renpy/display/render.pxd
 share/renpy/renpy/display/render.pyx
 share/renpy/renpy/display/scale.py
@@ -677,39 +827,58 @@ share/renpy/renpy/display/viewport.py
 share/renpy/renpy/dump.py
 share/renpy/renpy/easy.py
 share/renpy/renpy/editor.py
+share/renpy/renpy/encryption.pyx
 share/renpy/renpy/error.py
 share/renpy/renpy/execution.py
 share/renpy/renpy/exports.py
 share/renpy/renpy/game.py
 share/renpy/renpy/gl/
 share/renpy/renpy/gl/__init__.py
-share/renpy/renpy/gl/gl.pxd
-share/renpy/renpy/gl/gl.pyx
-share/renpy/renpy/gl/gl1.pxd
-share/renpy/renpy/gl/gl1.pyx
+${MODPY_COMMENT}share/renpy/renpy/gl/${MODPY_PYCACHE}/
+share/renpy/renpy/gl/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl/${MODPY_PYCACHE}glfunctions.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/gl/gldraw.pxd
 share/renpy/renpy/gl/gldraw.pyx
-share/renpy/renpy/gl/glenviron_fixed.pyx
-share/renpy/renpy/gl/glenviron_limited.pyx
 share/renpy/renpy/gl/glenviron_shader.pyx
+share/renpy/renpy/gl/glfunctions.py
 share/renpy/renpy/gl/glrtt_copy.pyx
 share/renpy/renpy/gl/glrtt_fbo.pyx
 share/renpy/renpy/gl/gltexture.pxd
 share/renpy/renpy/gl/gltexture.pyx
 share/renpy/renpy/gl2/
 share/renpy/renpy/gl2/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/gl2/${MODPY_PYCACHE}/
+share/renpy/renpy/gl2/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/${MODPY_PYCACHE}gl2debug.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/${MODPY_PYCACHE}gl2functions.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/${MODPY_PYCACHE}gl2shadercache.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/${MODPY_PYCACHE}live2d.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/${MODPY_PYCACHE}live2dmotion.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/gl2/gl2debug.py
 share/renpy/renpy/gl2/gl2draw.pxd
 share/renpy/renpy/gl2/gl2draw.pyx
-share/renpy/renpy/gl2/gl2geometry.pxd
-share/renpy/renpy/gl2/gl2geometry.pyx
+share/renpy/renpy/gl2/gl2functions.py
+share/renpy/renpy/gl2/gl2mesh.pxd
+share/renpy/renpy/gl2/gl2mesh.pyx
+share/renpy/renpy/gl2/gl2mesh2.pxd
+share/renpy/renpy/gl2/gl2mesh2.pyx
+share/renpy/renpy/gl2/gl2mesh3.pxd
+share/renpy/renpy/gl2/gl2mesh3.pyx
+share/renpy/renpy/gl2/gl2model.pxd
+share/renpy/renpy/gl2/gl2model.pyx
+share/renpy/renpy/gl2/gl2polygon.pxd
+share/renpy/renpy/gl2/gl2polygon.pyx
 share/renpy/renpy/gl2/gl2shader.pxd
 share/renpy/renpy/gl2/gl2shader.pyx
 share/renpy/renpy/gl2/gl2shadercache.py
 share/renpy/renpy/gl2/gl2texture.pxd
 share/renpy/renpy/gl2/gl2texture.pyx
-share/renpy/renpy/gl2/uguu.pyx
-share/renpy/renpy/gl2/uguugl.pxd
-share/renpy/renpy/gl2/uguugl.pyx
+share/renpy/renpy/gl2/live2d.py
+share/renpy/renpy/gl2/live2dcsm.pxi
+share/renpy/renpy/gl2/live2dmodel.pyx
+share/renpy/renpy/gl2/live2dmotion.py
+share/renpy/renpy/lexer.py
+share/renpy/renpy/lexersupport.pyx
 share/renpy/renpy/lint.py
 share/renpy/renpy/loader.py
 share/renpy/renpy/loadsave.py
@@ -719,20 +888,29 @@ share/renpy/renpy/memory.py
 share/renpy/renpy/minstore.py
 share/renpy/renpy/object.py
 share/renpy/renpy/parser.py
-share/renpy/renpy/parsersupport.pyx
 share/renpy/renpy/performance.py
 share/renpy/renpy/persistent.py
 share/renpy/renpy/preferences.py
+share/renpy/renpy/py2analysis.py
+share/renpy/renpy/py3analysis.py
 share/renpy/renpy/pyanalysis.py
 share/renpy/renpy/pydict.pyx
 share/renpy/renpy/python.py
+share/renpy/renpy/revertable.py
+share/renpy/renpy/rollback.py
 share/renpy/renpy/savelocation.py
+share/renpy/renpy/savetoken.py
 share/renpy/renpy/screenlang.py
 share/renpy/renpy/script.py
 share/renpy/renpy/scriptedit.py
-share/renpy/renpy/six.py
 share/renpy/renpy/sl2/
 share/renpy/renpy/sl2/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/sl2/${MODPY_PYCACHE}/
+share/renpy/renpy/sl2/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/sl2/${MODPY_PYCACHE}slast.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/sl2/${MODPY_PYCACHE}sldisplayables.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/sl2/${MODPY_PYCACHE}slparser.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/sl2/${MODPY_PYCACHE}slproperties.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/sl2/slast.py
 share/renpy/renpy/sl2/sldisplayables.py
 share/renpy/renpy/sl2/slparser.py
@@ -742,12 +920,23 @@ share/renpy/renpy/style.pxd
 share/renpy/renpy/style.pyx
 share/renpy/renpy/styledata/
 share/renpy/renpy/styledata/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/styledata/${MODPY_PYCACHE}/
+share/renpy/renpy/styledata/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/styledata/${MODPY_PYCACHE}styleutil.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/styledata/styleclass.pyx
 share/renpy/renpy/styledata/stylesets.pyx
 share/renpy/renpy/styledata/styleutil.py
 share/renpy/renpy/substitutions.py
 share/renpy/renpy/test/
 share/renpy/renpy/test/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/test/${MODPY_PYCACHE}/
+share/renpy/renpy/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testast.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testexecution.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testfocus.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testkey.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testmouse.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/test/${MODPY_PYCACHE}testparser.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/test/testast.py
 share/renpy/renpy/test/testexecution.py
 share/renpy/renpy/test/testfocus.py
@@ -756,6 +945,11 @@ share/renpy/renpy/test/testmouse.py
 share/renpy/renpy/test/testparser.py
 share/renpy/renpy/text/
 share/renpy/renpy/text/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/text/${MODPY_PYCACHE}/
+share/renpy/renpy/text/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/text/${MODPY_PYCACHE}extras.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/text/${MODPY_PYCACHE}font.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/text/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/text/extras.py
 share/renpy/renpy/text/font.py
 share/renpy/renpy/text/ftfont.pyx
@@ -766,18 +960,37 @@ share/renpy/renpy/text/textsupport.pyx
 share/renpy/renpy/text/texwrap.pyx
 share/renpy/renpy/translation/
 share/renpy/renpy/translation/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/translation/${MODPY_PYCACHE}/
+share/renpy/renpy/translation/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/translation/${MODPY_PYCACHE}dialogue.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/translation/${MODPY_PYCACHE}extract.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/translation/${MODPY_PYCACHE}generation.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/translation/${MODPY_PYCACHE}merge.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/translation/${MODPY_PYCACHE}scanstrings.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/renpy/translation/dialogue.py
 share/renpy/renpy/translation/extract.py
 share/renpy/renpy/translation/generation.py
 share/renpy/renpy/translation/merge.py
 share/renpy/renpy/translation/scanstrings.py
+share/renpy/renpy/uguu/
+share/renpy/renpy/uguu/__init__.py
+${MODPY_COMMENT}share/renpy/renpy/uguu/${MODPY_PYCACHE}/
+share/renpy/renpy/uguu/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/renpy/renpy/uguu/gl.pxd
+share/renpy/renpy/uguu/gl.pyx
+share/renpy/renpy/uguu/uguu.pyx
 share/renpy/renpy/ui.py
+share/renpy/renpy/util.py
 share/renpy/renpy/vc_version.py
-share/renpy/renpy/vc_version.pyc
+share/renpy/renpy/versions.py
 share/renpy/renpy/warp.py
+share/renpy/renpy/webloader.py
 share/renpy/the_question/
 share/renpy/the_question/android-icon_background.png
 share/renpy/the_question/android-icon_foreground.png
+share/renpy/the_question/android.json
+share/renpy/the_question/android.keystore
+share/renpy/the_question/bundle.keystore
 share/renpy/the_question/game/
 share/renpy/the_question/game/gui/
 share/renpy/the_question/game/gui.rpy
@@ -861,6 +1074,11 @@ share/renpy/the_question/game/tl/french/
 share/renpy/the_question/game/tl/french/options.rpy
 share/renpy/the_question/game/tl/french/screens.rpy
 share/renpy/the_question/game/tl/french/script.rpy
+share/renpy/the_question/game/tl/japanese/
+share/renpy/the_question/game/tl/japanese/common.rpy
+share/renpy/the_question/game/tl/japanese/options.rpy
+share/renpy/the_question/game/tl/japanese/screens.rpy
+share/renpy/the_question/game/tl/japanese/script.rpy
 share/renpy/the_question/game/tl/korean/
 share/renpy/the_question/game/tl/korean/common.rpy
 share/renpy/the_question/game/tl/korean/options.rpy
@@ -876,27 +1094,37 @@ share/renpy/the_question/game/tl/russian
 share/renpy/the_question/game/tl/russian/options.rpy
 share/renpy/the_question/game/tl/russian/screens.rpy
 share/renpy/the_question/game/tl/russian/script.rpy
-share/renpy/the_question/game/tl/simplified_chinese/
-share/renpy/the_question/game/tl/simplified_chinese/options.rpy
-share/renpy/the_question/game/tl/simplified_chinese/screens.rpy
-share/renpy/the_question/game/tl/simplified_chinese/script.rpy
+share/renpy/the_question/game/tl/schinese/
+share/renpy/the_question/game/tl/schinese/common.rpy
+share/renpy/the_question/game/tl/schinese/options.rpy
+share/renpy/the_question/game/tl/schinese/screens.rpy
+share/renpy/the_question/game/tl/schinese/script.rpy
 share/renpy/the_question/game/tl/spanish/
 share/renpy/the_question/game/tl/spanish/common.rpy
 share/renpy/the_question/game/tl/spanish/options.rpy
 share/renpy/the_question/game/tl/spanish/screens.rpy
 share/renpy/the_question/game/tl/spanish/script.rpy
-share/renpy/the_question/game/tl/traditional_chinese/
-share/renpy/the_question/game/tl/traditional_chinese/options.rpy
-share/renpy/the_question/game/tl/traditional_chinese/script.rpy
+share/renpy/the_question/game/tl/tchinese/
+share/renpy/the_question/game/tl/tchinese/options.rpy
+share/renpy/the_question/game/tl/tchinese/screens.rpy
+share/renpy/the_question/game/tl/tchinese/script.rpy
+share/renpy/the_question/game/tl/ukrainian/
+share/renpy/the_question/game/tl/ukrainian/common.rpy
+share/renpy/the_question/game/tl/ukrainian/options.rpy
+share/renpy/the_question/game/tl/ukrainian/screens.rpy
+share/renpy/the_question/game/tl/ukrainian/script.rpy
 share/renpy/the_question/icon.icns
 share/renpy/the_question/icon.ico
 share/renpy/the_question/ios-icon.png
 share/renpy/the_question/ios-launchimage.png
+share/renpy/the_question/progressive_download.txt
 share/renpy/the_question/project.json
 share/renpy/tutorial/
 share/renpy/tutorial/game/
 share/renpy/tutorial/game/01director_support.rpy
 share/renpy/tutorial/game/01example.rpy
+${MODPY_COMMENT}share/renpy/tutorial/game/${MODPY_PYCACHE}/
+share/renpy/tutorial/game/${MODPY_PYCACHE}keywords.${MODPY_PYC_MAGIC_TAG}pyc
 share/renpy/tutorial/game/examples.rpy
 share/renpy/tutorial/game/exclamation.png
 share/renpy/tutorial/game/gui/
@@ -921,6 +1149,9 @@ share/renpy/tutorial/game/gui/button/slo
 share/renpy/tutorial/game/gui/button/slot_idle_background.png
 share/renpy/tutorial/game/gui/frame.png
 share/renpy/tutorial/game/gui/main_menu.jpg
+share/renpy/tutorial/game/gui/mouse0.png
+share/renpy/tutorial/game/gui/mouse1.png
+share/renpy/tutorial/game/gui/mouse2.png
 share/renpy/tutorial/game/gui/namebox.png
 share/renpy/tutorial/game/gui/notify.png
 share/renpy/tutorial/game/gui/nvl.png
@@ -1055,6 +1286,29 @@ share/renpy/tutorial/game/tl/french/tuto
 share/renpy/tutorial/game/tl/french/tutorial_screen_displayables.rpy
 share/renpy/tutorial/game/tl/french/tutorial_screens.rpy
 share/renpy/tutorial/game/tl/french/tutorial_video.rpy
+share/renpy/tutorial/game/tl/japanese/
+share/renpy/tutorial/game/tl/japanese/01example.rpy
+share/renpy/tutorial/game/tl/japanese/common.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_character.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_displayables.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_minigame.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_style.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_text.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_transitions.rpy
+share/renpy/tutorial/game/tl/japanese/indepth_translations.rpy
+share/renpy/tutorial/game/tl/japanese/options.rpy
+share/renpy/tutorial/game/tl/japanese/screens.rpy
+share/renpy/tutorial/game/tl/japanese/script.rpy
+share/renpy/tutorial/game/tl/japanese/style.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_atl.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_director.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_distribute.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_nvlmode.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_playing.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_quickstart.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_screen_displayables.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_screens.rpy
+share/renpy/tutorial/game/tl/japanese/tutorial_video.rpy
 share/renpy/tutorial/game/tl/korean/
 share/renpy/tutorial/game/tl/korean/01example.rpy
 share/renpy/tutorial/game/tl/korean/common.rpy
@@ -1121,6 +1375,29 @@ share/renpy/tutorial/game/tl/russian/tut
 share/renpy/tutorial/game/tl/russian/tutorial_screen_displayables.rpy
 share/renpy/tutorial/game/tl/russian/tutorial_screens.rpy
 share/renpy/tutorial/game/tl/russian/tutorial_video.rpy
+share/renpy/tutorial/game/tl/schinese/
+share/renpy/tutorial/game/tl/schinese/01example.rpy
+share/renpy/tutorial/game/tl/schinese/common.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_character.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_displayables.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_minigame.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_style.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_text.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_transitions.rpy
+share/renpy/tutorial/game/tl/schinese/indepth_translations.rpy
+share/renpy/tutorial/game/tl/schinese/options.rpy
+share/renpy/tutorial/game/tl/schinese/screens.rpy
+share/renpy/tutorial/game/tl/schinese/script.rpy
+share/renpy/tutorial/game/tl/schinese/style.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_atl.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_director.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_distribute.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_nvlmode.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_playing.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_quickstart.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_screen_displayables.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_screens.rpy
+share/renpy/tutorial/game/tl/schinese/tutorial_video.rpy
 share/renpy/tutorial/game/tl/spanish/
 share/renpy/tutorial/game/tl/spanish/01example.rpy
 share/renpy/tutorial/game/tl/spanish/common.rpy
@@ -1143,6 +1420,28 @@ share/renpy/tutorial/game/tl/spanish/tut
 share/renpy/tutorial/game/tl/spanish/tutorial_screen_displayables.rpy
 share/renpy/tutorial/game/tl/spanish/tutorial_screens.rpy
 share/renpy/tutorial/game/tl/spanish/tutorial_video.rpy
+share/renpy/tutorial/game/tl/ukrainian/
+share/renpy/tutorial/game/tl/ukrainian/01example.rpy
+share/renpy/tutorial/game/tl/ukrainian/common.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_character.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_displayables.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_minigame.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_style.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_text.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_transitions.rpy
+share/renpy/tutorial/game/tl/ukrainian/indepth_translations.rpy
+share/renpy/tutorial/game/tl/ukrainian/options.rpy
+share/renpy/tutorial/game/tl/ukrainian/screens.rpy
+share/renpy/tutorial/game/tl/ukrainian/script.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_atl.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_director.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_distribute.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_nvlmode.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_playing.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_quickstart.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_screen_displayables.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_screens.rpy
+share/renpy/tutorial/game/tl/ukrainian/tutorial_video.rpy
 share/renpy/tutorial/game/tower_clock.ogg
 share/renpy/tutorial/game/tutorial_atl.rpy
 share/renpy/tutorial/game/tutorial_director.rpy
@@ -1154,4 +1453,5 @@ share/renpy/tutorial/game/tutorial_quick
 share/renpy/tutorial/game/tutorial_screen_displayables.rpy
 share/renpy/tutorial/game/tutorial_screens.rpy
 share/renpy/tutorial/game/tutorial_video.rpy
+share/renpy/tutorial/progressive_download.txt
 share/renpy/tutorial/project.json
? games/pygame_sdl2/pkg/PLIST.new
Index: games/pygame_sdl2/Makefile
===================================================================
RCS file: /cvs/ports/games/pygame_sdl2/Makefile,v
diff -u -p -u -p -r1.6 Makefile
--- games/pygame_sdl2/Makefile  11 Mar 2022 19:04:50 -0000      1.6
+++ games/pygame_sdl2/Makefile  29 Oct 2023 18:33:06 -0000
@@ -1,9 +1,8 @@
 # Keep in sync with games/renpy!!!
-V =            7.3.5.606
+V =            8.1.0.23050902
 COMMENT =      Ren'Py fork of pygame
 PKGNAME =      pygame_sdl2-${V}
 CATEGORIES =   games x11
-REVISION =     0
 
 GH_ACCOUNT =   renpy
 GH_PROJECT =   pygame_sdl2
@@ -14,15 +13,13 @@ MAINTAINER =        Brian Callahan <bcallah@ope
 # LGPLv2.1+ & zlib
 PERMIT_PACKAGE =       Yes
 
-# Not yet. We need to wait for Ren'Py to make the switch.
-#FLAVORS =     python3
-#FLAVOR ?=
+FLAVORS =      python3
+FLAVOR ?=
 
 WANTLIB += SDL2 SDL2_image SDL2_mixer SDL2_ttf jpeg png pthread
 WANTLIB += ${MODPY_WANTLIB}
 
 MODULES =      lang/python
-MODPY_VERSION =        ${MODPY_DEFAULT_VERSION_2}
 MODPY_SETUPTOOLS =     Yes
 
 BUILD_DEPENDS =        lang/cython,python3
Index: games/pygame_sdl2/distinfo
===================================================================
RCS file: /cvs/ports/games/pygame_sdl2/distinfo,v
diff -u -p -u -p -r1.1.1.1 distinfo
--- games/pygame_sdl2/distinfo  12 Mar 2020 17:18:09 -0000      1.1.1.1
+++ games/pygame_sdl2/distinfo  29 Oct 2023 18:33:06 -0000
@@ -1,2 +1,2 @@
-SHA256 (pygame_sdl2-renpy-7.3.5.606.tar.gz) = 
G6Cg2yOZ8LJU39mMfkgdKyVL68xRvU6XRxZNVTShLsE=
-SIZE (pygame_sdl2-renpy-7.3.5.606.tar.gz) = 925405
+SHA256 (pygame_sdl2-renpy-8.1.0.23050902.tar.gz) = 
n3OhjD3fWOM3+Wfw8zHHY6+fCevnvDmUvqwh+jShkmE=
+SIZE (pygame_sdl2-renpy-8.1.0.23050902.tar.gz) = 934210
Index: games/pygame_sdl2/pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/pygame_sdl2/pkg/PLIST,v
diff -u -p -u -p -r1.2 PLIST
--- games/pygame_sdl2/pkg/PLIST 11 Mar 2022 19:04:50 -0000      1.2
+++ games/pygame_sdl2/pkg/PLIST 29 Oct 2023 18:33:06 -0000
@@ -13,42 +13,44 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/DejaVuSans.ttf
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/DejaVuSans.txt
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/__init__.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/__init__.pyc
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/color.so
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}sprite.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}sysfont.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}time.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/color.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/compat.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/compat.pyc
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/controller.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/display.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/draw.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/error.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/event.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/font.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/gfxdraw.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/image.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/joystick.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/key.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/locals.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mixer.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mixer_music.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mouse.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/power.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/pygame_time.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/rect.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/render.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/rwobject.so
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/scrap.so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/controller.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/display.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/draw.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/error.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/event.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/font.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/gfxdraw.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/image.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/joystick.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/key.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/locals.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mixer.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mixer_music.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/mouse.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/power.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/pygame_time.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/rect.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/render.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/rwobject.${MODPY_PYC_MAGIC_TAG}so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/scrap.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/sprite.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/sprite.pyc
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/surface.so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/surface.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/sysfont.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/sysfont.pyc
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/Py25Queue.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/Py25Queue.pyc
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/__init__.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/${MODPY_PYCACHE}Py25Queue.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/threads/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/time.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/time.pyc
-@so lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/transform.so
+@so 
lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/transform.${MODPY_PYC_MAGIC_TAG}so
 lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/version.py
-lib/python${MODPY_VERSION}/site-packages/pygame_sdl2/version.pyc

Reply via email to