South Park: Tenorman's Revenge Recompiled

South Park: Tenorman's Revenge Recompiled is a native PC port of South Park: Tenorman's Revenge for Windows and Linux with a launcher and support for higher resolutions.

README

South Park: Tenorman's Revenge PC Port

South Park: Tenorman's Revenge on PC, running natively, with a launcher and the options of a modern PC release.

Download for Windows   Download for Linux

Latest release Downloads Platforms


The launcher's Play page Cartman among the Ginger propaganda posters A lab full of Ginger robots Climbing the tower Outside the United Atheist League

The original Xbox 360 game code, translated to native PC code with the ReXGlue SDK. No game files included: bring your own South Park: Tenorman's Revenge Xbox Live Arcade package.


At a glance

🖥️ Native Windows and Linux builds, no emulator🎮 Any controller, or the keyboard with your own bindings🗂️ Saves and settings one click away in the launcher
✨ Up to 8K, FXAA, MSAA and 16x texture filtering⏱️ The console's 60 FPS, paced exactly like the Xbox 360🔁 Remap any button, deadzone, vibration strength
🏆 Achievements with Xbox 360-style pop-ups📦 Install from your own package in a few clicks🔄 Updates itself from this page
🐧 Linux and Steam Deck as a single AppImage🌍 Six languages: English, French, German, Spanish, Italian, Japanese🪟 Windowed or fullscreen, any monitor, F11 to switch

The launcher

The Display page The Graphics page Display: window, monitor, VSync, aspect ratio  ·  Graphics: render resolution, anti-aliasing, filtering



The Controls page The Achievements page Controls: remapping, deadzone, vibration, keyboard  ·  Achievements: the game's 20, with pop-ups and sound

[!NOTE] Early version. The port boots and plays through its levels on Windows, but a full play-through hasn't been confirmed yet. Please report anything that goes wrong. What changed in each version is on the releases page.

Getting started

You need: Windows 10 or 11 (64-bit) and a DirectX 12 graphics card, or 64-bit Linux / a Steam Deck with Vulkan; about 1 GB of free space; and your own South Park: Tenorman's Revenge Xbox Live Arcade package (see Which version you need).

Windows

  1. Download SouthParkTR-...-windows-x64.zip from the latest release and unzip it anywhere.
  2. Run south_park_tr.exe. The launcher opens.
  3. On the Play page click Install from package... and pick your package file (or drop it onto the window). Its files (about 700 MB) are copied into a game folder next to the exe.
  4. Press PLAY.

Linux and Steam Deck

  1. Download SouthParkTR-...-linux-x86_64.AppImage from the latest release.
  2. Make it executable: right-click > Properties > Permissions > Is executable (on a Steam Deck, in Desktop Mode), or chmod +x it.
  3. Run it and install from your package as on Windows. The game files go in a game folder next to the AppImage.
  4. On a Steam Deck, add it to Steam with Games > Add a Non-Steam Game and play it from Game Mode. Start presses Play in the launcher.

The download contains only this port. No game files are included: they come from your own package. Saves go in Documents\south_park_tr on Windows (the launcher's About page opens the save folder on any system); settings are saved to south_park_tr.toml next to the program.

Which version you need

The port is made for this release only. Other versions, and title updates, will not work.

GameSouth Park: Tenorman's Revenge (Xbox Live Arcade, 2012)
Title ID58410B80
Content type000D0000 (Xbox Live Arcade)
Where it is on an Xbox 360 driveContent\0000000000000000\58410B80\000D0000\
Packagea LIVE file with a long hexadecimal name, about 740 MB
Game versiondefault.xex version 0.0.0.1, built 2012-03-08
default.xex3,870,720 bytes, CRC32 1F353EBD, SHA-1 A0E831E4B49A08E5EE8B24BB08EE3B0231FC6E04

The launcher checks the title ID when you pick the package, and checks default.xex after installing. The package file's own checksum differs from player to player (its header carries the owner's licence), so default.xex is what identifies the version.

The launcher

Everything is set up before the game starts, with a controller, the keyboard or the mouse. It uses art from your own copy of the game: the package's banner and icon, and the title screen once you have played. Settings are saved to a plain text file, south_park_tr.toml, next to the game.

Play page

Play

  • Install from your XBLA package, with the title ID and game version checked
  • Full game or Trial: XBLA games shipped as trials unlocked by buying them; the full game is on by default
  • Show the launcher at startup, or not (hold Shift at start to bring it back)

Display

  • Windowed or fullscreen; F11 or Alt+Enter switches while playing
  • Window size that fits your screen, and which monitor
  • VSync on or off
  • Letterbox 16:9 or stretch to fill
Display page
Graphics page

Graphics

  • Render quality: Native, Quality, Balanced, Performance and Ultra Performance, or Supersample for the cleanest edges
  • Custom resolution from 1x (720p) to 6x (8K)
  • FXAA, real 2x MSAA and texture filtering up to 16x
  • Shader preparing: wait for each new effect the first time (no missing objects), or prepare it in the background

Gameplay

  • Language: English, French, German, Spanish, Italian or Japanese
  • Frame counter in the corner, toggled with F2

The game runs at the console's 60 FPS. Higher frame rates haven't been checked for correct game speed yet, so there is no frame-rate setting for now.

Gameplay page
Controls page

Controls

  • Controller or keyboard, with every keyboard binding changeable
  • Stick deadzone, vibration on or off and its strength
  • Invert the left stick's axes
  • Remap any button on your controller

Achievements

  • All 20 achievements with their own pictures, names and gamerscore, read from your copy of the game
  • See which ones you have unlocked
  • Xbox 360-style pop-ups with a sound you can pick (or your own .wav) and its volume
  • A bonus Ginger Alert achievement the first time you play
Achievements page
About page

About

  • Updates: ask, automatic or off, and Check now
  • Open your save folder, game folder or settings file in one click
  • Capture the launcher's title-screen art again, or reset every setting

Xbox 360 vs PC port

Xbox 360PC port
Resolution1280 x 720up to 7680 x 4320
Frame rate60 fps60 fps, paced like the console
Anti-aliasingconsoleFXAA, 2x MSAA, supersampling
Texture filteringconsoleup to 16x
DisplayTVwindowed or fullscreen, any monitor
ControlsXbox 360 controllerany controller, remapping, keyboard
Achievement pop-upsconsoleXbox 360 style, with your choice of sound

Good to know

Hotkeys

KeyAction
F2frame counter
F3performance overlay
F11 or Alt+Enterfullscreen / windowed
Shift while startingopen the launcher

Known issues

  • Xbox LIVE features (online leaderboards and the like) do not work.
  • Sound hasn't been checked in every level yet, and saving and loading still need a full test.
  • The first time you see a new effect it has to be prepared, which can cause a short pause. Effects are saved, so this only happens once.

Updates

When the launcher opens it asks GitHub whether a newer version of the port is out, and offers to install it. Update now downloads it, replaces the port's own files and restarts the launcher; your installed game, saves and settings stay as they are. Change this on the About page (Ask, Automatic or Off).

Reporting a problem

Everything useful is in the logs folder next to the program:

  • south_park_tr.log describes your settings, and every 10 seconds notes the frame rate, the 1% low and any frames that took over 50 or 100 ms.
  • If the game crashes on Windows, crash-<date>.txt and crash-<date>.dmp appear next to it.

Please attach them to an issue together with your CPU, graphics card and operating system.

About the port

South Park: Tenorman's Revenge came out on Xbox Live Arcade in 2012. Scott Tenorman steals the Xbox hard drive holding the boys' save game, and Stan, Kyle, Cartman and Kenny chase him and his Ginger army through time in a 2D platformer, each with their own powers. It was never released on PC.

This port translates the Xbox 360 game's own code to C++ ahead of time and runs it natively on Windows and Linux with the ReXGlue SDK. It's the second South Park port in the series, after South Park: Let's Go Tower Defense Play!, and shares its launcher and tools. NOTES.md has the technical details.

Building from source (for developers)

You need Visual Studio 2022 Build Tools with Clang, CMake and Ninja, and your own package.

git clone --recursive https://github.com/TekRantGaming/south-park-tenormans-revenge-recompiled
cd south-park-tenormans-revenge-recompiled
.\setup.ps1 -Package "<path to your 58410B80 package>"   # downloads the SDK, unpacks your package, translates the code
sptr\build.bat sptr-release                               # compiles
.\tools\package_windows.ps1 -Version v0.1.0               # optional: the release zip

The finished game is in sptr\out\build\sptr-release. Point it at your files with --game_data_root, or keep them in a game folder next to the exe. The Linux AppImage is built in WSL (Ubuntu 24.04) or on Linux after setup.ps1: tools/build_appimage.sh v0.1.0.

For testing, --sptr_null_trace=true logs a symbolized stack when the game touches the null page, SPTR_DUMP_IMAGE=<file> writes the decrypted game image for tools/ppc_dis.py and tools/find_indirect_funcs.py, and SPTR_LAUNCHER_PAGE=<n> opens the launcher on a given page.

Credits

[!NOTE] AI disclosure: this port was made almost entirely with Claude Code (Anthropic). The repository owner directed and tested the work; the AI did the analysis, code, tools and documentation.

[!IMPORTANT] This project is not affiliated with or endorsed by South Park Digital Studios, Comedy Central, Paramount, Other Ocean Interactive or Microsoft. It contains no game code or assets. Do not open issues asking for game files.