greeny / SatisfactoryTools

Satisfactory Tools for planning and building the perfect base.
https://www.satisfactorytools.com/
MIT License
268 stars 57 forks source link

Automate game data & icon update #82

Closed prosser closed 2 years ago

prosser commented 2 years ago
greeny commented 2 years ago

Hi, this looks pretty cool.

However, the issue is that I'm on linux. I'm not 100% sure if the code to find game installation would work on linux as well, but the main problem here is umodel, as I couldn't get that running after several hours of trying, so now I just have a friend send me the exported icons. So I'm not sure this code would have a use.

Regarding the SASS loader version, it was never updated and Circle CI pipeline broke for U5, so I'll be looking into updating that (as well as updating all other libraries and generally doing better job at keeping them updated).

I'm not sure how to proceed with your code, as it's pretty good and definitely would find a use if it wasn't for the Linux issue. There are plans to separate the data parser to a different repository (some attempts were made here https://github.com/SatisfactoryTools/SatisfactoryDataParser, but it needs more work), as well as have the data separate (they will only exist on API side [api is currently closed-source, but will be opensourced eventually] and loaded into the tool via an endpoint).

Thank you for your contribution though. I'll probably keep this open and maybe later when I'll have time, I can use parts of this in the data parser repository.

greeny commented 2 years ago

One thing that you have missing from your code though is to convert Docs.json from UTF16-LE to UTF-8 (cause JSON standard only allows UTF-8 and Docs.json are for some reason exported as UTF16-LE). It's a step that's also missing from readme (to be honest, I didn't really add it to readme as I never thought someone would read it, not to mention trying to run the tools localy).

prosser commented 2 years ago

Oh, I actually did have that UTF16-LE conversion, but did not commit it for some reason. I'll fix that!

For the Linux issue, I may have a solution, but I'm running Ubuntu on a Hyper-V right now, and just didn't do thorough testing. The Unreal Engine export code isn't terribly complex, so I could polish that up if you are interested.

greeny commented 2 years ago

I couldn't get umodel to run, it requires libpng or something with a version that's no longer supported on latest ubuntu and I had no success of getting that library (from downloading prebuilt binaries to building it from source locally). Maybe it's just a mistake on my side, but I couldn't be bothered to spend more time on this, as this process is mostly used just for big updates which come like once or twice per year. We can talk more about this on discord though if you want (see #83 for my contact info)

prosser commented 2 years ago

Everything should work on Ubuntu 20.04 (or later, maybe?) now.

greeny commented 2 years ago

I'm not sure about including umodel into git, unless it's some special version. Even then I'd probably do a fork or something and use that, instead of polluting this repository.

prosser commented 2 years ago

I'm not sure about including umodel into git, unless it's some special version. Even then I'd probably do a fork or something and use that, instead of polluting this repository.

The imputed license is BSD-3 (though the author explicitly said "there is no license in this repo"). I'm fine taking it out and replacing with a curl/wget call to download it, if you'd rather. It's not really that different than including all the exported game assets (PNGs).

If you'd rather, I can remove that AND all the PNGs from the repo, and it can all be regenerated quite easily.