Opened 12 years ago
Last modified 10 years ago
#1110 new task
Archive builder support for non-base mods
Reported by: | Philip Taylor | Owned by: | |
---|---|---|---|
Priority: | Should Have | Milestone: | Backlog |
Component: | Core engine | Keywords: | |
Cc: | ricotz | Patch: |
Description (last modified by )
Currently the archive builder assumes that you're archiving a single self-contained mod. If you're not (e.g. you're building an update.zip
as a way of patching public.zip
, or you're archiving a user-made mod that builds on top of public
), that fails in various ways:
The*.DELETED
meta-files are not archived, soupdate.zip
won't have the desired file-removal behaviour.- If the
public
mod has e.g.foo.png
(stored asfoo.png.cached.dds
inpublic.zip
), and theupdate
mod hasfoo.png.DELETED
(stored asfoo.png.DELETED
inupdate.zip
if we fix the previous point), then loading both archives will result in the filefoo.png.cached.dds
still being visible. The archive builder needs to copyfoo.png.DELETED
tofoo.png.cached.dds.DELETED
to preserve the file-removal semantics. IfUse -mod=modfolder to specify base mods (also do that for public if you depend on it)public
has atextures.xml
that controls the texture compression behaviour of textures in a subdirectory (compression algorithm, alpha channel usage, etc), that won't be taken into account when compressing the textures forupdate.zip
. We need to useCArchiveBuilder::AddBaseMod
(and add some command-line arguments for it) so that it loadspublic
to provide the files liketextures.xml
that theupdate
archive implicitly depends on.
Also, there should be automated tests for this, since the logic is getting quite complex.
Change History (4)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Milestone: | Alpha 9 → Backlog |
---|
comment:3 by , 10 years ago
Description: | modified (diff) |
---|
comment:4 by , 10 years ago
Description: | modified (diff) |
---|
r15372 took care of the third bullet point.
Note:
See TracTickets
for help on using tickets.
(In [10907]) Include *.DELETED files when building archives. See #1110.