Files
firestorm/MW4/mw4-help.txt
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

213 lines
12 KiB
Plaintext
Executable File

BattleTech: FireStorm - MW4.exe command line reference
======================================================
Usage: MW4.exe [options]
Options may appear in any order and are case-insensitive. An option that takes
a value must be followed by a single space and then the value, for example:
MW4.exe -tmfds 4 -tmon 1,2,3,4 -tbaud 115200
Values outside the documented range are ignored and the default is kept.
DISPLAY AND VIDEO
-----------------
-window Run in a window instead of fullscreen.
-fullscreen Force fullscreen. Overrides -window.
-tmfds <0-4> MFD output mode:
0 = no MFDs
1 = original 1280x480 span (5 channels + radar)
2 = black and white (3 channels + 1 dual)
3 = colour (3 channels + 2 dual)
4 = split dual 640x480 - drives two independent
MFD monitors, so no span hardware is needed
-tmon <m>,<r>,<f1>,<f2> Hard-assign display devices in the order
main, radar, MFD1, MFD2. Values are 1-based; a
value of 0 leaves that slot auto-detected.
Separators may be ',' '/' or ':'.
MFD1 and MFD2 only apply with -tmfds 4.
These are DirectDraw device numbers. They are NOT
the numbers shown in Windows Display Settings, and
on many machines the two do not match. Do not read
them off the Settings screen.
To find the right values: launch the game once,
then open gos-displays.txt next to MW4.exe and read
the 'Desktop arrangement, left to right' list. It
gives each monitor's position, size and device
number. Add 1 to the device number for -tmon.
Example: -tmon 1,2,4,3 swaps the two MFD panels.
-tident [seconds] Identify the displays, then exit. Each monitor is
filled with a colour and the number to use for it
in -tmon. Write the numbers down, then set -tmon in
the order main,radar,MFD1,MFD2.
This is the reliable way to map the monitors: the
numbers Windows Display Settings shows cannot be
read by any program, so they cannot be trusted to
match. Default 20 seconds; accepts 3 to 120.
No display mode is changed and the game does not
start - it exits when the time is up.
-tcoop <0-5> How the radar/MFD panels claim their displays.
0 = legacy single call (as shipped; works on XP
and under dgVoodoo2, fails on Windows 10).
1 = drop SETFOCUSWINDOW, let DirectDraw create
the device window.
2 = SETFOCUSWINDOW first, then CREATEDEVICEWINDOW.
3 = SETFOCUSWINDOW first, then EXCLUSIVE only,
matching what the main display already does.
4 = EXCLUSIVE|FULLSCREEN only. The main display
has already set the focus window, so the
panels never contend for it.
5 = as 4, plus ALLOWREBOOT.
Results are reported in gos-displays.txt.
-tmr <0-3> Cameraship Map/Armor screen diagnostics.
0 = normal.
1 = wait for the background blit to finish before
drawing the overlays.
2 = skip the background image entirely.
3 = as 2, plus a solid magenta test rectangle.
Use when that screen shows its background but no
overlay graphics or text.
-mechview <1|2> Show the rotating mech view. 1 = on the radar
-mv <1|2> screen, 2 = on the main screen. Default: off.
-3dt Draw the MFD target as a live 3D model instead of
the pre-rendered 2D bitmaps.
-capdev <0-7> Select which device screen captures come from:
0 main, 1 radar, 2 mission review, 3 hudchat,
4 nav, 5 weapon, 6 target, 7 armor
AUDIO AND PLASMA DISPLAY
------------------------
-nosound Disable all sound output.
-noplasma Disable the COM2 plasma score display.
-pctime <seconds> Plasma display clear time. Minimum 3.
POD HARDWARE AND ARCADE (CTCL)
------------------------------
-ctcltype <1-3> CTCL role for this machine:
-ctcl <1-3> 1 = console, 2 = game pod, 3 = cameraship.
Default when absent: console.
A cameraship MUST use 3. With 2 its Map/Armor
screen still opens and paints its background, but
draws no overlays at all, which looks like a video
card fault. The role in use is reported in
gos-displays.txt as 'CTCL type ='.
-dragon Disable CTCL entirely and run standalone.
-coop Co-operative arcade mode. Implies 1 coin per game
and the game-pod role.
-#coop <coins> Co-op with an explicit coin count. A negative
value selects the cameraship role instead.
-trio <0|1> RIO cockpit board protocol. 0 = original board,
1 = newer protocol (different framing and acks).
-tbaud <9600-921600> Force the COM1 baud rate for the RIO board. Use
for replica boards with a high-speed UART. The
wire protocol is unchanged; only the rate differs.
-useorgjoy Use the original joystick axis mapping.
-ojoy Same as -useorgjoy.
-usetockeys Enable TOC keys. They are disabled by default.
-tocadt <seconds> TOC auto-detect timeout. Minimum 5.
-auxadt <seconds> AUX auto-detect timeout. Minimum 3.
-usecam Force camera mode. Implied by the cameraship role.
-suicide Allow self-destruct at any time.
-jpd Enable JPD input handling.
ZOOM AND FIELD OF VIEW
----------------------
-zmfova <0.01-0.5> Zoom field-of-view, stage A.
-zmfovb <0.01-0.5> Zoom field-of-view, stage B. A and B are swapped
automatically so that A is the wider of the two.
-zmmrgn <0.01-0.49> Zoom left/right margin, as a fraction of width.
-zmtime <0, or 0.05-3.0> Zoom transition time in seconds. 0 = instant.
MULTIPLAYER AND NETWORK
-----------------------
-serve Automatically host a server game on startup.
-lobby Indicates the game was started from a lobby.
-game <file> Load the named game/mission file.
-gamename <name> Name advertised for the hosted game.
-playername <name> Player name to use.
-password <password> Password for the hosted or joined game.
-advertiseport <port> Port used to advertise the server.
-ipx Use IPX in the server browser.
-nodplay Disable DirectPlay networking.
-directplayprotocol Force use of the DirectPlay protocol.
-secure Enable secure networking for the game session.
-set_internet Configure network settings for internet play.
-set_lan Configure network settings for LAN play.
-win32dedicated Run as a Win32 dedicated server. Disables sound
and rendering and uses the dedicated server UI.
-allowmultiple Allow more than one instance of the game to run.
-oldmpui Use the older multiplayer user interface.
LOGGING AND DIAGNOSTICS
-----------------------
-zlogstyle <value> ZLog output style.
-zlogflush <value> ZLog flush behaviour.
-zlogbuffer <size> ZLog buffer size.
-zlogname <filename> ZLog output file name.
-olog Write the legacy .log match report instead of the
newer .rpt format.
-fps Write a per-second frame pacing report to
gos-fps.txt next to the executable: average fps,
5% low, worst frame in ms, and a count of frames
taking over twice the average (hitches). A summary
written at exit gives the whole-session 1% and
0.1% lows. Useful for confirming smooth pacing on
the MFD modes. Off unless this switch is given.
-gamestats Save game statistics.
-help Show this reference and exit without starting.
DEVELOPMENT AND TEST BUILDS
---------------------------
The following are only active in LAB (Debug, Armor and Profile) builds. In a
Release build they are accepted and ignored.
-build Rebuild the resource packages at startup.
-norun Do not run the game after building.
-demo Demo mode.
-rekey Re-key resources.
-bloat Enable bloat diagnostics.
-reportnotresourced Report assets that are not in a resource package.
-armorlevel <0-4> Assertion/armor checking level.
-leak <n> Memory trace level.
-diskfirst Prefer loose files on disk over packaged data.
-testclasses Run internal class self-tests.
-aistats Enable AI statistics collection.
-bspmap Save BSP map differences.
-showscripterrors Display script errors as they occur.
-mrtest Mission review test mode.
-prtest Print report test mode.
-nowrc Disable weapon range checking.
-regs Debug builds only: enable script regions.
-spew Debug builds only: enable script spews.
OTHER
-----
-nocd Skip the CD check. (The CD check is already
disabled unconditionally in this build.)
-noeula Skip the end user licence agreement screen.
-noautoconfig Skip automatic video and sound configuration.
RECOGNISED BUT INACTIVE
-----------------------
-join Parsed for compatibility but has no effect; the
code that consumed it is commented out.
-noabzug Parsed only in a disabled code path.
RELATED CONFIGURATION
---------------------
Most persistent settings live in options.ini next to MW4.exe rather than on the
command line. See OPTIONS-INI.md in the source repository for a full reference.
Arcade pod assignments live in c:\ctcl.ini.