From fccdc2dee439cd82134def45ea0aab409e8756a4 Mon Sep 17 00:00:00 2001 From: RT Date: Thu, 23 Jul 2026 22:18:43 -0500 Subject: [PATCH] CLAUDE.md: document 5813aeb6 through 0344418a work (2026-07-23) - hsh/ BMP canonical renames (MFD + Mechs, commit 5813aeb6) - RookieMission configurable defaults via options.ini (MW4Shell.cpp + ConLobbyMission.script, 5813aeb6) - Mechlab turn rate label correction (StringResource.rc, 5813aeb6) - BTFrstrm design docs: MechDependencyTree.docx + Special_Zones.docx (840bc96c) - mech_loadouts.md: MechEditor data sources, field conversions, hsh naming reference (0344418a) --- CLAUDE.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 2acdb231..daefd799 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -864,6 +864,49 @@ Changes from Buddy 'Highlight' Taylor (MCHL), merged manually: `ConLobby.script`: launch guard `nTempPlayerCount > 16` raised to `> 17` so the cameraship connection doesn't trigger "Too many player/bots". +### hsh/ BMP canonical renames (5813aeb6, 2026-07-23) +All `hsh/MFD/*.bmp` and `hsh/Mechs/*.bmp` filenames reconciled against the canonical stems +expected by game code. The engine loads MFD images via `huddamage.cpp` `texturename[]` array +(lowercase, no spaces) and Mechs portraits via `GetLocString` DNL strings (mixed-case with +spaces). Any mismatch = silently missing image at runtime. +Key renames: +- `hsh/MFD/assassinii.bmp` → `assassin2.bmp` (matches `texturename[]` canonical) +- `hsh/Mechs/battlemasteriic.bmp` → `battlemaster iic.bmp` +- `hsh/Mechs/mad cat mk.ii.bmp` → `mad cat mkii.bmp` +- `hsh/Mechs/behemoth ii.bmp` added (was absent) +Most other files in both directories are LFS pointer updates only (content unchanged). + +### RookieMission configurable defaults via options.ini (5813aeb6, 2026-07-23) +CTCL (console) arcade mode has a "Rookie Mission" quick-launch that previously hardcoded all +game params. Now all 13 params are overridable from an `[RookieMission]` section in +`options.ini` (read by `CTCL_SetCDSP` at startup): +- `MW4Shell.cpp`: added 14 `g_` globals (`g_szRookieMission`, `g_nRookieGameType`, and 12 + numeric params); registered as `gosScript_RegisterVariable` in `StartUp`/`ShutDown`; + `CTCL_SetCDSP` reads the `[RookieMission]` page via `NotationFile` and populates them. + Defaults: `"ScarabStronghold - Attrition"`, GameType=2 (Attrition), UnlimitedAmmo=1, all + others zero. `g_nRookieTimeLimit=-1` means "use the server's current time setting". +- `ConLobbyMission.script`: all hardcoded values in `MAIL_SET_ROOKIE_MISSION` handler replaced + with `$$g_szRookieMission$$` / `$$g_nRookieXxx$$` references. +- Requires rebuild: `MW4.exe` (Release + Profile). + +### Mechlab turn rate label (5813aeb6, 2026-07-23) +`StringResource.rc` `IDS_ML_CH_TURNRATE`: "Turn Rate (Degrees/Sec.):" → +"Turn Rate (Top Speed Rad/Sec):" to match the actual `.data` field semantics +(`TopSpeedTurnRate` is in rad/s at top speed, not deg/s). +Requires rebuild: `ScriptStrings.dll`. + +### BTFrstrm design documentation (840bc96c, 2026-07-23) +Two Word documents added to `BTFrstrm/`: +- `MechDependencyTree.docx` — dependency relationships between mech chassis/variants. +- `Special_Zones.docx` — documentation of special zone types used in maps/missions. + +### mech_loadouts.md: MechEditor data model (0344418a, 2026-07-23) +`BTFrstrm/mech_loadouts.md` extended with a full reference section documenting the +MechEditor web app (`/home/rich/Repositories/MechEditor/mech_editor.py`, localhost:8765): +every `.data`/`.instance`/`.subsystems` field parsed, conversions performed (m/s ↔ kph, +rad/s ↔ deg/s), and `hsh/` naming rules for MFD/Mechs/HUD/Radar images. Canonical +reference for future mech data work. + ## Next steps (proposed) - [x] ~~Windowed 3D viewport on Win11~~ — DONE via DDrawCompat (see STEP 8 viewport section). - [ ] (Optional) Curate remaining WIP content as features are exercised (editor loads dev `Content\`).