-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework Dependencies #96
Comments
There are a few things that can be done:
Compiling our own version of FFMPEG could help reduce file size of the avcodec, avformat and avutil DLLs, but it probably won't help reduce the number of DLLs, and figuring out how to compile it is not easy. I don't know if merging everything into a single DLL is realistic, but if the goal is just to have fewer files we could put the DLLs in archives and unpack them on mod loader startup or something. As for something that could be done right now:
|
Yeah, I plan to merge the installation of the dependencies in a single task, but it's gonna take a bit since the class wasn't made with multiple downloads in mind. As for Task.Delay, it's been a while so I don't recall why they got implemented, but I can probably reduce or remove some. As for moving to 7z, one issue is all the previous versions of the Manager will continue to look for the zip link, which would force us to have both the zip and 7z version hosted and I'm not super fan of that, but I don't think there is any other solution sadly, unless there is a way to redirect the link. Meanwhile FFMPEG gets implemented, we can probably implement the manifest already since I think the most important part is to not re download the dependencies every time. |
I was able to rework bass_vgmstream and its vgmstream submodule to reuse the same avutil, avcodec, avformat and swresample DLLs as those required for the FFMPEG player. avcodec and avformat DLLs are much larger than vgmstream-exclusive DLLs but at least we won't need two sets of DLLs anymore. |
Very nice, this will become much more manageable. |
Now that I learned that the archive is shipped inside the Manager's EXE, this point doesn't make sense to me. |
Currently the dependencies have two issues:
Possible Solution:
Ideally, I'd love to be able to do the last solution with BASS, as I don't like how it requires 14 DLLs alone, but sadly merging them would be complicated.
The text was updated successfully, but these errors were encountered: