beyond-all-reason / beyond-all-reason/RecoilEngine

Dynamically adding and removing callins can cause gadgets to be skipped

Open
#835 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

Adding a new GameFrame to call while the gadget handler is iterating over GameFrame causes a gadget to be skipped. This is due to the simple way that callins are stored.

See https://github.com/ZeroK-RTS/Zero-K/issues/4917

Contributor guide

Open the contributing guide

Research direction

Start by reading the callin storage and gadget-handler iteration code, then compare the behavior with the linked Zero-K issue #4917. Reproduce adding a GameFrame while iteration is in progress and define done as ensuring no gadget is skipped when callins are added or removed dynamically.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.