Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Dragon Ball Z: Burst Limit Recompiled
PORTSNATIVE

Dragon Ball Z: Burst Limit Recompiled

PORT NATIVOLUCHA / COMBATEWINDOWSBETA

Dragon Ball Z: Burst Limit Recompiled

Dragon Ball Z: Burst Limit

OrigenXbox 360

TecnologíaRecompilación Estática (C/C++ nativo)

Disponible paraWindows

Ver proyecto oficial

Sobre el proyecto

Dragon Ball Z: Burst Limit es un videojuego de lucha para PlayStation 3 y Xbox 360 basado en el anime Dragon Ball Z. El videojuego fue desarrollado por Dimps y publicado en Norteamérica y Australia por Atari, y en Japón y Europa por Namco Bandai bajo la etiqueta Bandai. Fue lanzado en Japón el 5 de junio de 2008, en Europa el 6 de junio de 2008, en América del Norte el 10 de junio de 2008 y en Australia el 3 de julio de 2008.

3 versiones de Dragon Ball Z: Burst Limit

Estás viendo: Dragon Ball Z: Burst Limit Recompiled

Dragon Ball Z: Burst Limit Recompiledgithub.com/iExplosiveRage/DBZ-Burst-Limit-Recompiled
Windows
Actual
DBZ Burst Limit Androidgithub.com/nahalewski/DBZBL-Android-LAN
Android
›
Dragon Ball Z: Burst Limit (Android)github.com/dfdx047/Dragon-Burst
Android
›

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗
<p align="center"> <img src="res/logo.png" alt="Dragon Ball Z: Burst Limit Recompiled" width="600"> </p> <p align="center"> <a href="https://ko-fi.com/iexplosiverage"><img src="https://img.shields.io/badge/Ko--fi-Support%20the%20project-FF5E5B?logo=ko-fi&logoColor=white" alt="Support the project on Ko-fi"></a> </p>

Dragon Ball Z: Burst Limit Recompiled

A static recompilation of Dragon Ball Z: Burst Limit (Xbox 360) to native Windows x64, built on the ReXGlue recompiler/runtime.

The game's PowerPC code is translated ahead of time into C++ and compiled with Clang, so it runs as a normal Windows program instead of inside an emulator.

This repository contains no game data. You need your own legally obtained copy of the game.

Only the US (NTSC-U) version of the game works. The game code is translated ahead of time from the US default.xex; other versions (European/PAL, Japanese) aren't supported. See Which version.


Features

  • Native x64 build of the game code (no JIT), Direct3D 12 renderer.

  • Install from your disc image: on the first start without game files, pick your Burst Limit (USA) Xbox 360 .iso and the game files are copied next to burstlimit.exe (about 3.3 GB, once). The .iso is checked to be the US version first and isn't changed. --install_iso=<path> does the same without the file picker.

  • Start screen (start_screen) in the game's own style - the main menu's Goku, the logo, the game's font and menu sounds, read from your game files: Play, Mods, Settings, Update and who's online right now (players, how many on your version, the open rooms). "Play - don't show this screen again" skips it.

    <img src="res/screenshots/start_screen.png" alt="Start screen" width="640">
  • Updates from inside the game (update_check_url): when GitHub has a newer release, the start screen shows an Update button that downloads it, puts its files next to the exe (keeping burstlimit.toml, the game files, saves, mods and textures) and restarts.

  • Faster rendering: clears done in place instead of EDRAM transfers, no per-frame re-upload of untouched memory, and the unclipped draws' extents worked out on the CPU - about 2x the FPS at native 4K (100 -> 190+ on an RTX 4080) and +40 % with DLAA; +32 % on an AMD integrated GPU at 1080p.

  • Even faster GPU work (since 0.6.2): resolves go straight into the textures that read them, unchanged pictures aren't copied again, and simple texture fetches skip the level-of-detail math - heavy effects like Goku's special explosion cost far less (at 5K on an RTX 4080: 50 -> 81 FPS in the explosion, 97 -> 246 FPS in a quiet fight; 40 -> 48 FPS on an AMD integrated GPU at 960x540).

  • Picks the strongest GPU by itself (since 0.6.2, #17): on PCs and laptops with integrated and dedicated graphics the game runs on the dedicated one (d3d12_adapter -1); the log lists every GPU (DXGI adapter N:) and which one was used (DXGI adapter:). Windows Settings > System > Display > Graphics still overrides it.

  • Fast render path on Intel GPUs (since 0.6.2): Intel used a much slower path (about 2.4x slower on an integrated GPU); now every GPU uses the fast one. If the picture looks broken (old Intel drivers), DISPLAY > Render path > Compatibility (after a restart).

  • Native renderer (since 0.7.0, the default): the game's drawing calls go straight to the PC's graphics API instead of through an emulated Xbox 360 GPU - on an RTX 4080, unlocked: 1440p 330 -> 612 FPS, 4K 358 -> 424 FPS; PCs limited by the CPU gain the most (close to 2x). Emulated (DISPLAY > Renderer, after restarting the game) is the classic path; switch back to it if something looks wrong. The log says which one runs (Native renderer: on).

  • Any resolution (since 0.7.0): DISPLAY > Resolution 720p, 1080p, 1440p, 4K, 5K, 6K or 8K (draw_resolution_height; 1080p and 6K with the Native renderer). With the Native renderer, NVIDIA DLSS / AMD FSR modes render at the same sizes as in PC games (DLSS Quality 66.7%, Balanced 58%, Performance 50%, Ultra Performance 33.3%), and frame times with DLSS / DLAA are steadier.

  • Shader warm-up: shaders and pipelines the game has used are saved in the shader cache and built while the game loads, so they don't stutter again. gpu_shader_storage_seed also merges a shader_seed folder next to the exe, if there is one (none is shipped: it would hold the game's own shader code).

  • Online fights at 60 FPS (since 0.7.0, online_frame_rate_cap): with a higher frame rate setting, online sessions are held at 60 so both players run at the same speed.

  • Long sessions (since 0.7.0): fixed the game slowly getting slower the longer it ran.

  • Graphics preset (since 0.6.2, #15): DISPLAY > Graphics preset Low-end PC (960x540) or Lowest (640x360) sets everything for a weak laptop at once: lower resolution, no upscalers or picture filters, blur effects off, at most 60 FPS.

  • In-game settings menu: F1, or Back + Start on the controller, in the game's menu style (its font, menu box, button icons and sounds): DISPLAY, GRAPHICS, EFFECTS, GAME, ONLINE and SAVE. Resolution, window size, upscalers, frame rate, field of view, post effects, free camera and more; changes apply right away and are saved to burstlimit.toml.

    <img src="res/screenshots/settings.png" alt="Settings menu" width="640">
  • Window size (window_size, when not fullscreen): 512x448 up to 2560x1440, and Keep aspect ratio (present_letterbox): black bars, or the picture stretched to fill the window (a 4:3 screen, say).

  • Ultrawide (Aspect ratio, aspect_ratio): 21:9, 32:9 or "fit the window / screen" (for example 3440x1440). The fights show more to the sides (the view is widened, not stretched or cut); the menus, the movies and the pause menu stay 16:9 in the middle, and the battle HUD's life bars move out to the screen's edges (Wide HUD, widescreen_hud = edges or center). The resolution grows with the width, so it stays sharp; NVIDIA DLSS / AMD FSR still work.

  • Frame rate cap (frame_rate): 30 (the original), 60, 120, 144, Monitor refresh rate (display) or unlocked, with fixes for pause, quitting a match and Training's "Reset Standing Position" above 30 FPS.

  • Even frame pacing and VSync (present_vsync, on by default, since 0.6.1, #14): each frame is shown whole, one per monitor refresh, and offline a frame rate the refresh rate is a multiple of (60 on a 60 / 120 / 240 Hz monitor, 144 on 144 Hz, or Monitor refresh rate) is locked to the monitor's refreshes instead of a timer of its own - no more skipped and doubled frames ("judder") at a steady 60 FPS. Online timing is unchanged. G-Sync / FreeSync still work; off = frames are shown at once (tearing allowed).

  • Low CPU use (since 0.6.0): the game no longer keeps a CPU core busy waiting for the GPU, and the window is painted once per game frame - about 5x less CPU at 60 FPS (from more than a whole core to a fifth to a third of one). At 30 FPS the cap now holds everywhere offline (fights used to run at about 48 FPS); online timing is unchanged.

  • Resolution and upscaling: internal resolution up to 4K and beyond, changeable while playing, or below 720p for slow GPUs (Lower resolution: 960x540 / 640x360, about 1.5x / 2.9x the FPS on a weak integrated GPU); AMD FSR 1/2/3 and CAS sharpening, FXAA, anisotropic filtering, and a Texture detail option (texture_lod_bias) for sharper textures in the distance.

  • AMD FSR 4 / FSR 3.1.5 (fsr_mode, fsr_sharpness): AMD's anti-aliasing and upscaling for the 3D scene, like DLSS below (same jitter, motion vectors and HUD handling). FSR 4 on AMD RX 9000 GPUs (and RX 7000 with AMD's FSR 4 driver support), FSR 3.1.5 on any other GPU. Native AA keeps the resolution; Quality to Ultra Performance render the scene lower and upscale it. FSR 4 hasn't been tested on AMD hardware yet - reports welcome.

  • NVIDIA DLSS and DLAA (experimental) (dlss_mode, dlss_preset): NVIDIA's AI anti-aliasing and upscaling on RTX GPUs, applied to the 3D scene before the HUD, with the jitter and camera motion vectors it needs reconstructed from the game's draws. DLAA keeps the chosen resolution; Quality, Balanced, Performance and Ultra Performance render the scene lower and upscale it, for more FPS, while the HUD is still drawn at the full resolution. Since 0.7.3, DLSS/FSR Quality modes on the native renderer are much sharper (frame-pacing fix) and use NVIDIA's recommended mip bias.

  • Sharper picture (soft_filter): the game's last pass blurs the whole picture slightly (a soft look made for 720p). Above 720p it took away much of the resolution's sharpness, so it's off by default now; turn it back on in Settings > Effects > Soft filter.

  • Field of view option (field_of_view, 50-200 %), applied where the game builds its projection, so the effects it places on the screen (flares, speed lines, distortions) stay on the fighters.

  • Cleaner image at high resolution: the game's depth of field, glow blur and motion blur sample at fixed 720p distances, which leaves halos and ghost copies around the characters above 720p. They are off by default and can be turned back on (depth_of_field, glow_blur, motion_blur).

  • Smooth cutscenes: the story's cutscenes moved the characters and the camera at 30 FPS even with the game at 60. At a frame rate of 60 or more they now move at the full 60.

  • Four hidden costumes (story_costumes): costumes the game only uses in Z Chronicles, now on the character select with Y (Change Color): Goku battle-damaged (from the fight with Frieza) and Goku as Ginyu (green scouter), Kid Gohan in his Raditz-saga outfit, and Teen Gohan battle-damaged (Cell Games), with all their transformations.

  • Three new stages (extra_stages): Dying Namek, Wasteland and Seaside Cliffs, stages the game only uses in Z Chronicles, are added to the stage select of Versus and Training, with their own pictures, and RANDOM can pick them too. Offline only: online matches keep the original list.

  • Start transformed: on the character select, RB / LB pick the form a character starts the match in (Super Saiyan Goku, Final Form Frieza, Perfect Cell, ...), shown in a tag under its name with the form's face. Works in Versus, Training and online lobby matches (each player picks their own; the choices are sent to the other PC); Z Chronicles battles keep their own forms. start_forms turns it off (online: the host's setting is used by both players).

  • Free camera / photo mode (free_camera): fly the camera anywhere - also in cinematics and super attacks - hide the HUD, zoom and tilt. Freeze game (freeze_game) stops the fight and its cutscenes while you move around (offline only). Keyboard: Insert and Numpad 0, both rebindable in the settings menu. For repeatable shots, the console commands free_camera_where (logs the current camera as a command) and free_camera_pose <x> <y> <z> <yaw> <pitch> [fov] [roll] (puts the camera there).

  • HUD on / off (show_hud, DISPLAY -> HUD): hides the fight's HUD (life and Ki gauges, portraits, prompts) while you play, without the free camera. The pause menu still shows.

  • Sharp Xbox Series, PlayStation and Nintendo Switch button icons (button_icons): the game's small Xbox 360 button prompts - menus, tutorials and the fight HUD's "press repeatedly" buttons, the settings and Mods menus - show the buttons of the controller in use, by position (A = Cross / B, B = Circle / A, LB = L1 / L, ...), drawn at high resolution, and the Xbox 360 pad of Control Settings and the tutorial becomes an Xbox Series controller, a DualSense or a pair of Joy-Cons. Auto follows the controller you play with (and shows the keys once you play on the keyboard, since 0.7.3); Settings > Game > Button icons picks one.

  • FPS panel (F3): frame rate, frame time graph, render resolution and upscaler, in any corner. Since 0.6.1 the FPS, its 1% low and the graph are measured from the real presents to the screen (what RTSS / PresentMon see), so uneven presentation shows even when the game's own frames are even. The perf_report console command adds present times and the game frame -> screen latency.

  • Mods menu (mods_enabled): a Mods entry in the main menu, under Options, in the game's own style and sounds (and on the start screen). A mod is a folder in mods\ next to burstlimit.exe with replacement game files named like the files in LONG2DATA_US.CPK (for example BCGOK002.NUX); PlayStation 3 model mods are converted on the fly. Switches apply without restarting, from each file's next load. The game's archive itself is never changed. Online, rooms only match players with the same mods on. See Mods.

  • Exit Game (since 0.7.3, #21): an Exit Game entry in the main menu, under Mods ("Exit the game?" No / Yes), and Exit game in F1 > GAME (A, then A again): closes the game like its window's close button, without Alt+F4.

  • Drama sequences (since 0.7.3, #21, drama_pieces, F1 > GAME, on by default): Off removes the Drama Pieces - the short cut-scenes that interrupt a fight (a partner stepping in, story moments in Z Chronicles) - in every mode. The opening / ending scenes stay (the game's own cut-scenes rule decides those). Online (lobby) the host's setting is used by both players; over Radmin / LAN the game's default (on).

  • Keyboard controls (since 0.7.3, #24, mnk_mode, on by default): play with the keyboard, with or without a controller. The game's button prompts, command lists and tutorials then show the keys, every key can be changed in F1 > KEYBOARD, and the keyboard can be player 2 next to a controller. See Controls.

  • Achievement popups (since 0.7.3, achievement_popups): when you earn one of the game's 50 achievements, a popup in the game's menu style shows its picture, name, description and gamerscore as a bronze, silver or gold trophy (by gamerscore), with that tier's sound (trophy sounds by Spade; F1 > GAME > Achievement sound has other choices), and a platinum popup once all 50 are unlocked. F7 opens the achievements window in the same style - progress, trophies per tier, All / Unlocked / Locked tabs and every achievement with its unlock date, the secret ones with their real text - and works with the controller (B closes it).

  • Ki charge (ki_charge, ki_charge_rate, off by default): hold L3 to charge Ki, like Shin Budokai - on the ground or in the air, with a finishing pose when the gauge is full, the Aura Spark motion and wind / dust in your aura's color. Works online (the host's setting is used by both players).

  • Lower input latency offline (input_delay, F1 > GAME > Input delay): the game runs every press 3 frames (50 ms) late in offline fights too, the same delay its online code uses. Reduced (the default) acts on the next frame; Original keeps the Xbox 360 timing. Controllers are also read at the moment the game asks (input_poll_on_read) instead of using the state from the game's previous read. Online is unchanged.

  • "Online" instead of "Xbox LIVE" (online_branding): the menus' text and the Online Battle title.

  • Save export / import (Settings > Save): your save as a zip in the saves folder next to burstlimit.exe, and back - also saves exported from Xenia. The current save is backed up first.

  • Online over the internet, no VPN (online_lobby_url): rooms appear in the game's own Player Match menus (Create Match / Custom Match), served by a small lobby server; the two PCs then connect directly (ICE with STUN hole punching, a TURN relay when that isn't possible). See Online play.

  • Sign in with any controller (since 0.7.2): the online profile follows the controller you press Start with, so a second controller or a virtual pad (Steam Input, DS4Windows) in the first slot no longer blocks online with "You must sign in". The lobby connects as soon as the game starts, so the online menus find it ready.

  • Smooth online fights (online_input_delay): every frame's input is sent right away over a side channel and both PCs run it a fixed number of frames later (2-8, the host's choice), instead of the game's 3-frame packs - no slow motion while the ping stays under the delay. The guest takes the host's online settings, every datagram is sent again a few ms later (online_redundancy), and a desync check compares the fight's state every frame. Rooms are only listed between identical builds.

  • Ranked Match and online leaderboards (since 0.5.0): the game's own Ranked Match with its Power Level and Grade, kept by the lobby once both PCs report the same result, and the game's Leaderboard with each player's battles, wins, losses and favourite character. See Ranked Match.

  • Room rules for Player Match (since 0.6.0): when a guest joins, the host picks each player's Health, Attack and Defense, the Time Limit, the Rounds and the cut-scenes in a menu like offline Versus' Player Settings; the guest sees them before the fight, and the room list and View Battle Rules show them too. Ranked Match keeps the game's rules. See Room rules.

  • Extra characters from mods (extra_characters, since 0.5.0): a mod with a slot.toml adds a character on a second page of the character select (R2 / L2), with its own name, pictures, moves, voice and ultimate names. Tools for making them: DBZ Burst Limit ModKit. Since 0.7.1 they work online too (lobby matches): both players need the same mods.

  • Unlock everything (since 0.7.1, F1 > GAME > Unlock everything, press A twice): a full 100% - all characters, forms, costumes, stages, modes, Z Chronicles episodes, Drama Pieces and trial records - while your own records, options and play time are kept. The save is backed up first (.bak_unlock next to it). Offline only (not during an online session).

  • Older online method over LAN / Radmin VPN: Xbox LIVE sign-in, session create/search/join and player matches, emulated on top of plain UDP, with a configurable match driver step (online_fast_tick, online_tick_sleep): the game normally sends input in 12-frame batches (~1 second of input delay even on LAN).

  • Texture dumping / replacement (texture_dump_enabled, texture_replace_enabled): put a texture pack in textures\replace and turn on Texture pack in the settings menu. PNG and DDS (BC1/BC2/BC3/BC7 and uncompressed) files are read. Replacements get mipmaps and never stall the game: one not decoded yet shows the original texture for a moment while it's decoded and its upload prepared in the background (texture_replace_async) - with a large DDS pack the worst hitch went from 1.7 s to 0.07 s, about the same as without a pack. Small packs are also decoded at startup; bigger ones (over texture_replace_ram_mb) load as they're used, and the least recently used ones leave RAM (also for the background loads, since 0.6.1). Since 0.6.1: packs saved with premultiplied alpha (some upscaling tools export them that way) are found and converted (texture_replace_alpha, auto by default) - before, their soft edges, glows, skies and decals came out dark; images over 8192 pixels are scaled down to fit; a replacement keeps the game's own number of mip levels (at its scale), and anisotropic filtering applies to replacements of textures the game made without mips; and replacements of textures the game reads in a different colour order show the right colours (the title screen's Goku / Vegeta art was blue with some packs).

  • Crash fix (since 0.6.1): a rare crash while a character select or a fight loads ("Call to invalid function 0x0") - a race in the game itself, where a render command could still point at a texture the game had just freed. Such commands are now skipped.

  • Play time fix: the game counts play time in presented frames, so above 60 FPS it ran fast; it counts real time now.

  • Discord status (discord_presence): your Discord profile shows that you're playing and what - the menus, Z Chronicles, Training, Versus or online - through the Discord app's local connection (no SDK or DLL).

  • The game's menu sounds (menu_sounds) on the start screen and in the settings menu, read from the game's sound bank.


Download (no build needed)

Grab the latest alpha from the Releases page:

  1. Download DBZ-Burst-Limit-Recompiled-*.zip and extract it anywhere.
  2. Run burstlimit.exe. The first time, it asks for your Burst Limit (US version) Xbox 360 .iso and installs the game files from it. (Or copy your extracted game files into the game_data_root folder yourself, see Game files.)
<p align="center"><img src="res/screenshots/install.png" alt="First start: pick your .iso, the game files are installed" width="600"></p>

Building from source (below) is only needed if you want to change the code.

Linux / Steam Deck

Download DBZ-Burst-Limit-Recompiled-*-linux.zip instead: the same build with vkd3d-proton and DXVK (Direct3D 12 to Vulkan) next to it and a run_linux.sh launcher for Wine. Put your game files in game_data_root and run ./run_linux.sh. Steam / Proton works too: add burstlimit.exe as a non-Steam game and force Proton Experimental in its Compatibility settings. The .iso install works there too. Since 0.7.3 (#25) the window no longer waits forever for the display or for the start screen's lobby / update checks, and if it still stops answering, burstlimit.log says where (ui_watchdog) and names the Wine / Proton version - please attach it to an issue.


Requirements

To play

  • Windows 10/11 x64
  • A GPU with Direct3D 12 support
  • Your own copy of Dragon Ball Z: Burst Limit for Xbox 360, US (NTSC-U) version, extracted to a folder (see Game files)

To build

ToolVersionNotes
Visual Studio 202217.xInstall the Desktop development with C++ workload (for the Windows SDK and linker).
LLVM / Clang20 or newer (tested with 21.1)clang / clang++ must be on PATH.
CMake3.25 or newer
Ninja1.11 or newerMust be on PATH.
Gitany recentNeeded for the SDK submodule.

About 15 GB of free disk space is needed for the SDK dependencies and build output. A full first build takes 10–30 minutes depending on your CPU.


Getting the source

git clone --recursive https://github.com/iExplosiveRage/DBZ-Burst-Limit-Recompiled.git
cd DBZ-Burst-Limit-Recompiled

If you cloned without --recursive:

git submodule update --init --recursive

The ReXGlue SDK lives in thirdparty/rexglue-sdk (branch burstlimit of iExplosiveRage/rexglue-sdk). It contains the Burst Limit specific runtime changes (online, settings menu, upscalers, frame pacing, texture replacement, overlay, codegen fixes).


Game files

The released build installs them from your .iso on its first start (see Download). To do it by hand, or to build from source: extract your copy of the game (for example with extract-xiso) and copy it into a folder called game_data_root at the root of this repository:

DBZ-Burst-Limit-Recompiled/
└─ game_data_root/
   ├─ default.xex
   └─ LONG2DATA/
      ├─ LONG2DATA_US.CPK
      ├─ STREAM_US.CPK
      ├─ STREAM_JP.CPK
      ├─ SFD/
      └─ SOUND/

default.xex is needed at build time (the recompiler reads it) and the whole folder is needed at run time.

Which version

Only the US (NTSC-U) Xbox 360 version works. This project is built from this default.xex:

RegionNTSC-U (USA)
Size7,983,104 bytes
SHA-1aec598f88cf51181fc377b148e0b1ad30db4485c

To check yours: certutil -hashfile default.xex SHA1 on Windows, sha1sum default.xex on Linux.

With another version the game closes right after it opens, and its log (in the logs folder next to burstlimit.exe) shows No function registered at .... The recompiled code only matches the US default.xex, so another version would need its own build.


Building

From a normal command prompt in the repository folder:

build.bat

build.bat will:

  1. Find Visual Studio 2022 and set up the x64 build environment.
  2. Fix the symlinks inside the SDK's libmspack submodule (Git for Windows checks them out as text files).
  3. Configure with the win-amd64-relwithdebinfo CMake preset.
  4. Run the recompiler (generates generated/default/*.cpp from default.xex).
  5. Build out\build\win-amd64-relwithdebinfo\burstlimit.exe.

To build manually instead:

cmake --preset win-amd64-relwithdebinfo
cmake --build out\build\win-amd64-relwithdebinfo --target burstlimit_codegen
cmake out\build\win-amd64-relwithdebinfo
cmake --build out\build\win-amd64-relwithdebinfo --target burstlimit

Other presets: win-amd64-debug, win-amd64-release.

Note: the recompiler only re-runs when the manifest or the game executable changes. If you change the SDK's code generator, delete generated/default before building.

Optional: AMD FSR 2 / FSR 3

FSR 1 and CAS are always built in. FSR 2 and FSR 3 need the AMD FidelityFX SDK, which needs the Vulkan SDK 1.3.250 or newer installed. Configure with:

cmake --preset win-amd64-relwithdebinfo -DREXGLUE_ENABLE_FIDELITYFX=ON

The build copies amd_fidelityfx_dx12.dll next to burstlimit.exe; keep it there.

Optional: AMD FSR 4 / FSR 3.1.5 (scene upscaler)

Configure with -DREXGLUE_ENABLE_FSR_SDK=ON (D3D12 only). The build downloads the files it needs from AMD's FidelityFX SDK v2.3.0 (headers plus AMD's signed amd_fidelityfx_loader_dx12.dll and amd_fidelityfx_upscaler_dx12.dll, checked against pinned SHA-256 hashes), or uses a local copy laid out like the SDK's Kits/FidelityFX given with -DREXGLUE_FSR_SDK_DIR=C:/path/to/FidelityFX. It copies both DLLs next to burstlimit.exe; keep them there. The DLLs are under AMD's license (docs/license.md of the SDK), not this project's. FSR 4 itself comes with the AMD driver on GPUs that support it; elsewhere the DLL runs FSR 3.1.5.

Optional: NVIDIA DLSS

Configure with -DREXGLUE_ENABLE_DLSS=ON. The build downloads the DLSS SDK files it needs (header, library and nvngx_dlss.dll, checked against pinned SHA-256 hashes), or uses a local copy given with -DREXGLUE_DLSS_SDK_DIR=C:/path/to/dlss_sdk. It copies nvngx_dlss.dll next to burstlimit.exe; keep it there. The DLSS SDK is under NVIDIA's own license (RTX SDKs), not this project's.

The new stages' pictures

The thumbnails of the three extra stages are made from screenshots of the game, so they aren't in this repository: they're built into the release burstlimit.exe from src/burstlimit_stage_thumbs.inc. Without that file the build still works, and those three entries show placeholder pictures.


Running

run.bat

This starts out\build\win-amd64-relwithdebinfo\burstlimit.exe with game_data_root from the repository. You can also copy burstlimit.exe and the .dll files from the build folder next to a game_data_root folder and run it directly.

Settings are stored in burstlimit.toml (see burstlimit.toml.example). Most of them can be changed in the settings menu (F1). Any setting can also be passed on the command line, e.g. --frame_rate=60.

Controls

  • Xbox, PlayStation and Nintendo Switch controllers work out of the box (also on the start screen and the installer).

  • Keyboard (on by default, with or without a controller - both work together; the prompts then show the keys, from the same Xelu icon pack):

    KeyDoesPad
    W A S D / arrow keysMove (menus: select)Left stick
    EnterMenus: confirm (Start at the title). Fight: pauseA (+ Start) / Start
    EscMenus: back. Fight: pauseB / Start
    Space or LGuard (menus: confirm)A
    K or BackspaceKi Blast (menus: back)B
    JRush AttackX
    ISmash AttackY
    Q / EAura Spark / TransformLB / RB
    U / OBlow-Away Attack / PursuitLT / RT
    F / GL3 (Ki charge) / R3L3 / R3
    TabBackBack
    Shift + arrows / Shift + WASDD-padD-pad
    Numpad 8 4 6 2Right stickRight stick

    Every key can be changed in F1 > KEYBOARD ("Default keys" puts them back). Keyboard player: Player 2 makes the keyboard player 2 next to a controller (local Versus: press Enter when the game asks player 2 for a controller). Keyboard play off: mnk_mode = false.

  • F1 or Back + Start: settings menu (the buttons can be changed to L3 + R3 in the menu). Y in the menu turns the free camera on or off.

  • F3: FPS panel.

  • F7: achievements window (controller: up / down, LB / RB tabs, B closes).

  • Character select: RB / LB change the start form (transformation), next to Y (Change Color).

  • Insert: free camera on / off. Numpad 0: freeze the game. Both keys can be changed in the settings menu (Game).

  • Free camera: left stick moves, right stick looks, LB/RB down/up, LT/RT slower/faster, D-pad up/down zoom, D-pad left/right tilt, A hides the HUD, X freezes the game, Y resets, B exits.

  • Input only goes to the focused window.

Stuck at 30 FPS on an NVIDIA GPU? Don't set a Max Frame Rate of 60 for this game in the NVIDIA Control Panel / NVIDIA App: it locks the game to 30. Use the game's own Frame rate setting (F1 -> DISPLAY) instead.


Settings

SettingDefaultDescription
start_screentrueThe start screen before the game (Play, Mods, Settings, Update, who's online).
update_check_url(GitHub releases)Where the start screen looks for a newer release (empty = never).
window_size(empty)Window size when not fullscreen, e.g. 640x480 (empty = the default).
present_letterboxtrueKeep the picture's shape (16:9, or aspect_ratio) with black bars (off = stretch it to fill the window).
aspect_ratio16:9Picture shape: 16:9 (the original), 21:9, 32:9 or auto (the window's / screen's shape, at least 16:9). Wider = more of the fight to the sides; menus, movies and the HUD keep their shape.
widescreen_hudedgesWith a wider aspect_ratio: edges = the battle HUD's sides (life bars, ki gauges) at the screen's edges, center = all of it in the middle 16:9.
show_hudtrueThe fight's HUD (life and Ki gauges, portraits, prompts); off hides it during play, the pause menu still shows.
menu_soundstrueThe game's menu sounds on the start screen and in the settings menu.
achievement_popupstrueA popup in the game's menu style when you earn one of the game's achievements: its picture, name, description, gamerscore and trophy tier (each one pops once per profile; unlocks are kept in <user data>\achievements\<profile>\424107DC.toml). F1 > GAME also lists all 50.
achievement_soundtiersThe sound with a popup: tiers (a sound per trophy tier, see below), xbox (a rising bloop), playstation (a bell sparkle), custom (your own file, see achievement_sound_file), game (one of the game's own sound effects, see achievement_game_sound) or off. The built-in chimes are original sounds made by the recomp at run time, not the consoles' own.
achievement_sound_bronze / _silver / _gold / _platinumsounds/trophy_<tier>.mp3With achievement_sound = "tiers": every achievement is a trophy, from its gamerscore - bronze up to 15G (30 of the 50), silver 20-35G (14), gold 40G and up (6) - and the platinum pops after the achievement that completes the list (once: never for unlocks read back from the profile). Each tier plays its file, a .wav or .mp3 (a full path or relative to the exe's folder); the defaults are the trophy sounds by Spade (free) in sounds\. Empty or missing = a chime made by the recomp for that tier. F1 > GAME > Trophy tiers shows each tier's popup and plays its sound.
achievement_sound_file(empty)With achievement_sound = "custom" (F1 > GAME > Achievement sound > Custom file): a .wav or .mp3 to play, a full path or relative to the exe's folder. Empty = drop your own sound in sounds\achievement.wav or sounds\achievement.mp3 next to burstlimit.exe. Any sample rate; follows achievement_volume and the game's Sound Effects volume.
achievement_game_soundSYSTEM_SE:17With achievement_sound = "game": which of the game's sound effects, as BANK:cue (F1 > GAME > Game sound picks one), played from your own game files.
achievement_volume80Volume of the chime in percent, times the game's own Sound Effects volume.
achievement_popup_positionbottombottom, bottom_left, bottom_right, top, top_left or top_right.
discord_presencetrueShow what you're playing on your Discord profile.
frame_rate(empty)Frame rate cap: 30 (the original), 60, 120, 144, display (the monitor's refresh rate) or unlocked. Empty = from patch_60fps and vsync (older settings).
present_vsynctrueVSync: each frame is shown whole from the monitor's next refresh, one per refresh, and a frame rate the refresh rate is a multiple of (60 on 60/120/240 Hz, 144 on 144 Hz, display) is locked to the monitor - even motion. G-Sync / FreeSync still work. false = present at once, tearing allowed.
draw_resolution_scale_x/y1Internal resolution scale: 1 = 720p, 2 = 1440p, 3 = 4K (sharper, heavier). With a wider aspect_ratio, X is raised to match (set Y; the settings menu's Resolution does).
draw_resolution_percent100Below 720p for slow GPUs (Lower resolution in DISPLAY): with the scale at 1, the game renders at this percent of 1280x720 (75 = 960x540, 50 = 640x360, 25-100) and the picture is stretched to the window. Off while DLSS / AMD FSR scene modes are on.
graphics_presetcustomGraphics preset in DISPLAY: low_end = 1280x720 drawn at 960x540, lowest = at 640x360, both with DLSS / AMD FSR, picture filters and the blur effects off and at most 60 FPS. Changing one of those settings afterwards shows custom again.
draw_resolution_height0Resolution in DISPLAY by its height: 720, 1080, 1440, 2160 (4K), 2880 (5K), 3240 (6K), 4320 (8K); sets the scale (a wider aspect_ratio renders wider). 0 = use draw_resolution_scale_x/y. 1080p and 6K need the Native renderer (Emulated draws them at the next whole step of 720p).
gpu_native_renderertrueRenderer in DISPLAY (after a restart): true = Native (the default, faster), false = Emulated (the classic path; use it if something looks wrong).
gpu_shader_storage_seedtrueMerge the shaders / pipelines of a shader_seed folder next to the exe into the shader cache at startup (none is shipped).
render_target_path_d3d12(empty)Render path in DISPLAY (after a restart): empty = the fast path on every GPU, rov = Compatibility (much slower; only if the picture looks broken, e.g. on old Intel drivers).
d3d12_adapter-1Which GPU: -1 = the most powerful one, 0, 1, ... = the DXGI adapter N lines at the top of burstlimit.log.
present_effectbilinearbilinear (off), cas (sharpening), fsr, fsr2, fsr3 (AMD FSR upscaling).
present_fsr_quality_modeautoHow far below the resolution FSR renders: auto (native), nativeaa, quality, balanced, performance, ultra_performance.
field_of_view100Field of view in percent of the original (50-200).
depth_of_fieldfalseBlurs the background behind the fighters.
glow_blurfalseSoft glow blur (leaves a halo around the characters at high resolution).
motion_blurfalseDirectional blur during fast moves.
free_camerafalseFree camera (always off at startup).
freeze_gamefalseStops the fight and its cinematics for the free camera, offline only (always off at startup).
bind_free_camera / bind_freeze_gameInsert / Numpad0Keyboard keys for the free camera and freeze.
mnk_modetrueKeyboard play (the keyboard works as a controller, next to the pads).
keyboard_player1The player the keyboard controls: 1 (with the first controller) or 2-4.
keybind_a ... keybind_menu_backsee ControlsThe keys of keyboard play: a comma-separated list, a key optionally with Shift+ / Ctrl+ / Alt+ (keybind_x = "J", keybind_lstick_up = "W,Up").
hid_generic_mappingtrueControllers SDL doesn't know (some DirectInput-only and laptop gamepads) get a generic layout instead of being ignored.
dlss_modeoffNVIDIA DLSS (RTX GPUs, experimental): dlaa (anti-aliasing at the chosen resolution), or quality, balanced, performance, ultra_performance (render lower and upscale). Native renderer: at NVIDIA's own ratio of any resolution, like a PC game (66.7% / 58% / 50% / 33.3%); Emulated: in whole steps of 720p (at 4K the first three render at 1440p and ultra_performance at 720p).
dlss_presetmDLSS model: k, l or m.
fsr_modeoffAMD FSR for the 3D scene (FSR 4 on GPUs that have it, FSR 3.1.5 elsewhere), used while dlss_mode is off: native_aa, or quality, balanced, performance, ultra_performance (render lower and upscale; Native renderer: AMD's own ratios 67% / 59% / 50% / 33%, Emulated: whole steps like DLSS).
fsr_sharpness0AMD FSR's sharpening, 0 (off) to 1.
fsr_versionautoauto (the newest the GPU has), 4 or 3.
texture_lod_bias0Texture detail: negative = sharper distant textures (-1 is NVIDIA's advice with DLSS).
soft_filterfalseThe game's soft blur over the whole picture (made for 720p).
start_formstrueRB / LB on the character select pick the start form. Online: the host's value is used by both.
story_costumestrueThe four Z Chronicles costumes on the character select.
extra_stagestrueThe three Z Chronicles stages on the Versus / Training stage select (offline).
extra_characterstrueExtra characters from mods (slot.toml): R2 on the Versus / Training character select shows them (online too, since 0.7.1, when both players have the same mods).
input_delayreducedOffline fights: reduced = no extra delay, original = the game's own 3 frames. From the next fight; online uses online_input_delay.
drama_piecestrueDrama Pieces during fights; false = none (opening / ending scenes stay). Online: the host's value is used by both.
ki_chargefalseHold L3 to charge Ki (Shin Budokai style). Online: the host's value is used by both.
ki_charge_rate16Ki added per frame while charging (the gauge holds 3000).
mods_enabledtrueUse the mods switched on in the Mods menu (mods\mods.toml).
online_brandingtrue"Online" instead of "Xbox LIVE" in the menus and the Online Battle title.
button_iconsautoButton icons in the game's prompts: auto (the controller in use - Xbox for an unknown pad - or the keys once the keyboard is used), xbox (Xbox Series), playstation, switch or keyboard.
quick_menu_buttonsback+startController buttons for the settings menu: back+start, l3+r3 or none (F1 always works).
debug_overlayfalseFPS panel (F3): FPS and 1% low of the real presents, frame time graph, render resolution, upscaler.
debug_overlay_positiontop-lefttop-left, top-right, bottom-left or bottom-right.
patch_60fpsfalseOlder 60 FPS setting, only used while frame_rate is empty.
online_lobby_url(empty)Lobby server WebSocket URL (wss://.../v1/ws). The release burstlimit.toml sets it to the project's lobby. Empty = LAN / Radmin VPN only.
online_modeautoauto: the lobby when online_lobby_url is set and REX_XNET_IP / REX_XNET_SEARCH_IP are not (so Host_Online.bat / Join_Online.bat keep the old way); lobby / direct force one.
online_name(empty)Your name in the lobby and in the game (max 15 printable ASCII characters). Empty = the Windows user name.
online_lobby_connect_earlytrueLobby mode: connect to the lobby in the background as soon as the game starts and stay connected (since 0.7.2).
online_connect_wait_ms6000How long a search or Create Match waits for a lobby connection that is still being made.
online_frame_rate_captrueOnline sessions run at 60 FPS whatever frame_rate is (both players the same speed).
online_input_delay4Lobby matches: input delay in frames (2-8), or off for the game's own timing (online_tick_sleep). The host's value is used by both players.
online_rules_host_health/attack/defense, online_rules_guest_health/attack/defense, online_rules_cutscenes3 / roomPlayer Match rooms you host: the room rules you picked last (Health 1-8 bars, Attack and Defense 1-5, cut-scenes room / on / off), the menu's defaults for the next guest.
online_input_channeltrueLobby matches: send every frame's input right away (off = only the game's own 3-frame packs).
online_desync_checktrueLobby matches: compare the fight's state with the other PC every frame and log the first difference ([OnlineDesync]).
online_hold_freezefalseOnline: while the fight waits for the other player's input (short waits only), also stop the effect and HUD timers.
online_redundancy2Lobby matches: extra copies of every online datagram, sent online_redundancy_delays_ms (5,12) after it (0 = off).
online_join_timeout_ms9000How long joining waits for the connection to the host.
online_ice_port_range(empty)Local UDP port range for the direct connection, e.g. 50000-50100 (empty = any).
online_ice_relay_onlyfalseTest: connect only through the TURN relay.
online_version(empty)Test override of the version string rooms must match (empty = the build's).
online_fast_ticktrueUses online_tick_sleep for the online match driver instead of the game's original 4-frame step. Both players must use the same value.
online_tick_sleep1Online input buffer for LAN / Radmin VPN (and lobby matches with online_input_delay = "off", where the guest takes the host's): 0 = same PC / LAN, 1 = internet (recommended), 2 = high ping, 3 = original game (~1 s delay). Lower = less delay, but slow motion appears if the connection cannot keep up. Both players must use the same value.
online_input_delay_testtrueResends unacknowledged online messages every 2 ticks instead of 6.
texture_cache_pack_limitstrueWhile a texture pack is used, raise the texture cache memory limits from the video memory (up to a quarter / half of it, at most 4096 / 8192 MB).
vsynctrueOlder frame rate setting, only used while frame_rate is empty (false = unlocked).
texture_dump_enabledfalseDump textures to textures/dump.
texture_replace_enabledfalseLoad replacements from textures/replace (next to the exe).
texture_replace_asynctrueNever wait for a replacement to decode: the original texture shows until it's ready (no stutter).
texture_replace_preloadtrueDecode all the replacements in the background at startup, so they don't stutter the game when first used (keeps them in RAM; skipped for packs bigger than texture_replace_ram_mb).
texture_replace_alphaautoHow the pack's images store transparency: auto (each image is compared with the game's texture it replaces; without one, a sample of the pack decides), straight (like the game's own textures) or premultiplied (converted to straight when loaded). Wrong = dark soft edges, glows, skies and decals.
texture_replace_ram_mb3072RAM for decoded replacements; past it the least recently used ones are dropped. Raise it for big packs if you have the RAM (e.g. 12288 with 32 GB).
texture_folder(exe folder)/texturesOverride the textures folder.
log_levelinfodebug / info / warning / error.
log_file(empty)Log file (relative paths are from the working folder). The release burstlimit.toml sets burstlimit.log, next to the exe; empty = numbered files in logs.
ui_watchdogtrueWhen the window stops answering for 5 s or more, the log says what it was busy with (and again when it answers).

Online play

Both players need the same version (rooms are only listed between identical builds).

Through the online lobby (no VPN, no IP addresses) - since 0.4.0

The release burstlimit.toml already points online_lobby_url at the project's lobby (wss://burstlimit-lobby.azoxrag2.workers.dev/v1/ws), so it just works:

  • Host: Versus -> Online Battle -> Player Match -> Create Match -> pick the rules. Keep Private Session OFF (ON hides the room from the list). Wait in the Session Lobby.
  • Guest: Versus -> Online Battle -> Player Match -> Custom Match -> leave every search page on Random -> the host's room shows with their name; pick it.
  • Both press Ready! in the Session Lobby.
  • If Windows Firewall asks, allow burstlimit.exe (private and public networks).
  • Any controller can be used: online sign-in follows the controller you pressed Start with at the title (since 0.7.2).

The game connects to the lobby in the background as soon as it starts (online_lobby_connect_early), and a slow first connection is retried within a few seconds; a search made while it is still connecting waits for it (up to online_connect_wait_ms) instead of showing an empty list.

The two PCs connect directly (ICE: STUN hole punching), so no port forwarding is needed; when a direct connection isn't possible they go through a TURN relay the lobby hands out per match. Your name in the lobby and in the game is online_name in burstlimit.toml (max 15 characters; empty = your Windows user name). The guest takes the host's online settings (online_input_delay, online_input_channel, online_tick_sleep, online_fast_tick) for the session, and they can't change until it ends.

Input delay (online_input_delay, F1 -> GAME -> Online input delay): in lobby matches each player's input is sent every frame, and both PCs run it a fixed number of frames later (the host's choice, 4 by default). The fight only waits for the other player when the ping is higher than the delay covers - one frame is 16.7 ms: about 2 frames per 25 ms of one-way ping plus a frame of margin. Rough guide: 2 for a very low ping, 3-4 normal, 6-8 high ping. Game default (off) keeps the game's own timing (online_tick_sleep); the Online input speed item for it is only shown then.

If something goes wrong online, the log (burstlimit.log next to the exe with the release burstlimit.toml) has the connection ([Lobby], [ICE], [OnlineLink]), the waits ([OnlineStalls]) and any desync ([OnlineDesync]).

The build's online version string is burstlimit-<version>/net<protocol>: release builds set it with -DBURSTLIMIT_VERSION_OVERRIDE=v0.4.0-alpha (-> burstlimit-v0.4.0-alpha/net2). Without it, CMake uses the release tag plus the git hash of this repository (burstlimit-v0.4.0-alpha+abc1234); when building from a copy that isn't a git checkout, pass -DBURSTLIMIT_GIT_DIR=<path to the checkout>, otherwise every configure gets its own build<timestamp> id. The override is a CMake cache value: pass it empty again (-DBURSTLIMIT_VERSION_OVERRIDE=) for later non-release builds.

The lobby server is a Cloudflare Worker (WebSocket room list, signaling and TURN credentials); it only lists rooms and helps the PCs find each other - the match itself is peer-to-peer.

Room rules (Player Match) - since 0.6.0

When a guest joins your Player Match room, you (the host) get a Room Rules menu: each player's Health (1-8 bars), Attack and Defense (1-5, 3 = normal), the Time Limit, the Rounds and the Opening/Ending Cut-Scene. The guest sees "The host is choosing the battle settings" and then the rules; the host's menu closes once the guest's game has them, so both PCs always fight with the same rules (they stay for Fight Again). The time and rounds start from the ones you picked in Create Match, and your choice is shown in the room list and in View Battle Rules. Your last choice is the default next time (online_rules_*). Ranked Match and the older Radmin VPN / LAN way keep the game's rules and show no menu. Both players need 0.6.0.

Ranked Match and leaderboards - since 0.5.0

  • Ranked: Versus -> Online Battle -> Ranked Match: one player creates a match, the other searches (Quick Match or Custom Match). Rooms are offered closest Grade / Power Level first.
  • Power Level and Grade use the game's own formula (start 5000). A battle counts once both PCs report the same result; if one player quits mid-battle, the one who stayed gets the win after 90 seconds. At most 10 rated battles per pair of players per day (later ones still count as battles).
  • Player Match battles count too (battles, wins, losses, favourite character), without changing the Power Level.
  • Leaderboard (Versus -> Online Battle -> Ranked Match -> Leaderboard) shows the online players; next to each row: battles, wins, losses and favourite character (ranked_overlay). The gamer card shows a player's record. The same rankings are in the settings menu: F1 -> ONLINE -> Online rankings.
  • The first time you go online, the game gets an online identity from the lobby (saved as Documents\burstlimit\online_identity.json, next to your saves). Keep that file to keep your record.

Older method: Radmin VPN / LAN

Still works, and doesn't use the lobby (Host_Online.bat / Join_Online.bat set REX_XNET_IP, which makes online_mode = auto pick the direct path even with online_lobby_url set).

  1. Install Radmin VPN and join the same network (or use a normal LAN).
  2. Host: run scripts\Host_Online.bat, enter your own Radmin IPv4, then create a Player Match session.
  3. Join: run scripts\Join_Online.bat, enter your own Radmin IPv4 and then the host's IPv4, then search for a Player Match session.

The game uses UDP port 59395 on the network (port 1000 inside the game). Allow burstlimit.exe through Windows Firewall if the other player cannot connect.

This method uses Online input speed (online_tick_sleep, both players the same value) - in the settings menu it shows when Online input delay is set to Game default.

Environment variables used by the online layer:

VariableMeaning
REX_XNET_IPYour IPv4 address (reported to the game as your Xbox LIVE address).
REX_XNET_SEARCH_IPJoining side: the host's IPv4 (the session search returns this lobby).
REX_XNET_BIND_IPOptional: bind the game's sockets to this local address only.

Testing online on one PC

scripts\Local_Online_Test.bat starts two copies of the game (host on 127.0.0.1, join on 127.0.0.2). Switch between the windows with Alt+Tab; the controller follows the focused window.


Mods

Mods are folders in mods\ next to burstlimit.exe:

mods/
├─ mods.toml              (written by the Mods menu: enabled = ["My_Goku"])
└─ My_Goku/
   ├─ mod.toml            (optional: name = "...", author = "...", version = "...", description = "...")
   └─ BCGOK002.NUX        (replaces the file of that name in LONG2DATA_US.CPK)
  • File names are the names inside LONG2DATA_US.CPK; a path such as PAC\CMN\CH\BCGOK\BCGOK002.NUX works when a name alone isn't unique.
  • PlayStation 3 models and textures (NDP3 / NTP3) are converted to the Xbox 360 formats when the mod loads.
  • Turn mods on or off in Main Menu > Mods (Browse mods, then Apply). They apply right away, from each file's next load. When two mods replace the same file, the one later in alphabetical order wins.
  • The game's own files are never changed: the game reads a virtual copy of the archive with the mod files in it.
  • Online, the mods in use are part of the version string, so rooms only match players with the same mods.
  • Mods can't be changed during an online session.
  • A mod can also add an extra character with a slot.toml (the format is at the top of src/burstlimit_slots.cpp): it plays as one of the game's characters with its own files (under new names, which only the paths slot.toml names may add to the archive), and R2 on the Versus / Training character select shows it. New names and extra characters change after a restart. Online (lobby matches, since 0.7.1) extra characters work when both players use the same mods.

Known issues

  • The lobby online is new (0.4.0): it was tested between two houses (4-6 ms ping, 15,000 desync checks without a difference), but some networks may still fail to connect, and desyncs are possible. Online through Wine / Proton hasn't been tested.
  • Ultrawide (aspect_ratio wider than 16:9): outside the fights, a few full-screen pictures (the character select's backdrop and bands) are stretched to the width; the other menus and the movies stay 16:9.
  • AMD FSR 4 hasn't been tested on AMD hardware yet (FSR 3.1.5 was, on an NVIDIA GPU).
  • A wider field of view can show missing objects at the edges of the screen: the game doesn't draw what it doesn't expect to be seen.
  • FSR 2 and FSR 3 can leave trails behind moving characters, as the game has no motion vectors for them.
  • NVIDIA DLSS / DLAA needs an NVIDIA RTX GPU (on others the option does nothing). The upscaling modes only render in whole steps of the resolution scale (at 4K, Balanced renders at 1440p like Quality, not at NVIDIA's exact ratio), and at 1280x720 they're all DLAA.
  • On the stage select, Wasteland and Seaside Cliffs show the Mountains background and banner behind the list, and RANDOM's quick flicker only shows the original stages (the pick itself includes the new ones).
  • Linux has been tested through vkd3d-proton and DXVK (the translation Proton uses) on NVIDIA and AMD GPUs, but not on a Linux machine yet. Wine's own Direct3D 12 (plain Wine without vkd3d-proton) isn't supported - use the Linux zip or Proton.
  • The start screen's Update button and the Discord status haven't been tested through Wine / Proton yet.
  • The Xbox LIVE friends list is not implemented (Friend Rankings stay empty). The game's "Battle Records" ratios are still the local ones.
  • Running two copies on one PC (local online test) can drop frames on slower machines.

Project layout

PathContents
burstlimit_manifest.tomlRecompiler manifest: entry point, extra functions and mid-asm hooks (game patches).
src/burstlimit_patches.cppImplementation of the game patches (frame rate, online latency, post effects, field of view).
src/burstlimit_camera.cppFree camera / photo mode, the HUD option.
src/burstlimit_widescreen.cppUltrawide / aspect ratio: the wider view and the 2D placement (HUD at the edges).
src/burstlimit_online_rules.cppPlayer Match room rules: the host's menu, the guest's panel, View Battle Rules and the room list.
src/burstlimit_online.cpp, src/burstlimit_netinput.cppOnline: version string, synced settings, notices; per-frame input channel, exact input delay, desync check.
src/burstlimit_app.h, src/main.cppApplication entry point and the settings menu.
src/burstlimit_install.cppFirst-start install from the .iso (XDVDFS read, US check, copy).
src/burstlimit_mods.cppMods menu, virtual archive with the mod files, PS3 -> Xbox 360 model conversion.
src/burstlimit_slots.cppExtra characters from mods (slot.toml): the character select's R2 page and the fighter's own files.
src/burstlimit_kicharge.cppKi charge (hold L3).
src/burstlimit_drama.cppDrama sequences on / off (the fight's Drama Piece slots).
src/burstlimit_exit.cppExit Game (main menu entry, settings menu item).
src/burstlimit_branding.cpp"Online" instead of "Xbox LIVE" (text and title art).
src/burstlimit_saves.cppSave export / import.
src/burstlimit_quickfight.cppDebug / automated tests only: --quick_fight=<spec> (or the console command quick_fight_now <spec>) goes straight into a Training or Versus fight, e.g. --quick_fight=training,goku:ssj,krillin,plains, or into Z Chronicles episode 1 (zc; zc,save goes through the title's storage prompt first, which the game needs to award the episode's achievement). Does nothing unless it's used.
src/burstlimit_achievements.cppThe achievement popup (game-styled toast, queue, trophy tiers and the platinum, sounds per tier with chimes made at run time as the fallback) and its settings; debug achievement_test <id|all|tier>, achievement_tier_test <bronze|silver|gold|platinum|all>, achievement_unlock <id>, achievement_list, achievement_sound_test, one_hit_kill.
src/burstlimit_buttons.cppPlayStation / Switch button icons and keyboard key icons, drawn into the game's textures as they load (burstlimit_button_icons.inc / burstlimit_key_icons.inc: the icons, made by scripts/make_button_icons.py / scripts/make_key_icons.py).
res/Application icon (embedded into the exe); res/sounds: the trophy sounds by Spade (copied to sounds\ next to the exe by the build, their credit to licenses\).
generated/rexglue.cmakeReXGlue build glue. generated/default/ is produced by the build.
thirdparty/rexglue-sdkReXGlue SDK (submodule, burstlimit branch).
scripts/Online launch helpers; make_button_icons.py.

Game changes are made with [[entrypoint.midasm_hook]] entries in the manifest, never by editing the generated code (it is regenerated on every build).


Credits

  • ReXGlue SDK - the recompiler and runtime this project is built on.
  • Xenia - the Xbox 360 emulator whose kernel and GPU work ReXGlue builds on.
  • NVIDIA DLSS (DLAA), under the NVIDIA RTX SDKs license. NVIDIA, GeForce RTX and DLSS are trademarks of NVIDIA Corporation; this project is not affiliated with or endorsed by NVIDIA.
  • AMD FidelityFX (FSR).
  • libjuice (ICE / STUN / TURN for online play), MPL-2.0, used unmodified (thirdparty/rexglue-sdk/thirdparty/libjuice).
  • Xelu's Free Controller Prompts by Nicolae "Xelu" Berbece, CC0 (public domain) - the PlayStation and Nintendo Switch button icons and the keyboard key icons.
  • Trophy sounds by Spade (free) - the default achievement sounds (achievement_sound = "tiers"), res/sounds, shipped as sounds\trophy_*.mp3.
  • Dragon Ball Z: Burst Limit © Bird Studio/Shueisha, Toei Animation. Published by Bandai Namco Games.

Disclaimer

This project is not affiliated with or endorsed by Bandai Namco, Microsoft or any rights holder. It does not include any game assets; you must own the game to use it.

Leer guía oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Lucha / Combate
Estado
beta
Plataforma de origen
Xbox 360
Tecnología
Recompilación Estática (C/C++ nativo)
Versión
—
Actualización
—

Plataformas de destino 1

Windows
Ver en GitHub
Publicidad