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

Updates to Fellowship locking #3044

Merged
merged 9 commits into from
Jun 27, 2020

Conversation

LtRipley36706
Copy link
Member

No description provided.

Writer.Write(kvp.Value);
}

Writer.Write(fellowship.FellowshipLocks);
Copy link
Collaborator

Choose a reason for hiding this comment

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

This does not match https://acemulator.github.io/protocol/Messages/0x02BE-S2C.html, nor does it match any of the code in pdb for acclient.exe

See the relevant functions: UIQueueManager::ProcessNetBlobData -> CM_Fellowship::DispatchUI_FullUpdate -> Fellowship::UnPack
-> ClientFellowshipSystem::Handle_Fellowship__FullUpdate
, specifically Fellowship:UnPack

The fellowship data structure ends at DepartedMembers, according to the client processing for this packet

Is this a feature that was added after the client pdb?

Copy link
Member Author

@LtRipley36706 LtRipley36706 Jun 26, 2020

Choose a reason for hiding this comment

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

its not found in UnPack, but is sent across wire. Not sure where in the client, but aclogview decodes it

Copy link
Collaborator

Choose a reason for hiding this comment

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

"Is this a feature that was added after the client pdb?"

Any answer to this question?

The pdb client doesn't use this data after DepartedMembers at all. The only explanation would be if this locking data structure was added at the end of the game, after the pdb client.

These PRs also need an explanation of what the changes actually are, the reasoning for the changes, and repro steps to test them. What effect does this have on the client, and how can it be tested?

Copy link
Member Author

@LtRipley36706 LtRipley36706 Jun 27, 2020

Choose a reason for hiding this comment

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

Not sure where in the client, but aclogview decodes it

it was sent across the wire. it probably has no purpose to the client

Copy link
Collaborator

Choose a reason for hiding this comment

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

looking in the final client, sub_5BA630 is Fellowship::UnPack

it looks to have no additional logic, and matches the pdb verison... DepartedFellows is the last thing it uses

if this data is completely unused by anything, and has 0 effect on the client or anything in the game, what is the purpose of this code if it does nothing?

Copy link
Member Author

Choose a reason for hiding this comment

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

to fill out aclogview parse.. the data was there as Writer.Write((uint)0x00200000);

Copy link
Member Author

@LtRipley36706 LtRipley36706 Jun 27, 2020

Choose a reason for hiding this comment

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

from retail pcaps

@LtRipley36706 LtRipley36706 merged commit 3039cb4 into ACEmulator:master Jun 27, 2020
@LtRipley36706 LtRipley36706 deleted the fellowlock branch July 16, 2020 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants