Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 thepip
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 ofuncompyle6
. It does not support Python 3.11, so I have adjusted the installation instructions for Python 3.10. Alsoxdis
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 intoxdis
. 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: xforce/neox-tools#19
I also have updated the
Dockerfile
to fix these problems. This include the change fromalpine:edge
topython:3.10-alpine
because the latest version of alpine only has Python 3.11 available. I also added unnpk to thecargo-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.