Language:English | 简体中文
REPENTOGON is a mod for The Binding of Isaac: Repentance version v1.7.9b.J835 (untested and likely unsupported on other versions) that extends the Lua API with much-needed bug fixes, extra functionality, and performance enhancements.
Generally referred to as an "EXE mod" by the community, REPENTOGON works very differently than a traditional mod. Powered by LibZHL, the same framework used by Antibirth, REPENTOGON hooks directly into the game, allowing direct control over functionality which was previously impossible to replicate in mods, or would require significant performance-intensive hacks or rewrites to replicate.
REPENTOGON makes additions and modifications to the Lua API and adds tons of new features. You can find the documentation here: https://repentogon.com/docs.html
- Download a build from GitHub Actions.
- Extract the contents of the zip file into your game's directory. You can find the directory by right clicking
The Binding of Isaac: Rebirth
in your Steam library page, clickingProperties
, thenInstalled Files
followed byBrowse
(located on the top right corner) on the window that appears.- If you are running the game on Linux via Proton, you will also need to access the
Properties
window, go toGeneral
, and enterWINEDLLOVERRIDES="dsound=n,b" %command%
into theLaunch Options
entry. Without this launch option, REPENTOGON will be unable to load.
- If you are running the game on Linux via Proton, you will also need to access the
- Launch the game. If REPENTOGON successfully loaded, you should now see
zhl.log
andrepentogon.log
files in your game directory, and the title bar should now sayBinding of Isaac: Repentance (+ REPENTOGON vX.X.X)
.
Technically, using the launch option -repentogonoff
/-repentogoff
/-repentogone
or removing dsound.dll
is all that's needed to disable REPENTOGON, but for a "complete" uninstall:
- Remove
dsound.dll
,freetype.dll
,libzhl.dll
,Lua5.4.dll
,resources-repentogon
, andzhlREPENTOGON.dll
from the game folder. - Optionally, remove log files
dsound.log
,repentogon.log
, andzhl.log
. - Delete
resources\rooms
(containing26.The Void_ex.stb
) andresources\shaders
(containingcoloroffset_gold_mesafix
). - In the
resources\scripts
folder, removemain_ex.lua
andenums_ex.lua
. - In
User\Documents\My Games\Binding of Isaac Repentance
(or the Save Data Path insavedatapath.txt
), delete theRepentogon
folder. Note that this will erase all custom achievements and completion marks!
(Unless you're a developer, we recommend grabbing a build from GitHub Actions instead.)
The nature of this project requires that we use the same compiler as the game. As a result, a Windows system is explicitly required, along with the following:
- CMake 3.13 or above
- Git
- Visual Studio 2019 or above
We assume Git Bash for the duration of this tutorial, as well as CMake GUI.
- Recursively clone the repository:
git clone --recursive https://github.com/TeamREPENTOGON/REPENTOGON
- Launch CMake.
- Under "Where is the source code", navigate to the root directory of the cloned repository (in most cases named REPENTOGON).
- Under "Where to put the binaries", choose any folder. This is where the generated files will live.
- At the bottom of the CMake GUI, hit "Configure".
- Once configuration is done, hit "Generate". This will create a .sln in the folder you specified before.
- Open the generated .sln in Visual Studio.
- Build the project. Unless you're a developer, we recommend Release mode for performance.
- When the build is finished, copy
resources
,resources-repentogon
,dsound.dll
,freetype.dll
,libzhl.dll
,Lua5.4.dll
, andzhlREPENTOGON.dll
and to the game's folder.
- Optionally, the
ISAAC_DIRECTORY
setting can be set to the game's root directory to automatically copy these files after a build.
REPENTOGON is licensed under the GNU General Public License version 2.
LibZHL is licensed under the MIT license. All contents in the libzhl
and libzhlgen
folders are therefore licensed under MIT, with the exceptions of the following files and folders, which are components of REPENTOGON:
libzhl/functions
and its contentslibzhl/IsaacRepentance_static.cpp
Folders in the libs
folder are external dependencies and have their own licensing information. Check those folder (or, in the case of submodules, their respective dependencies) for further information.
Signpath is providing us with free code signing for our releases, thanks!
REPENTOGON does not collect or transmit any user data without explicit consent. We have an opt-in update mechanism that will transmit the user's IP address to GitHub on launch to determine if there is a new version available, but otherwise, absolutely zero data is processed or stored.