Binding of Isaac: Rebirth Wiki

(in Repentance)

Documented Changes[ | ]

Gameplay Changes[ | ]

Fixes[ | ]

Modding changes[1][ | ]

  • Added extra safety checks to prevent crashing on startup after disabling mods that contain custom characters or items
  • Fixed a crash when resuming a run that was stopped while in the temporary room created by the goto command
  • Fixed not being able to register more than one MC_PRE_PLAYER_COLLISION callback
  • Added a new debug flag (14) which displays Lua memory usage as a graph
  • Added a dedicated memory pool for use by Lua scripts (this should prevent issues with loading sounds and textures when many large mods are loaded at the same time)
  • Added --luaheapsize as a startup parameter for debugging purposes
    • There is no reason to use it unless your mod runs into memory issues and you suspect this update is responsible
    • This is used to configure the size of the memory pool reserved by Lua on startup
    • The default value is --luaheapsize 1024M, or 1 GB
    • Keep in mind Repentance is a 32-bit application so trying to allocate 1.5 GB or more will most likely fail
    • --luaheapsize 0 disables the dedicated memory pool, causing Lua memory allocation to behave like it did prior to this update
    • If the parameter is invalid or the game fails to allocate the requested amount of memory, it will attempt to allocate 512 MB instead, then fall back to --luaheapsize 0 if that also fails
  • Moved all callback related logic to Lua (this should improve performance when many callbacks are registered)
    • Added Isaac.RunCallback(callbackId, entityId, ...)
      • This runs all functions tied to the given callback and entityId (entityId may be nil for callbacks that do not depend on specific entity types)
    • Added Isaac.AddPriorityCallback(mod, callbackId, priority, func, entityId)
      • Adds a callback with the given priority, callbacks with higher priority values are called later
      • Added a CallbackPriority enum with preset priority values
      • This function is also available from the mod object returned by Isaac.RegisterMod
    • Isaac.AddCallback, Isaac.AddPriorityCallback, Isaac.RemoveCallback and Isaac.RunCallback now accept any value as a callback ID, even non-numeric values such as strings
      • This may be used by mods to define custom callbacks for other mods to use
      • Custom callbacks added this way will be automatically removed when a mod is unloaded
    • Added ModCallbacks.MC_PRE_MOD_UNLOAD(mod)
      • This is called before any mod is unloaded (by disabling it in the mod menu or reloading it via luamod)
      • The table of the mod being unloaded is passed to this callback as an argument
  • Added missing enum TearVariant.FETUS
  • Added LaserVariant enum
  • Added SortingLayer property to Entity, accepts any value from the SortingLayer enum
    • SortingLayer.SORTING_NORMAL is the default behavior
    • SortingLayer.SORTING_BACKGROUND is used by creep and other entities that should render behind everything else in the room
    • SortingLayer.SORTING_DOOR is used by entities that should be rendered on the walls of the room, after background entities but before every other entity
  • Fixed Room:GetSeededCollectible crashing the game when called
    • Arguments are now Room:GetSeededCollectible(int Seed, bool NoDecrease = false)
    • When NoDecrease is true, returned collectibles will not be removed from the pools they came from
  • Removed ShockwaveParams, Room:SetShockwaveParam() and Room:GetNextShockwaveId()
  • Added Game:MakeShockwave(Vector Position, float Amplitude, float Speed, int Duration)
    • For reference, Boss Monstro ingameMonstro's stomp has Amplitude=0.035, Speed=0.025, Duration=10
  • Added the following properties and methods to ItemConfig.Card:
    • int PickupSubType
    • int CardType (accepts any value from the ItemConfig.CARDTYPE_* enum)
    • int AnnouncerVoice (accepts any value from the SoundEffect.SOUND_* enum)
    • int AnnouncerDelay
    • int MimicCharge
    • bool IsCard()
    • bool IsRune()
    • bool IsAvailable()
  • Added the following properties and methods to ItemConfig.PillEffect:
    • int AnnouncerVoice (accepts any value from the SoundEffect.SOUND_* enum)
    • int AnnouncerVoiceSuper (accepts any value from the SoundEffect.SOUND_* enum)
    • int AnnouncerDelay
    • int MimicCharge
    • int EffectClass
    • int EffectSubClass
    • bool IsAvailable()
  • Added the following methods to ItemConfig.Item:
    • bool IsAvailable()

Undocumented Changes[ | ]

  • Fixed the Collectible Glowing Hourglass iconGlowing Hourglass removing Character Eden iconEden/ Character Tainted Eden iconTainted Eden starting items if used immediately in the first room of the first floor. Instead, it will send the player to HomeHome.
  • Removed the "loadfile" global function, which was used in various mods. Presumably, this was due to security concerns.

References[ | ]