isle/tools
2023-11-26 14:57:19 +01:00
..
checkorder Python Linting and Code Formatting (#298) 2023-11-25 13:27:42 -05:00
isledecomp Python Linting and Code Formatting (#298) 2023-11-25 13:27:42 -05:00
reccmp Python Linting and Code Formatting (#298) 2023-11-25 13:27:42 -05:00
verexp Python Linting and Code Formatting (#298) 2023-11-25 13:27:42 -05:00
README.md Update README.md [skip ci] 2023-11-26 14:57:19 +01:00
requirements.txt Python Linting and Code Formatting (#298) 2023-11-25 13:27:42 -05:00

LEGO Island Decompilation Tools

These are a set of Python tools for helping with the decomp project.

Installing

Use pip to install the required packages:

pip install -r tools/requirements.txt

Overview

  • reccmp: Compares the original EXE or DLL with a recompiled EXE or DLL, provided a PDB file
  • verexp: Verifies exports by comparing the exports of the original DLL and the recompiled DLL
  • checkorder: Checks OFFSET declarations, ensuring they appear in ascending order within a unit
  • isledecomp: A library that is used by the above scripts, it has a collection of useful classes and functions

Testing

isledecomp has a small suite of tests. Install pylint and run it, passing in the directory:

pip install pytest
pytest tools/isledecomp/tests/

Development

In order to keep the code clean and consistent, we use pylint and black:

pip install black pylint

Run pylint (ignores build and virtualenv):

pylint tools/ --ignore=build,bin,lib

Check code formatting without rewriting files:

black --check tools/

Apply code formatting:

black tools/