Skip to content

UI layout revamp, improvements, and updates

Choose a tag to compare

@ChimeraAnt-DEV ChimeraAnt-DEV released this 15 Sep 15:51
· 260 commits to main since this release
70a3055

Upgrades the Chimera Launcher with four workstreams:

  1. Client-side hit registration (Bedrock)

    New inbuilt mod (ModIds.HIT_REGISTRATION) with configurable Aim Smoothing (0–95%), center crosshair overlay, and hit flash feedback.
    Exponential-moving-average look smoothing that only eases large swipes (keeps fine aim 1:1); nonzero delta passthrough untouched.
    Hooked into the real input pipeline: MinecraftActivity.pojavSendLookDelta (smoothing) and pojavSendMouseButton (flash). Overlay is a non-touchable window so no input is stolen.

  2. UI layout revamp + touch reactiveness

    Press-scale velocity-kicked springs + elevation + haptic feedback (UiTouchFeedback) on hero card, all quick-action cards, launch/version buttons, sign-in, mods/news/content view-all links., account avatars.

    Hero-card pulse + glow gated via isShowAnimations() / isEnableGlowEffects().

    Press feedback skips entirely when animations are disabled (reduced motion respect.

  3. Low Input Delay — stronger

    Replaced the idle 250 ms GPU redraw poll (4fps) with a near-free 500 ms menu-state flag check that only repaints on real pause-menu/HUD transitions in low-latency mode.

    Every touch (surface/button/joystick) now does an instant menu-state check that fires visibility refresh the moment the state flips (no stale overlay buttons after opening/closing the pause menu).

    PojavControls.setLowLatencyMode(...) now live-pokes the overlay on toggle so no path remains stalled..

  4. 64-bit + 32-bit instance support

    ABI badges (32-bit amber / 64-bit green) on the hero card, instance list, and version picker..
    Bitness-aware preflight (requireLauncherSupportsVersion / abiMismatchMessage) that surfaces a clear explanation before any loadLibrary instead of a mid-launch dlopen crash..
    64-bit-only prebuilts (gxcore, mtbinloader2, PlayFab/MSDK) are excluded/treated optional on 32-bit devices so a 32-bit launcher build no longer aborts..

    Note: Android locks each process to one bitness at install, so a 64-bit process cannot dlopen a 32-bit minecraftpe.so. The launcher handles this explicitly: detects, surfaces a clear error, and refuses to attempt an impossible load (rather than crashing) while running every 64-bit variant fully..

  5. Reduce Network Latency — stronger

    TCP_NODELAY + TCP Quick ACK + interactive buffer sizing (LowLatencyNetworkManager.configure(...)) now apply to every launcher OkHttp client: CurseForge, preloader signature rules, avatar fetches (Main/Base/Accounts/About), content downloads, GitHub release updater/news polls..
    DNS prefetch covers GitHub/CurseForge/Google + popular Bedrock multiplayer endpoints; background polls pause during active game sessions.

Validation

./gradlew :app:assembleDebug → BUILD SUCCESSFUL (includes CMake/native packaging; APK verified: lib/arm64-v8a/libgxcore.so, libinbuiltmods.so, libmtbinloader2.so)..

Testing notes

No Android emulator/KVM in dev — validated via full assemble + APK contents check.. On-device spots to check: hit-reg smoothing feel, crosshair/flash, low-latency overlay visibility after pause menu toggles, ABI badges/preflight for a imported 32-bit version, Wireshark/strace TCP_NODELAY on launcher sockets..