Skip to content

feat(Core): Add voice chat implementation. #22152

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

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

heyitsbench
Copy link
Contributor

@heyitsbench heyitsbench commented May 18, 2025

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).

Issues Addressed:

SOURCE:

The changes have been validated through:

Tests Performed:

This PR has been:

  • Tested in-game by the author.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  • This pull request requires further testing.
  1. Use it.
  2. Break it.
  3. Prof it.

Known Issues and TODO List:

  • Clean up logging everywhere and probably add some here and there.
  • Try to fix network stuff.
  • Add CMake stuff to fetch and build voice chat server as in CMaNGOS PR. This might be one of the bigger points of contention with this PR, but I'm not sure the best way of dealing with this. I honestly don't think the behavior should be merged into the worldserver (cross-realm one day and all that) and a separate server definitely does seem to be how Blizz handles it, but obviously relying on an external repo for it might not be preferable. Maybe forking by the AC organization would be an option, but again, not sure how maintainers want to approach this one.
  • Implement the various commented out functions.
  • Fix channels.
  • Properly adjust priority when group leader is swapped for applicable channels.

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

Co-Authored-By: burlex <burlex@8ad44209-8f18-4ceb-bdfa-99d0be514da2>
Co-Authored-By: celguar <[email protected]>
Co-Authored-By: Jelle Meeus <[email protected]>
@heyitsbench heyitsbench added the WIP Work in Progress. label May 18, 2025
@heyitsbench
Copy link
Contributor Author

This is very work in progress. Opening now since I've been using the diff to look for things to fix, and it's easier when the PR is up. Plus any interested eyes can get on it and point out issues.

@Tereneckla
Copy link
Contributor

Oh god, he is doing the thing

Copy link
Contributor

@LuckyLuc96 LuckyLuc96 left a comment

Choose a reason for hiding this comment

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

Looks good ready for prod

@blinkysc
Copy link
Contributor

Wow awesome

@heyitsbench heyitsbench marked this pull request as ready for review May 19, 2025 10:01
@heyitsbench heyitsbench marked this pull request as draft May 19, 2025 10:02
@TheSCREWEDSoftware
Copy link
Contributor

Hypothetical the usage / implemntation of the voice server would run along the auth and world? for exclusive 1 realm (1 per realm) or all realms? Even if it's a feature that seems under-use even now a days, I think this is a very cool addition.

@heyitsbench
Copy link
Contributor Author

Not sure how the voice server itself responds to multiple connections, but ideally it would allow multiple to apply to multiple realms. Wouldn't make sense to limit itself to one realm by design, plus would cause problems for a possible cross-realm instance/battleground implementation.

sogladev and others added 8 commits May 20, 2025 12:07
Original check on CMaNGOS is `IsBattleGroup`, which only returns for `m_bggroup`, so this matches original logic, but BFGroup does not exist in TBC branch, so must be added for Wrath.
Sets 0x80 for group(?) leader, 0xCA for all else. TODO: Account for leader switching.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WIP Work in Progress.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Voice Chat
6 participants