The dgVoodoo2 requirement was written as an MFD-mode problem. It is not. The limitation is per SECONDARY DISPLAY, not per feature, so it applies to every mode that lights up a second monitor -- including cameraship mode, which uses two displays and no MFDs at all. Console mode is the only configuration that does not need dgVoodoo2, because it is single-display. This matches the code: IsMultimonitorAvaliable() returns false for _ECTCL_CameraShip, so cameraship falls through to IsSecondaryMonitorAvaliable() and the single-secondary mr_device path -- which is still a second exclusive IDirectDraw7, and therefore still refused by modern Windows for exactly the same reason as the MFD panels. Release notes updated in all three places it appears -- section heading and opening, the known-issues entry, and upgrade checklist step 4 -- so an owner running cameraship pods cannot read the requirement as "only applies to MFD setups" and skip it. CLAUDE.md STEP 10 and repo memory corrected likewise, since both stated the narrower "-tmfds 1/3/4" scope. Both release-notes formats regenerated; still plain ASCII with CRLF. Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
386 lines
16 KiB
Markdown
386 lines
16 KiB
Markdown
# BattleTech: FireStorm -- V5.1.0b_RC1
|
|
|
|
**Release notes for pod owners**
|
|
|
|
This build covers everything since the `-tbaud` RIO update. It is a large release: 58 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.
|
|
|
|
---
|
|
|
|
## 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 18:
|
|
**1 through 15 minutes, plus 20, 25 and 30.** The dropdown scrolls to fit them.
|
|
|
|
---
|
|
|
|
## 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.
|
|
|
|
### `-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 `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.
|
|
|
|
---
|
|
|
|
## 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
|
|
slowest frames, and a count of stutters -- plus a summary at the end. **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.
|
|
|
|
---
|
|
|
|
## 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 |
|
|
| `-tmon a,b,c,d` | Force monitor order: main, radar, MFD1, MFD2 | 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 |
|
|
| `-tcoop <0-5>` | Display troubleshooting only -- **do not change** | Standard behaviour (0) |
|
|
|
|
---
|
|
|
|
## 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`.
|
|
|
|
---
|
|
|
|
## 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 the new version.
|
|
6. Play one mission end to end before putting the pod back into service.
|
|
7. Optional: add `[automaticmode]` and `[RookieMission]` to `options.ini` if you want the new
|
|
Load File button or custom rookie missions.
|