A command line tool to de- and recompile .xq files from various 3DS games by Level5.
It supports all known format specifications.
Various options have to be set to properly use the command line tool.
Option | Description |
---|---|
-h | Shows a help text explaining all the options listed here and examples on how to use use them. |
-o | The operation to execute. Has to be followed by either:d to decompress a scripte to extract a script to human readable codec to create a scripot from human readable code |
-t | The type of .xq file to process. Is only necessary for operation c . Has to be followed by either:xq32 xseq |
-f | The file or directory to execute the operation on. |
In the file methodMapping.json
instruction types, that are not known by the program (see "Instructions" in the script specification), can be mapped to a human readable name.
Since those unknown instructions are normally game specific logic, they have to be figured out by the user and added to the mapping for themselves.
If an unknown instruction type has no corresponding mapping, its name will be set to subXXX
, where XXX
is the instruction type.
.xq scripts can call methods from within themselves and other .xq scripts currently loaded in the engine. Normally, those calls happen via the CRC32/CRC16 of the function name to invoke them.
To resolve those checksums back into human readable names, reference .xq scripts can be placed in the folder reference
next to the command line tool.
It is recommended to put every .xq script of a game in the references to have the highest probability of properly resolving all checksums.
However, there is no guarantee that a checksum will be resolved.
To extract a script to human readable code:
XtractQuery.exe -o e -f Path/To/File.xq
To create a XQ32 script from human readable code:
XtractQuery.exe -o c -t xq32 -f Path/To/File.txt
To decompress the tables in a script (see "Compression" in format specification):
XtractQuery.exe -o d -f Path/To/File.xq