RC2 build, verified to launch on the Windows box and copied back into the deployment at MW4/. Supersedes RC1 (a0331e78), which predates everything in sections 12-17 of the test checklist. Binaries and content -------------------- * MW4.exe / MW4pro.exe rebuilt from CoreTech GameOS + MW4Application. Carries the display work that landed after the RC1 build: -tident, the full gos-displays.txt start-up trace with the CLASH and CTCL-type reports, the HSH_EnterFullScreen2 panel re-entry fix, the -tmr cameraship ladder, and the updated -help text. * Launcher / autoconfig / mw4print / ctcls / MissionLang / ScriptStrings relinked in the same pass. * props.mw4 + props.dep fully repacked (deleted first, not incremental), so the 23-entry time list, the restored 7-minute default and the V5.1.0b2 console title are actually in the package rather than only in the source tree. * mw4-help.txt regenerated from the new exe; the diff is the proof the built binary carries the documentation changes. Documentation, renamed to RC2 ----------------------------- * RELEASE-NOTES-5.1.0b_RC1.{md,html} -> ..._RC2.{md,html}, both hand-maintained in step, ASCII + CRLF so they open correctly in Notepad on a pod. - New "Already testing RC1?" block at the top. RC1's notes already described -tident and the CLASH report, but the RC1 BINARY does not contain them, so anyone comparing the two needed that stated explicitly. - Time limits corrected to 23 entries (1-15, 20, 25, 30, 45, 60, 120, 180, 240) with the 7-minute default restoration called out. - New section on the cameraship Map/Armor screen: background but no overlays is -ctcltype 2 on a cameraship, not a video card. Includes the "CTCL type =" log line and -tmr 3 as the follow-up check. - -fps description corrected: the per-second column is a 5% low and the 1% / 0.1% lows are in the session summary. The old text described behaviour that had already been changed. - Switch table gained -tmr; known issues gained stereo-only audio and the single-monitor -tident caveat; upgrade checklist now names V5.1.0b2. * testing-checklist-5.1.0b1.txt -> testing-checklist-5.1.0b_RC2.txt, with a build-requirements header and new sections 12-17 covering -tident, the display trace (including a deliberate -tmon clash to exercise the CLASH report), the panel re-entry fix, cameraship/-tmr, 240-minute missions and a -help verification pass. * OPTIONS-INI.md: TimeList_Index is documented as no longer driving the console lobby default (the script uses a literal since the list was expanded) while TimeList_Value remains live; added a table of the files the game writes next to MW4.exe. Also repaired the CP949/CP1252 damage in that file - it carried literal 0xA1 0xE6 arrows, 0x97 em dashes and ~20 '?' characters where dashes had been lost. Now pure ASCII. * README.md points at the RC2 notes. Source ------ MW4Application.cpp help text: -fps now matches what gos-fps.txt actually prints, and -ctcltype states that a cameraship must use 3 and what goes wrong when it does not. Audited all 80 switches parsed in the file against the help array - none missing, and no game-facing switch is parsed anywhere else. Deployment housekeeping ----------------------- * dgVoodoo.conf: ScalingMode = stretched_ar, which is the setting the release notes require and which fails SILENTLY when wrong. FPSLimit was left at 20 from bench testing and would have shipped a 20 fps cap to every Win10/11 pod - raised to 60. * banner.txt reset from a test string to the shipped placeholder. * Removed two stray screen000*.bmp captures and the duplicate dbstruct.txt (db_schema.sql is the current name, perb4089291). * .gitignore: gos-displays.txt and gos-fps.txt are truncated on every launch and are per-machine, so they are no longer mirrored. Not yet done: multi-monitor pod testing of this binary. -tident, the re-entry fix and -tmr have not been exercised on real MFD hardware - that is what the new checklist sections are for. Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
221 lines
12 KiB
Plaintext
221 lines
12 KiB
Plaintext
Testing Checklist -- V5.1.0b_RC2 (eaa5fd3 through 2026-08-07)
|
|
Branch: 5.1.0b-in-progress
|
|
Last known-good pod test: before eaa5fd3
|
|
Sections 1-11 were already in RC1; sections 12-17 are new in RC2.
|
|
|
|
Build requirements for RC2:
|
|
* MW4.exe (Release + Profile) -- CoreTech GameOS and MW4Application changed
|
|
(-tident, display trace, panel re-entry fix, -tmr, help text).
|
|
* Resource repack -- ConLobby.script / ConLobbyMission.script / the mech
|
|
subsystems live in props.mw4. Delete resource\props.mw4 and props.dep, then
|
|
run build-env\build-resources.ps1 so the repack is full, not incremental.
|
|
* Redeploy with build-env\deploy-mw4.ps1, then run set-appcompat.bat at the
|
|
install path.
|
|
================================================
|
|
|
|
1. DUAL MFD (mode 4) -- right device stagger fix
|
|
[ ] In a pod with two MFD screens (mode 4), verify right MFD shows correct
|
|
channel data (channels 3-4) and does not flash blank/grid-only frames
|
|
[ ] Left MFD still shows channels 0-2 correctly at all times
|
|
[ ] Radar display unaffected
|
|
[ ] Mode 1 (single MFD) still works normally (code path unchanged)
|
|
|
|
2. SERIAL RIO / -tbaud BAUD RATE SCALING
|
|
[ ] Default 9600 baud RIO board: poll timeout is 50 ms (same as before)
|
|
[ ] High-speed board at 115200 baud: poll timeout is ~5 ms (faster response)
|
|
[ ] Custom -tbaud 31250: timeout is ceil(480000/31250) = 16 ms
|
|
[ ] Verify no regression in button/lamp/analog response at all three rates
|
|
[ ] Verify game launches normally without -tbaud flag
|
|
|
|
3. MULTIPLAYER -- 16 PILOTS + 1 CAMERASHIP
|
|
[ ] Host a 16-player game; a 17th connection as cameraship can join without
|
|
"Too many player/bots" error
|
|
[ ] The cameraship slot does not count against the pilot cap in the lobby
|
|
[ ] Standard 16-pilot session (no cameraship) still works normally
|
|
[ ] Player limit slider in lobby still functions correctly at runtime
|
|
[ ] COOP mode unaffected (still caps at 9 pilots + bots)
|
|
|
|
4. MECH LOADOUTS
|
|
[ ] Battlemaster IS: spawns with PPC, 6x ML (3 RT/3 LT), 2x MG (200 rds), SRM6 (15 rds)
|
|
[ ] Battlemaster IS: all weapons in group 1 except SRM6 (group 2)
|
|
[ ] Battlemaster Clan 2C: spawns with ER PPC, 6x ER ML, 2x Clan Gauss (16 rds each), Clan SSRM6 (15 rds)
|
|
[ ] Behemoth / Behemoth II: Gauss rifles fire with group 1 (not group 3)
|
|
|
|
5. CONLOBBY -- V5.1.0b2 / SUPER6 MECH ROTATION
|
|
[ ] Console title displays "BattleTech Console V5.1.0b2"
|
|
[ ] Rookie mech cycle shows 6 mechs: Archer, Loki, Madcat, Thor, Vulture, Warhammer
|
|
[ ] Right-click random mech picks from all 6 (not 5)
|
|
[ ] MP time-limit dropdown shows 23 entries (1-15, 20, 25, 30, 45, 60, 120, 180, 240 min) and scrolls correctly
|
|
[ ] MP time-limit defaults to 7 min (was wrongly defaulting to 4)
|
|
[ ] Lobby launches correctly with 1-16 players
|
|
|
|
6. MW4PRINT v2.0
|
|
[ ] Print job completes normally; version banner shows "2.0 / 2026"
|
|
[ ] File -> Database Settings (Ctrl+D) dialog opens; MySQL host/user/pass/db fields editable
|
|
[ ] With a MySQL server configured, a print job exports match data to the database
|
|
[ ] Without MySQL configured (or libmysql.dll absent), print job completes silently with no crash
|
|
[ ] File -> Banner Setting... opens; changing the text updates the printed bottom-of-sheet URL
|
|
[ ] Banner setting persists after closing and reopening mw4print
|
|
|
|
7. LANGUAGE DLL -- ENGLISH BUTTON LABELS
|
|
[ ] After a game crash/exception, the GameOS error dialog shows English button
|
|
labels (More Details / Continue / Exit) instead of Korean ??? characters
|
|
|
|
8. SOURCE ENCODING / BUILD HEALTH
|
|
[ ] Full Release build completes 0 errors (the min/max fix was the last issue)
|
|
[ ] No new warnings introduced beyond the pre-existing 384
|
|
|
|
------------------------------------------------
|
|
Added 2026-07-23 (commit 5813aeb6)
|
|
------------------------------------------------
|
|
|
|
9. ROOKIE MISSION -- CONFIGURABLE DEFAULTS VIA options.ini
|
|
These defaults are read by CTCL_SetCDSP at startup and exposed as gosScript
|
|
globals (g_szRookieMission, g_nRookieGameType, g_nRookieTimeLimit, etc.).
|
|
The console script reads them instead of hardcoded values when "Default" is
|
|
clicked or when the Rookie mission auto-loads.
|
|
|
|
[ ] Without [RookieMission] section in options.ini: Rookie mission defaults
|
|
to "ScarabStronghold - Attrition", game type Attrition, unlimited ammo on,
|
|
all other params at zero/off -- same behavior as before
|
|
[ ] Add [RookieMission] section to options.ini with MissionName and GameType
|
|
overridden; restart game; "Default" button in console loads the specified
|
|
mission and game type correctly
|
|
[ ] TimeLimit=-1 in options.ini: lobby uses the server's default time setting
|
|
(g_nTimeList_Value); TimeLimit=5 sets the lobby time limit to 5 minutes
|
|
[ ] All 12 overridable params work individually: Visibility, Weather, TimeOfDay,
|
|
Radar, HeatOn, FriendlyFire, SplashDamage, UnlimitedAmmo, WeaponJam,
|
|
AdvanceMode, ArmorMode
|
|
[ ] Game launches and functions normally when [RookieMission] section is absent
|
|
(no crash, no STOP on missing keys)
|
|
[ ] Requires rebuild: MW4.exe (Release + Profile); ScriptStrings.dll
|
|
|
|
10. MECHLAB -- TURN RATE LABEL (StringResource.rc)
|
|
IDS_ML_CH_TURNRATE changed from "Turn Rate (Degrees/Sec.):" to
|
|
"Turn Rate (Top Speed Rad/Sec):". ScriptStrings.dll must be rebuilt.
|
|
|
|
[ ] In mechlab, the turn rate stat row label reads "Turn Rate (Top Speed Rad/Sec):"
|
|
[ ] No other mechlab labels affected
|
|
[ ] Requires rebuild: ScriptStrings.dll (part of normal MW4Application build)
|
|
|
|
11. HSH ASSET FILE RENAMES -- MFD AND MECHS PORTRAITS
|
|
Several hsh/ BMP files were misnamed relative to what the game loads.
|
|
Filenames now match the canonical stems used in huddamage.cpp texturename[]
|
|
(hsh/MFD, hsh/hud, hsh/radar/hud) and GetLocString DNL strings (hsh/Mechs).
|
|
|
|
hsh/MFD/ -- in-game target MFD damage display (uses texturename[] canonical):
|
|
[ ] Assassin II: MFD shows correct silhouette during combat
|
|
(was assassinii.bmp, now assassin2.bmp -- matches M_Assassin2 entry)
|
|
[ ] All other MFD silhouettes display correctly in combat for all 65 mechs
|
|
(bulk refresh from 5.0.7D release; verify no missing/black MFD panels)
|
|
|
|
hsh/Mechs/ -- mw4print post-match scorecard portraits:
|
|
[ ] Print a post-match scorecard featuring a Battlemaster IIc pilot;
|
|
portrait image appears (was battlemasteriic.bmp, now "battlemaster iic.bmp")
|
|
[ ] Print a scorecard featuring a Behemoth II pilot; portrait appears
|
|
(was behemothii.bmp, now "behemoth ii.bmp")
|
|
[ ] Print a scorecard featuring a Mad Cat MKII pilot; portrait appears
|
|
(was "mad cat mk.ii.bmp", now "mad cat mkii.bmp")
|
|
[ ] Scorecards for all other mechs still show portraits correctly
|
|
|
|
------------------------------------------------
|
|
Added for RC2 (2026-07-25 through 2026-08-07)
|
|
------------------------------------------------
|
|
|
|
12. -tident DISPLAY IDENTIFY MODE (new switch)
|
|
MW4.exe -tident [3..120, default 20] paints every display with a colour,
|
|
its -tmon number, its DirectDraw device index and its current role, then
|
|
exits. Uses DDSCL_NORMAL + GDI: no exclusive mode, no display mode change.
|
|
|
|
[ ] MW4.exe -tident on a 4-monitor pod: every monitor shows a distinct
|
|
colour and a large number; no monitor is left on the desktop
|
|
[ ] The role shown on each monitor (main / radar / mfd1 / mfd2) matches
|
|
what that monitor actually displays during a mission
|
|
[ ] The game exits on its own when the timer expires, and does NOT start
|
|
[ ] -tident 5 exits after ~5 s; -tident 200 clamps to the accepted range
|
|
[ ] After -tident, the desktop is unchanged: same resolution, colour depth
|
|
and monitor arrangement as before (nothing to restore by hand)
|
|
[ ] Works on a pod where the MFD modes are currently failing (that is the
|
|
case it exists for)
|
|
[ ] Everything painted on screen also appears in gos-displays.txt
|
|
[ ] Typing those numbers into -tmon puts each panel on the intended monitor
|
|
|
|
13. gos-displays.txt FULL START-UP TRACE
|
|
Startup-only logging; no frame-loop cost. File is truncated each launch.
|
|
|
|
[ ] File is created next to MW4.exe on every launch, including launches
|
|
that fail during panel bring-up (open-append-close, survives a crash)
|
|
[ ] Header shows the exe path, the full command line, and -tmfds / -tmon
|
|
converted to 0-based device indices
|
|
[ ] Windows desktop topology section lists every \\.\DISPLAYn with its
|
|
friendly name, attached/primary state and current mode
|
|
[ ] Each enumeration callback is logged with GUID and resolved monitor
|
|
[ ] Device table appears three times (before merge, after merge, final)
|
|
and the adapter grouping lists devices sharing one card
|
|
[ ] Role selection prints the chosen device AND the reason each skipped
|
|
device was skipped
|
|
[ ] Each -tmon override reports APPLIED or REJECTED with what auto-detect
|
|
had chosen
|
|
[ ] "Desktop arrangement, left to right" block matches the physical layout
|
|
[ ] CLASH check: deliberately run -tmon with the same device twice (e.g.
|
|
-tmon 1,1,3,4) and confirm the report names the clash explicitly
|
|
[ ] "CTCL type = <n>" line is present and correct on console, game pod and
|
|
cameraship
|
|
[ ] Startup time is not noticeably longer than the previous build
|
|
|
|
14. PANEL RE-ENTRY FIX (HSH_EnterFullScreen2 releases before re-opening)
|
|
Panels used to be re-opened without the previous DirectDraw objects being
|
|
released, leaking the exclusive claim. Bites hardest when a panel sits on
|
|
the monitor Windows treats as primary.
|
|
|
|
[ ] Full MFD pod (-tmfds 4) survives an Alt-Tab out and back with all
|
|
panels still drawing
|
|
[ ] Panels still work after a display mode change (shell -> mission ->
|
|
shell, and mission restart)
|
|
[ ] gos-displays.txt shows HSH_EnterFullScreen2 running more than once with
|
|
NO DDERR_EXCLUSIVEMODEALREADYSET / DDERR_NOCOOPERATIVELEVELSET on the
|
|
later entries
|
|
[ ] Cameraship (mr_device) path: same Alt-Tab / mode-change test
|
|
[ ] Test at least once on a machine where a panel IS on the Windows primary
|
|
monitor -- that is the configuration that used to fail
|
|
|
|
15. CAMERASHIP MAP/ARMOR SCREEN AND -tmr
|
|
Field report root cause was -ctcltype 2 (game pod) on a cameraship, not a
|
|
video card. Overlays are gated on the CTCL role; the background is not.
|
|
|
|
[ ] Cameraship launched with -ctcltype 3: Map/Armor screen shows background
|
|
AND armour/score/map overlays
|
|
[ ] gos-displays.txt reads "CTCL type = 3 (cameraship - overlays WILL be
|
|
drawn)"
|
|
[ ] Launch the same machine with -ctcltype 2 and confirm the documented
|
|
symptom (background only, no overlays) and the matching log line --
|
|
this is the triage rule, worth seeing once
|
|
[ ] -tmr 0 (default / switch absent): behaviour identical to the previous
|
|
build
|
|
[ ] -tmr 3 paints a magenta test rectangle on the Map/Armor screen
|
|
[ ] -tmr 1 and -tmr 2 run without crashing
|
|
[ ] Draw-call counts are reported for the first 5 frames when -tmr is set
|
|
|
|
16. MP TIME LIMITS TO 240 MIN -- IN-MISSION BEHAVIOUR
|
|
Extends section 5, which covers the lobby dropdown, the 7-minute default
|
|
and the console title. Content only (props.mw4). Requires a full repack:
|
|
delete resource\props.mw4 and props.dep first, then run
|
|
build-env\build-resources.ps1.
|
|
|
|
[ ] Default button returns the time limit to 7 minutes
|
|
[ ] Select 240 minutes, launch, and confirm the in-mission timer starts at
|
|
240:00 and counts down correctly
|
|
[ ] Mission ends on time expiry at a long setting (spot-check one, e.g. 45)
|
|
[ ] PC host lobby (HostLobbyMission) time list shows the same 23 entries and
|
|
does not crash when opened -- the else-branch re-brace
|
|
|
|
17. -help AND DOCUMENTATION
|
|
[ ] MW4.exe -help writes mw4-help.txt and opens it; game does not start
|
|
[ ] -tident, -tmr, -tcoop, -tbaud, -tmfds 4, -tmon and -fps all appear with
|
|
correct ranges
|
|
[ ] -tmon entry states these are NOT Windows Display Settings numbers
|
|
[ ] -ctcltype entry states a cameraship must use 3
|
|
[ ] -fps entry describes the per-second 5% low and the session 1% / 0.1%
|
|
summary (matches what gos-fps.txt actually prints)
|
|
|