Repository navigation
Releases
T5DR Online 1.2.2
A fix release for 1.2.1: the music no longer sticks on one stage's theme for a whole set, no more doubled
sounds under heavy rollback, a warning when a challenge's input delay is much lower than the ping needs, and clearer
build messages (European and Japanese editions, the .rap license file, the PS3 key download). Both players need
1.2.2 (the lobby pairs equal versions only).
Online
- Music stuck on one stage's theme for a whole set (rollback, mostly with input delay 0): when the stage's music
started in the first frame of "Fight!" and a rollback ran that frame again, the game never changed the music again
until it was closed. The first frames after the intro now wait for the opponent's input (no rollback can reach the
music start). With input delay 2 or more there is nothing to wait for. - Sounds no longer start twice when a rollback begins right where the previous one ended (frequent with input
delay 0): the second rollback started every sound of its frames again. - A challenge with a very low input delay says so: when the chosen delay is 2 or more frames below what Auto picks
for the ping (at 65 ms: 0 instead of 2), the card and the chat line say "Low for 65 ms (Auto: 2): expect heavy
rollback and slow loading screens."
Launcher and help
- The build messages now say what is true since 1.2.1. The European Online edition (NPEA00019 version 02.00 /
02.01) is online and offline and plays the US version; the European release 01.00 is offline only and cannot go
online (no "later update" any more); the Japanese release (NPJB00001) has different game code and cannot be built
(the build says so plainly). README, docs/EU.md and "Check my problem" match. - "Choose your license file (.rap) first" now says what the .rap is (the PSN license of your own purchase,
UP0700-NPUB30009_00-...raporEP...rap), where it comes from (your PS3's exdata folder, or the tool you used
to back up your own purchase) and that the game cannot be built without your own license. The Build tab's license
line says the same. - A missing internet connection for the public PS3 key data (a few KB from github.com, needed once) is retried
3 times with a short wait before the build fails; the message asks you to check your internet or firewall.
Download
T5DR-Online-1.2.2.zip below. Unpack it into a folder of its own, start T5DR Online.exe, pick your own .pkg and .rap (Tekken 5: Dark Resurrection Online, PS3 PSN, NPUB30009 v01.00) and click BUILD GAME. Nothing else needs to be installed.
The zip contains no part of the game -- no game files, no translated game code, no keys. It was scanned for all three before it was published.
| SHA-256 | e9f9bab2162dbcbdf76298155b77261c9b98bb246801aa8b5e5eb377a622eff0 |
| Compiler in the zip | LLVM 23.1.3 (clang-cl, lld-link), used on your PC to build the game code |
| Python in the zip | CPython 3.12.10 (private copy, with tkinter and pycryptodome) |
| ps3recomp | f17bcd3 + 93 patches from patches/ps3recomp |
| Code ID | 720b66df7cb4686d (the launcher asks for a rebuild when this changes) |
| Source | db9711a5025f9e7ad1431b96d3b293c41bc29b69 |
Check the download: certutil -hashfile T5DR-Online-1.2.2.zip SHA256 (Windows) or sha256sum -c SHA256SUMS.
T5DR Online 1.2.1
A practice menu like in newer Tekken games, faster play on old PCs, an "online feel" for the input delay, a
connection line, search options, "Remove my data", one-click problem reports to the developer and better Linux /
Steam Deck support. In offline Practice, START now opens a practice menu: the dummy dashes, backdashes, wavedashes
or counter-attacks after a block or hit, 8 recording slots per character are kept on disk, and you can restart at the
round start, a remembered place or at the walls. Old PCs (2-core processors such as an i3-2100 / i3-3240, graphics
cards from 2012-2013) get the new Old PC settings by themselves, and the game's sound and vector math cost less
processor time on every PC. Both players need 1.2.1 (the lobby pairs equal versions only). After the update press
BUILD GAME once, as the launcher asks. Search options, "Remove my data" and sending problem reports need the
updated lobby server; on an older server they simply do not appear.
Practice
- Practice menu. In offline Practice, START opens a menu over the fight (the game's own pause menu is one item
in it, GAME'S PAUSE MENU). Up / down choose a line, left / right change it, 3 does an action, 4 or START close it.- Dummy: besides the old choices it can dash in, backdash, backdash cancel or wavedash in a loop, and
counter-attack after a block, after a hit or after either -- every time or every 2nd to 5th time -- with a
recording slot you choose or a random recorded one. - Recording: 8 slots per dummy character (5 before), kept on disk for the next session; play once, in a
loop, or a random recorded slot each time. - Restart: at the round start, at a remembered position (SELECT + START remembers both fighters' places), or
with the dummy or you at the wall ahead or behind; sides switched; the dummy back turned. SELECT + 3 goes there too. - Settings: a simulated input delay of 0-6 frames for you (to practise for online matches) and the training
display (off / inputs / inputs + frame data). - Offline Practice only; online matches and other modes are unchanged.
T5_PRACTICE_MENU=0gives START back to the
game.
- Dummy: besides the old choices it can dash in, backdash, backdash cancel or wavedash in a loop, and
Speed and old PCs
- Sandy / Ivy Bridge PCs (AVX without AVX2) get their own build level. BUILD GAME picks AVX instead of the plain
x86-64 baseline there, with the fused multiply-add done in software exactly as before (the game state is the same on
every CPU, so these PCs still play everybody online); the main thread needs about 5 % less processor time on an
i3-3240. Newer PCs are unchanged (docs/BUILD_PERF.md, docs/PERF122_RUNS.md). - Old PC settings. Settings -> Graphics has a new Old PC button: like Lowest, with the effects off too. On a
2-core processor or an old graphics card (resource binding tier 1) the launcher chooses it by itself once, as long
as you have not changed the graphics settings. "Lowest" itself is unchanged. - Less processor time on every PC. The game's sound core and the fighters' skinning jobs keep their registers in
the processor (about 7-10 % less time), and the game thread's vector math runs four values at a time (about 5 % less
time in fights). The results are exactly the same as before, bit for bit, so a 1.2.1 game stays in sync with any
other 1.2.1 game on any processor. - Check my problem now says when a processor is too old for the game (no SSE4.1, e.g. Core 2 Quad Q6600, Phenom II)
before you build. - New minimum requirements in the README: a processor with SSE4.1, a DirectX 12 (feature level 11_0) graphics card and
4 GB RAM; 60 fps in fights from a 4-core processor of about 2011 (Core i5-2500 + GeForce GT 730).
Online
- Rematch controls respond to short taps over a relay, and the rematch prompt keeps pad and keyboard focus
when the launcher updates the match state. - Completed set scores stay visible when the game returns to the lobby, including the rating result.
- Round scores use the fighters' counters correctly after the edition-aware address conversion.
- Online fullscreen uses borderless mode, including when exclusive fullscreen was selected, so switching
between the game and launcher does not interrupt the match. - Throw breaks work online, including during rollback. Both players need the rebuilt 1.2.1 game;
new recordings use replay format 8. - Practise while searching. Start Practice while waiting for Quick or Ranked Match; when a challenger is ready,
answer the ready check and move into the online match. - EU Online edition builds no longer need an experimental opt-in.
- US and EU Online PCs can play the same match (rollback and lockstep): the two programs lay the game out
differently, so a mixed session hashes the state in the US program's canonical layout (addresses and pointers are
compared by what they point at), the EU game uses the US deadlines for the round timers, and its random streams are
keyed by the US call sites. Same-edition sessions are unchanged (US/US and EU/EU hash exactly as before). Mixed
recordings use replay format 9 and play back identically on either edition. In the lobby (Quick, Ranked, rooms,
challenges) a US and an EU Online launcher of this release meet: each build declares the same crossplay group (its
build stamp and release.json), the launcher sends it with its edition, and the server accepts it only for those
programs. Anything else (EU v01.00, other releases, older launchers) still needs an identical build ID; the
operator can switch it off (T5L_CROSSPLAY=0) or narrow it (T5L_CROSSPLAY_GROUPS), docs/COMPATIBILITY_GROUPS.md.
The European Online edition can now log in to the lobby. - Online feel (Settings -> Online input delay, for Auto): Responsive (the 1.2.0 pick), Balanced (default:
one frame more when the slower PC cannot keep up with its rollbacks) or Smooth (more delay, fewer and smaller
rollbacks). Each game measures how deep a rollback its PC can run inside a frame and remembers it for the next match.
Different choices meet at Balanced. Fixed delays and ranked are unchanged. - Connection line (Settings, off by default; F3 in the game): one line at the bottom of an online match with
the ping, the input delay, rollbacks per second and the deepest one, direct or relay, and your fps. - Search options for Quick and Ranked match: the highest ping you accept, no opponents on Wi-Fi, only opponents
whose PC keeps 60 fps; your area and language are shown in the lobby and on rooms. The more you choose, the longer
the search can take. Needs the updated server. - Remove my data (Online tab): removes your account on the server (profile, rating, friends, blocks, saved
logins; your matches stay in other players' history as "deleted player") and, if you want, the online data on this
PC. Nothing is removed before you confirm twice. Needs the updated server.
Launcher and help
- The lobby uses the launcher's Tk interface, with pad navigation and match controls in the same window.
- Replay viewer: browse recordings, pause playback and seek through a match.
- Replay controls and the clip hotkey help display their translated characters correctly in all languages.
- Clips: keep a rolling video buffer and save the recent action during a match with the clip hotkey.
- Hidden games stay silent. A persistent game waiting behind the launcher no longer plays menu or game audio.
- Shader warm-up starts correctly after a build and keeps its background game silent.
- Building from OpenRecomp-FGC uses T5DR's bundled Python, including its decryption support, even when the
launcher's portable interpreter has no pycryptodome installed. - Closing the launcher while its first-start controls hint is open no longer tries to save destroyed widgets.
- A challenge or an invite now plays the announcer's "A new challenger!" (from your own game files; the chime when
they are missing). A found match still plays "Get ready for the next battle!". New setting Sound for a challenge. - The game edition is no longer shown as [US] after every player's name (players read it as where someone lives);
only a player with another edition than yours is marked ("EU edition"). - Beside the new launcher: if the game is started from OpenRecomp-FGC while this launcher is searching, the search
stops (you stay logged in); the Online tab says when OpenRecomp-FGC is open (you can be online in one launcher at a
time), and the search line says how many other players are searching with a different build. - Report a problem sends the report straight to the developer with one click (Send to the developer); you can
still save the zip. Your logs are cleaned as before; no game files, keys or passwords are sent. Needs the updated
server; on an older one only Save is offered. - The Discord button is now OpenRecomp-FGC Discord (one server for T5DR, Tekken 4 and the new launcher), and a
New launcher button opens the releases page of OpenRecomp-FGC, the optional launcher with Tekken 5 DR and
Tekken 4 in one window. This launcher keeps working.
Linux and Steam Deck (Proton, Wine)
- The launcher looks for the game package in your Linux Downloads, Desktop and Documents folders, and saves "Report a
problem" on your Linux Desktop (your Linux user name is removed from it). - Check my problem explains a dark blue game window (the game's graphics did not start, GitHub issue #26) and what
to try. - The game log's
[wine]line says which Direct3D 12 and which shader compiler the Proton prefix has. - New guide
docs/LINUX_STEAM_DECK.mdwith a test checklist for Linux players.
Download
T5DR-Online-1.2.1.zip below. Unpack it into a folder of its own, start **T5DR Online.exe...
T5DR Online 1.2.0
Tekken 5: Dark Resurrection Online 1.2.0 (pre-release: test build). Please test it and tell us what you find. Not for everyone yet: the launcher will not offer it as an update until it is marked as the latest release.
Casual first-to sets, an in-game rematch you answer with your pad, rooms with several tables that you can watch while you wait, input delay up to 8 frames, "always see me on the left / right" that now draws the whole HUD, more picture formats, and a long list of fixes.
Both players need 1.2.0 for online play, because the game's code changed. After you update, press BUILD GAME once, as the launcher asks. The lobby server must be updated for the new lobby features; on an older server they simply do not appear. The European release still plays offline only.
Get it
A pre-release is not offered by the launcher's automatic update. Update by hand:
- Download
T5DR-Online-1.2.0.zipfrom this page and extract everything into a new folder. - Copy your old
nativefolder into it. This keeps the unpacked game and your saves. - Start
T5DR Online.exe, and press BUILD GAME when the Play tab asks (about 2 minutes; only the code is rebuilt).
First time here? Extract the zip, start T5DR Online.exe, choose your own package (.pkg) and license (.rap) on the Build tab and press BUILD GAME. Nothing of the game is in this download.
New, optional: the OpenRecomp-FGC launcher
There is now a second launcher, OpenRecomp-FGC (pre-release): Tekken 5 DR and Tekken 4 in one window, with a new Online page (player table, chat on every page, ranked card), grouped settings and a simpler Build page. It is optional: the T5DR launcher in this zip keeps working, and both can use the same T5DR install. Be online in one launcher at a time.
Known issue in OpenRecomp-FGC 0.1.0: on a fresh install the T5DR Lobby address field is empty and login fails. Type T5DR Online into that field once. Fixed in the next launcher version.
New in the game
Rematch inside the game
After a casual match (Quick Match, challenge, invite) a panel appears in the game: accept or decline with your pad (the panel shows your own buttons, or the keyboard keys), with a 10 second countdown and your opponent's answer shown. If both accept, the rematch starts in the running game, without the launcher coming to the front. Decline or time out and you are back in the lobby. Mashing buttons at the end of a match cannot answer it by accident. It is on by default when both players have 1.2.0 and the server is updated; otherwise the launcher's Rematch buttons work as before. Ranked sets, community rooms and training rooms keep their own flow.
Rooms: watch your table while you wait
In a community room you now watch the match at your table automatically while you wait for your turn (like Tekken 8's lobby). It is on by default, with an Automatically watch checkbox in the room view (and in Settings > Spectators). When your turn or the ready check comes, the spectator game closes at once and does not slow your own match down; when the next pair starts, you watch that one. Private rooms: members only. Un-tick the box and it stops immediately. The old "watch while idle in the lobby" option stays off by default.
Known limit: after your first room match your game stays open for the next match, and auto-watch does not start again until it is closed.
Always see me on the left / right, now with the whole HUD (GitHub issue #31)
Settings > Screen side (or the casual row in the Online tab): As dealt, Always left, Always right. In a mirrored fight both life bars now show and drain like the normal ones, names and ranks sit at the outer edges, and the round-intro player strip is mirrored with the fighters. It changes only your own picture and controls, in casual matches. Some one-sided details (a scar, writing on clothes) still look reversed in a mirrored picture.
Picture formats
Settings > Picture format: Whole picture (default), Fill the screen (no bars, edges cut), Stretch, 4:3 (the middle of the picture) and True 4:3. For 16:10 and 3:2 laptop screens use Display > Window, my own size. True 4:3 makes the game itself draw a real 4:3 picture (3D view and HUD laid out for a 4:3 TV). It works offline only; online you get the plain 4:3 middle of the picture. All other formats change only what you see, so the two players of a match can choose differently.
Moonlit Wilderness and the other soft-focus stages
Thin dark lines at the bottom and right edge of the picture on Moonlit Wilderness, the misty swamp and the other stages with the soft-focus effect (when Stage blur / glow is On) are fixed.
The announcer when a match is found
A challenge, a found match or a tournament set now plays the game's announcer line "Get ready for the next battle" instead of the chime. The sound is read on your PC from your own installed game and never leaves it; if it cannot be read, the old chime plays. Settings > Sound when a match is found: Announcer (default), Beep, your own short WAV file, or Off, with a Play button.
Intros skipped online, round endings skipped on request
Online, the fighters' intros at the start of a match are skipped for every pair that both have 1.2.0 (casual, ranked, tournaments; it needs the updated server). The loading screen's "Get ready", READY and FIGHT stay as they are. The replays after a round are skipped online too when both players tick Skip replays after rounds (off by default). Both PCs do exactly the same, so matches stay in sync and their replays play back the same.
Offline, Settings > Round endings skips the between-round replays and animations by themselves (off by default). In Versus both players' replays are skipped; in the one-player modes only yours, Arcade never opens "new challenger", and nothing is pressed while you hold SELECT.
Practice: Reset waits until you stand
SELECT+3 in Practice used to reset while a fighter was still flying or lying down. Now the reset waits until both fighters stand (a hint says so, at most about 4 seconds).
Casual first-to sets
Challenges, invites and casual rooms can be played as a set: FT1 (default), FT2, FT3, FT5 or FT10. The next game starts by itself after a short countdown; the set ends when someone reaches the target. A set changes no rating. Quick Match is still one game, ranked keeps its own rules.
Input delay from Auto up to 8 frames
The box next to Challenge offers Auto and 0 to 8 frames. Auto picks from the measured ping (1 frame up to 60 ms, up to 8 above 350 ms); both games get the same value. Ranked stays fixed by the server.
Lobby and rooms
- Rooms with several tables: the host of a casual community room can run several matches at once. Sit out, pick a table to watch, the host can change a pair that has not started.
- Private chat and mute: write to a player privately (only while both are online, no history, not end-to-end encrypted). Mute hides a player's chat, mentions and invites for you.
- DEV badge and @name mentions with Tab completion. A chat filter blocks hate terms in chat and in new names.
- Ranked per fighter: your profile lists every fighter with games, wins, losses, draws and win rate.
- An online game starts as in 1.1.9 (logos, movie, title, select). The test builds' black "Connecting..." screen is off (
T5_ONLINE_FAST_BOOT=1in Extra settings brings it back). - SELECT always closes a replay or a live watch.
Fixes
- START + SELECT together no longer resets an online game.
- White costume online: a missing or refused custom costume now falls back to a plain one on both PCs.
- Practice dummy recordings follow the dummy when it is on the right.
--search ranked/--search casualon a built game waited for the wrong thing: fixed.- A rematch after a casual challenge or room game now goes on in the running session and respects the players' stage and side wishes.
- If the lobby's usual port is blocked, the launcher can fall back to TCP 443 (only when the server has it on).
- "Host for friends" from the release zip starts again (it refused: "Cannot load the chat filter"). A chat line the filter refuses now says why.
- On a relayed connection two launchers could keep answering each other's punch packets for the whole match: fixed.
- The launcher saves its settings safely, asks before building on an old Intel graphics chip, and works with copy and paste on non-Latin keyboards. Shader warm-up now runs in the background after BUILD GAME.
Europe
Unchanged: the European PSN release (NPEA00019, version 01.00) plays offline only. Online play for any European package is not supported, and European and US builds are never matched. The European Online edition (v02.00 / v02.01) is not part of this release.
Experimental, off by default
PS3_VRR_PACING=1or2(Extra settings): even frame pacing for variable-refresh screens. Mode 2 needs the game window in front. Whether it helps is not measured.T5_RB_NET_ADAPTIVE_DELAY=1: a little more input delay from the ping spread. Not measured.- Watching automatically while idle in the lobby.
Not in this release
- Sidestep from a crouch is not done.
- True 4:3 online is not possible yet: the 4:3 camera changes game state, so the two PCs would drift apart. It stays offline-only.
- Frame data for some moves can still be wrong.
- No Linux or macOS build is part of this release.
What we checked, and what not
Checked with the real game: rollback and lockstep pairs for the rematch (28 matches), the mirrored HUD, picture formats, the online intro skip and the offline auto-skip, the room tables and auto-watch, casual sets, delay and screen side, replay playback (e...
T5DR Online 1.1.9
Fair ranked sets, several challenges at once, frame data for every hit, "always see me on the left", the European
release offline, and a launcher crash fixed. A crash or a lost connection between two games of a ranked set no
longer loses the set: you have 90 s to come back and the set goes on with the same score and sides; only the
Leave set button gives it up at once. The leaderboard counts ranked and casual games apart. In the lobby you can
send up to five challenges and cancel them, pick the input delay as the challenger, and sort the player list. The
training overlay shows every hit of a string on its own line, active frames like i13~14 and KND, at the top or the
bottom of the picture. Casual matches can show you on the left as P2. The European PSN release (NPEA00019) now
builds and plays offline. Also fixed: the launcher closing by itself now and then (Python's memory clean-up in the
wrong thread), a phantom DirectInput pad pressing buttons by itself, and HP bars flickering online with an unsteady
ping. Both players need 1.1.9. After the update press BUILD GAME once, as the launcher asks.
Launcher
- Python's garbage collector runs on the Tk thread only (
launcher/tkgc.py): closed windows' pictures, variables and
fonts were freed in whatever thread allocated (the lobby client, workers), and a Tk interpreter freed there aborts
the process (Tcl_AsyncDelete). Stress test of the real launcher:tests/launcher_gc_stress.py(also from a release folder). - Several open challenges at once (up to five, to different players) with a Cancel button each; the first one accepted
starts the match and the others are withdrawn on both sides; the lobby chat has a line for each step. - The challenger chooses the input delay (Auto, 0, 1, 2) in a box left of Challenge; the challenged player sees it on the
card; the match and its rematches use it (needs a 1.1.9 server). - The player list sorts by player, rank, status or ping (click the heading, remembered); players you cannot play right
now come below an "Unavailable" line. - The leaderboard shows ranked and casual wins and losses in their own sortable columns (an older server: the Record column).
- Texts in all seven languages.
Lobby server
- Leaving a ranked set is judged smartly (owner's decision). Only the Leave set button counts at once: the
leaver loses the set, the other player wins it and gets the points. A crash, a closed launcher or a lost
connection between two games (or before the next game's fight began) gives the player 90 s to come back
(T5L_SET_AWAY_SECONDS): the launcher reconnects, or the player starts it again and logs in, and the set goes on
with the same score, sides and characters. The other player sees "Alice is reconnecting -- 60 s left". Not back
in time: the leaver loses the set and the other player gets the points; both gone: the set does not count. 1.1.8
scored a closed launcher as a lost set at once, even when the player was back 5 s later. - The history says who left a set and how: "set won 0-1 (your opponent left the set)", "set lost 1-0 (you did not
come back within 90 s)". - The sides of a ranked set stay the same in all its games (owner's decision): the coin is thrown once, when the
set begins. Best-of-3 sets already kept them in 1.1.7; now also a game played again after a player came back,
and the ranked rematches of launchers without sets (they drew the sides again each time). Quick matches keep
their coin per match. - The leaderboard counts ranked and casual games apart: each row now has ranked wins/losses and casual wins/losses
(games, as on the profile; every game of a ranked set counts). The old fields stay, so older launchers show the
board as before; the columns appear with the 1.1.9 launcher. - Up to five open challenges per player, 0.7 s apart; a second challenge to the same player is refused; accepting one
withdraws the rest (challenge_updatestatewithdrawn); the challenger's input delay is part of the challenge
(featurechallenges2).
Practice
- Frame data: a string or juggle shows every hit on its own line (Devil Jin 1,2,3 was one line, or startup 0);
moves with several active frames show them (Jin d/f+1 is i13~14); a knockdown reads KND at once; a tech roll
or wake-up is no longer taken for the opponent's move (Nina d/f+2 showed HIT +24); a crouch is no knockdown. - New launcher setting Settings -> Training overlay -> Position: Top (default) or Bottom of the picture.
Game
- Phantom DirectInput pad (a second player pressing Up or buttons by itself, ports flipping): a DirectInput
device gets a port only after it has read well for 1 s; one lost 3 times within 30 s, each time soon after
it was found, is ignored until it has been gone for 5 s (one log line); a lost device is dropped before the
rescan; buttons held when a device gets its port count only after they were released (ps3recomp patch 0087). - Online: the HP bars no longer flicker when the ping is unsteady. After a hit, the orange part of a bar stalled
and stepped back at every rollback, because the re-simulated frames skipped the pass that drains it (the draw cut,
src/rollback/rb_icall.cpp). Now the bars look the same as in a match without rollbacks, frame for frame. This
costs ~0.02 ms per re-simulated frame and does not change the netplay sync. controls.ini: a key given twice in a section, or a section given twice, is reported in the log with both
line numbers (patch 0087).- Always see me on the left (casual matches): as P2 in a challenge, a friend's invite or a room that is not
ranked, your screen shows the fight mirrored with you on the left (HUD halves swapped, names and timer readable)
and your left and right are swapped; your opponent sees the normal picture and the game simulates the same
(ps3recomp patch 0086,src/netplay/always_left.cpp). Ranked, Quick and tournament matches stay as they are.
Settings -> Screen side, and the same checkbox in the Online tab's casual row; offline, Versus fights show the
P2 side. Known: one-sided details (scars, writing on clothes) appear the other way round.
European release
- The European PSN release builds and plays offline (TEKKEN 5 DARK RESURRECTION, NPEA00019 v01.00, with its .rap): BUILD GAME takes it next to the US package; its Arcade, Ghost and VS battles, with sound and movies. It plays offline only for now -- online play for it comes in a later update (the Build tab, the Online tab and "Check my problem" say so); European and US games are never matched (other build ID). The US version is unchanged. docs/EU.md.
macOS (test builds)
- The practice tools, training, stage unlock and direct fight are on by default in a Mac build (
--macos-offline
builds the game alone); online stays off. They work now:src/read the runtime's semaphores with the Windows
layout. Windows is unchanged. - The Metal renderer logs
[fps]and real[slow-frames]times; a second scripted pad (PS3_PAD_FILE2); a
compiler warning fixed (ps3recomp patches 0100-0102). The training overlay is not drawn on the Mac yet.
Tests
tests/launcher_challenges_click.py: four real launcher processes in a real Tk main loop against a local lobby
server; clicks on rows, headings, buttons (challenge, cancel, accept, sort) and checks both sides.lobby/tests/test_challenges.py;tests/i18n_layout.pywalks the open challenges, the sorted lists and the split board.tests/test_pad_flap.py(tests/c/pad_flap_test.c): a fake DirectInput with a real stick and a phantom
that flaps, through the real hot-plug and sampler threads.tools/hp_bar_check.py: the HP bars of a rollback pair at RTT 120 +-20 ms against the same match without
rollbacks, frame for frame (before: 116 of 1,196 frames differed; now 0).
Download
T5DR-Online-1.1.9.zip below. Unpack it into a folder of its own, start T5DR Online.exe, pick your own .pkg and .rap (Tekken 5: Dark Resurrection Online, PS3 PSN, NPUB30009 v01.00) and click BUILD GAME. Nothing else needs to be installed.
The zip contains no part of the game -- no game files, no translated game code, no keys. It was scanned for all three before it was published.
| SHA-256 | d9234241a814874c442e41c2e006677ac9d1fe6be49f6262de1110d68bf850d3 |
| Compiler in the zip | LLVM 23.1.3 (clang-cl, lld-link), used on your PC to build the game code |
| Python in the zip | CPython 3.12.10 (private copy, with tkinter and pycryptodome) |
| ps3recomp | f17bcd3 + 71 patches from patches/ps3recomp |
| Code ID | c7ef4ce1fcf2dab2 (the launcher asks for a rebuild when this changes) |
| Source | 3dbda8323aa83fcde6a5522a1f97d22bb315668e |
Check the download: certutil -hashfile T5DR-Online-1.1.9.zip SHA256 (Windows) or sha256sum -c SHA256SUMS.
T5DR Online 1.1.8
Hotfix: the lobby chat's input field and Send button are back. In 1.1.7 the chat card was built without its
input row, so players could read the chat but not write. Nothing else changed: the game code is the same as 1.1.7's,
so there is no BUILD GAME after this update, and 1.1.7 and 1.1.8 players play each other.
Launcher
- The chat's input row is built again (
lobby/t5lobby/tk_views.py: a method added in 1.1.7 had ended up in the
middle of the chat card's build, and the lines after itsreturnnever ran).
Tests
- A real launcher tab types a line, presses Send, and a second player receives it (
test_tk_tab.ChatInputTest). - No code after a
return,raise,continueorbreakanywhere in the launcher, the lobby client and the tools
(tests/test_no_dead_code.py).
Download
T5DR-Online-1.1.8.zip below. Unpack it into a folder of its own, start T5DR Online.exe, pick your own .pkg and .rap (Tekken 5: Dark Resurrection Online, PS3 PSN, NPUB30009 v01.00) and click BUILD GAME. Nothing else needs to be installed.
The zip contains no part of the game -- no game files, no translated game code, no keys. It was scanned for all three before it was published.
| SHA-256 | 84221591be50d2f591b272b79d79283dc7e2e9c92c61b8511ad3b97d55800e2e |
| Compiler in the zip | LLVM 23.1.3 (clang-cl, lld-link), used on your PC to build the game code |
| Python in the zip | CPython 3.12.10 (private copy, with tkinter and pycryptodome) |
| ps3recomp | f17bcd3 + 66 patches from patches/ps3recomp |
| Code ID | 329e436c91dcf54c (the launcher asks for a rebuild when this changes) |
| Source | 1586bbbe5de82e8d44558f8167e107ea1e28f447 |
Check the download: certutil -hashfile T5DR-Online-1.1.8.zip SHA256 (Windows) or sha256sum -c SHA256SUMS.
T5DR Online 1.1.7
Handicap up to 150 %, City at Sunset without black frames, the EWGF lightning on slow graphics cards, fighter
pictures in the character select, a fair coin for ranked sides, and an update that can never strand you again.
Casual matches take a health handicap from 30 % up to 150 % (each player their own); City at Sunset no longer
drops single black frames on PCs below 24 threads; Kazuya's and Jin's lightning lasts as on the PS3 on slow
graphics cards; the ranked character select and your profile show the fighters' pictures; ranked and quick
matches draw P1 / P2 by a coin; the lobby chat shows clearly who wrote what; a Community Discord button. A new
launcher that closes by itself right after an update now gets the old one back automatically. This release also
contains everything of 1.1.5 (training rooms, side and stage choice, the real ping, practice tools, stats, graphics
settings for weak PCs -- see v1.1.5 below), which was withdrawn, and 1.1.6's fix. Both players need 1.1.7. After the
update press BUILD GAME once, as the launcher asks.
Launcher
- Fighter pictures in the ranked character select and the profile's main-fighter portrait show again
(lobby/t5lobby/fighter_art.py,rank_art.py): 1.1.5/1.1.6 read them from the game but calledafter(func)
instead ofafter(0, func), so no window heard of it; a second size asked meanwhile is made too. Checked in the
real launcher of the release layout with a local lobby. - The warning about an unsupported v01.01 package shows before the first build (GitHub #20/#21,
launcher/core.pymake_peek_keys,tools/build_game.py): a fresh release folder has nokeys/ps3.keysuntil
BUILD GAME's keys step, so the Build tab could not look inside the package. Choosing a package now makes that
key file in the background with the keys step's owntools/make_keys.py(same public data, a few KB, written to
the output folder where the build reuses it); the line under the package says it is checking, then turns red
for v01.01. That line also wraps instead of being cut off (German). - The launcher never closes because of its own helper code (
launcher/t5dr_launcher.pyw): an error in a button,
timer or startup step --SystemExitincluded, which Tk lets through and which closed 1.1.5 -- goes into
launcher.logand the window stays open; errors in the launcher's threads are logged too (they were printed
nowhere under pythonw). Only the player's close ends it. - An incomplete release folder (no
deps/ps3recomp,toolchain/llvm,runtime/orpython/-- the zip not fully
extracted, or run from inside it) is called that (tools/prereqs.py,launcher/core.py,tools/build_game.py):
the Build tab and BUILD GAME say to extract the zip again with "Extract All" into a short path such asC:\T5DR,
and "Install missing..." no longer offers Git or Visual Studio for it (1.1.6 offered Git; installing it changed
nothing). A developer's checkout still gets Git offered. - Lobby chat: easier to see who wrote what (player feedback;
lobby/t5lobby/tk_tab.py,tk_views.py,theme.py): the
sender's name in bold in a colour of their own (from the name, the same on every PC, readable on the dark card),
your own name in the accent colour, a name line with space above whenever another player writes, and the
launcher's and server's lines muted. - A "Community Discord" button in the launcher's header, beside "Check for updates": it opens the players'
Discord (https://discord.gg/4DwDHAkk2x,launcher/core.pyDISCORD_URL) in the browser; the report window
names it for questions too. - Updates are checked at every start and offered right away (
launcher/updater.py): the launcher asks GitHub each
time instead of reusing an answer up to an hour old (why some 1.1.4 launchers kept offering the withdrawn 1.1.5
after 1.1.6 was out), conditionally with the cached ETag and Last-Modified so an unchanged answer is a 304 that
does not use up GitHub's 60 requests an hour; "Update available" opens by itself after the start -- once per
session, never during a build, a game or an online match (then when it ends). "Check for updates" stays. - Without the launcher's fonts (Bahnschrift, Segoe UI: Wine / Proton, some older Windows 10) nothing is cut off any
more (lobby/t5lobby/theme.pywidth_factor): a wider stand-in face is drawn smaller by how much wider it is
(es / fr / pt-BR were cut off in 1 to 43 places). The cut-off walk no longer skips on such a PC, and
tests/i18n_layout.py --without-font NAMEchecks it. - Online tab: "Strict (ranked: +-150 rating)" and the side / stage choices no longer run into each other (German,
Japanese at 100 % and 150 %): the choices move to a line of their own when both do not fit
(lobby/t5lobby/tk_views.py). The cut-off walk (tests/i18n_layout.py) now also reports widgets of one grid
row that overlap. - The update window shows the release notes as flowing paragraphs (
launcher/updater.pynotes_summary): the
CHANGELOG's line breaks at 120 characters made lines break in the middle; paragraphs and list items are one line
each now, wrapped by the window, with the lists and headings kept. A cached answer of an older launcher is asked
again once. - Online tab: a challenge shows the challenger's ping before you answer (player feedback: "had no idea of this
guy's ping until after I accepted";lobby/t5lobby/tk_tab.py,tk_views.py). The card was drawn before it had
read the challenge, so a first challenge showed no name and no ping, a later one the previous challenger's name
and still no ping. The ping is the server's estimate, or the launcher's own (the lobby list's number) when the
server has none or does not know it yet (client.pyping_info). The badge no longer stands apart from the
name on challenge and invite cards with a ping. - A challenge chimes and flashes the taskbar button like a found match or an invite (player feedback: "so I can
have it minimized and know I got challenged";lobby/t5lobby/notify.py,tk_tab.py): only while you look
elsewhere, with the same setting, once per challenge and at most once a minute for the same challenger.
The setting now says so: "Sound and taskbar flash when a match is found, I am challenged or invited, or
someone joins my room" (all languages). - The challenge and a friend's casual invite show the sender's side / stage wish on the card ("wants to be P2 on
Aurora Australis";lobby/t5lobby/tk_views.py,tk_casual.py): since the redesigned Online tab only the
hidden bar text had it, so you saw it only after accepting. - Tests:
test_controls_ui's runtime comparison failed on the main checkout'sdeps/ps3recomp, a patch series
behind (0053; the series is at 0083); on a tree prepared fresh withtools/prepare_ps3recomp.pyit passes, on
a1bd816 and on this branch. A tree found on its own is now used only when its stamp names this series
(tests/helpers.pyps3recomp_series_problem); otherwise the test skips and says why.
Updates and releases
- An update keeps the new launcher only once it has run for 15 seconds or was closed by hand
(launcher/updater.pyCONFIRM_AFTER_MS,App.on_close): a new launcher that closes by itself before -- as
1.1.5's did 2 s after its start -- gets the old files back and the old launcher starts again. The confirmation
lives in the new launcher, so this guards the updates to 1.1.7 and later (the swap step of 1.1.4-1.1.6 already
rolls back a launcher that ends unconfirmed; 1.1.5's confirmed after 0.3 s). The swap step's marker leaves the
environment at the start, so nothing the launcher starts in those 15 s inherits it. - The release smoke test starts the launcher from the zip with a package chosen (a stand-in .pkg header) and
requires it alive after 15 s (tools/smoke_release.py); the preflight runs it with the GUI checks, the release
workflow requires this starter check (it was informational). On a PC without a package around, the old check
passed 1.1.5's zip; this one fails it and passes 1.1.6's. tools/update_drill.py: the update a player makes, for real, from an older release zip with a real package, to a
release by its tag (a pre-release too) or to a local zip;--close-after,--expect rollback
(docs/RELEASING.md "Update drill").- The release order is mandatory (docs/RELEASING.md): PREFLIGHT OK with the GUI checks, CI green, tag, the draft
published as a pre-release (the workflow now makes every draft one), update drills from the last two releases
with a real package, then marked latest, then the lobby's release notice. Never a tag on a red or skipped check.
Developer tools
tools/build_game.py's deps step no longer says "already done" for a ps3recomp checkout with an older patch series:
tools/prepare_ps3recomp.pynotes the series it applied (.git/t5dr-prepared.json), and a checkout whose series
differs (or, unnoted, that a patch of the series still applies to) is prepared again; the old tree is kept aside
unless it is exactly what was prepared. A release's vendored copy is never touched. The preflight's unit tests run
against the tree the zip is built from.tools/build_game.pychecks the Python version before any step: with Python older than 3.10 it stops at once with
"T5DR needs Python 3.10 or newer; this is X.Y at " and the macOS hint (brew install python@3.12, a venv made
with python3.12). A Mac's system python3 3.9 used to get through keys, decrypt and unpack and fail only in the lift.
tools/prereqs.py's Python line says the same.- CI, Monday "runtime" job: ps3recomp patch 0083 (test shims,
tests/sync_stressonly) letssync_stressand
test_cond_semanticslink again (hooks of patches 0063 and later they do not link). Nothing built for players
changes; the code ID does (it covers ...
T5DR Online 1.1.6
Hotfix: the 1.1.5 launcher closed right after it started. On a PC with the game's package (.pkg) chosen in the
Build tab, or one found in Downloads, the Desktop or Documents on the first start, the 1.1.5 launcher showed its
window for about two seconds and closed, also right after the update from 1.1.4. 1.1.5's new check of the package's
version read inside the package with ps3recomp's pkg_extract.py, which in the release zip ends the program when the
package key is not passed to it; the launcher now passes the key file when there is one and treats a missing key as
"cannot look inside" (the check then uses the package's header, as before 1.1.5). Nothing else changed.
Stuck on 1.1.5? Rename your .pkg file for a moment (for example add .old to its name), start the launcher, let
it update to 1.1.6, then give the file its name back. Or download T5DR-Online-1.1.6.zip and copy everything inside
its folder over your T5DR folder. After the update press BUILD GAME once, as the launcher asks.
Launcher
- The package check never closes the launcher (
tools/build_game.py_pkg_tool,launcher/core.py): the key file's
path forpkg_extract.py, and itsSystemExitcaught. A test runs the check with the release'spkg_extract.py.
Release workflow
- The publish job gets the zip through the Actions cache (the private repository's artifact storage was full).
- CI: the push job may take 30 minutes; the stub step builds
T5DR Online.exelike the release.
Download
T5DR-Online-1.1.6.zip below. Unpack it into a folder of its own, start T5DR Online.exe, pick your own .pkg and .rap (Tekken 5: Dark Resurrection Online, PS3 PSN, NPUB30009 v01.00) and click BUILD GAME. Nothing else needs to be installed.
The zip contains no part of the game -- no game files, no translated game code, no keys. It was scanned for all three before it was published.
| SHA-256 | b990a5a4c57334150b78584f0d59dd4a87e2b3bfc03b21861f9f750b9b0cd12c |
| Compiler in the zip | LLVM 23.1.3 (clang-cl, lld-link), used on your PC to build the game code |
| Python in the zip | CPython 3.12.10 (private copy, with tkinter and pycryptodome) |
| ps3recomp | f17bcd3 + 62 patches from patches/ps3recomp |
| Code ID | 0a70c55d6f647e0d (the launcher asks for a rebuild when this changes) |
| Source | 760300effd554c1fbb7d113cf36d58a601b2fcdb |
Check the download: certutil -hashfile T5DR-Online-1.1.6.zip SHA256 (Windows) or sha256sum -c SHA256SUMS.
T5DR Online 1.1.5
DO NOT USE THIS VERSION! please use the 1.1.6 Version.
Train online with a friend, choose your side and stage, see the real ping, and a faster game on weak PCs.
Online training rooms with endless health, a health handicap and P1 / P2 and stage choices for casual matches; the
Ping column counts the regional relay servers, and far matches get more input delay so the rollback jumps less;
offline practice tools (position resets, dummy behaviours, 5 recording slots); a stats page and your match history
with its replays; graphics settings and a 2-core mode for weak PCs; signed updates; and the game builds on macOS
(Apple silicon, offline), thanks to n0madic. Both players need 1.1.5: training rooms and the handicap change what
the game simulates online, so 1.1.4 and 1.1.5 games are never paired. The launcher offers the update itself; after
it, press BUILD GAME once (a shader warm-up then plays every stage once; Skip warm-up ends it). The new
online features need the lobby server updated; 1.1.4 launchers keep working with it.
Online
- The Ping column reads right for players far from the lobby server. Two friends in North America saw each other
at about 200 ms: the list added both round trips to the lobby server in Germany. The list now also carries every
player's round trips to the regional relay servers, and the launcher shows the shorter way, as the matchmaking
already did (about 50 ms through the relay in Oregon for those two). Estimates keep their ""; a player you played".
since the launcher started shows the ping measured in that match, without " - Matchmaking remembers the measured ping. Quick and Ranked already looked for nearby opponents first and widened
the search while you wait; two players who played each other in the last 7 days now count with the ping they really
had (often much lower than the estimate), so neighbours far from every server find each other at once. - Ping and connection before you accept. The found-match card, a challenge and a friend's invite show the ping
(estimated, or measured in your last match together) and whether the match will most likely be a direct connection
or go through a relay server. In all seven languages. - Fewer hitches in rollback fights. When one game ran a little ahead, the correction that lets the other catch
up used to freeze the picture for up to three refreshes -- or for none and then again a moment later; it now holds
one picture for exactly one refresh, and only when needed (1-3 times a match instead of 5-16). While a rollback
fight runs, frames also get 2 ms more room before the screen's refresh, so a frame that had to correct a prediction
is less often late. On this PC at 60 / 120 / 180 ms ping: 50 / 67 / 62 pictures shown twice per player and match
before, 38 / 40 / 36 now (most of the rest is first-time shader work, which the shader warm-up after BUILD GAME
removes). Input to screen: ~1-2 ms more. Both games stay in step as before. - Smoother far matches. Above 150 ms ping both games now get 3 frames of input delay (4 above 250 ms) instead of 2,
so the rollback corrects less and the characters jump less. Ranked and casual alike; a server setting
(T5L_PING_DELAYS). - A rematch after the relay tries the direct connection again. When a match had to go through the relay server
(for example because Windows Firewall blocked the game for a moment), every rematch of the session used to stay on
the relay, with longer ping and more freezes, although a new match would have played direct. Now the next rematch
connects anew and plays direct when that works. Only when it fails again do the rematches stay on the relay. Such a
rematch takes a few seconds longer to start. In the lobby server: 1.1.4 launchers get it too. - The lag check counts the time the games stood still. A match in which the games kept waiting for each other's
inputs could still read "That is what the ping explains" (one match waited 92 s of about 4 minutes and ran at
40 fps). Now such a match says, for example: "This match lagged: the games waited 92 s for each other's inputs. A
wired connection and no uploads during matches help." In a ranked set, Leave: too laggy is offered after it,
as after any laggy match. In all seven languages; in the lobby server, so a 1.1.4 launcher shows such a match as
"more lag". - No 20 s wait after the last rematch. When a set ended (rematch declined, the time ran out, a player left), both
games kept the connection; when the way between them then closed (a relay after the rematch window), they stood
waiting for each other for 20 s, and a new match found in those seconds made the launcher restart the game for every
later match. The launcher now ends the game's connection as soon as the set is over, and gives a game that is still
waiting for a lost opponent the time it needs before it counts as not answering.
Training
- Training rooms: practice with a friend online. Create room -> Training room: you and a friend fight
with endless health like in Tekken 8's practice lobby -- damage never KOs, no hit and no combo, health refills a
second after the last hit, no round timer, and nothing is counted (no rating, record, history or penalty). Hold
SELECT for a second to give up and end the fight: both games go back to the character select by themselves, so this
is also how you pick other fighters. Leave room works at any time, during a fight too. Both players need 1.1.5;
rollback, replays and spectating work as in any match. In all seven languages. - Practice tools (Practice, offline only; Settings -> Practice tools, on by default): hold SELECT and press 3 to
put both fighters back where the fight started, f+3 / b+3 to put the dummy against the wall in front of / behind
you, df+3 / db+3 to put yourself against the wall in front of / behind you. SELECT+1 records the dummy (your pad
plays it), SELECT+2 plays the recording once, SELECT+4 in a loop; 5 slots (tap up / down with SELECT). Tap
forward / back with SELECT for what the dummy does: as set in the game's menu, blocks after the first hit,
crouches, walks forward and back, sidesteps. Never in online matches, replays or spectating; online matches are
unchanged. Player requests; docs/TRAINING.md "Practice tools". - Frame data: moves whose hit reaction looked free too early show the right number. Bryan's d+4 showed -17 on
hit; it is +3 (and -13 on block). Some hit reactions set the game's "idle" flag long before the defender can do
anything; the overlay now waits for the end of the reaction there, as the game itself does (checked with the
defender mashing a jab). Players' report; docs/TRAINING.md. - Frame data: moves with a wind-up show their real startup. Bryan's f+1+2 (a wind-up, then the attack) showed
i4; it is i22. A move made of several animations now counts from its first frame. - Frame data: Bryan's taunt (1+3+4) reads i28, hit, +14. Its +14 was right, but the overlay called it a block
and showed no startup (or the one of the move before): the taunt can be cancelled from its first frame, and its
stun does no damage. Now it counts as a hit, guarded or not (it cannot be blocked), with its own startup (checked
with Bryan and the defender mashing a jab).
Casual
- Choose your side and the stage. For challenges, friends' invites and rooms you can now ask for P1, P2 or any
side and for a stage (or Random), next to Strict on the Play online tab. A wish is granted when your opponent does
not want the same; when you both want P1, a coin flip decides, and two different stages are decided by a coin flip
too (a stage against Random: that stage or a random one). A challenge or an invite shows what the other player
asked for, and the match card shows your side and the stage. Ranked and Quick keep choosing sides and a random
stage for you. Players with a 1.1.4 launcher can still be challenged and invited as before. In all seven languages. - Rematch: swap sides. After a challenge, an invite or a room's match, Rematch: swap sides (Y on a
controller) plays the rematch with the sides the other way round; either player can ask for it. - Every stage has its name (Western Gate, Ghetto Pit, Wolves' Den, ... and the Tekken 5 stages' own names),
checked in a fight on each of them. The names stay English in every language, as players know them. - Health handicap. My health (casual) on the Play online tab: 100 % down to 30 % in steps of 10, for quick
matches, challenges, invites and rooms (ranked and tournament matches are always 100 %). Both players see both
values before they accept and on the match card, and in the fight the name under the health bar says it
("Alice 70%"). Only between two 1.1.5 players. In all seven languages.
Launcher
- Check my problem (Play offline tab; on the Build tab after a failed build): looks in this PC's logs and
settings for the problems other players had and says how to fix each, in your language -- a package of another
version, a damaged or incomplete package, unpacking that ran out of memory, Windows Firewall blocking the game, a
2-core processor, an old graphics card, Wine / Proton. Nothing is changed or sent. - Stats page on the Online tab, next to the Leaderboard: accounts, players (guests too), matches, ranked
matches, the last 24 hours, and every fighter's matches, wins, win rate and share of the picks (All / Ranked /
Casual). Needs the 1.1.5 lobby server. - Your record in the profile: matches played, wins, losses and win rate (all, ranked, casual) and the win rate
of each of your fighters. Needs the 1.1.5 lobby server (an older one shows the old Record line). - Match history with Watch replay: in your own profile, a match that has a replay on th...
T5DR Online 1.1.4
Jinpachi and Random in casual matches, Start skips the intros and replays online, a chime when a match is found, the game's own rank plates, and a faster game. Both players need 1.1.4
(the lobby pairs equal game builds, and 1.1.4 changes the game: the skips, Jinpachi and Random online, a stricter
costume check, and ps3recomp patches 0066, 0067 and 0069). The launcher offers the update itself; after it, press
BUILD GAME once (the first build takes about 25 s longer than before). Jinpachi in casual matches, the protection
of password rooms, the spectator limits and Watch between a match and its rematch need the lobby server updated;
older launchers keep working with it.
Online
- Jinpachi and Random in casual matches. In quick matches, rooms and friend invites the character select now has
Jinpachi (top row, right end) and the game's random cell (top row, left end), for both players -- no Arcade
clearing needed. Ranked matches and tournament sets stay without them, as before. - Mokujin and the random cell draw anew in every match. In a rematch Mokujin used to copy the same fighter as in
the match before (and every match of the session the same one). Now every match draws again, the same on both PCs
and in the replay. Replays from 1.1.3 play back as they were recorded. - Skip the intros and the replay after a round: both players press Start. Online they always played to the end:
the fighters' intros (about 7 s) and the replay after every round (about 9 s). Now the intros before round 1, and
after a round its slow motion, replay and the way to the next round, are skipped as soon as both players have
pressed Start during them (not at the same moment). One player alone skips nothing, and Start still never pauses
an online fight. Both games skip on the same frame; replays and spectators show the skips as they happened.
Offline nothing changes. - A chime and a flashing taskbar button when the launcher has something for you: a match found and waiting for
your Accept, someone joins your room, your turn in a room, a friend's invite, your tournament set ready, your
opponent asks for a rematch. A short chime (two soft bell tones, made by the launcher itself), and the taskbar
button flashes until you come back; only when you are not looking at the Online tab, once for each of these.
Settings -> Sound and taskbar flash when a match is found or someone joins my room switches it off. - Smoother matches through a relay server. When two PCs cannot connect directly, the launcher passes the game's
packets on to the relay. On a busy PC they waited for Windows to run the launcher (6 ms more round trip typically,
up to 26 ms in our test) and arrived late and in bunches: deeper rollbacks and more hitches than the ping explains.
Now the launcher forwards them the moment they arrive (0.2 ms typically, under 2 ms at worst). Tested at 60/120/200
ms ping with loss and jitter: relayed matches play like direct ones at the same ping, every match in sync. - A room stays watchable between a match and its rematch. The Rooms list used to take Watch away as soon as a
match ended, although the spectators already watching went on into the rematch. Now the room keeps Watch in that
pause: you join those spectators, from the session's start as always. Only when both players allow spectators;
switching it off in the pause stops the spectators at once.
Speed
- Faster game code, the same game. The PS3's registers now stay in the PC's registers between calls instead of
going to memory and back. On 4 cores under load the main thread needs ~7 % less CPU per frame and the drawing
thread ~18 % less (pool stage and stage 20: +3 to +13 % fps on a busy PC). Old and new builds played each other
online frame for frame in sync. - Cheaper memory writes in the game code. The check whether a helper processor of the PS3 watches the spot a write
goes to is now one quick look instead of a detour: 5-7 % less CPU per frame on the main thread, 15-25 % less on the
drawing thread, a frame's critical path 5-8 % shorter. More room for a locked 60 fps on 4-core laptops. - Weak PCs: the frame goes to the graphics card beside the game's next frame. On a 4-core PC slowed to 40-50 fps a
late frame comes about 1 ms sooner (pool stage: median frame 24.6 -> 23.5 ms; stage 20: 20.1 -> 19.1 ms) and 3-26 %
fewer frames are slow; a PC that already runs at 60 only gains headroom.RSX_XLAT_OVERLAP=0(Extra settings)
turns it off. Details of all three: docs/RENDER_PERF.md.
Launcher
- The game's own rank plates. Next to every name on the Online tab (players, leaderboard, friends, your card, the
found match, the result, profiles) the launcher shows the rank plate Tekken 5 DR itself uses: Beginner, 9th kyu ...
Shihan ... Lone Wolf ... Tekken Lord. The plates are not in the download: after BUILD GAME the launcher reads them
once from your own unpacked game (about a second, in the background) and keeps them innative\cache\ranks; until
then it shows a tag in the plate's colour with the rank's name. The two highest ranks are now called Tekken Lord
(Kouryu) and Tekken Lord (Kirin) (were Kouryu and Kirin). Ranks and ratings are unchanged. - Smoother window. Resizing redrew the Online tab in about 0.34 s per step (Build tab 0.12 s); now about 0.14 s
(Build 0.07 s). The Online tab opens the first time in 0.3 s instead of 0.7 s, the window is up in about 1 s
instead of 1.5 s from the second start on, and the first-start search for the game's files no longer freezes it. - Lists that stay put. The player, room, friend and leaderboard lists change only the rows that changed: no more
jumping back to the top while you scroll, no flickering selection on every lobby update. - Clearer Online tab. Empty lists say what to do (nobody online, no rooms, no ranked results yet); with the plates
the RANK column only says what the plate does not (a placement, a provisional rank); a long status line ends in
"..." instead of running under the output folder. All new texts are in the launcher's six other languages.
Settings
- Integrated graphics get Internal resolution Auto by default. On a PC whose game runs on built-in graphics
(laptops, mini PCs, handhelds; the launcher knows from the last game's log) the default is now Auto: the step of
your screen, at most 1080p. A step you chose yourself stays; if it is larger than Auto's, Settings and the Play
offline tab say so in orange. A busy built-in GPU also slows the processor (one power budget): a player's 780M mini
PC at 4K had its GPU busy 61 % of the time and its processor at 81 % of its clock, with 6-10 % late frames. - "Your processor ran at 2.26 GHz (81 % of its normal speed)". When fights had late frames and the processor ran
well under its normal clock on AC power, the Play offline tab says so once and suggests Windows' power mode Best
performance. The launcher changes no Windows setting. - Stage blur / glow is Off by default: the misty swamp and three more stages are sharp, the scrapyard's sun has no
glow (on integrated graphics at 4K the scrapyard needs ~10 % less GPU time a frame). Players of older versions get
Off once too; whoever turns it back On keeps On. Online each player chooses for himself.
Offline
- Random is random at every start. Mokujin's copied fighter and the random cell could come out the same after
every start of the game. Now the game draws them anew from the start. - New setting: Unlock Jinpachi and Random select (Settings -> Unlocks): Jinpachi and the random cell on the
character select without clearing Arcade. Off by default; your save is not changed.
Fixes
- Set up controllers works again: the Controls window sees your pads. Since 1.1.0 the window (Settings -> Set up
controllers...) found no controller at all -- "not recognized", Xbox pads included. It now looks once it is on the
screen; the Online tab's controller navigation had the same fault. Checked on a PC with an Xbox pad. - A place where the game deliberately stops stays stopped. In one function the compiler turned the way into such
an endless loop into a call through a pointer that may be empty. The game code is now compiled without that
assumption. The speed profile of 1.1.3 still fits, so it is used as it is.
Security
- Friends with the right password always get into a private room. Somebody guessing a room's password from many
internet addresses (a home connection with IPv6 has 256 of them) could use up the room's guess budget, and friends
with the right password were told "try again in N s". Now every network has its own few tries at a room (3, then
one per 20 minutes), used before the room's shared budget, which guessers elsewhere cannot touch. Guessing stays as
slow as before. The host of a password room sees how many wrong passwords came in the last 10 minutes (never who
or from where), and Room settings -> Turn away the guessers refuses those networks from then on. The server
part also protects rooms of 1.1.3 launchers; the host's count and button need 1.1.4. - Spectator places go to friends and room members first. About 50 guest connections from a handful of addresses
could take every match the server can show. Now one internet address watches at most 2 matches at once (an IPv6
home network 4), guests hold at most half the places of a match and of the server, the last places are kept for
friends of the players and members of the match's room or tournament, and at a full match a friend takes the place
of the newest guest ("A friend of the players took your place"). - Custom costumes are checked against the game's own item shop. The opponent's costume check took any colour number
up to 31 and a part ...
T5DR Online 1.1.3
Tournaments, private rooms, watching live matches, your custom costumes online, matches that connect through a blocking firewall, and more speed on slower PCs. Both players need 1.1.3
(the lobby pairs equal game builds, and 1.1.3 changes the game: its netplay speaks protocol 4 for the costumes, and
ps3recomp patches 0051, 0059, 0061, 0062, 0063, 0064 and 0065, and the game is now compiled with a speed profile).
The launcher offers the update itself; after it, press BUILD GAME once. Tournaments, rooms, spectating and the
firewall fallback need the lobby server updated; older launchers keep working with it and see nothing new.
Online
- Tournaments (accounts): the Online tab's new Tournaments page lists the server's tournaments. Tournament
hosts create them: single or double elimination, sets of best of 3 or 5, a start time, a player limit of 8, 16, 32
or 64, an optional check-in, seeding at random or by rating. There are 20 host slots: if you want to host
tournaments, DM TheWishin on X. Sign up (and check in); when your set is
ready the tab says "Your tournament set is ready": Accept within 5 minutes and the game starts by itself. Who
does not accept in time is out. Sets play like casual sets with the in-game select, and leaving one loses it. The
bracket fills in by itself; the organizer can correct a result, reset a set or disqualify a player. Tournament
sets do not change your rating unless the server's owner turns that on. - Private and community rooms. Create room asks how many players (2 to 8) and who can join: anybody, a
password or an invite code; a room can also be hidden from the list. Join room asks for the password,
or, with no room selected, takes an invite code. Copy invite code shows the code in a field to copy (the
launcher never touches your clipboard itself). In a room for 3 or more you take turns, by Winner stays or
Everyone in turn; Sit out skips your turns. The host's Room settings... changes the password or code,
hides the room or removes a player. A friend you invite needs no password. Private and community rooms are
casual; only their players can watch their matches. - Your custom costumes online. What you bought and put on in ITEM SHOP & EQUIP (head, face, body, colours) in
your own save now shows in online matches, for both players. Both PCs check it the same way: a damaged save shows
the default costume, never something only one PC has. Replays and spectators show the costumes too. - Watch live matches. Watch a friend's match (Friends page), any room's match (Rooms) or a tournament set
(click it in the bracket). Your game shows it a few seconds behind, exactly as it is played and checked frame by
frame; you always see the session from its start, since a rematch depends on the matches before it. The
Spectating card says how far behind you are; Stop watching closes the game. Settings -> Spectators:
friends and room visitors may watch your matches (on), ranked matches too (off); a match can be watched only when
both players allow it, and the players see how many watch. Their games never wait for spectators. - Matches connect when a firewall blocks the game. Clicked Cancel when Windows asked whether
t5dr.exemay use
the network? Matches still connect, some through the relay instead of directly. If a firewall drops everything
(some antivirus firewalls do), the launcher moves the match onto the relay after 15 seconds of silence and both
games start it again, about 20 seconds later, instead of giving up after a minute ("Your opponent's game could not
be reached"). This also works in a tournament set, with custom costumes and with spectators watching. When
Windows Firewall blocks the game or the launcher, the Online tab says so in one line with a How to fix link
(the launcher only reads the firewall's rules, it never changes them).
Speed and picture
- Fights on 4-core laptops and on the pool stage run much faster. The game's sound and the fighters' skinning
(the PS3's SPU work) take about half the processor time they took, with exactly the same results: on a busy 4-core
test PC fights went from about 39 to 56 fps, and on the pool stage with its crowd from 32 to 41. The game's main
thread no longer waits for the skinning to finish. - The game's threads are placed for your processor. On 4 cores without Hyper-Threading (laptops like the
i5-7300HQ) fights run about 9 % faster, on the pool stage 22 %. On Intel processors with performance and
efficiency cores (12th gen and newer, Core Ultra) the game stays on the performance cores; on Ryzen processors
with two core groups (5900X, 7950X, ...) it stays in one group, the one with the bigger cache on an X3D. Online,
the opponent's inputs are handled at once even when the game keeps every processor busy. - BUILD GAME compiles the game with a speed profile (profile-guided optimisation): about 3-6 % less processor
time per frame, also on the pool stage; the build is ~15 % faster and the game file 17 % smaller. Builds with and
without the profile play each other in sync. The profile holds only function names and counts, no game data. - A PC a little too slow for 60 fps now runs fights at 45-55 instead of 30-45. A frame that took a bit longer
than one screen refresh waited for the next one; now it is shown as soon as it is ready. Test games went from 40
to about 50 fps and from 30 to about 44, online (rollback) from 32 to 46. PCs that make 60 see no change, and the
game never runs faster than 60. Why some PCs are slow, and what helps: docs/WEAK_PC.md. - Less processor time per fight frame. The game's own work is about a quarter smaller (its locks no longer call
Windows when nobody else wants them: 6.3 -> 4.6 ms a frame on 4 cores / 8 threads, online 9-11 -> 6-7 ms), and
turning the PS3's drawing commands into D3D12 takes about a quarter less too (3.2 -> 2.5 ms). Same game and the
same picture: PCs with and without it play each other in sync. - Less GPU work at 1080p, 1440p and 4K, with exactly the same picture: on integrated graphics 17-40 % less GPU
time around the 3D scene at 1440p and 4K. - Internal resolution "Auto (matches the screen)": the step that fits your screen, at most 1080p on integrated
graphics (Native stays the default). At 4K a processor with built-in graphics slows down as a whole (one memory,
one power budget): a test fight on integrated graphics ran 33-35 fps at 4K and 60 with Auto. On integrated
graphics a step larger than the screen gets a hint, and after a fight the graphics held back the Play tab says so.
Power saving Auto now always reaches the game (aPS3_LAPTOPleft in Windows' environment no longer
overrules it). - Report a problem says more about slow fights: which frames came late and why (the game, its waits, the
graphics, other programs), how fast the processor really ran, and Windows' Game Mode and GPU scheduling settings.
Building the game
- A failed "Compile" step gets a second try. A file that fails is compiled once more at the end, on its own,
and the build goes on if that works; fewer compilers run at once when little memory is free. A failure now shows
the compiler's error lines in the log, and Report a problem adds its full output. - No false warning for the second PSN package name. The same game also comes from PSN as
UP0700-NPUB30009_00-0000000000010000(same size, same program); the Build tab showed it with a yellow "not the
supported package" warning, although the build always worked with it. It is now a green check.
Security (review 3)
- The relay fallback cannot restart a match any more. Asking for the relay ("my game hears nothing") starts
the match's session again; within 90 seconds of its start a player losing the first round could ask for it and
both games began the match anew. Once either game has played the fight for a while (ten seconds: frames that
only run with the opponent's input), the lobby refuses. - Blocks hold in community rooms. A friend's invite into a room for 3-8 players brought in a player whom
another member had blocked (or who had blocked them), and the room's line could pair the two. The invite and its
accept check every member, and the line never pairs two who blocked one another. - No game code in problem reports. The compiler quoted the lifted source line under each of its messages, and
a failed build's log and the report's copy of the compiler's output kept them. The game's code is now compiled
with-fno-caret-diagnostics(the objects are byte for byte the same), and the report keeps only the compiler's
message lines (file(line,col): error: ...) of the compile logs and of build.log -- also from builds made before. - A spectator's launcher takes only what it asked for: a lobby server sending "watching" by itself no longer
makes it unpack up to 64 MB into a new file, and a stream of state hashes far out of order (which kept the
spectator's game busy for hours) ends the watch as damaged.
Servers
- Tournaments: settings
T5L_TOUR_*(who may organize, the no-show time, limits, rated or not) and read-only
JSON of the brackets on the status port (/tournaments,/tournaments/<id>) for stream overlays
(docs/TOURNAMENTS.md). Their tables are created at the first start. An organizer who plays does not decide their
own sets (aT5L_TOUR_ADMINSaccount does); a player whose game crashes twice in one set loses the set;
admin drainalso holds the tournaments (no new set starts, no-show times stand still). - Tournament hosts from the console:
t5lobby-admin tour-host add NAME [--admin],tour-host remove NAMEand
tour-hostsdecide who may create tournaments (`T5...