5.2 KiB

FIXES APPLIED - November 9, 2025

Issues Fixed

1. Duplicate "Mission Options" Menu (One Empty)

Root Cause: MenuManager was creating both MENU_COALITION and MENU_MISSION parent menus with the same name.

Fix: Removed MENU_MISSION parent menu creation. Only coalition-specific parent menus are created now.

Files Changed: Moose_MenuManager.lua


2. OnBirthMessage Menu Not Integrated

Root Cause: OnBirthMessage uses group menus (like CTLD/FAC) which cannot be nested under coalition menus due to DCS API limitations.

Fix:

  • Added configuration option to enable/disable menu
  • Added documentation explaining group menu behavior
  • Updated load order guidance

Files Changed: OnBirthMessage.lua


What You'll See Now

Before Fix

F10
 ├─ Mission Options (Blue)    ← Has content
 ├─ Mission Options (???)     ← EMPTY - The bug!
 ├─ INTEL HQ (separate)
 ├─ Zone Control (separate)
 ├─ TADC Utilities
 ├─ CTLD
 ├─ AFAC Control
 └─ Welcome Messages (not integrated)

After Fix

F10
 ├─ Mission Options (Blue)    ← Clean, organized
 │   ├─ INTEL HQ
 │   ├─ Zone Control
 │   └─ CVN Command
 ├─ TADC Utilities            ← Mission menu (all players see it)
 ├─ CTLD                      ← Group menu (can't nest)
 ├─ AFAC Control              ← Group menu (can't nest)
 └─ Welcome Messages          ← Group menu (can't nest)

Key: Only ONE "Mission Options" per coalition, and it has content!


Understanding DCS Menu Types

Why Some Menus Can't Be Nested

DCS has three different menu systems:

  1. MENU_COALITION - Team menus (Blue or Red)

    • Can be nested under other coalition menus
    • Example: Intel, Zone Control, CVN
  2. MENU_MISSION - Global menus (everyone sees same)

    • Cannot be nested under coalition menus
    • Example: TADC Utilities
  3. Group Menus - Per-player menus (each player has own)

    • Cannot be nested under ANY parent menu
    • Example: CTLD, FAC, Welcome Messages

Why? These are different DCS API systems that don't interoperate. It's a DCS limitation, not a bug in our code.


Configuration Options

Disable OnBirthMessage F10 Menu

In OnBirthMessage.lua (line 5):

local EnableF10Menu = false  -- Set to false to hide menu

Disable Entire MenuManager System

In Moose_MenuManager.lua:

MenuManager.Config.EnableMissionOptionsMenu = false

Testing Checklist

  • Only ONE "Mission Options" appears (per coalition)
  • "Mission Options" contains items (not empty)
  • TADC at root level (correct - mission menu)
  • CTLD at root level (correct - group menu)
  • FAC at root level (correct - group menu)
  • Welcome Messages at root level (correct - group menu)
  • OnBirthMessage has config option
  • Documentation updated

Files Modified

Core System

  • Moose_MenuManager.lua - v1.1
    • Removed duplicate menu creation
    • Updated CreateMissionMenu function
    • Added better documentation

Scripts

  • OnBirthMessage.lua
    • Added EnableF10Menu config
    • Added documentation about group menus
    • Improved error handling

Documentation

  • F10_MENU_QUICK_REF.md - Updated menu structure
  • MENUMANAGER_UPDATE_NOTES.md - NEW - Detailed explanation
  • FIXES_APPLIED.md - NEW - This file

Load Order (Updated)

1. Moose.lua
2. Moose_MenuManager.lua       ← Creates coalition parent menus
3. CTLD.lua                    ← Group menu
4. Moose_FAC2MarkRecceZone.lua ← Group menu
5. OnBirthMessage.lua          ← Group menu
6. Moose_Intel.lua             ← Under Mission Options
7. Moose_CaptureZones.lua      ← Under Mission Options
8. Moose_NavalGroup.lua        ← Under Mission Options
9. Moose_TADC_Load2nd.lua      ← Mission menu (root)

Note: Order of group menus (3-5) doesn't matter. They'll all appear at root regardless.


What Changed vs v1.0

v1.1 Changes

  1. Removed MENU_MISSION parent menu (was creating duplicate)
  2. Updated CreateMissionMenu to create root-level menus
  3. Added OnBirthMessage integration
  4. Clarified documentation about menu types
  5. Updated all guides with correct information

Backward Compatibility

All v1.0 scripts still work No breaking changes Optional configurations added


Summary

Problem: Two "Mission Options" menus (one empty) + OnBirthMessage not integrated

Solution:

  1. Fixed MenuManager to only create coalition parent menus
  2. Updated OnBirthMessage with config option
  3. Clarified documentation about DCS menu type limitations

Result: Clean, organized F10 menu structure with proper understanding of what can and cannot be nested.


Questions?

Q: Why can't CTLD be under Mission Options? A: CTLD uses group menus (per-player). DCS doesn't allow nesting group menus under coalition menus.

Q: Why is TADC at root level? A: TADC is a mission menu (visible to all players). Can't nest mission menus under coalition menus.

Q: Can I hide the Welcome Messages menu? A: Yes! Set EnableF10Menu = false in OnBirthMessage.lua

Q: Will this break my existing missions? A: No! All changes are backward compatible.


Applied: November 9, 2025
Version: MenuManager v1.1