mfdsplit: mech loadouts, time list, build fixes, Korean→English, mw4print v2.0
Battlemaster stock loadouts (Content\Mechs\Battlemaster\battlemaster.subsystems): - Replace lone MediumPulseLaser with full IS stock: PPC (Special2, group 1), 6×ML (3 RT + 3 LT, group 1), 2×MG (LA, 200 rds, group 1), SRM6 (Special1, 15 rds, group 2). Battlemaster Clan 2C (battlemaster2c.subsystems): - Replace ClanMediumPulseLaser with: ER PPC (RA, group 1), 6×ER ML (3 RT + 3 LT, group 1), 2×Clan Gauss (LA, 16 rds each, group 1), Clan SSRM6 (Special1, 15 rds, group 2). Behemoth / Behemoth2 (.subsystems): - Move Gauss rifles from weapon group 3 → group 1 (3 occurrences each). Resource builder (build-resources.ps1): - Always run with -window (windowed + DDrawCompat). Fullscreen native DDraw fails on VMs with the generic Microsoft display adapter. - Remove dgVoodoo2 D3D interceptors (D3D8/D3D9/D3DImm.dll) from Gameleap\mw4: they silently break the builder (process exits 0 without packing anything). Script also defensively moves any such files aside via $dgvMoved block. - Remove dgVoodoo.conf and dgVoodooCpl.exe (abandoned experiment, no longer used). - Expected: 'Hardware Error: not compatible with MechWarrior 4' dialog at end of build on VMs -- click OK, packages are built correctly regardless. CLAUDE.md: updated with mfdsplit branch notes covering all 2026-07-18 work. Co-authored-by: Claude Sonnet 4.6 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
GitHub Copilot
parent
456e197822
commit
e45a67a8fe
@@ -734,6 +734,67 @@ keeping old-RIO (type 0) protocol behavior byte-identical:
|
||||
call it via `-Command "& '...driver.ps1' game-start '-tbaud 115200'"` — `-File` binding
|
||||
rejects dash-leading positional args, and `Start-Process -ArgumentList` doesn't re-quote.
|
||||
|
||||
## 📋 Branch `mfdsplit`: mech loadouts, time list, build fixes (2026-07-18)
|
||||
|
||||
### Mech loadout changes
|
||||
- **Battlemaster IS** (`Content\Mechs\Battlemaster\battlemaster.subsystems`): replaced lone
|
||||
MediumPulseLaser default with full stock IS loadout — PPC (Special2), 6×ML (3 RT, 3 LT),
|
||||
2×MG (LA, 200 rds), SRM6 (Special1, 15 rds), all GroupIndex=1 except SRM6 (group 2).
|
||||
- **Battlemaster Clan 2C** (`battlemaster2c.subsystems`): ER PPC (RA), 6×ER ML (3 RT, 3 LT),
|
||||
2×Clan Gauss (LA, 16 rds each), Clan SSRM6 (Special1, 15 rds).
|
||||
- **Behemoth / Behemoth2** (`.subsystems`): moved Gauss rifles from weapon group 3 → group 1
|
||||
(3 occurrences each; gauss rifles now in group 1 alongside other main weapons).
|
||||
|
||||
### MP time-limit list fix (ConLobbyMission.script)
|
||||
- Expanded from 9 → 18 entries (1–15, 20, 25, 30 min); `max_displayed=10` so dropdown scrolls.
|
||||
- Fixed bare `else if` (missing braces) that caused a null-reference crash in the console lobby
|
||||
when the commit was merged from `main`. This was the root cause of the `aa500be7` regression.
|
||||
- Fixed `i==5` vs `i==6` max_displayed assignment for time vs radar dropdowns.
|
||||
|
||||
### Resource builder fix (build-resources.ps1) — VM / generic adapter support
|
||||
- Builder now always runs with `-window` (windowed mode + DDrawCompat). Fullscreen native DDraw
|
||||
fails on VMs with generic Microsoft display adapters (no hardware DDraw); windowed DDrawCompat
|
||||
works on all tested configs including VMs.
|
||||
- dgVoodoo2 D3D DLL interceptors (`D3D8.dll`, `D3D9.dll`, `D3DImm.dll`) in the working dir
|
||||
silently break the builder (it exits 0 without building anything). These files were left over
|
||||
from the abandoned dgVoodoo2 experiment (commit `87e25677`) — removed from repo (`git rm`).
|
||||
The build script also moves any such files aside defensively via the `$dgvMoved` block.
|
||||
- Removed all dead code for fullscreen fallback, bitdepth patching, ddraw move-aside logic.
|
||||
- `dgVoodoo.conf` / `dgVoodooCpl.exe` also removed from `Gameleap\mw4\` (no longer in use).
|
||||
- Expected behaviour on VM: a "Hardware Error: not compatible with MechWarrior 4" dialog appears
|
||||
at the end of the build — this is a GameOS hardware-capability warning, NOT a fatal error.
|
||||
Click OK; the .mw4 packages are built correctly regardless.
|
||||
|
||||
### Source tree Korean → English translation + UTF-8 cleanup (2026-07-18)
|
||||
- Translated all EUC-KR/CP949 Korean developer comments to English across **84 source files**
|
||||
(~876 lines). Zero Korean bytes remain outside intentional font-table headers (D3FFontEdit2/
|
||||
fontedit `all.h` etc.). Files are now clean UTF-8 (no BOM), safe for any modern editor.
|
||||
- Notable functional translations: `recscore.cpp` body-part return values and kill-announcer
|
||||
format strings (gameplay-visible on Korean Windows; now English on all systems); `nonmfc.h`
|
||||
assert dialog; GosView profiler `킪` → `us` (microseconds).
|
||||
- Latin-1 chars converted to proper UTF-8: © in 3dsmax4/Maxscrpt headers (82 files), ® in
|
||||
`gosHelp/Remote.cpp`, · bullet points in `ai command.hpp`, Û/ß in AnimationSuite headers.
|
||||
- Font table `*.h` files (`D3FFontEdit2/`, `fontedit/`) intentionally left as-is (raw byte
|
||||
values in C array data, not text).
|
||||
- `korean_diff.html` (side-by-side GitHub-style diff, ~873 KB) committed as documentation.
|
||||
|
||||
### Language DLL: English version from source
|
||||
- `Gameleap\mw4\Language.dll` and `MW4\Language.dll` replaced with the freshly compiled English
|
||||
build from `Language - Win32 English` config (`Language.dsp`). Fixes Korean button labels in
|
||||
the GameOS exception/crash dialog (`??? ??...` / `??` / `???` → More Details / Continue / Exit).
|
||||
The old binary was the original Korean build from the 2009 dev machine.
|
||||
|
||||
### mw4print v2.0 additions
|
||||
- **MySQL export** (`dbexport.h`/`dbexport.cpp`): late-bound runtime load of `libmysql.dll`
|
||||
(no compile-time MySQL SDK needed). Exports match data (match, player_result, pvp, optional
|
||||
event tables) to an external MySQL server after each print job. Schema in `db_schema.sql`.
|
||||
Config via `mw4print.ini [MySQLExport]`; UI via File → Database Settings (Ctrl+D).
|
||||
- **Configurable banner text**: File → Banner Setting... edits the bottom-of-sheet URL string
|
||||
(was hardcoded `WWW.MECHJOCK.COM`). Persisted to `options.ini [battle tech print] BannerText=`.
|
||||
- **libmysql.dll** (MySQL Connector/C 32-bit) added to `Gameleap\mw4\` so deploy copies it
|
||||
alongside `mw4print.exe`.
|
||||
- Version bumped to **2.0**, copyright year updated to **2026**.
|
||||
|
||||
## 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\`).
|
||||
|
||||
Reference in New Issue
Block a user