Giter Club home page Giter Club logo

ut4x-converter's Introduction

UT Converter Readme file

Codacy Badge

Description

UT Converter is a program that helps converting maps from Unreal (Tournament) previous games to UT3 (2007) and Unreal Tournament 4 (2015).

Notes :

  • Conversion from non unreal/ut games might work, but it's not tested and won't be supported at all
  • This is not a 'plug and play' program, user will have to do manual operations using Unreal Editor to get results.

UT games supported

Here are the different conversion possible :

  • Source Game -> Dest Game (Conversion quality)
  • U1/UT99/Duke Nukem Forever (2001) -> UT3/UT4 (Good)
  • UT2003/2004 -> UT4 (Good)
  • Unreal Championship 2/Unreal 2/UT3/UDK -> UT4 (Medium)
  • X -> Unreal Engine 5 (Not Supported)

Some users reported these games to work for conversion (untested/unsupported from me) :

  • Star Wars Republic Commando
  • Stargate SG-1 : The Alliance

Notes:

  • All: Custom scripts and blueprints are not converted
  • All: Shader materials are not converted
  • UT3: Since there is no actor possible for conversion of ZoneInfo, converted level might appear too dark sometimes
  • U1/UT99 : Meshes (Unreal Engine 1/2) are not converted
  • U2: Staticmeshes have bad UV
  • UT3/UDK: Music is not converted
  • UTx->UT4: Movers are replaced with the only UT4 mover actor, the lift, which may not suit for some kind of movers (such as doors, switches, ...)

Requirements

  • Windows 7/8/10/11 - 64 Bit
  • UT3 or UT4 editor for output converted map
  • Any Unreal (Tournament) game for input map
  • Some minimum skills with unreal engine editors

Installation and quick start


  • Install program by clicking on .exe file
  • Launch program (.exe file)
  • Go to Settings and set the unreal games folders
  • Convert your map in Menu: File -> Unreal (Tournament) -> Convert Map to UT4/UT3 ...

Program Update

  • Uninstall program in windows applications configuration panel
  • Install new version (.exe file)

How to convert a map?

Check wiki page at: UT Converter Wiki


Build and run from source code

  • Install git
  • Install maven
  • Clone project using this command line:

git clone https://github.com/xtremexp/UT4X-Converter

  • Download and install OpenJDK19:
  • Build and run with maven command :

mvn clean javafx:run

  • Package application with maven command (.exe install file will be generated in <project_path>/target/package folder) :

mvn clean install

Notes :

  • UI(.fxml files) can be easily modified with Scene Builder editor
  • ExtractTextures.exe and UtxAnalyser.exe programs have been compiled using modified source code from "UT Package Delphi Unit" by Antonio Corbero
  • Download and install Delphi Comunity Edition
  • Download and extract UT Package Delphi Unit
  • Add the /src/delphi/-.dpr files where you installed UT Package Delphi Unit
  • Open ExtractTextures.dpr or UtxAnalyser.dpr with the IDE

External programs used

These programs are being used during conversion process.

Library / Program Description Author Website
Texture Toolkit
(g16convert.exe)
Unreal terrain bitmap conversion Alex Stewart http://www.foogod.com/UEdTexKit/
UModel (umodel_64.exe) Unreal package extractor Konstantin Nosov http://www.gildor.org/en/projects/umodel
SoundExchange (sox.exe) Sound wave conversion Multiple https://sox.sourceforge.net/
UTXAnalyser.exe / ExtractTextures.exe Texture info / Texture extract
(for Unreal 2)
Me / Modified code of UT Package Delphi Unit by
Antonio Acordero
https://www.acordero.org/projects/unreal-tournament-package-delphi-library/

License

See LICENSE file.

History

See history.md for complete changes history

ut4x-converter's People

Contributors

codacy-badger avatar dependabot[bot] avatar xtremexp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ut4x-converter's Issues

JavaFX packaged application does not start

Application succeed to be packaged (.exe installation file created) but fails to load. Thus latest versions cannot be released to public.

UT4X-Converter.exe
Missing JavaFX application class org.xtx.ut4converter.MainApp

Duke Nukem Forever 2011 Retail Support

Well Duke Nukem Forever 2011, the retail version is a complicated topic.

The engine is Unreal Engine 1, the Unreal Tournament retail release version, which is basically the same as the 2001 version at the core.

And then it has static meshes pulled from Unreal Engine 2, same with Karma physics, the renderer is completely custom, and it has Meqon physics implemented (basically early PhysX).

We have made a custom map editor for the game through reverse engineering, so that allows us to export the maps in .t3d format.
You can download here if you wanna test:
https://www.nexusmods.com/dukenukemforever/mods/3

I'm just wondering if it could be done in the future, since it's still UE1 and now we have basically full 2001 support.

Thanks!

Duke Nukem Forever 2001 - 2011 Support

Yes, believe it or not they were built on top of Unreal Tournament 99, on UE1, with little to no changes to the very first version, i suppose it wouldn't be very hard to make a compability patch, no?

hello

Hello, I'm new to UE4, if you could help me and upload the program or send it to me it would be very helpful, the problem is that in my country it can not be downloaded and I'm really interested.

Harry Potter 2 cos support

since uc2 and dnf"1 are supported, which coincidentally have all binaries available for the same reason as the hp2 prototype, can support for harry potter 2 be added as well?
The Hp modding community does a lot work on those games and made it 64-bit.
There's a lot of people wanting to experiment with it in UE4, it can already be done using t3d and a supported "donor game".
The community's github: https://github.com/metallicafan212/HarryPotterUnrealWiki/wiki/

Integrate umodel

Since umodel license has been updated on 07/01/2022 to MIT (https://github.com/gildor2/UEViewer/blob/master/LICENSE.txt) which allows to distribute it, it can now be directly integrated into UT Convert, so user would no longer have to configure it.
In a second time it would be possible to fork umodel to be able to read unreal 2 texture for example and add extra features maybe some direct interface with java via JNI (Java Native Interface)

Maven issue 1.6.0

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (create-package) on project UT4X-Converter: Command execution failed.

Wont process the UT4X-Conveter command line "clean install -e"

any ideas would be helpful for this IntelliJ IDEA issue I am having. I've even deleted the 1.6.0 out of the repository and even after it reloads it, it still doesnt work.

[UT2004->UT4] - ONS-Torlan - Distorted map geometry and missing textures

Hello, i was wanting to convert ONS-Torlan from UT2004 so i could mess around with it, however when converted and the t3d pasted in, it looks like this:

The terrain is not in the right place and some objects seem to have missing textures:

I followed the conversion instructions closely so im not sure if this is my fault. It would be very much appreciated if you could fix this.

Distorted map geometry and missing textures.

Hello, i was wanting to convert ONS-Torlan from UT2004 so i could mess around with it, however when converted and the t3d pasted in, it looks like this:

The terrain is not in the right place and some objects seem to have missing textures:

I followed the conversion instructions closely so im not sure if this is my fault. It would be very much appreciated if you could fix this.

[UE1/UE2->UT4] - Conversion of movers into staticmeshes

For now, movers are converted into the original mover/brush actor and a staticmesh actor with a default shape.
After, user have to convert manually each brush into the right shape and apply it to the staticmesh actor.
This can take quite a long time for maps with 20/40 + mover.

  • Convert mover brushes into .obj staticmesh file format so they can be imported easily into UE4
  • Replace the current default mesh with the right shape for StaticMesh actor in UT4

Duke 2001 Uv and static meshes

For some reason the UV when importing to UT4 messes up on some areas, some of the texthres become way too small or way too big, and also I'd like to know if there could be a way to import other areas of the map natively as static meshes, since UE4 and UE5 behave better with meshes rather than brushes.

Thanks!

Package & Category Names Incorrectly Assigned

For Textures & StaticMeshes the converted lines are as follows.
"/Game/Converted/RO-Arad-UT2004/Arad_T_SkyandFog_FogRingColor_Mat.Arad_T_SkyandFog_FogRingColor_Mat"

When they should be like this.
"/Game/Converted/Arad_T/SkyandFog/FogRingColor_Mat.FogRingColor_Mat"

This is the UE2 version for reference.
"Arad_T.SkyandFog.FogRingColor"

Also something worth noting, when importing BSPs, all materials in the game need to be loaded, you can do this by filtering for materials, selecting them all with CTRL-A and then right clicking them to prepare the shaders otherwise they don't get applied in UE4.

[Tech] Installer

Use java packager feature to create a .msi file / setup install file.

Unreal 1 conversion does not work

You use ucc.exe to extract textures/sounds/maps etc from unr file with this .bat

cd "C:\UnrealGold\System"
ucc.exe batchexport C:\UnrealGold\Maps\Vortex2.unr Level t3d "D:\Documents\UT4X-Converter\Converted\Vortex2\Temp\LEVEL"

But ucc.exe from Unreal 1 does not know command batchexport
When I try to use ucc from Unreal Tournament 2004
I got this error

Loading package C:\UnrealGold\Maps\Vortex2.unr...
Failed loading package: Can't find file for package 'PlayrShp'

History: UObject::SafeLoadError <- UObject::LoadPackage <- UBatchExportCommandlet::Main

Exiting due to error

Is it possible to convert Unreal 1 level files?

[All] Export as .png instead of .tga

umodel allows to export as .png which has a much better quality compared to .tga.
Converter needs to be modified so textures are exported as .png instead of .tga.

Missing textures and objects not in the right place. [UT2004]

Hello, i was wanting to convert ONS-Torlan from UT2004 so i could mess around with it, however when converted and the t3d pasted in, it looks like this:

The terrain is not in the right place and some objects seem to have missing textures:

I followed the conversion instructions closely so im not sure if this is my fault. It would be very much appreciated if you could fix this.

[UT2003/UT2004] Automation test

Set up automation tests to convert all UT2004 map at once (in batch) and check if some maps failed to convert or there are some issues while converting actors (t3d parsing issues notably).

This would help reduce bugs (mainly while parsing .t3d file) from converter since a more diversity of data (maps, resources) is tested.

No import options

Does this work with ute4 ver.4.15.0 ? I saw your youtube video on converting ut (1999) to ut4 (2015), everything works great and I can follow you till you import into ute4. I don't have the option to import only to import into level, so i pick that option and navigate to where the converted map is. But the map is .t3d and my ute4 wants .fbx or .obj. How do I fix this?

Xnview removal

UT4X converter has been using xnview program to convert generated .dds image files from ucc.exe to .psd files. Since umodel does not export as .dds file, xnview can be safely deleted.

[U1/UT99->UT3/4] Wrong Texture Alignment when PanU/V set

Polygons with Pan U/V values have bad texture alignement for Unreal 1/Unreal Tournament maps
It can be really annoying to manually fix all textures unaligned afterwards.

DmFith converted to UT3 with unaligned texture :

Image

Original t3d polygon surface data:

Begin Polygon Item=OUTSIDE Texture=Starship.Panel.s4 Link=2
	Origin   +00000.000000,-01216.000000,+00000.000000
	Normal   +00000.000000,+00000.000000,+00001.000000
	TextureU +00000.500000,+00000.000000,+00000.000000
	TextureV +00000.000000,+00000.500000,+00000.000000
	Pan      U=160 V=64
	Vertex   -00064.000000,-00064.000000,+00000.000000
	Vertex   +00064.000000,-00064.000000,+00000.000000
	Vertex   +00064.000000,+00064.000000,+00000.000000
	Vertex   -00064.000000,+00064.000000,+00000.000000
End Polygon

Converted to UT3 (with 1.25X scale):

 Begin Polygon Item=Side Texture=DmFith.Starship_Panel_s4_Mat Flags=3584 Link=2 ShadowMapScale=64.000000
    Origin   +01520.000000,+00000.000000,+00000.000000
    Normal   +00000.000000,+00000.000000,+00001.000000
    TextureU +00000.000000,+00000.800000,+00000.000000
    TextureV -00000.800000,+00000.000000,+00000.000000
    Vertex   +00080.000000,-00080.000000,+00000.000000
    Vertex   +00080.000000,+00080.000000,+00000.000000
    Vertex   -00080.000000,+00080.000000,+00000.000000
    Vertex   -00080.000000,-00080.000000,+00000.000000
  End Polygon

Different tests to see how it works.
TextureU and TextureV are used for texture scaling and rotation.
Origin, PanU, PanV are used for texture position.

PanU=0, Origin=(0,0,0)
image

PanU=16, Origin=(0,0,0)
image

PanU=0, Origin=(-16,0,0)
image

Auto-check for update

  • In program settings add a parameter to check for updates at start
  • Modify "check for updates" menu so it if there is no newer version displays a message "No new update"
    else display a confirm message to browse to github release page.
  • When program checks for update, send a request to github api comparing "name" (e.g: "1.1.1") with current version.
  • If a newer version is detected open the github release page.

https://api.github.com/repos/xtremexp/UT4X-Converter/releases/latest
Returns:

  "tag_name": "v1.1.1",
  "target_commitish": "master",
  "name": "1.1.1",
  "draft": false,
  "prerelease": false,

In future version, maybe autodownload the latest release, execute installation program and close converter.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.