beyond-all-reason / beyond-all-reason/RecoilEngine
Check if gadgets cover mapinfo capabilities
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
### Bill of materials to be done before starting this ticket
* awareness of #2972
----
### Background
`mapinfo.lua` has access to mapoptions, math.random, and perhaps other interfaces that can be used to generate values at runtime. This can cause issues (e.g. what if you return a random string as name or version?) so there's a push towards making mapinfo static, see #2972.
But the capability also lets you do cool stuff with it (e.g. you can have the same map archive implement a "day" and "night" version depending on options, etc). Ideally you would be able to replicate that with gadgetry.
### Task 1
Figure out what is controlled by mapinfo currently, and whether gadgetry can control it. Basically, fill out the table below comprehensively:
| feature | controllable from gadget? |
|----|----|
| sky color | ✅ |
| map heights | ⚠️ yes, but requires processing the heightmap rather than just specify min/max |
| gravity | ❌ |
| ... | ... |
### Task 2
Implement whatever is missing.
Contributor guide
Research direction
Start by reading mapinfo.lua and the context in issue #2972 to inventory every mapinfo-controlled feature. Compare each capability with what gadgetry can control, document the results comprehensively in the issue's table, and define completion as implementing the missing gadget capabilities identified by that comparison.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, lua
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100