Open GloriousEggroll opened 6 years ago
Thanks for the thoughts.
Nr.1 is a really simple change, though I've found it to be quicker to download the cache files through curl than letting Warframe do that itself. And I've yet to see a single download time out either, so I assume that'll be different depending on the CDN node. So maybe there should be another launch switch on that.
When it comes to numbers 2 and 3, I'd personally prefer to do them through native actions, but I guess letting the launcher do it wouldn't be a massive issue. I assume that the DirectX redist in /Drivers/DirectX9
lacks some of the pieces that a Wine install would need?
@ananace it may be faster on curl when downloading the entire game, but it won't allow for incremental updates like the official warframe.exe handles. This was the big issue a lot of people came to me with when I had it set up this way. Especially those on potato-net
also - another really easy one - steam passes -registry:Steam as a launch option by default, you can just add an empty string like "" then add an option to detect it that replaces it with " -registry:Steam" then tack it on to all the warframe.exe launch lines. This would allow non-steam users to use it without fiddling with anything. ideally you could do the same thing for the language
The commit I pushed limits files in Cache to only download if they're missing, if the files exist then they'll be kept as is, and left to Warframe itself to manage.
If you don't mind I'm going to split this into smaller issues though, having an epic like this makes it hard to write code for the particular pieces.
that's perfect, I also thought about this for the various issues after making my initial post, i just kept coming across more and more things. it's a great start though for sure!
Split apart this issue into #2, #3, and #4
Please feel free to add some more if you have further thoughts.
Hey man, got around to messing with this thing, have a few suggestions!
The warframe.exe has a proprietary cache/download system, so when updating, you really only want to update things on the index that -are not- in the Cache.Windows folder. Basically just enough to get warframe.exe to run. Then you want to update cache.windows from warframe.exe. This allows the game to update incrementally as it does in the official launcher. If you download everything with curl the game will try to fully re-download anything that changes, as opposed to just updating it incrementally. If you look at the recent changes in my script, I skip updating Launcher.exe (so it doesn't get replaced) and anything in the Cache.Windows folder.
You can add a --firstrun option very easily! Use curl to download directx, run it via start command like you do warframe, with these options like this:
you can also make the launcher write the .reg file and run regedit silently to register it:
wf.reg just needs to contain this:
[HKEY_CURRENT_USER\Software\Wine\DllOverrides] "xaudio2_7"="native,builtin"