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

Check if gadgets cover mapinfo capabilities

Open
#2,997 0 comments 0 reactions 0 assignees View on GitHub
area: Lua API
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.