Repository navigation
The native renderer starts drawing, and render supersampling goes back to 1x —
which is the change you will actually feel.
Render supersampling is locked at 1x again
If the game got slower for you after the last build, this is the fix.
Supersampling had been unlocked. That turned out to be a mistake, and an
expensive one to diagnose: a fight dropped from 60 to 35 fps. Worse, a 2x
saved by an older version came back to life on its own the moment the lock was
removed — so the game got slower after an update, without anyone choosing
anything.
The reason it hurts so much is specific to this engine. The game advances one
simulation step per vblank, so a saturated GPU does not lower your frame rate,
it lowers the speed of the game. Measured on an RTX 3060 Ti during a fight:
1x keeps the GPU around 25%, 2x pushes it to 98%.
An option whose effect a player cannot interpret is not an option, it is a trap.
The launcher now also migrates old configurations back to 1x, so nobody inherits
the problem.
Native renderer
The long-term goal is drawing the game directly through Direct3D 12 by reading
the game's own structures, instead of emulating the Xbox 360 GPU. This release
puts the foundation in place and ships the first visible part of it.
The native layer runs on every frame now, with its own pipelines, shaders,
intermediate targets and barriers, and it owns the final image:
- Contrast-adaptive sharpening. The game draws at 1280x720 and the image is
scaled up to your display, which softens everything. The amount of sharpening
is derived from each pixel's own neighbourhood, so it recovers detail without
the halos around edges or the amplified noise in flat areas that a fixed-
strength sharpen produces. Adjustable in the launcher, default 55%. - Blurred, darkened backdrop behind the settings menu, so the text stays
readable over any scene.
To be clear about what this is not: the scene is still drawn by the emulated
GPU path. The native renderer post-processes the finished image; it does not
draw geometry yet. Progress toward that, and what is still missing, is in the
README.
Settings menu fix
Opening the in-game settings screen once was enough to break your configuration.
String values were written to the TOML without escaping, and a Windows path made
the whole file unparseable — so every setting silently reverted on the next
start, including the GPU plugin. The game then came up with no GPU emulation at
all: a black screen, with nothing in the log pointing at the cause.
Fixed, and the config is now loaded before paths are resolved, which also makes
game_data_root in the TOML actually work.
Also in this release
- The launcher's support section was removed.
- The whole project is now in English: README, contributing guide, tool docs,
file names and the settings descriptions you see in-game.
You need your own disc
This release contains no files from the UFC Undisputed 3 disc. ufc3.exe is
only the translated code. The content — textures, audio, video, models and
fighter data — still comes from your disc, and without it the game does not even
start.
The launcher verifies through the XEX header that the image really is UFC
Undisputed 3 (title ID 5451087D) before continuing.
How to use
- Download and extract
ufc3recomp-v1.0.2-win-x64.zip - Run UFC3 Launcher.exe
- Point it at the ISO of your disc, or at an already-extracted folder
- Click Extract and play
No compiler, CMake or any other tool required.
Known limitations
- Some torso textures break in the Create-a-Fighter screen.
- Keep VSync on. With it off and no frame limiter, the guest vblank runs at
1000 Hz and the game runs about 16 times too fast. - Programs that inject overlays into Direct3D (RivaTuner, MSI Afterburner,
recording overlays) are a common cause of crashes in D3D12 applications. If
something odd happens, test with them closed.
Requirements
Windows 10 or 11, 64-bit. A Direct3D 12 capable graphics card.
Verification
ufc3recomp-v1.0.2-win-x64.zip
SHA-256: 2A01A24EE7BA55F172E61F6B72F039459A29E18C4A54AB4B7DBCAA65ADBE5F50