beyond-all-reason / beyond-all-reason/RecoilEngine
Throwing callins do not decrement their callin depth
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
This came up in testing, not production.
The base gadgets.lua does not correct the callin depth following errors in nested callins.
`UpdateCallIns` is not self-correcting and reordering subscribers in the list is blocked by `callinDepth == 0`, which seems correct. I'm not sure how to read the `*Raw` calls but they also finish with `UpdateCallins`.
Contributor guide
Research direction
Start in base gadgets.lua and trace UpdateCallIns, including the *Raw call paths, focusing on nested callins that throw. Confirm that callin depth is restored after errors and that subscriber reordering is no longer blocked by a stale depth value; add or run the relevant testing setup mentioned in the issue to verify the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, lua
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100