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

[low prio] `defs.lua` error with LuaMenu in background

Open
#1,059 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
683
Forks
293
Avg merge
3d 2h
Merged PRs (30d)
40

Description

### User story

A modder uses LuaMenu (i.e. Chobby) to set up a skirmish room to test their mod (choose modoptions, pick map, add AI etc). But he is still a beginner and there is an error in his defs. When it crashes, this takes down Chobby as well and he has to setup the room again from scratch (wastes time, leads to mistakes if there need to be specific modoptions set, etc).

It could also be players exploring some rare modoption combination, which is worse because unlike the tinkering modder these people don't expect the possibility of a lobby crash.

Potentially this could also apply to other failures (corrupted map, archives missing entirely etc), I'm not sure how these are handled currently.

### The request

Make it so that exceptions are caught (and errors are otherwise handled) on a high enough level that LuaMenu survives a game/map load failure. Ideally there would be some sort of LuaMenu interface to get feedback on what happened but this is a "nice to have" optional thing since modders have infolog and it should be rare to have this happen to normal players.

Contributor guide

Open the contributing guide

Research direction

Start by tracing LuaMenu through the game/map load path and reviewing how defs.lua errors, corrupted maps, and missing archives are currently handled. Confirm whether failures can be contained without taking down Chobby; done means LuaMenu survives a load failure, with feedback available if the existing interface supports it.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, lua
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.