/balatro-mobile-builder

Unofficial Balatro app-builder for Android and iOS. A fork of blake502's original project.

Primary LanguageC#Apache License 2.0Apache-2.0

Balatro Mobile Builder

This is a rewrite of balatro-mobile-maker that introduces multiple enhancements and fixes.

Significant changes:

  • Introduced automatic save syncing between devices.
  • Multiple graphic fixes due to DPI and shader issues.
  • Removed dependency that needed to be downloaded.
  • Dynamic code and patch system.

Balatro on yo dam phone

The goal of this project is to allow Balatro fans to play Balatro on their mobile devices before the official release. This project provides a NON-PIRACY avenue for players to do so, by converting their legal Steam copy of Balatro to a mobile app. Balatro Mobile Builder also supports automatically transferring your saves back and forth between your Steam copy of the game and your mobile device (save transfer features only available on Windows and Android, for now).

Mods are not officially supported, but could work if the base Balatro.exe is already modded. Please report any bugs you encouter in the issues section. If you encounter bugs with the latest release, try the previous release.

Quick Start Guide

Please review the Notes section before you begin.

  • Download or compile balatro-mobile-builder.
  • Run balatro-mobile-builder.
  • Follow the prompts to apply optional patches. If you're unsure, always select "y" (or just press enter).

For Android:

  • Copy the resulting balatro-signed.apk to your Android device, or allow the program to automatically install using USB Debugging.
  • Optionally, allow the program to automatically transfer your saves from your Steam copy of Balatro using USB Debugging.

For iOS:

Optional Patches

  • FPS Cap — Caps FPS to the device's native refresh rate (Recommended for performance)
  • Landscape Orientation — Locks the game to landscape orientation (Recommended, since portrait orientation does not behave very well)
  • High DPI — Enables High DPI graphics mode (Recommended, fixes some graphical bugs)
  • CRT Shader Disable — Disables the CRT Shader (Recommended for Pixel and some other devices)

For power users

Useful informations for developers and advanced users

Command Line Args

The executable has a few command line parameters:

  • -s [android/ios] enables silent mode. This will automatically build the app for the specified platform.
  • -p commonfixes externalstorage ... applies only the selected patches (go here for the IDs).
  • -o FILE specifies the path for the output file.
  • -save [auto/device/local] transfers save files to device or locally instead of building.

Creating new patches

Patch files are located in the balatro-mobile-builder/Resources/patches/ directory and added as assembly resources. These files can be generated using the diff tool like so: diff -U2 original.lua modified.lua > example.patch. To register a new patch, it must be added to the BalatroMobileBuilder.BalatroPatches.patchList with its id, name and the path of the file it modifies.

Testing

When running in debug mode, a new prompt for testing will appear. It will run LÖVE on the local machine using the path where Balatro was extracted (default to .balatro.d) and will temporarily disable the _RELEASE_MODE flag. Balatro will not start correctly if the steam-related DLLs can't be found.

Notes

  • This script assumes that Balatro.exe is located in the default Steam directory. If it is not, simply copy your Balatro.exe or game.love to the same folder as balatro-mobile-builder

For Android:

For iOS:

Recognition (in no particular order)

License