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>
517 lines
31 KiB
HTML
517 lines
31 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>BattleTech: FireStorm V5.1.0b_RC2 - 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 — V5.1.0b_RC2</h1>
|
|
<div class="meta">Release notes for pod owners · 7 August 2026</div>
|
|
<p>This build covers everything since the <code>-tbaud</code> RIO update. It is a large release: 75 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>
|
|
<h3>Already testing RC1? Here is what is new in RC2</h3>
|
|
<p>Everything else in this document was already in RC1 and is unchanged.</p>
|
|
<ul>
|
|
<li><strong><code>-tident</code></strong> -- the game now identifies your monitors for you, so you can set
|
|
<code>-tmon</code> correctly. See section 4.</li>
|
|
<li><strong><code>gos-displays.txt</code> now traces the whole display start-up</strong>, including a
|
|
plain-English <strong>CLASH</strong> warning when two panels land on the same monitor, and a line
|
|
stating this machine's CTCL role. See section 8.</li>
|
|
<li><strong>Panels are now released correctly when the display mode changes</strong> -- a real fault
|
|
that could stop the MFDs from restarting. See section 4.</li>
|
|
<li><strong><code>-tmr</code></strong> -- 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.</li>
|
|
<li><strong>Match time limits now go up to 240 minutes</strong>, and the default is 7 minutes again
|
|
(it had silently become 4). See section 2.</li>
|
|
<li><strong>The console lobby now reads <code>V5.1.0b2</code>.</strong> Use this to confirm a pod actually
|
|
received the new content packages.</li>
|
|
</ul>
|
|
<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 -> <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 23:
|
|
<strong>1 through 15 minutes, plus 20, 25, 30, 45, 60, 120, 180 and 240.</strong> The dropdown scrolls
|
|
to fit them. Long-format events no longer need a mission restarted part way through.</p>
|
|
<p><strong>The default time limit is 7 minutes again.</strong> 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.</p>
|
|
<p>This is console and content only -- it arrives with the resource packages, not with <code>MW4.exe</code>.</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><strong>Whether a particular rate actually works is a hardware question, not a software one.</strong> 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.</p>
|
|
<p>This switch only changes 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 any multi-display mode on Windows 10/11</h3>
|
|
<p><strong>On Windows 10 and 11, dgVoodoo2 is required for every mode that uses more than one display.</strong>
|
|
That means all of the MFD modes -- the original spanned display (<code>-tmfds 1</code> and <code>-tmfds 3</code>) as
|
|
well as the new split mode (<code>-tmfds 4</code>) -- <strong>and cameraship mode</strong>, which drives two monitors
|
|
without using MFDs at all.</p>
|
|
<p><strong>Console mode is the only configuration that does not need it</strong>, because it uses a single display.</p>
|
|
<p>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.</p>
|
|
<div class="warn"><p><strong>dgVoodoo2 is not part of the build, and must NOT be installed on Windows XP pods.</strong>
|
|
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
|
|
<strong>Windows 10 and 11 pods only</strong>. If your fleet is mixed, set it up per machine, not as part
|
|
of the game folder you copy around.</p></div>
|
|
<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>-tident</code> -- find out which monitor is which</h3>
|
|
<p>Before using <code>-tmon</code>, use this to find out what numbers to type:</p>
|
|
<pre><code>MW4.exe -tident
|
|
</code></pre>
|
|
<p>Every monitor fills with a colour and shows, in large text, the number to use for it. Something
|
|
like:</p>
|
|
<pre><code> 3
|
|
use 3 in -tmon
|
|
device 2 currently: main
|
|
</code></pre>
|
|
<p>Walk the pod, write down what each screen says, then set <code>-tmon</code> in the order
|
|
<strong>main, radar, MFD 1, MFD 2</strong>. 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;
|
|
<code>-tident 45</code> gives you longer, and anything from 3 to 120 seconds is accepted.</p>
|
|
<div class="note"><p><strong>Why this exists.</strong> The monitor numbers Windows shows in Display Settings <strong>cannot be read by
|
|
any program</strong> -- Windows simply does not make them available. They often happen to match the
|
|
numbers <code>-tmon</code> 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 <em>Identify</em> button instead of
|
|
just telling you. <code>-tident</code> is the game's own Identify.</p></div>
|
|
<p><strong>Do not read monitor numbers off the Windows Display Settings screen and type them into
|
|
<code>-tmon</code>.</strong> 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 <code>-tident</code>.</p>
|
|
<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 the numbers <strong><code>-tident</code> showed you</strong> (see above), not the numbers in Windows Display Settings.</p>
|
|
<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>
|
|
<p><strong>Which positions apply depends on the MFD mode:</strong></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Position</th>
|
|
<th>Display</th>
|
|
<th><code>-tmfds 4</code> (split)</th>
|
|
<th><code>-tmfds 1</code> / <code>-tmfds 3</code> (spanned)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>1st</td>
|
|
<td>Main</td>
|
|
<td>applies</td>
|
|
<td>applies</td>
|
|
</tr>
|
|
<tr>
|
|
<td>2nd</td>
|
|
<td>Radar</td>
|
|
<td>applies</td>
|
|
<td>applies</td>
|
|
</tr>
|
|
<tr>
|
|
<td>3rd</td>
|
|
<td>MFD 1</td>
|
|
<td>applies</td>
|
|
<td>ignored</td>
|
|
</tr>
|
|
<tr>
|
|
<td>4th</td>
|
|
<td>MFD 2</td>
|
|
<td>applies</td>
|
|
<td>ignored</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>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.</p>
|
|
<p><strong>The spanned MFD display itself cannot be assigned with <code>-tmon</code>.</strong> 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.</p>
|
|
<p>If a display comes up in the wrong place, check <code>gos-displays.txt</code> next to the game (see
|
|
section 8). It lists every display found, which role each was given, and whether each <code>-tmon</code>
|
|
position was accepted or ignored.</p>
|
|
<h3>Two panels on one monitor -- now reported</h3>
|
|
<p>If <code>-tmon</code> 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. <code>gos-displays.txt</code> now says so plainly:</p>
|
|
<pre><code>*** CLASH: main and mfd2 are BOTH on device 0 ***
|
|
</code></pre>
|
|
<h3>Panels are now released correctly when the display mode changes</h3>
|
|
<p>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.</p>
|
|
<p><strong>Applies automatically.</strong> No configuration needed.</p>
|
|
<h3>Cameraship Map/Armor screen shows its background but nothing else</h3>
|
|
<p>If the second screen on a cameraship lights up, shows the correct background artwork, and then
|
|
draws <strong>no armour, score or map overlays at all</strong>, check the pod's launch line first:</p>
|
|
<div class="warn"><p><strong>A cameraship must be launched with <code>-ctcltype 3</code>.</strong>
|
|
<code>-ctcltype 2</code> is a game pod.</p></div>
|
|
<p>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.</p>
|
|
<p>The game now records this for you: <code>gos-displays.txt</code> contains a line reading
|
|
<code>CTCL type = 3 (cameraship - overlays WILL be drawn)</code>, or the equivalent warning
|
|
if the role is wrong. Check that before suspecting hardware.</p>
|
|
<p>If the role is correct and the overlays are still missing, <code>-tmr 3</code> 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 <code>gos-displays.txt</code> with the report.</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 "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
|
|
</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 -> 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 -> 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="warn"><p><strong>WARNING: 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
|
|
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. <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>
|
|
<p>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 <code>-tmon</code> position did. Near the end it prints the monitors in left-to-right order with the
|
|
number to use for each -- the same numbers <code>-tident</code> puts on the screens:</p>
|
|
<pre><code> 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
|
|
</code></pre>
|
|
<p>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):</p>
|
|
<pre><code> CTCL type = 3 (cameraship - overlays WILL be drawn)
|
|
</code></pre>
|
|
<div class="note"><p>The file is rewritten every time the game starts. If you have a failure worth reporting, copy
|
|
the file before launching again.</p></div>
|
|
<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>-tident [secs]</code></td>
|
|
<td>Show each monitor's number on the monitor itself, then exit. Use this to work out what to put in <code>-tmon</code></td>
|
|
<td>Game starts normally</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-tmon a,b,c,d</code></td>
|
|
<td>Force monitor order: main, radar, MFD1, MFD2. Positions 3 and 4 apply only to <code>-tmfds 4</code></td>
|
|
<td>Automatic detection</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-tbaud <rate></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>-tmr <0-3></code></td>
|
|
<td>Cameraship Map/Armor screen troubleshooting only</td>
|
|
<td>Normal behaviour (0)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-tcoop <0-5></code></td>
|
|
<td>Display troubleshooting only -- <strong>do not change</strong></td>
|
|
<td>Standard behaviour (0)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><code>-ctcltype <1-3></code> is not new, but it is worth repeating: <strong>1 = console, 2 = game pod,
|
|
3 = cameraship</strong>, and getting it wrong on a cameraship is the usual cause of a blank Map/Armor
|
|
screen (section 4).</p>
|
|
<hr>
|
|
<h2>10. Known issues and limitations</h2>
|
|
<ul>
|
|
<li><strong>Any multi-display mode requires dgVoodoo2 on Windows 10/11</strong> -- every MFD mode (spanned
|
|
<code>-tmfds 1</code> / <code>-tmfds 3</code> and split <code>-tmfds 4</code>) and cameraship mode. Console mode, using a
|
|
single display, is the only exception. Scaling must be set to <code>Stretched, Keep Aspect Ratio</code>.
|
|
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.</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>
|
|
<li><strong>Sound output is two-speaker stereo.</strong> 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.</li>
|
|
<li><strong><code>-tident</code> is only meaningful on a machine with more than one monitor.</strong> 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.</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> Required for <strong>any</strong> mode that uses more than one
|
|
display: all MFD modes (spanned <code>-tmfds 1</code> / <code>-tmfds 3</code>, split <code>-tmfds 4</code>) and cameraship
|
|
mode. Only console mode, on a single display, does without it. Windows XP pods never
|
|
need it.</li>
|
|
<li>Launch and confirm the console lobby reads <strong><code>V5.1.0b2</code></strong>. If it still shows an
|
|
older version, the resource packages did not get copied.</li>
|
|
<li>If your pod uses MFDs or a cameraship, run <code>MW4.exe -tident</code> once and check each monitor
|
|
shows the role you expect. If any are wrong, note the numbers shown and correct <code>-tmon</code>.
|
|
On a cameraship, also confirm the launch line uses <code>-ctcltype 3</code>.</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>
|