Repository navigation
Pointer Finder 2.0 v1.4.1
Change Log for v1.4.1
✨ Major New Features
1. PPSSPP (PSP) Emulator Support
Pointer Finder 2 now fully supports the PPSSPP emulator for Windows (64-bit).
- Robust Attachment: Attaches by scanning for the main memory region by its exact size, making it independent of the PPSSPP version.
- Dedicated Scanning Strategies: Includes new high-performance Live Scan and State-Based Scan strategies tailored for PSP's memory layout.
- Static Range Finder: A new tool has been added to automatically find the static memory range by searching for the game's ID (e.g.,
UCUS98737) in memory. - RetroAchievements Formatting: Pointer paths are correctly formatted for RA triggers, including the necessary memory mask.
2. Black Theme (Dark Mode)
- A highly requested Black Theme has been integrated into the application.
- This can be enabled/disabled from the
View -> Settings -> Generaltab. - Enabling or disabling the theme requires an application restart to apply correctly to all windows and controls.
🚀 Improvements & Refactoring
1. Major Architectural Overhaul
The application's core logic has been refactored out of MainForm.cs into dedicated manager classes for improved stability, maintainability, and separation of concerns.
ApplicationLifecycleManager: Handles application startup, smart restarts, and process monitoring.ScanCoordinator: Manages all background scanning and filtering operations.ResultsManager: Encapsulates all logic for handling the results list, including sorting and undo/redo history.SessionManager: Centralizes saving and loading session files.
2. RALibretro (NDS) Reliability
- Version-Independent Attachment: The fragile, hardcoded memory offset has been replaced with a robust signature scanning method that finds the core's memory block by its size, supporting both DeSmuME and melonDS cores.
3. Code Note Tools Enhancements
- Code Note Hierarchy Fixer: Merging logic has been significantly improved to normalize keys (e.g.,
+0x4vs+0x004), preserve descriptions, and sort the output numerically by offset. - Code Note Converter: The "Description" field is now remembered for the duration of the session.
4. UI and UX Improvements
- Data-Driven UI: The "Static Range Finder" menu item now only appears if the attached emulator supports it.
- Input Sanitization: All hexadecimal input textboxes now automatically remove invalid characters and leading zeros.
- Reset Defaults: The scan options forms now include a "Reset" button to restore the static range to the recommended default.
🐛 Bug Fixes
- Fixed 16-Byte Alignment: The live scan alignment logic was flawed and has been corrected to properly step through memory at aligned intervals while still calculating correct offsets, restoring both speed and accuracy.
- Fixed RA String Formatting: The
ToRetroAchievementsStringgeneration has been improved to pad addresses and offsets to 8 characters and use lowercase hex. - Removed High RAM Usage Monitor: The unreliable
PerformanceCounter-based monitor has been removed, as the new architecture provides significantly better memory management.