Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LADX: Autotracker improvements #4445

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

kbranch
Copy link

@kbranch kbranch commented Jan 8, 2025

What is this fixing or adding?

This brings the client's built in autotracking up to parity with Magpie's standalone autotracker:

  • Entrances are autotracked, and visited entrances are stored in server data storage so they persist across sessions. We send the server a SetNotify for the key so that players can co-op the entrances in a slot.
  • The player's location is tracked down to the tile rather than the screen
  • Current rupee count is autotracked
  • To keep item counts from jumping around, some checks add back the items they consume when checked, e.g. 20 shells from the Seashell Mansion, Ribbon from YipYip, etc.
  • The client now reports a bit more info about itself to Magpie, to match the current version of its communication protocol

The main RAM reading code has been expanded and modified to support this. Retroarch is pretty slow to read RAM - the added reads should've slowed the main loop down, but some of the existing reads weren't being cached. In my testing, the main loop actually takes less time per tick now.

Most of this is ported from Magpie's autotracker. The original code is MIT licensed, and I'm the author.

How was this tested?

I tested each change as thoroughly as I could as I went, and play tested various scenarios.

This code is currently in the LADX beta build and being tested by users.

@kbranch kbranch marked this pull request as ready for review January 20, 2025 19:10
Copy link
Contributor

@threeandthreee threeandthreee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its been tested in the beta release

Copy link
Contributor

@palex00 palex00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this in three Syncs, working flawlessly. An Async is on the way to test this further but I'd love to have this in 0.6.0

@Exempt-Medic Exempt-Medic added is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer. labels Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants