raekuul wrote:The modified data itself (and probably the map definition files as well) can be distributed as part of the mod package as they're relatively small after compression. I'm mostly thinking of pulling assets (Anims and Music and other graphical stuff) specifically from already-installed MM6/7 to save on space.
"Other graphical stuff" is modified in various ways. There's no history I'm afraid.
raekuul wrote:Definitely would need Rodril and his toolset to figure out what can be sourced from existing installs vs what would need to be redistributed. At the very least, locally sourcing the Anims and Music would cut the mod download size from 1.6 GB to 800 MB
Some deduplication is needed also. Right now there are three 3DO logos, three JVC logos and two NWC logos in Magicdod.vid. There are fonts in EnglishT.lod and icons.lod.
raekuul wrote:It should also be possible to distribute patch files (I'll look around to see what's a good fit; xdelta comes to mind) for the MM8 assets that are getting changed. The fewer raw assets being redistributed, the better.
lod is an archive and GrayFace has added support of having lod in multiple files. Rodril had started with merging lods (icons.lod and EnglishD.lod at least) which is not the greatest way IMHO.
We have 6 lods in Data came from MM8: bitmaps.lod, EnglishD.lod, EnglishT.lod, games.lod, icons.lod, sprites.lod. No one is left unmodified. And I'm not sure what is amount of unchanged data in MM8 files from these lods.
I was thinking about tomchen1989's mmarch (https://www.celestialheavens.com/forum/10/17118
) if lod merge will be required. Though it shouldn't.
raekuul wrote:E: Yeah, any files with a shared name between the mod and MM8's base game should be diff'd instead of being provided wholesale (looking at the Anims here, but providing a patch for MM8.exe instead of redistributing the executable directly is less of a legal grey area),
mm8.exe is just patched by GrayFace's patch. No additional modification (as there is no difference found with GOG version patched by MM8Patch 2.4.1; checked by vbindiff).
Side note: we probably need to take GrayFace's modifications to MM7 done by his MM7Patch 2.4 unless they are already merged.
raekuul wrote:and depending on how Rodril pulled the MM6/MM7 graphical assets we can either redistribute the tools with a script wrapper or else write new extracting/patching tools from scratch to redistribute with the mod (I really hope for the former since that's already done) and pull the data player-side.
It looks like most of the bloat comes from the MM8 assets being redistributed wholesale instead of being diff/patched, so we can save a lot of space just from optimizing that part. I'll look around for a good diff/patch tool for this. xdelta patching comes to mind but we need something that can be used with shell scripting (to automate as much of the process as possible)
Well... According to mmarch there is no one unmodified file in EnglishD.lod (compared to GOG MM8 one). Wonder what size of the patch we will get.
Several things could be done (even before all that). EnglishT.lod, EnglishD.lod and icons.lod should be split. MM7 and MM6 items icons should unconditionally have "7" and "6" prefixes accordingly (you could remember that "boot on face" feature). Same could be applied to players face icons and voice sounds.