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

Implement waypoint generation #859

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

killerwife
Copy link
Collaborator

Review welcome

TODO:

Propagate to all movement handlers
Iron out which points to take with normal interpolated movement - atm taking all

@BAndysc
Copy link
Contributor

BAndysc commented Jun 9, 2024

I believe it might be a good occasion to use protobuf format parsing.

Big part of the PR is introduction of "monster_move" structure (here named CreatureMovement). Protobuf already does it - it is a universal (game version agnostic) structure for most common packets. By re-using protobuf parsing, there is less code repetition and there is no need to modify handlers.

However, until now there was no infrastructure to use protobuf for processing packets, I have added a PR which introduces "proto query builders" #860 and this is a demo PR how your change would look like with this new protobuf parsing: #861

@killerwife
Copy link
Collaborator Author

I have no real opinion on that, just that the surrounding code needs time to cook. I specifically did not use UniversalGuid because the classes in protobuf do not have ToString conversions added to mimic the UX of the normal classes and that then creates a jarring experience when looking at parse and sql file.

Either way the PR is not done since I need to prototype it in terms of what points to take and so on. If at point of being done you guys choose to pull the data from protobuf thats fine, but from my point of view, the stuff that has to be done to use protobuf at this point in time is more complex and less readable. So kinda sounds like someone needs to start using it first who actually adds more than one pr in half a year to improve the usage of protobuf and provide examples in the codebase.

@killerwife
Copy link
Collaborator Author

@BAndysc now its feature complete in case you want to convert it.

@killerwife killerwife force-pushed the feature/waypointgen branch from dcc70f0 to 37eb532 Compare June 30, 2024 20:41
@killerwife killerwife force-pushed the feature/waypointgen branch 2 times, most recently from 7b572ce to 4e0ec47 Compare October 9, 2024 20:13
@@ -32,6 +32,7 @@ public static class Settings
public static readonly bool ForcePhaseZero = Conf.GetBoolean("ForcePhaseZero", false);
public static readonly bool GenerateCreateObject2SpawnsOnly = Conf.GetBoolean("GenerateCreateObject2SpawnsOnly", false);
public static readonly bool SkipDuplicateSpawns = Conf.GetBoolean("SkipDuplicateSpawns", false);
public static readonly bool SkipIntermediatePoints = Conf.GetBoolean("SkipDuplicateSpawns", false);
Copy link
Member

Choose a reason for hiding this comment

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

Wrong argument for Conf.GetBoolean?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Aye. Ty.

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.

3 participants