-
-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Duke Nukem Forever #49
Comments
I'm not sure, isn't this Engine derivation heavily modified? Well I guess it depends on how much they modified the package's format. However I've tried one of the map .dnf files found in the rep you linked, which opened fine without any issues, so that's at least promising :) I would need some .u files and the game's Core.dll to reverse the format, though I'm not promising anything. |
Hey Eliot, I'm the author of the above repo, I have a pretty usable editor for Duke Nukem Forever. Core.dll in DNF was moved into Engine.dll which is in the depot linked above. As an aside it would be awesome if we could get DNF .u scripts decompiled it would really open DNF 2011 modding :) -Justin |
@EliotVU DNF merges Core.dll and Render.dll into Engine.dll, so it's all in one big binary. Keep in mind that the Engine.dll the game ships with has CEG applied to it, which can complicate things if you intend to run or hook code inside it, but there is a version of the dll available with that removed. The actual package format is still very close to stock, and you can even get type information (functions do not decompile properly, of course) in UE explorer if the native tables from UDK are used. Here is a CEG-free Engine.dll, and a few of the .u files (they are normally packaged inside a |
Thanks! It does indeed seem to be very close to the standard format :) |
It's starting to look almost readable :)
|
@DaZombieKiller Thanks, I'll check it out. @JoshSocial np, you're welcome! DNF's is fully decompilable now:
DNF has also extended UnrealScript's features (or at least how it's compiled), those features have also been implemented, but however the syntax is likely off! |
Wow, I never thought I'd see the day. Awesome work!
As far as I can tell the UnrealScript compiler is still intact within the libraries, how complex do you think it would be to recover the intended syntax through that without needing to reverse engineer the entire parser? |
Great work! Never thought I would see this happen. I hate to ask but would it be possible to get a binary of this with UE-Explorer? |
@DaZombieKiller I've looked abit at the Editor.dll but couldn't retrieve the names, they are imported from the DNCommon.dll. Nor the did the parser code that handles the "vect" constant seem to have any other names (which I did assume based on the existence of the VectorX/Y/Z tokens). Oh well they might be out there somewhere but it's not something I'll be looking into a.t.m. |
@jmarshall23 I will, but the current UELib 'develop' branch is incompatible with the current release of UE Explorer, I've tried to merge them to a compatible branch but no success. Therefor the release is currently blocked until the next release of UE Explorer. I'll try to get a preview build ready to release in this thread asap. |
p.s. Some property tags fail to decompile, such as arrays of UObjects, among some other types. I'll fix these first if possible (i.e. not dependent on package linking) |
That would awesome if we could those working! I have the DNF 2011 UnrealScript compiler completely working, right now I have it so it can build my new mod uc package only, because the decompiled stuff isn't compilable yet, but we've be able to do some cool stuff just using the decompiled scripts as reference: https://github.com/jmarshall23/DNF-reimposition/tree/main/dnModIce/Classes Like we've been able to create a new console class and fully re-enable the dev console. We've been able to make new monsters as well. It would be really awesome if we were able to get the scripts to a point were they could just be recompiled, that would really open the door to some cool stuff. |
@jmarshall23 Great stuff! Yes that would be awesome, I'm not sure if this will ever reach a 100% without any manual editing, but we're getting close here! p.s. https://github.com/UE-Explorer/UE-Explorer/releases/tag/Release-DNF_Preview |
I've been looking into DNF a bit more recently, and I just wanted to mention that the unknown specifier mentioned here is I should also note that while DNF inherits UE2's implementation of delegates, some of the values are a bit different.
|
Closing this one with #85, it's gotten stale, and support for DNF has been out for a while now even if it's not perfect. Feel free to open a new issue for any particular issue with DNF. |
Hi, i saw this library for UnrealScripts and i would like to ask if it's possible to add support for decompiling Duke Nukem Forever .u scripts. I'm asking this because right now there's an ongoing project aiming to restore the level editor of the release version, the project is progressing really well and it already features a script compiler, but the actual script editing is missing, so would be nice to have a way to decompile DNF .u scripts. Here's the Github repo of the DNF 2011 Editor restoration:
https://github.com/jmarshall23/DNF-reimposition
The text was updated successfully, but these errors were encountered: