beyond-all-reason / beyond-all-reason/RecoilEngine
Unsynced table-based Spring.GiveOrder doesn't return size-based failure
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
If you put huge enough tables for either units or orders, unsynced Spring.GiveOrder(Array)ToUnit(Map,Array) can fail due to network packet size. This can be immediately calculated locally without having to wait for a roundtrip to learn about the failure. The function currently mistakenly returns a success in such cases though.
Contributor guide
Research direction
Start at the unsynced implementation of Spring.GiveOrder(Array)ToUnit(Map,Array) and trace how table sizes are handled before network submission. Confirm the existing failure result for oversized packets, then ensure the size-based failure is determined locally and returned instead of success.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100