@Nottravis
Got this from the author of DA here on f95. While I havn't used it on my in dev game yet, it looks like the way to go. It proven and logical.
Great game by the way.
-----
In options.rpy
init python:
## The following functions take file patterns. File patterns are case-
## insensitive, and matched against the path relative to the base directory,
## with and without a leading /. If multiple patterns match, the first is
## used.
##
## In a pattern:
##
## / is the directory separator.
##
## * matches all characters, except the directory separator.
##
## ** matches all characters, including the directory separator.
##
## For example, "*.txt" matches txt files in the base directory, "game/
## **.ogg" matches ogg files in the game directory or any of its
## subdirectories, and "**.psd" matches psd files anywhere in the project.
## Classify files as None to exclude them from the built distributions.
build.classify('**~', None)
build.classify('**.bak', None)
build.classify('**/.**', None)
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
build.classify('game/**.rpy', None)
## To archive files, classify them as 'archive'.
#build.archive("scripts", "all")
#build.archive("archive", "all")
#build.classify('game/**.png', 'archive')
#build.classify('game/**.jpg', 'archive')
#build.classify("game/**.rpy", "scripts")
#build.classify("game/**.rpyc", "scripts")
#CUSTOM Start
#Setup individual rpas for scripts shared audio and chapter images.
# This will be the files inside the game folder that are created
build.archive("scripts", "all")
build.archive("shared", "all")
build.archive("audio", "all")
build.archive("chapters1_7", "all")
build.archive("chapter8", "all")
# shared assets. We take all the assets from game/gui and place it into the shared rpa.
build.classify('game/gui/**.png', 'shared')
build.classify('game/gui/**.jpg', 'shared')
build.classify('game/gui/**.webp', 'shared')
# common images are also stored in the shared rpa
build.classify('game/images/common/**.png', 'shared')
build.classify('game/images/common/**.jpg', 'shared')
build.classify('game/images/common/**.webp', 'shared')
# i put any custom fonts i have into the shared rpa
build.classify('game/fonts/**.ttf', 'shared')
#audio Take all music and sound effects and place them into the audio rpa
build.classify('game/music/**.ogg', 'audio')
build.classify('game/music/**.mp3', 'audio')
build.classify('game/effects/**.ogg', 'audio')
build.classify('game/effects/**.mp3', 'audio')
#images. I set this up so that all images from before i started doing this are placed into an rpa called chapters1_7. I removed 2 to 6 in this example so its readable
build.classify('game/images/chapter1/**.png', 'chapters1_7')
build.classify('game/images/chapter1/**.jpg', 'chapters1_7')
build.classify('game/images/chapter1/**.webm', 'chapters1_7')
# i removed chapters 2 to 6 for brevity.
build.classify('game/images/chapter7/**.png', 'chapters1_7')
build.classify('game/images/chapter7/**.jpg', 'chapters1_7')
build.classify('game/images/chapter7/**.webm', 'chapters1_7')
# Now for chapter 8 I add all images to the chapter8.rpa file. Remember i deckared this at the very start. You would make a chapter9 and so forth as you continue.
build.classify('game/images/chapter8/**.png', 'chapter8')
build.classify('game/images/chapter8/**.jpg', 'chapter8')
build.classify('game/images/chapter8/**.webm', 'chapter8')
# all images from the scene gallery i placed in shared.
build.classify('game/images/gallery/**.png', 'shared')
build.classify('game/images/gallery/**.jpg', 'shared')
build.classify('game/images/gallery/**.webm', 'shared')
# All script files in the entire games folder
build.classify('game/*.rpyc', 'scripts')
build.classify('game/chapter2/*.rpyc', 'scripts')
build.classify('game/chapter3/*.rpyc', 'scripts')
build.classify('game/chapter4/*.rpyc', 'scripts')
build.classify('game/chapter5/*.rpyc', 'scripts')
build.classify('game/chapter6/*.rpyc', 'scripts')
build.classify('game/chapter7/*.rpyc', 'scripts')
build.classify('game/chapter8/*.rpyc', 'scripts')
After you set this up when u do a build in repny it will create those files. So a patch you would use the script.rpa file and the images for that chapter.rpa file, such as chapter8.rpa. If you added any sound effects or gui elements then u would also include the shared.
This way i can make a patch. Its just scripts.rpa. audio.rpa chapter8.rpa. No need to download all the other stuff. They then take those files and place them into the game directory.