Files
firestorm/RELEASE-NOTES-5.1.0b_RC2.md
T
8bfaf9b9ad Publish V5.1.0b_RC2: rebuilt binaries, repacked props, RC2 documentation
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, per b4089291).
* .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>
2026-08-07 13:07:43 -05:00

24 KiB

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:

[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.

[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.