EU-Utility/memory/2026-02-12.md

67 lines
2.8 KiB
Markdown

# 2026-02-12 - EU Icon Extractor Enhancements
## Completed Features
### 1. Windows Registry Path Detection
- Now reads `PublicUsersDataParentFolder` from Registry:
- `HKLM\SOFTWARE\WOW6432Node\MindArk\Entropia Universe`
- Constructs full cache path: `{ParentFolder}\public_users_data\cache\icon`
- Fallback to hardcoded path if Registry read fails
### 2. Linux Support Added
- Added `get_steam_paths()` function for cross-platform Steam detection
- Windows: Uses Registry to find Steam installation
- Linux: Checks `~/.steam/steam`, `~/.local/share/Steam`, `~/.steam/root`
- Platform-specific standard installation paths
- Path display shows correct format for each platform (`\` for Windows, `/` for Linux)
### 3. GitHub Issues Integration
- Added "Report Bug" link in footer (orange color)
- Links to: `https://github.com/ImpulsiveFPS/EU-Icon-Extractor/issues`
### 4. GitHub Stars Promotion
- Added "give it a star on GitHub" message in footer
- Gold colored (#ffd700) to stand out
- Encourages users to star the repository
### 5. Multiple Cache Sources Support
- New `find_all_cache_paths()` function returns all detected EU installations
- Source dropdown added: "All Sources", "Standard Install", "Steam", "Manual"
- Can extract from all sources simultaneously OR choose individually
- Version dropdown shows source name when multiple sources exist
- File list shows `[Source Name]` prefix (e.g., "[Steam] 1.2.3/icon.tga")
- Manual browse adds "Manual" source to the dropdown instead of replacing
### 6. Code Cleanup
- Removed unused `webbrowser` import
- Added proper type hints with `Tuple` from typing module
### 7. Cross-Platform CI/CD
- Updated GitHub Actions workflow to build for both Windows and Linux
- Windows: `EU-Icon-Extractor-Windows.exe`
- Linux: `EU-Icon-Extractor-Linux` binary
- Linux build includes system dependencies installation
### 8. Documentation Updates
- Updated README with cross-platform documentation
- Added cache location details for Windows and Linux
- Added build instructions for both platforms
## Technical Changes
- `find_all_cache_paths()` now uses Windows Registry as primary source for standard install
- Return type changed to `List[Tuple[str, Path]]` for proper typing
- Renamed `subfolder_combo` to `version_combo` for clarity
- Added `source_combo` for source selection
## Commits
- `e248c60` - feat: add Linux support for Steam installations
- `1225443` - feat: add Report Bug link to GitHub issues
- `9d80502` - feat: add "give it a star on GitHub" message in footer
- `fb492c4` - feat: support multiple cache sources (Standard + Steam)
- `a8af5a0` - feat: use Windows Registry for standard install path + cross-platform builds
## Repositories Updated
- EU-Icon-Extractor: https://git.lemonlink.eu/impulsivefps/EU-Icon-Extractor
- Lemontropia-Suite (standalone copy): https://git.lemonlink.eu/impulsivefps/Lemontropia-Suite