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>
543 lines
24 KiB
Markdown
543 lines
24 KiB
Markdown
# BattleTech: FireStorm -- V5.1.0b_RC2
|
|
|
|
**Release notes for pod owners**
|
|
|
|
This build covers everything since the `-tbaud` RIO update. It is a large release: 75 changes
|
|
spanning multiplayer, cockpit hardware, displays, 'Mech content, the console lobby and the
|
|
match printer.
|
|
|
|
> **The most important thing to know:** if you change nothing in your configuration, this build
|
|
> behaves like your current one. Every new feature listed here is either a fix that applies
|
|
> automatically, or an option you have to switch on deliberately. Nothing new is enabled by default.
|
|
|
|
### Already testing RC1? Here is what is new in RC2
|
|
|
|
Everything else in this document was already in RC1 and is unchanged.
|
|
|
|
- **`-tident`** -- the game now identifies your monitors for you, so you can set `-tmon`
|
|
correctly. See section 4.
|
|
- **`gos-displays.txt` now traces the whole display start-up**, including a plain-English
|
|
**CLASH** warning when two panels land on the same monitor, and a line stating this machine's
|
|
CTCL role. See section 8.
|
|
- **Panels are now released correctly when the display mode changes** -- a real fault that could
|
|
stop the MFDs from restarting. See section 4.
|
|
- **`-tmr`** -- diagnostics for a cameraship Map/Armor screen that shows its background but no
|
|
overlays, plus the field check that usually explains it. See section 4.
|
|
- **Match time limits now go up to 240 minutes**, and the default is 7 minutes again (it had
|
|
silently become 4). See section 2.
|
|
- **The console lobby now reads `V5.1.0b2`.** Use this to confirm a pod actually received the
|
|
new content packages.
|
|
|
|
---
|
|
|
|
## 1. Read this first -- required on Windows 10 / 11
|
|
|
|
### Run `set-appcompat.bat` after installing
|
|
|
|
A new one-click tool ships in your install folder. **Double-click `set-appcompat.bat`** once,
|
|
after copying the game to its final location.
|
|
|
|
FireStorm renders in 16-bit colour, and modern graphics cards no longer offer 16-bit display
|
|
modes. Windows can emulate them, but only if the game is registered for it -- and **that
|
|
registration is tied to the exact folder the game sits in**. Copying or moving an install
|
|
silently loses it.
|
|
|
|
Without it, the game fails to go fullscreen and reports:
|
|
|
|
> *"Another application is preventing use of full screen mode."*
|
|
|
|
That message is misleading. It is not another application. It is this registration missing.
|
|
If you see it, run `set-appcompat.bat` and restart the game.
|
|
|
|
- Run it again any time you **move, copy or reinstall** the game to a different folder.
|
|
- Right-click -> **Run as administrator** to apply it for every Windows account on the pod.
|
|
- It reports what it changed and takes effect on the next game launch. No reboot needed.
|
|
|
|
---
|
|
|
|
## 2. Multiplayer
|
|
|
|
### 16 pilots plus a cameraship now launch correctly
|
|
|
|
Previously, a full 16-pilot game with a cameraship connected would silently fail to launch --
|
|
you pressed launch and nothing happened, with no error. Fixed. A cameraship no longer consumes
|
|
one of the 16 pilot slots.
|
|
|
|
**No configuration needed.** This applies automatically.
|
|
|
|
### Load File -- set up a whole match from a file
|
|
|
|
The console lobby can now load an entire match configuration -- game type, map, mission options
|
|
and all 16 player slots -- from a single file, instead of setting everything by hand.
|
|
|
|
**To enable it,** edit `options.ini` in your game folder -- the same folder that contains
|
|
`MW4.exe`, for example `C:\MW4\options.ini` -- and add:
|
|
|
|
```ini
|
|
[automaticmode]
|
|
automaticmode=1
|
|
automaticfile=matchsetup.ini
|
|
```
|
|
|
|
**Both keys are required:**
|
|
|
|
| Key | What it does |
|
|
|---|---|
|
|
| `automaticmode` | `1` shows the **Load File** button in the console lobby. Any other value, or the key missing entirely, hides the button and the lobby behaves exactly as before. |
|
|
| `automaticfile` | The match configuration file the button loads. If this key is missing, or points at a file that does not exist, the button appears but does nothing when pressed. |
|
|
|
|
`automaticfile` can be either a plain file name, which is read from the game folder next to
|
|
`MW4.exe` (so `automaticfile=matchsetup.ini` reads `C:\MW4\matchsetup.ini`), or a full path if
|
|
you prefer to keep your match files somewhere else
|
|
(`automaticfile=C:\PodConfigs\friday-night.ini`).
|
|
|
|
- Full file format reference: **`BTFrstrm/autoconfig-file-spec.html`**
|
|
- Two ready-made examples -- copy one into your game folder and point `automaticfile` at it:
|
|
**`BTFrstrm/test-ffa-coliseum.ini`** and **`BTFrstrm/test-team-koth-centralpark.ini`**
|
|
|
|
> **Read `BTFrstrm/autoconfig-file-spec.html` before writing your own match files.** Open it in
|
|
> any web browser. It documents every section and key, the accepted values for each, what happens
|
|
> when a key or section is left out, and complete worked examples for both free-for-all and team
|
|
> matches. It is the authoritative reference for the file format -- this page only covers turning
|
|
> the feature on.
|
|
|
|
The **Default** button restores standard settings, so you can always get back to a clean lobby.
|
|
|
|
### Longer match times
|
|
|
|
The multiplayer time limit list has been expanded from 9 options to 23:
|
|
**1 through 15 minutes, plus 20, 25, 30, 45, 60, 120, 180 and 240.** The dropdown scrolls to fit
|
|
them. Long-format events no longer need a mission restarted part way through.
|
|
|
|
**The default time limit is 7 minutes again.** While the list was being extended it had silently
|
|
become 4 minutes, because the default was stored as a position in the list rather than as a
|
|
number of minutes. Fixed.
|
|
|
|
This is console and content only -- it arrives with the resource packages, not with `MW4.exe`.
|
|
|
|
---
|
|
|
|
## 3. Cockpit and RIO hardware
|
|
|
|
### Throttle zero fix
|
|
|
|
The throttle now reports a true zero position and clamps negative values correctly. Previously
|
|
the zero point could be skipped.
|
|
|
|
**Applies automatically.**
|
|
|
|
### `-tbaud` -- support for high-speed replica RIO boards
|
|
|
|
If you are running a **replica RIO cockpit board with a faster UART**, you can now set the COM1
|
|
speed without changing anything else about how the board talks to the game:
|
|
|
|
```
|
|
MW4.exe -tbaud 115200
|
|
```
|
|
|
|
Accepts 9600 to 921600. **Leave it off** and the game uses the original speed, exactly as before --
|
|
existing original RIO boards need no change and should not use this switch.
|
|
|
|
**Whether a particular rate actually works is a hardware question, not a software one.** The
|
|
game will happily set any rate in that range, but both ends have to support it: the serial
|
|
UART in the pod PC, and the RIO or replica RIO board itself. If a rate misbehaves -- garbled
|
|
input, dropped buttons, no response -- step down to a lower one.
|
|
|
|
This switch only changes the speed. The wire protocol is untouched. (The separate `-trio 1`
|
|
switch changes the whole protocol and is *not* what you want for a replica board.)
|
|
|
|
---
|
|
|
|
## 4. Displays and MFDs
|
|
|
|
### Split MFD mode -- two separate 640x480 MFD monitors
|
|
|
|
New display mode **`-tmfds 4`**, for pods using **two separate 640x480 monitors** for the MFDs
|
|
instead of one wide spanned display.
|
|
|
|
```
|
|
MW4.exe -tmfds 4
|
|
```
|
|
|
|
Four displays total: main, radar, left MFD, right MFD. The original spanned modes (`-tmfds 1`
|
|
and `3`) are unchanged and remain the default for existing pods.
|
|
|
|
### Split MFD stutter -- fixed
|
|
|
|
Early split-MFD builds had a constant rhythmic stutter across the whole game. Fixed. The two MFD
|
|
panels no longer force the graphics card to stall every frame cycle.
|
|
|
|
### Required dgVoodoo2 setting for any multi-display mode on Windows 10/11
|
|
|
|
**On Windows 10 and 11, dgVoodoo2 is required for every mode that uses more than one display.**
|
|
That means all of the MFD modes -- the original spanned display (`-tmfds 1` and `-tmfds 3`) as
|
|
well as the new split mode (`-tmfds 4`) -- **and cameraship mode**, which drives two monitors
|
|
without using MFDs at all.
|
|
|
|
**Console mode is the only configuration that does not need it**, because it uses a single display.
|
|
|
|
The deciding factor is the number of displays, not which feature you are using: anything that
|
|
lights up a second monitor runs into the same Windows limitation. On Windows XP none of this
|
|
was needed.
|
|
|
|
> **dgVoodoo2 is not part of the build, and must NOT be installed on Windows XP pods.**
|
|
> XP uses the graphics support built into Windows and needs nothing extra -- adding dgVoodoo2
|
|
> there will break it. It is a per-machine prerequisite that you install yourself, on
|
|
> **Windows 10 and 11 pods only**. If your fleet is mixed, set it up per machine, not as part
|
|
> of the game folder you copy around.
|
|
|
|
In the dgVoodoo2 control panel, on the **General** tab, set:
|
|
|
|
> **Scaling mode: `Stretched, Keep Aspect Ratio`**
|
|
|
|
This is not optional and not cosmetic.
|
|
|
|
- With **`Stretched`** (plain), the MFD monitors **silently stay on the Windows desktop** while
|
|
the main and radar screens go black. There is no error message of any kind. It simply does not work.
|
|
- With **`Stretched, Keep Aspect Ratio`**, all panels come up correctly.
|
|
|
|
The same setting also gives the correct picture geometry on 16:9 monitors. FireStorm renders in
|
|
4:3, so on a widescreen display it is either stretched out of shape or shown correctly with black
|
|
bars down the sides. Keep-aspect gives you the correct shape -- circles stay round and the
|
|
targeting reticle is accurate.
|
|
|
|
> **Why dgVoodoo2 is still required:** we tested running the multi-monitor MFD modes on Windows 10
|
|
> with no dgVoodoo2 at all, using every available configuration. Modern Windows only permits one
|
|
> display at a time to take exclusive fullscreen control, so the extra MFD panels are refused.
|
|
> Windows XP allowed it; Windows 10 does not. dgVoodoo2 works around this. There is no setting
|
|
> or switch that avoids it.
|
|
|
|
### `-tident` -- find out which monitor is which
|
|
|
|
Before using `-tmon`, use this to find out what numbers to type:
|
|
|
|
```
|
|
MW4.exe -tident
|
|
```
|
|
|
|
Every monitor fills with a colour and shows, in large text, the number to use for it. Something
|
|
like:
|
|
|
|
```
|
|
3
|
|
use 3 in -tmon
|
|
device 2 currently: main
|
|
```
|
|
|
|
Walk the pod, write down what each screen says, then set `-tmon` in the order
|
|
**main, radar, MFD 1, MFD 2**. The game exits on its own when the time is up -- it does not start
|
|
a mission, and it does not change any display setting. The display lasts 20 seconds by default;
|
|
`-tident 45` gives you longer, and anything from 3 to 120 seconds is accepted.
|
|
|
|
> **Why this exists.** The monitor numbers Windows shows in Display Settings **cannot be read by
|
|
> any program** -- Windows simply does not make them available. They often happen to match the
|
|
> numbers `-tmon` wants, but on some machines they do not, and there is no way for the game to
|
|
> tell the difference. This is the same reason Windows gives you an *Identify* button instead of
|
|
> just telling you. `-tident` is the game's own Identify.
|
|
|
|
**Do not read monitor numbers off the Windows Display Settings screen and type them into
|
|
`-tmon`.** That is the single most common way to get a wrong or non-working display setup, and
|
|
it can look like a hardware fault. Use `-tident`.
|
|
|
|
### `-tmon` -- fix monitors coming up in the wrong order
|
|
|
|
If your panels appear on the wrong physical monitors, you can assign them explicitly, in the
|
|
order **main, radar, MFD 1, MFD 2**:
|
|
|
|
```
|
|
MW4.exe -tmfds 4 -tmon 1,2,3,4
|
|
```
|
|
|
|
Use the numbers **`-tident` showed you** (see above), not the numbers in Windows Display Settings.
|
|
|
|
Use `0` in any position to leave that one on automatic -- `-tmon 2,1,0,0` swaps only main and radar.
|
|
**Leave the switch off entirely and everything is detected automatically**, which is correct on
|
|
most pods.
|
|
|
|
**Which positions apply depends on the MFD mode:**
|
|
|
|
| Position | Display | `-tmfds 4` (split) | `-tmfds 1` / `-tmfds 3` (spanned) |
|
|
|---|---|---|---|
|
|
| 1st | Main | applies | applies |
|
|
| 2nd | Radar | applies | applies |
|
|
| 3rd | MFD 1 | applies | ignored |
|
|
| 4th | MFD 2 | applies | ignored |
|
|
|
|
In the spanned modes the first two positions work normally, so you can still correct main and
|
|
radar. The 3rd and 4th positions are accepted but have no effect, because the spanned modes
|
|
drive both MFDs from a single wide display rather than two separate ones.
|
|
|
|
**The spanned MFD display itself cannot be assigned with `-tmon`.** It is picked automatically
|
|
as the first display that reports a 1280x480 mode -- a distinctive signature that a spanned
|
|
MFD pair produces and ordinary monitors do not, so it normally lands on the right one. If you
|
|
ever need to force it, ask and it can be added.
|
|
|
|
If a display comes up in the wrong place, check `gos-displays.txt` next to the game (see
|
|
section 8). It lists every display found, which role each was given, and whether each `-tmon`
|
|
position was accepted or ignored.
|
|
|
|
### Two panels on one monitor -- now reported
|
|
|
|
If `-tmon` accidentally puts two things on the same monitor, the second one cannot start: the
|
|
first already has that display. Previously this produced a confusing DirectDraw error naming
|
|
neither of them. `gos-displays.txt` now says so plainly:
|
|
|
|
```
|
|
*** CLASH: main and mfd2 are BOTH on device 0 ***
|
|
```
|
|
|
|
### Panels are now released correctly when the display mode changes
|
|
|
|
A fault that could stop the MFDs working after the game changed display mode, or recovered from
|
|
another program taking the screen. The panels were being re-opened without the previous ones
|
|
being closed first, so they collided with themselves. Most pods never saw it; it showed up
|
|
reliably on machines where one of the panels was on the monitor Windows treats as primary.
|
|
|
|
**Applies automatically.** No configuration needed.
|
|
|
|
### Cameraship Map/Armor screen shows its background but nothing else
|
|
|
|
If the second screen on a cameraship lights up, shows the correct background artwork, and then
|
|
draws **no armour, score or map overlays at all**, check the pod's launch line first:
|
|
|
|
> **A cameraship must be launched with `-ctcltype 3`.** `-ctcltype 2` is a game pod.
|
|
|
|
With the wrong role the screen still opens and still paints its background -- that part does not
|
|
depend on the role -- but the overlay drawing is skipped entirely. The result looks exactly like
|
|
a graphics card or driver fault, which is how it has been misdiagnosed in the past. It is not.
|
|
|
|
The game now records this for you: `gos-displays.txt` contains a line reading
|
|
`CTCL type = 3 (cameraship - overlays WILL be drawn)`, or the equivalent warning if the role is
|
|
wrong. Check that before suspecting hardware.
|
|
|
|
If the role is correct and the overlays are still missing, `-tmr 3` draws a solid magenta test
|
|
rectangle on that screen. If the magenta appears, the display and 3D device are working and the
|
|
problem is elsewhere; include `gos-displays.txt` with the report.
|
|
|
|
---
|
|
|
|
## 5. 'Mechs and content
|
|
|
|
### Six rookie 'Mechs instead of four
|
|
|
|
The console lobby's default rookie 'Mech rotation now includes the **Archer** and **Warhammer**
|
|
alongside the original four. Right-click randomising picks from all six.
|
|
|
|
### Corrected loadouts
|
|
|
|
- **Battlemaster (Inner Sphere)** -- now carries its proper stock loadout: PPC, 6 medium lasers,
|
|
2 machine guns, and an SRM-6. It previously had only a single medium pulse laser.
|
|
- **Battlemaster 2C (Clan)** -- ER PPC, 6 ER medium lasers, 2 Clan Gauss rifles, Clan Streak SRM-6.
|
|
- **Behemoth / Behemoth II** -- Gauss rifles moved into the main weapon group so they fire with
|
|
the rest of the primary weapons.
|
|
|
|
### Restored missing artwork
|
|
|
|
Several 'Mechs were missing their MFD and cockpit display images, which showed as blank panels
|
|
in game. Restored: **Assassin II, Behemoth, Behemoth II, Black Hawk, Longbow, Solitaire, Victor**,
|
|
plus two missing lobby decals.
|
|
|
|
### Mechlab label correction
|
|
|
|
The mechlab turn rate now reads **"Turn Rate (Top Speed Rad/Sec)"**, which is what the number
|
|
actually means. It previously claimed degrees per second, which was wrong.
|
|
|
|
---
|
|
|
|
## 6. Arcade / console mode
|
|
|
|
### Configurable Rookie Mission
|
|
|
|
The quick-launch Rookie Mission was previously fixed in place. All of its settings can now be
|
|
changed from the same `options.ini` in your game folder, next to `MW4.exe`.
|
|
|
|
This is the mission the console loads when it opens, and the one restored when **Default** is
|
|
clicked in the lobby.
|
|
|
|
**Every entry is optional.** Omit the section entirely and you get exactly the previous built-in
|
|
behaviour. The block below is ready to paste into `options.ini` as-is: every setting line is
|
|
commented out with `//`, so pasting it changes nothing until you uncomment the lines you want.
|
|
|
|
```ini
|
|
[RookieMission]
|
|
// Default mission loaded when the console opens and when "Default" is clicked.
|
|
// All entries are optional - omit any to keep the hardcoded built-in default.
|
|
//
|
|
// MissionName - exact display name as it appears in the map dropdown
|
|
// default: ScarabStronghold - Attrition
|
|
// GameType - 0-based index into the game-type dropdown (2 = Attrition)
|
|
// default: 2
|
|
// TimeLimit - time limit in minutes; -1 means use the server's default time
|
|
// default: -1 (uses g_nTimeList_Value, currently 7 min)
|
|
// Visibility - 0=Clear 1=Light Fog 2=Medium Fog 3=Heavy Fog
|
|
// Weather - 0=Off 1=Rain
|
|
// TimeOfDay - 0=Day 1=Night
|
|
// Radar - 0=Novice 1=Off 2=Bars 3=Unlimited
|
|
// HeatOn - 0=Off 1=On
|
|
// FriendlyFire - 0=Off 100=Full (percentage)
|
|
// SplashDamage - 0=Off 1=On
|
|
// UnlimitedAmmo - 0=Off 1=On
|
|
// WeaponJam - 0=Off 1=On
|
|
// AdvanceMode - 0=Off 1=On
|
|
// ArmorMode - 0=Off 1=On
|
|
//
|
|
// Example: uncomment and edit lines below to customize
|
|
//MissionName=ScarabStronghold - Attrition
|
|
//GameType=2
|
|
//TimeLimit=-1
|
|
//Visibility=0
|
|
//Weather=0
|
|
//TimeOfDay=0
|
|
//Radar=0
|
|
//HeatOn=0
|
|
//FriendlyFire=0
|
|
//SplashDamage=0
|
|
//UnlimitedAmmo=1
|
|
//WeaponJam=0
|
|
//AdvanceMode=0
|
|
//ArmorMode=0
|
|
```
|
|
|
|
Two worth knowing:
|
|
|
|
- **`MissionName`** must match the mission's display name **exactly** as it appears in the map
|
|
dropdown, including spacing and the ` - ` before the game type.
|
|
- **`TimeLimit=-1`** means "use whatever time limit the server is currently set to" rather than
|
|
forcing a fixed value.
|
|
|
|
---
|
|
|
|
## 7. Match printer (mw4print) -- version 2.0
|
|
|
|
### Custom banner text
|
|
|
|
The line printed at the bottom of each score sheet is no longer fixed to `WWW.MECHJOCK.COM`.
|
|
Set your own via **File -> Banner Setting...**. It is saved to `banner.txt` next to the printer,
|
|
so you can also edit it directly.
|
|
|
|
### Database export (included, not yet field-tested)
|
|
|
|
mw4print 2.0 can export match results -- scores, kills, player-versus-player results -- to an
|
|
external **MySQL** database after each print job, for league tables or long-term stats.
|
|
|
|
Configure via **File -> Database Settings (Ctrl+D)**, or the `[MySQLExport]` section of
|
|
`mw4print.ini`. The table layout is documented in `db_schema.sql`.
|
|
|
|
> **WARNING: this feature has not yet been tested against a live database server.** It is off unless you
|
|
> configure it, and printing works normally without it. If you try it, please report back.
|
|
|
|
---
|
|
|
|
## 8. Quality of life
|
|
|
|
### `mw4.exe -help`
|
|
|
|
Running `MW4.exe -help` now opens a **complete reference for every command line switch** -- around
|
|
76 of them, grouped by category with descriptions. It opens in Notepad and the game does not start.
|
|
|
|
### English error dialogs
|
|
|
|
The crash and error dialog buttons previously appeared as `???` boxes on some systems, because
|
|
the shipped language file was a Korean build. They now read **More Details / Continue / Exit**.
|
|
|
|
### Performance measuring -- `-fps`
|
|
|
|
For diagnosing stutter or verifying a pod is running smoothly:
|
|
|
|
```
|
|
MW4.exe -fps
|
|
```
|
|
|
|
Writes `gos-fps.txt` next to the game with a per-second breakdown -- average frame rate, the
|
|
worst 5% of frames, the single worst frame, and a count of stutters -- plus a whole-session
|
|
summary at the end giving the true 1% and 0.1% lows. **Off unless you ask for it**, and it costs
|
|
nothing when unused.
|
|
|
|
### Display troubleshooting log
|
|
|
|
When display problems occur, the game now writes **`gos-displays.txt`** next to the exe listing
|
|
every monitor it found, which role each was assigned, and the exact reason any panel failed to
|
|
start. Previously such failures were completely silent. Include this file with any display fault report.
|
|
|
|
The log now follows the whole start-up sequence in order: what Windows reports is attached, what
|
|
the game found, how it matched the two up, which display it chose for each role and why, and what
|
|
each `-tmon` position did. Near the end it prints the monitors in left-to-right order with the
|
|
number to use for each -- the same numbers `-tident` puts on the screens:
|
|
|
|
```
|
|
Desktop arrangement, left to right (compare with Display Settings):
|
|
position 1 : device 0 -> \\.\DISPLAY1 800x600 at 0,0 [WINDOWS PRIMARY]
|
|
position 2 : device 3 -> \\.\DISPLAY4 640x480 at 800,122
|
|
```
|
|
|
|
It also records the role this machine was launched as, which is worth checking on any cameraship
|
|
that is not drawing its overlays (section 4):
|
|
|
|
```
|
|
CTCL type = 3 (cameraship - overlays WILL be drawn)
|
|
```
|
|
|
|
> The file is rewritten every time the game starts. If you have a failure worth reporting, copy
|
|
> the file before launching again.
|
|
|
|
---
|
|
|
|
## 9. New command line switches at a glance
|
|
|
|
| Switch | Purpose | If you leave it off |
|
|
|---|---|---|
|
|
| `-tmfds 4` | Two separate 640x480 MFD monitors | Existing MFD mode unchanged |
|
|
| `-tident [secs]` | Show each monitor's number on the monitor itself, then exit. Use this to work out what to put in `-tmon` | Game starts normally |
|
|
| `-tmon a,b,c,d` | Force monitor order: main, radar, MFD1, MFD2. Positions 3 and 4 apply only to `-tmfds 4` | Automatic detection |
|
|
| `-tbaud <rate>` | COM1 speed for replica RIO boards | Original board speed |
|
|
| `-fps` | Write a performance log | No log, no overhead |
|
|
| `-help` | Show the full switch reference and exit | Game starts normally |
|
|
| `-tmr <0-3>` | Cameraship Map/Armor screen troubleshooting only | Normal behaviour (0) |
|
|
| `-tcoop <0-5>` | Display troubleshooting only -- **do not change** | Standard behaviour (0) |
|
|
|
|
`-ctcltype <1-3>` is not new, but it is worth repeating: **1 = console, 2 = game pod,
|
|
3 = cameraship**, and getting it wrong on a cameraship is the usual cause of a blank Map/Armor
|
|
screen (section 4).
|
|
|
|
---
|
|
|
|
## 10. Known issues and limitations
|
|
|
|
- **Any multi-display mode requires dgVoodoo2 on Windows 10/11** -- every MFD mode (spanned
|
|
`-tmfds 1` / `-tmfds 3` and split `-tmfds 4`) and cameraship mode. Console mode, using a
|
|
single display, is the only exception. Scaling must be set to `Stretched, Keep Aspect Ratio`.
|
|
dgVoodoo2 works around a limitation on exclusive full-screen use of multiple displays on
|
|
platforms after Windows XP. It may be possible to fix this in a future release.
|
|
- **The MySQL export in mw4print has not been tested against a live server.**
|
|
- **The game renders in 4:3 only.** There is no widescreen mode. On 16:9 monitors, use
|
|
keep-aspect scaling for correct geometry with black bars at the sides.
|
|
- **The AppCompat registration is tied to the install folder.** Move the game, re-run
|
|
`set-appcompat.bat`.
|
|
- **Sound output is two-speaker stereo.** Surround and quad speaker rigs are downmixed. This is
|
|
how the game has always behaved; making use of more speakers is being investigated for a
|
|
later release.
|
|
- **`-tident` is only meaningful on a machine with more than one monitor.** On a single-screen
|
|
test PC it may briefly paint one number over another, because Windows can present a single
|
|
monitor to the game as two devices. Harmless, and it cannot happen on a real pod.
|
|
|
|
---
|
|
|
|
## 11. Upgrade checklist
|
|
|
|
1. Back up your current install.
|
|
2. Copy in the new build.
|
|
3. **Double-click `set-appcompat.bat`** (as administrator if the pod has multiple accounts).
|
|
4. **On Windows 10/11, confirm dgVoodoo2 is installed and its scaling mode is
|
|
`Stretched, Keep Aspect Ratio`.** Required for **any** mode that uses more than one
|
|
display: all MFD modes (spanned `-tmfds 1` / `-tmfds 3`, split `-tmfds 4`) and cameraship
|
|
mode. Only console mode, on a single display, does without it. Windows XP pods never
|
|
need it.
|
|
5. Launch and confirm the console lobby reads **`V5.1.0b2`**. If it still shows an older
|
|
version, the resource packages did not get copied.
|
|
6. If your pod uses MFDs or a cameraship, run `MW4.exe -tident` once and check each monitor
|
|
shows the role you expect. If any are wrong, note the numbers shown and correct `-tmon`.
|
|
On a cameraship, also confirm the launch line uses `-ctcltype 3`.
|
|
7. Play one mission end to end before putting the pod back into service.
|
|
8. Optional: add `[automaticmode]` and `[RookieMission]` to `options.ini` if you want the new
|
|
Load File button or custom rookie missions.
|