Fix ConLobbyMission time list (18 entries) and build-resources ddraw handling

ConLobbyMission.script:
- Expand MP time-limit dropdown from 9 to 18 entries (1-15, 20, 25, 30 min)
  with max_displayed=10 so the list scrolls cleanly.
- Fix bare else-if syntax (missing braces) that caused null-reference crash
  on console lobby load when this was merged from main.
- Fix i==5 vs i==6 max_displayed assignment for time vs radar dropdowns.

build-resources.ps1:
- DDrawCompat's ddraw.dll is fatal to MW4pro.exe in FULLSCREEN but works
  in WINDOWED mode. Don't move it aside; instead run the builder with
  -window when ddraw.dll is present. This fixes builds on VMs with generic
  display adapters (no hardware DirectDraw) and avoids the EnterWindowMode
  CreateSurface crash on Win10/11 without a functioning DWM shim.
- Also temporarily set options.ini bitdepth=32 when running without any
  ddraw interceptor (bare-metal fallback), restored in finally block.
- Remove stale comment about ddraw being fatal; update interceptor detection
  to correctly identify DDrawCompat vs dgVoodoo2 via dgVoodoo.conf presence.

Co-authored-by: Claude Sonnet 4.6 (Anthropic) <noreply@anthropic.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
2026-07-18 15:39:42 -05:00
co-authored by Claude Sonnet 4.6 GitHub Copilot
parent a45be8044c
commit 456e197822
2 changed files with 62 additions and 22 deletions
@@ -39,7 +39,7 @@
#define TIME_LIST_DEFAULT $$g_nTimeList_Index$$ // 5 // 7 minutes
#define TIME_VALUE_DEFAULT $$g_nTimeList_Value$$ // 7 // 7 minutes
#else // !DEMO_CODE
#define TIME_LIST_COUNT 9 // MSL
#define TIME_LIST_COUNT 18 // MSL // expanded 1-15, 20, 25, 30 min
#define TIME_LIST_DEFAULT $$g_nTimeList_Index$$ // 3 // 7 minutes
#define TIME_VALUE_DEFAULT $$g_nTimeList_Value$$ // 7 // 7 minutes
#endif // DEMO_CODE
@@ -283,13 +283,20 @@ main
o_game_options[i].offsetLabel = drop_name_loc[i]
o_game_options[i].arrowHeight = 15
if i == 6
if i == 5
{
o_game_options[i].max_displayed = 4
o_game_options[i].max_displayed = 10
}
else
{
o_game_options[i].max_displayed = 16
if i == 6
{
o_game_options[i].max_displayed = 4
}
else
{
o_game_options[i].max_displayed = 16
}
}
}
else
@@ -460,13 +467,22 @@ main
o_game_options[i].nselected = TIME_LIST_DEFAULT
#else // !DEMO_CODE
o_game_options[i].list_item[2] = "5"
o_game_options[i].list_item[3] = "7"
o_game_options[i].list_item[4] = "9"
o_game_options[i].list_item[5] = "10"
o_game_options[i].list_item[6] = "12"
o_game_options[i].list_item[7] = "15"
o_game_options[i].list_item[8] = "30"
o_game_options[i].list_item[2] = "3"
o_game_options[i].list_item[3] = "4"
o_game_options[i].list_item[4] = "5"
o_game_options[i].list_item[5] = "6"
o_game_options[i].list_item[6] = "7"
o_game_options[i].list_item[7] = "8"
o_game_options[i].list_item[8] = "9"
o_game_options[i].list_item[9] = "10"
o_game_options[i].list_item[10] = "11"
o_game_options[i].list_item[11] = "12"
o_game_options[i].list_item[12] = "13"
o_game_options[i].list_item[13] = "14"
o_game_options[i].list_item[14] = "15"
o_game_options[i].list_item[15] = "20"
o_game_options[i].list_item[16] = "25"
o_game_options[i].list_item[17] = "30"
if callback($$GetLocalNetworkMissionParamater$$, time_limit) == 0
o_game_options[i].nselected = TIME_LIST_DEFAULT