
Rockstar Games Presents Table Tennis
Port nativo de Rockstar Games Presents Table Tennis para PC.
Rockstar Games Presents Table Tennis
Port nativo basado en su ficha de origen.
README del repositorio
Rockstar Games presents Table Tennis — Windows PC Recompilation
v1.5.3 fixes component setup when Visual Studio Build Tools 2022 is already installed: setup adds missing components to that installation instead of trying to install it again. If an older installer failed with component exit code 1, download the new installer and retry. Older Build Tools installations may still need updating in Visual Studio Installer first.
v1.5.2 fixes ultrawide menu proportions and adds a separate picture-aspect selector. Legacy front-end menus use their original centered 16:9 composition; matches follow the display in Auto mode, or fit a 16:9 / 21:9 / 32:9 picture lock with black bars. Set PICTURE ASPECT RATIO in the launcher or PICTURE ASPECT in PC SETTINGS and restart the game. Resolution and picture aspect are separate. Update the complete installation, including the newly matched engine; replacing only the game EXE is insufficient. Both online players should use the same release.
Bring the Xbox 360 classic to your PC with up to 4K output, higher internal 3D resolution, and optional image filters. The game code is recompiled to native Windows x64 with ReXGlue SDK v0.10.0 and DirectX 12 rendering. Gameplay is currently paced at 60 FPS in every mode. Actual 120/144/240 FPS gameplay is not unlocked.
Build and play from your own Xbox 360 disc image. A graphical installer prepares the required components and creates the local game build for you.
v1.5.0: Photo Mode with optical zoom and PNG capture, local achievements, Xbox/PlayStation prompts, in-game PC settings, friend invitations and approved release updates. Online play and optional UPnP remain experimental.
Get started
- Download Install-Table-Tennis.exe — installer.
- Open it, choose your retail Table Tennis ISO, allow the required components, and click Install.
- When it says Ready to play, click Play. A desktop shortcut is also created when Windows permits it.
On the first launch, Saved Game may ask whether to create a save. Choose A to create one or B to continue without saving, then follow any further on-screen confirmation. This question is now visible and interactive during intro skipping.
You do not need to install Python, compilers or SDKs manually. You do not need a command prompt or the source ZIP.
First setup needs internet access, several GB of free space and time to download components and build the game. If Microsoft build components are missing, Windows may ask for administrator permission. Nothing restarts Windows automatically; if a restart is required, the installer tells you to reopen it afterward.
Updates
Version 1.5.0 checks GitHub in the background and notifies you when a newer signed release is available. Open UPDATES in the launcher or OPTIONS > PC SETTINGS > UPDATES in the game, review the notes and approve the installation. Nothing installs automatically. Turn off startup checks in the launcher if you prefer to check manually.
Updates rebuild locally from your existing ISO and retain saves and settings. The updater keeps a previous version and recovers interrupted file changes when you reopen the launcher. Existing v1.1.2 users need to install v1.5.0 once. Future releases can use the built-in updater. See updater details. Update signatures do not replace Windows code signing or eliminate SmartScreen warnings.
What you need
- Windows 10/11 x64, an AVX2 CPU and a DirectX 12 GPU.
- Your own unmodified USA/Europe retail Xbox 360 Table Tennis ISO, Title ID
545407DF. - A writable installation folder. The default is
%LOCALAPPDATA%\TableTennisPC.
The ISO is checked before installing large compiler components and is always opened read-only. Other game versions are rejected. Keep your ISO available after installation: the game still reads it during play.
PC enhancements
New in v1.5.0
The mouse cursor hides after two seconds of inactivity in the game window and reappears when you move the mouse.
The Windows port adapts the achievement UI, PlayStation artwork and networking
from ThisIsAkill/Table-Tennis-Linux,
commit 7bff91c561fa0e424562c6d851b9008e9fc9511e. Thanks to ThisIsAkill!
The MIT notice is retained; SDK changes
retain ReXGlue's BSD license. Version 1.5.0 includes the matched Windows engine.
- PC SETTINGS: open OPTIONS > PC SETTINGS from the main menu or pause
menu. Change fullscreen, FPS/frame-time window, button icons and achievement
sound immediately. Resolution (including ultrawide), anti-aliasing and output
filtering are marked AFTER RESTART. Use D-pad/stick to navigate/change,
A to change and B to save/back; keyboard arrows, Enter and Escape also work.
Settings share the launcher's
settings.ini; ISO/network/unknown keys survive. - Achievements: styled unlock notifications and a list of all 29 achievements, opened from EXTRAS > ACHIEVEMENTS, F7, or by holding View/Back for 0.8 seconds. Scroll with the D-pad/stick, mouse wheel or arrow keys; shoulders and Page Up/Down change pages. B or F7 closes the list. Progress remains local.
- Photo mode: press F9 or click both sticks during an offline match
to freeze the action, hide the HUD and move a free camera. Left stick moves,
right stick looks, triggers change height, and shoulders adjust movement speed.
X saves a PNG to
dist/photos, Y resets the camera, A toggles help and B returns to play. Keyboard: WASD/arrows move, Q/E change height, mouse drag looks, Enter saves, R resets, Space hides help and F9/Escape leaves. Zoom: D-pad up/down, mouse wheel or Page Up/Page Down (0.5x–5x). Zoom changes the lens's field of view without moving the camera; reset also restores 1x zoom. The current magnification appears in the help overlay. PNGs exclude the help overlay and preserve the rendered resolution, with ultrawide proportions corrected. Photo mode is disabled in network sessions. Ported from ThisIsAkill's MIT implementation, commitded80880299e26db86289326d31f1a8a2479fc82, with Windows capture/lifetime handling. - Button prompts: Auto, Xbox and PlayStation choices in the launcher. Auto detects SDL PlayStation controllers. Replacing the game's texture icons needs the matched community SDK below; stock SDK builds apply this choice to the achievement overlay only. Matched builds recognize 23 verified menu/HUD/training image variants, including startup/dialog buttons, L1/R1, L2/R2 and the guide indicator. AUTO is updated during startup and follows trigger use too; custom PC SETTINGS/achievement footers draw the selected controller's symbols.
- Experimental ONLINE / SYSTEM LINK: optional matched-SDK builds expose these menu entries and launcher fields for server address, player name and private room code. Networking is disabled by default; no public server is supplied or automatically contacted. QUIT TO DESKTOP remains the final menu item.
The launcher now shows an Online compatibility ID derived from the release version and exact engine files; compare it on both PCs before reporting a multiplayer failure. Open game logs opens the folder needed for the client crash report. See the Windows online review for hardening, test scope and SmartScreen/signing status. The two-PC test is now user-confirmed working; Internet play still needs broader testing. Launching with your own IP/localhost checks the local relay and offers to start it if needed, using the selected port. Version 1.5.0 includes these tools; online features remain experimental.
Host a friend: choose Host & copy invitation. The launcher starts your private server in the background, selects a private room and copies the invitation. Your friend pastes it and chooses Join invitation, then both launch the game. Their name stays their own; different releases or engines are rejected. Server/room fields and older manual controls are under Advanced network settings.
Use Same network / shared VPN at home or with your VPN adapter selected. For separate internet connections, Internet - UPnP (EXPERIMENTAL, opt-in) can request a verified five-minute game-port lease after the host ticks its permission box. It is off by default, and permanent rules are refused. Manual forwarding is also supported. No shared game service or third-party IP lookup is used, and Windows firewall/security settings are not changed. Routers without working UPnP, double NAT and CGNAT can require a shared VPN or manual setup. Join invitation checks the actual UDP connection; it cannot guarantee a complete match across every NAT. See host/join setup.
The player-host relay accepts only the invitation room and at most four clients. It limits unauthenticated replies and total traffic, requires return-path proof before sharing members, and has no TCP status listener. These are hardening steps, not a guarantee against hostile peers or router firmware. Share invitations with trusted friends; traffic remains unencrypted. Read the security review.
Two Windows clients have joined a private room, created/joined a lobby and started a match on one PC. Automated checks cover direct/relayed peer traffic, room isolation and rejoining after a server restart. Internet/NAT combinations, spectating and recovery of a running match after a connection drop are not yet validated. Their upstream engine paths are ported, but remain experimental. Xbox LIVE accounts, ranked services and leaderboards are unavailable.
The existing intro skip, ultrawide proportions, Windows 60 FPS frame scheduler and native F10 window are retained. Achievement overlays detach when idle. Linux-only write-watch and FidelityFX build changes are excluded.
Developers with the prerequisites installed can build the separate SDK, then the local game from an unpatched source checkout:
py -3 project/tools/build_community_sdk.py --jobs 4
py -3 project/tools/setup_build.py --iso 'E:\Your disc.iso' --sdk '.tools/community-sdk'
This compiles pinned ReXGlue v0.10.0 source plus the included Windows patch into a separate SDK folder. Keep its headers, libraries and DLLs together; the texture hook changes an engine interface. Version 1.5.0 pins the matched Windows engine for both fresh installs and updates. See relay setup and validation details.
Sharper 3D rendering — up to 4K
Choose your display preset directly in the game launcher:
| Preset | Output resolution | Internal 3D rendering scale |
|---|---|---|
| 720p | 1280 × 720 | 1× |
| 1080p / Full HD | 1920 × 1080 | 1×, presented with your chosen image filter |
| 1440p / QHD | 2560 × 1440 | 2× on each axis |
| 4K / Ultra HD | 3840 × 2160 | 3× on each axis |
The 1440p and 4K presets raise the internal rendering scale as well as the output size. The 1080p preset keeps 1× internal rendering and uses the selected presentation filter for output scaling.
Ultrawide and the PC menu
The 21:9 presets widen the 3D camera view instead of stretching players. Menus, loading screens and the score HUD retain their proportions in a centered 16:9 safe area. UI drawing is clipped to that area so hidden off-stage artwork does not appear in the extra space. The camera adapts to the actual game window, including fullscreen. Internal 3D rendering still uses the original render target with the selected scale; the listed sizes are display output dimensions.
QUIT TO DESKTOP is the last main-menu item. Select it and press A to close the game normally. Original Xbox LIVE services remain unavailable; enable the experimental community ONLINE / SYSTEM LINK mode to play with a friend.
High-refresh display options
Use 60 FPS for normal play. Retained 120/144/240/no-cap selections are currently paced at 60 as well, preserving normal game speed until game-timer changes are independently verified. Guest VSync is disabled through the late-loaded GPU plugin, and the single host limiter controls submission timing. Tearing is allowed by default; this can reduce blocking in GPU emulation but visible tearing depends on the display configuration.
F10 opens a separate native statistics window with submission rate, average/p99/worst intervals and a frame-time graph. DXGI Present-call intervals are shown separately. These measure host calls, not physical scanout, GPU render duration or a guarantee of unique completed images. Earlier high-FPS claims based on ImGui redraw counts were unsupported. On a fixed-refresh display, a 60 Hz mode or integer multiple such as 120 Hz matches 60 FPS cadence more evenly than 144 Hz.
Image filters and anti-aliasing
- FXAA and FXAA Extreme options for edge smoothing, plus an Off setting.
- AMD FidelityFX FSR, Contrast Adaptive Sharpening (CAS) or Bilinear presentation options.
- Fullscreen or windowed mode, configured before launching the game.
A more convenient PC experience
- Graphical settings launcher: choose your ISO, resolution, framerate, display mode and image filters in one place; settings are saved for the next launch.
- Separate FPS/timing window: toggle F10 for submission rate, average/p99/worst intervals and a frame-time graph. DXGI Present-call timings are shown separately; they do not measure physical scanout. Use --frame_log=true to write
dist/frametimes.csv. - Quick exit: press Escape to return to Windows.
- SDL3 gamepad support, with controller detection active before the startup intro.
Offline menu and startup improvements
- The unavailable original Xbox LIVE entry is removed in offline mode. Enabling community online exposes ONLINE / SYSTEM LINK. Tournament, Exhibition, Training Mode, Options and Extras remain available, with QUIT TO DESKTOP last.
- A gamepad button immediately stops the startup intro and continues to the main menu after loading, without another Start press.
- A large, centered, antialiased LOADING MAIN MENU... transition while the menu initializes. The skip press cannot accidentally select a menu item.
If installation stops
Music plays but LOADING MAIN MENU... never disappears? In v1.0.3 and earlier, the loading overlay could hide the first-run save question and block the controls needed to answer it. Download the v1.5.0 installer, choose the same ISO and installation folder, and rebuild. Your existing saves are retained. Afterward, answer the visible Saved Game question if it appears.
Already installed, but starting the game says --game_data_root does not exist even though your ISO exists? Versions 1.0.1/1.0.2 could build with the SDK's directory-only startup code. Download the v1.5.0 installer above, choose your ISO and the same installation folder, then run Install / Recheck to rebuild with ISO support. You do not need to delete your installation. Start through tabletennis_launcher.exe afterward; the ISO must remain available.
Click Open log in the installer. You can retry after fixing the reported issue; downloaded components are cached. If Windows security blocks a required component, installation stops and security settings remain unchanged.
The installer is not code-signed. Automatic installation of missing Microsoft components has not yet been tested on a completely clean Windows machine. The installer backend was tested with its downloaded portable Python runtime and existing compiler/SDK installations. The separate ReXGlue download was previously blocked by security software on the development PC; that first-download path remains unverified.
Existing local saves and graphics settings are retained during repair; the selected ISO path is updated. First-run save creation and startup with that save were checked in isolated profiles; gameplay progress save/load was not fully revalidated.
How it works
The small installer contains project source and patch instructions. It downloads a checksum-verified, isolated Python runtime and checks for suitable build tools. If needed, it starts Microsoft's signed Visual Studio 2022 Build Tools installer with the required C++/Windows SDK/CMake/Ninja/Clang components selected. The screen asks permission for component downloads and installation before starting.
It then obtains the matched Windows engine based on ReXGlue SDK v0.10.0, checks its pinned SHA-256, reads the supported executable and menu archive from your ISO, generates and patches the game code, and builds everything on your PC. No retail menu archive, XEX, ISO, generated game functions or prebuilt game executable is included in the public downloads. Install-Table-Tennis.exe is our own installer, not the game executable.
Locally generated files stay under the installation folder. Do not upload dist, private_work or project/generated.
Microsoft components: "Build Tools 2022 is already installed"
If setup stops with component installation code 1 and the Microsoft log says Visual Studio Build Tools 2022 is already installed, open Visual Studio Installer, update the existing Build Tools 2022 installation, then choose Modify. Select Desktop development with C++, including the Windows SDK, C++ Clang Compiler for Windows and C++ CMake tools for Windows. Complete that change and retry the game installer. An existing Build Tools installation may still lack these components. This does not require uninstalling Build Tools.
The Table-Tennis-Source-v1.5.3.zip asset is the source package for developers. It is not required by players using the installer.
For manual builds, install 64-bit Python 3.10+, Visual Studio 2022 17.14 / MSVC v143 14.44 or newer C++ Build Tools with Windows SDK/CMake/Ninja, and Clang 19+. Clang can be standalone or included in Visual Studio. Then use:
Windows builds require the x64 MSVC target (clang++ --version must report
Target: x86_64-pc-windows-msvc). Clang bundled with MinGW/GNU-based launchers can
have a newer version while using incompatible C++ headers/libraries. Errors such
as clock_time_conversion undeclared, GNU -std=gnu++23, or pthread detection
can indicate this mismatch. Install official Windows LLVM or Visual Studio Clang
and put its bin directory before other Clang installations in the launching
terminal's PATH. After changing compiler, rename the installation's build
folder (for example to build-old) before retrying; keep dist, user_data,
.tools, project/generated and your ISO.
.\setup.ps1 -IsoPath 'E:\Games\TableTennis.iso' -SdkPath 'E:\Tools\rexglue-sdk-0.10.0' -NoDownload
SdkPath must contain bin\rexglue.exe and lib\cmake\rexglue. Add -Jobs 2 for lower memory use or -PrepareOnly to stop after code generation and patches. The installer can also use a supplied SDK via its optional --sdk PATH argument.
Checks and source packaging:
py -3 -m unittest discover -s tests -v
py -3 project/tools/package_source.py --audit-index
py -3 project/tools/package_source.py --output 'E:\ReleaseOutput'
powershell -File project/tools/build_installer.ps1 -SourceZip 'E:\ReleaseOutput\Table-Tennis-Source-v1.5.3.zip' -OutputPath 'E:\ReleaseOutput\Install-Table-Tennis.exe'
The installer builder validates every embedded source file against the public allowlist before compilation. It rejects extra or altered payload files. Native patch rules store offsets, hashes and replacement text rather than removed original function bodies. See implementation and validation and changelog.
License and rights
Desktop icon credit
Desktop icon artwork by Gary aka POOTERMAN :) — visit POOTERMAN on DeviantArt. Thank you for the artwork! The supplied image was converted into a Windows icon in multiple sizes for the launcher and desktop shortcut. The artwork is credited separately and is not covered by this project's MIT license.
Project-authored integration, installer and tools use the MIT license. Adapted ReXGlue SDK headers, the ISO application adapter and SDK-derived CMake integration retain their BSD 3-Clause notices; see ReXGlue license. SDL's notice is retained. Downloaded components have their own licenses: Microsoft and Python.
Rockstar Games and Take-Two retain rights to their original game and material. This project is independent and unaffiliated. No project license grants rights to the original game. Local generation reduces what this project distributes; it is not a guarantee of legal compliance. You must have the necessary rights to use and process your copy.
Comentarios (0)
Inicia sesión para dejar un comentario.
Sé el primero en comentar sobre este juego.
