Ticket #101 (closed task: wontfix)
vfs_optimizer: don't add mods to main archive
| Reported by: | jan | Owned by: | jan |
|---|---|---|---|
| Priority: | Should Have | Milestone: | Alpha 7 |
| Component: | Core engine | Keywords: | |
| Cc: |
Description
vfs_optimizer currently enumerates the entire VFS contents and adds everything marked as "archivable" (1) to the archive.
However, mod files must not be included, for obvious reasons: the mod would no longer be optional and could thereafter not be disabled.
One solution would be to generate one archive per archivable mount point. This would be a bit inefficient, since there are several mount points that could be added to the main archive (namely: cached XMB, mods/official) and splitting them up would increase seeks.
Solution: specify a VFS_MOUNT_NOT_MAIN_DATA (bad name, but you get the point) flag when mounting mods. All mount points without it would get lumped into one archive, and the other archivable ones (mods) are archived separately.
Implementation: for enumerating files, still use vfs_dir_enum. For each returned entry, get the TFile's Mount pointer. First, check if it's archivable. Then, put all files from a given mount point into a bucket (except if it doesn't have the flag; it goes into the "main data" bucket). For each bucket, create a separate archive.
(1) this would exclude e.g. screenshots
Change History
comment:2 Changed 3 years ago by anonymous
- Milestone Playability Demo deleted
Milestone Playability Demo deleted
comment:5 Changed 22 months ago by jan
- Status changed from assigned to closed
- Resolution set to wontfix
Insofar as the game no longer generates archives - nope! I've discussed this with Philip and we concluded that any compression that's fast enough in terms of loading will also have a worse compression ratio than the installer, and would therefore increase server load and download times. People can still create archives manually (for distributing a mod, or to speed up load times), but there are currently no plans to do that as part of the installer. Since the ticket mentions lots of obsolete implementation details, I'll close it. Thanks for asking!
