eve-echoes-tools
eve-echoes-tools copied to clipboard
Major dependency/build fixes
The current version of this repo does not properly extract the staticdata, because the script decompilation does not work. The main problems are caused by neox-tools because the script_redirect plugin was missing and some dependencies have introduced breaking changes/are incompatible with Python 3.11.
The first dependency that was, as far as I can tell, missing, is unnpk. I am not sure why it is missing, especially because unnpk contains .py files with the same names as neox-tools. So I am not sure if unnpk is really required, but the script_redirect.py
file is trying to load it without sucess.
Going further, it seems like that the uncompyle6
submodule is not working properly. I don't know exactly why, but I have replaced it with the pip
package which seems to be working normaly. This requires an update of neox-tools (refer to the pull request).
The next problem was xdis
, a dependency of uncompyle6
. It does not support Python 3.11, so I have adjusted the installation instructions for Python 3.10. Also xdis
has an hardcoded list of available Python versions, but the latest version are missing. I have added an check and hotfix script that is able to insert the installed Python version into xdis
. This does only work for Python 3.10.xx, older versions have to be inserted manually (there are instructions available). This is a very hacky solution, because the script edits the packaged directly. But because the decompilation is a separate process, it is the only solution (adding the version during runtime does not work).
Because I know that neox-tools is also used for other games, I tried to fix everything in this repo so I don't introduce any breaking changes to neox-tools. Only some slight modifications were required to ensure the pip
version of uncompyle6 gets used if available.
This pull request does not work until the pull request in neox-tools gets approved: https://github.com/xforce/neox-tools/pull/19
I also have updated the Dockerfile
to fix these problems. This include the change from alpine:edge
to python:3.10-alpine
because the latest version of alpine only has Python 3.11 available. I also added unnpk to the cargo-build
section, so it gets build and copied into the final image. This does also include some new dependencies that are required to build unnpk.
I have added detailed installation instructions, both for the manual installation, as well as for the docker build. This does also include a list of the specific packaged and dependency versions. Should some packages introduce breaking changes in the future, these lists can be used to build a functional version of eve-echoes-tools.