2.9 KiB
2.9 KiB
2026-02-13 - EU-Utility Major Update
UI Fixes Applied
- Removed decorative lines from header (user complaint about "weird lines")
- Added scroll area to sidebar - prevents expanding out of screen
- Added drag functionality - click and drag header to move window
- Removed ALL emojis from all plugins (replaced with text only)
New Features Implemented
1. Resizable Window
- Removed
FramelessWindowHint - Window now fully resizable with minimum size 600x400
- Shows in taskbar properly
2. Plugin Index Bug Fix
- Fixed: Clicking Spotify opened TP Runner instead
- Root cause: Plugin index tracking was incorrect
- Solution: Track buttons in list, store correct index in UserRole data
3. Skill Scanner v2.0 (Complete Rewrite)
OCR Features:
- Screenshot capture of skills window
- EasyOCR/Pytesseract fallback
- Parses skill names, ranks, points
Log Watching:
- Real-time chat.log monitoring
- Automatic skill gain detection
- Patterns: "Aim has improved by 5.2 points", "You gained 10 points in Rifle"
- Automatically adds gains to total values
- Real-time gain display in UI
4. Profession Scanner (NEW PLUGIN)
- OCR scan of professions window
- Tracks profession ranks (Elite, Champion, etc.)
- Progress percentage with visual bars
- 21st plugin added to EU-Utility
5. Customizable Dashboard
- Click "Customize" to select widgets
- Available widgets:
- PED Balance
- Skills Tracked
- Inventory Items
- Current DPP
- Today's Skill Gains
- Professions Count
- Active Missions
- Codex Progress
- Globals/HOFs
- Session Time
- Auto-refresh every 5 seconds
- Reads data from all plugin JSON files
6. Core Services (NOT Plugins!)
Following user's requirement - OCR and Log are core services, not plugins.
Log Reader (core/log_reader.py):
- Real-time chat.log monitoring in background thread
- Event parsing: skill_gains, loot, globals, damage, heals, missions, etc.
- Publisher/subscriber pattern for plugins
- Auto-detects EU log file location
- Cache of recent 1000 lines
OCR Service (core/ocr_service.py):
- Multi-backend support: EasyOCR → Tesseract → PaddleOCR
- Auto-fallback if primary backend unavailable
- Screen capture (full or region)
- Returns structured results with bounding boxes
quick_ocr()convenience function
PluginAPI Integration:
api.ocr_capture(region)- All plugins can use OCRapi.read_log(lines, filter)- All plugins can read log- Services auto-initialized on app startup
- Registered with PluginAPI for universal access
Commits Made
5b127cf- UI fixes (drag, scroll, no emojis)72c3c13- Resizable window, OCR scanners, customizable dashboardbcd4574- All plugins disabled by default with enable/disable UI7f6547f- Fixed box-in-box UI, added Settings button to header8ee0e56- Fixed window taskbar visibilityf6c4971- Core OCR and Log services with API integration