Descent3 icon indicating copy to clipboard operation
Descent3 copied to clipboard

Put core campaign missions at top, use listbox for level select

Open JeodC opened this issue 7 months ago • 1 comments

Pull Request Type

  • [ ] GitHub Workflow changes
  • [ ] Documentation or Wiki changes
  • [ ] Build and Dependency changes
  • [x] Runtime changes
    • [ ] Render changes
    • [ ] Audio changes
    • [x] Input changes
    • [ ] Network changes
    • [x] Other changes

Description

This PR can be treated as a proof-of-concept, since it may not be desired on PC. I made these changes in fork to provide accessibility for controller-only setups, but I like the look of it better than the current "type a number" setup. It does the following:

  • Puts Retribution and Mercenary at the top of the mission list
  • Changes the old level warp dialog which requires keyboard input for a listbox of the number of levels in the mission
    • The mission name is titled at the top of the level select listbox to inform the player which mission they're choosing levels from
    • Level names are retrieved from the level file, but the core mission levels don't have names inside, so they use an array in menu.h
  • If a mission is flagged as finished in the pilot file, shows all levels like Debug mode, which allows selecting secret levels
    • Tested locally with Mercenary, where a new pilot loaded a savegame for the final level and completed it

Screenshots (if applicable)

image

Checklist

  • [x] I have tested my changes locally and verified that they work as intended.
  • [x] I have documented any new or modified functionality.
  • [x] I have reviewed the changes to ensure they do not introduce any unnecessary complexity or duplicate code.
  • [x] I understand that by submitting this pull request, I am agreeing to license my contributions under the project's license.

JeodC avatar Jul 08 '24 11:07 JeodC