Skip to content

1.5.1 Partial Texture support

Choose a tag to compare

@faospark faospark released this 15 Dec 21:40
· 297 commits to main since this release

[1.5.1] - 2025-12-16

Added

Custom Texture Replacement System

  • PNG Texture Loading: Replace game sprites/textures with custom PNG files
    • Place custom textures in BepInEx/plugins/PKextended/Textures/
    • Supports PNG, JPG, JPEG, and TGA formats
    • Automatic subfolder scanning for organization
  • Texture Logging: Discovery mode to identify replaceable textures
    • Enable LogReplaceableTextures to see all detectable sprites
    • Each texture logged only once to avoid spam
    • Helps identify which textures can be customized
  • Scene-Based Detection: Scans loaded scenes for sprites and UI elements
    • Detects SpriteRenderer components (world sprites)
    • Detects Image components (UI sprites)
    • Detects RawImage components (UI textures)

Important Limitations

⚠️ PARTIAL COVERAGE: This feature currently works on certain sprites only, not all game textures.

  • ✅ Works: Event backgrounds, some UI elements, static sprites
  • ❌ Limited: Animated UI sprites, character sprites, battle backgrounds
  • 💡 Recommended: Use with SpecialK for comprehensive texture replacement

Changed

  • Suppressed harmless Addressables.Release warnings after texture replacement
  • Updated version to 1.5.1

Technical Details

  • Harmony Patches: Intercepts sprite/texture setters on multiple components
  • Caching System: Loaded textures cached for performance
  • Index Building: Maps texture names to file paths for fast lookup