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

CV64: Some DeathLink adjustments #4727

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

Conversation

LiquidCat64
Copy link
Contributor

@LiquidCat64 LiquidCat64 commented Mar 11, 2025

What is this fixing or adding?

Some DeathLink-related things, mainly:

  • When a DeathLink was sent by a CV64 player, other players that were connected to that same CV64 slot would not receive it. This PR fixes that.
  • Sent death messages now include the in-game area the death occurred at, much like CotM's implementation.
  • Added handling for when another game includes a death cause message that is just a blank string, i.e. Super Mario World. There should be no more blank in-game death message textboxes.
  • Stopped the client from spam-sending goal packets after goal completion.

How was this tested?

Connected two separate instances of the same CV64 slot to the same localhosted server (connected with their own BizHawk Client instances), got the player killed in one instance, and made sure the other player got killed as well while the first one did not get killed again upon respawning. Also got the player killed in most maps to make sure the area names in the death messages worked.

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Mar 11, 2025
@Exempt-Medic
Copy link
Member

Hmm, an empty cause goes against spec and worlds should not be doing that

@LiquidCat64
Copy link
Contributor Author

LiquidCat64 commented Mar 11, 2025

SMW's client.py calls SNIClient.py's handle_deathlink_state() with no parameter for the death_text variable, and the default value for death_text there is "", so the result is an empty cause message, which in turn, results in an empty textbox in CV64 that looks weird. I think I've had at least one bug report from a CV64 player in the past playing DeathLink with SMW who thought the game had bugged?

@Exempt-Medic Exempt-Medic added the is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. label Mar 11, 2025
@LiquidCat64
Copy link
Contributor Author

LiquidCat64 commented Mar 12, 2025

Bonus fix: the client should no longer be spam-sending goal packets after goal completion. This was a fix I had to make to CotM while it was in review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants