Skip to content

Pointer Finder 2.0 v1.4.1

Choose a tag to compare

@CySlaytor CySlaytor released this 08 Nov 23:11
· 14 commits to master since this release

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 -> General tab.
  • 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., +0x4 vs +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 ToRetroAchievementsString generation 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.