Files
firestorm/RELEASE-NOTES-5.1.0b_RC1.html
T
10dab8f2d5 Add V5.1.0b_RC1 end-user release notes (markdown + HTML)
Release notes covering the 58 commits since dbcf4052 (-tbaud), written for pod
owners rather than developers: what changed, what the defaults are if they touch
nothing, and how to switch on anything new.

Two formats. The HTML is generated from the markdown so the two cannot drift, and
carries the same inline styling as BTFrstrm/autoconfig-file-spec.html -- no external
files, opens in any browser, prints cleanly. Both are plain ASCII with CRLF so they
open correctly in Notepad on a pod.

Structure leads with the two things that will otherwise generate support traffic:
running set-appcompat.bat after install (the AppCompat layer is keyed on the install
path, and its absence produces the misleading "Another application is preventing use
of full screen mode"), and the dgVoodoo2 scaling mode, which fails silently when set
wrong. Every command line switch is listed with an explicit "if you leave it off"
column.

Facts checked against the source while writing, and corrected:

- [RookieMission] key names. The first draft documented RookieMission=, RookieGameType=
  and so on -- the internal variable names. The game actually reads MissionName,
  GameType, TimeLimit, Visibility, Weather, TimeOfDay, Radar, HeatOn, FriendlyFire,
  SplashDamage, UnlimitedAmmo, WeaponJam, AdvanceMode, ArmorMode. Anyone following the
  draft would have edited options.ini and seen no effect with nothing to explain why.
  The section now carries the full annotated block verbatim from options.ini, and all
  14 documented keys are machine-verified against MW4Shell.cpp.

- [automaticmode] needs TWO keys, not one. automaticmode=1 shows the Load File button;
  automaticfile=<path> tells it what to load. Without the second, CTCL_LoadAutoFile
  returns immediately -- the button appears and silently does nothing. Both are now
  documented in a table, with the path rules (bare filename resolves next to MW4.exe,
  or give a full path).

- dgVoodoo2 is required on Windows 10/11 for EVERY MFD mode, including the original
  spanned display (-tmfds 1 and 3), not only the new split mode (-tmfds 4). The first
  draft implied it was specific to the new feature, which would have led owners running
  the span to skip it.

- The mw4print MySQL export is flagged as included but not yet tested against a live
  server. Everything else in the notes is confirmed working by the project owner.
  libmysql.dll ships in the deployment (Gameleap/mw4, kept by the deploy's root *.dll
  rule and not on the skip list), so there is nothing for owners to download.

Also repaired 23 em dashes that had been written as literal '?' characters, including
in headings -- a side effect of the workspace saving new files as CP949, which cannot
represent them. Both files are now pure ASCII.

Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
2026-07-25 19:22:54 -05:00

345 lines
20 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>BattleTech: FireStorm V5.1.0b_RC1 - Release Notes</title>
<style>
body { font-family: Calibri, Arial, sans-serif; font-size: 11pt; margin: 60px 72px; color: #1a1a1a; max-width: 900px; }
h1 { font-size: 20pt; color: #1F3864; border-bottom: 3px solid #1F3864; padding-bottom: 8px; margin-top: 0; }
h2 { font-size: 14pt; color: #1F3864; border-bottom: 1px solid #BDD7EE; padding-bottom: 4px; margin-top: 28px; }
h3 { font-size: 12pt; color: #2E4D7B; margin-top: 20px; margin-bottom: 4px; }
.meta { color: #555; font-size: 10pt; margin-bottom: 28px; }
code { font-family: Consolas, "Courier New", monospace; font-size: 10pt; background: #F4F7FB; padding: 1px 4px; border-radius: 2px; color: #1a1a1a; }
pre { font-family: Consolas, "Courier New", monospace; font-size: 10pt; background: #F4F7FB; border: 1px solid #BDD7EE; border-left: 4px solid #2E4D7B; padding: 12px 16px; border-radius: 0 4px 4px 0; overflow-x: auto; line-height: 1.5; }
pre code { background: none; padding: 0; }
table { border-collapse: collapse; width: 100%; margin: 10px 0 18px 0; font-size: 10.5pt; }
th { background: #1F3864; color: white; padding: 7px 12px; text-align: left; font-weight: bold; font-size: 10pt; }
tr:nth-child(even) td { background: #EFF4FB; }
td { padding: 5px 12px; border-bottom: 1px solid #D0D9E8; vertical-align: top; }
td code { background: #E8EFF9; }
.warn { background: #FFF3CD; border: 1px solid #FFEAA0; border-left: 4px solid #F0B429; padding: 10px 14px; border-radius: 0 4px 4px 0; margin: 14px 0; font-size: 10.5pt; }
.warn strong { color: #7A4F00; }
.note { background: #E7F3FD; border: 1px solid #B8D9F5; border-left: 4px solid #1F3864; padding: 10px 14px; border-radius: 0 4px 4px 0; margin: 14px 0; font-size: 10.5pt; }
ul, ol { margin: 6px 0 10px 0; padding-left: 24px; }
li { margin-bottom: 4px; }
hr { border: none; border-top: 1px solid #D0D9E8; margin: 30px 0; }
@media print { body { margin: 40px; } pre, table, .warn, .note { page-break-inside: avoid; } }
</style>
</head>
<body>
<h1>BattleTech: FireStorm &mdash; V5.1.0b_RC1</h1>
<div class="meta">Release notes for pod owners &nbsp;&middot;&nbsp; 25 July 2026</div>
<p>This build covers everything since the <code>-tbaud</code> RIO update. It is a large release: 58 changes
spanning multiplayer, cockpit hardware, displays, 'Mech content, the console lobby and the
match printer.</p>
<div class="note"><p><strong>The most important thing to know:</strong> 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.</p></div>
<hr>
<h2>1. Read this first -- required on Windows 10 / 11</h2>
<h3>Run <code>set-appcompat.bat</code> after installing</h3>
<p>A new one-click tool ships in your install folder. <strong>Double-click <code>set-appcompat.bat</code></strong> once,
after copying the game to its final location.</p>
<p>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 <strong>that
registration is tied to the exact folder the game sits in</strong>. Copying or moving an install
silently loses it.</p>
<p>Without it, the game fails to go fullscreen and reports:</p>
<div class="note"><p><em>"Another application is preventing use of full screen mode."</em></p></div>
<p>That message is misleading. It is not another application. It is this registration missing.
If you see it, run <code>set-appcompat.bat</code> and restart the game.</p>
<ul>
<li>Run it again any time you <strong>move, copy or reinstall</strong> the game to a different folder.</li>
<li>Right-click -&gt; <strong>Run as administrator</strong> to apply it for every Windows account on the pod.</li>
<li>It reports what it changed and takes effect on the next game launch. No reboot needed.</li>
</ul>
<hr>
<h2>2. Multiplayer</h2>
<h3>16 pilots plus a cameraship now launch correctly</h3>
<p>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.</p>
<p><strong>No configuration needed.</strong> This applies automatically.</p>
<h3>Load File -- set up a whole match from a file</h3>
<p>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.</p>
<p><strong>To enable it,</strong> edit <code>options.ini</code> in your game folder -- the same folder that contains
<code>MW4.exe</code>, for example <code>C:\MW4\options.ini</code> -- and add:</p>
<pre><code class="language-ini">[automaticmode]
automaticmode=1
automaticfile=matchsetup.ini
</code></pre>
<p><strong>Both keys are required:</strong></p>
<table>
<thead>
<tr>
<th>Key</th>
<th>What it does</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>automaticmode</code></td>
<td><code>1</code> shows the <strong>Load File</strong> button in the console lobby. Any other value, or the key missing entirely, hides the button and the lobby behaves exactly as before.</td>
</tr>
<tr>
<td><code>automaticfile</code></td>
<td>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.</td>
</tr>
</tbody>
</table>
<p><code>automaticfile</code> can be either a plain file name, which is read from the game folder next to
<code>MW4.exe</code> (so <code>automaticfile=matchsetup.ini</code> reads <code>C:\MW4\matchsetup.ini</code>), or a full path if
you prefer to keep your match files somewhere else
(<code>automaticfile=C:\PodConfigs\friday-night.ini</code>).</p>
<ul>
<li>Full file format reference: <strong><code>BTFrstrm/autoconfig-file-spec.html</code></strong></li>
<li>Two ready-made examples -- copy one into your game folder and point <code>automaticfile</code> at it:
<strong><code>BTFrstrm/test-ffa-coliseum.ini</code></strong> and <strong><code>BTFrstrm/test-team-koth-centralpark.ini</code></strong></li>
</ul>
<div class="note"><p><strong>Read <code>BTFrstrm/autoconfig-file-spec.html</code> before writing your own match files.</strong> 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.</p></div>
<p>The <strong>Default</strong> button restores standard settings, so you can always get back to a clean lobby.</p>
<h3>Longer match times</h3>
<p>The multiplayer time limit list has been expanded from 9 options to 18:
<strong>1 through 15 minutes, plus 20, 25 and 30.</strong> The dropdown scrolls to fit them.</p>
<hr>
<h2>3. Cockpit and RIO hardware</h2>
<h3>Throttle zero fix</h3>
<p>The throttle now reports a true zero position and clamps negative values correctly. Previously
the zero point could be skipped.</p>
<p><strong>Applies automatically.</strong></p>
<h3><code>-tbaud</code> -- support for high-speed replica RIO boards</h3>
<p>If you are running a <strong>replica RIO cockpit board with a faster UART</strong>, you can now set the COM1
speed without changing anything else about how the board talks to the game:</p>
<pre><code>MW4.exe -tbaud 115200
</code></pre>
<p>Accepts 9600 to 921600. <strong>Leave it off</strong> and the game uses the original speed, exactly as before ?
existing original RIO boards need no change and should not use this switch.</p>
<p>This is only the speed. The wire protocol is untouched. (The separate <code>-trio 1</code> switch changes
the whole protocol and is <em>not</em> what you want for a replica board.)</p>
<hr>
<h2>4. Displays and MFDs</h2>
<h3>Split MFD mode -- two separate 640x480 MFD monitors</h3>
<p>New display mode <strong><code>-tmfds 4</code></strong>, for pods using <strong>two separate 640x480 monitors</strong> for the MFDs
instead of one wide spanned display.</p>
<pre><code>MW4.exe -tmfds 4
</code></pre>
<p>Four displays total: main, radar, left MFD, right MFD. The original spanned modes (<code>-tmfds 1</code>
and <code>3</code>) are unchanged and remain the default for existing pods.</p>
<h3>Split MFD stutter -- fixed</h3>
<p>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.</p>
<h3>Required dgVoodoo2 setting for ALL MFD modes on Windows 10/11</h3>
<p><strong>On Windows 10 and 11, dgVoodoo2 is required for every MFD mode -- including the original
spanned display (<code>-tmfds 1</code> and <code>-tmfds 3</code>), not only the new split mode (<code>-tmfds 4</code>).</strong></p>
<p>If your pod drives any MFD or radar panel at all, this applies to you. It is not specific to
the new split-MFD feature: the underlying Windows limitation affects every mode that lights up
a second display. On Windows XP none of this was needed.</p>
<p>In the dgVoodoo2 control panel, on the <strong>General</strong> tab, set:</p>
<div class="note"><p><strong>Scaling mode: <code>Stretched, Keep Aspect Ratio</code></strong></p></div>
<p>This is not optional and not cosmetic.</p>
<ul>
<li>With <strong><code>Stretched</code></strong> (plain), the MFD monitors <strong>silently stay on the Windows desktop</strong> while
the main and radar screens go black. There is no error message of any kind. It simply does not work.</li>
<li>With <strong><code>Stretched, Keep Aspect Ratio</code></strong>, all panels come up correctly.</li>
</ul>
<p>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.</p>
<div class="note"><p><strong>Why dgVoodoo2 is still required:</strong> 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.</p></div>
<h3><code>-tmon</code> -- fix monitors coming up in the wrong order</h3>
<p>If your panels appear on the wrong physical monitors, you can assign them explicitly, in the
order <strong>main, radar, MFD 1, MFD 2</strong>:</p>
<pre><code>MW4.exe -tmfds 4 -tmon 1,2,3,4
</code></pre>
<p>Use <code>0</code> in any position to leave that one on automatic -- <code>-tmon 2,1,0,0</code> swaps only main and radar.
<strong>Leave the switch off entirely and everything is detected automatically</strong>, which is correct on
most pods.</p>
<hr>
<h2>5. 'Mechs and content</h2>
<h3>Six rookie 'Mechs instead of four</h3>
<p>The console lobby's default rookie 'Mech rotation now includes the <strong>Archer</strong> and <strong>Warhammer</strong>
alongside the original four. Right-click randomising picks from all six.</p>
<h3>Corrected loadouts</h3>
<ul>
<li><strong>Battlemaster (Inner Sphere)</strong> -- 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.</li>
<li><strong>Battlemaster 2C (Clan)</strong> -- ER PPC, 6 ER medium lasers, 2 Clan Gauss rifles, Clan Streak SRM-6.</li>
<li><strong>Behemoth / Behemoth II</strong> -- Gauss rifles moved into the main weapon group so they fire with
the rest of the primary weapons.</li>
</ul>
<h3>Restored missing artwork</h3>
<p>Several 'Mechs were missing their MFD and cockpit display images, which showed as blank panels
in game. Restored: <strong>Assassin II, Behemoth, Behemoth II, Black Hawk, Longbow, Solitaire, Victor</strong>,
plus two missing lobby decals.</p>
<h3>Mechlab label correction</h3>
<p>The mechlab turn rate now reads <strong>"Turn Rate (Top Speed Rad/Sec)"</strong>, which is what the number
actually means. It previously claimed degrees per second, which was wrong.</p>
<hr>
<h2>6. Arcade / console mode</h2>
<h3>Configurable Rookie Mission</h3>
<p>The quick-launch Rookie Mission was previously fixed in place. All of its settings can now be
changed from the same <code>options.ini</code> in your game folder, next to <code>MW4.exe</code>.</p>
<p>This is the mission the console loads when it opens, and the one restored when <strong>Default</strong> is
clicked in the lobby.</p>
<p><strong>Every entry is optional.</strong> Omit the section entirely and you get exactly the previous built-in
behaviour. The block below is ready to paste into <code>options.ini</code> as-is: every setting line is
commented out with <code>//</code>, so pasting it changes nothing until you uncomment the lines you want.</p>
<pre><code class="language-ini">[RookieMission]
// Default mission loaded when the console opens and when &quot;Default&quot; 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
</code></pre>
<p>Two worth knowing:</p>
<ul>
<li><strong><code>MissionName</code></strong> must match the mission's display name <strong>exactly</strong> as it appears in the map
dropdown, including spacing and the <code>-</code> before the game type.</li>
<li><strong><code>TimeLimit=-1</code></strong> means "use whatever time limit the server is currently set to" rather than
forcing a fixed value.</li>
</ul>
<hr>
<h2>7. Match printer (mw4print) -- version 2.0</h2>
<h3>Custom banner text</h3>
<p>The line printed at the bottom of each score sheet is no longer fixed to <code>WWW.MECHJOCK.COM</code>.
Set your own via <strong>File -&gt; Banner Setting...</strong>. It is saved to <code>banner.txt</code> next to the printer,
so you can also edit it directly.</p>
<h3>Database export (included, not yet field-tested)</h3>
<p>mw4print 2.0 can export match results -- scores, kills, player-versus-player results -- to an
external <strong>MySQL</strong> database after each print job, for league tables or long-term stats.</p>
<p>Configure via <strong>File -&gt; Database Settings (Ctrl+D)</strong>, or the <code>[MySQLExport]</code> section of
<code>mw4print.ini</code>. The table layout is documented in <code>db_schema.sql</code>.</p>
<div class="note"><p>?? <strong>This feature has not yet been tested against a live database server.</strong> It is off unless you
configure it, and printing works normally without it. If you try it, please report back.</p></div>
<hr>
<h2>8. Quality of life</h2>
<h3><code>mw4.exe -help</code></h3>
<p>Running <code>MW4.exe -help</code> now opens a <strong>complete reference for every command line switch</strong> -- around
76 of them, grouped by category with descriptions. It opens in Notepad and the game does not start.</p>
<h3>English error dialogs</h3>
<p>The crash and error dialog buttons previously appeared as <code>???</code> boxes on some systems, because
the shipped language file was a Korean build. They now read <strong>More Details / Continue / Exit</strong>.</p>
<h3>Performance measuring -- <code>-fps</code></h3>
<p>For diagnosing stutter or verifying a pod is running smoothly:</p>
<pre><code>MW4.exe -fps
</code></pre>
<p>Writes <code>gos-fps.txt</code> 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. <strong>Off unless you ask for it</strong>,
and it costs nothing when unused.</p>
<h3>Display troubleshooting log</h3>
<p>When display problems occur, the game now writes <strong><code>gos-displays.txt</code></strong> 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.</p>
<hr>
<h2>9. New command line switches at a glance</h2>
<table>
<thead>
<tr>
<th>Switch</th>
<th>Purpose</th>
<th>If you leave it off</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>-tmfds 4</code></td>
<td>Two separate 640x480 MFD monitors</td>
<td>Existing MFD mode unchanged</td>
</tr>
<tr>
<td><code>-tmon a,b,c,d</code></td>
<td>Force monitor order: main, radar, MFD1, MFD2</td>
<td>Automatic detection</td>
</tr>
<tr>
<td><code>-tbaud &lt;rate&gt;</code></td>
<td>COM1 speed for replica RIO boards</td>
<td>Original board speed</td>
</tr>
<tr>
<td><code>-fps</code></td>
<td>Write a performance log</td>
<td>No log, no overhead</td>
</tr>
<tr>
<td><code>-help</code></td>
<td>Show the full switch reference and exit</td>
<td>Game starts normally</td>
</tr>
<tr>
<td><code>-tcoop &lt;0-5&gt;</code></td>
<td>Display troubleshooting only -- <strong>do not change</strong></td>
<td>Standard behaviour (0)</td>
</tr>
</tbody>
</table>
<hr>
<h2>10. Known issues and limitations</h2>
<ul>
<li><strong>Every MFD mode requires dgVoodoo2 on Windows 10/11</strong> -- the spanned modes (<code>-tmfds 1</code>
and <code>-tmfds 3</code>) just as much as the split mode (<code>-tmfds 4</code>) -- with scaling set to
<code>Stretched, Keep Aspect Ratio</code>. This is a Windows limitation, not a bug we can fix.</li>
<li><strong>The MySQL export in mw4print has not been tested against a live server.</strong></li>
<li><strong>The game renders in 4:3 only.</strong> There is no widescreen mode. On 16:9 monitors, use
keep-aspect scaling for correct geometry with black bars at the sides.</li>
<li><strong>The AppCompat registration is tied to the install folder.</strong> Move the game, re-run
<code>set-appcompat.bat</code>.</li>
</ul>
<hr>
<h2>11. Upgrade checklist</h2>
<ol>
<li>Back up your current install.</li>
<li>Copy in the new build.</li>
<li><strong>Double-click <code>set-appcompat.bat</code></strong> (as administrator if the pod has multiple accounts).</li>
<li><strong>On Windows 10/11, confirm dgVoodoo2 is installed and its scaling mode is
<code>Stretched, Keep Aspect Ratio</code>.</strong> This is required for <strong>every</strong> MFD mode -- spanned
(<code>-tmfds 1</code> / <code>-tmfds 3</code>) as well as split (<code>-tmfds 4</code>). Windows XP pods do not need it.</li>
<li>Launch and confirm the console lobby reads the new version.</li>
<li>Play one mission end to end before putting the pod back into service.</li>
<li>Optional: add <code>[automaticmode]</code> and <code>[RookieMission]</code> to <code>options.ini</code> if you want the new
Load File button or custom rookie missions.</li>
</ol>
</body>
</html>