Solution found: Ren’Py extensions
They are loaded right before the extension list is generated for each archive handler
https://github.com/renpy/renpy/blob/master/renpy/main.py#L365-L376
https://github.com/renpy/renpy/blob/master/renpy/main.py#L151-L167
New in Ren’Py 6.1.1
-------------------
Added a mechanism that allows extensions and patches to Ren’Py to be distributed in .rpe files.
(This isn’t intended for game-developer use.)
8.3.0 / 7.8.0
=============
Ren’Py will load .rpe.py files from config.renpy_base
directory and the project’s game directory, and execute the file before the game starts.
Ren’Py will now load .rpe files from the config.renpy_base
directory as well as the project’s game directory.
Here’s an example for JAST USA remasters: ZIP archive asenheim.rpe
with autorun.py
script
import renpy.loader
class AsenheimRPAv3ArchiveHandler(renpy.loader.RPAv3ArchiveHandler):
@staticmethod
def get_supported_headers():
return [ b"\x01\x13\x05\x0e\x08\x05\x09\x0d" ]
renpy.loader.archive_handlers.append(AsenheimRPAv3ArchiveHandler)
So, this can be ignored then? Just create patches using Ren’Py extensions for situations like this?