Page 1 of 1

UT2004 Native SDK (reverse engineered)

Posted: Thu Apr 08, 2021 5:49 pm
by Skrilax_CZ
Hi,

I know that this is not UT2004 forum but though I'd publish this here as well as perhaps people might find this interesting.

Because core aspects of the UE2 engine are very similar to UE1, I was able to take the public headers released for UT v432 and adjust them via reverse engineering to work on UT2004 libraries. Because this is reverse engineered, there's only support for Object, Interaction, Actor classes (think I added Volume as well), of course, you can add the remaining by exporting the header from UScript but then you also need to check the vtables (so be careful when doing this).

The following works with 32-bit and 64-bit Windows (64-bit has to use numbered functions). UT2004 uses Microsoft Visual Studio .NET 2003 for 32-bit (yes, oh god why ....) version and Visual Studio 2005 64-bit version.

I've used it on LDG for music download (for those unfamiliar, UT2004 uses ogg for music and it cannot be downloaded from the server) and included an example to play with: download the attachments, place them in the UT2004 folder and compile the DLL and then use "CmdDownloadMusic http://www.someurl.com/somemusic.ogg somemusic".

Technically, if someone was to follow up it's not very difficult to adapt these to Unreal 2 and/or UE2 Runtime. It would require looking up the ABI of the release and adjust it to match.