The decompilation process is not perfect and has some issues. The For, While and Do-Until flow structures are not correctly decompiled, though they will work as intended. They are generated as follows:
Original | Decompiled |
---|---|
for (start ; condition ; next) |
start; |
while (condition) |
LABEL:
|
do |
LABEL:
|
There are also some problems when there is a switch statement with no breaks in its cases and it has a default case with statements. In this scenario, the default case statements will be written out of the switch.
Case statements are not indented.
Reliability of class variables can be unknown if there is not a function in the same condition.
The EnumCount and ArrayCount pseudo-constants are not generated since they are substituted during compilation with their values. This also happens with enum constants.
The decompilation of functions from other Unreal engine games should work, but any native function called may not be detected correctly because the program has been prepared only for UT native functions. This would lead to "UnknownFunctionXXX" names instead of the correct ones. I will try to expand the process to allow other games functions.
The meshes may be mirrored in X and rotated. It depends how the original model was created. There is no animation support.