just a small idea : the skins consist of so many small files - this really fragments the xbox harddisk. what about packaging them in some container format like the old doom (?) wad format or a plain .zip archives (like java's jar) and decompress the wanted files on-the-fly ?
i think zip or rar sounds like a great idea, but they should all be in archive no-compess format, so don't have to decompress
i just used the following sources to integrate zip and rar support into one of my apps (actually i use slightly modified version because i needed a mac os x dynlib):
-
unrar dll
-
unzip dll
both formats support a "store"-mode.
i would prefer .zip because:
- there are opensource zip apps
- the unzip dll uses libz (and this already ships with xbmc)
i might have a look into the xbmc source if i can integrate it (kinda because i don't own visual studio or a x86-pc).
question: is the whole theme loaded into the memory or "when needed" ?
p.s. many "i" :d
this makes transferring it from pc to xbox over network much faster.
what would be really good is to have a virtual file system within xbmc .. this would have a lot of advantagous features such as:
being able to mount zip files directly as a filesystem .. for example, treat a zip file as a directory and maintain the directory structure within the zip file ..
things like skins should be distributed in a single zip package that could be mounted by sticking it in a '/packages' directory lets say, and the directory structure of the zip would be mounted in the root of xbmc and dynamically extracted at runtime ...
another cool bonus when using a virtual file system would be the ability to mount directories in other directories .. or have multiple directories mounted in a single mount point. this would be really cool for example when you have like 4-5 movie sources (local xbox hard disk, dvd drive, 2 separate network share's for example), you could make all those directories appear within the one directory .. just one large list of movies/music (whick i reckon would really rock) .. and you could create virtual links to other inrelated directories essencially creating a big tidy virtual file system
:bump: maybe
lzo can be used since already used by xbmc and ported-version is in our code/cvs?