Skip to content

About

Invisible Drop (Ctrl) control for native iOS Repentance: D Infinity cycling, pocket-item dropping, rootless and LiveContainer builds.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Isaac Drop (Ctrl) for iOS

A separate native input mod for The Binding of Isaac: Repentance on iOS. It does not require or modify External Item Descriptions, Steam Sync, or Debug Console. They can remain installed independently.

Website · Downloads · Report a bug

Downloads

Your setup Release file
Rootless jailbreak / ElleKit IsaacDrop-rootless.deb
LiveContainer app-specific tweaks IsaacDrop-LiveContainer.framework.zip
Direct embedding IsaacDrop-Embedded.zip
Standalone ARM64 library IsaacDrop.dylib

Use one loading method, then fully restart Isaac. Check release files against SHA256SUMS.

Controls

The bottom-left 72 x 64 screen points are an invisible Drop control during an unpaused run. The zone ends at the actual screen edge, not the game HUD edge.

  • Tap: advance D Infinity by one die. Holding starts with the same single switch; it does not repeatedly cycle. Other short-press Ctrl behaviors are not yet fully supported by the iOS touch-control path.
  • Hold: keep native Drop pressed for the game's normal drop threshold, usually a few seconds, to drop eligible trinkets and pocket items. A trinket is not required to press the control.
  • Sliding out cancels. Pause, menus, backgrounding and loss of the game host release input. A ten-second watchdog prevents a lost touch-end from sticking.

No text, icon, outline, highlight, or extra window is drawn. Only this small zone receives touches; the game retains the rest of the screen. This is a shared Drop action, not a separate delete-card command: native rules and restrictions still apply.

Installation

  • Rootless jailbreak: install packages/IsaacDrop-rootless.deb with ElleKit.
  • LiveContainer: import packages/IsaacDrop-LiveContainer.framework.zip into Isaac's app-specific tweak folder, then fully restart Isaac.
  • Embedded app: normally sign and embed IsaacDrop.dylib inside the app, for example using @executable_path/Frameworks/IsaacDrop.dylib as its load path. The embedded archive contains no game or resource database.

Use one loading method per installation. The dylib has no jailbreak dependency. ElleKit is needed only for the optional jailbreak loader package. No JIT or writable executable memory is requested.

Compatibility

Targets native Isaac iOS 1.4 / Repentance 1.7.9b.J754, ARM64 UUID F4357753-A25F-30EE-BACF-63709F902895. Unknown binaries fail closed.

The native touch device's Drop pressed/triggered/value queries use a private copy of its complete method table and RTTI. Only that validated writable input object's table pointer changes. Protected original tables remain untouched. No page-protection changes, instruction patching, native item removal, active-item invocation, save editing, or injected UITouch is used. Original physical input and all other actions pass through unchanged. A foreign hook in these exact slots is rejected rather than overwritten. The mod disables itself if table, object, or executable validation fails.

Tap edge state follows the existing native display link timestamp, keeping multiple queries in one game frame consistent. Short taps are retained until sampled. Startup waits for the real guest render view and advancing native frames, including LiveContainer; it does not force controller/view loading. One bounded, read-only background scan locates the randomized native touch object. The main thread revalidates it before attaching the private method table; no full-process scan runs in the game render loop.

D Infinity on touch controls

The iOS controller has a separate native input branch which skips the keyboard's D Infinity switch logic. Version 0.1.1 therefore applies that verified mode transition once per touch-down to the touch-controlled player's main active slot. It validates the executable UUID, native instructions, player/controller, input restrictions, writable state and the current mode (0–9), then changes only the 16-bit mode and calls the game's native HUD refresh. It neither uses the die nor spends charge. On D100 → D1 it also preserves the native Schoolbag slot swap. Keyboard/gamepad players are excluded to avoid double switching. The hold-to-drop input adapter is unchanged; unsupported binaries never receive this state write.

Build and tests

On macOS with Xcode and an iPhoneOS SDK, Python 3, Node.js, ripgrep and dpkg:

make release

Outputs: standalone ARM64 dylib, rootless deb, LiveContainer framework, embedded zip, and checksums in dist/. Host tests cover tap/hold/cancellation behavior and source constraints. See device checks for gameplay acceptance. Diagnostic log: Library/Application Support/IsaacDrop/drop.log inside Isaac's own sandbox. No account credentials or saves are logged.

Native hold-to-drop was confirmed on the development iPhone. The D Infinity switching fix has build and policy-test coverage; gameplay confirmation of that new adapter and the full loading-mode matrix is still pending.

Website and releases

docs/ is a buildless HTML/CSS/JavaScript site published with GitHub Pages from main:/docs. Its custom domain is declared in docs/CNAME. There are no site dependencies, analytics or account requirements. The small die-sequence demo is an illustration, not remote game control. Download links work without JavaScript; when available, GitHub's public API adds current release metadata.

One workflow, .github/workflows/release.yml, runs the tests, builds all package formats and audits signatures/dependencies. A matching v* tag also publishes the verified files with docs/RELEASE_NOTES_v<version>.md and SHA-256 checksums.

This is an independent, unofficial mod. No Isaac IPA, extracted game assets or purchase bypass is included. Source: MIT license, copyright emp0ry.

About

Invisible Drop (Ctrl) control for native iOS Repentance: D Infinity cycling, pocket-item dropping, rootless and LiveContainer builds.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages