Skip to content

HellPad v1.1.3 - Loadout Grid Reader

Choose a tag to compare

@k33bs k33bs released this 19 Dec 19:05
· 42 commits to main since this release
5191b53

Automatically detect your equipped stratagems directly from the mission screen!

How to use:

  • Press Option+0 while at the mission "READY UP" screen
  • HellPad captures your screen, finds the READY UP button, and identifies the 4 mission stratagems above it
  • Detected stratagems are automatically assigned to slots 3-6 in your current loadout

Technical Details:

  • Uses Apple's Vision framework for accurate icon recognition
  • Multi-signal scoring algorithm combines four matching methods:
    • IoU Shape Matching (40%) - Intersection over Union with local alignment search
    • Vision Feature Print (40%) - Neural network-based perceptual similarity
    • dHash Perceptual Hash (15%) - Difference hash for shape comparison
    • Color Histogram (5%) - Brightness distribution matching
  • Pre-crops reference icons to content bounds for more accurate comparison
  • OCR detection finds "READY UP" text to locate the stratagem grid
  • Works with all 100+ stratagems in the game

Voice Announcement for Detected Loadout

Hear your detected stratagems spoken aloud when using the Loadout Grid Reader.

  • Announces "loadout: [stratagem1], [stratagem2], ..." when detection succeeds
  • Uses your configured voice and volume from Settings → Controls
  • Leverages the new speak and short fields in stratagem data for natural pronunciation
  • Example: "loadout: Orbital Laser, Railgun, Shield Pack, Resupply"

Code Quality Improvements

Based on extensive code review:

  • Separated Debug UI - Debug views moved to dedicated LoadoutGridDebugViews.swift (excluded from Release builds)
  • Optimized Vision Requests - Lazy initialization of Vision framework requests to avoid repeated allocations
  • Thread Safety - Improved lock management with defer pattern; changed availableVoices from lazy var to let
  • Centralized Configuration - Match weight defaults moved to HBConstants for easy tuning
  • Shared Detection Pipeline - Extracted bottomLeftQuarterRect() helper to prevent logic drift between debug and production paths
  • Safe Image Cropping - All cropping now uses ScreenCapture.cropClamped() to prevent out-of-bounds errors

Debug Mode (Development Builds Only)

When built in Debug configuration, Option+0 opens a debug window showing:

  • Full screen capture and analysis quadrant with overlay rectangles
  • Extracted icon tiles with match results
  • Top 5 candidates per slot with feature print distances
  • Weight Tuning Sliders - Adjust IoU, Color, Hash, and FP weights in real-time to optimize matching
  • OCR candidates with confidence scores and bounding boxes

Full Changelog: v1.1.2...v1.1.3