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

Go back to protobuf.js; implement compact movement messages #140

Merged
merged 12 commits into from
Jan 16, 2024

Conversation

myndzi
Copy link
Contributor

@myndzi myndzi commented Dec 30, 2023

While previous work migrated to protobuf-es, I later learned that it was particularly slow to decode/encode protobuf messages (at least with the message structure we are using).

This PR goes back to protobuf.js and makes the necessary changes to how encoding messages and processing the decoded messages works.

In addition, it implements a new message type that represents movement data much more compactly.

The generated protobuf code and various functions (including transforming movement frames to/from the compact format) has been extracted to a new library/repository, shared by both this repository and noita-together/lobby-server.

Some bug reports from test plays have been addressed in this branch as well, in particular room flag handling (which includes the lobby seed).

Requires Noita-Together/lobby-server#1

Kris Reeves added 3 commits January 6, 2024 09:52
- Represent death penalty as an enum, not three booleans
- Clean up vRoomFlags component state management
- Avoid mutating store before clicking apply
- Separate presentation information from data
@myndzi myndzi force-pushed the myndzi/compact-movement-messages branch from 15bc599 to 8428742 Compare January 6, 2024 19:57
@SkyeOfBreeze SkyeOfBreeze merged commit ec78611 into next Jan 16, 2024
@SkyeOfBreeze
Copy link
Member

oops forgot to squash it

@myndzi myndzi deleted the myndzi/compact-movement-messages branch March 3, 2024 16:31
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.

2 participants